@mentra/engine 3.2.0-dev.261 → 3.2.0-dev.262
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/build/generated/releaseMetadata.js +5 -5
- package/build/generated/releaseMetadata.js.map +1 -1
- package/build/services/AcsMeetingService.d.ts +25 -1
- package/build/services/AcsMeetingService.d.ts.map +1 -1
- package/build/services/AcsMeetingService.js +41 -3
- package/build/services/AcsMeetingService.js.map +1 -1
- package/build/services/LocalMiniappRuntime.d.ts +32 -3
- package/build/services/LocalMiniappRuntime.d.ts.map +1 -1
- package/build/services/LocalMiniappRuntime.js +284 -30
- package/build/services/LocalMiniappRuntime.js.map +1 -1
- package/build/services/MiniappLiveness.d.ts +11 -0
- package/build/services/MiniappLiveness.d.ts.map +1 -1
- package/build/services/MiniappLiveness.js +11 -0
- package/build/services/MiniappLiveness.js.map +1 -1
- package/build/services/PhoneStreamCoordinator.d.ts +13 -1
- package/build/services/PhoneStreamCoordinator.d.ts.map +1 -1
- package/build/services/PhoneStreamCoordinator.js +27 -4
- package/build/services/PhoneStreamCoordinator.js.map +1 -1
- package/build/services/SoftapCallTransport.d.ts +87 -7
- package/build/services/SoftapCallTransport.d.ts.map +1 -1
- package/build/services/SoftapCallTransport.js +229 -28
- package/build/services/SoftapCallTransport.js.map +1 -1
- package/build/utils/miniappGlobals.d.ts.map +1 -1
- package/build/utils/miniappGlobals.js +13 -11
- package/build/utils/miniappGlobals.js.map +1 -1
- package/package.json +8 -8
- package/src/generated/releaseMetadata.ts +5 -5
- package/src/services/AcsMeetingService.ts +51 -3
- package/src/services/LocalMiniappRuntime.ts +296 -30
- package/src/services/MiniappLiveness.ts +18 -0
- package/src/services/PhoneStreamCoordinator.ts +27 -5
- package/src/services/SoftapCallTransport.ts +274 -32
- package/src/utils/miniappGlobals.ts +13 -11
|
@@ -28,7 +28,20 @@ export type SoftapStep = (typeof SOFTAP_STEPS)[number];
|
|
|
28
28
|
* `starting` covers every step up to `live` because the caller's only useful distinction is
|
|
29
29
|
* "not yet usable" versus "carrying media"; the step names are for diagnostics, not for branching.
|
|
30
30
|
*/
|
|
31
|
-
export type SoftapPhase = "idle" | "starting" | "live" | "stopping" | "failed";
|
|
31
|
+
export type SoftapPhase = "idle" | "starting" | "recovering" | "live" | "stopping" | "failed";
|
|
32
|
+
/**
|
|
33
|
+
* SoftAP loss is a media outage, not call termination. The wearer has this long to
|
|
34
|
+
* come back in range before the host should give up rebuilding the hop.
|
|
35
|
+
*/
|
|
36
|
+
export declare const RETURN_DEADLINE_MS = 60000;
|
|
37
|
+
/** Budget to re-arm hotspot, scoped join, ingest, and publish after the glasses return. */
|
|
38
|
+
export declare const REARM_BUDGET_MS = 45000;
|
|
39
|
+
/** Snapshot a host can use to decide whether to keep waiting or stand the call down. */
|
|
40
|
+
export interface SoftapRecoveryState {
|
|
41
|
+
phase: SoftapPhase;
|
|
42
|
+
mediaGeneration: number;
|
|
43
|
+
reason?: string;
|
|
44
|
+
}
|
|
32
45
|
/** A failure, named by the step that produced it so the UI and the logs agree on the cause. */
|
|
33
46
|
export declare class SoftapCallError extends Error {
|
|
34
47
|
readonly step: SoftapStep;
|
|
@@ -90,6 +103,8 @@ export interface SoftapProgress {
|
|
|
90
103
|
steps: SoftapStepState[];
|
|
91
104
|
/** ms since `start()` was called. */
|
|
92
105
|
elapsedMs: number;
|
|
106
|
+
/** Media hop generation. Bumped on recover / media-only rebuild; ACS join is not. */
|
|
107
|
+
mediaGeneration: number;
|
|
93
108
|
}
|
|
94
109
|
/** Sub-status callback a step can use to narrate what it is doing while it runs. */
|
|
95
110
|
export type SoftapStepReporter = (detail: string) => void;
|
|
@@ -140,18 +155,31 @@ export interface SoftapCallDeps {
|
|
|
140
155
|
* tears down correctly, it just cannot honour `stop({mode: "end"})`.
|
|
141
156
|
*/
|
|
142
157
|
endMeeting?(): Promise<void>;
|
|
158
|
+
/**
|
|
159
|
+
* Rebind the local WHIP listener onto the standing ACS session. Substitutes for
|
|
160
|
+
* [joinMeeting] on a media-only rebuild: the meeting stays up, the ingest URL is new.
|
|
161
|
+
*/
|
|
162
|
+
rebindIngest?(report?: SoftapStepReporter): Promise<{
|
|
163
|
+
ingestUrl: string;
|
|
164
|
+
}>;
|
|
143
165
|
/** Tell the glasses to publish to [ingestUrl] in host-only ICE mode. */
|
|
144
166
|
startPublishing(args: {
|
|
145
167
|
ingestUrl: string;
|
|
146
168
|
traceId: string;
|
|
169
|
+
mediaGeneration?: number;
|
|
147
170
|
}, report?: SoftapStepReporter): Promise<void>;
|
|
148
171
|
stopPublishing(): Promise<void>;
|
|
149
172
|
/**
|
|
150
173
|
* Resolves when a frame has reached ACS, rejects if the feed failed or the deadline passed.
|
|
151
174
|
* Separate from [joinMeeting] because an answered negotiation is not a working call: a session
|
|
152
175
|
* that never delivers a frame reads as healthy behind a frozen tile.
|
|
176
|
+
*
|
|
177
|
+
* [fresh] ignores a standing `live` verdict. Recovery must wait for a frame from the new
|
|
178
|
+
* ingest generation; the previous hop's last decoded frame is not that.
|
|
153
179
|
*/
|
|
154
|
-
awaitFirstFrame(report?: SoftapStepReporter
|
|
180
|
+
awaitFirstFrame(report?: SoftapStepReporter, options?: {
|
|
181
|
+
fresh?: boolean;
|
|
182
|
+
}): Promise<void>;
|
|
155
183
|
/**
|
|
156
184
|
* Mid-call camera recovery. Resolves `true` only when ingest is live again.
|
|
157
185
|
* A standing `failed` is the reason we are republishing, so it must not abort the wait.
|
|
@@ -161,6 +189,11 @@ export interface SoftapCallDeps {
|
|
|
161
189
|
republishRetryDelayMs?: number;
|
|
162
190
|
}
|
|
163
191
|
export interface SoftapCallOptions {
|
|
192
|
+
/**
|
|
193
|
+
* Rebuild the media hop only. Skips `joinMeeting` and calls [SoftapCallDeps.rebindIngest]
|
|
194
|
+
* for the `acsJoin` step so the ACS session, endpoints, and mute intent stay up.
|
|
195
|
+
*/
|
|
196
|
+
mediaOnly?: boolean;
|
|
164
197
|
/** Override the minted trace id, so a caller can correlate with logs it already started. */
|
|
165
198
|
traceId?: string;
|
|
166
199
|
/**
|
|
@@ -189,6 +222,11 @@ export type SoftapTeardownMode = "leave" | "end";
|
|
|
189
222
|
export interface SoftapStopOptions {
|
|
190
223
|
mode?: SoftapTeardownMode;
|
|
191
224
|
keepProgress?: boolean;
|
|
225
|
+
/**
|
|
226
|
+
* Tear down the media hop and keep the ACS session. Skips only the `acsJoin` undo
|
|
227
|
+
* (`leaveOrEndMeeting`) and leaves `acsJoin` in [completed].
|
|
228
|
+
*/
|
|
229
|
+
preserveMeeting?: boolean;
|
|
192
230
|
}
|
|
193
231
|
export declare class SoftapEndNotSupportedError extends Error {
|
|
194
232
|
constructor();
|
|
@@ -252,8 +290,28 @@ export declare class SoftapCallTransport {
|
|
|
252
290
|
private republishing;
|
|
253
291
|
/** Bumped by `stop` so an in-flight republish cannot start_stream after Leave. */
|
|
254
292
|
private republishGeneration;
|
|
293
|
+
/**
|
|
294
|
+
* Media hop generation. Distinct from [generation]: ACS join is preserved across recoveries,
|
|
295
|
+
* but hotspot, scoped network, ingest, and publisher belong to this number.
|
|
296
|
+
*/
|
|
297
|
+
private mediaGeneration;
|
|
298
|
+
/** Why the current recover was requested. Cleared when the hop is live again. */
|
|
299
|
+
private recoveryReason;
|
|
300
|
+
/** In-flight [recover]. Concurrent recoveries share one rebuild. */
|
|
301
|
+
private recovering;
|
|
302
|
+
/** A [stop] without preserveMeeting landed during recover; recover must not rebuild. */
|
|
303
|
+
private recoveryAbort;
|
|
304
|
+
/** Skip `acsJoin` undo so the ACS session survives a media-only teardown. */
|
|
305
|
+
private meetingPreserved;
|
|
306
|
+
/**
|
|
307
|
+
* Identity of the publisher the most recent `startPublishing` created.
|
|
308
|
+
* A cancelled republish may only `stopPublishing` if it still owns this token.
|
|
309
|
+
*/
|
|
310
|
+
private publisherToken;
|
|
255
311
|
constructor(deps: SoftapCallDeps);
|
|
256
312
|
currentPhase(): SoftapPhase;
|
|
313
|
+
currentMediaGeneration(): number;
|
|
314
|
+
recoveryState(): SoftapRecoveryState;
|
|
257
315
|
/**
|
|
258
316
|
* The glasses camera died after this call was already live. Re-issue `start_stream` at the
|
|
259
317
|
* existing ingest URL — do not rebind the WHIP listener, or the glasses POST to a dead port.
|
|
@@ -267,6 +325,18 @@ export declare class SoftapCallTransport {
|
|
|
267
325
|
*/
|
|
268
326
|
republish(reason: string): Promise<void>;
|
|
269
327
|
private runRepublish;
|
|
328
|
+
/**
|
|
329
|
+
* Rebuild the glasses→phone hop after SoftAP loss. ACS, mute intent, and media endpoints stay.
|
|
330
|
+
*
|
|
331
|
+
* Phase flips to `recovering` before any await so [shouldRepublish] stands down immediately —
|
|
332
|
+
* not after a BLE wait that could still issue `start_stream` at the dying hop.
|
|
333
|
+
*/
|
|
334
|
+
recover(reason: string, options?: {
|
|
335
|
+
wait?: () => Promise<void>;
|
|
336
|
+
}): Promise<void>;
|
|
337
|
+
private runRecover;
|
|
338
|
+
/** Issue `start_stream` and take publisher ownership so a stale republish cannot stop a successor. */
|
|
339
|
+
private startPublishingOwned;
|
|
270
340
|
/**
|
|
271
341
|
* True once a teardown has been decided. Anything that would otherwise report a failure — a lost
|
|
272
342
|
* hotspot, a dropped ACS call — must check this first: after the wearer asks to leave, those are
|
|
@@ -284,11 +354,10 @@ export declare class SoftapCallTransport {
|
|
|
284
354
|
/** The URL handed to the glasses, for diagnostics. Null outside a live attempt. */
|
|
285
355
|
currentIngestUrl(): string | null;
|
|
286
356
|
/**
|
|
287
|
-
* Steps whose undo threw during the last teardown
|
|
357
|
+
* Steps whose undo threw during the last teardown.
|
|
288
358
|
*
|
|
289
|
-
* Teardown
|
|
290
|
-
*
|
|
291
|
-
* "Cannot start glasses hotspot" followed by a scoped join that never found the SSID.
|
|
359
|
+
* Teardown swallows these so unwind can finish. The host refuses the next join for ingest /
|
|
360
|
+
* scoped-network leaks; a hotspot that missed its off-ack is leftover ON and is raised again.
|
|
292
361
|
*/
|
|
293
362
|
lastTeardownFailures(): SoftapStep[];
|
|
294
363
|
/**
|
|
@@ -371,7 +440,9 @@ export declare function createSoftapCallDeps(args: {
|
|
|
371
440
|
maxBitrateBps: number;
|
|
372
441
|
};
|
|
373
442
|
/** Resolves when the meeting reports a frame reached ACS; rejects on a failed feed. */
|
|
374
|
-
awaitFirstFrame: (
|
|
443
|
+
awaitFirstFrame: (report?: SoftapStepReporter, options?: {
|
|
444
|
+
fresh?: boolean;
|
|
445
|
+
}) => Promise<void>;
|
|
375
446
|
/**
|
|
376
447
|
* Mid-call camera recovery. Resolves `true` only when ingest is live again.
|
|
377
448
|
* A standing `failed` is the reason we are republishing, so it must not abort the wait.
|
|
@@ -412,8 +483,17 @@ export declare function createSoftapCallDeps(args: {
|
|
|
412
483
|
traceId: string;
|
|
413
484
|
captureAudio?: boolean;
|
|
414
485
|
video?: SoftapVideoPolicy;
|
|
486
|
+
mediaGeneration?: number;
|
|
415
487
|
}) => Promise<unknown>;
|
|
416
488
|
stopPublishing: (packageName: string) => Promise<void>;
|
|
489
|
+
/** Drop a deferred BLE stopStream that belonged to a destroyed SoftAP media generation. */
|
|
490
|
+
discardPendingBleStop?: () => void;
|
|
491
|
+
/**
|
|
492
|
+
* Rebind WHIP ingest on the standing ACS session. Required for media-only rebuilds.
|
|
493
|
+
*/
|
|
494
|
+
rebindIngest?: (report?: SoftapStepReporter) => Promise<{
|
|
495
|
+
ingestUrl: string;
|
|
496
|
+
}>;
|
|
417
497
|
/**
|
|
418
498
|
* Whether the host is taking the wearer's voice off the glasses over BLE LC3 for this call.
|
|
419
499
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SoftapCallTransport.d.ts","sourceRoot":"","sources":["../../src/services/SoftapCallTransport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,yDAAyD;AACzD,eAAO,MAAM,YAAY,kEAAmE,CAAA;AAE5F,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"SoftapCallTransport.d.ts","sourceRoot":"","sources":["../../src/services/SoftapCallTransport.ts"],"names":[],"mappings":"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"}
|