@mentra/sdk 3.0.0-alpha.3 → 3.0.0-alpha.4

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.
@@ -39,6 +39,6 @@
39
39
  "/**\n * Error Utilities\n *\n * Shared error handling utilities to replace the ~20 copy-pasted\n * error wrapping patterns throughout the old AppSession.\n *\n * Before (scattered across AppSession):\n * } catch (error) {\n * const errorMessage = error instanceof Error ? error.message : String(error);\n * this.logger.error({ error: errorMessage }, \"Something failed\");\n * }\n *\n * After:\n * } catch (error) {\n * this.logger.error({ error: toErrorMessage(error) }, \"Something failed\");\n * }\n */\n\n// ─── Error Message Extraction ───────────────────────────────────────────────\n\n/**\n * Safely extract a human-readable error message from any thrown value.\n *\n * JavaScript allows throwing anything — Error objects, strings, numbers,\n * null, undefined, objects, etc. This function normalizes all of them\n * into a string suitable for logging.\n *\n * @param error - Any value that was thrown or caught\n * @returns A string error message\n *\n * @example\n * ```ts\n * try {\n * await doSomething();\n * } catch (error) {\n * logger.error({ error: toErrorMessage(error) }, \"doSomething failed\");\n * }\n * ```\n */\nexport function toErrorMessage(error: unknown): string {\n if (error instanceof Error) {\n return error.message;\n }\n if (typeof error === \"string\") {\n return error;\n }\n if (error === null) {\n return \"null\";\n }\n if (error === undefined) {\n return \"undefined\";\n }\n if (typeof error === \"object\") {\n // Some libraries throw plain objects with a message field\n const obj = error as Record<string, unknown>;\n if (typeof obj.message === \"string\") {\n return obj.message;\n }\n try {\n return JSON.stringify(error);\n } catch {\n return String(error);\n }\n }\n return String(error);\n}\n\n// ─── Error Wrapping ─────────────────────────────────────────────────────────\n\n/**\n * Wrap an unknown caught value into a proper Error instance.\n * If it's already an Error, returns it as-is.\n * Otherwise, creates a new Error with the extracted message.\n *\n * Useful when you need to re-throw or pass an Error object\n * but the catch block might have received a non-Error value.\n *\n * @param error - Any value that was thrown or caught\n * @param fallbackMessage - Optional message to use if the error has no message\n * @returns An Error instance\n *\n * @example\n * ```ts\n * try {\n * await riskyOperation();\n * } catch (error) {\n * throw toError(error, \"riskyOperation failed\");\n * }\n * ```\n */\nexport function toError(error: unknown, fallbackMessage?: string): Error {\n if (error instanceof Error) {\n return error;\n }\n const message = toErrorMessage(error);\n return new Error(message || fallbackMessage || \"Unknown error\");\n}\n\n// ─── Safe Execution ─────────────────────────────────────────────────────────\n\n/**\n * Execute a function and swallow any errors, optionally logging them.\n * Used for fire-and-forget operations where failure is acceptable\n * (e.g., cleanup handlers, optional notifications, analytics).\n *\n * @param fn - The function to execute\n * @param onError - Optional error handler (e.g., logger.warn)\n *\n * @example\n * ```ts\n * // Cleanup that shouldn't throw\n * safeExec(() => transport.close(), (err) => logger.warn({ err }, \"close failed\"));\n *\n * // Fire-and-forget analytics\n * safeExec(() => trackEvent(\"session_start\"));\n * ```\n */\nexport function safeExec(fn: () => void, onError?: (error: Error) => void): void {\n try {\n fn();\n } catch (err) {\n if (onError) {\n onError(toError(err));\n }\n }\n}\n\n/**\n * Execute an async function and swallow any errors, optionally logging them.\n * Async version of safeExec.\n *\n * @param fn - The async function to execute\n * @param onError - Optional error handler\n *\n * @example\n * ```ts\n * await safeExecAsync(\n * () => session.storage.set(\"lastActive\", Date.now()),\n * (err) => logger.warn({ err }, \"Failed to persist lastActive\")\n * );\n * ```\n */\nexport async function safeExecAsync(fn: () => Promise<void>, onError?: (error: Error) => void): Promise<void> {\n try {\n await fn();\n } catch (err) {\n if (onError) {\n onError(toError(err));\n }\n }\n}\n\n// ─── Deprecation Warnings ───────────────────────────────────────────────────\n\n/**\n * Set of deprecation keys that have already been warned about.\n * Prevents spamming the console with the same deprecation warning\n * on every access — warns once per session, not once per call.\n */\nconst _deprecationWarnings = new Set<string>();\n\n/**\n * Log a deprecation warning once per key per process lifetime.\n * Subsequent calls with the same key are silently ignored.\n *\n * @param key - Unique identifier for this deprecation (e.g., \"session.layouts\")\n * @param message - The deprecation message to log\n * @param logger - Optional structured logger; falls back to console.warn\n *\n * @example\n * ```ts\n * get layouts() {\n * warnOnce(\n * \"session.layouts\",\n * \"session.layouts is deprecated. Use session.display instead.\",\n * this.logger\n * );\n * return this.display;\n * }\n * ```\n */\nexport function warnOnce(key: string, message: string, logger?: { warn: (msg: string) => void }): void {\n if (_deprecationWarnings.has(key)) return;\n _deprecationWarnings.add(key);\n\n const formatted = `⚠️ DEPRECATION: ${message}`;\n if (logger) {\n logger.warn(formatted);\n } else {\n console.warn(formatted);\n }\n}\n\n/**\n * Reset all deprecation warning state.\n * Only useful in tests to ensure warnings fire again.\n */\nexport function resetDeprecationWarnings(): void {\n _deprecationWarnings.clear();\n}\n\n// ─── Timeout Utility ────────────────────────────────────────────────────────\n\n/**\n * Create a promise that rejects after a timeout.\n * Useful for racing against operations that might hang.\n *\n * @param ms - Timeout in milliseconds\n * @param message - Error message on timeout\n * @returns A promise that rejects after `ms` milliseconds\n *\n * @example\n * ```ts\n * const result = await Promise.race([\n * doSlowThing(),\n * timeout(5000, \"doSlowThing timed out after 5s\"),\n * ]);\n * ```\n */\nexport function timeout(ms: number, message?: string): Promise<never> {\n return new Promise<never>((_, reject) => {\n setTimeout(() => {\n reject(new Error(message ?? `Operation timed out after ${ms}ms`));\n }, ms);\n });\n}\n"
40
40
  ],
41
41
  "mappings": "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",
42
- "debugId": "8A5DE283BBCD263564756E2164756E21",
42
+ "debugId": "CD897D9F35B061EF64756E2164756E21",
43
43
  "names": []
44
44
  }
@@ -0,0 +1,55 @@
1
+ /**
2
+ * @mentra/types - App/Applet types for client interfaces
3
+ */
4
+
5
+ import { HardwareRequirement } from "./hardware";
6
+
7
+ /**
8
+ * App execution model types
9
+ */
10
+ export type AppletType = "standard" | "background" | "system_dashboard";
11
+
12
+ /**
13
+ * Permission types that apps can request
14
+ */
15
+ export type AppPermissionType =
16
+ | "ALL"
17
+ | "MICROPHONE"
18
+ | "CAMERA"
19
+ | "CALENDAR"
20
+ | "LOCATION"
21
+ | "BACKGROUND_LOCATION"
22
+ | "READ_NOTIFICATIONS"
23
+ | "POST_NOTIFICATIONS";
24
+
25
+ /**
26
+ * Permission object with type and description
27
+ */
28
+ export interface AppletPermission {
29
+ type: AppPermissionType;
30
+ description?: string;
31
+ required?: boolean;
32
+ }
33
+
34
+ /**
35
+ * Minimal app interface for client home screen display
36
+ * Optimized for fast rendering - only essential fields
37
+ *
38
+ * This is the client-facing interface used by mobile apps.
39
+ * Internal cloud services use AppI from models (more fields).
40
+ */
41
+ export interface AppletInterface {
42
+ packageName: string;
43
+ name: string;
44
+ webviewUrl: string;
45
+ logoUrl: string;
46
+ type: AppletType;
47
+ permissions: AppletPermission[];
48
+ running: boolean;
49
+ healthy: boolean;
50
+ hardwareRequirements: HardwareRequirement[];
51
+ /** ISO date string when the app was installed */
52
+ installedDate?: string;
53
+ /** ISO date string when the app was last run. Undefined if never run (app is "new") */
54
+ lastActiveAt?: string;
55
+ }
@@ -0,0 +1,63 @@
1
+ /**
2
+ * @fileoverview Even Realities G1 Hardware Capabilities
3
+ *
4
+ * Capability profile for the Even Realities G1 smart glasses model.
5
+ * Defines the hardware and software features available on this device.
6
+ */
7
+
8
+ import type { Capabilities } from "../hardware";
9
+
10
+ /**
11
+ * Even Realities G1 capability profile
12
+ */
13
+ export const evenRealitiesG1: Capabilities = {
14
+ modelName: "Even Realities G1",
15
+
16
+ // Camera capabilities - G1 does not have a camera
17
+ hasCamera: false,
18
+ camera: null,
19
+
20
+ // Display capabilities - G1 has a green monochrome display
21
+ hasDisplay: true,
22
+ display: {
23
+ count: 2,
24
+ isColor: false,
25
+ color: "green",
26
+ canDisplayBitmap: true,
27
+ resolution: { width: 640, height: 200 },
28
+ fieldOfView: { horizontal: 25 },
29
+ maxTextLines: 5,
30
+ adjustBrightness: true,
31
+ },
32
+
33
+ // Microphone capabilities - G1 has one microphone without VAD
34
+ hasMicrophone: true,
35
+ microphone: {
36
+ count: 1,
37
+ hasVAD: false,
38
+ },
39
+
40
+ // Speaker capabilities - G1 does not have a speaker
41
+ hasSpeaker: false,
42
+ speaker: null,
43
+
44
+ // IMU capabilities - G1 has IMU for head-up/down detection but raw data not exposed to apps
45
+ hasIMU: true,
46
+ imu: null,
47
+
48
+ // Button capabilities - G1 does not have buttons
49
+ hasButton: false,
50
+ button: null,
51
+
52
+ // Light capabilities - G1 does not have lights
53
+ hasLight: false,
54
+ light: null,
55
+
56
+ // Power capabilities - G1 does not have external battery
57
+ power: {
58
+ hasExternalBattery: false,
59
+ },
60
+
61
+ // WiFi capabilities - G1 does not support WiFi
62
+ hasWifi: false,
63
+ };
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @fileoverview Even Realities G2 Hardware Capabilities
3
+ *
4
+ * Capability profile for the Even Realities G2 smart glasses model.
5
+ * G2 uses the EvenHub protocol with protobuf-based commands.
6
+ */
7
+
8
+ import type { Capabilities } from "../hardware";
9
+
10
+ /**
11
+ * Even Realities G2 capability profile
12
+ */
13
+ export const evenRealitiesG2: Capabilities = {
14
+ modelName: "Even Realities G2",
15
+
16
+ // Camera capabilities - G2 does not have a camera
17
+ hasCamera: false,
18
+ camera: null,
19
+
20
+ // Display capabilities - G2 has a green monochrome display (similar to G1)
21
+ hasDisplay: true,
22
+ display: {
23
+ count: 2,
24
+ isColor: false,
25
+ color: "green",
26
+ canDisplayBitmap: true,
27
+ resolution: { width: 640, height: 200 },
28
+ fieldOfView: { horizontal: 25 },
29
+ maxTextLines: 5,
30
+ adjustBrightness: true,
31
+ },
32
+
33
+ // Microphone capabilities - G2 has one microphone (right side), LC3 codec
34
+ hasMicrophone: true,
35
+ microphone: {
36
+ count: 1,
37
+ hasVAD: false,
38
+ },
39
+
40
+ // Speaker capabilities - G2 does not have a speaker
41
+ hasSpeaker: false,
42
+ speaker: null,
43
+
44
+ // IMU capabilities - G2 has IMU
45
+ hasIMU: true,
46
+ imu: null,
47
+
48
+ // Button capabilities - G2 has a capacitive touchbar
49
+ hasButton: true,
50
+ button: {
51
+ count: 1,
52
+ buttons: [{
53
+ type: "swipe1d",
54
+ events: ["TAP", "DOUBLE_TAP", "TRIPLE_TAP", "PRESS_HOLD", "SWIPE_UP", "SWIPE_DOWN"],
55
+ isCapacitive: true,
56
+ }],
57
+ },
58
+
59
+ // Light capabilities - G2 does not have lights
60
+ hasLight: false,
61
+ light: null,
62
+
63
+ // Power capabilities
64
+ power: {
65
+ hasExternalBattery: false,
66
+ },
67
+
68
+ // WiFi capabilities - G2 does not support WiFi
69
+ hasWifi: false,
70
+ };
@@ -0,0 +1,63 @@
1
+ /**
2
+ * @fileoverview Mentra Display Hardware Capabilities
3
+ *
4
+ * Capability profile for the Mentra Display smart glasses model.
5
+ * Defines the hardware and software features available on this device.
6
+ */
7
+
8
+ import type { Capabilities } from "../hardware";
9
+
10
+ /**
11
+ * Mentra Display capability profile
12
+ */
13
+ export const mentraDisplay: Capabilities = {
14
+ modelName: "Mentra Display",
15
+
16
+ // Camera capabilities - Mentra Display does not have a camera
17
+ hasCamera: false,
18
+ camera: null,
19
+
20
+ // Display capabilities - Mentra Display has a green monochrome display
21
+ hasDisplay: true,
22
+ display: {
23
+ count: 2,
24
+ isColor: false,
25
+ color: "green",
26
+ canDisplayBitmap: true,
27
+ resolution: { width: 640, height: 200 },
28
+ fieldOfView: { horizontal: 25 },
29
+ maxTextLines: 5,
30
+ adjustBrightness: true,
31
+ },
32
+
33
+ // Microphone capabilities - Mentra Display has one microphone without VAD
34
+ hasMicrophone: true,
35
+ microphone: {
36
+ count: 1,
37
+ hasVAD: false,
38
+ },
39
+
40
+ // Speaker capabilities - Mentra Display does not have a speaker
41
+ hasSpeaker: false,
42
+ speaker: null,
43
+
44
+ // IMU capabilities - Mentra Display has IMU for head-up/down detection but raw data not exposed to apps
45
+ hasIMU: true,
46
+ imu: null,
47
+
48
+ // Button capabilities - Mentra Display does not have buttons
49
+ hasButton: false,
50
+ button: null,
51
+
52
+ // Light capabilities - Mentra Display does not have lights
53
+ hasLight: false,
54
+ light: null,
55
+
56
+ // Power capabilities - Mentra Display does not have external battery
57
+ power: {
58
+ hasExternalBattery: false,
59
+ },
60
+
61
+ // WiFi capabilities - Mentra Display does not support WiFi
62
+ hasWifi: false,
63
+ };
@@ -0,0 +1,103 @@
1
+ /**
2
+ * @fileoverview Mentra Live Hardware Capabilities
3
+ *
4
+ * Capability profile for the Mentra Live smart glasses model.
5
+ * Defines the hardware and software features available on this device.
6
+ */
7
+
8
+ import type { Capabilities } from "../hardware";
9
+
10
+ /**
11
+ * Mentra Live capability profile
12
+ */
13
+ export const mentraLive: Capabilities = {
14
+ modelName: "Mentra Live",
15
+
16
+ // Camera capabilities - Mentra Live has camera with streaming
17
+ hasCamera: true,
18
+ camera: {
19
+ resolution: { width: 1920, height: 1080 },
20
+ hasHDR: false,
21
+ hasFocus: true,
22
+ video: {
23
+ canRecord: true,
24
+ canStream: true,
25
+ supportedStreamTypes: ["rtmp"],
26
+ supportedResolutions: [
27
+ { width: 1920, height: 1080 },
28
+ { width: 1280, height: 720 },
29
+ { width: 640, height: 480 },
30
+ ],
31
+ },
32
+ },
33
+
34
+ // Display capabilities - Mentra Live does not have a display
35
+ hasDisplay: false,
36
+ display: null,
37
+
38
+ // Microphone capabilities - Mentra Live has one microphone with VAD
39
+ hasMicrophone: true,
40
+ microphone: {
41
+ count: 1,
42
+ hasVAD: true,
43
+ },
44
+
45
+ // Speaker capabilities - Mentra Live has one standard speaker
46
+ hasSpeaker: true,
47
+ speaker: {
48
+ count: 1,
49
+ isPrivate: false,
50
+ },
51
+
52
+ // IMU capabilities - Mentra Live has 6-axis IMU
53
+ hasIMU: true,
54
+ imu: {
55
+ axisCount: 6,
56
+ hasAccelerometer: true,
57
+ hasCompass: false,
58
+ hasGyroscope: true,
59
+ },
60
+
61
+ // Button capabilities - Mentra Live has one physical button
62
+ hasButton: true,
63
+ button: {
64
+ count: 1,
65
+ buttons: [
66
+ {
67
+ type: "press",
68
+ events: ["press", "double_press", "long_press"],
69
+ isCapacitive: false,
70
+ },
71
+ ],
72
+ },
73
+
74
+ // Light capabilities - Mentra Live has two lights: privacy light + RGB LED
75
+ hasLight: true,
76
+ light: {
77
+ count: 2,
78
+ lights: [
79
+ {
80
+ id: "privacy",
81
+ purpose: "privacy",
82
+ isFullColor: false,
83
+ color: "white",
84
+ position: "front_facing",
85
+ },
86
+ {
87
+ id: "user_feedback",
88
+ purpose: "user_feedback",
89
+ isFullColor: true,
90
+ color: "rgb",
91
+ position: "user_facing",
92
+ },
93
+ ],
94
+ },
95
+
96
+ // Power capabilities - Mentra Live does not have external battery
97
+ power: {
98
+ hasExternalBattery: false,
99
+ },
100
+
101
+ // WiFi capabilities - Mentra Live supports WiFi
102
+ hasWifi: true,
103
+ };
@@ -0,0 +1,76 @@
1
+ /**
2
+ * @fileoverview Simulated Glasses Hardware Capabilities
3
+ *
4
+ * Capability profile for the Simulated Glasses model.
5
+ * Defines the hardware and software features available on this device.
6
+ * This profile matches the Vuzix Z100 capabilities for testing purposes.
7
+ */
8
+
9
+ import type { Capabilities } from "../hardware";
10
+
11
+ /**
12
+ * Simulated Glasses capability profile
13
+ */
14
+ export const none: Capabilities = {
15
+ modelName: "None",
16
+
17
+ // Camera capabilities - does not have a camera
18
+ hasCamera: false,
19
+ camera: null,
20
+
21
+ // Display capabilities - has a green monochrome display
22
+ hasDisplay: false,
23
+ display: {
24
+ count: 1,
25
+ isColor: false,
26
+ color: "green",
27
+ canDisplayBitmap: false,
28
+ resolution: { width: 640, height: 480 },
29
+ fieldOfView: { horizontal: 30 },
30
+ maxTextLines: 7,
31
+ adjustBrightness: true,
32
+ },
33
+
34
+ // Microphone capabilities - has a microphone (phone mic)
35
+ hasMicrophone: false,
36
+ microphone: {
37
+ count: 1,
38
+ hasVAD: false,
39
+ },
40
+
41
+ // Speaker capabilities - has a speaker (phone speaker)
42
+ hasSpeaker: false,
43
+ speaker: {
44
+ count: 1,
45
+ isPrivate: false,
46
+ },
47
+
48
+ // IMU capabilities - does not have an IMU
49
+ hasIMU: false,
50
+ imu: null,
51
+
52
+ // Button capabilities - Has one simulated button
53
+ hasButton: false,
54
+ button: {
55
+ count: 1,
56
+ buttons: [
57
+ {
58
+ type: "press",
59
+ events: ["press"],
60
+ isCapacitive: false,
61
+ },
62
+ ],
63
+ },
64
+
65
+ // Light capabilities - does not have lights
66
+ hasLight: false,
67
+ light: null,
68
+
69
+ // Power capabilities - does not have external battery
70
+ power: {
71
+ hasExternalBattery: false,
72
+ },
73
+
74
+ // WiFi capabilities - does not support WiFi
75
+ hasWifi: false,
76
+ };