@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,60 @@
1
+ "use strict";
2
+ // src/messages/cloud-to-glasses.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.isResponse = isResponse;
5
+ exports.isUpdate = isUpdate;
6
+ exports.isConnectionAck = isConnectionAck;
7
+ exports.isConnectionError = isConnectionError;
8
+ exports.isAuthError = isAuthError;
9
+ exports.isDisplayEvent = isDisplayEvent;
10
+ exports.isAppStateChange = isAppStateChange;
11
+ exports.isMicrophoneStateChange = isMicrophoneStateChange;
12
+ exports.isPhotoRequest = isPhotoRequest;
13
+ exports.isSettingsUpdate = isSettingsUpdate;
14
+ exports.isStartRtmpStream = isStartRtmpStream;
15
+ exports.isStopRtmpStream = isStopRtmpStream;
16
+ exports.isKeepRtmpStreamAlive = isKeepRtmpStreamAlive;
17
+ const message_types_1 = require("../message-types");
18
+ //===========================================================
19
+ // Type guards
20
+ //===========================================================
21
+ function isResponse(message) {
22
+ return message_types_1.ResponseTypes.includes(message.type);
23
+ }
24
+ function isUpdate(message) {
25
+ return message_types_1.UpdateTypes.includes(message.type);
26
+ }
27
+ // Individual type guards
28
+ function isConnectionAck(message) {
29
+ return message.type === message_types_1.CloudToGlassesMessageType.CONNECTION_ACK;
30
+ }
31
+ function isConnectionError(message) {
32
+ return message.type === message_types_1.CloudToGlassesMessageType.CONNECTION_ERROR;
33
+ }
34
+ function isAuthError(message) {
35
+ return message.type === message_types_1.CloudToGlassesMessageType.AUTH_ERROR;
36
+ }
37
+ function isDisplayEvent(message) {
38
+ return message.type === message_types_1.CloudToGlassesMessageType.DISPLAY_EVENT;
39
+ }
40
+ function isAppStateChange(message) {
41
+ return message.type === message_types_1.CloudToGlassesMessageType.APP_STATE_CHANGE;
42
+ }
43
+ function isMicrophoneStateChange(message) {
44
+ return message.type === message_types_1.CloudToGlassesMessageType.MICROPHONE_STATE_CHANGE;
45
+ }
46
+ function isPhotoRequest(message) {
47
+ return message.type === message_types_1.CloudToGlassesMessageType.PHOTO_REQUEST;
48
+ }
49
+ function isSettingsUpdate(message) {
50
+ return message.type === message_types_1.CloudToGlassesMessageType.SETTINGS_UPDATE;
51
+ }
52
+ function isStartRtmpStream(message) {
53
+ return message.type === message_types_1.CloudToGlassesMessageType.START_RTMP_STREAM;
54
+ }
55
+ function isStopRtmpStream(message) {
56
+ return message.type === message_types_1.CloudToGlassesMessageType.STOP_RTMP_STREAM;
57
+ }
58
+ function isKeepRtmpStreamAlive(message) {
59
+ return message.type === message_types_1.CloudToGlassesMessageType.KEEP_RTMP_STREAM_ALIVE;
60
+ }
@@ -0,0 +1,228 @@
1
+ import { BaseMessage } from './base';
2
+ import { CloudToTpaMessageType } from '../message-types';
3
+ import { StreamType } from '../streams';
4
+ import { AppSettings, TpaConfig } from '../models';
5
+ import { LocationUpdate, CalendarEvent, RtmpStreamStatus, PhotoResponse } from './glasses-to-cloud';
6
+ import { DashboardMode } from '../dashboard';
7
+ /**
8
+ * Connection acknowledgment to TPA
9
+ */
10
+ export interface TpaConnectionAck extends BaseMessage {
11
+ type: CloudToTpaMessageType.CONNECTION_ACK;
12
+ settings?: AppSettings;
13
+ augmentosSettings?: Record<string, any>;
14
+ config?: TpaConfig;
15
+ }
16
+ /**
17
+ * Connection error to TPA
18
+ */
19
+ export interface TpaConnectionError extends BaseMessage {
20
+ type: CloudToTpaMessageType.CONNECTION_ERROR;
21
+ message: string;
22
+ code?: string;
23
+ }
24
+ /**
25
+ * Permission error detail for a specific stream
26
+ */
27
+ export interface PermissionErrorDetail {
28
+ /** The stream type that was rejected */
29
+ stream: string;
30
+ /** The permission required for this stream */
31
+ requiredPermission: string;
32
+ /** Detailed message explaining the rejection */
33
+ message: string;
34
+ }
35
+ /**
36
+ * Permission error notification to TPA
37
+ * Sent when subscriptions are rejected due to missing permissions
38
+ */
39
+ export interface PermissionError extends BaseMessage {
40
+ type: CloudToTpaMessageType.PERMISSION_ERROR;
41
+ /** General error message */
42
+ message: string;
43
+ /** Array of details for each rejected stream */
44
+ details: PermissionErrorDetail[];
45
+ }
46
+ /**
47
+ * App stopped notification to TPA
48
+ */
49
+ export interface AppStopped extends BaseMessage {
50
+ type: CloudToTpaMessageType.APP_STOPPED;
51
+ reason: "user_disabled" | "system_stop" | "error";
52
+ message?: string;
53
+ }
54
+ /**
55
+ * Settings update to TPA
56
+ */
57
+ export interface SettingsUpdate extends BaseMessage {
58
+ type: CloudToTpaMessageType.SETTINGS_UPDATE;
59
+ packageName: string;
60
+ settings: AppSettings;
61
+ }
62
+ /**
63
+ * AugmentOS settings update to TPA
64
+ */
65
+ export interface AugmentosSettingsUpdate extends BaseMessage {
66
+ type: 'augmentos_settings_update';
67
+ sessionId: string;
68
+ settings: Record<string, any>;
69
+ timestamp: Date;
70
+ }
71
+ /**
72
+ * Transcription data
73
+ */
74
+ export interface TranscriptionData extends BaseMessage {
75
+ type: StreamType.TRANSCRIPTION;
76
+ text: string;
77
+ isFinal: boolean;
78
+ transcribeLanguage?: string;
79
+ startTime: number;
80
+ endTime: number;
81
+ speakerId?: string;
82
+ duration?: number;
83
+ }
84
+ /**
85
+ * Translation data
86
+ */
87
+ export interface TranslationData extends BaseMessage {
88
+ type: StreamType.TRANSLATION;
89
+ text: string;
90
+ originalText?: string;
91
+ isFinal: boolean;
92
+ startTime: number;
93
+ endTime: number;
94
+ speakerId?: string;
95
+ duration?: number;
96
+ transcribeLanguage?: string;
97
+ translateLanguage?: string;
98
+ didTranslate?: boolean;
99
+ }
100
+ /**
101
+ * Audio chunk data
102
+ */
103
+ export interface AudioChunk extends BaseMessage {
104
+ type: StreamType.AUDIO_CHUNK;
105
+ arrayBuffer: ArrayBufferLike;
106
+ sampleRate?: number;
107
+ }
108
+ /**
109
+ * Tool call from cloud to TPA
110
+ * Represents a tool invocation with filled parameters
111
+ */
112
+ export interface ToolCall {
113
+ toolId: string;
114
+ toolParameters: Record<string, string | number | boolean>;
115
+ timestamp: Date;
116
+ userId: string;
117
+ }
118
+ /**
119
+ * Stream data to TPA
120
+ */
121
+ export interface DataStream extends BaseMessage {
122
+ type: CloudToTpaMessageType.DATA_STREAM;
123
+ streamType: StreamType;
124
+ data: unknown;
125
+ }
126
+ /**
127
+ * Dashboard mode changed notification
128
+ */
129
+ export interface DashboardModeChanged extends BaseMessage {
130
+ type: CloudToTpaMessageType.DASHBOARD_MODE_CHANGED;
131
+ mode: DashboardMode;
132
+ }
133
+ /**
134
+ * Dashboard always-on state changed notification
135
+ */
136
+ export interface DashboardAlwaysOnChanged extends BaseMessage {
137
+ type: CloudToTpaMessageType.DASHBOARD_ALWAYS_ON_CHANGED;
138
+ enabled: boolean;
139
+ }
140
+ /**
141
+ * Standard connection error (for server compatibility)
142
+ */
143
+ export interface StandardConnectionError extends BaseMessage {
144
+ type: 'connection_error';
145
+ message: string;
146
+ }
147
+ /**
148
+ * Custom message for general-purpose communication (cloud to TPA)
149
+ */
150
+ export interface CustomMessage extends BaseMessage {
151
+ type: CloudToTpaMessageType.CUSTOM_MESSAGE;
152
+ action: string;
153
+ payload: any;
154
+ }
155
+ /**
156
+ * Union type for all messages from cloud to TPAs
157
+ */
158
+ export type CloudToTpaMessage = TpaConnectionAck | TpaConnectionError | StandardConnectionError | DataStream | AppStopped | SettingsUpdate | TranscriptionData | TranslationData | AudioChunk | LocationUpdate | CalendarEvent | DataStream | PhotoResponse | DashboardModeChanged | DashboardAlwaysOnChanged | CustomMessage | AugmentosSettingsUpdate | TpaMessageReceived | TpaUserJoined | TpaUserLeft | TpaRoomUpdated | TpaDirectMessageResponse | RtmpStreamStatus | PhotoResponse | PermissionError;
159
+ export declare function isTpaConnectionAck(message: CloudToTpaMessage): message is TpaConnectionAck;
160
+ export declare function isTpaConnectionError(message: CloudToTpaMessage): message is TpaConnectionError;
161
+ export declare function isAppStopped(message: CloudToTpaMessage): message is AppStopped;
162
+ export declare function isSettingsUpdate(message: CloudToTpaMessage): message is SettingsUpdate;
163
+ export declare function isDataStream(message: CloudToTpaMessage): message is DataStream;
164
+ export declare function isAudioChunk(message: CloudToTpaMessage): message is AudioChunk;
165
+ export declare function isDashboardModeChanged(message: CloudToTpaMessage): message is DashboardModeChanged;
166
+ export declare function isDashboardAlwaysOnChanged(message: CloudToTpaMessage): message is DashboardAlwaysOnChanged;
167
+ export declare function isRtmpStreamStatus(message: CloudToTpaMessage): message is RtmpStreamStatus;
168
+ export declare function isPhotoResponse(message: CloudToTpaMessage): message is PhotoResponse;
169
+ export declare function isTpaMessageReceived(message: CloudToTpaMessage): message is TpaMessageReceived;
170
+ export declare function isTpaUserJoined(message: CloudToTpaMessage): message is TpaUserJoined;
171
+ export declare function isTpaUserLeft(message: CloudToTpaMessage): message is TpaUserLeft;
172
+ /**
173
+ * Message received from another TPA user
174
+ */
175
+ export interface TpaMessageReceived extends BaseMessage {
176
+ type: CloudToTpaMessageType.TPA_MESSAGE_RECEIVED;
177
+ payload: any;
178
+ messageId: string;
179
+ senderUserId: string;
180
+ senderSessionId: string;
181
+ roomId?: string;
182
+ }
183
+ /**
184
+ * Notification that a user joined the TPA
185
+ */
186
+ export interface TpaUserJoined extends BaseMessage {
187
+ type: CloudToTpaMessageType.TPA_USER_JOINED;
188
+ userId: string;
189
+ sessionId: string;
190
+ joinedAt: Date;
191
+ userProfile?: any;
192
+ roomId?: string;
193
+ }
194
+ /**
195
+ * Notification that a user left the TPA
196
+ */
197
+ export interface TpaUserLeft extends BaseMessage {
198
+ type: CloudToTpaMessageType.TPA_USER_LEFT;
199
+ userId: string;
200
+ sessionId: string;
201
+ leftAt: Date;
202
+ roomId?: string;
203
+ }
204
+ /**
205
+ * Room status update (members, config changes, etc.)
206
+ */
207
+ export interface TpaRoomUpdated extends BaseMessage {
208
+ type: CloudToTpaMessageType.TPA_ROOM_UPDATED;
209
+ roomId: string;
210
+ updateType: 'user_joined' | 'user_left' | 'config_changed' | 'room_closed';
211
+ roomData: {
212
+ memberCount: number;
213
+ maxUsers?: number;
214
+ isPrivate?: boolean;
215
+ metadata?: any;
216
+ };
217
+ }
218
+ /**
219
+ * Response to a direct message attempt
220
+ */
221
+ export interface TpaDirectMessageResponse extends BaseMessage {
222
+ type: CloudToTpaMessageType.TPA_DIRECT_MESSAGE_RESPONSE;
223
+ messageId: string;
224
+ success: boolean;
225
+ error?: string;
226
+ targetUserId: string;
227
+ }
228
+ //# sourceMappingURL=cloud-to-tpa.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-to-tpa.d.ts","sourceRoot":"","sources":["../../../src/types/messages/cloud-to-tpa.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ // src/messages/cloud-to-tpa.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.isTpaConnectionAck = isTpaConnectionAck;
5
+ exports.isTpaConnectionError = isTpaConnectionError;
6
+ exports.isAppStopped = isAppStopped;
7
+ exports.isSettingsUpdate = isSettingsUpdate;
8
+ exports.isDataStream = isDataStream;
9
+ exports.isAudioChunk = isAudioChunk;
10
+ exports.isDashboardModeChanged = isDashboardModeChanged;
11
+ exports.isDashboardAlwaysOnChanged = isDashboardAlwaysOnChanged;
12
+ exports.isRtmpStreamStatus = isRtmpStreamStatus;
13
+ exports.isPhotoResponse = isPhotoResponse;
14
+ exports.isTpaMessageReceived = isTpaMessageReceived;
15
+ exports.isTpaUserJoined = isTpaUserJoined;
16
+ exports.isTpaUserLeft = isTpaUserLeft;
17
+ const message_types_1 = require("../message-types");
18
+ const streams_1 = require("../streams");
19
+ //===========================================================
20
+ // Type guards
21
+ //===========================================================
22
+ function isTpaConnectionAck(message) {
23
+ return message.type === message_types_1.CloudToTpaMessageType.CONNECTION_ACK;
24
+ }
25
+ function isTpaConnectionError(message) {
26
+ return message.type === message_types_1.CloudToTpaMessageType.CONNECTION_ERROR || message.type === 'connection_error';
27
+ }
28
+ function isAppStopped(message) {
29
+ return message.type === message_types_1.CloudToTpaMessageType.APP_STOPPED;
30
+ }
31
+ function isSettingsUpdate(message) {
32
+ return message.type === message_types_1.CloudToTpaMessageType.SETTINGS_UPDATE;
33
+ }
34
+ function isDataStream(message) {
35
+ return message.type === message_types_1.CloudToTpaMessageType.DATA_STREAM;
36
+ }
37
+ function isAudioChunk(message) {
38
+ return message.type === streams_1.StreamType.AUDIO_CHUNK;
39
+ }
40
+ function isDashboardModeChanged(message) {
41
+ return message.type === message_types_1.CloudToTpaMessageType.DASHBOARD_MODE_CHANGED;
42
+ }
43
+ function isDashboardAlwaysOnChanged(message) {
44
+ return message.type === message_types_1.CloudToTpaMessageType.DASHBOARD_ALWAYS_ON_CHANGED;
45
+ }
46
+ function isRtmpStreamStatus(message) {
47
+ return message.type === message_types_1.GlassesToCloudMessageType.RTMP_STREAM_STATUS;
48
+ }
49
+ function isPhotoResponse(message) {
50
+ return message.type === message_types_1.GlassesToCloudMessageType.PHOTO_RESPONSE;
51
+ }
52
+ // New type guards for TPA-to-TPA communication
53
+ function isTpaMessageReceived(message) {
54
+ return message.type === message_types_1.CloudToTpaMessageType.TPA_MESSAGE_RECEIVED;
55
+ }
56
+ function isTpaUserJoined(message) {
57
+ return message.type === message_types_1.CloudToTpaMessageType.TPA_USER_JOINED;
58
+ }
59
+ function isTpaUserLeft(message) {
60
+ return message.type === message_types_1.CloudToTpaMessageType.TPA_USER_LEFT;
61
+ }
@@ -0,0 +1,219 @@
1
+ import { BaseMessage } from './base';
2
+ import { GlassesToCloudMessageType } from '../message-types';
3
+ import { StreamType } from '../streams';
4
+ /**
5
+ * Connection initialization from glasses
6
+ */
7
+ export interface ConnectionInit extends BaseMessage {
8
+ type: GlassesToCloudMessageType.CONNECTION_INIT;
9
+ userId?: string;
10
+ coreToken?: string;
11
+ }
12
+ export interface RequestSettings extends BaseMessage {
13
+ type: GlassesToCloudMessageType.REQUEST_SETTINGS;
14
+ sessionId: string;
15
+ }
16
+ /**
17
+ * Start app request from glasses
18
+ */
19
+ export interface StartApp extends BaseMessage {
20
+ type: GlassesToCloudMessageType.START_APP;
21
+ packageName: string;
22
+ }
23
+ /**
24
+ * Stop app request from glasses
25
+ */
26
+ export interface StopApp extends BaseMessage {
27
+ type: GlassesToCloudMessageType.STOP_APP;
28
+ packageName: string;
29
+ }
30
+ /**
31
+ * Dashboard state update from glasses
32
+ */
33
+ export interface DashboardState extends BaseMessage {
34
+ type: GlassesToCloudMessageType.DASHBOARD_STATE;
35
+ isOpen: boolean;
36
+ }
37
+ /**
38
+ * Open dashboard request from glasses
39
+ */
40
+ export interface OpenDashboard extends BaseMessage {
41
+ type: GlassesToCloudMessageType.OPEN_DASHBOARD;
42
+ }
43
+ /**
44
+ * Button press event from glasses
45
+ */
46
+ export interface ButtonPress extends BaseMessage {
47
+ type: GlassesToCloudMessageType.BUTTON_PRESS;
48
+ buttonId: string;
49
+ pressType: 'short' | 'long';
50
+ }
51
+ /**
52
+ * Head position event from glasses
53
+ */
54
+ export interface HeadPosition extends BaseMessage {
55
+ type: GlassesToCloudMessageType.HEAD_POSITION;
56
+ position: 'up' | 'down';
57
+ }
58
+ /**
59
+ * Glasses battery update from glasses
60
+ */
61
+ export interface GlassesBatteryUpdate extends BaseMessage {
62
+ type: GlassesToCloudMessageType.GLASSES_BATTERY_UPDATE;
63
+ level: number;
64
+ charging: boolean;
65
+ timeRemaining?: number;
66
+ }
67
+ /**
68
+ * Phone battery update from glasses
69
+ */
70
+ export interface PhoneBatteryUpdate extends BaseMessage {
71
+ type: GlassesToCloudMessageType.PHONE_BATTERY_UPDATE;
72
+ level: number;
73
+ charging: boolean;
74
+ timeRemaining?: number;
75
+ }
76
+ /**
77
+ * Glasses connection state from glasses
78
+ */
79
+ export interface GlassesConnectionState extends BaseMessage {
80
+ type: GlassesToCloudMessageType.GLASSES_CONNECTION_STATE;
81
+ modelName: string;
82
+ status: string;
83
+ }
84
+ /**
85
+ * Location update from glasses
86
+ */
87
+ export interface LocationUpdate extends BaseMessage {
88
+ type: GlassesToCloudMessageType.LOCATION_UPDATE | StreamType.LOCATION_UPDATE;
89
+ lat: number;
90
+ lng: number;
91
+ }
92
+ /**
93
+ * VPS coordinates update from glasses
94
+ */
95
+ export interface VpsCoordinates extends BaseMessage {
96
+ type: GlassesToCloudMessageType.VPS_COORDINATES | StreamType.VPS_COORDINATES;
97
+ deviceModel: string;
98
+ requestId: string;
99
+ x: number;
100
+ y: number;
101
+ z: number;
102
+ qx: number;
103
+ qy: number;
104
+ qz: number;
105
+ qw: number;
106
+ confidence: number;
107
+ }
108
+ export interface CalendarEvent extends BaseMessage {
109
+ type: GlassesToCloudMessageType.CALENDAR_EVENT | StreamType.CALENDAR_EVENT;
110
+ eventId: string;
111
+ title: string;
112
+ dtStart: string;
113
+ dtEnd: string;
114
+ timezone: string;
115
+ timeStamp: string;
116
+ }
117
+ /**
118
+ * Voice activity detection from glasses
119
+ */
120
+ export interface Vad extends BaseMessage {
121
+ type: GlassesToCloudMessageType.VAD;
122
+ status: boolean | "true" | "false";
123
+ }
124
+ /**
125
+ * Phone notification from glasses
126
+ */
127
+ export interface PhoneNotification extends BaseMessage {
128
+ type: GlassesToCloudMessageType.PHONE_NOTIFICATION;
129
+ notificationId: string;
130
+ app: string;
131
+ title: string;
132
+ content: string;
133
+ priority: 'low' | 'normal' | 'high';
134
+ }
135
+ /**
136
+ * Notification dismissed from glasses
137
+ */
138
+ export interface NotificationDismissed extends BaseMessage {
139
+ type: GlassesToCloudMessageType.NOTIFICATION_DISMISSED;
140
+ notificationId: string;
141
+ }
142
+ /**
143
+ * AugmentOS settings update from glasses
144
+ */
145
+ export interface AugmentosSettingsUpdateRequest extends BaseMessage {
146
+ type: GlassesToCloudMessageType.AUGMENTOS_SETTINGS_UPDATE_REQUEST;
147
+ }
148
+ /**
149
+ * Core status update from glasses
150
+ */
151
+ export interface CoreStatusUpdate extends BaseMessage {
152
+ type: GlassesToCloudMessageType.CORE_STATUS_UPDATE;
153
+ status: string;
154
+ details?: Record<string, any>;
155
+ }
156
+ export interface PhotoResponse extends BaseMessage {
157
+ type: GlassesToCloudMessageType.PHOTO_RESPONSE;
158
+ requestId: string;
159
+ photoUrl: string;
160
+ savedToGallery: boolean;
161
+ }
162
+ /**
163
+ * RTMP stream status update from glasses
164
+ */
165
+ export interface RtmpStreamStatus extends BaseMessage {
166
+ type: GlassesToCloudMessageType.RTMP_STREAM_STATUS;
167
+ streamId?: string;
168
+ status: "initializing" | "connecting" | "reconnecting" | "streaming" | "error" | "stopped" | "active" | "stopping" | "disconnected" | "timeout";
169
+ errorDetails?: string;
170
+ appId?: string;
171
+ stats?: {
172
+ bitrate: number;
173
+ fps: number;
174
+ droppedFrames: number;
175
+ duration: number;
176
+ };
177
+ }
178
+ /**
179
+ * Keep-alive acknowledgment from glasses
180
+ */
181
+ export interface KeepAliveAck extends BaseMessage {
182
+ type: GlassesToCloudMessageType.KEEP_ALIVE_ACK;
183
+ streamId: string;
184
+ ackId: string;
185
+ }
186
+ /**
187
+ * Photo taken event from glasses
188
+ */
189
+ export interface PhotoTaken extends BaseMessage {
190
+ type: GlassesToCloudMessageType.PHOTO_TAKEN;
191
+ photoData: ArrayBuffer;
192
+ mimeType: string;
193
+ timestamp: Date;
194
+ }
195
+ /**
196
+ * Union type for all messages from glasses to cloud
197
+ */
198
+ export type GlassesToCloudMessage = ConnectionInit | RequestSettings | StartApp | StopApp | DashboardState | OpenDashboard | ButtonPress | HeadPosition | GlassesBatteryUpdate | PhoneBatteryUpdate | GlassesConnectionState | LocationUpdate | VpsCoordinates | CalendarEvent | Vad | PhoneNotification | NotificationDismissed | AugmentosSettingsUpdateRequest | CoreStatusUpdate | RtmpStreamStatus | KeepAliveAck | PhotoResponse | PhotoTaken;
199
+ export declare function isControlAction(message: GlassesToCloudMessage): boolean;
200
+ export declare function isEvent(message: GlassesToCloudMessage): boolean;
201
+ export declare function isConnectionInit(message: GlassesToCloudMessage): message is ConnectionInit;
202
+ export declare function isRequestSettings(message: GlassesToCloudMessage): message is RequestSettings;
203
+ export declare function isStartApp(message: GlassesToCloudMessage): message is StartApp;
204
+ export declare function isStopApp(message: GlassesToCloudMessage): message is StopApp;
205
+ export declare function isButtonPress(message: GlassesToCloudMessage): message is ButtonPress;
206
+ export declare function isHeadPosition(message: GlassesToCloudMessage): message is HeadPosition;
207
+ export declare function isGlassesBatteryUpdate(message: GlassesToCloudMessage): message is GlassesBatteryUpdate;
208
+ export declare function isPhoneBatteryUpdate(message: GlassesToCloudMessage): message is PhoneBatteryUpdate;
209
+ export declare function isGlassesConnectionState(message: GlassesToCloudMessage): message is GlassesConnectionState;
210
+ export declare function isLocationUpdate(message: GlassesToCloudMessage): message is LocationUpdate;
211
+ export declare function isCalendarEvent(message: GlassesToCloudMessage): message is CalendarEvent;
212
+ export declare function isVad(message: GlassesToCloudMessage): message is Vad;
213
+ export declare function isPhoneNotification(message: GlassesToCloudMessage): message is PhoneNotification;
214
+ export declare function isNotificationDismissed(message: GlassesToCloudMessage): message is NotificationDismissed;
215
+ export declare function isRtmpStreamStatus(message: GlassesToCloudMessage): message is RtmpStreamStatus;
216
+ export declare function isPhotoResponse(message: GlassesToCloudMessage): message is PhotoResponse;
217
+ export declare function isKeepAliveAck(message: GlassesToCloudMessage): message is KeepAliveAck;
218
+ export declare function isPhotoTaken(message: GlassesToCloudMessage): message is PhotoTaken;
219
+ //# sourceMappingURL=glasses-to-cloud.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glasses-to-cloud.d.ts","sourceRoot":"","sources":["../../../src/types/messages/glasses-to-cloud.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ // src/messages/glasses-to-cloud.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.isControlAction = isControlAction;
5
+ exports.isEvent = isEvent;
6
+ exports.isConnectionInit = isConnectionInit;
7
+ exports.isRequestSettings = isRequestSettings;
8
+ exports.isStartApp = isStartApp;
9
+ exports.isStopApp = isStopApp;
10
+ exports.isButtonPress = isButtonPress;
11
+ exports.isHeadPosition = isHeadPosition;
12
+ exports.isGlassesBatteryUpdate = isGlassesBatteryUpdate;
13
+ exports.isPhoneBatteryUpdate = isPhoneBatteryUpdate;
14
+ exports.isGlassesConnectionState = isGlassesConnectionState;
15
+ exports.isLocationUpdate = isLocationUpdate;
16
+ exports.isCalendarEvent = isCalendarEvent;
17
+ exports.isVad = isVad;
18
+ exports.isPhoneNotification = isPhoneNotification;
19
+ exports.isNotificationDismissed = isNotificationDismissed;
20
+ exports.isRtmpStreamStatus = isRtmpStreamStatus;
21
+ exports.isPhotoResponse = isPhotoResponse;
22
+ exports.isKeepAliveAck = isKeepAliveAck;
23
+ exports.isPhotoTaken = isPhotoTaken;
24
+ const message_types_1 = require("../message-types");
25
+ //===========================================================
26
+ // Type guards
27
+ //===========================================================
28
+ function isControlAction(message) {
29
+ return message_types_1.ControlActionTypes.includes(message.type);
30
+ }
31
+ function isEvent(message) {
32
+ return message_types_1.EventTypes.includes(message.type);
33
+ }
34
+ // Individual type guards
35
+ function isConnectionInit(message) {
36
+ return message.type === message_types_1.GlassesToCloudMessageType.CONNECTION_INIT;
37
+ }
38
+ function isRequestSettings(message) {
39
+ return message.type === message_types_1.GlassesToCloudMessageType.REQUEST_SETTINGS;
40
+ }
41
+ function isStartApp(message) {
42
+ return message.type === message_types_1.GlassesToCloudMessageType.START_APP;
43
+ }
44
+ function isStopApp(message) {
45
+ return message.type === message_types_1.GlassesToCloudMessageType.STOP_APP;
46
+ }
47
+ function isButtonPress(message) {
48
+ return message.type === message_types_1.GlassesToCloudMessageType.BUTTON_PRESS;
49
+ }
50
+ function isHeadPosition(message) {
51
+ return message.type === message_types_1.GlassesToCloudMessageType.HEAD_POSITION;
52
+ }
53
+ function isGlassesBatteryUpdate(message) {
54
+ return message.type === message_types_1.GlassesToCloudMessageType.GLASSES_BATTERY_UPDATE;
55
+ }
56
+ function isPhoneBatteryUpdate(message) {
57
+ return message.type === message_types_1.GlassesToCloudMessageType.PHONE_BATTERY_UPDATE;
58
+ }
59
+ function isGlassesConnectionState(message) {
60
+ return message.type === message_types_1.GlassesToCloudMessageType.GLASSES_CONNECTION_STATE;
61
+ }
62
+ function isLocationUpdate(message) {
63
+ return message.type === message_types_1.GlassesToCloudMessageType.LOCATION_UPDATE;
64
+ }
65
+ function isCalendarEvent(message) {
66
+ return message.type === message_types_1.GlassesToCloudMessageType.CALENDAR_EVENT;
67
+ }
68
+ function isVad(message) {
69
+ return message.type === message_types_1.GlassesToCloudMessageType.VAD;
70
+ }
71
+ function isPhoneNotification(message) {
72
+ return message.type === message_types_1.GlassesToCloudMessageType.PHONE_NOTIFICATION;
73
+ }
74
+ function isNotificationDismissed(message) {
75
+ return message.type === message_types_1.GlassesToCloudMessageType.NOTIFICATION_DISMISSED;
76
+ }
77
+ function isRtmpStreamStatus(message) {
78
+ return message.type === message_types_1.GlassesToCloudMessageType.RTMP_STREAM_STATUS;
79
+ }
80
+ function isPhotoResponse(message) {
81
+ return message.type === message_types_1.GlassesToCloudMessageType.PHOTO_RESPONSE;
82
+ }
83
+ function isKeepAliveAck(message) {
84
+ return message.type === message_types_1.GlassesToCloudMessageType.KEEP_ALIVE_ACK;
85
+ }
86
+ function isPhotoTaken(message) {
87
+ return message.type === message_types_1.GlassesToCloudMessageType.PHOTO_TAKEN;
88
+ }