@robotical/webapp-types 3.10.2 → 3.11.0

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 (30) hide show
  1. package/dist-types/src/application/ApplicationManager/ApplicationManager.d.ts +12 -1
  2. package/dist-types/src/application/ApplicationManager/ApplicationManager.js +21 -0
  3. package/dist-types/src/application/RAFTs/Marty/Marty.d.ts +14 -0
  4. package/dist-types/src/application/RAFTs/Marty/Marty.js +77 -1
  5. package/dist-types/src/application/RAFTs/Marty/notifications-manager/RICNotificationsManager.d.ts +15 -0
  6. package/dist-types/src/application/RAFTs/Marty/notifications-manager/RICNotificationsManager.js +498 -0
  7. package/dist-types/src/application/RAFTs/Marty/notifications-manager/ReportedWarningsState.d.ts +59 -0
  8. package/dist-types/src/application/RAFTs/Marty/notifications-manager/ReportedWarningsState.js +145 -0
  9. package/dist-types/src/application/RAFTs/RAFT.js +11 -1
  10. package/dist-types/src/components/modals/InBtButAPressed/index.d.ts +2 -0
  11. package/dist-types/src/components/modals/InBtButAPressed/index.js +21 -0
  12. package/dist-types/src/components/modals/InBtButAPressed/styles.d.ts +5 -0
  13. package/dist-types/src/components/modals/InBtButAPressed/styles.js +11 -0
  14. package/dist-types/src/services/logger/Logger.d.ts +5 -5
  15. package/dist-types/src/services/logger/Logger.js +40 -11
  16. package/dist-types/src/store/user-role-context.d.ts +12 -0
  17. package/dist-types/src/store/user-role-context.js +33 -0
  18. package/dist-types/src/types/communication-between-apps/wrapper-communication.d.ts +3 -1
  19. package/dist-types/src/types/communication-between-apps/wrapper-communication.js +2 -0
  20. package/dist-types/src/types/userDeviceInfo.d.ts +6 -0
  21. package/dist-types/src/utils/warranty-service/cookies.d.ts +19 -0
  22. package/dist-types/src/utils/warranty-service/cookies.js +76 -0
  23. package/dist-types/src/utils/warranty-service/warranty-service-utils.d.ts +10 -0
  24. package/dist-types/src/utils/warranty-service/warranty-service-utils.js +232 -0
  25. package/dist-types/src/wrapper-app/WrapperAppManager.d.ts +13 -1
  26. package/dist-types/src/wrapper-app/WrapperAppManager.js +109 -0
  27. package/dist-types/src/wrapper-app/communicators/WebAppCommunicator.js +48 -21
  28. package/dist-types/src/wrapper-app/connectors/MartyConnector/MartyConnector.d.ts +4 -0
  29. package/dist-types/src/wrapper-app/connectors/MartyConnector/MartyConnector.js +13 -0
  30. package/package.json +1 -1
@@ -0,0 +1,232 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import Logger from "../../services/logger/Logger";
38
+ import { getOnboardingCookie, isOnboardingCookieExpired } from "./cookies";
39
+ import WarranyFacade from "@robotical/appv2-warranty-service-lib";
40
+ var SHOW_LOGS = true;
41
+ var TAG = "WarrantyServiceUtils";
42
+ export function shouldShowOnboardingModal(serialNo) {
43
+ return __awaiter(this, void 0, void 0, function () {
44
+ var shouldShowModal, cookie, isCookieExpired, serialNoInCookie, isSerialNoRegistered, error_1;
45
+ return __generator(this, function (_a) {
46
+ switch (_a.label) {
47
+ case 0:
48
+ Logger.info(SHOW_LOGS, TAG, "Checking if should show onboarding modal for serial number: " + serialNo);
49
+ shouldShowModal = false;
50
+ _a.label = 1;
51
+ case 1:
52
+ _a.trys.push([1, 4, , 5]);
53
+ if (!serialNo) return [3 /*break*/, 3];
54
+ cookie = getOnboardingCookie();
55
+ isCookieExpired = isOnboardingCookieExpired();
56
+ serialNoInCookie = cookie ? cookie.serialNumbers.includes(serialNo) : false;
57
+ return [4 /*yield*/, WarranyFacade.isSerialNumberRegistered(serialNo)];
58
+ case 2:
59
+ isSerialNoRegistered = _a.sent();
60
+ shouldShowModal = (!cookie || isCookieExpired || !serialNoInCookie) && !isSerialNoRegistered;
61
+ _a.label = 3;
62
+ case 3: return [3 /*break*/, 5];
63
+ case 4:
64
+ error_1 = _a.sent();
65
+ Logger.error(SHOW_LOGS, TAG, "Error checking if should show onboarding modal: " + error_1);
66
+ // Don't show the modal if there was an error (probably no internet connection)
67
+ return [2 /*return*/, false];
68
+ case 5: return [2 /*return*/, shouldShowModal];
69
+ }
70
+ });
71
+ });
72
+ }
73
+ export function getSerialNumberStubbornly(serialNumberGetter, attempts) {
74
+ return __awaiter(this, void 0, void 0, function () {
75
+ var _this = this;
76
+ return __generator(this, function (_a) {
77
+ Logger.info(SHOW_LOGS, TAG, "Getting serial number stubbornly");
78
+ return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
79
+ var currentAttempt, tryGetSerialNumber;
80
+ return __generator(this, function (_a) {
81
+ currentAttempt = 1;
82
+ tryGetSerialNumber = function () {
83
+ var serialNo = serialNumberGetter();
84
+ if (currentAttempt > attempts) {
85
+ reject(new Error('Failed to get serial number after maximum attempts'));
86
+ return;
87
+ }
88
+ if (serialNo) {
89
+ resolve(serialNo);
90
+ }
91
+ else {
92
+ currentAttempt++;
93
+ setTimeout(tryGetSerialNumber, 1000);
94
+ }
95
+ };
96
+ tryGetSerialNumber();
97
+ return [2 /*return*/];
98
+ });
99
+ }); })];
100
+ });
101
+ });
102
+ }
103
+ export function registerUser(email, establishment, serialNumbers) {
104
+ return __awaiter(this, void 0, void 0, function () {
105
+ return __generator(this, function (_a) {
106
+ Logger.info(SHOW_LOGS, TAG, "Registering user with email: " + email);
107
+ try {
108
+ return [2 /*return*/, WarranyFacade.registerUser(email, establishment, serialNumbers)];
109
+ }
110
+ catch (error) {
111
+ Logger.error(SHOW_LOGS, TAG, "Error registering user: " + error);
112
+ return [2 /*return*/, false];
113
+ }
114
+ return [2 /*return*/];
115
+ });
116
+ });
117
+ }
118
+ export function isUserRegistered(email) {
119
+ return __awaiter(this, void 0, void 0, function () {
120
+ var error_2;
121
+ return __generator(this, function (_a) {
122
+ switch (_a.label) {
123
+ case 0:
124
+ Logger.info(SHOW_LOGS, TAG, "Checking if user is registered with email: " + email);
125
+ _a.label = 1;
126
+ case 1:
127
+ _a.trys.push([1, 3, , 4]);
128
+ return [4 /*yield*/, WarranyFacade.getUser(email)];
129
+ case 2: return [2 /*return*/, !!(_a.sent())];
130
+ case 3:
131
+ error_2 = _a.sent();
132
+ Logger.error(SHOW_LOGS, TAG, "Error checking if user is registered: " + error_2);
133
+ return [2 /*return*/, false];
134
+ case 4: return [2 /*return*/];
135
+ }
136
+ });
137
+ });
138
+ }
139
+ export function getUserGivenEmail(email) {
140
+ return __awaiter(this, void 0, void 0, function () {
141
+ var user, error_3;
142
+ return __generator(this, function (_a) {
143
+ switch (_a.label) {
144
+ case 0:
145
+ Logger.info(SHOW_LOGS, TAG, "Getting user given email: " + email);
146
+ _a.label = 1;
147
+ case 1:
148
+ _a.trys.push([1, 3, , 4]);
149
+ return [4 /*yield*/, WarranyFacade.getUser(email)];
150
+ case 2:
151
+ user = _a.sent();
152
+ return [2 /*return*/, user];
153
+ case 3:
154
+ error_3 = _a.sent();
155
+ Logger.error(SHOW_LOGS, TAG, "Error getting user given email: " + error_3);
156
+ return [2 /*return*/, null];
157
+ case 4: return [2 /*return*/];
158
+ }
159
+ });
160
+ });
161
+ }
162
+ export var isSerialNumberRegistered = function (serialNo) { return __awaiter(void 0, void 0, void 0, function () {
163
+ return __generator(this, function (_a) {
164
+ Logger.info(SHOW_LOGS, TAG, "Checking if serial number is registered: " + serialNo);
165
+ try {
166
+ return [2 /*return*/, WarranyFacade.isSerialNumberRegistered(serialNo)];
167
+ }
168
+ catch (error) {
169
+ Logger.error(SHOW_LOGS, TAG, "Error checking if serial number is registered: " + error);
170
+ return [2 /*return*/, false];
171
+ }
172
+ return [2 /*return*/];
173
+ });
174
+ }); };
175
+ export var createTicket = function (serialNo, title, description, robotName, robotType) { return __awaiter(void 0, void 0, void 0, function () {
176
+ var serialNumber, error_4;
177
+ return __generator(this, function (_a) {
178
+ switch (_a.label) {
179
+ case 0:
180
+ Logger.info(SHOW_LOGS, TAG, "Creating ticket for serial number: " + serialNo);
181
+ _a.label = 1;
182
+ case 1:
183
+ _a.trys.push([1, 5, , 6]);
184
+ return [4 /*yield*/, WarranyFacade.getSerialNumber(serialNo)];
185
+ case 2:
186
+ serialNumber = _a.sent();
187
+ if (!serialNumber) return [3 /*break*/, 4];
188
+ return [4 /*yield*/, WarranyFacade.registerReport(serialNumber.email, serialNo, title, description, robotName, robotType)];
189
+ case 3: return [2 /*return*/, !!(_a.sent())];
190
+ case 4: return [2 /*return*/, false];
191
+ case 5:
192
+ error_4 = _a.sent();
193
+ Logger.error(SHOW_LOGS, TAG, "Error creating ticket: " + error_4);
194
+ return [2 /*return*/, false];
195
+ case 6: return [2 /*return*/];
196
+ }
197
+ });
198
+ }); };
199
+ export var getEmailGivenSerialNumber = function (serialNo) { return __awaiter(void 0, void 0, void 0, function () {
200
+ var serialNumber, error_5;
201
+ return __generator(this, function (_a) {
202
+ switch (_a.label) {
203
+ case 0:
204
+ Logger.info(SHOW_LOGS, TAG, "Getting email given serial number: " + serialNo);
205
+ _a.label = 1;
206
+ case 1:
207
+ _a.trys.push([1, 3, , 4]);
208
+ return [4 /*yield*/, WarranyFacade.getSerialNumber(serialNo)];
209
+ case 2:
210
+ serialNumber = _a.sent();
211
+ return [2 /*return*/, serialNumber === null || serialNumber === void 0 ? void 0 : serialNumber.email];
212
+ case 3:
213
+ error_5 = _a.sent();
214
+ Logger.error(SHOW_LOGS, TAG, "Error getting email given serial number: " + error_5);
215
+ return [2 /*return*/, undefined];
216
+ case 4: return [2 /*return*/];
217
+ }
218
+ });
219
+ }); };
220
+ export var addRobotNameToSerialNumber = function (serialNo, name) { return __awaiter(void 0, void 0, void 0, function () {
221
+ return __generator(this, function (_a) {
222
+ Logger.info(SHOW_LOGS, TAG, "Adding robot name to serial number: " + serialNo);
223
+ try {
224
+ return [2 /*return*/, WarranyFacade.addRobotNameToSerialNumber(serialNo, name)];
225
+ }
226
+ catch (error) {
227
+ Logger.error(SHOW_LOGS, TAG, "Error adding robot name to serial number: " + error);
228
+ return [2 /*return*/, false];
229
+ }
230
+ return [2 /*return*/];
231
+ });
232
+ }); };
@@ -3,7 +3,7 @@ import { ConnectionAttemptResults, RaftConnectionMethod } from "../types/raft";
3
3
  import Connector from "./connectors/Connector";
4
4
  import { RaftConnEvent, RaftPublishEvent, RaftUpdateEvent } from "@robotical/raftjs";
5
5
  import { RICLedLcdColours } from "@robotical/roboticaljs";
6
- import { UserDeviceInfo } from "../types/userDeviceInfo";
6
+ import { CustomBluetoothItem, UserDeviceInfo } from "../types/userDeviceInfo";
7
7
  export declare class WrapperAppManager {
8
8
  private connectors;
9
9
  private _observers;
@@ -77,6 +77,18 @@ export declare class WrapperAppManager {
77
77
  * Removes from the martys list after x seconds so that we can still get the last event
78
78
  */
79
79
  _removeRICConnector(connectorId: string, timeout: number): void;
80
+ /**
81
+ * Warranty Service bluetooth scan for device
82
+ * It scans for a device and gets the device object
83
+ * Then it checks if the device is already in the given devices array having CustomBluetoothItem[] type
84
+ * if not, it gets its serial number and adds it to the devices array
85
+ * @returns {Promise<CustomBluetoothItem[]>}
86
+ */
87
+ scanForPotentialWarrantyDevice(existingDevices: CustomBluetoothItem[]): Promise<CustomBluetoothItem[]>;
88
+ /**
89
+ * Sends atomic read operation to Marty
90
+ */
91
+ sendAtomicReadOperationToMarty(raftId: string): Promise<boolean>;
80
92
  }
81
93
  declare const wrapperAppManager: WrapperAppManager;
82
94
  export default wrapperAppManager;
@@ -34,9 +34,19 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
34
34
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
35
  }
36
36
  };
37
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
38
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
39
+ if (ar || !(i in from)) {
40
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
41
+ ar[i] = from[i];
42
+ }
43
+ }
44
+ return to.concat(ar || Array.prototype.slice.call(from));
45
+ };
37
46
  import { WrapperSentMessage } from "../types/communication-between-apps/wrapper-communication";
38
47
  import Logger from "../services/logger/Logger";
39
48
  import { RaftConnEvent } from "@robotical/raftjs";
49
+ import { ConnManager } from "@robotical/roboticaljs";
40
50
  import ConnectorFactory from "./connectors/ConnectorFactory";
41
51
  import ColourSensorManualCalibratorMarty from "./utils/ColourSensorManualCalibratorMarty";
42
52
  import { getBrowserVersion, getOrGenerateDeviceId, getOSName, isTablet } from "./utils/device-info";
@@ -270,6 +280,105 @@ var WrapperAppManager = /** @class */ (function () {
270
280
  clearTimeout(martyRemovalTimeout);
271
281
  }, timeout);
272
282
  };
283
+ /**
284
+ * Warranty Service bluetooth scan for device
285
+ * It scans for a device and gets the device object
286
+ * Then it checks if the device is already in the given devices array having CustomBluetoothItem[] type
287
+ * if not, it gets its serial number and adds it to the devices array
288
+ * @returns {Promise<CustomBluetoothItem[]>}
289
+ */
290
+ WrapperAppManager.prototype.scanForPotentialWarrantyDevice = function (existingDevices) {
291
+ return __awaiter(this, void 0, void 0, function () {
292
+ var namesToIgnore, device_1, connector, isConnected, ricSystem, systemInfo, serialNumber, raftType, newDevice, error_1;
293
+ return __generator(this, function (_a) {
294
+ switch (_a.label) {
295
+ case 0:
296
+ namesToIgnore = __spreadArray([], existingDevices.map(function (item) {
297
+ return { name: item.name || "" };
298
+ }), true).filter(function (item) { return item.name; });
299
+ _a.label = 1;
300
+ case 1:
301
+ _a.trys.push([1, 9, , 10]);
302
+ return [4 /*yield*/, ConnManager.getInstance().getBleDevicesWithGivenNamesToIgnore(namesToIgnore)];
303
+ case 2:
304
+ device_1 = _a.sent();
305
+ if (!device_1) {
306
+ Logger.warn(SHOW_LOGS, TAG, "No device was found/selected");
307
+ return [2 /*return*/, []];
308
+ }
309
+ if (!!existingDevices.find(function (deviceInList) {
310
+ return deviceInList.id === device_1.id;
311
+ })) return [3 /*break*/, 7];
312
+ connector = ConnManager.getInstance().getConnector();
313
+ return [4 /*yield*/, connector.initializeChannel("WebBLE")];
314
+ case 3:
315
+ _a.sent();
316
+ return [4 /*yield*/, connector.connect(device_1)];
317
+ case 4:
318
+ isConnected = _a.sent();
319
+ if (!isConnected) {
320
+ Logger.warn(SHOW_LOGS, TAG, "Failed to connect to device: ".concat(device_1.name));
321
+ return [2 /*return*/, existingDevices];
322
+ }
323
+ ricSystem = connector.getRaftSystemUtils();
324
+ return [4 /*yield*/, ricSystem.getSystemInfo()];
325
+ case 5:
326
+ systemInfo = _a.sent();
327
+ serialNumber = systemInfo.SerialNo || "";
328
+ raftType = systemInfo.SystemName;
329
+ return [4 /*yield*/, connector.disconnect()];
330
+ case 6:
331
+ _a.sent();
332
+ newDevice = { id: device_1.id, name: device_1.name || "", serialNumber: serialNumber, type: raftType };
333
+ existingDevices.push(newDevice);
334
+ Logger.info(SHOW_LOGS, TAG, "".concat(device_1.name, " added to the list of robots."));
335
+ return [2 /*return*/, existingDevices];
336
+ case 7:
337
+ Logger.warn(SHOW_LOGS, TAG, "".concat(device_1.name, " is already in the list of robots."));
338
+ _a.label = 8;
339
+ case 8: return [3 /*break*/, 10];
340
+ case 9:
341
+ error_1 = _a.sent();
342
+ Logger.error(SHOW_LOGS, TAG, JSON.stringify(error_1));
343
+ return [2 /*return*/, existingDevices];
344
+ case 10: return [2 /*return*/, existingDevices];
345
+ }
346
+ });
347
+ });
348
+ };
349
+ /**
350
+ * Sends atomic read operation to Marty
351
+ */
352
+ WrapperAppManager.prototype.sendAtomicReadOperationToMarty = function (raftId) {
353
+ return __awaiter(this, void 0, void 0, function () {
354
+ var raftConnector, systemType, error_2;
355
+ return __generator(this, function (_a) {
356
+ switch (_a.label) {
357
+ case 0:
358
+ Logger.info(SHOW_LOGS, TAG, "Sending atomic read operation to Marty with id: ".concat(raftId));
359
+ if (!this.connectors[raftId]) return [3 /*break*/, 5];
360
+ _a.label = 1;
361
+ case 1:
362
+ _a.trys.push([1, 3, , 4]);
363
+ raftConnector = this.connectors[raftId].connManager.getConnector();
364
+ systemType = raftConnector.getSystemType();
365
+ return [4 /*yield*/, systemType.getRICServoFaultDetector().atomicReadOperation()];
366
+ case 2:
367
+ _a.sent();
368
+ return [2 /*return*/, true];
369
+ case 3:
370
+ error_2 = _a.sent();
371
+ Logger.error(SHOW_LOGS, TAG, "Failed to send atomic read operation to Marty: ".concat(error_2));
372
+ return [3 /*break*/, 4];
373
+ case 4: return [3 /*break*/, 6];
374
+ case 5:
375
+ Logger.warn(SHOW_LOGS, TAG, "No connector found for raftId: ".concat(raftId));
376
+ _a.label = 6;
377
+ case 6: return [2 /*return*/, false];
378
+ }
379
+ });
380
+ });
381
+ };
273
382
  return WrapperAppManager;
274
383
  }());
275
384
  export { WrapperAppManager };
@@ -116,7 +116,7 @@ var WebAppCommunicator = /** @class */ (function () {
116
116
  }());
117
117
  export default WebAppCommunicator;
118
118
  var receivedMessageHandler = function (receivedMessage, data, messagePromiseId) { return __awaiter(void 0, void 0, void 0, function () {
119
- var _a, connectionResults, error_1, ricName, error_2, verifyResults, error_3, stopVerifyResults, error_4, disconnectResults, error_5, restResults, error_6, missedConnEventResults, streamAudioResults, commsStats, calibrateColourSensorResults, error_7, deviceInfoResults, wasSaved, wasSaved, fileContents;
119
+ var _a, connectionResults, error_1, ricName, error_2, verifyResults, error_3, stopVerifyResults, error_4, disconnectResults, error_5, restResults, error_6, missedConnEventResults, streamAudioResults, commsStats, calibrateColourSensorResults, error_7, deviceInfoResults, wasSaved, wasSaved, fileContents, existingDevices, devices, error_8, wasSent, error_9;
120
120
  return __generator(this, function (_b) {
121
121
  switch (_b.label) {
122
122
  case 0:
@@ -137,8 +137,10 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
137
137
  case AppSentMessage.SAVE_FILE_ON_DEVICE: return [3 /*break*/, 34];
138
138
  case AppSentMessage.SAVE_FILE_ON_DEVICE_LOCAL_STORAGE: return [3 /*break*/, 35];
139
139
  case AppSentMessage.LOAD_FILE_FROM_DEVICE_LOCAL_STORAGE: return [3 /*break*/, 36];
140
+ case AppSentMessage.SCAN_FOR_POTENTIAL_WARRANTY_DEVICE: return [3 /*break*/, 37];
141
+ case AppSentMessage.SEND_ATOMIC_READ_OPERATION_TO_MARTY: return [3 /*break*/, 41];
140
142
  }
141
- return [3 /*break*/, 37];
143
+ return [3 /*break*/, 45];
142
144
  case 1:
143
145
  try {
144
146
  console.log("3");
@@ -150,7 +152,7 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
150
152
  catch (error) {
151
153
  window.wrapperCommunicator.onMessageResponse({ success: false, error: error.message, messagePromiseId: messagePromiseId });
152
154
  }
153
- return [3 /*break*/, 38];
155
+ return [3 /*break*/, 46];
154
156
  case 2:
155
157
  _b.trys.push([2, 4, , 5]);
156
158
  return [4 /*yield*/, wrapperAppManager.connect(data.method, data.uuids)];
@@ -162,7 +164,7 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
162
164
  error_1 = _b.sent();
163
165
  window.wrapperCommunicator.onMessageResponse({ success: false, error: error_1.message, messagePromiseId: messagePromiseId });
164
166
  return [3 /*break*/, 5];
165
- case 5: return [3 /*break*/, 38];
167
+ case 5: return [3 /*break*/, 46];
166
168
  case 6:
167
169
  _b.trys.push([6, 8, , 9]);
168
170
  return [4 /*yield*/, wrapperAppManager.getRaftName(data.raftId)];
@@ -174,7 +176,7 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
174
176
  error_2 = _b.sent();
175
177
  window.wrapperCommunicator.onMessageResponse({ success: false, error: error_2.message, messagePromiseId: messagePromiseId });
176
178
  return [3 /*break*/, 9];
177
- case 9: return [3 /*break*/, 38];
179
+ case 9: return [3 /*break*/, 46];
178
180
  case 10:
179
181
  _b.trys.push([10, 12, , 13]);
180
182
  return [4 /*yield*/, wrapperAppManager.verifyRaft(data.ledLcdColours, data.raftId)];
@@ -186,7 +188,7 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
186
188
  error_3 = _b.sent();
187
189
  window.wrapperCommunicator.onMessageResponse({ success: false, error: error_3.message, messagePromiseId: messagePromiseId });
188
190
  return [3 /*break*/, 13];
189
- case 13: return [3 /*break*/, 38];
191
+ case 13: return [3 /*break*/, 46];
190
192
  case 14:
191
193
  _b.trys.push([14, 16, , 17]);
192
194
  return [4 /*yield*/, wrapperAppManager.stopVerifyingRaft(data.isCorrectRIC, data.raftId)];
@@ -198,7 +200,7 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
198
200
  error_4 = _b.sent();
199
201
  window.wrapperCommunicator.onMessageResponse({ success: false, error: error_4.message, messagePromiseId: messagePromiseId });
200
202
  return [3 /*break*/, 17];
201
- case 17: return [3 /*break*/, 38];
203
+ case 17: return [3 /*break*/, 46];
202
204
  case 18:
203
205
  _b.trys.push([18, 20, , 21]);
204
206
  return [4 /*yield*/, wrapperAppManager.disconnect(data.raftId)];
@@ -210,7 +212,7 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
210
212
  error_5 = _b.sent();
211
213
  window.wrapperCommunicator.onMessageResponse({ success: false, error: error_5.message, messagePromiseId: messagePromiseId });
212
214
  return [3 /*break*/, 21];
213
- case 21: return [3 /*break*/, 38];
215
+ case 21: return [3 /*break*/, 46];
214
216
  case 22:
215
217
  _b.trys.push([22, 24, , 25]);
216
218
  return [4 /*yield*/, wrapperAppManager.sendRestMessage(data.msg, data.params, data.raftId)];
@@ -222,7 +224,7 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
222
224
  error_6 = _b.sent();
223
225
  window.wrapperCommunicator.onMessageResponse({ success: false, error: error_6.message, messagePromiseId: messagePromiseId });
224
226
  return [3 /*break*/, 25];
225
- case 25: return [3 /*break*/, 38];
227
+ case 25: return [3 /*break*/, 46];
226
228
  case 26:
227
229
  try {
228
230
  missedConnEventResults = wrapperAppManager.getMissedConnEvent(data.raftId);
@@ -231,7 +233,7 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
231
233
  catch (error) {
232
234
  window.wrapperCommunicator.onMessageResponse({ success: false, error: error.message, messagePromiseId: messagePromiseId });
233
235
  }
234
- return [3 /*break*/, 38];
236
+ return [3 /*break*/, 46];
235
237
  case 27:
236
238
  try {
237
239
  streamAudioResults = wrapperAppManager.streamAudio(data.raftId, data.streamContents, data.clearExisting, data.duration);
@@ -240,7 +242,7 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
240
242
  catch (error) {
241
243
  window.wrapperCommunicator.onMessageResponse({ success: false, error: error.message, messagePromiseId: messagePromiseId });
242
244
  }
243
- return [3 /*break*/, 38];
245
+ return [3 /*break*/, 46];
244
246
  case 28:
245
247
  try {
246
248
  commsStats = wrapperAppManager.getCommsStatsMarty(data.raftId);
@@ -249,7 +251,7 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
249
251
  catch (error) {
250
252
  window.wrapperCommunicator.onMessageResponse({ success: false, error: error.message, messagePromiseId: messagePromiseId });
251
253
  }
252
- return [3 /*break*/, 38];
254
+ return [3 /*break*/, 46];
253
255
  case 29:
254
256
  _b.trys.push([29, 31, , 32]);
255
257
  return [4 /*yield*/, wrapperAppManager.calibrateColourSensorMarty(data.raftId)];
@@ -261,7 +263,7 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
261
263
  error_7 = _b.sent();
262
264
  window.wrapperCommunicator.onMessageResponse({ success: false, error: error_7.message, messagePromiseId: messagePromiseId });
263
265
  return [3 /*break*/, 32];
264
- case 32: return [3 /*break*/, 38];
266
+ case 32: return [3 /*break*/, 46];
265
267
  case 33:
266
268
  try {
267
269
  deviceInfoResults = wrapperAppManager.getDeviceInfo();
@@ -270,25 +272,25 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
270
272
  catch (error) {
271
273
  window.wrapperCommunicator.onMessageResponse({ success: false, error: error.message, messagePromiseId: messagePromiseId });
272
274
  }
273
- return [3 /*break*/, 38];
275
+ return [3 /*break*/, 46];
274
276
  case 34:
275
277
  try {
276
278
  wasSaved = saveItemOnDevice(data.fileName, data.base64);
277
- window.wrapperCommunicator.onMessageResponse({ success: wasSaved, error: "", results: "", messagePromiseId: messagePromiseId });
279
+ window.wrapperCommunicator.onMessageResponse({ success: wasSaved, error: "", results: wasSaved, messagePromiseId: messagePromiseId });
278
280
  }
279
281
  catch (error) {
280
282
  window.wrapperCommunicator.onMessageResponse({ success: false, error: error.message, messagePromiseId: messagePromiseId });
281
283
  }
282
- return [3 /*break*/, 38];
284
+ return [3 /*break*/, 46];
283
285
  case 35:
284
286
  try {
285
287
  wasSaved = saveItemOnDevice(data.fileName, data.base64);
286
- window.wrapperCommunicator.onMessageResponse({ success: wasSaved, error: "", results: "", messagePromiseId: messagePromiseId });
288
+ window.wrapperCommunicator.onMessageResponse({ success: wasSaved, error: "", results: wasSaved, messagePromiseId: messagePromiseId });
287
289
  }
288
290
  catch (error) {
289
291
  window.wrapperCommunicator.onMessageResponse({ success: false, error: error.message, messagePromiseId: messagePromiseId });
290
292
  }
291
- return [3 /*break*/, 38];
293
+ return [3 /*break*/, 46];
292
294
  case 36:
293
295
  try {
294
296
  fileContents = loadItem(data.fileName);
@@ -302,11 +304,36 @@ var receivedMessageHandler = function (receivedMessage, data, messagePromiseId)
302
304
  catch (error) {
303
305
  window.wrapperCommunicator.onMessageResponse({ success: false, error: error.message, messagePromiseId: messagePromiseId });
304
306
  }
305
- return [3 /*break*/, 38];
307
+ return [3 /*break*/, 46];
306
308
  case 37:
309
+ _b.trys.push([37, 39, , 40]);
310
+ existingDevices = data.existingDevices;
311
+ return [4 /*yield*/, wrapperAppManager.scanForPotentialWarrantyDevice(existingDevices)];
312
+ case 38:
313
+ devices = _b.sent();
314
+ window.wrapperCommunicator.onMessageResponse({ success: true, error: "", results: devices, messagePromiseId: messagePromiseId });
315
+ return [3 /*break*/, 40];
316
+ case 39:
317
+ error_8 = _b.sent();
318
+ window.wrapperCommunicator.onMessageResponse({ success: false, error: error_8.message, messagePromiseId: messagePromiseId });
319
+ return [3 /*break*/, 40];
320
+ case 40: return [3 /*break*/, 46];
321
+ case 41:
322
+ _b.trys.push([41, 43, , 44]);
323
+ return [4 /*yield*/, wrapperAppManager.sendAtomicReadOperationToMarty(data.raftId)];
324
+ case 42:
325
+ wasSent = _b.sent();
326
+ window.wrapperCommunicator.onMessageResponse({ success: true, error: "", results: wasSent, messagePromiseId: messagePromiseId });
327
+ return [3 /*break*/, 44];
328
+ case 43:
329
+ error_9 = _b.sent();
330
+ window.wrapperCommunicator.onMessageResponse({ success: false, error: error_9.message, messagePromiseId: messagePromiseId });
331
+ return [3 /*break*/, 44];
332
+ case 44: return [3 /*break*/, 46];
333
+ case 45:
307
334
  Logger.warn(SHOW_LOGS, TAG, "Unhandled message: ".concat(receivedMessage));
308
- _b.label = 38;
309
- case 38: return [2 /*return*/];
335
+ _b.label = 46;
336
+ case 46: return [2 /*return*/];
310
337
  }
311
338
  });
312
339
  }); };
@@ -36,5 +36,9 @@ declare class MartyConnector extends Connector implements ConnectorInterface {
36
36
  * Pub Event Handler
37
37
  */
38
38
  pubEventHandler(eventEnum: RaftPublishEvent, eventName: string, data: any): Promise<void>;
39
+ /**
40
+ * Msg Event Handler
41
+ */
42
+ msgEventHandler(eventEnum: RaftConnEvent, eventName: string, data: any): Promise<void>;
39
43
  }
40
44
  export default MartyConnector;
@@ -145,6 +145,9 @@ var MartyConnector = /** @class */ (function (_super) {
145
145
  case "pub":
146
146
  this.pubEventHandler(eventEnum, eventName, data);
147
147
  break;
148
+ case "msg":
149
+ this.msgEventHandler(eventEnum, eventName, data);
150
+ break;
148
151
  default:
149
152
  break;
150
153
  }
@@ -238,6 +241,16 @@ var MartyConnector = /** @class */ (function (_super) {
238
241
  });
239
242
  });
240
243
  };
244
+ /**
245
+ * Msg Event Handler
246
+ */
247
+ MartyConnector.prototype.msgEventHandler = function (eventEnum, eventName, data) {
248
+ return __awaiter(this, void 0, void 0, function () {
249
+ return __generator(this, function (_a) {
250
+ return [2 /*return*/];
251
+ });
252
+ });
253
+ };
241
254
  return MartyConnector;
242
255
  }(Connector));
243
256
  export default MartyConnector;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robotical/webapp-types",
3
- "version": "3.10.2",
3
+ "version": "3.11.0",
4
4
  "description": "Type definitions for the Application Manager",
5
5
  "main": "dist/application-manager.d.ts",
6
6
  "types": "dist/application-manager.d.ts",