@mentra/sdk 2.1.29-beta.2 โ 2.1.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/server/index.d.ts +70 -5
- package/dist/app/server/index.d.ts.map +1 -1
- package/dist/app/session/device-state.d.ts +83 -0
- package/dist/app/session/device-state.d.ts.map +1 -0
- package/dist/app/session/events.d.ts +9 -0
- package/dist/app/session/events.d.ts.map +1 -1
- package/dist/app/session/index.d.ts +23 -3
- package/dist/app/session/index.d.ts.map +1 -1
- package/dist/app/session/modules/camera.d.ts +5 -43
- package/dist/app/session/modules/camera.d.ts.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +389 -135
- package/dist/index.js.map +16 -14
- package/dist/types/capabilities.d.ts +3 -90
- package/dist/types/capabilities.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/message-types.d.ts +8 -3
- package/dist/types/message-types.d.ts.map +1 -1
- package/dist/types/messages/app-to-cloud.d.ts +15 -1
- package/dist/types/messages/app-to-cloud.d.ts.map +1 -1
- package/dist/types/messages/cloud-to-app.d.ts +14 -1
- package/dist/types/messages/cloud-to-app.d.ts.map +1 -1
- package/dist/types/messages/cloud-to-glasses.d.ts +10 -3
- package/dist/types/messages/cloud-to-glasses.d.ts.map +1 -1
- package/dist/types/messages/glasses-to-cloud.d.ts +20 -2
- package/dist/types/messages/glasses-to-cloud.d.ts.map +1 -1
- package/dist/utils/Observable.d.ts +92 -0
- package/dist/utils/Observable.d.ts.map +1 -0
- package/node_modules/@mentra/types/README.md +134 -0
- package/node_modules/@mentra/types/dist/applet.d.ts +39 -0
- package/node_modules/@mentra/types/dist/applet.d.ts.map +1 -0
- package/node_modules/@mentra/types/dist/applet.js +5 -0
- package/node_modules/@mentra/types/dist/capabilities/even-realities-g1.d.ts +12 -0
- package/node_modules/@mentra/types/dist/capabilities/even-realities-g1.d.ts.map +1 -0
- package/node_modules/@mentra/types/dist/capabilities/even-realities-g1.js +54 -0
- package/node_modules/@mentra/types/dist/capabilities/mentra-live.d.ts +12 -0
- package/node_modules/@mentra/types/dist/capabilities/mentra-live.d.ts.map +1 -0
- package/node_modules/@mentra/types/dist/capabilities/mentra-live.js +94 -0
- package/node_modules/@mentra/types/dist/capabilities/simulated-glasses.d.ts +13 -0
- package/node_modules/@mentra/types/dist/capabilities/simulated-glasses.d.ts.map +1 -0
- package/node_modules/@mentra/types/dist/capabilities/simulated-glasses.js +67 -0
- package/node_modules/@mentra/types/dist/capabilities/vuzix-z100.d.ts +12 -0
- package/node_modules/@mentra/types/dist/capabilities/vuzix-z100.d.ts.map +1 -0
- package/node_modules/@mentra/types/dist/capabilities/vuzix-z100.js +51 -0
- package/node_modules/@mentra/types/dist/cli.d.ts +130 -0
- package/node_modules/@mentra/types/dist/cli.d.ts.map +1 -0
- package/node_modules/@mentra/types/dist/cli.js +7 -0
- package/node_modules/@mentra/types/dist/device.d.ts +32 -0
- package/node_modules/@mentra/types/dist/device.d.ts.map +1 -0
- package/node_modules/@mentra/types/dist/device.js +6 -0
- package/node_modules/@mentra/types/dist/enums.d.ts +34 -0
- package/node_modules/@mentra/types/dist/enums.d.ts.map +1 -0
- package/node_modules/@mentra/types/dist/enums.js +39 -0
- package/node_modules/@mentra/types/dist/hardware.d.ts +141 -0
- package/node_modules/@mentra/types/dist/hardware.d.ts.map +1 -0
- package/node_modules/@mentra/types/dist/hardware.js +33 -0
- package/node_modules/@mentra/types/dist/index.d.ts +18 -0
- package/node_modules/@mentra/types/dist/index.d.ts.map +1 -0
- package/node_modules/@mentra/types/dist/index.js +25 -0
- package/node_modules/@mentra/types/package.json +31 -0
- package/node_modules/@mentra/types/src/applet.ts +51 -0
- package/node_modules/@mentra/types/src/capabilities/even-realities-g1.ts +63 -0
- package/node_modules/@mentra/types/src/capabilities/mentra-live.ts +103 -0
- package/node_modules/@mentra/types/src/capabilities/simulated-glasses.ts +76 -0
- package/node_modules/@mentra/types/src/capabilities/vuzix-z100.ts +60 -0
- package/node_modules/@mentra/types/src/cli.ts +169 -0
- package/node_modules/@mentra/types/src/device.ts +43 -0
- package/node_modules/@mentra/types/src/enums.ts +36 -0
- package/node_modules/@mentra/types/src/hardware.ts +172 -0
- package/node_modules/@mentra/types/src/index.ts +64 -0
- package/node_modules/@mentra/types/tsconfig.json +22 -0
- package/node_modules/@mentra/types/tsconfig.tsbuildinfo +1 -0
- package/package.json +6 -6
- package/dist/display-utils/test/ScrollView.test.d.ts +0 -2
- package/dist/display-utils/test/ScrollView.test.d.ts.map +0 -1
- package/dist/display-utils/test/TextMeasurer.test.d.ts +0 -2
- package/dist/display-utils/test/TextMeasurer.test.d.ts.map +0 -1
- package/dist/display-utils/test/TextWrapper.test.d.ts +0 -2
- package/dist/display-utils/test/TextWrapper.test.d.ts.map +0 -1
|
@@ -8,7 +8,23 @@ import { type Express } from "express";
|
|
|
8
8
|
import { AppSession } from "../session/index";
|
|
9
9
|
import { ToolCall } from "../../types";
|
|
10
10
|
import { Logger } from "pino";
|
|
11
|
+
import { PhotoData } from "../../types/photo-data";
|
|
11
12
|
export declare const GIVE_APP_CONTROL_OF_TOOL_RESPONSE: string;
|
|
13
|
+
/**
|
|
14
|
+
* Pending photo request stored at AppServer level
|
|
15
|
+
* This allows O(1) lookup when photo uploads arrive via HTTP,
|
|
16
|
+
* and survives session reconnections.
|
|
17
|
+
* See: cloud/issues/019-sdk-photo-request-architecture
|
|
18
|
+
*/
|
|
19
|
+
export interface PendingPhotoRequest {
|
|
20
|
+
userId: string;
|
|
21
|
+
sessionId: string;
|
|
22
|
+
session: AppSession;
|
|
23
|
+
resolve: (photo: PhotoData) => void;
|
|
24
|
+
reject: (error: Error) => void;
|
|
25
|
+
timestamp: number;
|
|
26
|
+
timeoutId?: NodeJS.Timeout;
|
|
27
|
+
}
|
|
12
28
|
/**
|
|
13
29
|
* ๐ง Configuration options for App Server
|
|
14
30
|
*
|
|
@@ -90,6 +106,16 @@ export declare class AppServer {
|
|
|
90
106
|
private cleanupHandlers;
|
|
91
107
|
/** App instructions string shown to the user */
|
|
92
108
|
private appInstructions;
|
|
109
|
+
/**
|
|
110
|
+
* Pending photo requests by requestId - owned by AppServer for HTTP endpoint access.
|
|
111
|
+
* This is the single source of truth for pending photo requests.
|
|
112
|
+
* Stored here (not on CameraModule) because:
|
|
113
|
+
* 1. Photo uploads arrive via HTTP to AppServer, not via WebSocket to session
|
|
114
|
+
* 2. Allows O(1) lookup by requestId instead of iterating all sessions
|
|
115
|
+
* 3. Survives session reconnections (session may be removed from activeSessions temporarily)
|
|
116
|
+
* See: cloud/issues/019-sdk-photo-request-architecture
|
|
117
|
+
*/
|
|
118
|
+
private pendingPhotoRequests;
|
|
93
119
|
readonly logger: Logger;
|
|
94
120
|
constructor(config: AppServerConfig);
|
|
95
121
|
getExpressApp(): Express;
|
|
@@ -133,7 +159,7 @@ export declare class AppServer {
|
|
|
133
159
|
* ๐ Stop the Server
|
|
134
160
|
* Gracefully shuts down the server and cleans up all sessions.
|
|
135
161
|
*/
|
|
136
|
-
stop(): void
|
|
162
|
+
stop(): Promise<void>;
|
|
137
163
|
/**
|
|
138
164
|
* ๐ Generate a App token for a user
|
|
139
165
|
* This should be called when handling a session webhook request.
|
|
@@ -192,6 +218,18 @@ export declare class AppServer {
|
|
|
192
218
|
/**
|
|
193
219
|
* ๐งน Cleanup
|
|
194
220
|
* Closes all active sessions and runs cleanup handlers.
|
|
221
|
+
* Does NOT release ownership - we want the cloud to resurrect when we come back up.
|
|
222
|
+
*
|
|
223
|
+
* OWNERSHIP_RELEASE should only be sent for:
|
|
224
|
+
* - switching_clouds: User moved to another cloud, don't compete
|
|
225
|
+
* - user_logout: User explicitly logged out
|
|
226
|
+
*
|
|
227
|
+
* NOT for clean_shutdown, because:
|
|
228
|
+
* - Server is restarting/redeploying
|
|
229
|
+
* - Cloud should resurrect the app (trigger webhook)
|
|
230
|
+
* - User expects their app to keep running
|
|
231
|
+
*
|
|
232
|
+
* See: cloud/issues/023-disposed-appsession-resurrection-bug
|
|
195
233
|
*/
|
|
196
234
|
private cleanup;
|
|
197
235
|
/**
|
|
@@ -199,15 +237,42 @@ export declare class AppServer {
|
|
|
199
237
|
* Creates a /photo-upload endpoint for receiving photos directly from ASG glasses
|
|
200
238
|
*/
|
|
201
239
|
private setupPhotoUploadEndpoint;
|
|
240
|
+
/**
|
|
241
|
+
* Register a pending photo request.
|
|
242
|
+
* Called by CameraModule when a photo is requested.
|
|
243
|
+
* Stores the request at AppServer level for O(1) lookup when HTTP response arrives.
|
|
244
|
+
*
|
|
245
|
+
* @param requestId - Unique identifier for this photo request
|
|
246
|
+
* @param request - Request details including session, resolve/reject callbacks
|
|
247
|
+
*/
|
|
248
|
+
registerPhotoRequest(requestId: string, request: Omit<PendingPhotoRequest, "timeoutId">): void;
|
|
249
|
+
/**
|
|
250
|
+
* Get a pending photo request by ID.
|
|
251
|
+
*
|
|
252
|
+
* @param requestId - The request ID to look up
|
|
253
|
+
* @returns The pending request, or undefined if not found
|
|
254
|
+
*/
|
|
255
|
+
getPhotoRequest(requestId: string): PendingPhotoRequest | undefined;
|
|
256
|
+
/**
|
|
257
|
+
* Complete a photo request (success or error).
|
|
258
|
+
* Clears the timeout and removes from the pending map.
|
|
259
|
+
*
|
|
260
|
+
* @param requestId - The request ID to complete
|
|
261
|
+
* @returns The pending request that was completed, or undefined if not found
|
|
262
|
+
*/
|
|
263
|
+
completePhotoRequest(requestId: string): PendingPhotoRequest | undefined;
|
|
264
|
+
/**
|
|
265
|
+
* Clean up all pending photo requests for a session.
|
|
266
|
+
* Called when a session permanently disconnects.
|
|
267
|
+
*
|
|
268
|
+
* @param sessionId - The session ID to clean up requests for
|
|
269
|
+
*/
|
|
270
|
+
cleanupPhotoRequestsForSession(sessionId: string): void;
|
|
202
271
|
/**
|
|
203
272
|
* ๐ Setup Mentra Auth Redirect Endpoint
|
|
204
273
|
* Creates a /mentra-auth endpoint that redirects to the MentraOS OAuth flow.
|
|
205
274
|
*/
|
|
206
275
|
private setupMentraAuthRedirect;
|
|
207
|
-
/**
|
|
208
|
-
* Find session that has a pending photo request for the given requestId
|
|
209
|
-
*/
|
|
210
|
-
private findSessionByPhotoRequestId;
|
|
211
276
|
}
|
|
212
277
|
/**
|
|
213
278
|
* @deprecated Use `AppServerConfig` instead. `TpaServerConfig` is deprecated and will be removed in a future version.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app/server/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAgB,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAGhD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,OAAO,EAKL,QAAQ,EAET,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app/server/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DeviceState - Reactive device state management via WebSocket
|
|
3
|
+
*
|
|
4
|
+
* Provides real-time Observable properties for device state (WiFi, battery, hotspot, etc.)
|
|
5
|
+
* Uses flat structure matching GlassesInfo field names exactly.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* // Synchronous read
|
|
10
|
+
* if (session.device.state.wifiConnected) {
|
|
11
|
+
* console.log("Connected to:", session.device.state.wifiSsid.value);
|
|
12
|
+
* }
|
|
13
|
+
*
|
|
14
|
+
* // Reactive subscription
|
|
15
|
+
* session.device.state.wifiConnected.onChange((connected) => {
|
|
16
|
+
* console.log("WiFi status:", connected);
|
|
17
|
+
* });
|
|
18
|
+
*
|
|
19
|
+
* session.device.state.batteryLevel.onChange((level) => {
|
|
20
|
+
* console.log("Battery:", level, "%");
|
|
21
|
+
* });
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
import { Observable } from '../../utils/Observable';
|
|
25
|
+
import type { GlassesInfo } from '@mentra/types';
|
|
26
|
+
import type { AppSession } from './index';
|
|
27
|
+
export declare class DeviceState {
|
|
28
|
+
/** WiFi connection status */
|
|
29
|
+
readonly wifiConnected: Observable<boolean>;
|
|
30
|
+
/** WiFi network SSID (null if not connected) */
|
|
31
|
+
readonly wifiSsid: Observable<string | null>;
|
|
32
|
+
/** WiFi local IP address (null if not connected) */
|
|
33
|
+
readonly wifiLocalIp: Observable<string | null>;
|
|
34
|
+
/** Glasses battery level (0-100, null if unknown) */
|
|
35
|
+
readonly batteryLevel: Observable<number | null>;
|
|
36
|
+
/** Glasses charging status (null if unknown) */
|
|
37
|
+
readonly charging: Observable<boolean | null>;
|
|
38
|
+
/** Case battery level (0-100, null if no case or unknown) */
|
|
39
|
+
readonly caseBatteryLevel: Observable<number | null>;
|
|
40
|
+
/** Case charging status (null if no case or unknown) */
|
|
41
|
+
readonly caseCharging: Observable<boolean | null>;
|
|
42
|
+
/** Case open/closed status (true = open, null if no case or unknown) */
|
|
43
|
+
readonly caseOpen: Observable<boolean | null>;
|
|
44
|
+
/** Case removed status (true = glasses not in case, null if no case or unknown) */
|
|
45
|
+
readonly caseRemoved: Observable<boolean | null>;
|
|
46
|
+
/** Hotspot enabled status (null if not supported or unknown) */
|
|
47
|
+
readonly hotspotEnabled: Observable<boolean | null>;
|
|
48
|
+
/** Hotspot SSID (null if disabled or unknown) */
|
|
49
|
+
readonly hotspotSsid: Observable<string | null>;
|
|
50
|
+
/** Glasses connected to phone/cloud (true = connected) */
|
|
51
|
+
readonly connected: Observable<boolean>;
|
|
52
|
+
/** Glasses model name (e.g., "even_g1", "xreal_air_2_pro") */
|
|
53
|
+
readonly modelName: Observable<string | null>;
|
|
54
|
+
private appSession;
|
|
55
|
+
constructor(appSession: AppSession);
|
|
56
|
+
/**
|
|
57
|
+
* Update device state from WebSocket message
|
|
58
|
+
*
|
|
59
|
+
* Called internally by AppSession when DEVICE_STATE_UPDATE message is received.
|
|
60
|
+
* Only updates Observables for fields present in the state object.
|
|
61
|
+
* Observables automatically notify listeners only if value changed.
|
|
62
|
+
*
|
|
63
|
+
* @param state - Partial device state (only changed fields, or full snapshot)
|
|
64
|
+
* @internal
|
|
65
|
+
*/
|
|
66
|
+
updateFromMessage(state: Partial<GlassesInfo>): void;
|
|
67
|
+
/**
|
|
68
|
+
* Get snapshot of current device state
|
|
69
|
+
*
|
|
70
|
+
* Returns a plain object with current values of all Observables.
|
|
71
|
+
* Useful for compatibility with REST-style code or debugging.
|
|
72
|
+
*
|
|
73
|
+
* @returns Current device state as GlassesInfo partial object
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```typescript
|
|
77
|
+
* const currentState = session.device.state.getSnapshot();
|
|
78
|
+
* console.log("Current state:", currentState);
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
getSnapshot(): Partial<GlassesInfo>;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=device-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-state.d.ts","sourceRoot":"","sources":["../../../src/app/session/device-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAClD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AAExC,qBAAa,WAAW;IAKtB,6BAA6B;IAC7B,SAAgB,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAEnD,gDAAgD;IAChD,SAAgB,QAAQ,EAAE,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEpD,oDAAoD;IACpD,SAAgB,WAAW,EAAE,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAMvD,qDAAqD;IACrD,SAAgB,YAAY,EAAE,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAExD,gDAAgD;IAChD,SAAgB,QAAQ,EAAE,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAErD,6DAA6D;IAC7D,SAAgB,gBAAgB,EAAE,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE5D,wDAAwD;IACxD,SAAgB,YAAY,EAAE,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAEzD,wEAAwE;IACxE,SAAgB,QAAQ,EAAE,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAErD,mFAAmF;IACnF,SAAgB,WAAW,EAAE,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAMxD,gEAAgE;IAChE,SAAgB,cAAc,EAAE,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAE3D,iDAAiD;IACjD,SAAgB,WAAW,EAAE,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAMvD,0DAA0D;IAC1D,SAAgB,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAE/C,8DAA8D;IAC9D,SAAgB,SAAS,EAAE,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAMrD,OAAO,CAAC,UAAU,CAAa;gBAEnB,UAAU,EAAE,UAAU;IA4BlC;;;;;;;;;OASG;IACH,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAiDpD;;;;;;;;;;;;;OAaG;IACH,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC;CAwBpC"}
|
|
@@ -178,6 +178,15 @@ export declare class EventManager {
|
|
|
178
178
|
* โ Remove an event handler
|
|
179
179
|
*/
|
|
180
180
|
private removeHandler;
|
|
181
|
+
/**
|
|
182
|
+
* ๐ Get all currently registered stream types
|
|
183
|
+
* Returns the streams that have at least one handler registered.
|
|
184
|
+
* Used to derive subscriptions from handlers (single source of truth).
|
|
185
|
+
*
|
|
186
|
+
* This is the fix for Bug 007: subscriptions are now derived from handlers
|
|
187
|
+
* instead of being stored separately, preventing drift between the two.
|
|
188
|
+
*/
|
|
189
|
+
getRegisteredStreams(): ExtendedStreamType[];
|
|
181
190
|
/**
|
|
182
191
|
* ๐ก Emit an event to all registered handlers with error isolation
|
|
183
192
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/app/session/events.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/app/session/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ import { DashboardAPI } from "../../types/dashboard";
|
|
|
10
10
|
import { Logger } from "pino";
|
|
11
11
|
import { AppServer } from "../server";
|
|
12
12
|
import { SimpleStorage } from "./modules/simple-storage";
|
|
13
|
+
import { DeviceState } from "./device-state";
|
|
13
14
|
/**
|
|
14
15
|
* โ๏ธ Configuration options for App Session
|
|
15
16
|
*
|
|
@@ -73,8 +74,8 @@ export declare class AppSession {
|
|
|
73
74
|
private sessionId;
|
|
74
75
|
/** Number of reconnection attempts made */
|
|
75
76
|
private reconnectAttempts;
|
|
76
|
-
/**
|
|
77
|
-
private
|
|
77
|
+
/** Flag to prevent reconnection after session termination (e.g., "User session ended") */
|
|
78
|
+
private terminated;
|
|
78
79
|
/** Map to store rate options for streams */
|
|
79
80
|
private streamRates;
|
|
80
81
|
/** Resource tracker for automatic cleanup */
|
|
@@ -111,6 +112,10 @@ export declare class AppSession {
|
|
|
111
112
|
readonly audio: AudioManager;
|
|
112
113
|
/** ๐ Simple key-value storage interface */
|
|
113
114
|
readonly simpleStorage: SimpleStorage;
|
|
115
|
+
/** ๐ฑ Reactive device state (WebSocket-based observables) */
|
|
116
|
+
readonly device: {
|
|
117
|
+
state: DeviceState;
|
|
118
|
+
};
|
|
114
119
|
readonly appServer: AppServer;
|
|
115
120
|
readonly logger: Logger;
|
|
116
121
|
readonly userId: string;
|
|
@@ -241,11 +246,26 @@ export declare class AppSession {
|
|
|
241
246
|
* @returns Promise that resolves when connected
|
|
242
247
|
*/
|
|
243
248
|
connect(sessionId: string): Promise<void>;
|
|
249
|
+
/**
|
|
250
|
+
* ๐ Release ownership of this session to allow clean handoff
|
|
251
|
+
* Call this before connecting to a different cloud instance or shutting down cleanly.
|
|
252
|
+
* This signals to the cloud that no resurrection is needed.
|
|
253
|
+
*
|
|
254
|
+
* @param reason - Why ownership is being released
|
|
255
|
+
*/
|
|
256
|
+
releaseOwnership(reason: "switching_clouds" | "clean_shutdown" | "user_logout"): Promise<void>;
|
|
244
257
|
/**
|
|
245
258
|
* ๐ Disconnect from MentraOS Cloud
|
|
246
259
|
* Flushes any pending SimpleStorage writes before closing
|
|
260
|
+
*
|
|
261
|
+
* @param options - Optional disconnect options
|
|
262
|
+
* @param options.releaseOwnership - If true, send OWNERSHIP_RELEASE before disconnecting (enables clean handoff)
|
|
263
|
+
* @param options.reason - Reason for ownership release (required if releaseOwnership is true)
|
|
247
264
|
*/
|
|
248
|
-
disconnect(
|
|
265
|
+
disconnect(options?: {
|
|
266
|
+
releaseOwnership?: boolean;
|
|
267
|
+
reason?: "switching_clouds" | "clean_shutdown" | "user_logout";
|
|
268
|
+
}): Promise<void>;
|
|
249
269
|
/**
|
|
250
270
|
* ๐ ๏ธ Get all current user settings
|
|
251
271
|
* @returns A copy of the current settings array
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app/session/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app/session/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,8 +74,6 @@ export declare class CameraModule {
|
|
|
74
74
|
private packageName;
|
|
75
75
|
private sessionId;
|
|
76
76
|
private logger;
|
|
77
|
-
/** Map to store pending photo request promises */
|
|
78
|
-
private pendingPhotoRequests;
|
|
79
77
|
private isStreaming;
|
|
80
78
|
private currentStreamUrl?;
|
|
81
79
|
private currentStreamState?;
|
|
@@ -108,63 +106,27 @@ export declare class CameraModule {
|
|
|
108
106
|
* ```
|
|
109
107
|
*/
|
|
110
108
|
requestPhoto(options?: PhotoRequestOptions): Promise<PhotoData>;
|
|
111
|
-
/**
|
|
112
|
-
* ๐ฅ Handle photo received from /photo-upload endpoint
|
|
113
|
-
*
|
|
114
|
-
* This method is called internally when a photo response is received.
|
|
115
|
-
* It resolves the corresponding pending promise with the photo data.
|
|
116
|
-
*
|
|
117
|
-
* @param photoData - The photo data received
|
|
118
|
-
* @internal This method is used internally by AppSession
|
|
119
|
-
*/
|
|
120
|
-
handlePhotoReceived(photoData: PhotoData): void;
|
|
121
|
-
/**
|
|
122
|
-
* โ Handle photo error from /photo-upload endpoint
|
|
123
|
-
*
|
|
124
|
-
* This method is called internally when a photo error response is received.
|
|
125
|
-
* It rejects the corresponding pending promise with the error information.
|
|
126
|
-
*
|
|
127
|
-
* @param errorResponse - The error response received
|
|
128
|
-
* @internal This method is used internally by AppSession
|
|
129
|
-
*/
|
|
130
|
-
handlePhotoError(errorResponse: {
|
|
131
|
-
requestId: string;
|
|
132
|
-
success: false;
|
|
133
|
-
error: {
|
|
134
|
-
code: string;
|
|
135
|
-
message: string;
|
|
136
|
-
};
|
|
137
|
-
}): void;
|
|
138
109
|
/**
|
|
139
110
|
* ๐ Check if there's a pending photo request for the given request ID
|
|
111
|
+
* @deprecated Photo requests are now managed at AppServer level. This method delegates to AppServer.
|
|
140
112
|
*
|
|
141
113
|
* @param requestId - The request ID to check
|
|
142
114
|
* @returns true if there's a pending request
|
|
143
115
|
*/
|
|
144
116
|
hasPhotoPendingRequest(requestId: string): boolean;
|
|
145
|
-
/**
|
|
146
|
-
* ๐ Get the number of pending photo requests
|
|
147
|
-
*
|
|
148
|
-
* @returns Number of pending photo requests
|
|
149
|
-
*/
|
|
150
|
-
getPhotoPendingRequestCount(): number;
|
|
151
|
-
/**
|
|
152
|
-
* ๐ Get all pending photo request IDs
|
|
153
|
-
*
|
|
154
|
-
* @returns Array of pending request IDs
|
|
155
|
-
*/
|
|
156
|
-
getPhotoPendingRequestIds(): string[];
|
|
157
117
|
/**
|
|
158
118
|
* โ Cancel a pending photo request
|
|
119
|
+
* @deprecated Photo requests are now managed at AppServer level. This method delegates to AppServer.
|
|
159
120
|
*
|
|
160
121
|
* @param requestId - The request ID to cancel
|
|
161
122
|
* @returns true if the request was cancelled, false if it wasn't found
|
|
162
123
|
*/
|
|
163
124
|
cancelPhotoRequest(requestId: string): boolean;
|
|
164
125
|
/**
|
|
165
|
-
* ๐งน Cancel all pending photo requests
|
|
126
|
+
* ๐งน Cancel all pending photo requests for this session
|
|
127
|
+
* @deprecated Photo requests are now managed at AppServer level. Use AppServer.cleanupPhotoRequestsForSession() instead.
|
|
166
128
|
*
|
|
167
|
-
* @returns Number of requests that were cancelled
|
|
129
|
+
* @returns Number of requests that were cancelled (always 0, cleanup happens at AppServer level)
|
|
168
130
|
*/
|
|
169
131
|
cancelAllPhotoRequests(): number;
|
|
170
132
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../../../src/app/session/modules/camera.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEL,SAAS,EAIT,gBAAgB,EAEhB,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../../../src/app/session/modules/camera.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export * from "./types/streams";
|
|
|
12
12
|
export * from "./types/layouts";
|
|
13
13
|
export * from "./types/dashboard";
|
|
14
14
|
export * from "./types/rtmp-stream";
|
|
15
|
-
export { AppType, LayoutType, ViewType, AppSettingType, HardwareType, HardwareRequirementLevel
|
|
15
|
+
export { AppType, LayoutType, ViewType, AppSettingType, HardwareType, HardwareRequirementLevel } from "./types/enums";
|
|
16
16
|
export * from "./types/models";
|
|
17
17
|
export * from "./types/webhooks";
|
|
18
18
|
export * from "./types/capabilities";
|
|
@@ -24,11 +24,14 @@ export { AppConnectionInit, AppSubscriptionUpdate, RtmpStreamRequest, RtmpStream
|
|
|
24
24
|
export { TextWall, DoubleTextWall, DashboardCard, ReferenceCard, Layout, DisplayRequest, BitmapView, ClearView, } from "./types/layouts";
|
|
25
25
|
export { isButtonPress, isHeadPosition, isConnectionInit, isStartApp, isStopApp, isPhotoResponse as isPhotoResponseFromGlasses, isRgbLedControlResponse as isRgbLedControlResponseFromGlasses, isRtmpStreamStatus as isRtmpStreamStatusFromGlasses, isKeepAliveAck, isPhoneNotificationDismissed, } from "./types/messages/glasses-to-cloud";
|
|
26
26
|
export { isConnectionAck, isDisplayEvent, isAppStateChange, isPhotoRequest, isSettingsUpdate as isSettingsUpdateToGlasses, isStartRtmpStream, isStopRtmpStream, isKeepRtmpStreamAlive, isRgbLedControl, } from "./types/messages/cloud-to-glasses";
|
|
27
|
-
export { isAppConnectionInit, isAppSubscriptionUpdate, isDisplayRequest, isRtmpStreamRequest, isRtmpStreamStopRequest, isPhotoRequest as isPhotoRequestFromApp, isRgbLedControlRequest, } from "./types/messages/app-to-cloud";
|
|
27
|
+
export { isAppConnectionInit, isAppSubscriptionUpdate, isDisplayRequest, isRtmpStreamRequest, isRtmpStreamStopRequest, isPhotoRequest as isPhotoRequestFromApp, isRgbLedControlRequest, isOwnershipRelease, } from "./types/messages/app-to-cloud";
|
|
28
28
|
export { BaseAppSetting, AppSetting, AppSettings, AppConfig, validateAppConfig, ToolSchema, ToolParameterSchema, HardwareRequirement, } from "./types/models";
|
|
29
|
-
export { VideoConfig, AudioConfig, StreamConfig, StreamStatusHandler
|
|
29
|
+
export { VideoConfig, AudioConfig, StreamConfig, StreamStatusHandler } from "./types/rtmp-stream";
|
|
30
30
|
export * from "./app/session/modules";
|
|
31
31
|
export { PhotoData } from "./types/photo-data";
|
|
32
|
+
export { DeviceState } from "./app/session/device-state";
|
|
33
|
+
export { Observable } from "./utils/Observable";
|
|
34
|
+
export type { GlassesInfo } from "@mentra/types";
|
|
32
35
|
/**
|
|
33
36
|
* WebSocket error information
|
|
34
37
|
*/
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAC;AAG9B,cAAc,uBAAuB,CAAC;AAGtC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAG9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AAGxC,OAAO,EAEL,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,cAAc,IAAI,iBAAiB,EAAE,+DAA+D;AACpG,kBAAkB,EAClB,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,QAAQ,EACR,uBAAuB,EACvB,aAAa,EACb,mBAAmB,EACnB,yBAAyB,EACzB,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EACX,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EAEjB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,2BAA2B,EAC3B,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EAGrB,eAAe,IAAI,wBAAwB,EAC3C,uBAAuB,IAAI,gCAAgC,EAC3D,kBAAkB,IAAI,2BAA2B,GAClD,MAAM,+BAA+B,CAAC;AAGvC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,qBAAqB,CAAC;AAGpC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|