edge-impulse-linux 1.15.6 → 1.16.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.
Files changed (55) hide show
  1. package/build/cli/linux/camera-debug.js +4 -2
  2. package/build/cli/linux/camera-debug.js.map +1 -1
  3. package/build/cli/linux/linux.js +17 -8
  4. package/build/cli/linux/linux.js.map +1 -1
  5. package/build/cli/linux/runner-utils.d.ts +12 -4
  6. package/build/cli/linux/runner-utils.js +191 -47
  7. package/build/cli/linux/runner-utils.js.map +1 -1
  8. package/build/cli/linux/runner.js +94 -16
  9. package/build/cli/linux/runner.js.map +1 -1
  10. package/build/cli/linux/webserver/middleware/asyncMiddleware.js.map +1 -1
  11. package/build/cli/linux/webserver/public/webserver.js +5 -1
  12. package/build/cli/linux/webserver/public/webserver.js.map +1 -1
  13. package/build/cli/linux/webserver/views/index.d.ts +4 -0
  14. package/{cli/linux/webserver/public/index.html → build/cli/linux/webserver/views/index.js} +32 -7
  15. package/build/cli/linux/webserver/views/index.js.map +1 -0
  16. package/build/cli-common/socket-utils.d.ts +11 -0
  17. package/build/cli-common/socket-utils.js +53 -0
  18. package/build/cli-common/socket-utils.js.map +1 -0
  19. package/build/library/sensors/gstreamer.js +1 -1
  20. package/build/library/sensors/gstreamer.js.map +1 -1
  21. package/build/library/sensors/sensors-helper.d.ts +6 -2
  22. package/build/library/sensors/sensors-helper.js +47 -5
  23. package/build/library/sensors/sensors-helper.js.map +1 -1
  24. package/build/sdk/studio/sdk/api/devicesApi.d.ts +2 -0
  25. package/build/sdk/studio/sdk/api/devicesApi.js +8 -0
  26. package/build/sdk/studio/sdk/api/devicesApi.js.map +1 -1
  27. package/build/sdk/studio/sdk/api/jobsApi.d.ts +12 -0
  28. package/build/sdk/studio/sdk/api/jobsApi.js +81 -0
  29. package/build/sdk/studio/sdk/api/jobsApi.js.map +1 -1
  30. package/build/sdk/studio/sdk/api/organizationDataApi.d.ts +1 -1
  31. package/build/sdk/studio/sdk/api/organizationDataApi.js +1 -1
  32. package/build/sdk/studio/sdk/model/dSPInfo.d.ts +6 -0
  33. package/build/sdk/studio/sdk/model/dSPInfo.js +10 -0
  34. package/build/sdk/studio/sdk/model/dSPInfo.js.map +1 -1
  35. package/build/sdk/studio/sdk/model/dSPNormalizeData.d.ts +13 -0
  36. package/build/sdk/studio/sdk/model/dSPNormalizeData.js +16 -0
  37. package/build/sdk/studio/sdk/model/dSPNormalizeData.js.map +1 -0
  38. package/build/sdk/studio/sdk/model/exportInferenceHistoryDataRequest.d.ts +37 -0
  39. package/build/sdk/studio/sdk/model/exportInferenceHistoryDataRequest.js +50 -0
  40. package/build/sdk/studio/sdk/model/exportInferenceHistoryDataRequest.js.map +1 -0
  41. package/build/sdk/studio/sdk/model/generateFeaturesRequest.d.ts +2 -0
  42. package/build/sdk/studio/sdk/model/generateFeaturesRequest.js +5 -0
  43. package/build/sdk/studio/sdk/model/generateFeaturesRequest.js.map +1 -1
  44. package/build/sdk/studio/sdk/model/getModelMonitoringDeploymentsResponseAllOfDeployments.d.ts +1 -0
  45. package/build/sdk/studio/sdk/model/getModelMonitoringDeploymentsResponseAllOfDeployments.js +5 -0
  46. package/build/sdk/studio/sdk/model/getModelMonitoringDeploymentsResponseAllOfDeployments.js.map +1 -1
  47. package/build/sdk/studio/sdk/model/models.d.ts +2 -0
  48. package/build/sdk/studio/sdk/model/models.js +6 -0
  49. package/build/sdk/studio/sdk/model/models.js.map +1 -1
  50. package/cli/linux/webserver/public/assets/argon-dashboard.css +6 -6
  51. package/cli/linux/webserver/public/assets/mobileclient.css +28 -0
  52. package/cli/linux/webserver/public/webserver.js +6 -1
  53. package/examples/ts/classify-camera-webserver.ts +2 -2
  54. package/package.json +9 -11
  55. package/test/gstreamer.test.ts +12 -12
@@ -14,7 +14,8 @@ const fs_1 = __importDefault(require("fs"));
14
14
  const prophesee_1 = require("../../library/sensors/prophesee");
15
15
  const express = require("express");
16
16
  const http_1 = __importDefault(require("http"));
17
- const socket_io_1 = __importDefault(require("socket.io"));
17
+ const socket_io_1 = require("socket.io");
18
+ const socket_utils_1 = require("../../cli-common/socket-utils");
18
19
  const packageVersion = JSON.parse(fs_1.default.readFileSync(path_1.default.join(__dirname, '..', '..', '..', 'package.json'), 'utf-8')).version;
19
20
  commander_1.default
20
21
  .description('Edge Impulse Camera debug client ' + packageVersion)
@@ -128,7 +129,8 @@ function startWebServer(camera, cameraName) {
128
129
  const app = express();
129
130
  app.use(express.static(path_1.default.join(__dirname, '..', '..', '..', 'cli', 'linux', 'webserver', 'public')));
130
131
  const server = new http_1.default.Server(app);
131
- const io = (0, socket_io_1.default)(server);
132
+ const io = new socket_io_1.Server(server, socket_utils_1.DEFAULT_SOCKET_IO_V2_PARAMS);
133
+ (0, socket_utils_1.startEio3Interceptor)(io);
132
134
  camera.on('snapshot', async (data, fileName) => {
133
135
  io.emit('image', {
134
136
  img: 'data:image/jpeg;base64,' + data.toString('base64'),
@@ -1 +1 @@
1
- {"version":3,"file":"camera-debug.js","sourceRoot":"","sources":["../../../cli/linux/camera-debug.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"camera-debug.js","sourceRoot":"","sources":["../../../cli/linux/camera-debug.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,10 @@ commander_1.default
29
29
  .option('--silent', `Run in silent mode, don't prompt for credentials`)
30
30
  .option('--dev', 'List development servers, alternatively you can use the EI_HOST environmental variable ' +
31
31
  'to specify the Edge Impulse instance.')
32
+ .option('--camera <camera>', 'Which camera to use (either the name, or the device address - e.g. /dev/video0). ' +
33
+ 'If this argument is omitted, and multiple cameras are found, a CLI selector is shown.')
34
+ .option('--microphone <microphone>', 'Which microphone to use (either the name, or the device address). ' +
35
+ 'If this argument is omitted, and multiple microphones are found, a CLI selector is shown.')
32
36
  .option('--verbose', 'Enable debug logs')
33
37
  .option('--greengrass', 'Enable AWS IoT greengrass integration mode')
34
38
  .allowUnknownOption(true)
@@ -49,6 +53,8 @@ const dimensions = commander_1.default.width && commander_1.default.height ? {
49
53
  width: Number(commander_1.default.width),
50
54
  height: Number(commander_1.default.height)
51
55
  } : undefined;
56
+ const cameraArgv = commander_1.default.camera;
57
+ const microphoneArgv = commander_1.default.microphone;
52
58
  if ((commander_1.default.width && !commander_1.default.height) || (!commander_1.default.width && commander_1.default.height)) {
53
59
  console.error('--width and --height need to either be both specified or both omitted');
54
60
  process.exit(1);
@@ -126,24 +132,27 @@ let isExiting = false;
126
132
  process.on('SIGHUP', onSignal);
127
133
  process.on('SIGINT', onSignal);
128
134
  if (!noMicrophone) {
129
- let audioDeviceName = await configFactory.getAudio();
135
+ let audioDeviceName = '';
130
136
  try {
131
- audioDeviceName = await (0, sensors_helper_1.initMicrophone)(audioDeviceName);
137
+ audioDeviceName = await (0, sensors_helper_1.initMicrophone)({
138
+ audioDeviceNameInConfig: await configFactory.getAudio(),
139
+ audioNameArgv: microphoneArgv,
140
+ });
132
141
  }
133
- catch (ex) {
134
- console.warn(SERIAL_PREFIX, 'Could not find any microphones, ' +
135
- 'run this command with --disable-microphone to skip selection');
136
- audioDeviceName = '';
142
+ catch (ex2) {
143
+ const ex = ex2;
144
+ console.warn(SERIAL_PREFIX, (ex.message || ex.toString()));
145
+ process.exit(1);
137
146
  }
138
147
  await configFactory.storeAudio(audioDeviceName);
139
148
  linuxDevice.setAudioDeviceName(audioDeviceName);
140
149
  console.log(SERIAL_PREFIX, 'Using microphone', audioDeviceName);
141
150
  }
142
151
  if (!noCamera) {
143
- const storedCamera = await configFactory.getCamera();
144
152
  camera = await (0, sensors_helper_1.initCamera)({
145
153
  cameraType: cameraType,
146
- cameraDeviceName: storedCamera,
154
+ cameraDeviceNameInConfig: await configFactory.getCamera(),
155
+ cameraNameArgv: cameraArgv,
147
156
  dimensions: dimensions,
148
157
  gstLaunchArgs: gstLaunchArgsArgv,
149
158
  verboseOutput: verboseArgv,
@@ -1 +1 @@
1
- {"version":3,"file":"linux.js","sourceRoot":"","sources":["../../../cli/linux/linux.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linux.js","sourceRoot":"","sources":["../../../cli/linux/linux.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,23 @@
1
- import { EdgeImpulseApi } from '../../sdk/studio/api';
2
- import { LinuxImpulseRunner, ModelInformation } from '../../library/classifier/linux-impulse-runner';
1
+ import type { EdgeImpulseApi } from '../../sdk/studio/api';
2
+ import { type LinuxImpulseRunner, type ModelInformation } from '../../library/classifier/linux-impulse-runner';
3
3
  import { ImageClassifier } from '../../library/classifier/image-classifier';
4
- import { ICamera } from '../../library/sensors/icamera';
4
+ import type { ICamera } from '../../library/sensors/icamera';
5
5
  export declare function listTargets(projectId: number, api: EdgeImpulseApi): Promise<void>;
6
6
  export declare function audioClassifierHelloMsg(model: ModelInformation): void;
7
7
  export declare function imageClassifierHelloMsg(model: ModelInformation): void;
8
8
  export declare function printThresholds(model: ModelInformation): void;
9
- export declare function startApiServer(model: ModelInformation, runner: LinuxImpulseRunner, projectStudioUrl: string, port: number): Promise<void>;
9
+ export declare function startApiServer(opts: {
10
+ model: ModelInformation;
11
+ runner: LinuxImpulseRunner;
12
+ projectStudioUrl: string;
13
+ port: number;
14
+ printIncomingInferenceReqs: boolean;
15
+ }): Promise<void>;
10
16
  export declare function startWebServer(opts: {
11
17
  model: ModelInformation;
12
18
  camera: ICamera;
13
19
  imgClassifier: ImageClassifier;
14
20
  verbose: boolean;
21
+ host: string;
22
+ port: number;
15
23
  }): Promise<number>;
@@ -4,27 +4,31 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.startWebServer = exports.startApiServer = exports.printThresholds = exports.imageClassifierHelloMsg = exports.audioClassifierHelloMsg = exports.listTargets = void 0;
7
- const linux_impulse_runner_1 = require("../../library/classifier/linux-impulse-runner");
7
+ const node_http_1 = require("node:http");
8
+ const node_path_1 = __importDefault(require("node:path"));
9
+ const node_util_1 = require("node:util");
10
+ const express_1 = __importDefault(require("express"));
8
11
  const multer_1 = __importDefault(require("multer"));
9
- const util_1 = __importDefault(require("util"));
12
+ const sharp_1 = __importDefault(require("sharp"));
13
+ const socket_io_1 = require("socket.io");
14
+ const linux_impulse_runner_1 = require("../../library/classifier/linux-impulse-runner");
10
15
  const inference_server_view_1 = require("./webserver/views/inference-server-view");
11
16
  const asyncMiddleware_1 = require("./webserver/middleware/asyncMiddleware");
12
- const express = require("express");
13
- const http_1 = __importDefault(require("http"));
14
17
  const image_classifier_1 = require("../../library/classifier/image-classifier");
15
- const path_1 = __importDefault(require("path"));
16
- const socket_io_1 = __importDefault(require("socket.io"));
17
- const sharp_1 = __importDefault(require("sharp"));
18
+ const socket_utils_1 = require("../../cli-common/socket-utils");
19
+ const ws_1 = __importDefault(require("ws"));
20
+ const url_1 = __importDefault(require("url"));
21
+ const views_1 = require("./webserver/views");
18
22
  const RUNNER_PREFIX = '\x1b[33m[RUN]\x1b[0m';
19
23
  async function listTargets(projectId, api) {
20
24
  const targets = await api.deployment.listDeploymentTargetsForProjectDataSources(projectId, {});
21
25
  console.log('Listing all available targets');
22
26
  console.log('-----------------------------');
23
- for (let t of targets.targets.filter(x => x.format.startsWith('runner'))) {
27
+ for (let t of targets?.targets?.filter(x => x.format?.startsWith('runner')) || []) {
24
28
  console.log(`target: ${t.format}, ` +
25
29
  `name: ${t.name}, ` +
26
- `supported engines: [${t.supportedEngines.join(', ')}], ` +
27
- `supported variants: [${t.modelVariants.filter(x => x.supported).map(x => x.variant).join(', ')}]`);
30
+ `supported engines: [${t.supportedEngines?.join(', ') ?? ''}], ` +
31
+ `supported variants: [${t.modelVariants?.filter(x => x.supported)?.map(x => x.variant).join(', ') ?? ''}]`);
28
32
  }
29
33
  }
30
34
  exports.listTargets = listTargets;
@@ -71,19 +75,20 @@ function printThresholds(model) {
71
75
  }
72
76
  }
73
77
  exports.printThresholds = printThresholds;
74
- function startApiServer(model, runner, projectStudioUrl, port) {
75
- const app = express();
78
+ function startApiServer(opts) {
79
+ const { model, runner, projectStudioUrl, port, printIncomingInferenceReqs } = opts;
80
+ const app = (0, express_1.default)();
76
81
  app.disable('x-powered-by');
77
- app.use(express.json({ limit: '150mb' }));
78
- app.use(express.urlencoded({ extended: true }));
82
+ app.use(express_1.default.json({ limit: '150mb' }));
83
+ app.use(express_1.default.urlencoded({ extended: true }));
79
84
  app.use((req, res, next) => {
80
85
  res.header('x-ei-owner', model.project.owner);
81
86
  res.header('x-ei-project-name', model.project.name);
82
87
  res.header('x-ei-project-version', model.project.deploy_version.toString());
83
88
  next();
84
89
  });
85
- const server = new http_1.default.Server(app);
86
- app.get('/', (0, asyncMiddleware_1.asyncMiddleware)(async (req, res) => {
90
+ const server = new node_http_1.Server(app);
91
+ app.get('/', (0, asyncMiddleware_1.asyncMiddleware)((req, res) => {
87
92
  let text = [
88
93
  'Edge Impulse inference server for ' +
89
94
  model.project.owner + ' / ' + model.project.name + ' (v' + model.project.deploy_version + ')',
@@ -136,7 +141,7 @@ function startApiServer(model, runner, projectStudioUrl, port) {
136
141
  res.header('Content-Type', 'text/html');
137
142
  res.end(view.toString());
138
143
  }));
139
- app.get('/api/info', (0, asyncMiddleware_1.asyncMiddleware)(async (req, res) => {
144
+ app.get('/api/info', (0, asyncMiddleware_1.asyncMiddleware)((req, res) => {
140
145
  res.header('Content-Type', 'application/json');
141
146
  let modelParametersCloned = Object.assign({
142
147
  has_visual_anomaly_detection: model.modelParameters.has_anomaly === linux_impulse_runner_1.RunnerHelloHasAnomaly.VisualGMM,
@@ -172,7 +177,9 @@ function startApiServer(model, runner, projectStudioUrl, port) {
172
177
  res.header('Content-Type', 'text/plain');
173
178
  return res.end(ex.message || ex.toString() + '\n');
174
179
  }
175
- console.log(RUNNER_PREFIX, 'Incoming inference request (/api/features)');
180
+ if (printIncomingInferenceReqs) {
181
+ console.log(RUNNER_PREFIX, 'Incoming inference request (/api/features)');
182
+ }
176
183
  let response = await runner.classify(body.features);
177
184
  res.header('Content-Type', 'application/json');
178
185
  return res.end(JSON.stringify(response, null, 4) + '\n');
@@ -182,7 +189,7 @@ function startApiServer(model, runner, projectStudioUrl, port) {
182
189
  try {
183
190
  const multipartUpload = (0, multer_1.default)({ limits: { files: 1, fileSize: 100 * 1024 * 1024 } });
184
191
  const fields = [{ name: "file", maxCount: 1 }];
185
- await util_1.default.promisify(multipartUpload.fields(fields))(req, res);
192
+ await (0, node_util_1.promisify)(multipartUpload.fields(fields))(req, res);
186
193
  if (!req.files) {
187
194
  throw new Error('No files posted, requiring a multipart/form-data body with 1 item "file"');
188
195
  }
@@ -196,8 +203,10 @@ function startApiServer(model, runner, projectStudioUrl, port) {
196
203
  if (!file) {
197
204
  throw new Error('Missing "file" in the multipart/form-data');
198
205
  }
199
- console.log(RUNNER_PREFIX, 'Incoming inference request (/api/image) for ' +
200
- (file.originalname || 'a file with size ' + file.size + ' bytes'));
206
+ if (printIncomingInferenceReqs) {
207
+ console.log(RUNNER_PREFIX, 'Incoming inference request (/api/image) for ' +
208
+ (file.originalname || 'a file with size ' + file.size + ' bytes'));
209
+ }
201
210
  resized = (await image_classifier_1.ImageClassifier.resizeImage(model, file.buffer));
202
211
  }
203
212
  catch (ex2) {
@@ -280,20 +289,45 @@ function startApiServer(model, runner, projectStudioUrl, port) {
280
289
  res.header('Content-Type', 'application/json');
281
290
  return res.end(JSON.stringify(response, null, 4) + '\n');
282
291
  }));
283
- app.use(express.static(path_1.default.join(__dirname, '..', '..', '..', 'cli', 'linux', 'webserver', 'public')));
284
- return new Promise((resolve) => {
292
+ app.use(express_1.default.static(node_path_1.default.join(__dirname, '..', '..', '..', 'cli', 'linux', 'webserver', 'public')));
293
+ return new Promise((resolve, reject) => {
285
294
  server.listen(port, process.env.HOST || '0.0.0.0', async () => {
286
295
  resolve();
287
296
  });
297
+ server.on('error', err => {
298
+ reject(err);
299
+ });
288
300
  });
289
301
  }
290
302
  exports.startApiServer = startApiServer;
291
303
  function startWebServer(opts) {
292
304
  const { model, camera, imgClassifier, verbose } = opts;
293
- const app = express();
294
- app.use(express.static(path_1.default.join(__dirname, '..', '..', '..', 'cli', 'linux', 'webserver', 'public')));
295
- const server = new http_1.default.Server(app);
296
- const io = (0, socket_io_1.default)(server);
305
+ const publicFolder = node_path_1.default.join(__dirname, '..', '..', '..', 'cli', 'linux', 'webserver', 'public');
306
+ const app = (0, express_1.default)();
307
+ app.get('/', (0, asyncMiddleware_1.asyncMiddleware)(async (req, res) => {
308
+ const view = (0, views_1.renderIndexView)({
309
+ isEmbedView: false,
310
+ });
311
+ res.status(200);
312
+ res.header('Content-Type', 'text/html');
313
+ res.end(view.toString());
314
+ }));
315
+ app.get('/embed', (0, asyncMiddleware_1.asyncMiddleware)(async (req, res) => {
316
+ const view = (0, views_1.renderIndexView)({
317
+ isEmbedView: true,
318
+ });
319
+ res.status(200);
320
+ res.header('Content-Type', 'text/html');
321
+ res.end(view.toString());
322
+ }));
323
+ app.use(express_1.default.static(publicFolder));
324
+ const server = new node_http_1.Server(app);
325
+ const io = new socket_io_1.Server(server, socket_utils_1.DEFAULT_SOCKET_IO_V2_PARAMS);
326
+ (0, socket_utils_1.startEio3Interceptor)(io);
327
+ const wss = new ws_1.default.Server({
328
+ noServer: true,
329
+ });
330
+ const websocketsToSendPreviews = new Set();
297
331
  // you can also get the actual image being classified from 'imageClassifier.on("result")',
298
332
  // but then you're limited by the inference speed.
299
333
  // here we get a direct feed from the camera so we guarantee the fps that we set earlier.
@@ -319,9 +353,16 @@ function startWebServer(opts) {
319
353
  fastShrinkOnLoad: false
320
354
  }).toColourspace('b-w');
321
355
  }
356
+ const imgBase64 = 'data:image/jpeg;base64,' + (await img.jpeg().toBuffer()).toString('base64');
322
357
  io.emit('image', {
323
- img: 'data:image/jpeg;base64,' + (await img.jpeg().toBuffer()).toString('base64')
358
+ img: imgBase64,
324
359
  });
360
+ for (const wsClient of websocketsToSendPreviews) {
361
+ wsClient.send(JSON.stringify({
362
+ type: 'camera-preview',
363
+ image: imgBase64,
364
+ }));
365
+ }
325
366
  nextFrame = Date.now() + 50;
326
367
  }
327
368
  catch (ex2) {
@@ -335,43 +376,146 @@ function startWebServer(opts) {
335
376
  processingFrame = false;
336
377
  }
337
378
  });
338
- imgClassifier.on('result', async (result, timeMs, imgAsJpg) => {
379
+ imgClassifier.on('result', (result, timeMs, imgAsJpg) => {
339
380
  io.emit('classification', {
340
381
  modelType: model.modelParameters.model_type,
341
382
  result: result.result,
342
383
  timeMs: timeMs,
343
384
  additionalInfo: result.info,
344
385
  });
386
+ for (const client of wss.clients) {
387
+ client.send(JSON.stringify({
388
+ type: 'classification',
389
+ result: result.result,
390
+ timeMs: timeMs,
391
+ additionalInfo: result.info,
392
+ }));
393
+ }
345
394
  });
395
+ const onThresholdOverride = async (ev) => {
396
+ try {
397
+ process.stdout.write(`Updating threshold for block ID ${ev.id}, key ${ev.key} to: ${ev.value}... `);
398
+ if (typeof ev.id !== 'number') {
399
+ throw new Error(`Invalid value for "id", should be a number (type: ${typeof ev.id})`);
400
+ }
401
+ if (typeof ev.key !== 'string' || ev.key === '') {
402
+ throw new Error(`Invalid value for "key", should be a string (type: ${typeof ev.key})`);
403
+ }
404
+ if (typeof ev.value !== 'number') {
405
+ throw new Error(`Invalid value for "value", should be a number (type: ${typeof ev.value})`);
406
+ }
407
+ let thresholdObj = (model.modelParameters.thresholds || []).find(x => x.id === ev.id);
408
+ if (!thresholdObj) {
409
+ throw new Error(`Cannot find threshold with ID ` + ev.id);
410
+ }
411
+ const thresholdKeys = Object.keys(thresholdObj).filter(x => x !== 'id' && x !== 'type');
412
+ if (thresholdKeys.indexOf(ev.key) === -1) {
413
+ throw new Error(`Threshold key "${ev.key}" not found (valid keys: [ ${thresholdKeys.map(x => `"${x}"`).join(', ')} ])`);
414
+ }
415
+ let obj = {
416
+ id: ev.id,
417
+ };
418
+ obj.type = thresholdObj.type;
419
+ obj[ev.key] = ev.value;
420
+ await imgClassifier.getRunner().setLearnBlockThreshold(obj);
421
+ thresholdObj[ev.key] = ev.value;
422
+ console.log(`OK`);
423
+ }
424
+ catch (ex2) {
425
+ const ex = ex2;
426
+ console.log('Failed to set threshold:', ex);
427
+ throw new Error(`Failed to set threshold "${ev.key}" (block ID: ${ev.id}): ` + (ex.message || ex.toString()));
428
+ }
429
+ };
346
430
  io.on('connection', socket => {
347
431
  socket.emit('hello', {
348
432
  projectName: model.project.owner + ' / ' + model.project.name,
349
433
  thresholds: model.modelParameters.thresholds,
350
434
  });
351
- socket.on('threshold-override', async (ev) => {
435
+ socket.on('threshold-override', (ev) => {
352
436
  try {
353
- process.stdout.write(`Updating threshold for block ID ${ev.id}, key ${ev.key} to: ${ev.value}... `);
354
- let thresholdObj = (model.modelParameters.thresholds || []).find(x => x.id === ev.id);
355
- if (!thresholdObj) {
356
- throw new Error(`Cannot find threshold with ID ` + ev.id);
357
- }
358
- let obj = {
359
- id: ev.id,
360
- };
361
- obj.type = thresholdObj.type;
362
- obj[ev.key] = ev.value;
363
- await imgClassifier.getRunner().setLearnBlockThreshold(obj);
364
- thresholdObj[ev.key] = ev.value;
365
- console.log(`OK`);
437
+ onThresholdOverride(ev);
366
438
  }
367
439
  catch (ex) {
368
- console.log('Failed to set threshold:', ex);
440
+ // noop
441
+ }
442
+ });
443
+ });
444
+ wss.on('connection', (websocket) => {
445
+ websocket.send(JSON.stringify({
446
+ type: 'hello',
447
+ ...model,
448
+ }));
449
+ websocket.on('message', async (msg) => {
450
+ let body;
451
+ let messageId;
452
+ try {
453
+ if (typeof msg !== 'string') {
454
+ throw new Error(`Can only handle messages of type "string"`);
455
+ }
456
+ body = JSON.parse(msg.toString());
457
+ messageId = body.messageId;
458
+ if (body.type === 'threshold-override') {
459
+ await onThresholdOverride({
460
+ id: body.id,
461
+ key: body.key,
462
+ value: body.value,
463
+ });
464
+ }
465
+ else if (body.type === 'toggle-camera-preview' ||
466
+ body.type === 'set-camera-preview') {
467
+ if (typeof body.enabled !== 'boolean') {
468
+ throw new Error(`Invalid value for "enabled", should be a boolean (type: ${typeof body.enabled})`);
469
+ }
470
+ if (body.enabled) {
471
+ websocketsToSendPreviews.add(websocket);
472
+ }
473
+ else {
474
+ websocketsToSendPreviews.delete(websocket);
475
+ }
476
+ }
477
+ else {
478
+ throw new Error(`Invalid "type" (${body.type})`);
479
+ }
480
+ websocket.send(JSON.stringify({
481
+ messageId: messageId,
482
+ type: 'handling-message-success',
483
+ message: msg,
484
+ }));
369
485
  }
486
+ catch (ex2) {
487
+ const ex = ex2;
488
+ websocket.send(JSON.stringify({
489
+ messageId: messageId,
490
+ type: 'handling-message-error',
491
+ message: msg,
492
+ error: ex.message || ex.toString(),
493
+ }));
494
+ return;
495
+ }
496
+ });
497
+ websocket.on('close', () => {
498
+ websocketsToSendPreviews.delete(websocket);
370
499
  });
371
500
  });
372
- return new Promise((resolve) => {
373
- server.listen(Number(process.env.PORT) || 4912, process.env.HOST || '0.0.0.0', async () => {
374
- resolve((Number(process.env.PORT) || 4912));
501
+ server.on('upgrade', (request, socket, head) => {
502
+ const { pathname } = url_1.default.parse(request.url || '');
503
+ if (pathname === '/') {
504
+ // Only handle /ws upgrades with ws
505
+ wss.handleUpgrade(request, socket, head, (newWs) => {
506
+ wss.emit('connection', newWs, request);
507
+ });
508
+ }
509
+ else {
510
+ // socket.io will handle this
511
+ }
512
+ });
513
+ return new Promise((resolve, reject) => {
514
+ server.listen(opts.port, opts.host, async () => {
515
+ resolve(opts.port);
516
+ });
517
+ server.on('error', err => {
518
+ reject(err);
375
519
  });
376
520
  });
377
521
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runner-utils.js","sourceRoot":"","sources":["../../../cli/linux/runner-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner-utils.js","sourceRoot":"","sources":["../../../cli/linux/runner-utils.ts"],"names":[],"mappings":"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"}