@mentra/sdk 2.1.31-beta.5 โ†’ 2.1.31-beta.6

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.
@@ -6,9 +6,25 @@
6
6
  */
7
7
  import { type Express } from "express";
8
8
  import { AppSession } from "../session/index";
9
- import { ToolCall, PhotoData } from "../../types";
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
  *
@@ -48,6 +64,36 @@ export interface AppServerConfig {
48
64
  /** App instructions string shown to the user */
49
65
  appInstructions?: string;
50
66
  }
67
+ /**
68
+ * ๐ŸŽฏ App Server Implementation
69
+ *
70
+ * Base class for creating App servers. Handles:
71
+ * - ๐Ÿ”„ Session lifecycle management
72
+ * - ๐Ÿ“ก Webhook endpoints for MentraOS Cloud
73
+ * - ๐Ÿ“‚ Static file serving
74
+ * - โค๏ธ Health checks
75
+ * - ๐Ÿงน Cleanup on shutdown
76
+ *
77
+ * @example
78
+ * ```typescript
79
+ * class MyAppServer extends AppServer {
80
+ * protected async onSession(session: AppSession, sessionId: string, userId: string) {
81
+ * // Handle new user sessions here
82
+ * session.events.onTranscription((data) => {
83
+ * session.layouts.showTextWall(data.text);
84
+ * });
85
+ * }
86
+ * }
87
+ *
88
+ * const server = new MyAppServer({
89
+ * packageName: 'org.example.myapp',
90
+ * apiKey: 'your_api_key',
91
+ * publicDir: "/public",
92
+ * });
93
+ *
94
+ * await server.start();
95
+ * ```
96
+ */
51
97
  export declare class AppServer {
52
98
  private config;
53
99
  /** Express app instance */
@@ -61,10 +107,15 @@ export declare class AppServer {
61
107
  /** App instructions string shown to the user */
62
108
  private appInstructions;
63
109
  /**
64
- * Registry for photo requests that persists across session lifecycle.
65
- * This fixes race conditions where sessions reconnect during photo capture.
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
66
117
  */
67
- private photoRequestRegistry;
118
+ private pendingPhotoRequests;
68
119
  readonly logger: Logger;
69
120
  constructor(config: AppServerConfig);
70
121
  getExpressApp(): Express;
@@ -167,7 +218,18 @@ export declare class AppServer {
167
218
  /**
168
219
  * ๐Ÿงน Cleanup
169
220
  * Closes all active sessions and runs cleanup handlers.
170
- * Releases ownership before disconnecting to enable clean handoffs (no resurrection).
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
171
233
  */
172
234
  private cleanup;
173
235
  /**
@@ -176,29 +238,41 @@ export declare class AppServer {
176
238
  */
177
239
  private setupPhotoUploadEndpoint;
178
240
  /**
179
- * ๐Ÿ” Setup Mentra Auth Redirect Endpoint
180
- * Creates a /mentra-auth endpoint that redirects to the MentraOS OAuth flow.
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
181
247
  */
182
- private setupMentraAuthRedirect;
248
+ registerPhotoRequest(requestId: string, request: Omit<PendingPhotoRequest, "timeoutId">): void;
183
249
  /**
184
- * Find session that has a pending photo request for the given requestId
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
185
254
  */
186
- private findSessionByPhotoRequestId;
255
+ getPhotoRequest(requestId: string): PendingPhotoRequest | undefined;
187
256
  /**
188
- * Register a photo request at the AppServer level.
189
- * This persists the request across session reconnections so photos can be
190
- * delivered even if the user's session disconnects and reconnects.
257
+ * Complete a photo request (success or error).
258
+ * Clears the timeout and removes from the pending map.
191
259
  *
192
- * @param requestId - Unique photo request ID
193
- * @param userId - User ID making the request
194
- * @param resolve - Promise resolve function to call with photo data
195
- * @param reject - Promise reject function to call on error/timeout
260
+ * @param requestId - The request ID to complete
261
+ * @returns The pending request that was completed, or undefined if not found
196
262
  */
197
- registerPhotoRequest(requestId: string, userId: string, resolve: (photoData: PhotoData) => void, reject: (reason: string) => void): void;
263
+ completePhotoRequest(requestId: string): PendingPhotoRequest | undefined;
198
264
  /**
199
- * Unregister a photo request (called when request is fulfilled or cancelled)
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
200
269
  */
201
- unregisterPhotoRequest(requestId: string): void;
270
+ cleanupPhotoRequestsForSession(sessionId: string): void;
271
+ /**
272
+ * ๐Ÿ” Setup Mentra Auth Redirect Endpoint
273
+ * Creates a /mentra-auth endpoint that redirects to the MentraOS OAuth flow.
274
+ */
275
+ private setupMentraAuthRedirect;
202
276
  }
203
277
  /**
204
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":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app/server/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":"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"}
1
+ {"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../../../src/app/session/modules/camera.ts"],"names":[],"mappings":"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"}