@mentra/sdk 1.1.19

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.
Files changed (101) hide show
  1. package/README.md +102 -0
  2. package/dist/constants/index.d.ts +14 -0
  3. package/dist/constants/index.d.ts.map +1 -0
  4. package/dist/constants/index.js +16 -0
  5. package/dist/examples/rtmp-streaming-example.d.ts +2 -0
  6. package/dist/examples/rtmp-streaming-example.d.ts.map +1 -0
  7. package/dist/examples/rtmp-streaming-example.js +102 -0
  8. package/dist/index.d.ts +4 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +33 -0
  11. package/dist/logging/logger.d.ts +3 -0
  12. package/dist/logging/logger.d.ts.map +1 -0
  13. package/dist/logging/logger.js +79 -0
  14. package/dist/tpa/index.d.ts +6 -0
  15. package/dist/tpa/index.d.ts.map +1 -0
  16. package/dist/tpa/index.js +24 -0
  17. package/dist/tpa/server/index.d.ts +193 -0
  18. package/dist/tpa/server/index.d.ts.map +1 -0
  19. package/dist/tpa/server/index.js +436 -0
  20. package/dist/tpa/session/api-client.d.ts +49 -0
  21. package/dist/tpa/session/api-client.d.ts.map +1 -0
  22. package/dist/tpa/session/api-client.js +101 -0
  23. package/dist/tpa/session/dashboard.d.ts +52 -0
  24. package/dist/tpa/session/dashboard.d.ts.map +1 -0
  25. package/dist/tpa/session/dashboard.js +149 -0
  26. package/dist/tpa/session/events.d.ts +178 -0
  27. package/dist/tpa/session/events.d.ts.map +1 -0
  28. package/dist/tpa/session/events.js +294 -0
  29. package/dist/tpa/session/index.d.ts +391 -0
  30. package/dist/tpa/session/index.d.ts.map +1 -0
  31. package/dist/tpa/session/index.js +1452 -0
  32. package/dist/tpa/session/layouts.d.ts +150 -0
  33. package/dist/tpa/session/layouts.d.ts.map +1 -0
  34. package/dist/tpa/session/layouts.js +282 -0
  35. package/dist/tpa/session/modules/streaming.d.ts +100 -0
  36. package/dist/tpa/session/modules/streaming.d.ts.map +1 -0
  37. package/dist/tpa/session/modules/streaming.js +270 -0
  38. package/dist/tpa/session/settings.d.ts +202 -0
  39. package/dist/tpa/session/settings.d.ts.map +1 -0
  40. package/dist/tpa/session/settings.js +361 -0
  41. package/dist/tpa/token/index.d.ts +7 -0
  42. package/dist/tpa/token/index.d.ts.map +1 -0
  43. package/dist/tpa/token/index.js +22 -0
  44. package/dist/tpa/token/utils.d.ts +69 -0
  45. package/dist/tpa/token/utils.d.ts.map +1 -0
  46. package/dist/tpa/token/utils.js +144 -0
  47. package/dist/tpa/webview/index.d.ts +47 -0
  48. package/dist/tpa/webview/index.d.ts.map +1 -0
  49. package/dist/tpa/webview/index.js +344 -0
  50. package/dist/types/dashboard/index.d.ts +128 -0
  51. package/dist/types/dashboard/index.d.ts.map +1 -0
  52. package/dist/types/dashboard/index.js +12 -0
  53. package/dist/types/enums.d.ts +57 -0
  54. package/dist/types/enums.d.ts.map +1 -0
  55. package/dist/types/enums.js +72 -0
  56. package/dist/types/index.d.ts +38 -0
  57. package/dist/types/index.d.ts.map +1 -0
  58. package/dist/types/index.js +87 -0
  59. package/dist/types/layouts.d.ts +51 -0
  60. package/dist/types/layouts.d.ts.map +1 -0
  61. package/dist/types/layouts.js +3 -0
  62. package/dist/types/message-types.d.ts +109 -0
  63. package/dist/types/message-types.d.ts.map +1 -0
  64. package/dist/types/message-types.js +189 -0
  65. package/dist/types/messages/base.d.ts +12 -0
  66. package/dist/types/messages/base.d.ts.map +1 -0
  67. package/dist/types/messages/base.js +3 -0
  68. package/dist/types/messages/cloud-to-glasses.d.ts +126 -0
  69. package/dist/types/messages/cloud-to-glasses.d.ts.map +1 -0
  70. package/dist/types/messages/cloud-to-glasses.js +60 -0
  71. package/dist/types/messages/cloud-to-tpa.d.ts +228 -0
  72. package/dist/types/messages/cloud-to-tpa.d.ts.map +1 -0
  73. package/dist/types/messages/cloud-to-tpa.js +61 -0
  74. package/dist/types/messages/glasses-to-cloud.d.ts +219 -0
  75. package/dist/types/messages/glasses-to-cloud.d.ts.map +1 -0
  76. package/dist/types/messages/glasses-to-cloud.js +88 -0
  77. package/dist/types/messages/tpa-to-cloud.d.ts +146 -0
  78. package/dist/types/messages/tpa-to-cloud.d.ts.map +1 -0
  79. package/dist/types/messages/tpa-to-cloud.js +67 -0
  80. package/dist/types/models.d.ts +165 -0
  81. package/dist/types/models.d.ts.map +1 -0
  82. package/dist/types/models.js +84 -0
  83. package/dist/types/rtmp-stream.d.ts +68 -0
  84. package/dist/types/rtmp-stream.d.ts.map +1 -0
  85. package/dist/types/rtmp-stream.js +3 -0
  86. package/dist/types/streams.d.ts +138 -0
  87. package/dist/types/streams.d.ts.map +1 -0
  88. package/dist/types/streams.js +251 -0
  89. package/dist/types/token.d.ts +41 -0
  90. package/dist/types/token.d.ts.map +1 -0
  91. package/dist/types/token.js +7 -0
  92. package/dist/types/user-session.d.ts +73 -0
  93. package/dist/types/user-session.d.ts.map +1 -0
  94. package/dist/types/user-session.js +17 -0
  95. package/dist/types/webhooks.d.ts +107 -0
  96. package/dist/types/webhooks.d.ts.map +1 -0
  97. package/dist/types/webhooks.js +55 -0
  98. package/dist/utils/resource-tracker.d.ts +94 -0
  99. package/dist/utils/resource-tracker.d.ts.map +1 -0
  100. package/dist/utils/resource-tracker.js +153 -0
  101. package/package.json +50 -0
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ // src/index.ts
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.validateTpaConfig = exports.isPhotoRequestFromTpa = exports.isRtmpStreamStopRequest = exports.isRtmpStreamRequest = exports.isDisplayRequest = exports.isTpaSubscriptionUpdate = exports.isTpaConnectionInit = exports.isKeepRtmpStreamAlive = exports.isStopRtmpStream = exports.isStartRtmpStream = exports.isSettingsUpdateToGlasses = exports.isPhotoRequest = exports.isAppStateChange = exports.isDisplayEvent = exports.isConnectionAck = exports.isKeepAliveAck = exports.isRtmpStreamStatusFromGlasses = exports.isPhotoResponseFromGlasses = exports.isStopApp = exports.isStartApp = exports.isConnectionInit = exports.isHeadPosition = exports.isButtonPress = exports.isRtmpStreamStatusFromCloud = exports.isPhotoResponseFromCloud = exports.isDashboardAlwaysOnChanged = exports.isDashboardModeChanged = exports.isAudioChunk = exports.isDataStream = exports.isSettingsUpdate = exports.isAppStopped = exports.isTpaConnectionError = exports.isTpaConnectionAck = void 0;
19
+ __exportStar(require("./token"), exports);
20
+ // Message type enums
21
+ __exportStar(require("./message-types"), exports);
22
+ // Base message type
23
+ __exportStar(require("./messages/base"), exports);
24
+ // Messages by direction - export everything except the conflicting type guards
25
+ __exportStar(require("./messages/glasses-to-cloud"), exports);
26
+ __exportStar(require("./messages/cloud-to-glasses"), exports);
27
+ __exportStar(require("./messages/tpa-to-cloud"), exports);
28
+ // Export cloud-to-tpa but exclude the conflicting type guards
29
+ var cloud_to_tpa_1 = require("./messages/cloud-to-tpa");
30
+ // Type guards (excluding isPhotoResponse and isRtmpStreamStatus which conflict)
31
+ Object.defineProperty(exports, "isTpaConnectionAck", { enumerable: true, get: function () { return cloud_to_tpa_1.isTpaConnectionAck; } });
32
+ Object.defineProperty(exports, "isTpaConnectionError", { enumerable: true, get: function () { return cloud_to_tpa_1.isTpaConnectionError; } });
33
+ Object.defineProperty(exports, "isAppStopped", { enumerable: true, get: function () { return cloud_to_tpa_1.isAppStopped; } });
34
+ Object.defineProperty(exports, "isSettingsUpdate", { enumerable: true, get: function () { return cloud_to_tpa_1.isSettingsUpdate; } });
35
+ Object.defineProperty(exports, "isDataStream", { enumerable: true, get: function () { return cloud_to_tpa_1.isDataStream; } });
36
+ Object.defineProperty(exports, "isAudioChunk", { enumerable: true, get: function () { return cloud_to_tpa_1.isAudioChunk; } });
37
+ Object.defineProperty(exports, "isDashboardModeChanged", { enumerable: true, get: function () { return cloud_to_tpa_1.isDashboardModeChanged; } });
38
+ Object.defineProperty(exports, "isDashboardAlwaysOnChanged", { enumerable: true, get: function () { return cloud_to_tpa_1.isDashboardAlwaysOnChanged; } });
39
+ // Re-export the cloud-to-tpa versions of these type guards since they're the ones
40
+ // that should be used when dealing with CloudToTpaMessage types
41
+ Object.defineProperty(exports, "isPhotoResponseFromCloud", { enumerable: true, get: function () { return cloud_to_tpa_1.isPhotoResponse; } });
42
+ Object.defineProperty(exports, "isRtmpStreamStatusFromCloud", { enumerable: true, get: function () { return cloud_to_tpa_1.isRtmpStreamStatus; } });
43
+ // Stream types
44
+ __exportStar(require("./streams"), exports);
45
+ // Layout types
46
+ __exportStar(require("./layouts"), exports);
47
+ // Dashboard types
48
+ __exportStar(require("./dashboard"), exports);
49
+ // RTMP streaming types
50
+ __exportStar(require("./rtmp-stream"), exports);
51
+ // Other system enums
52
+ __exportStar(require("./enums"), exports);
53
+ // Core model interfaces
54
+ __exportStar(require("./models"), exports);
55
+ // Session-related interfaces
56
+ __exportStar(require("./user-session"), exports);
57
+ // Webhook interfaces
58
+ __exportStar(require("./webhooks"), exports);
59
+ // Type guards - re-export the most commonly used ones for convenience
60
+ var glasses_to_cloud_1 = require("./messages/glasses-to-cloud");
61
+ Object.defineProperty(exports, "isButtonPress", { enumerable: true, get: function () { return glasses_to_cloud_1.isButtonPress; } });
62
+ Object.defineProperty(exports, "isHeadPosition", { enumerable: true, get: function () { return glasses_to_cloud_1.isHeadPosition; } });
63
+ Object.defineProperty(exports, "isConnectionInit", { enumerable: true, get: function () { return glasses_to_cloud_1.isConnectionInit; } });
64
+ Object.defineProperty(exports, "isStartApp", { enumerable: true, get: function () { return glasses_to_cloud_1.isStartApp; } });
65
+ Object.defineProperty(exports, "isStopApp", { enumerable: true, get: function () { return glasses_to_cloud_1.isStopApp; } });
66
+ Object.defineProperty(exports, "isPhotoResponseFromGlasses", { enumerable: true, get: function () { return glasses_to_cloud_1.isPhotoResponse; } });
67
+ Object.defineProperty(exports, "isRtmpStreamStatusFromGlasses", { enumerable: true, get: function () { return glasses_to_cloud_1.isRtmpStreamStatus; } });
68
+ Object.defineProperty(exports, "isKeepAliveAck", { enumerable: true, get: function () { return glasses_to_cloud_1.isKeepAliveAck; } });
69
+ var cloud_to_glasses_1 = require("./messages/cloud-to-glasses");
70
+ Object.defineProperty(exports, "isConnectionAck", { enumerable: true, get: function () { return cloud_to_glasses_1.isConnectionAck; } });
71
+ Object.defineProperty(exports, "isDisplayEvent", { enumerable: true, get: function () { return cloud_to_glasses_1.isDisplayEvent; } });
72
+ Object.defineProperty(exports, "isAppStateChange", { enumerable: true, get: function () { return cloud_to_glasses_1.isAppStateChange; } });
73
+ Object.defineProperty(exports, "isPhotoRequest", { enumerable: true, get: function () { return cloud_to_glasses_1.isPhotoRequest; } });
74
+ Object.defineProperty(exports, "isSettingsUpdateToGlasses", { enumerable: true, get: function () { return cloud_to_glasses_1.isSettingsUpdate; } });
75
+ Object.defineProperty(exports, "isStartRtmpStream", { enumerable: true, get: function () { return cloud_to_glasses_1.isStartRtmpStream; } });
76
+ Object.defineProperty(exports, "isStopRtmpStream", { enumerable: true, get: function () { return cloud_to_glasses_1.isStopRtmpStream; } });
77
+ Object.defineProperty(exports, "isKeepRtmpStreamAlive", { enumerable: true, get: function () { return cloud_to_glasses_1.isKeepRtmpStreamAlive; } });
78
+ var tpa_to_cloud_1 = require("./messages/tpa-to-cloud");
79
+ Object.defineProperty(exports, "isTpaConnectionInit", { enumerable: true, get: function () { return tpa_to_cloud_1.isTpaConnectionInit; } });
80
+ Object.defineProperty(exports, "isTpaSubscriptionUpdate", { enumerable: true, get: function () { return tpa_to_cloud_1.isTpaSubscriptionUpdate; } });
81
+ Object.defineProperty(exports, "isDisplayRequest", { enumerable: true, get: function () { return tpa_to_cloud_1.isDisplayRequest; } });
82
+ Object.defineProperty(exports, "isRtmpStreamRequest", { enumerable: true, get: function () { return tpa_to_cloud_1.isRtmpStreamRequest; } });
83
+ Object.defineProperty(exports, "isRtmpStreamStopRequest", { enumerable: true, get: function () { return tpa_to_cloud_1.isRtmpStreamStopRequest; } });
84
+ Object.defineProperty(exports, "isPhotoRequestFromTpa", { enumerable: true, get: function () { return tpa_to_cloud_1.isPhotoRequest; } });
85
+ // Export setting-related types
86
+ var models_1 = require("./models");
87
+ Object.defineProperty(exports, "validateTpaConfig", { enumerable: true, get: function () { return models_1.validateTpaConfig; } });
@@ -0,0 +1,51 @@
1
+ import { LayoutType, ViewType } from './enums';
2
+ import { TpaToCloudMessageType } from './message-types';
3
+ import { BaseMessage } from './messages/base';
4
+ /**
5
+ * Text wall layout
6
+ */
7
+ export interface TextWall {
8
+ layoutType: LayoutType.TEXT_WALL;
9
+ text: string;
10
+ }
11
+ /**
12
+ * Double text wall layout
13
+ */
14
+ export interface DoubleTextWall {
15
+ layoutType: LayoutType.DOUBLE_TEXT_WALL;
16
+ topText: string;
17
+ bottomText: string;
18
+ }
19
+ /**
20
+ * Dashboard card layout
21
+ */
22
+ export interface DashboardCard {
23
+ layoutType: LayoutType.DASHBOARD_CARD;
24
+ leftText: string;
25
+ rightText: string;
26
+ }
27
+ /**
28
+ * Reference card layout
29
+ */
30
+ export interface ReferenceCard {
31
+ layoutType: LayoutType.REFERENCE_CARD;
32
+ title: string;
33
+ text: string;
34
+ }
35
+ export interface BitmapView {
36
+ layoutType: LayoutType.BITMAP_VIEW;
37
+ data: string;
38
+ }
39
+ /**
40
+ * Union type for all layouts
41
+ */
42
+ export type Layout = TextWall | DoubleTextWall | DashboardCard | ReferenceCard | BitmapView;
43
+ export interface DisplayRequest extends BaseMessage {
44
+ type: TpaToCloudMessageType.DISPLAY_REQUEST;
45
+ packageName: string;
46
+ view: ViewType;
47
+ layout: Layout;
48
+ durationMs?: number;
49
+ forceDisplay?: boolean;
50
+ }
51
+ //# sourceMappingURL=layouts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layouts.d.ts","sourceRoot":"","sources":["../../src/types/layouts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,QAAQ;IACrB,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,UAAU,CAAC,gBAAgB,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,UAAU,EAAE,UAAU,CAAC,cAAc,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,UAAU,EAAE,UAAU,CAAC,cAAc,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACvB,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,cAAc,GAAG,aAAa,GAAG,aAAa,GAAG,UAAU,CAAC;AAE5F,MAAM,WAAW,cAAe,SAAQ,WAAW;IAC/C,IAAI,EAAE,qBAAqB,CAAC,eAAe,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // src/layout.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Types of messages from glasses to cloud
3
+ */
4
+ export declare enum GlassesToCloudMessageType {
5
+ CONNECTION_INIT = "connection_init",
6
+ REQUEST_SETTINGS = "request_settings",
7
+ START_APP = "start_app",
8
+ STOP_APP = "stop_app",
9
+ DASHBOARD_STATE = "dashboard_state",
10
+ OPEN_DASHBOARD = "open_dashboard",
11
+ PHOTO_RESPONSE = "photo_response",
12
+ RTMP_STREAM_STATUS = "rtmp_stream_status",
13
+ KEEP_ALIVE_ACK = "keep_alive_ack",
14
+ BUTTON_PRESS = "button_press",
15
+ HEAD_POSITION = "head_position",
16
+ GLASSES_BATTERY_UPDATE = "glasses_battery_update",
17
+ PHONE_BATTERY_UPDATE = "phone_battery_update",
18
+ GLASSES_CONNECTION_STATE = "glasses_connection_state",
19
+ LOCATION_UPDATE = "location_update",
20
+ VPS_COORDINATES = "vps_coordinates",
21
+ VAD = "VAD",
22
+ PHONE_NOTIFICATION = "phone_notification",
23
+ NOTIFICATION_DISMISSED = "notification_dismissed",
24
+ CALENDAR_EVENT = "calendar_event",
25
+ AUGMENTOS_SETTINGS_UPDATE_REQUEST = "settings_update_request",
26
+ CORE_STATUS_UPDATE = "core_status_update",
27
+ PHOTO_TAKEN = "photo_taken"
28
+ }
29
+ /**
30
+ * Types of messages from cloud to glasses
31
+ */
32
+ export declare enum CloudToGlassesMessageType {
33
+ CONNECTION_ACK = "connection_ack",
34
+ CONNECTION_ERROR = "connection_error",
35
+ AUTH_ERROR = "auth_error",
36
+ DISPLAY_EVENT = "display_event",
37
+ APP_STATE_CHANGE = "app_state_change",
38
+ MICROPHONE_STATE_CHANGE = "microphone_state_change",
39
+ PHOTO_REQUEST = "photo_request",
40
+ SETTINGS_UPDATE = "settings_update",
41
+ START_RTMP_STREAM = "start_rtmp_stream",
42
+ STOP_RTMP_STREAM = "stop_rtmp_stream",
43
+ KEEP_RTMP_STREAM_ALIVE = "keep_rtmp_stream_alive",
44
+ DASHBOARD_MODE_CHANGE = "dashboard_mode_change",
45
+ DASHBOARD_ALWAYS_ON_CHANGE = "dashboard_always_on_change",
46
+ WEBSOCKET_ERROR = "websocket_error"
47
+ }
48
+ /**
49
+ * Types of messages from TPAs to cloud
50
+ */
51
+ export declare enum TpaToCloudMessageType {
52
+ CONNECTION_INIT = "tpa_connection_init",
53
+ SUBSCRIPTION_UPDATE = "subscription_update",
54
+ DISPLAY_REQUEST = "display_event",
55
+ PHOTO_REQUEST = "photo_request",
56
+ RTMP_STREAM_REQUEST = "rtmp_stream_request",
57
+ RTMP_STREAM_STOP = "rtmp_stream_stop",
58
+ DASHBOARD_CONTENT_UPDATE = "dashboard_content_update",
59
+ DASHBOARD_MODE_CHANGE = "dashboard_mode_change",
60
+ DASHBOARD_SYSTEM_UPDATE = "dashboard_system_update",
61
+ TPA_BROADCAST_MESSAGE = "tpa_broadcast_message",
62
+ TPA_DIRECT_MESSAGE = "tpa_direct_message",
63
+ TPA_USER_DISCOVERY = "tpa_user_discovery",
64
+ TPA_ROOM_JOIN = "tpa_room_join",
65
+ TPA_ROOM_LEAVE = "tpa_room_leave"
66
+ }
67
+ /**
68
+ * Types of messages from cloud to TPAs
69
+ */
70
+ export declare enum CloudToTpaMessageType {
71
+ CONNECTION_ACK = "tpa_connection_ack",
72
+ CONNECTION_ERROR = "tpa_connection_error",
73
+ APP_STOPPED = "app_stopped",
74
+ SETTINGS_UPDATE = "settings_update",
75
+ DASHBOARD_MODE_CHANGED = "dashboard_mode_changed",
76
+ DASHBOARD_ALWAYS_ON_CHANGED = "dashboard_always_on_changed",
77
+ DATA_STREAM = "data_stream",
78
+ PHOTO_RESPONSE = "photo_response",
79
+ RTMP_STREAM_STATUS = "rtmp_stream_status",
80
+ WEBSOCKET_ERROR = "websocket_error",
81
+ PERMISSION_ERROR = "permission_error",
82
+ CUSTOM_MESSAGE = "custom_message",
83
+ TPA_MESSAGE_RECEIVED = "tpa_message_received",
84
+ TPA_USER_JOINED = "tpa_user_joined",
85
+ TPA_USER_LEFT = "tpa_user_left",
86
+ TPA_ROOM_UPDATED = "tpa_room_updated",
87
+ TPA_DIRECT_MESSAGE_RESPONSE = "tpa_direct_message_response"
88
+ }
89
+ /**
90
+ * Control action message types (subset of GlassesToCloudMessageType)
91
+ */
92
+ export declare const ControlActionTypes: readonly [GlassesToCloudMessageType.CONNECTION_INIT, GlassesToCloudMessageType.START_APP, GlassesToCloudMessageType.STOP_APP, GlassesToCloudMessageType.DASHBOARD_STATE, GlassesToCloudMessageType.OPEN_DASHBOARD];
93
+ /**
94
+ * Event message types (subset of GlassesToCloudMessageType)
95
+ */
96
+ export declare const EventTypes: readonly [GlassesToCloudMessageType.BUTTON_PRESS, GlassesToCloudMessageType.HEAD_POSITION, GlassesToCloudMessageType.GLASSES_BATTERY_UPDATE, GlassesToCloudMessageType.PHONE_BATTERY_UPDATE, GlassesToCloudMessageType.GLASSES_CONNECTION_STATE, GlassesToCloudMessageType.LOCATION_UPDATE, GlassesToCloudMessageType.VPS_COORDINATES, GlassesToCloudMessageType.VAD, GlassesToCloudMessageType.PHONE_NOTIFICATION, GlassesToCloudMessageType.NOTIFICATION_DISMISSED, GlassesToCloudMessageType.CALENDAR_EVENT, GlassesToCloudMessageType.AUGMENTOS_SETTINGS_UPDATE_REQUEST, GlassesToCloudMessageType.CORE_STATUS_UPDATE];
97
+ /**
98
+ * Response message types (subset of CloudToGlassesMessageType)
99
+ */
100
+ export declare const ResponseTypes: readonly [CloudToGlassesMessageType.CONNECTION_ACK, CloudToGlassesMessageType.CONNECTION_ERROR, CloudToGlassesMessageType.AUTH_ERROR];
101
+ /**
102
+ * Update message types (subset of CloudToGlassesMessageType)
103
+ */
104
+ export declare const UpdateTypes: readonly [CloudToGlassesMessageType.DISPLAY_EVENT, CloudToGlassesMessageType.APP_STATE_CHANGE, CloudToGlassesMessageType.MICROPHONE_STATE_CHANGE, CloudToGlassesMessageType.PHOTO_REQUEST, CloudToGlassesMessageType.SETTINGS_UPDATE, CloudToGlassesMessageType.DASHBOARD_MODE_CHANGE, CloudToGlassesMessageType.DASHBOARD_ALWAYS_ON_CHANGE, CloudToGlassesMessageType.START_RTMP_STREAM, CloudToGlassesMessageType.STOP_RTMP_STREAM, CloudToGlassesMessageType.KEEP_RTMP_STREAM_ALIVE];
105
+ /**
106
+ * Dashboard message types
107
+ */
108
+ export declare const DashboardMessageTypes: readonly [TpaToCloudMessageType.DASHBOARD_CONTENT_UPDATE, TpaToCloudMessageType.DASHBOARD_MODE_CHANGE, TpaToCloudMessageType.DASHBOARD_SYSTEM_UPDATE, CloudToTpaMessageType.DASHBOARD_MODE_CHANGED, CloudToTpaMessageType.DASHBOARD_ALWAYS_ON_CHANGED];
109
+ //# sourceMappingURL=message-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-types.d.ts","sourceRoot":"","sources":["../../src/types/message-types.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,oBAAY,yBAAyB;IAEnC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IAIrC,SAAS,cAAuB;IAChC,QAAQ,aAAsB;IAE9B,eAAe,oBAAoB;IACnC,cAAc,mBAA4B;IAG1C,cAAc,mBAA4B;IAG1C,kBAAkB,uBAAgC;IAClD,cAAc,mBAAmB;IAajC,YAAY,iBAA0B;IACtC,aAAa,kBAA2B;IACxC,sBAAsB,2BAAoC;IAC1D,oBAAoB,yBAAkC;IACtD,wBAAwB,6BAAsC;IAC9D,eAAe,oBAA6B;IAC5C,eAAe,oBAA6B;IAC5C,GAAG,QAAiB;IACpB,kBAAkB,uBAAgC;IAClD,sBAAsB,2BAAoC;IAC1D,cAAc,mBAA4B;IAC1C,iCAAiC,4BAA+C;IAChF,kBAAkB,uBAAgC;IAClD,WAAW,gBAAyB;CACrC;AAED;;GAEG;AACH,oBAAY,yBAAyB;IAEnC,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IAGzB,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IACrC,uBAAuB,4BAA4B;IACnD,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IAGnC,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,sBAAsB,2BAA2B;IAGjD,qBAAqB,0BAA0B;IAC/C,0BAA0B,+BAA+B;IAEzD,eAAe,oBAAoB;CACpC;AAED;;GAEG;AACH,oBAAY,qBAAqB;IAE/B,eAAe,wBAAwB;IACvC,mBAAmB,wBAAwB;IAG3C,eAAe,kBAAkB;IACjC,aAAa,kBAAkB;IAG/B,mBAAmB,wBAAwB;IAC3C,gBAAgB,qBAAqB;IAGrC,wBAAwB,6BAA6B;IACrD,qBAAqB,0BAA0B;IAC/C,uBAAuB,4BAA4B;IAGnD,qBAAqB,0BAA0B;IAC/C,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;CAClC;AAED;;GAEG;AACH,oBAAY,qBAAqB;IAE/B,cAAc,uBAAuB;IACrC,gBAAgB,yBAAyB;IAGzC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IAGnC,sBAAsB,2BAA2B;IACjD,2BAA2B,gCAAgC;IAG3D,WAAW,gBAAgB;IAG3B,cAAc,mBAAmB;IACjC,kBAAkB,uBAAuB;IAEzC,eAAe,oBAAoB;IAGnC,gBAAgB,qBAAqB;IAGrC,cAAc,mBAAmB;IAGjC,oBAAoB,yBAAyB;IAC7C,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IACrC,2BAA2B,gCAAgC;CAC5D;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,oNAMrB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,UAAU,4lBAcb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa,uIAIhB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,WAAW,ydAWd,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,qBAAqB,wPAMxB,CAAC"}
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ // src/message-types.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.DashboardMessageTypes = exports.UpdateTypes = exports.ResponseTypes = exports.EventTypes = exports.ControlActionTypes = exports.CloudToTpaMessageType = exports.TpaToCloudMessageType = exports.CloudToGlassesMessageType = exports.GlassesToCloudMessageType = void 0;
5
+ /**
6
+ * Types of messages from glasses to cloud
7
+ */
8
+ var GlassesToCloudMessageType;
9
+ (function (GlassesToCloudMessageType) {
10
+ // Control actions
11
+ GlassesToCloudMessageType["CONNECTION_INIT"] = "connection_init";
12
+ GlassesToCloudMessageType["REQUEST_SETTINGS"] = "request_settings";
13
+ // START_APP = 'start_app',
14
+ // STOP_APP = 'stop_app',
15
+ GlassesToCloudMessageType["START_APP"] = "start_app";
16
+ GlassesToCloudMessageType["STOP_APP"] = "stop_app";
17
+ GlassesToCloudMessageType["DASHBOARD_STATE"] = "dashboard_state";
18
+ GlassesToCloudMessageType["OPEN_DASHBOARD"] = "open_dashboard";
19
+ // Mentra Live
20
+ GlassesToCloudMessageType["PHOTO_RESPONSE"] = "photo_response";
21
+ // RTMP streaming
22
+ GlassesToCloudMessageType["RTMP_STREAM_STATUS"] = "rtmp_stream_status";
23
+ GlassesToCloudMessageType["KEEP_ALIVE_ACK"] = "keep_alive_ack";
24
+ // OPEN_DASHBOARD = 'open_dashboard',
25
+ // Events and data
26
+ // BUTTON_PRESS = 'button_press',
27
+ // HEAD_POSITION = 'head_position',
28
+ // GLASSES_BATTERY_UPDATE = 'glasses_battery_update',
29
+ // PHONE_BATTERY_UPDATE = 'phone_battery_update',
30
+ // GLASSES_CONNECTION_STATE = 'glasses_connection_state',
31
+ // LOCATION_UPDATE = 'location_update',
32
+ // PHONE_NOTIFICATION = 'phone_notification',
33
+ // NOTIFICATION_DISMISSED = 'notification_dismissed'
34
+ GlassesToCloudMessageType["BUTTON_PRESS"] = "button_press";
35
+ GlassesToCloudMessageType["HEAD_POSITION"] = "head_position";
36
+ GlassesToCloudMessageType["GLASSES_BATTERY_UPDATE"] = "glasses_battery_update";
37
+ GlassesToCloudMessageType["PHONE_BATTERY_UPDATE"] = "phone_battery_update";
38
+ GlassesToCloudMessageType["GLASSES_CONNECTION_STATE"] = "glasses_connection_state";
39
+ GlassesToCloudMessageType["LOCATION_UPDATE"] = "location_update";
40
+ GlassesToCloudMessageType["VPS_COORDINATES"] = "vps_coordinates";
41
+ GlassesToCloudMessageType["VAD"] = "VAD";
42
+ GlassesToCloudMessageType["PHONE_NOTIFICATION"] = "phone_notification";
43
+ GlassesToCloudMessageType["NOTIFICATION_DISMISSED"] = "notification_dismissed";
44
+ GlassesToCloudMessageType["CALENDAR_EVENT"] = "calendar_event";
45
+ GlassesToCloudMessageType["AUGMENTOS_SETTINGS_UPDATE_REQUEST"] = "settings_update_request";
46
+ GlassesToCloudMessageType["CORE_STATUS_UPDATE"] = "core_status_update";
47
+ GlassesToCloudMessageType["PHOTO_TAKEN"] = "photo_taken";
48
+ })(GlassesToCloudMessageType || (exports.GlassesToCloudMessageType = GlassesToCloudMessageType = {}));
49
+ /**
50
+ * Types of messages from cloud to glasses
51
+ */
52
+ var CloudToGlassesMessageType;
53
+ (function (CloudToGlassesMessageType) {
54
+ // Responses
55
+ CloudToGlassesMessageType["CONNECTION_ACK"] = "connection_ack";
56
+ CloudToGlassesMessageType["CONNECTION_ERROR"] = "connection_error";
57
+ CloudToGlassesMessageType["AUTH_ERROR"] = "auth_error";
58
+ // Updates
59
+ CloudToGlassesMessageType["DISPLAY_EVENT"] = "display_event";
60
+ CloudToGlassesMessageType["APP_STATE_CHANGE"] = "app_state_change";
61
+ CloudToGlassesMessageType["MICROPHONE_STATE_CHANGE"] = "microphone_state_change";
62
+ CloudToGlassesMessageType["PHOTO_REQUEST"] = "photo_request";
63
+ CloudToGlassesMessageType["SETTINGS_UPDATE"] = "settings_update";
64
+ // RTMP streaming
65
+ CloudToGlassesMessageType["START_RTMP_STREAM"] = "start_rtmp_stream";
66
+ CloudToGlassesMessageType["STOP_RTMP_STREAM"] = "stop_rtmp_stream";
67
+ CloudToGlassesMessageType["KEEP_RTMP_STREAM_ALIVE"] = "keep_rtmp_stream_alive";
68
+ // Dashboard updates
69
+ CloudToGlassesMessageType["DASHBOARD_MODE_CHANGE"] = "dashboard_mode_change";
70
+ CloudToGlassesMessageType["DASHBOARD_ALWAYS_ON_CHANGE"] = "dashboard_always_on_change";
71
+ CloudToGlassesMessageType["WEBSOCKET_ERROR"] = "websocket_error";
72
+ })(CloudToGlassesMessageType || (exports.CloudToGlassesMessageType = CloudToGlassesMessageType = {}));
73
+ /**
74
+ * Types of messages from TPAs to cloud
75
+ */
76
+ var TpaToCloudMessageType;
77
+ (function (TpaToCloudMessageType) {
78
+ // Commands
79
+ TpaToCloudMessageType["CONNECTION_INIT"] = "tpa_connection_init";
80
+ TpaToCloudMessageType["SUBSCRIPTION_UPDATE"] = "subscription_update";
81
+ // Requests
82
+ TpaToCloudMessageType["DISPLAY_REQUEST"] = "display_event";
83
+ TpaToCloudMessageType["PHOTO_REQUEST"] = "photo_request";
84
+ // RTMP streaming
85
+ TpaToCloudMessageType["RTMP_STREAM_REQUEST"] = "rtmp_stream_request";
86
+ TpaToCloudMessageType["RTMP_STREAM_STOP"] = "rtmp_stream_stop";
87
+ // Dashboard requests
88
+ TpaToCloudMessageType["DASHBOARD_CONTENT_UPDATE"] = "dashboard_content_update";
89
+ TpaToCloudMessageType["DASHBOARD_MODE_CHANGE"] = "dashboard_mode_change";
90
+ TpaToCloudMessageType["DASHBOARD_SYSTEM_UPDATE"] = "dashboard_system_update";
91
+ // TPA-to-TPA Communication
92
+ TpaToCloudMessageType["TPA_BROADCAST_MESSAGE"] = "tpa_broadcast_message";
93
+ TpaToCloudMessageType["TPA_DIRECT_MESSAGE"] = "tpa_direct_message";
94
+ TpaToCloudMessageType["TPA_USER_DISCOVERY"] = "tpa_user_discovery";
95
+ TpaToCloudMessageType["TPA_ROOM_JOIN"] = "tpa_room_join";
96
+ TpaToCloudMessageType["TPA_ROOM_LEAVE"] = "tpa_room_leave";
97
+ })(TpaToCloudMessageType || (exports.TpaToCloudMessageType = TpaToCloudMessageType = {}));
98
+ /**
99
+ * Types of messages from cloud to TPAs
100
+ */
101
+ var CloudToTpaMessageType;
102
+ (function (CloudToTpaMessageType) {
103
+ // Responses
104
+ CloudToTpaMessageType["CONNECTION_ACK"] = "tpa_connection_ack";
105
+ CloudToTpaMessageType["CONNECTION_ERROR"] = "tpa_connection_error";
106
+ // Updates
107
+ CloudToTpaMessageType["APP_STOPPED"] = "app_stopped";
108
+ CloudToTpaMessageType["SETTINGS_UPDATE"] = "settings_update";
109
+ // Dashboard updates
110
+ CloudToTpaMessageType["DASHBOARD_MODE_CHANGED"] = "dashboard_mode_changed";
111
+ CloudToTpaMessageType["DASHBOARD_ALWAYS_ON_CHANGED"] = "dashboard_always_on_changed";
112
+ // Stream data
113
+ CloudToTpaMessageType["DATA_STREAM"] = "data_stream";
114
+ // Media responses
115
+ CloudToTpaMessageType["PHOTO_RESPONSE"] = "photo_response";
116
+ CloudToTpaMessageType["RTMP_STREAM_STATUS"] = "rtmp_stream_status";
117
+ CloudToTpaMessageType["WEBSOCKET_ERROR"] = "websocket_error";
118
+ // Permissions
119
+ CloudToTpaMessageType["PERMISSION_ERROR"] = "permission_error";
120
+ // General purpose messaging
121
+ CloudToTpaMessageType["CUSTOM_MESSAGE"] = "custom_message";
122
+ // TPA-to-TPA Communication Responses
123
+ CloudToTpaMessageType["TPA_MESSAGE_RECEIVED"] = "tpa_message_received";
124
+ CloudToTpaMessageType["TPA_USER_JOINED"] = "tpa_user_joined";
125
+ CloudToTpaMessageType["TPA_USER_LEFT"] = "tpa_user_left";
126
+ CloudToTpaMessageType["TPA_ROOM_UPDATED"] = "tpa_room_updated";
127
+ CloudToTpaMessageType["TPA_DIRECT_MESSAGE_RESPONSE"] = "tpa_direct_message_response";
128
+ })(CloudToTpaMessageType || (exports.CloudToTpaMessageType = CloudToTpaMessageType = {}));
129
+ /**
130
+ * Control action message types (subset of GlassesToCloudMessageType)
131
+ */
132
+ exports.ControlActionTypes = [
133
+ GlassesToCloudMessageType.CONNECTION_INIT,
134
+ GlassesToCloudMessageType.START_APP,
135
+ GlassesToCloudMessageType.STOP_APP,
136
+ GlassesToCloudMessageType.DASHBOARD_STATE,
137
+ GlassesToCloudMessageType.OPEN_DASHBOARD
138
+ ];
139
+ /**
140
+ * Event message types (subset of GlassesToCloudMessageType)
141
+ */
142
+ exports.EventTypes = [
143
+ GlassesToCloudMessageType.BUTTON_PRESS,
144
+ GlassesToCloudMessageType.HEAD_POSITION,
145
+ GlassesToCloudMessageType.GLASSES_BATTERY_UPDATE,
146
+ GlassesToCloudMessageType.PHONE_BATTERY_UPDATE,
147
+ GlassesToCloudMessageType.GLASSES_CONNECTION_STATE,
148
+ GlassesToCloudMessageType.LOCATION_UPDATE,
149
+ GlassesToCloudMessageType.VPS_COORDINATES,
150
+ GlassesToCloudMessageType.VAD,
151
+ GlassesToCloudMessageType.PHONE_NOTIFICATION,
152
+ GlassesToCloudMessageType.NOTIFICATION_DISMISSED,
153
+ GlassesToCloudMessageType.CALENDAR_EVENT,
154
+ GlassesToCloudMessageType.AUGMENTOS_SETTINGS_UPDATE_REQUEST,
155
+ GlassesToCloudMessageType.CORE_STATUS_UPDATE
156
+ ];
157
+ /**
158
+ * Response message types (subset of CloudToGlassesMessageType)
159
+ */
160
+ exports.ResponseTypes = [
161
+ CloudToGlassesMessageType.CONNECTION_ACK,
162
+ CloudToGlassesMessageType.CONNECTION_ERROR,
163
+ CloudToGlassesMessageType.AUTH_ERROR
164
+ ];
165
+ /**
166
+ * Update message types (subset of CloudToGlassesMessageType)
167
+ */
168
+ exports.UpdateTypes = [
169
+ CloudToGlassesMessageType.DISPLAY_EVENT,
170
+ CloudToGlassesMessageType.APP_STATE_CHANGE,
171
+ CloudToGlassesMessageType.MICROPHONE_STATE_CHANGE,
172
+ CloudToGlassesMessageType.PHOTO_REQUEST,
173
+ CloudToGlassesMessageType.SETTINGS_UPDATE,
174
+ CloudToGlassesMessageType.DASHBOARD_MODE_CHANGE,
175
+ CloudToGlassesMessageType.DASHBOARD_ALWAYS_ON_CHANGE,
176
+ CloudToGlassesMessageType.START_RTMP_STREAM,
177
+ CloudToGlassesMessageType.STOP_RTMP_STREAM,
178
+ CloudToGlassesMessageType.KEEP_RTMP_STREAM_ALIVE
179
+ ];
180
+ /**
181
+ * Dashboard message types
182
+ */
183
+ exports.DashboardMessageTypes = [
184
+ TpaToCloudMessageType.DASHBOARD_CONTENT_UPDATE,
185
+ TpaToCloudMessageType.DASHBOARD_MODE_CHANGE,
186
+ TpaToCloudMessageType.DASHBOARD_SYSTEM_UPDATE,
187
+ CloudToTpaMessageType.DASHBOARD_MODE_CHANGED,
188
+ CloudToTpaMessageType.DASHBOARD_ALWAYS_ON_CHANGED
189
+ ];
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Base interface for all messages in the system
3
+ */
4
+ export interface BaseMessage {
5
+ /** Type of the message */
6
+ type: string;
7
+ /** When the message was created */
8
+ timestamp?: Date;
9
+ /** Session identifier for routing */
10
+ sessionId?: string;
11
+ }
12
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/messages/base.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IAEb,mCAAmC;IACnC,SAAS,CAAC,EAAE,IAAI,CAAC;IAEjB,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // src/messages/base.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,126 @@
1
+ import { BaseMessage } from './base';
2
+ import { CloudToGlassesMessageType } from '../message-types';
3
+ import { UserSession } from '../user-session';
4
+ import { Layout } from '../layouts';
5
+ /**
6
+ * Connection acknowledgment to glasses
7
+ */
8
+ export interface ConnectionAck extends BaseMessage {
9
+ type: CloudToGlassesMessageType.CONNECTION_ACK;
10
+ userSession: Partial<UserSession>;
11
+ sessionId: string;
12
+ }
13
+ /**
14
+ * Connection error to glasses
15
+ */
16
+ export interface ConnectionError extends BaseMessage {
17
+ type: CloudToGlassesMessageType.CONNECTION_ERROR;
18
+ code?: string;
19
+ message: string;
20
+ }
21
+ /**
22
+ * Authentication error to glasses
23
+ */
24
+ export interface AuthError extends BaseMessage {
25
+ type: CloudToGlassesMessageType.AUTH_ERROR;
26
+ message: string;
27
+ }
28
+ /**
29
+ * Display update to glasses
30
+ */
31
+ export interface DisplayEvent extends BaseMessage {
32
+ type: CloudToGlassesMessageType.DISPLAY_EVENT;
33
+ layout: Layout;
34
+ durationMs?: number;
35
+ }
36
+ /**
37
+ * App state change to glasses
38
+ */
39
+ export interface AppStateChange extends BaseMessage {
40
+ type: CloudToGlassesMessageType.APP_STATE_CHANGE;
41
+ userSession: Partial<UserSession>;
42
+ error?: string;
43
+ }
44
+ /**
45
+ * Microphone state change to glasses
46
+ */
47
+ export interface MicrophoneStateChange extends BaseMessage {
48
+ type: CloudToGlassesMessageType.MICROPHONE_STATE_CHANGE;
49
+ userSession: Partial<UserSession>;
50
+ isMicrophoneEnabled: boolean;
51
+ }
52
+ /**
53
+ * Photo request to glasses
54
+ */
55
+ export interface PhotoRequestToGlasses extends BaseMessage {
56
+ type: CloudToGlassesMessageType.PHOTO_REQUEST;
57
+ userSession: Partial<UserSession>;
58
+ requestId: string;
59
+ appId: string;
60
+ saveToGallery?: boolean;
61
+ }
62
+ /**
63
+ * Settings update to glasses
64
+ */
65
+ export interface SettingsUpdate extends BaseMessage {
66
+ type: CloudToGlassesMessageType.SETTINGS_UPDATE;
67
+ sessionId: string;
68
+ settings: {
69
+ useOnboardMic: boolean;
70
+ contextualDashboard: boolean;
71
+ metricSystemEnabled: boolean;
72
+ headUpAngle: number;
73
+ brightness: number;
74
+ autoBrightness: boolean;
75
+ sensingEnabled: boolean;
76
+ alwaysOnStatusBar: boolean;
77
+ bypassVad: boolean;
78
+ bypassAudioEncoding: boolean;
79
+ };
80
+ }
81
+ /**
82
+ * Start RTMP stream command to glasses
83
+ */
84
+ export interface StartRtmpStream extends BaseMessage {
85
+ type: CloudToGlassesMessageType.START_RTMP_STREAM;
86
+ rtmpUrl: string;
87
+ appId: string;
88
+ streamId?: string;
89
+ video?: any;
90
+ audio?: any;
91
+ stream?: any;
92
+ }
93
+ /**
94
+ * Stop RTMP stream command to glasses
95
+ */
96
+ export interface StopRtmpStream extends BaseMessage {
97
+ type: CloudToGlassesMessageType.STOP_RTMP_STREAM;
98
+ appId: string;
99
+ streamId?: string;
100
+ }
101
+ /**
102
+ * Keep RTMP stream alive command to glasses
103
+ */
104
+ export interface KeepRtmpStreamAlive extends BaseMessage {
105
+ type: CloudToGlassesMessageType.KEEP_RTMP_STREAM_ALIVE;
106
+ streamId: string;
107
+ ackId: string;
108
+ }
109
+ /**
110
+ * Union type for all messages from cloud to glasses
111
+ */
112
+ export type CloudToGlassesMessage = ConnectionAck | ConnectionError | AuthError | DisplayEvent | AppStateChange | MicrophoneStateChange | PhotoRequestToGlasses | SettingsUpdate | StartRtmpStream | StopRtmpStream | KeepRtmpStreamAlive;
113
+ export declare function isResponse(message: CloudToGlassesMessage): boolean;
114
+ export declare function isUpdate(message: CloudToGlassesMessage): boolean;
115
+ export declare function isConnectionAck(message: CloudToGlassesMessage): message is ConnectionAck;
116
+ export declare function isConnectionError(message: CloudToGlassesMessage): message is ConnectionError;
117
+ export declare function isAuthError(message: CloudToGlassesMessage): message is AuthError;
118
+ export declare function isDisplayEvent(message: CloudToGlassesMessage): message is DisplayEvent;
119
+ export declare function isAppStateChange(message: CloudToGlassesMessage): message is AppStateChange;
120
+ export declare function isMicrophoneStateChange(message: CloudToGlassesMessage): message is MicrophoneStateChange;
121
+ export declare function isPhotoRequest(message: CloudToGlassesMessage): message is PhotoRequestToGlasses;
122
+ export declare function isSettingsUpdate(message: CloudToGlassesMessage): message is SettingsUpdate;
123
+ export declare function isStartRtmpStream(message: CloudToGlassesMessage): message is StartRtmpStream;
124
+ export declare function isStopRtmpStream(message: CloudToGlassesMessage): message is StopRtmpStream;
125
+ export declare function isKeepRtmpStreamAlive(message: CloudToGlassesMessage): message is KeepRtmpStreamAlive;
126
+ //# sourceMappingURL=cloud-to-glasses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-to-glasses.d.ts","sourceRoot":"","sources":["../../../src/types/messages/cloud-to-glasses.ts"],"names":[],"mappings":"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"}