@mentra/sdk 2.1.26 → 2.1.27
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/server/index.js +8 -8
- package/dist/app/session/dashboard.d.ts +1 -1
- package/dist/app/session/dashboard.d.ts.map +1 -1
- package/dist/app/session/events.d.ts +3 -1
- package/dist/app/session/events.d.ts.map +1 -1
- package/dist/app/session/events.js +12 -2
- package/dist/app/session/index.d.ts.map +1 -1
- package/dist/app/session/index.js +3 -1
- package/dist/app/session/modules/audio.js +1 -1
- package/dist/app/session/modules/camera.d.ts.map +1 -1
- package/dist/app/session/modules/camera.js +4 -0
- package/dist/app/session/modules/location.d.ts.map +1 -1
- package/dist/app/session/modules/location.js +3 -0
- package/dist/constants/log-messages/color.d.ts +5 -0
- package/dist/constants/log-messages/color.d.ts.map +1 -0
- package/dist/constants/log-messages/color.js +14 -0
- package/dist/constants/log-messages/logos.d.ts +4 -0
- package/dist/constants/log-messages/logos.d.ts.map +1 -0
- package/dist/constants/log-messages/logos.js +48 -0
- package/dist/constants/{messages.d.ts → log-messages/updates.d.ts} +2 -3
- package/dist/constants/log-messages/updates.d.ts.map +1 -0
- package/dist/constants/log-messages/updates.js +55 -0
- package/dist/constants/log-messages/warning.d.ts +8 -0
- package/dist/constants/log-messages/warning.d.ts.map +1 -0
- package/dist/constants/log-messages/warning.js +89 -0
- package/dist/logging/logger.d.ts +2 -1
- package/dist/logging/logger.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/message-types.d.ts +5 -3
- package/dist/types/message-types.d.ts.map +1 -1
- package/dist/types/message-types.js +5 -0
- package/dist/types/messages/cloud-to-app.d.ts +9 -0
- package/dist/types/messages/cloud-to-app.d.ts.map +1 -1
- package/dist/types/messages/cloud-to-glasses.d.ts +15 -1
- package/dist/types/messages/cloud-to-glasses.d.ts.map +1 -1
- package/dist/types/messages/glasses-to-cloud.d.ts +9 -1
- package/dist/types/messages/glasses-to-cloud.d.ts.map +1 -1
- package/dist/types/messages/glasses-to-cloud.js +1 -0
- package/dist/types/streams.js +1 -1
- package/dist/utils/permissions-utils.d.ts +8 -0
- package/dist/utils/permissions-utils.d.ts.map +1 -0
- package/dist/utils/permissions-utils.js +263 -0
- package/package.json +4 -1
- package/dist/constants/messages.d.ts.map +0 -1
- package/dist/constants/messages.js +0 -57
package/dist/app/server/index.js
CHANGED
|
@@ -15,7 +15,7 @@ const path_1 = __importDefault(require("path"));
|
|
|
15
15
|
const fs_1 = __importDefault(require("fs"));
|
|
16
16
|
const index_1 = require("../session/index");
|
|
17
17
|
const webview_1 = require("../webview");
|
|
18
|
-
const
|
|
18
|
+
const updates_1 = require("../../constants/log-messages/updates");
|
|
19
19
|
const types_1 = require("../../types");
|
|
20
20
|
const logger_1 = require("../../logging/logger");
|
|
21
21
|
const axios_1 = __importDefault(require("axios"));
|
|
@@ -180,22 +180,22 @@ class AppServer {
|
|
|
180
180
|
}
|
|
181
181
|
// this.logger.debug(`Developer is using SDK version: ${currentVersion}`);
|
|
182
182
|
// Fetch latest SDK version from the API endpoint
|
|
183
|
-
let latest =
|
|
183
|
+
let latest = null;
|
|
184
184
|
try {
|
|
185
185
|
const cloudHost = "api.mentra.glass";
|
|
186
|
-
const response = await axios_1.default.get(`https://${cloudHost}/api/sdk/version
|
|
186
|
+
const response = await axios_1.default.get(`https://${cloudHost}/api/sdk/version`, { timeout: 3000 });
|
|
187
187
|
if (response.data && response.data.success && response.data.data) {
|
|
188
|
-
latest = response.data.data.latest;
|
|
188
|
+
latest = response.data.data.latest;
|
|
189
189
|
}
|
|
190
190
|
}
|
|
191
|
-
catch
|
|
192
|
-
this.logger.debug(
|
|
191
|
+
catch {
|
|
192
|
+
this.logger.debug("Failed to fetch latest SDK version - skipping version check (offline or API unavailable)");
|
|
193
193
|
}
|
|
194
194
|
if (currentVersion === "not-found") {
|
|
195
195
|
this.logger.warn(`⚠️ @mentra/sdk not found in your project dependencies. Please install it with: npm install @mentra/sdk`);
|
|
196
196
|
}
|
|
197
197
|
else if (latest && latest !== currentVersion) {
|
|
198
|
-
this.logger.warn((0,
|
|
198
|
+
this.logger.warn((0, updates_1.newSDKUpdate)(latest));
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
201
|
catch (err) {
|
|
@@ -554,7 +554,7 @@ class AppServer {
|
|
|
554
554
|
});
|
|
555
555
|
}
|
|
556
556
|
// Handle error response (no photo file, but has error info)
|
|
557
|
-
if (type === "photo_error" ||
|
|
557
|
+
if (type === "photo_error" || success === false) {
|
|
558
558
|
// Create error response object
|
|
559
559
|
const errorResponse = {
|
|
560
560
|
requestId,
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import { DashboardAPI, DashboardContentAPI, DashboardMode, DashboardSystemAPI } from "../../types/dashboard";
|
|
8
8
|
import { EventManager } from "./events";
|
|
9
9
|
import type { AppSession } from "./index";
|
|
10
|
-
import { AppToCloudMessage } from "
|
|
10
|
+
import { AppToCloudMessage } from "../../types";
|
|
11
11
|
/**
|
|
12
12
|
* Implementation of DashboardSystemAPI interface for system dashboard App
|
|
13
13
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../src/app/session/dashboard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAInB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../src/app/session/dashboard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAInB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAQhD;;GAEG;AACH,qBAAa,sBAAuB,YAAW,kBAAkB;IAE7D,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,IAAI;gBAFJ,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI;IAGtC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIjC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIlC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIpC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIrC,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAWtC,OAAO,CAAC,mBAAmB;CAc5B;AAED;;GAEG;AACH,qBAAa,uBAAwB,YAAW,mBAAmB;IAK/D,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,MAAM;IAPhB,OAAO,CAAC,WAAW,CAAkC;gBAI3C,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,EAC5B,MAAM,EAAE,YAAY;IAG9B,KAAK,CACH,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,aAAa,EAAyB,GAC9C,IAAI;IAYP,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIlC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAgBhC,cAAc,IAAI,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC;IAQvD,YAAY,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI;IAe1E,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI;CASnD;AAED;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,YAAY;IACnD,SAAgB,OAAO,EAAE,mBAAmB,CAAC;IAC7C,SAAgB,MAAM,CAAC,EAAE,kBAAkB,CAAC;gBAEhC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI;CA0B5E"}
|
|
@@ -76,11 +76,13 @@ export type EventData<T extends EventType> = T extends keyof StreamDataTypes ? S
|
|
|
76
76
|
export declare class EventManager {
|
|
77
77
|
private subscribe;
|
|
78
78
|
private unsubscribe;
|
|
79
|
+
private packageName;
|
|
80
|
+
private baseUrl;
|
|
79
81
|
private emitter;
|
|
80
82
|
private handlers;
|
|
81
83
|
private lastLanguageTranscriptioCleanupHandler;
|
|
82
84
|
private lastLanguageTranslationCleanupHandler;
|
|
83
|
-
constructor(subscribe: (type: ExtendedStreamType) => void, unsubscribe: (type: ExtendedStreamType) => void);
|
|
85
|
+
constructor(subscribe: (type: ExtendedStreamType) => void, unsubscribe: (type: ExtendedStreamType) => void, packageName: string, baseUrl: string);
|
|
84
86
|
onTranscription(handler: Handler<TranscriptionData>): () => void;
|
|
85
87
|
/**
|
|
86
88
|
* 🎤 Listen for transcription events in a specific language
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/app/session/events.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,cAAc,EAEd,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,GAAG,EACH,UAAU,EACV,aAAa,EACb,cAAc,EAKd,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EACnB,0BAA0B,EAC1B,YAAY,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/app/session/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,10 +9,13 @@ exports.EventManager = void 0;
|
|
|
9
9
|
*/
|
|
10
10
|
const events_1 = __importDefault(require("events"));
|
|
11
11
|
const types_1 = require("../../types");
|
|
12
|
+
const permissions_utils_1 = require("../../utils/permissions-utils");
|
|
12
13
|
class EventManager {
|
|
13
|
-
constructor(subscribe, unsubscribe) {
|
|
14
|
+
constructor(subscribe, unsubscribe, packageName, baseUrl) {
|
|
14
15
|
this.subscribe = subscribe;
|
|
15
16
|
this.unsubscribe = unsubscribe;
|
|
17
|
+
this.packageName = packageName;
|
|
18
|
+
this.baseUrl = baseUrl;
|
|
16
19
|
this.emitter = new events_1.default();
|
|
17
20
|
this.handlers = new Map();
|
|
18
21
|
this.lastLanguageTranscriptioCleanupHandler = () => { };
|
|
@@ -20,7 +23,8 @@ class EventManager {
|
|
|
20
23
|
}
|
|
21
24
|
// Convenience handlers for common event types
|
|
22
25
|
onTranscription(handler) {
|
|
23
|
-
//
|
|
26
|
+
// Only make the API call if we have a base URL (server-side environment)
|
|
27
|
+
(0, permissions_utils_1.microPhoneWarnLog)(this.baseUrl, this.packageName, this.onTranscription.name);
|
|
24
28
|
return this.addHandler((0, types_1.createTranscriptionStream)("en-US"), handler);
|
|
25
29
|
}
|
|
26
30
|
/**
|
|
@@ -51,6 +55,7 @@ class EventManager {
|
|
|
51
55
|
* @throws Error if language codes are invalid
|
|
52
56
|
*/
|
|
53
57
|
ontranslationForLanguage(sourceLanguage, targetLanguage, handler) {
|
|
58
|
+
(0, permissions_utils_1.microPhoneWarnLog)(this.baseUrl || "", this.packageName, this.ontranslationForLanguage.name);
|
|
54
59
|
if (!(0, types_1.isValidLanguageCode)(sourceLanguage)) {
|
|
55
60
|
throw new Error(`Invalid source language code: ${sourceLanguage}`);
|
|
56
61
|
}
|
|
@@ -81,6 +86,7 @@ class EventManager {
|
|
|
81
86
|
return this.addHandler(types_1.StreamType.PHONE_BATTERY_UPDATE, handler);
|
|
82
87
|
}
|
|
83
88
|
onVoiceActivity(handler) {
|
|
89
|
+
(0, permissions_utils_1.microPhoneWarnLog)(this.baseUrl || "", this.packageName, this.onVoiceActivity.name);
|
|
84
90
|
return this.addHandler(types_1.StreamType.VAD, handler);
|
|
85
91
|
}
|
|
86
92
|
onLocation(handler) {
|
|
@@ -196,6 +202,10 @@ class EventManager {
|
|
|
196
202
|
* Use this for stream types without specific handler methods
|
|
197
203
|
*/
|
|
198
204
|
on(type, handler) {
|
|
205
|
+
// Check permissions for specific stream types
|
|
206
|
+
if (type === types_1.StreamType.CALENDAR_EVENT) {
|
|
207
|
+
(0, permissions_utils_1.calendarWarnLog)(this.baseUrl, this.packageName, "on");
|
|
208
|
+
}
|
|
199
209
|
return this.addHandler(type, handler);
|
|
200
210
|
}
|
|
201
211
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app/session/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAYL,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,0BAA0B,EAC1B,iBAAiB,EACjB,eAAe,EAcf,WAAW,EACX,UAAU,EACV,SAAS,EAGT,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,YAAY,EAEb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAYtC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app/session/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,7 @@ const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
|
25
25
|
// Import the cloud-to-app specific type guards
|
|
26
26
|
const cloud_to_app_1 = require("../../types/messages/cloud-to-app");
|
|
27
27
|
const simple_storage_1 = require("./modules/simple-storage");
|
|
28
|
+
const permissions_utils_1 = require("../../utils/permissions-utils");
|
|
28
29
|
// List of event types that should never be subscribed to as streams
|
|
29
30
|
const APP_TO_APP_EVENT_TYPES = [
|
|
30
31
|
"app_message_received",
|
|
@@ -135,7 +136,7 @@ class AppSession {
|
|
|
135
136
|
this.logger.error(error, `⚠️ [${this.config.packageName}] Invalid WebSocket URL format: ${this.config.mentraOSWebsocketUrl}`);
|
|
136
137
|
}
|
|
137
138
|
}
|
|
138
|
-
this.events = new events_1.EventManager(this.subscribe.bind(this), this.unsubscribe.bind(this));
|
|
139
|
+
this.events = new events_1.EventManager(this.subscribe.bind(this), this.unsubscribe.bind(this), this.config.packageName, this.getHttpsServerUrl() || "");
|
|
139
140
|
this.layouts = new layouts_1.LayoutManager(config.packageName, this.send.bind(this));
|
|
140
141
|
// Initialize settings manager with all necessary parameters, including subscribeFn for MentraOS settings
|
|
141
142
|
this.settings = new settings_1.SettingsManager(this.settingsData, this.config.packageName, this.config.mentraOSWebsocketUrl, this.sessionId ?? undefined, async (streams) => {
|
|
@@ -242,6 +243,7 @@ class AppSession {
|
|
|
242
243
|
* @deprecated Use session.events.onPhoneNotifications() instead
|
|
243
244
|
*/
|
|
244
245
|
onPhoneNotifications(handler) {
|
|
246
|
+
(0, permissions_utils_1.readNotificationWarnLog)(this.getHttpsServerUrl() || "", this.getPackageName(), "onPhoneNotifications");
|
|
245
247
|
return this.events.onPhoneNotifications(handler);
|
|
246
248
|
}
|
|
247
249
|
/**
|
|
@@ -94,7 +94,7 @@ class AudioManager {
|
|
|
94
94
|
// Set timeout to avoid hanging promises
|
|
95
95
|
const timeoutMs = 60000; // 60 seconds
|
|
96
96
|
if (this.session && this.session.resources) {
|
|
97
|
-
// Use session's resource tracker for automatic
|
|
97
|
+
// Use session's resource tracker for automatic cleeanup
|
|
98
98
|
this.session.resources.setTimeout(() => {
|
|
99
99
|
if (this.pendingAudioRequests.has(requestId)) {
|
|
100
100
|
this.pendingAudioRequests
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../../../src/app/session/modules/camera.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEL,SAAS,EAIT,gBAAgB,EAEhB,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,EACZ,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAEL,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../../../src/app/session/modules/camera.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ exports.CameraModule = void 0;
|
|
|
10
10
|
const types_1 = require("../../../types");
|
|
11
11
|
const streams_1 = require("../../../types/streams");
|
|
12
12
|
const camera_managed_extension_1 = require("./camera-managed-extension");
|
|
13
|
+
const permissions_utils_1 = require("../../../utils/permissions-utils");
|
|
13
14
|
/**
|
|
14
15
|
* 📷 Camera Module Implementation
|
|
15
16
|
*
|
|
@@ -84,6 +85,8 @@ class CameraModule {
|
|
|
84
85
|
*/
|
|
85
86
|
async requestPhoto(options) {
|
|
86
87
|
return new Promise((resolve, reject) => {
|
|
88
|
+
const baseUrl = this.session?.getHttpsServerUrl?.() || "";
|
|
89
|
+
(0, permissions_utils_1.cameraWarnLog)(baseUrl, this.packageName, "requestPhoto");
|
|
87
90
|
try {
|
|
88
91
|
console.log("DEBUG: requestPhoto options:", options);
|
|
89
92
|
// Generate unique request ID
|
|
@@ -281,6 +284,7 @@ class CameraModule {
|
|
|
281
284
|
*/
|
|
282
285
|
async startStream(options) {
|
|
283
286
|
this.logger.info({ rtmpUrl: options.rtmpUrl }, `📹 RTMP stream request starting`);
|
|
287
|
+
(0, permissions_utils_1.cameraWarnLog)(this.session.getHttpsServerUrl?.(), this.packageName, "startStream");
|
|
284
288
|
if (!options.rtmpUrl) {
|
|
285
289
|
throw new Error("rtmpUrl is required");
|
|
286
290
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../../../src/app/session/modules/location.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../../../src/app/session/modules/location.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAEL,cAAc,EAEf,MAAM,gBAAgB,CAAC;AAExB,qBAAa,eAAe;IAIxB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,IAAI;IAJd,OAAO,CAAC,0BAA0B,CAAwB;gBAGhD,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI;IAI/B,iBAAiB,CACtB,OAAO,EAAE;QACP,QAAQ,EACJ,UAAU,GACV,MAAM,GACN,UAAU,GACV,WAAW,GACX,eAAe,GACf,WAAW,GACX,iBAAiB,GACjB,SAAS,CAAC;KACf,EACD,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,GACtC,MAAM,IAAI;IAkBN,qBAAqB,IAAI,IAAI;IAUvB,iBAAiB,CAAC,OAAO,EAAE;QACtC,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,cAAc,CAAC;CA+B5B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LocationManager = void 0;
|
|
4
|
+
const permissions_utils_1 = require("../../../utils/permissions-utils");
|
|
4
5
|
const types_1 = require("../../../types");
|
|
5
6
|
class LocationManager {
|
|
6
7
|
constructor(session, send) {
|
|
@@ -10,6 +11,8 @@ class LocationManager {
|
|
|
10
11
|
}
|
|
11
12
|
// subscribes to the continuous location stream with a specified accuracy tier
|
|
12
13
|
subscribeToStream(options, handler) {
|
|
14
|
+
//Checking for permission location from dev console:
|
|
15
|
+
(0, permissions_utils_1.locationWarnLog)(this.session.getHttpsServerUrl() || "", this.session.getPackageName(), this.subscribeToStream.name);
|
|
13
16
|
const subscription = {
|
|
14
17
|
stream: "location_stream",
|
|
15
18
|
rate: options.accuracy,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/constants/log-messages/color.ts"],"names":[],"mappings":"AAAA,iBAAS,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnC;AAED,iBAAS,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpC;AAED,iBAAS,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjC;AAED,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.green = green;
|
|
4
|
+
exports.yellow = yellow;
|
|
5
|
+
exports.red = red;
|
|
6
|
+
function green(text) {
|
|
7
|
+
return `\x1b[32m${text}\x1b[0m`;
|
|
8
|
+
}
|
|
9
|
+
function yellow(text) {
|
|
10
|
+
return `\x1b[33m${text}\x1b[0m`;
|
|
11
|
+
}
|
|
12
|
+
function red(text) {
|
|
13
|
+
return `\x1b[31m${text}\x1b[0m`;
|
|
14
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const warnLog: string;
|
|
2
|
+
export declare const mentraLogo_1: string;
|
|
3
|
+
export declare const newUpdateText = "\n\u252C\u2554\u2557\u2554\u2554\u2550\u2557\u2566 \u2566 \u2566 \u2566\u2554\u2550\u2557\u2554\u2566\u2557\u2554\u2550\u2557\u2554\u2566\u2557\u2554\u2550\u2557\u252C\n\u2502\u2551\u2551\u2551\u2551\u2563 \u2551\u2551\u2551 \u2551 \u2551\u2560\u2550\u255D \u2551\u2551\u2560\u2550\u2563 \u2551 \u2551\u2563 \u2502\no\u255D\u255A\u255D\u255A\u2550\u255D\u255A\u2569\u255D \u255A\u2550\u255D\u2569 \u2550\u2569\u255D\u2569 \u2569 \u2569 \u255A\u2550\u255Do\n";
|
|
4
|
+
//# sourceMappingURL=logos.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logos.d.ts","sourceRoot":"","sources":["../../../src/constants/log-messages/logos.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,QASc,CAAC;AAEnC,eAAO,MAAM,YAAY,QAUxB,CAAC;AAEF,eAAO,MAAM,aAAa,kdAIzB,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.newUpdateText = exports.mentraLogo_1 = exports.warnLog = void 0;
|
|
4
|
+
exports.warnLog = String.raw `
|
|
5
|
+
__/\\\\____________/\\\\_
|
|
6
|
+
_\/\\\\\\________/\\\\\\_
|
|
7
|
+
_\/\\\//\\\____/\\\//\\\_
|
|
8
|
+
_\/\\\\///\\\/\\\/_\/\\\_
|
|
9
|
+
_\/\\\__\///\\\/___\/\\\_
|
|
10
|
+
_\/\\\____\///_____\/\\\_
|
|
11
|
+
_\/\\\_____________\/\\\_
|
|
12
|
+
_\/\\\_____________\/\\\_
|
|
13
|
+
_\///______________\///__`;
|
|
14
|
+
exports.mentraLogo_1 = String.raw `
|
|
15
|
+
__ __ ________ __ __ ________ _______ ______
|
|
16
|
+
| \ / \| \| \ | \| \| \ / \
|
|
17
|
+
| $$\ / $$| $$$$$$$$| $$\ | $$ \$$$$$$$$| $$$$$$$\| $$$$$$\
|
|
18
|
+
| $$$\ / $$$| $$__ | $$$\| $$ | $$ | $$__| $$| $$__| $$
|
|
19
|
+
| $$$$\ $$$$| $$ \ | $$$$\ $$ | $$ | $$ $$| $$ $$
|
|
20
|
+
| $$\$$ $$ $$| $$$$$ | $$\$$ $$ | $$ | $$$$$$$\| $$$$$$$$
|
|
21
|
+
| $$ \$$$| $$| $$_____ | $$ \$$$$ | $$ | $$ | $$| $$ | $$
|
|
22
|
+
| $$ \$ | $$| $$ \| $$ \$$$ | $$ | $$ | $$| $$ | $$
|
|
23
|
+
\$$ \$$ \$$$$$$$$ \$$ \$$ \$$ \$$ \$$ \$$ \$$
|
|
24
|
+
`;
|
|
25
|
+
exports.newUpdateText = `
|
|
26
|
+
┬╔╗╔╔═╗╦ ╦ ╦ ╦╔═╗╔╦╗╔═╗╔╦╗╔═╗┬
|
|
27
|
+
│║║║║╣ ║║║ ║ ║╠═╝ ║║╠═╣ ║ ║╣ │
|
|
28
|
+
o╝╚╝╚═╝╚╩╝ ╚═╝╩ ═╩╝╩ ╩ ╩ ╚═╝o
|
|
29
|
+
`;
|
|
30
|
+
// export const newSDKUpdate = (versionNumb: string): string => {
|
|
31
|
+
// return `
|
|
32
|
+
// /$$ /$$ /$$$$$$$$ /$$ /$$ /$$$$$$$$ /$$$$$$$ /$$$$$$
|
|
33
|
+
// | $$$ /$$$| $$_____/| $$$ | $$|__ $$__/| $$__ $$ /$$__ $$
|
|
34
|
+
// | $$$$ /$$$$| $$ | $$$$| $$ | $$ | $$ \ $$| $$ \ $$
|
|
35
|
+
// | $$ $$/$$ $$| $$$$$ | $$ $$ $$ | $$ | $$$$$$$/| $$$$$$$$
|
|
36
|
+
// | $$ $$$| $$| $$__/ | $$ $$$$ | $$ | $$__ $$| $$__ $$
|
|
37
|
+
// | $$\ $ | $$| $$ | $$\ $$$ | $$ | $$ \ $$| $$ | $$
|
|
38
|
+
// | $$ \/ | $$| $$$$$$$$| $$ \ $$ | $$ | $$ | $$| $$ | $$
|
|
39
|
+
// |__/ |__/|________/|__/ \__/ |__/ |__/ |__/|__/ |__/
|
|
40
|
+
// ┬╔╗╔╔═╗╦ ╦ ╦ ╦╔═╗╔╦╗╔═╗╔╦╗╔═╗┬
|
|
41
|
+
// │║║║║╣ ║║║ ║ ║╠═╝ ║║╠═╣ ║ ║╣ │
|
|
42
|
+
// o╝╚╝╚═╝╚╩╝ ╚═╝╩ ═╩╝╩ ╩ ╩ ╚═╝o
|
|
43
|
+
// -------------------------------
|
|
44
|
+
// SDK VERSION V${versionNumb} is out!
|
|
45
|
+
// -------------------------------
|
|
46
|
+
// bun install @mentra/sdk@latest
|
|
47
|
+
// `;
|
|
48
|
+
// };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* updates.ts
|
|
3
3
|
*
|
|
4
4
|
* This file defines constant messages that should be displayed
|
|
5
5
|
* in the terminal to notify developers about new SDK releases.
|
|
@@ -14,6 +14,5 @@
|
|
|
14
14
|
*
|
|
15
15
|
*
|
|
16
16
|
*/
|
|
17
|
-
export declare const newSDKUpdate2: (versionNumb: string) => string;
|
|
18
17
|
export declare const newSDKUpdate: (versionNumb: string) => string;
|
|
19
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=updates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updates.d.ts","sourceRoot":"","sources":["../../../src/constants/log-messages/updates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAmCH,eAAO,MAAM,YAAY,GAAI,aAAa,MAAM,KAAG,MAElD,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* updates.ts
|
|
4
|
+
*
|
|
5
|
+
* This file defines constant messages that should be displayed
|
|
6
|
+
* in the terminal to notify developers about new SDK releases.
|
|
7
|
+
*
|
|
8
|
+
* Each function generates a stylized ASCII message (banner-style)
|
|
9
|
+
* that highlights the latest SDK version and provides the npm install command.
|
|
10
|
+
* https://patorjk.com/software/taag/
|
|
11
|
+
*
|
|
12
|
+
* These messages are intended to be logged to the console or shown in
|
|
13
|
+
* terminal output so developers are aware of updates in a clear
|
|
14
|
+
* and visually distinct way.
|
|
15
|
+
*
|
|
16
|
+
*
|
|
17
|
+
*/
|
|
18
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
19
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.newSDKUpdate = void 0;
|
|
23
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
24
|
+
const boxen_1 = __importDefault(require("boxen"));
|
|
25
|
+
const logos_1 = require("./logos");
|
|
26
|
+
const createUpdateNotification = (versionNumb) => {
|
|
27
|
+
const line = chalk_1.default.bold.gray("-------------------------------");
|
|
28
|
+
const logo = chalk_1.default.cyan(logos_1.mentraLogo_1);
|
|
29
|
+
const title = chalk_1.default.bold.cyan(logos_1.newUpdateText);
|
|
30
|
+
const versionMessage = `Version ${chalk_1.default.bold.cyan(`SDK VERSION V${versionNumb} is out! 🎉`)}`;
|
|
31
|
+
const currentNote = chalk_1.default.yellow("You are running an older version");
|
|
32
|
+
const instructions = chalk_1.default.yellow("Update to the latest version with:");
|
|
33
|
+
const command = chalk_1.default.green.bold("bun install @mentra/sdk@latest");
|
|
34
|
+
const content = [
|
|
35
|
+
logo,
|
|
36
|
+
title,
|
|
37
|
+
line,
|
|
38
|
+
versionMessage,
|
|
39
|
+
currentNote,
|
|
40
|
+
line,
|
|
41
|
+
instructions,
|
|
42
|
+
command,
|
|
43
|
+
].join("\n");
|
|
44
|
+
return (0, boxen_1.default)(content, {
|
|
45
|
+
padding: 1,
|
|
46
|
+
margin: 1,
|
|
47
|
+
borderStyle: "round",
|
|
48
|
+
borderColor: "cyan",
|
|
49
|
+
textAlignment: "left",
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
const newSDKUpdate = (versionNumb) => {
|
|
53
|
+
return createUpdateNotification(versionNumb);
|
|
54
|
+
};
|
|
55
|
+
exports.newSDKUpdate = newSDKUpdate;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const noMicrophoneWarn: (funcName?: string, packageName?: string) => string;
|
|
2
|
+
export declare const locationWarn: (funcName?: string, packageName?: string) => string;
|
|
3
|
+
export declare const baackgroundLocationWarn: (funcName?: string, packageName?: string) => string;
|
|
4
|
+
export declare const calendarWarn: (funcName?: string, packageName?: string) => string;
|
|
5
|
+
export declare const readNotficationWarn: (funcName?: string, packageName?: string) => string;
|
|
6
|
+
export declare const postNotficationWarn: (funcName?: string, packageName?: string) => string;
|
|
7
|
+
export declare const cameraWarn: (funcName?: string, packageName?: string) => string;
|
|
8
|
+
//# sourceMappingURL=warning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warning.d.ts","sourceRoot":"","sources":["../../../src/constants/log-messages/warning.ts"],"names":[],"mappings":"AA0EA,eAAO,MAAM,gBAAgB,GAC3B,WAAW,MAAM,EACjB,cAAc,MAAM,KACnB,MAEF,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,WAAW,MAAM,EACjB,cAAc,MAAM,KACnB,MAEF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,WAAW,MAAM,EACjB,cAAc,MAAM,KACnB,MAEF,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,WAAW,MAAM,EACjB,cAAc,MAAM,KACnB,MAEF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,WAAW,MAAM,EACjB,cAAc,MAAM,KACnB,MAEF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,WAAW,MAAM,EACjB,cAAc,MAAM,KACnB,MAEF,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,WAAW,MAAM,EAAE,cAAc,MAAM,KAAG,MAEpE,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.cameraWarn = exports.postNotficationWarn = exports.readNotficationWarn = exports.calendarWarn = exports.baackgroundLocationWarn = exports.locationWarn = exports.noMicrophoneWarn = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* warning.ts
|
|
9
|
+
*
|
|
10
|
+
* This file defines styled warning messages that are displayed when an app
|
|
11
|
+
* attempts to use functionality requiring permissions it hasn't declared.
|
|
12
|
+
*
|
|
13
|
+
* Each function generates a bordered terminal warning box with:
|
|
14
|
+
* - ASCII art logo (left side)
|
|
15
|
+
* - Permission requirement details (right side)
|
|
16
|
+
* - Link to developer portal for adding permissions
|
|
17
|
+
*
|
|
18
|
+
* The warnings use chalk for terminal colors and boxen for bordered output,
|
|
19
|
+
* creating a professional side-by-side layout that alerts developers to
|
|
20
|
+
* missing permissions in their app configuration.
|
|
21
|
+
*
|
|
22
|
+
* These are shown during SDK runtime when permission checks fail, helping
|
|
23
|
+
* developers identify and fix permission issues quickly.
|
|
24
|
+
*/
|
|
25
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
26
|
+
const boxen_1 = __importDefault(require("boxen"));
|
|
27
|
+
const logos_1 = require("./logos");
|
|
28
|
+
const createPermissionWarning = (permissionName, funcName, packageName) => {
|
|
29
|
+
// Strip ANSI codes for width calculation
|
|
30
|
+
// eslint-disable-next-line no-control-regex
|
|
31
|
+
const stripAnsi = (str) => str.replace(/\u001b\[\d+m/g, "");
|
|
32
|
+
const title = chalk_1.default.bold.yellow("⚠️ Permission Required");
|
|
33
|
+
const message = `${chalk_1.default.yellow(funcName || "This function")} requires ${chalk_1.default.bold(permissionName)} permission.`;
|
|
34
|
+
const instructions = chalk_1.default.dim("Please enable this permission in the developer portal at:");
|
|
35
|
+
const url = chalk_1.default.cyan.underline(`https://console.mentra.glass/apps/${packageName}/edit`);
|
|
36
|
+
const hint = chalk_1.default.dim("under *Required Permissions*.");
|
|
37
|
+
// Split logo into lines (without color for width calculation)
|
|
38
|
+
const logoLines = logos_1.warnLog.split("\n");
|
|
39
|
+
const coloredLogoLines = logoLines.map((line) => chalk_1.default.yellow(line));
|
|
40
|
+
const textContent = [title, "", message, "", instructions, url, "", hint];
|
|
41
|
+
// Find actual logo width (max line length without ANSI codes)
|
|
42
|
+
const logoWidth = Math.max(...logoLines.map((line) => stripAnsi(line).length));
|
|
43
|
+
// Create side-by-side layout
|
|
44
|
+
const maxLines = Math.max(coloredLogoLines.length, textContent.length);
|
|
45
|
+
const combinedLines = [];
|
|
46
|
+
for (let i = 0; i < maxLines; i++) {
|
|
47
|
+
const rawLogoLine = logoLines[i] || "";
|
|
48
|
+
const coloredLogoLine = coloredLogoLines[i] || "";
|
|
49
|
+
const actualLogoLength = stripAnsi(rawLogoLine).length;
|
|
50
|
+
const padding = " ".repeat(Math.max(0, logoWidth - actualLogoLength));
|
|
51
|
+
const textLine = textContent[i] || "";
|
|
52
|
+
combinedLines.push(`${coloredLogoLine}${padding} ${textLine}`);
|
|
53
|
+
}
|
|
54
|
+
return (0, boxen_1.default)(combinedLines.join("\n"), {
|
|
55
|
+
padding: 1,
|
|
56
|
+
margin: 1,
|
|
57
|
+
borderStyle: "round",
|
|
58
|
+
borderColor: "yellow",
|
|
59
|
+
float: "left",
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
const noMicrophoneWarn = (funcName, packageName) => {
|
|
63
|
+
return createPermissionWarning("microphone", funcName, packageName);
|
|
64
|
+
};
|
|
65
|
+
exports.noMicrophoneWarn = noMicrophoneWarn;
|
|
66
|
+
const locationWarn = (funcName, packageName) => {
|
|
67
|
+
return createPermissionWarning("location", funcName, packageName);
|
|
68
|
+
};
|
|
69
|
+
exports.locationWarn = locationWarn;
|
|
70
|
+
const baackgroundLocationWarn = (funcName, packageName) => {
|
|
71
|
+
return createPermissionWarning("background location", funcName, packageName);
|
|
72
|
+
};
|
|
73
|
+
exports.baackgroundLocationWarn = baackgroundLocationWarn;
|
|
74
|
+
const calendarWarn = (funcName, packageName) => {
|
|
75
|
+
return createPermissionWarning("calendar", funcName, packageName);
|
|
76
|
+
};
|
|
77
|
+
exports.calendarWarn = calendarWarn;
|
|
78
|
+
const readNotficationWarn = (funcName, packageName) => {
|
|
79
|
+
return createPermissionWarning("read notification", funcName, packageName);
|
|
80
|
+
};
|
|
81
|
+
exports.readNotficationWarn = readNotficationWarn;
|
|
82
|
+
const postNotficationWarn = (funcName, packageName) => {
|
|
83
|
+
return createPermissionWarning("post notification", funcName, packageName);
|
|
84
|
+
};
|
|
85
|
+
exports.postNotficationWarn = postNotficationWarn;
|
|
86
|
+
const cameraWarn = (funcName, packageName) => {
|
|
87
|
+
return createPermissionWarning("camera", funcName, packageName);
|
|
88
|
+
};
|
|
89
|
+
exports.cameraWarn = cameraWarn;
|
package/dist/logging/logger.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logging/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logging/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AA2ExB,eAAO,MAAM,MAAM,6BAAuC,CAAC;AAS3D,eAAe,MAAM,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -34,7 +34,7 @@ export interface WebSocketError {
|
|
|
34
34
|
details?: unknown;
|
|
35
35
|
}
|
|
36
36
|
import { Request } from "express";
|
|
37
|
-
import { AppSession } from "
|
|
37
|
+
import { AppSession } from "../app/session";
|
|
38
38
|
export interface AuthenticatedRequest extends Request {
|
|
39
39
|
authUserId?: string;
|
|
40
40
|
activeSession: AppSession | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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
|
|
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,EAAE,+DAA+D;AACpG,kBAAkB,EAClB,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,QAAQ,EACR,uBAAuB,EACvB,aAAa,EACb,mBAAmB,EACnB,yBAAyB,EACzB,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EACX,UAAU,EACV,eAAe,EACf,qBAAqB,EAErB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EACrB,2BAA2B,EAG3B,eAAe,IAAI,wBAAwB,EAC3C,kBAAkB,IAAI,2BAA2B,GAClD,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,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,GACb,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,GACpB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,GACb,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,QAAQ,EACR,cAAc,EACd,aAAa,EACb,aAAa,EACb,MAAM,EACN,cAAc,GACf,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,GACf,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,GACtB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,IAAI,qBAAqB,GACxC,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,cAAc,EACd,UAAU,EACV,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAEjE,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,EACZ,mBAAmB,GACpB,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,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,WAAW,oBAAqB,SAAQ,OAAO;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,UAAU,GAAG,IAAI,CAAC;CAClC"}
|