@mentra/sdk 2.1.1 → 2.1.2-alpha.1
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/dist/app/session/events.d.ts +4 -2
- package/dist/app/session/events.d.ts.map +1 -1
- package/dist/app/session/events.js +3 -0
- package/dist/app/session/index.d.ts +21 -5
- package/dist/app/session/index.d.ts.map +1 -1
- package/dist/app/session/index.js +80 -21
- package/dist/app/session/modules/audio.d.ts +190 -0
- package/dist/app/session/modules/audio.d.ts.map +1 -0
- package/dist/app/session/modules/audio.js +317 -0
- package/dist/app/session/modules/camera-managed-extension.d.ts +154 -0
- package/dist/app/session/modules/camera-managed-extension.d.ts.map +1 -0
- package/dist/app/session/modules/camera-managed-extension.js +239 -0
- package/dist/app/session/modules/camera.d.ts +55 -1
- package/dist/app/session/modules/camera.d.ts.map +1 -1
- package/dist/app/session/modules/camera.js +72 -0
- package/dist/app/session/modules/index.d.ts +4 -0
- package/dist/app/session/modules/index.d.ts.map +1 -0
- package/dist/app/session/modules/index.js +19 -0
- package/dist/app/session/modules/location.d.ts +16 -0
- package/dist/app/session/modules/location.d.ts.map +1 -0
- package/dist/app/session/modules/location.js +55 -0
- package/dist/app/webview/index.d.ts.map +1 -1
- package/dist/app/webview/index.js +0 -1
- package/dist/examples/managed-rtmp-streaming-example.d.ts +2 -0
- package/dist/examples/managed-rtmp-streaming-example.d.ts.map +1 -0
- package/dist/examples/managed-rtmp-streaming-example.js +158 -0
- package/dist/examples/managed-rtmp-streaming-with-restream-example.d.ts +11 -0
- package/dist/examples/managed-rtmp-streaming-with-restream-example.d.ts.map +1 -0
- package/dist/examples/managed-rtmp-streaming-with-restream-example.js +124 -0
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/types/enums.d.ts +3 -1
- package/dist/types/enums.d.ts.map +1 -1
- package/dist/types/enums.js +2 -0
- package/dist/types/index.d.ts +6 -6
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +7 -1
- package/dist/types/message-types.d.ts +16 -4
- package/dist/types/message-types.d.ts.map +1 -1
- package/dist/types/message-types.js +19 -3
- package/dist/types/messages/app-to-cloud.d.ts +76 -3
- package/dist/types/messages/app-to-cloud.d.ts.map +1 -1
- package/dist/types/messages/app-to-cloud.js +28 -0
- package/dist/types/messages/cloud-to-app.d.ts +45 -1
- package/dist/types/messages/cloud-to-app.d.ts.map +1 -1
- package/dist/types/messages/cloud-to-app.js +8 -0
- package/dist/types/messages/cloud-to-glasses.d.ts +38 -1
- package/dist/types/messages/cloud-to-glasses.d.ts.map +1 -1
- package/dist/types/messages/cloud-to-glasses.js +8 -0
- package/dist/types/messages/glasses-to-cloud.d.ts +21 -4
- package/dist/types/messages/glasses-to-cloud.d.ts.map +1 -1
- package/dist/types/messages/glasses-to-cloud.js +7 -3
- package/dist/types/models.d.ts +13 -0
- package/dist/types/models.d.ts.map +1 -1
- package/dist/types/models.js +9 -0
- package/dist/types/streams.d.ts +7 -1
- package/dist/types/streams.d.ts.map +1 -1
- package/dist/types/streams.js +6 -2
- package/package.json +1 -1
@@ -0,0 +1,158 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
/**
|
4
|
+
* Managed RTMP Streaming Example
|
5
|
+
*
|
6
|
+
* This example demonstrates how to use the MentraOS SDK's managed streaming
|
7
|
+
* feature. With managed streaming, you don't need your own RTMP server -
|
8
|
+
* MentraOS handles all the infrastructure and provides viewer URLs.
|
9
|
+
*
|
10
|
+
* Perfect for:
|
11
|
+
* - Social media streaming (X, YouTube Live, TikTok Live)
|
12
|
+
* - Quick demos and prototypes
|
13
|
+
* - Production apps without existing streaming infrastructure
|
14
|
+
*
|
15
|
+
* NEW: You can now add re-streaming to multiple platforms! See
|
16
|
+
* managed-rtmp-streaming-with-restream-example.ts for details.
|
17
|
+
*/
|
18
|
+
const __1 = require("../");
|
19
|
+
// Initialize App session
|
20
|
+
const session = new __1.AppSession({
|
21
|
+
packageName: 'com.example.managed-streaming',
|
22
|
+
apiKey: 'your-api-key',
|
23
|
+
userId: 'example-user@example.com',
|
24
|
+
appServer: {}, // In a real app, this would be a AppServer instance
|
25
|
+
mentraOSWebsocketUrl: 'ws://localhost:8002/app-ws'
|
26
|
+
});
|
27
|
+
// Track current stream for cleanup
|
28
|
+
let currentStreamId = null;
|
29
|
+
// Connect to MentraOS Cloud and start streaming
|
30
|
+
async function main() {
|
31
|
+
try {
|
32
|
+
// 1. Connect to MentraOS Cloud
|
33
|
+
await session.connect('managed-streaming-session');
|
34
|
+
console.log('✅ Connected to MentraOS Cloud');
|
35
|
+
// 2. Subscribe to stream status updates
|
36
|
+
session.subscribe(__1.StreamType.MANAGED_STREAM_STATUS);
|
37
|
+
setupStreamStatusHandler();
|
38
|
+
// 3. Start managed streaming
|
39
|
+
await startManagedStream();
|
40
|
+
// 4. Keep streaming for 2 minutes then stop
|
41
|
+
setTimeout(async () => {
|
42
|
+
await stopManagedStream();
|
43
|
+
session.disconnect();
|
44
|
+
}, 2 * 60 * 1000);
|
45
|
+
}
|
46
|
+
catch (error) {
|
47
|
+
console.error('❌ Error:', error);
|
48
|
+
session.disconnect();
|
49
|
+
}
|
50
|
+
}
|
51
|
+
// Start a managed stream
|
52
|
+
async function startManagedStream() {
|
53
|
+
try {
|
54
|
+
console.log('🎬 Starting managed stream...');
|
55
|
+
// Start streaming with zero configuration!
|
56
|
+
const result = await session.camera.startManagedStream();
|
57
|
+
currentStreamId = result.streamId;
|
58
|
+
console.log('\n🎉 Stream started successfully!');
|
59
|
+
console.log('📺 Share these URLs with viewers:');
|
60
|
+
console.log(` HLS URL (Best compatibility): ${result.hlsUrl}`);
|
61
|
+
console.log(` DASH URL (Alternative): ${result.dashUrl}`);
|
62
|
+
if (result.webrtcUrl) {
|
63
|
+
console.log(` WebRTC URL (Low latency): ${result.webrtcUrl}`);
|
64
|
+
}
|
65
|
+
console.log('\n💡 Viewers can open the HLS URL in:');
|
66
|
+
console.log(' - Any modern web browser');
|
67
|
+
console.log(' - VLC Media Player');
|
68
|
+
console.log(' - Mobile video players');
|
69
|
+
console.log(' - Or embed in your app with video.js or hls.js\n');
|
70
|
+
}
|
71
|
+
catch (error) {
|
72
|
+
console.error('❌ Failed to start managed stream:', error);
|
73
|
+
}
|
74
|
+
}
|
75
|
+
// Example: Enable WebRTC for low-latency viewing
|
76
|
+
async function startLowLatencyStream() {
|
77
|
+
try {
|
78
|
+
const result = await session.camera.startManagedStream({
|
79
|
+
enableWebRTC: true
|
80
|
+
});
|
81
|
+
console.log('✅ Low-latency stream started');
|
82
|
+
console.log('🚀 WebRTC URL:', result.webrtcUrl);
|
83
|
+
console.log(' (Latency: ~2-3 seconds vs 5-10 seconds for HLS)');
|
84
|
+
}
|
85
|
+
catch (error) {
|
86
|
+
console.error('❌ Failed to start stream:', error);
|
87
|
+
}
|
88
|
+
}
|
89
|
+
// Set up handler for stream status updates
|
90
|
+
function setupStreamStatusHandler() {
|
91
|
+
session.on(__1.StreamType.MANAGED_STREAM_STATUS, (status) => {
|
92
|
+
const timestamp = new Date().toLocaleTimeString();
|
93
|
+
switch (status.status) {
|
94
|
+
case 'initializing':
|
95
|
+
console.log(`[${timestamp}] 📡 Stream initializing...`);
|
96
|
+
break;
|
97
|
+
case 'active':
|
98
|
+
console.log(`[${timestamp}] 🟢 Stream is LIVE!`);
|
99
|
+
if (status.hlsUrl) {
|
100
|
+
console.log(` View at: ${status.hlsUrl}`);
|
101
|
+
}
|
102
|
+
break;
|
103
|
+
case 'stopping':
|
104
|
+
console.log(`[${timestamp}] 🟡 Stream stopping...`);
|
105
|
+
break;
|
106
|
+
case 'stopped':
|
107
|
+
console.log(`[${timestamp}] 🔴 Stream stopped`);
|
108
|
+
currentStreamId = null;
|
109
|
+
break;
|
110
|
+
case 'error':
|
111
|
+
console.error(`[${timestamp}] ❌ Stream error: ${status.message}`);
|
112
|
+
currentStreamId = null;
|
113
|
+
break;
|
114
|
+
default:
|
115
|
+
console.log(`[${timestamp}] Stream status: ${status.status}`);
|
116
|
+
}
|
117
|
+
});
|
118
|
+
}
|
119
|
+
// Stop the managed stream
|
120
|
+
async function stopManagedStream() {
|
121
|
+
if (!currentStreamId) {
|
122
|
+
console.log('No active stream to stop');
|
123
|
+
return;
|
124
|
+
}
|
125
|
+
try {
|
126
|
+
console.log('🛑 Stopping managed stream...');
|
127
|
+
await session.camera.stopManagedStream();
|
128
|
+
console.log('✅ Stream stopped successfully');
|
129
|
+
currentStreamId = null;
|
130
|
+
}
|
131
|
+
catch (error) {
|
132
|
+
console.error('❌ Error stopping stream:', error);
|
133
|
+
}
|
134
|
+
}
|
135
|
+
// Handle errors
|
136
|
+
session.events.on('error', (error) => {
|
137
|
+
console.error('Session error:', error);
|
138
|
+
});
|
139
|
+
// Handle disconnection
|
140
|
+
session.events.on('disconnected', (info) => {
|
141
|
+
console.log('Disconnected:', info);
|
142
|
+
currentStreamId = null;
|
143
|
+
});
|
144
|
+
// Graceful shutdown on exit
|
145
|
+
process.on('SIGINT', async () => {
|
146
|
+
console.log('\n👋 Shutting down...');
|
147
|
+
if (currentStreamId) {
|
148
|
+
await stopManagedStream();
|
149
|
+
}
|
150
|
+
session.disconnect();
|
151
|
+
process.exit(0);
|
152
|
+
});
|
153
|
+
// Run the example
|
154
|
+
console.log('🚀 Managed RTMP Streaming Example');
|
155
|
+
console.log('==================================');
|
156
|
+
console.log('This example demonstrates zero-infrastructure streaming.');
|
157
|
+
console.log('No RTMP server needed - MentraOS handles everything!\n');
|
158
|
+
main().catch(console.error);
|
@@ -0,0 +1,11 @@
|
|
1
|
+
/**
|
2
|
+
* Example: Managed RTMP Streaming with Re-streaming to Multiple Platforms
|
3
|
+
*
|
4
|
+
* This example demonstrates how to use the managed streaming feature with
|
5
|
+
* automatic re-streaming to platforms like YouTube, Twitch, and Facebook.
|
6
|
+
*
|
7
|
+
* The cloud handles all RTMP endpoints and automatically forwards your stream
|
8
|
+
* to the specified destinations.
|
9
|
+
*/
|
10
|
+
export {};
|
11
|
+
//# sourceMappingURL=managed-rtmp-streaming-with-restream-example.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"managed-rtmp-streaming-with-restream-example.d.ts","sourceRoot":"","sources":["../../src/examples/managed-rtmp-streaming-with-restream-example.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
@@ -0,0 +1,124 @@
|
|
1
|
+
"use strict";
|
2
|
+
/**
|
3
|
+
* Example: Managed RTMP Streaming with Re-streaming to Multiple Platforms
|
4
|
+
*
|
5
|
+
* This example demonstrates how to use the managed streaming feature with
|
6
|
+
* automatic re-streaming to platforms like YouTube, Twitch, and Facebook.
|
7
|
+
*
|
8
|
+
* The cloud handles all RTMP endpoints and automatically forwards your stream
|
9
|
+
* to the specified destinations.
|
10
|
+
*/
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
+
const __1 = require("../");
|
13
|
+
class MultiPlatformStreamingApp extends __1.AppServer {
|
14
|
+
constructor() {
|
15
|
+
super({
|
16
|
+
packageName: 'com.example.multiplatform-streaming',
|
17
|
+
apiKey: process.env.MENTRAOS_API_KEY || 'your-api-key',
|
18
|
+
port: 3000
|
19
|
+
});
|
20
|
+
}
|
21
|
+
async onSession(session, sessionId, userId) {
|
22
|
+
console.log(`New session started: ${sessionId} for user ${userId}`);
|
23
|
+
// Subscribe to managed stream status updates
|
24
|
+
const managedStreamCleanup = session.camera.onManagedStreamStatus((status) => {
|
25
|
+
console.log(`Stream status: ${status.status}`);
|
26
|
+
// Check output statuses
|
27
|
+
if (status.outputs && status.outputs.length > 0) {
|
28
|
+
console.log('Re-stream outputs:');
|
29
|
+
status.outputs.forEach(output => {
|
30
|
+
console.log(`- ${output.name || output.url}: ${output.status}`);
|
31
|
+
if (output.error) {
|
32
|
+
console.error(` Error: ${output.error}`);
|
33
|
+
}
|
34
|
+
});
|
35
|
+
}
|
36
|
+
if (status.status === 'active') {
|
37
|
+
console.log('Stream is live!');
|
38
|
+
console.log('HLS URL:', status.hlsUrl);
|
39
|
+
console.log('DASH URL:', status.dashUrl);
|
40
|
+
session.layouts.showTextWall('Multi-platform stream is live!');
|
41
|
+
}
|
42
|
+
});
|
43
|
+
// Start managed stream when glasses connect
|
44
|
+
const connectCleanup = session.events.onConnected(async () => {
|
45
|
+
console.log('Glasses connected! Starting multi-platform stream...');
|
46
|
+
session.layouts.showTextWall('Starting multi-platform stream...');
|
47
|
+
try {
|
48
|
+
const streamResult = await session.camera.startManagedStream({
|
49
|
+
quality: '720p',
|
50
|
+
enableWebRTC: true,
|
51
|
+
// NEW: Add re-streaming destinations
|
52
|
+
restreamDestinations: [
|
53
|
+
{
|
54
|
+
url: 'rtmp://a.rtmp.youtube.com/live2/YOUR-YOUTUBE-STREAM-KEY',
|
55
|
+
name: 'YouTube'
|
56
|
+
},
|
57
|
+
{
|
58
|
+
url: 'rtmp://live.twitch.tv/app/YOUR-TWITCH-STREAM-KEY',
|
59
|
+
name: 'Twitch'
|
60
|
+
},
|
61
|
+
{
|
62
|
+
url: 'rtmps://live-api-s.facebook.com:443/rtmp/YOUR-FACEBOOK-STREAM-KEY',
|
63
|
+
name: 'Facebook'
|
64
|
+
}
|
65
|
+
],
|
66
|
+
// Optional: Custom encoding settings
|
67
|
+
video: {
|
68
|
+
width: 1280,
|
69
|
+
height: 720,
|
70
|
+
bitrate: 2000000, // 2 Mbps
|
71
|
+
frameRate: 30
|
72
|
+
},
|
73
|
+
audio: {
|
74
|
+
bitrate: 128000, // 128 kbps
|
75
|
+
sampleRate: 48000,
|
76
|
+
echoCancellation: true,
|
77
|
+
noiseSuppression: true
|
78
|
+
}
|
79
|
+
});
|
80
|
+
console.log('Managed stream started successfully!');
|
81
|
+
console.log('Stream ID:', streamResult.streamId);
|
82
|
+
console.log('HLS URL:', streamResult.hlsUrl);
|
83
|
+
console.log('DASH URL:', streamResult.dashUrl);
|
84
|
+
console.log('WebRTC URL:', streamResult.webrtcUrl);
|
85
|
+
// The stream is now being:
|
86
|
+
// 1. Sent from glasses to the RTMP relay
|
87
|
+
// 2. Forwarded to Cloudflare for HLS/DASH distribution
|
88
|
+
// 3. Re-streamed to YouTube, Twitch, and Facebook automatically
|
89
|
+
}
|
90
|
+
catch (error) {
|
91
|
+
console.error('Failed to start managed stream:', error);
|
92
|
+
session.layouts.showTextWall(`Failed to start stream: ${error instanceof Error ? error.message : String(error)}`);
|
93
|
+
}
|
94
|
+
});
|
95
|
+
// Stop stream when disconnected
|
96
|
+
const disconnectCleanup = session.events.onDisconnected(async () => {
|
97
|
+
console.log('Glasses disconnected, stopping stream...');
|
98
|
+
try {
|
99
|
+
await session.camera.stopManagedStream();
|
100
|
+
}
|
101
|
+
catch (error) {
|
102
|
+
console.error('Error stopping stream:', error);
|
103
|
+
}
|
104
|
+
});
|
105
|
+
// Register cleanup handlers
|
106
|
+
this.addCleanupHandler(managedStreamCleanup);
|
107
|
+
this.addCleanupHandler(connectCleanup);
|
108
|
+
this.addCleanupHandler(disconnectCleanup);
|
109
|
+
}
|
110
|
+
}
|
111
|
+
// Start the app server
|
112
|
+
const app = new MultiPlatformStreamingApp();
|
113
|
+
app.start().catch(console.error);
|
114
|
+
// Important notes:
|
115
|
+
//
|
116
|
+
// 1. Stream Keys: Replace YOUR-*-STREAM-KEY with actual stream keys from each platform
|
117
|
+
// 2. Platform Requirements: Each platform has specific requirements:
|
118
|
+
// - YouTube: Requires 720p+ resolution, 30fps+, 2.5-4 Mbps bitrate
|
119
|
+
// - Twitch: Flexible, but recommends 3-6 Mbps for 1080p
|
120
|
+
// - Facebook: Supports up to 1080p, recommends 4 Mbps
|
121
|
+
//
|
122
|
+
// 3. The RTMP relay automatically transcodes your stream to meet platform requirements
|
123
|
+
// 4. You can monitor the status of each output in the ManagedStreamStatus updates
|
124
|
+
// 5. If an output fails, the main stream and other outputs continue working
|
package/dist/index.d.ts
CHANGED
@@ -5,7 +5,7 @@ export * from './types/messages/glasses-to-cloud';
|
|
5
5
|
export * from './types/messages/cloud-to-glasses';
|
6
6
|
export * from './types/messages/app-to-cloud';
|
7
7
|
export { AppConnectionAck, AppConnectionError, AppStopped, SettingsUpdate as AppSettingsUpdate, // Alias to avoid conflict with cloud-to-glasses SettingsUpdate
|
8
|
-
DataStream, CloudToAppMessage, TranslationData, ToolCall, StandardConnectionError, CustomMessage, MentraosSettingsUpdate, TranscriptionData, AudioChunk, PermissionError, PermissionErrorDetail, isAppConnectionAck, isAppConnectionError, isAppStopped, isSettingsUpdate, isDataStream, isAudioChunk, isDashboardModeChanged, isDashboardAlwaysOnChanged, isPhotoResponse as isPhotoResponseFromCloud, isRtmpStreamStatus as isRtmpStreamStatusFromCloud } from './types/messages/cloud-to-app';
|
8
|
+
DataStream, CloudToAppMessage, TranslationData, ToolCall, StandardConnectionError, CustomMessage, ManagedStreamStatus, OutputStatus, MentraosSettingsUpdate, TranscriptionData, AudioChunk, PermissionError, PermissionErrorDetail, AudioPlayResponse, isAppConnectionAck, isAppConnectionError, isAppStopped, isSettingsUpdate, isDataStream, isAudioChunk, isDashboardModeChanged, isDashboardAlwaysOnChanged, isManagedStreamStatus, isPhotoResponse as isPhotoResponseFromCloud, isRtmpStreamStatus as isRtmpStreamStatusFromCloud } from './types/messages/cloud-to-app';
|
9
9
|
export * from './types/streams';
|
10
10
|
export * from './types/layouts';
|
11
11
|
export * from './types/dashboard';
|
@@ -17,15 +17,16 @@ export * from './types/webhooks';
|
|
17
17
|
export * from './types/capabilities';
|
18
18
|
export * from "./app/index";
|
19
19
|
export * from "./logging/logger";
|
20
|
-
export { ButtonPress, HeadPosition, GlassesBatteryUpdate, PhoneBatteryUpdate, GlassesConnectionState, LocationUpdate, CalendarEvent, Vad, PhoneNotification,
|
20
|
+
export { ButtonPress, HeadPosition, GlassesBatteryUpdate, PhoneBatteryUpdate, GlassesConnectionState, LocationUpdate, CalendarEvent, Vad, PhoneNotification, PhoneNotificationDismissed, StartApp, StopApp, ConnectionInit, DashboardState, OpenDashboard, GlassesToCloudMessage, PhotoResponse, RtmpStreamStatus, KeepAliveAck } from './types/messages/glasses-to-cloud';
|
21
21
|
export { ConnectionAck, ConnectionError, AuthError, DisplayEvent, AppStateChange, MicrophoneStateChange, CloudToGlassesMessage, PhotoRequestToGlasses, SettingsUpdate, StartRtmpStream, StopRtmpStream, KeepRtmpStreamAlive } from './types/messages/cloud-to-glasses';
|
22
22
|
export { AppConnectionInit, AppSubscriptionUpdate, RtmpStreamRequest, RtmpStreamStopRequest, AppToCloudMessage, PhotoRequest } from './types/messages/app-to-cloud';
|
23
23
|
export { TextWall, DoubleTextWall, DashboardCard, ReferenceCard, Layout, DisplayRequest } from './types/layouts';
|
24
|
-
export { isButtonPress, isHeadPosition, isConnectionInit, isStartApp, isStopApp, isPhotoResponse as isPhotoResponseFromGlasses, isRtmpStreamStatus as isRtmpStreamStatusFromGlasses, isKeepAliveAck } from './types/messages/glasses-to-cloud';
|
24
|
+
export { isButtonPress, isHeadPosition, isConnectionInit, isStartApp, isStopApp, isPhotoResponse as isPhotoResponseFromGlasses, isRtmpStreamStatus as isRtmpStreamStatusFromGlasses, isKeepAliveAck, isPhoneNotificationDismissed } from './types/messages/glasses-to-cloud';
|
25
25
|
export { isConnectionAck, isDisplayEvent, isAppStateChange, isPhotoRequest, isSettingsUpdate as isSettingsUpdateToGlasses, isStartRtmpStream, isStopRtmpStream, isKeepRtmpStreamAlive } from './types/messages/cloud-to-glasses';
|
26
26
|
export { isAppConnectionInit, isAppSubscriptionUpdate, isDisplayRequest, isRtmpStreamRequest, isRtmpStreamStopRequest, isPhotoRequest as isPhotoRequestFromApp } from './types/messages/app-to-cloud';
|
27
27
|
export { BaseAppSetting, AppSetting, AppSettings, AppConfig, validateAppConfig, ToolSchema, ToolParameterSchema } from './types/models';
|
28
28
|
export { VideoConfig, AudioConfig, StreamConfig, StreamStatusHandler } from './types/rtmp-stream';
|
29
|
+
export * from './app/session/modules';
|
29
30
|
export { PhotoData } from './types/photo-data';
|
30
31
|
/**
|
31
32
|
* WebSocket error information
|
package/dist/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,eAAe,CAAC;AAG9B,cAAc,uBAAuB,CAAC;AAGtC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAG9C,OAAO,EAEL,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,cAAc,IAAI,iBAAiB,EAAG,+DAA+D;AACrG,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,QAAQ,EACR,uBAAuB,EACvB,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,qBAAqB,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,eAAe,CAAC;AAG9B,cAAc,uBAAuB,CAAC;AAGtC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAG9C,OAAO,EAEL,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,cAAc,IAAI,iBAAiB,EAAG,+DAA+D;AACrG,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,QAAQ,EACR,uBAAuB,EACvB,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EAEjB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EAGrB,eAAe,IAAI,wBAAwB,EAC3C,kBAAkB,IAAI,2BAA2B,EAClD,MAAM,+BAA+B,CAAC;AAGvC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,eAAe,CAAC;AAG9B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,sBAAsB,CAAC;AAGrC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,aAAa,CAAC;AAG5B,cAAc,kBAAkB,CAAC;AAOjC,OAAO,EACL,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,aAAa,EACb,GAAG,EACH,iBAAiB,EACjB,0BAA0B,EAC1B,QAAQ,EACR,OAAO,EACP,cAAc,EACd,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACb,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EACL,aAAa,EACb,eAAe,EACf,SAAS,EACT,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,cAAc,EACd,mBAAmB,EACpB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACb,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,QAAQ,EACR,cAAc,EACd,aAAa,EACb,aAAa,EACb,MAAM,EACN,cAAc,EACf,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,eAAe,IAAI,0BAA0B,EAC7C,kBAAkB,IAAI,6BAA6B,EACnD,cAAc,EACd,4BAA4B,EAC7B,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,gBAAgB,IAAI,yBAAyB,EAC7C,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,IAAI,qBAAqB,EACxC,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,cAAc,EACd,UAAU,EACV,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,EACZ,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAG7B,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EACL,SAAS,EACV,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,MAAM,WAAW,oBAAqB,SAAQ,OAAO;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
package/dist/index.js
CHANGED
@@ -15,7 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
15
15
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
16
16
|
};
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
18
|
-
exports.validateAppConfig = exports.isPhotoRequestFromApp = exports.isRtmpStreamStopRequest = exports.isRtmpStreamRequest = exports.isDisplayRequest = exports.isAppSubscriptionUpdate = exports.isAppConnectionInit = 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.isAppConnectionError = exports.isAppConnectionAck = void 0;
|
18
|
+
exports.validateAppConfig = exports.isPhotoRequestFromApp = exports.isRtmpStreamStopRequest = exports.isRtmpStreamRequest = exports.isDisplayRequest = exports.isAppSubscriptionUpdate = exports.isAppConnectionInit = exports.isKeepRtmpStreamAlive = exports.isStopRtmpStream = exports.isStartRtmpStream = exports.isSettingsUpdateToGlasses = exports.isPhotoRequest = exports.isAppStateChange = exports.isDisplayEvent = exports.isConnectionAck = exports.isPhoneNotificationDismissed = exports.isKeepAliveAck = exports.isRtmpStreamStatusFromGlasses = exports.isPhotoResponseFromGlasses = exports.isStopApp = exports.isStartApp = exports.isConnectionInit = exports.isHeadPosition = exports.isButtonPress = exports.isRtmpStreamStatusFromCloud = exports.isPhotoResponseFromCloud = exports.isManagedStreamStatus = exports.isDashboardAlwaysOnChanged = exports.isDashboardModeChanged = exports.isAudioChunk = exports.isDataStream = exports.isSettingsUpdate = exports.isAppStopped = exports.isAppConnectionError = exports.isAppConnectionAck = void 0;
|
19
19
|
__exportStar(require("./types/token"), exports);
|
20
20
|
// Message type enums
|
21
21
|
__exportStar(require("./types/message-types"), exports);
|
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "isDataStream", { enumerable: true, get: function
|
|
36
36
|
Object.defineProperty(exports, "isAudioChunk", { enumerable: true, get: function () { return cloud_to_app_1.isAudioChunk; } });
|
37
37
|
Object.defineProperty(exports, "isDashboardModeChanged", { enumerable: true, get: function () { return cloud_to_app_1.isDashboardModeChanged; } });
|
38
38
|
Object.defineProperty(exports, "isDashboardAlwaysOnChanged", { enumerable: true, get: function () { return cloud_to_app_1.isDashboardAlwaysOnChanged; } });
|
39
|
+
Object.defineProperty(exports, "isManagedStreamStatus", { enumerable: true, get: function () { return cloud_to_app_1.isManagedStreamStatus; } });
|
39
40
|
// Re-export the cloud-to-app versions of these type guards since they're the ones
|
40
41
|
// that should be used when dealing with CloudToAppMessage types
|
41
42
|
Object.defineProperty(exports, "isPhotoResponseFromCloud", { enumerable: true, get: function () { return cloud_to_app_1.isPhotoResponse; } });
|
@@ -72,6 +73,7 @@ Object.defineProperty(exports, "isStopApp", { enumerable: true, get: function ()
|
|
72
73
|
Object.defineProperty(exports, "isPhotoResponseFromGlasses", { enumerable: true, get: function () { return glasses_to_cloud_1.isPhotoResponse; } });
|
73
74
|
Object.defineProperty(exports, "isRtmpStreamStatusFromGlasses", { enumerable: true, get: function () { return glasses_to_cloud_1.isRtmpStreamStatus; } });
|
74
75
|
Object.defineProperty(exports, "isKeepAliveAck", { enumerable: true, get: function () { return glasses_to_cloud_1.isKeepAliveAck; } });
|
76
|
+
Object.defineProperty(exports, "isPhoneNotificationDismissed", { enumerable: true, get: function () { return glasses_to_cloud_1.isPhoneNotificationDismissed; } });
|
75
77
|
var cloud_to_glasses_1 = require("./types/messages/cloud-to-glasses");
|
76
78
|
Object.defineProperty(exports, "isConnectionAck", { enumerable: true, get: function () { return cloud_to_glasses_1.isConnectionAck; } });
|
77
79
|
Object.defineProperty(exports, "isDisplayEvent", { enumerable: true, get: function () { return cloud_to_glasses_1.isDisplayEvent; } });
|
@@ -91,3 +93,5 @@ Object.defineProperty(exports, "isPhotoRequestFromApp", { enumerable: true, get:
|
|
91
93
|
// Export setting-related types
|
92
94
|
var models_1 = require("./types/models");
|
93
95
|
Object.defineProperty(exports, "validateAppConfig", { enumerable: true, get: function () { return models_1.validateAppConfig; } });
|
96
|
+
// Export app session modules
|
97
|
+
__exportStar(require("./app/session/modules"), exports);
|
package/dist/types/enums.d.ts
CHANGED
@@ -52,6 +52,8 @@ export declare enum AppSettingType {
|
|
52
52
|
TEXT_NO_SAVE_BUTTON = "text_no_save_button",
|
53
53
|
SELECT_WITH_SEARCH = "select_with_search",
|
54
54
|
MULTISELECT = "multiselect",
|
55
|
-
TITLE_VALUE = "titleValue"
|
55
|
+
TITLE_VALUE = "titleValue",
|
56
|
+
NUMERIC_INPUT = "numeric_input",
|
57
|
+
TIME_PICKER = "time_picker"
|
56
58
|
}
|
57
59
|
//# sourceMappingURL=enums.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../src/types/enums.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,oBAAY,OAAO;IACf,gBAAgB,qBAAqB,CAAG,6CAA6C;IACrF,UAAU,eAAe,CAAe,0CAA0C;IAClF,QAAQ,aAAa;CACxB;AAGD;;GAEG;AACH,oBAAY,QAAQ;IAChB,aAAa,kBAAkB,CAAG,gBAAgB;IAClD,SAAS,cAAc,CAAW,0BAA0B;IAC5D,OAAO,YAAY,CAAe,cAAc;IAChD,OAAO,YAAY,CAAe,qBAAqB;IACvD,OAAO,YAAY,CAAe,mBAAmB;IACrD,KAAK,UAAU;CAClB;AAED;;GAEG;AACH,oBAAY,QAAQ;IAChB,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;CAEZ;AAED;;GAEG;AACH,oBAAY,UAAU;IAClB,SAAS,cAAc;IACvB,gBAAgB,qBAAqB;IACrC,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;CAC9B;AAED;;GAEG;AACH,oBAAY,QAAQ;IAChB,SAAS,cAAc,CAAI,oCAAoC;IAC/D,SAAS,cAAc,CAAI,+BAA+B;IAC1D,IAAI,SAAS;CAChB;AAGD,oBAAY,cAAc;IACtB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,mBAAmB,wBAAwB;IAC3C,kBAAkB,uBAAuB;IACzC,WAAW,gBAAgB;IAC3B,WAAW,eAAe;
|
1
|
+
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../src/types/enums.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,oBAAY,OAAO;IACf,gBAAgB,qBAAqB,CAAG,6CAA6C;IACrF,UAAU,eAAe,CAAe,0CAA0C;IAClF,QAAQ,aAAa;CACxB;AAGD;;GAEG;AACH,oBAAY,QAAQ;IAChB,aAAa,kBAAkB,CAAG,gBAAgB;IAClD,SAAS,cAAc,CAAW,0BAA0B;IAC5D,OAAO,YAAY,CAAe,cAAc;IAChD,OAAO,YAAY,CAAe,qBAAqB;IACvD,OAAO,YAAY,CAAe,mBAAmB;IACrD,KAAK,UAAU;CAClB;AAED;;GAEG;AACH,oBAAY,QAAQ;IAChB,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;CAEZ;AAED;;GAEG;AACH,oBAAY,UAAU;IAClB,SAAS,cAAc;IACvB,gBAAgB,qBAAqB;IACrC,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;CAC9B;AAED;;GAEG;AACH,oBAAY,QAAQ;IAChB,SAAS,cAAc,CAAI,oCAAoC;IAC/D,SAAS,cAAc,CAAI,+BAA+B;IAC1D,IAAI,SAAS;CAChB;AAGD,oBAAY,cAAc;IACtB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,mBAAmB,wBAAwB;IAC3C,kBAAkB,uBAAuB;IACzC,WAAW,gBAAgB;IAC3B,WAAW,eAAe;IAC1B,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;CAC9B"}
|
package/dist/types/enums.js
CHANGED
@@ -66,6 +66,8 @@ var AppSettingType;
|
|
66
66
|
AppSettingType["SELECT_WITH_SEARCH"] = "select_with_search";
|
67
67
|
AppSettingType["MULTISELECT"] = "multiselect";
|
68
68
|
AppSettingType["TITLE_VALUE"] = "titleValue";
|
69
|
+
AppSettingType["NUMERIC_INPUT"] = "numeric_input";
|
70
|
+
AppSettingType["TIME_PICKER"] = "time_picker";
|
69
71
|
})(AppSettingType || (exports.AppSettingType = AppSettingType = {}));
|
70
72
|
// | { type: "toggle"; key: string; label: string; defaultValue: boolean }
|
71
73
|
// | { type: "text"; key: string; label: string; defaultValue?: string }
|
package/dist/types/index.d.ts
CHANGED
@@ -5,7 +5,7 @@ export * from './messages/glasses-to-cloud';
|
|
5
5
|
export * from './messages/cloud-to-glasses';
|
6
6
|
export * from './messages/app-to-cloud';
|
7
7
|
export { AppConnectionAck, AppConnectionError, AppStopped, SettingsUpdate as AppSettingsUpdate, // Alias to avoid conflict with cloud-to-glasses SettingsUpdate
|
8
|
-
DataStream, CloudToAppMessage, TranslationData, ToolCall, StandardConnectionError, CustomMessage, MentraosSettingsUpdate, TranscriptionData, AudioChunk, PermissionError, PermissionErrorDetail, isAppConnectionAck, isAppConnectionError, isAppStopped, isSettingsUpdate, isDataStream, isAudioChunk, isDashboardModeChanged, isDashboardAlwaysOnChanged, isPhotoResponse as isPhotoResponseFromCloud, isRtmpStreamStatus as isRtmpStreamStatusFromCloud } from './messages/cloud-to-app';
|
8
|
+
DataStream, CloudToAppMessage, AudioPlayResponse, TranslationData, ToolCall, StandardConnectionError, CustomMessage, ManagedStreamStatus, OutputStatus, MentraosSettingsUpdate, TranscriptionData, AudioChunk, PermissionError, PermissionErrorDetail, isAppConnectionAck, isAppConnectionError, isAppStopped, isSettingsUpdate, isDataStream, isAudioChunk, isAudioPlayResponse, isDashboardModeChanged, isDashboardAlwaysOnChanged, isManagedStreamStatus, isPhotoResponse as isPhotoResponseFromCloud, isRtmpStreamStatus as isRtmpStreamStatusFromCloud } from './messages/cloud-to-app';
|
9
9
|
export * from './streams';
|
10
10
|
export * from './layouts';
|
11
11
|
export * from './dashboard';
|
@@ -16,13 +16,13 @@ export * from './user-session';
|
|
16
16
|
export * from './webhooks';
|
17
17
|
export * from './capabilities';
|
18
18
|
export * from './photo-data';
|
19
|
-
export { ButtonPress, HeadPosition, GlassesBatteryUpdate, PhoneBatteryUpdate, GlassesConnectionState, LocationUpdate, CalendarEvent, Vad, PhoneNotification,
|
20
|
-
export { ConnectionAck, ConnectionError, AuthError, DisplayEvent, AppStateChange, MicrophoneStateChange, CloudToGlassesMessage, PhotoRequestToGlasses, SettingsUpdate, StartRtmpStream, StopRtmpStream, KeepRtmpStreamAlive } from './messages/cloud-to-glasses';
|
21
|
-
export { AppConnectionInit, AppSubscriptionUpdate, RtmpStreamRequest, RtmpStreamStopRequest, AppToCloudMessage, PhotoRequest } from './messages/app-to-cloud';
|
19
|
+
export { ButtonPress, HeadPosition, GlassesBatteryUpdate, PhoneBatteryUpdate, GlassesConnectionState, LocationUpdate, CalendarEvent, Vad, PhoneNotification, PhoneNotificationDismissed, StartApp, StopApp, ConnectionInit, DashboardState, OpenDashboard, GlassesToCloudMessage, PhotoResponse, RtmpStreamStatus, KeepAliveAck } from './messages/glasses-to-cloud';
|
20
|
+
export { ConnectionAck, ConnectionError, AuthError, DisplayEvent, AppStateChange, MicrophoneStateChange, CloudToGlassesMessage, PhotoRequestToGlasses, AudioPlayRequestToGlasses, AudioStopRequestToGlasses, SettingsUpdate, StartRtmpStream, StopRtmpStream, KeepRtmpStreamAlive } from './messages/cloud-to-glasses';
|
21
|
+
export { AppConnectionInit, AppSubscriptionUpdate, AudioPlayRequest, AudioStopRequest, RtmpStreamRequest, RtmpStreamStopRequest, AppToCloudMessage, PhotoRequest } from './messages/app-to-cloud';
|
22
22
|
export { TextWall, DoubleTextWall, DashboardCard, ReferenceCard, Layout, DisplayRequest } from './layouts';
|
23
23
|
export { isButtonPress, isHeadPosition, isConnectionInit, isStartApp, isStopApp, isPhotoResponse as isPhotoResponseFromGlasses, isRtmpStreamStatus as isRtmpStreamStatusFromGlasses, isKeepAliveAck } from './messages/glasses-to-cloud';
|
24
|
-
export { isConnectionAck, isDisplayEvent, isAppStateChange, isPhotoRequest, isSettingsUpdate as isSettingsUpdateToGlasses, isStartRtmpStream, isStopRtmpStream, isKeepRtmpStreamAlive } from './messages/cloud-to-glasses';
|
25
|
-
export { isAppConnectionInit, isAppSubscriptionUpdate, isDisplayRequest, isRtmpStreamRequest, isRtmpStreamStopRequest, isPhotoRequest as isPhotoRequestFromApp } from './messages/app-to-cloud';
|
24
|
+
export { isConnectionAck, isDisplayEvent, isAppStateChange, isPhotoRequest, isAudioPlayRequestToGlasses, isAudioStopRequestToGlasses, isSettingsUpdate as isSettingsUpdateToGlasses, isStartRtmpStream, isStopRtmpStream, isKeepRtmpStreamAlive } from './messages/cloud-to-glasses';
|
25
|
+
export { isAppConnectionInit, isAppSubscriptionUpdate, isDisplayRequest, isAudioPlayRequest, isAudioStopRequest, isRtmpStreamRequest, isRtmpStreamStopRequest, isPhotoRequest as isPhotoRequestFromApp } from './messages/app-to-cloud';
|
26
26
|
export { BaseAppSetting, AppSetting, AppSettings, AppConfig, validateAppConfig, ToolSchema, ToolParameterSchema } from './models';
|
27
27
|
export { VideoConfig, AudioConfig, StreamConfig, StreamStatusHandler } from './rtmp-stream';
|
28
28
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAEA,cAAc,SAAS,CAAC;AAGxB,cAAc,iBAAiB,CAAC;AAGhC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AAGxC,OAAO,EAEL,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,cAAc,IAAI,iBAAiB,EAAG,+DAA+D;AACrG,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,QAAQ,EACR,uBAAuB,EACvB,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,qBAAqB,EAErB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,0BAA0B,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAEA,cAAc,SAAS,CAAC;AAGxB,cAAc,iBAAiB,CAAC;AAGhC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AAGxC,OAAO,EAEL,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,cAAc,IAAI,iBAAiB,EAAG,+DAA+D;AACrG,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,QAAQ,EACR,uBAAuB,EACvB,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,qBAAqB,EAErB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EAGrB,eAAe,IAAI,wBAAwB,EAC3C,kBAAkB,IAAI,2BAA2B,EAClD,MAAM,yBAAyB,CAAC;AAGjC,cAAc,WAAW,CAAC;AAG1B,cAAc,WAAW,CAAC;AAG1B,cAAc,aAAa,CAAC;AAG5B,cAAc,eAAe,CAAC;AAG9B,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,YAAY,CAAC;AAG3B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC;AAO7B,OAAO,EACL,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,aAAa,EACb,GAAG,EACH,iBAAiB,EACjB,0BAA0B,EAC1B,QAAQ,EACR,OAAO,EACP,cAAc,EACd,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACb,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,aAAa,EACb,eAAe,EACf,SAAS,EACT,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EACzB,cAAc,EACd,eAAe,EACf,cAAc,EACd,mBAAmB,EACpB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACb,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,QAAQ,EACR,cAAc,EACd,aAAa,EACb,aAAa,EACb,MAAM,EACN,cAAc,EACf,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,eAAe,IAAI,0BAA0B,EAC7C,kBAAkB,IAAI,6BAA6B,EACnD,cAAc,EACf,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,2BAA2B,EAC3B,2BAA2B,EAC3B,gBAAgB,IAAI,yBAAyB,EAC7C,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,IAAI,qBAAqB,EACxC,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,cAAc,EACd,UAAU,EACV,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,EACZ,mBAAmB,EACpB,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,MAAM,WAAW,oBAAqB,SAAQ,OAAO;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
package/dist/types/index.js
CHANGED
@@ -15,7 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
15
15
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
16
16
|
};
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
18
|
-
exports.validateAppConfig = exports.isPhotoRequestFromApp = exports.isRtmpStreamStopRequest = exports.isRtmpStreamRequest = exports.isDisplayRequest = exports.isAppSubscriptionUpdate = exports.isAppConnectionInit = 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.isAppConnectionError = exports.isAppConnectionAck = void 0;
|
18
|
+
exports.validateAppConfig = exports.isPhotoRequestFromApp = exports.isRtmpStreamStopRequest = exports.isRtmpStreamRequest = exports.isAudioStopRequest = exports.isAudioPlayRequest = exports.isDisplayRequest = exports.isAppSubscriptionUpdate = exports.isAppConnectionInit = exports.isKeepRtmpStreamAlive = exports.isStopRtmpStream = exports.isStartRtmpStream = exports.isSettingsUpdateToGlasses = exports.isAudioStopRequestToGlasses = exports.isAudioPlayRequestToGlasses = 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.isManagedStreamStatus = exports.isDashboardAlwaysOnChanged = exports.isDashboardModeChanged = exports.isAudioPlayResponse = exports.isAudioChunk = exports.isDataStream = exports.isSettingsUpdate = exports.isAppStopped = exports.isAppConnectionError = exports.isAppConnectionAck = void 0;
|
19
19
|
__exportStar(require("./token"), exports);
|
20
20
|
// Message type enums
|
21
21
|
__exportStar(require("./message-types"), exports);
|
@@ -34,8 +34,10 @@ Object.defineProperty(exports, "isAppStopped", { enumerable: true, get: function
|
|
34
34
|
Object.defineProperty(exports, "isSettingsUpdate", { enumerable: true, get: function () { return cloud_to_app_1.isSettingsUpdate; } });
|
35
35
|
Object.defineProperty(exports, "isDataStream", { enumerable: true, get: function () { return cloud_to_app_1.isDataStream; } });
|
36
36
|
Object.defineProperty(exports, "isAudioChunk", { enumerable: true, get: function () { return cloud_to_app_1.isAudioChunk; } });
|
37
|
+
Object.defineProperty(exports, "isAudioPlayResponse", { enumerable: true, get: function () { return cloud_to_app_1.isAudioPlayResponse; } });
|
37
38
|
Object.defineProperty(exports, "isDashboardModeChanged", { enumerable: true, get: function () { return cloud_to_app_1.isDashboardModeChanged; } });
|
38
39
|
Object.defineProperty(exports, "isDashboardAlwaysOnChanged", { enumerable: true, get: function () { return cloud_to_app_1.isDashboardAlwaysOnChanged; } });
|
40
|
+
Object.defineProperty(exports, "isManagedStreamStatus", { enumerable: true, get: function () { return cloud_to_app_1.isManagedStreamStatus; } });
|
39
41
|
// Re-export the cloud-to-app versions of these type guards since they're the ones
|
40
42
|
// that should be used when dealing with CloudToAppMessage types
|
41
43
|
Object.defineProperty(exports, "isPhotoResponseFromCloud", { enumerable: true, get: function () { return cloud_to_app_1.isPhotoResponse; } });
|
@@ -75,6 +77,8 @@ Object.defineProperty(exports, "isConnectionAck", { enumerable: true, get: funct
|
|
75
77
|
Object.defineProperty(exports, "isDisplayEvent", { enumerable: true, get: function () { return cloud_to_glasses_1.isDisplayEvent; } });
|
76
78
|
Object.defineProperty(exports, "isAppStateChange", { enumerable: true, get: function () { return cloud_to_glasses_1.isAppStateChange; } });
|
77
79
|
Object.defineProperty(exports, "isPhotoRequest", { enumerable: true, get: function () { return cloud_to_glasses_1.isPhotoRequest; } });
|
80
|
+
Object.defineProperty(exports, "isAudioPlayRequestToGlasses", { enumerable: true, get: function () { return cloud_to_glasses_1.isAudioPlayRequestToGlasses; } });
|
81
|
+
Object.defineProperty(exports, "isAudioStopRequestToGlasses", { enumerable: true, get: function () { return cloud_to_glasses_1.isAudioStopRequestToGlasses; } });
|
78
82
|
Object.defineProperty(exports, "isSettingsUpdateToGlasses", { enumerable: true, get: function () { return cloud_to_glasses_1.isSettingsUpdate; } });
|
79
83
|
Object.defineProperty(exports, "isStartRtmpStream", { enumerable: true, get: function () { return cloud_to_glasses_1.isStartRtmpStream; } });
|
80
84
|
Object.defineProperty(exports, "isStopRtmpStream", { enumerable: true, get: function () { return cloud_to_glasses_1.isStopRtmpStream; } });
|
@@ -83,6 +87,8 @@ var app_to_cloud_1 = require("./messages/app-to-cloud");
|
|
83
87
|
Object.defineProperty(exports, "isAppConnectionInit", { enumerable: true, get: function () { return app_to_cloud_1.isAppConnectionInit; } });
|
84
88
|
Object.defineProperty(exports, "isAppSubscriptionUpdate", { enumerable: true, get: function () { return app_to_cloud_1.isAppSubscriptionUpdate; } });
|
85
89
|
Object.defineProperty(exports, "isDisplayRequest", { enumerable: true, get: function () { return app_to_cloud_1.isDisplayRequest; } });
|
90
|
+
Object.defineProperty(exports, "isAudioPlayRequest", { enumerable: true, get: function () { return app_to_cloud_1.isAudioPlayRequest; } });
|
91
|
+
Object.defineProperty(exports, "isAudioStopRequest", { enumerable: true, get: function () { return app_to_cloud_1.isAudioStopRequest; } });
|
86
92
|
Object.defineProperty(exports, "isRtmpStreamRequest", { enumerable: true, get: function () { return app_to_cloud_1.isRtmpStreamRequest; } });
|
87
93
|
Object.defineProperty(exports, "isRtmpStreamStopRequest", { enumerable: true, get: function () { return app_to_cloud_1.isRtmpStreamStopRequest; } });
|
88
94
|
Object.defineProperty(exports, "isPhotoRequestFromApp", { enumerable: true, get: function () { return app_to_cloud_1.isPhotoRequest; } });
|
@@ -20,11 +20,12 @@ export declare enum GlassesToCloudMessageType {
|
|
20
20
|
VPS_COORDINATES = "vps_coordinates",
|
21
21
|
VAD = "VAD",
|
22
22
|
PHONE_NOTIFICATION = "phone_notification",
|
23
|
-
|
23
|
+
PHONE_NOTIFICATION_DISMISSED = "phone_notification_dismissed",
|
24
24
|
CALENDAR_EVENT = "calendar_event",
|
25
25
|
MENTRAOS_SETTINGS_UPDATE_REQUEST = "settings_update_request",
|
26
26
|
CORE_STATUS_UPDATE = "core_status_update",
|
27
|
-
PHOTO_TAKEN = "photo_taken"
|
27
|
+
PHOTO_TAKEN = "photo_taken",
|
28
|
+
AUDIO_PLAY_RESPONSE = "audio_play_response"
|
28
29
|
}
|
29
30
|
/**
|
30
31
|
* Types of messages from cloud to glasses
|
@@ -37,12 +38,16 @@ export declare enum CloudToGlassesMessageType {
|
|
37
38
|
APP_STATE_CHANGE = "app_state_change",
|
38
39
|
MICROPHONE_STATE_CHANGE = "microphone_state_change",
|
39
40
|
PHOTO_REQUEST = "photo_request",
|
41
|
+
AUDIO_PLAY_REQUEST = "audio_play_request",
|
42
|
+
AUDIO_STOP_REQUEST = "audio_stop_request",
|
40
43
|
SETTINGS_UPDATE = "settings_update",
|
41
44
|
START_RTMP_STREAM = "start_rtmp_stream",
|
42
45
|
STOP_RTMP_STREAM = "stop_rtmp_stream",
|
43
46
|
KEEP_RTMP_STREAM_ALIVE = "keep_rtmp_stream_alive",
|
44
47
|
DASHBOARD_MODE_CHANGE = "dashboard_mode_change",
|
45
48
|
DASHBOARD_ALWAYS_ON_CHANGE = "dashboard_always_on_change",
|
49
|
+
SET_LOCATION_TIER = "set_location_tier",
|
50
|
+
REQUEST_SINGLE_LOCATION = "request_single_location",
|
46
51
|
WEBSOCKET_ERROR = "websocket_error"
|
47
52
|
}
|
48
53
|
/**
|
@@ -51,10 +56,15 @@ export declare enum CloudToGlassesMessageType {
|
|
51
56
|
export declare enum AppToCloudMessageType {
|
52
57
|
CONNECTION_INIT = "tpa_connection_init",
|
53
58
|
SUBSCRIPTION_UPDATE = "subscription_update",
|
59
|
+
LOCATION_POLL_REQUEST = "location_poll_request",
|
54
60
|
DISPLAY_REQUEST = "display_event",
|
55
61
|
PHOTO_REQUEST = "photo_request",
|
62
|
+
AUDIO_PLAY_REQUEST = "audio_play_request",
|
63
|
+
AUDIO_STOP_REQUEST = "audio_stop_request",
|
56
64
|
RTMP_STREAM_REQUEST = "rtmp_stream_request",
|
57
65
|
RTMP_STREAM_STOP = "rtmp_stream_stop",
|
66
|
+
MANAGED_STREAM_REQUEST = "managed_stream_request",
|
67
|
+
MANAGED_STREAM_STOP = "managed_stream_stop",
|
58
68
|
DASHBOARD_CONTENT_UPDATE = "dashboard_content_update",
|
59
69
|
DASHBOARD_MODE_CHANGE = "dashboard_mode_change",
|
60
70
|
DASHBOARD_SYSTEM_UPDATE = "dashboard_system_update",
|
@@ -76,7 +86,9 @@ export declare enum CloudToAppMessageType {
|
|
76
86
|
DASHBOARD_ALWAYS_ON_CHANGED = "dashboard_always_on_changed",
|
77
87
|
DATA_STREAM = "data_stream",
|
78
88
|
PHOTO_RESPONSE = "photo_response",
|
89
|
+
AUDIO_PLAY_RESPONSE = "audio_play_response",
|
79
90
|
RTMP_STREAM_STATUS = "rtmp_stream_status",
|
91
|
+
MANAGED_STREAM_STATUS = "managed_stream_status",
|
80
92
|
WEBSOCKET_ERROR = "websocket_error",
|
81
93
|
PERMISSION_ERROR = "permission_error",
|
82
94
|
CUSTOM_MESSAGE = "custom_message",
|
@@ -93,7 +105,7 @@ export declare const ControlActionTypes: readonly [GlassesToCloudMessageType.CON
|
|
93
105
|
/**
|
94
106
|
* Event message types (subset of GlassesToCloudMessageType)
|
95
107
|
*/
|
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.
|
108
|
+
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.PHONE_NOTIFICATION_DISMISSED, GlassesToCloudMessageType.CALENDAR_EVENT, GlassesToCloudMessageType.MENTRAOS_SETTINGS_UPDATE_REQUEST, GlassesToCloudMessageType.CORE_STATUS_UPDATE];
|
97
109
|
/**
|
98
110
|
* Response message types (subset of CloudToGlassesMessageType)
|
99
111
|
*/
|
@@ -101,7 +113,7 @@ export declare const ResponseTypes: readonly [CloudToGlassesMessageType.CONNECTI
|
|
101
113
|
/**
|
102
114
|
* Update message types (subset of CloudToGlassesMessageType)
|
103
115
|
*/
|
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];
|
116
|
+
export declare const UpdateTypes: readonly [CloudToGlassesMessageType.DISPLAY_EVENT, CloudToGlassesMessageType.APP_STATE_CHANGE, CloudToGlassesMessageType.MICROPHONE_STATE_CHANGE, CloudToGlassesMessageType.PHOTO_REQUEST, CloudToGlassesMessageType.AUDIO_PLAY_REQUEST, CloudToGlassesMessageType.AUDIO_STOP_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
117
|
/**
|
106
118
|
* Dashboard message types
|
107
119
|
*/
|
@@ -1 +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,
|
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,4BAA4B,iCAA0C;IACtE,cAAc,mBAA4B;IAC1C,gCAAgC,4BAA8C;IAC9E,kBAAkB,uBAAgC;IAClD,WAAW,gBAAyB;IACpC,mBAAmB,wBAAwB;CAC5C;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,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,eAAe,oBAAoB;IAGnC,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,sBAAsB,2BAA2B;IAGjD,qBAAqB,0BAA0B;IAC/C,0BAA0B,+BAA+B;IAGzD,iBAAiB,sBAAsB;IACvC,uBAAuB,4BAA4B;IAEnD,eAAe,oBAAoB;CACpC;AAED;;GAEG;AACH,oBAAY,qBAAqB;IAE/B,eAAe,wBAAwB;IACvC,mBAAmB,wBAAwB;IAC3C,qBAAqB,0BAA0B;IAG/C,eAAe,kBAAkB;IACjC,aAAa,kBAAkB;IAC/B,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IAGzC,mBAAmB,wBAAwB;IAC3C,gBAAgB,qBAAqB;IAGrC,sBAAsB,2BAA2B;IACjD,mBAAmB,wBAAwB;IAG3C,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,mBAAmB,wBAAwB;IAC3C,kBAAkB,uBAAuB;IACzC,qBAAqB,0BAA0B;IAE/C,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,imBAcb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa,uIAIhB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,WAAW,qjBAad,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,qBAAqB,wPAMxB,CAAC"}
|