@coherentglobal/wasm-runner 0.1.4 → 0.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +137 -222
  2. package/dist/browser/template/main.template.js +1 -1
  3. package/dist/browser/template/main.template.js.map +1 -1
  4. package/dist/browser/template/worker.template.js +7 -4
  5. package/dist/browser/template/worker.template.js.map +1 -1
  6. package/dist/browser/template.js +1 -1
  7. package/dist/browser/template.js.map +1 -1
  8. package/dist/browser.d.ts +2 -2
  9. package/dist/browser.js +6 -6
  10. package/dist/browser.js.map +1 -1
  11. package/dist/error.d.ts +5 -0
  12. package/dist/error.js +13 -3
  13. package/dist/error.js.map +1 -1
  14. package/dist/node/logger.js +1 -1
  15. package/dist/node/logger.js.map +1 -1
  16. package/dist/node/logger.ts +1 -1
  17. package/dist/node/template/main.template.ejs +77 -64
  18. package/dist/node/threads/workerPool.d.ts +3 -5
  19. package/dist/node/threads/workerPool.js +7 -11
  20. package/dist/node/threads/workerPool.js.map +1 -1
  21. package/dist/node/threads/workerPool.ts +12 -10
  22. package/dist/node/threads/workerThread.d.ts +1 -0
  23. package/dist/node/threads/workerThread.js +17 -9
  24. package/dist/node/threads/workerThread.js.map +1 -1
  25. package/dist/node/threads/workerThread.ts +21 -14
  26. package/dist/node.d.ts +20 -5
  27. package/dist/node.js +243 -36
  28. package/dist/node.js.map +1 -1
  29. package/dist/responseTimeMetric.d.ts +16 -0
  30. package/dist/responseTimeMetric.js +56 -0
  31. package/dist/responseTimeMetric.js.map +1 -0
  32. package/dist/serializer/columnarSerializer.d.ts +3 -2
  33. package/dist/serializer/columnarSerializer.js +10 -1
  34. package/dist/serializer/columnarSerializer.js.map +1 -1
  35. package/dist/types.d.ts +34 -2
  36. package/dist/types.js +8 -0
  37. package/dist/types.js.map +1 -1
  38. package/dist/utils.d.ts +1 -0
  39. package/dist/utils.js +19 -15
  40. package/dist/utils.js.map +1 -1
  41. package/package.json +7 -4
package/dist/node.js CHANGED
@@ -51,11 +51,14 @@ const fs_1 = __importStar(require("fs"));
51
51
  const path_1 = __importDefault(require("path"));
52
52
  const util_1 = require("util");
53
53
  const got_1 = __importDefault(require("got"));
54
+ const semver_1 = __importDefault(require("semver"));
54
55
  const workerPool_1 = __importDefault(require("./node/threads/workerPool"));
55
56
  const utils = __importStar(require("./utils"));
57
+ const types_1 = require("./types");
56
58
  const error_1 = __importDefault(require("./error"));
57
59
  const node_os_1 = require("node:os");
58
60
  const constants_1 = require("./constants");
61
+ const responseTimeMetric_1 = __importDefault(require("./responseTimeMetric"));
59
62
  /* istanbul ignore next */
60
63
  var columnarSerializer_1 = require("./serializer/columnarSerializer");
61
64
  Object.defineProperty(exports, "ColumnarSerializer", { enumerable: true, get: function () { return columnarSerializer_1.ColumnarSerializer; } });
@@ -93,6 +96,7 @@ const unzipFiles = (id, url, workerFolder) => {
93
96
  let data;
94
97
  let metadata;
95
98
  let formspec;
99
+ let compilerLog;
96
100
  // @ts-ignore
97
101
  const stream = fs_1.default.createReadStream(url).pipe((0, unzipper_1.Parse)());
98
102
  return new Promise((resolve, reject) => {
@@ -116,6 +120,9 @@ const unzipFiles = (id, url, workerFolder) => {
116
120
  if (entry.path.toLowerCase().indexOf("_jsonformspec.json") > -1) {
117
121
  formspec = fileName;
118
122
  }
123
+ if (entry.path.toLowerCase().indexOf("_compilerlog.json") > -1) {
124
+ compilerLog = fileName;
125
+ }
119
126
  return entry.pipe(writeStream);
120
127
  }
121
128
  return entry.autodrain();
@@ -132,6 +139,7 @@ const unzipFiles = (id, url, workerFolder) => {
132
139
  data,
133
140
  metadata,
134
141
  formspec,
142
+ compilerLog,
135
143
  });
136
144
  });
137
145
  stream.on("error", (error) => reject(error));
@@ -159,23 +167,30 @@ class WasmRunner {
159
167
  *
160
168
  * @param {RunnerConfig} wasmRunnerConfig
161
169
  */
162
- constructor(wasmRunnerConfig, externalResolverModule = "", license = "") {
170
+ constructor(wasmRunnerConfig, externalResolverModule = "", options = {}, license = "") {
171
+ let baseTmpDir = null;
172
+ if (process.env.DEV_DEBUG_TMP_PATH) {
173
+ baseTmpDir = path_1.default.join(process.cwd(), process.env.DEV_DEBUG_TMP_PATH);
174
+ }
163
175
  this._tempWorkerFolder = tmp_1.default.dirSync({
164
176
  prefix: "wasmserver_worker",
165
177
  // @ts-ignore
166
178
  mode: 0o750,
179
+ tmpdir: baseTmpDir,
167
180
  });
168
181
  this._tempModelFolder = tmp_1.default.dirSync({
169
182
  prefix: "wasmserver_model",
170
183
  // @ts-ignore
171
184
  mode: 0o750,
185
+ tmpdir: baseTmpDir,
172
186
  });
173
187
  this.license = license;
174
188
  this.initializingModels = [];
175
189
  this.externalResolverModule = externalResolverModule
176
- ? require.resolve(externalResolverModule)
177
- : require.resolve("./defaultExternalResolver");
190
+ ? require(useCorrectPath(require.resolve(externalResolverModule)))
191
+ : require(require.resolve("./defaultExternalResolver"));
178
192
  this.models = [];
193
+ this.options = options;
179
194
  if (!utils.isEmpty(wasmRunnerConfig)) {
180
195
  if (Array.isArray(wasmRunnerConfig)) {
181
196
  this.models = wasmRunnerConfig.map((wsconfig) => ({
@@ -200,20 +215,24 @@ class WasmRunner {
200
215
  * @function initialize
201
216
  */
202
217
  /* istanbul ignore next */
203
- initialize(license = "") {
204
- return __awaiter(this, void 0, void 0, function* () {
218
+ initialize() {
219
+ return __awaiter(this, arguments, void 0, function* (license = "") {
220
+ if (this.options.compatibilityCheckEnabled) {
221
+ this.safeCompiler = yield this.getSafeCompilerVersion(this.options.runnerVersion);
222
+ }
205
223
  yield Promise.all(this.models.map((m) => __awaiter(this, void 0, void 0, function* () {
206
224
  return this._initializeModelInstance(m);
207
225
  })));
208
226
  });
209
227
  }
210
228
  /* istanbul ignore next */
211
- _createModelInstance(id, url, workerFolder, size) {
212
- return __awaiter(this, void 0, void 0, function* () {
229
+ _createModelInstance(id_1, url_1, workerFolder_1) {
230
+ return __awaiter(this, arguments, void 0, function* (id, url, workerFolder, size = 1) {
231
+ const workerSize = size || 1;
213
232
  logger_1.default.debug({
214
233
  TimeStamp: Date.now(),
215
234
  EventType: "Runner._createModelInstance",
216
- size: size,
235
+ size: workerSize,
217
236
  ModelId: id,
218
237
  });
219
238
  const tempFolder = path_1.default.join(workerFolder, `${id}-${Date.now()}`);
@@ -231,6 +250,11 @@ class WasmRunner {
231
250
  });
232
251
  const modelName = id;
233
252
  yield replaceRegexInFile(modelPack.js, `wasmBinaryFile="${path_1.default.basename(modelPack.wasm)}"`, `scriptDirectory="";wasmBinaryFile="${modelPack.wasm}"`);
253
+ const replaceIsFileURLFunc = "function isFileURI(filename) { if(typeof process !== undefined && process.versions && process.versions.node) { return true; }";
254
+ yield replaceRegexInFile(modelPack.js, "function isFileURI(filename) {", replaceIsFileURLFunc);
255
+ yield replaceRegexInFile(modelPack.js, "function isFileURI(filename){", replaceIsFileURLFunc);
256
+ // Remove `new URL()` since `isFileURI` will always be true for Node
257
+ yield replaceRegexInFile(modelPack.js, /\s*isFileURI\s*\(\s*filename\s*\)\s*\?\s*new\s*URL\s*\(\s*filename\s*\)\s*:\s*/g, "");
234
258
  if (modelPack.data) {
235
259
  yield replaceRegexInFile(modelPack.js, `"${path_1.default.basename(modelPack.data)}"`, `"${modelPack.data}"`);
236
260
  yield replaceRegexInFile(modelPack.js, `"${path_1.default.basename(modelPack.data)}"`, `"${modelPack.data}"`);
@@ -238,7 +262,7 @@ class WasmRunner {
238
262
  yield replaceRegexInFile(modelPack.js, `"${path_1.default.basename(modelPack.data)}"`, `"${modelPack.data}"`);
239
263
  }
240
264
  // Prepare File Paths
241
- const externalResolverPath = useCorrectPath(this.externalResolverModule);
265
+ // const externalResolverPath = useCorrectPath(this.externalResolverModule);
242
266
  const loggerPath = useCorrectPath(process.env.NODE_ENV === "test"
243
267
  ? require.resolve("./node/mockLogger.js")
244
268
  : require.resolve("./node/logger"));
@@ -255,6 +279,14 @@ class WasmRunner {
255
279
  const formSpecPath = useCorrectPath(require.resolve(modelPack.formspec));
256
280
  formspec = `require("${formSpecPath}")`;
257
281
  }
282
+ let compilerVersion = "undefined";
283
+ let compatibilityStatus = "undefined";
284
+ compilerVersion = !utils.isEmpty(modelPack.compilerLog)
285
+ ? yield this.getNeuronCompilerVersion(`"${modelPack.compilerLog}"`)
286
+ : undefined;
287
+ if (this.options.compatibilityCheckEnabled) {
288
+ compatibilityStatus = yield this.checkCompilerVersionCompatibility(compilerVersion);
289
+ }
258
290
  const fileContent = template({
259
291
  runtime: modelPack.js.replace(".js", ""),
260
292
  model: modelPack.wasm,
@@ -262,7 +294,6 @@ class WasmRunner {
262
294
  formspec,
263
295
  modelName,
264
296
  modules: {
265
- externalResolver: externalResolverPath,
266
297
  logger: loggerPath,
267
298
  workerThread: workerThread,
268
299
  },
@@ -274,6 +305,7 @@ class WasmRunner {
274
305
  EventType: "Runner.CreateTemplates",
275
306
  ModelId: id,
276
307
  });
308
+ let workerPool;
277
309
  /**
278
310
  * Processes the requests from Worker thread. Interprets the request
279
311
  * `type` and implement necessary logic and returns the result.
@@ -282,18 +314,17 @@ class WasmRunner {
282
314
  * Event details from Worker thread.
283
315
  */
284
316
  const processWorkerThreadRequest = (requestData) => __awaiter(this, void 0, void 0, function* () {
285
- const { type, payload, eventId, context } = requestData;
317
+ const { type, payload, context, threadId } = requestData;
286
318
  // Worker request of model execution on main thread.
287
319
  if (type === constants_1.THREAD_EVENT_TYPES.REQUEST_EXECUTE) {
288
320
  try {
289
- const resolverModule = require(this.externalResolverModule);
290
321
  // Callback the resolver function
291
- const result = yield resolverModule.sparkService(payload, context);
322
+ const result = yield this.externalResolverModule.sparkService(payload, context);
292
323
  // Send back the response to worker thread
293
324
  workerPool.postMessage({
294
325
  payload: result,
295
326
  type: constants_1.THREAD_EVENT_TYPES.RESPONSE,
296
- eventId,
327
+ threadId,
297
328
  });
298
329
  }
299
330
  catch (e) {
@@ -301,32 +332,61 @@ class WasmRunner {
301
332
  workerPool.postMessage({
302
333
  payload: e,
303
334
  type: constants_1.THREAD_EVENT_TYPES.ERROR,
304
- eventId,
335
+ threadId,
305
336
  });
306
337
  }
307
338
  }
308
339
  });
309
- const workerPool = new workerPool_1.default(size || 1, workerPath, {
340
+ const workerName = path_1.default.basename(modelPack.js, path_1.default.extname(modelPack.js)) || "";
341
+ workerPool = new workerPool_1.default(workerSize, workerPath, {
310
342
  errorHandler: (e) => logger_1.default.error("Worker Error: ", e),
343
+ onlineHandler: () => logger_1.default.info(`Worker ${id} online`),
311
344
  // Receive messages from worker here
312
345
  messageHandler: processWorkerThreadRequest,
346
+ workerOptions: {
347
+ name: workerName,
348
+ },
349
+ enableTasksQueue: true
313
350
  });
314
351
  logger_1.default.debug({
315
352
  TimeStamp: Date.now(),
316
353
  EventType: "Runner.ModelInitialize",
317
354
  ModelId: id,
318
355
  });
356
+ workerPool.start();
319
357
  return new Promise((resolve, reject) => {
320
358
  let limit = 0;
359
+ let readyCount = workerSize;
360
+ const stats = {};
321
361
  const checkModelStatus = () => __awaiter(this, void 0, void 0, function* () {
322
- const isReady = yield workerPool.execute("isReady");
323
- if (isReady) {
362
+ var _a;
363
+ const readyRes = yield workerPool.execute("isReady");
364
+ if (readyRes && !stats[readyRes.threadId]) {
365
+ stats[readyRes.threadId] = {
366
+ init_memory: readyRes.memoryUsage,
367
+ init_time_ms: readyRes.time,
368
+ ready_ts: ((_a = readyRes.payload) === null || _a === void 0 ? void 0 : _a.readyTs) || readyRes.readyTs,
369
+ peak_memory: readyRes.memoryUsage,
370
+ last_execute_consume_memory: readyRes.memoryUsage
371
+ };
372
+ readyCount = readyCount - 1;
324
373
  logger_1.default.debug({
325
374
  TimeStamp: Date.now(),
326
375
  EventType: "Runner.ModelInitialize.Completed",
327
376
  ModelId: id,
328
377
  });
329
- resolve(workerPool);
378
+ if (readyCount === 0) {
379
+ resolve({
380
+ instance: workerPool,
381
+ compilerVersion,
382
+ compatibilityStatus,
383
+ size: workerSize,
384
+ stats: stats
385
+ });
386
+ }
387
+ else {
388
+ setTimeout(checkModelStatus, 1);
389
+ }
330
390
  }
331
391
  else if (limit >= 2000) {
332
392
  // 1 second
@@ -346,15 +406,23 @@ class WasmRunner {
346
406
  _initializeModelInstance(m) {
347
407
  return __awaiter(this, void 0, void 0, function* () {
348
408
  if (utils.isHttpURL(m.url)) {
349
- const instance = yield this._createModelInstanceFromURL(m.id, m.url, this._tempWorkerFolder.name, this._tempModelFolder.name, m.size);
409
+ const { instance, compilerVersion, compatibilityStatus, stats } = yield this._createModelInstanceFromURL(m.id, m.url, this._tempWorkerFolder.name, this._tempModelFolder.name, m.size);
350
410
  m.ready = true;
351
411
  m.worker = instance;
412
+ m.compatibility_status = compatibilityStatus;
413
+ m.compilerVersion = compilerVersion;
414
+ m.stats = stats;
415
+ m.responseTimeMetrics = new responseTimeMetric_1.default();
352
416
  return Promise.resolve();
353
417
  }
354
418
  if (yield utils.isPath(m.url)) {
355
- const instance = yield this._createModelInstance(m.id, m.url, this._tempWorkerFolder.name, m.size);
419
+ const { instance, compilerVersion, compatibilityStatus, stats } = yield this._createModelInstance(m.id, m.url, this._tempWorkerFolder.name, m.size);
356
420
  m.ready = true;
357
421
  m.worker = instance;
422
+ m.compatibility_status = compatibilityStatus;
423
+ m.compilerVersion = compilerVersion;
424
+ m.stats = stats;
425
+ m.responseTimeMetrics = new responseTimeMetric_1.default();
358
426
  return Promise.resolve();
359
427
  }
360
428
  if (Buffer.isBuffer(m.url)) {
@@ -362,9 +430,13 @@ class WasmRunner {
362
430
  const modelPath = path_1.default.join(this._tempWorkerFolder.name, `${m.id}.zip`);
363
431
  const fileWriterStream = (0, fs_1.createWriteStream)(modelPath);
364
432
  yield pipeline(model, fileWriterStream);
365
- const instance = yield this._createModelInstance(m.id, modelPath, this._tempWorkerFolder.name, m.size);
433
+ const { instance, compilerVersion, compatibilityStatus, stats } = yield this._createModelInstance(m.id, modelPath, this._tempWorkerFolder.name, m.size);
366
434
  m.ready = true;
367
435
  m.worker = instance;
436
+ m.compatibility_status = compatibilityStatus;
437
+ m.compilerVersion = compilerVersion;
438
+ m.stats = stats;
439
+ m.responseTimeMetrics = new responseTimeMetric_1.default();
368
440
  return Promise.resolve();
369
441
  }
370
442
  });
@@ -395,6 +467,9 @@ class WasmRunner {
395
467
  */
396
468
  append(modelConfig) {
397
469
  return __awaiter(this, void 0, void 0, function* () {
470
+ if (this.options.compatibilityCheckEnabled) {
471
+ this.safeCompiler = yield this.getSafeCompilerVersion(this.options.runnerVersion);
472
+ }
398
473
  if (!this.isExist(modelConfig.id)) {
399
474
  const model = {
400
475
  id: modelConfig.id,
@@ -403,7 +478,8 @@ class WasmRunner {
403
478
  busy: 0,
404
479
  };
405
480
  if (!this.isExist(modelConfig.id)) {
406
- if (this.initializingModels.findIndex((im) => im === modelConfig.id) === -1) {
481
+ if (this.initializingModels.findIndex((im) => im === modelConfig.id) ===
482
+ -1) {
407
483
  try {
408
484
  this.initializingModels.push(modelConfig.id);
409
485
  yield this._initializeModelInstance(model);
@@ -419,7 +495,9 @@ class WasmRunner {
419
495
  else {
420
496
  const maxRetry = 600;
421
497
  let retry = 0;
422
- while (this.initializingModels.findIndex((im) => im === modelConfig.id) > -1 && retry < maxRetry) {
498
+ while (this.initializingModels.findIndex((im) => im === modelConfig.id) >
499
+ -1 &&
500
+ retry < maxRetry) {
423
501
  yield delay(100);
424
502
  retry++;
425
503
  }
@@ -504,6 +582,17 @@ class WasmRunner {
504
582
  throw new error_1.default.ModelInitializationError(id);
505
583
  return model;
506
584
  }
585
+ getModelSize(id) {
586
+ const model = this._getModel(id);
587
+ return model.size || 1;
588
+ }
589
+ getModelCompilerVersion(id) {
590
+ const model = this._getModel(id);
591
+ if (model.compilerVersion && model.compilerVersion !== 'undefined') {
592
+ return model.compilerVersion;
593
+ }
594
+ return undefined;
595
+ }
507
596
  /**
508
597
  * Check if model existed
509
598
  * @param {string} id Model id
@@ -517,15 +606,65 @@ class WasmRunner {
517
606
  return false;
518
607
  }
519
608
  }
609
+ isModelCompatible(model, input) {
610
+ if (!this.options.compatibilityCheckEnabled) {
611
+ return true;
612
+ }
613
+ switch (model.compatibility_status) {
614
+ case types_1.Compatibility.INCOMPATIBLE:
615
+ throw new error_1.default.ModelExecuteError(this.getIncompatibleMessage(model), model.id, input);
616
+ case types_1.Compatibility.PARTIAL:
617
+ logger_1.default.warn({
618
+ TimeStamp: Date.now(),
619
+ EventType: "Runner.Execute.Compatibility.Warning",
620
+ TextMessage: this.getPartiallyCompatibleMessage(model),
621
+ ModelId: model.id,
622
+ });
623
+ return true;
624
+ case types_1.Compatibility.COMPATIBLE:
625
+ return true;
626
+ }
627
+ return true;
628
+ }
629
+ getModelsStats() {
630
+ return this.models.map(model => {
631
+ const stats = Object.assign({}, model.stats);
632
+ Object.keys(stats).forEach(threadId => {
633
+ stats[threadId] = Object.assign({}, stats[threadId]);
634
+ Object.keys(stats[threadId]).forEach(k => {
635
+ if (k.indexOf('_memory') > -1) {
636
+ stats[threadId][`${k}_mb`] = utils.formatMemory(stats[threadId][k]);
637
+ delete stats[threadId][k];
638
+ }
639
+ if (k.indexOf('ready_ts') > -1) {
640
+ stats[threadId].uptime_ms = Date.now() - stats[threadId]['ready_ts'];
641
+ delete stats[threadId][k];
642
+ }
643
+ });
644
+ });
645
+ return {
646
+ stats: Object.assign(Object.assign({}, stats), { uptime_ms: Math.min(...Object.keys(stats).map((k) => stats[k].uptime_ms)), min_time_ms: model.responseTimeMetrics.min, mean_time_ms: model.responseTimeMetrics.mean, p95_time_ms: model.responseTimeMetrics.p95, p99_time_ms: model.responseTimeMetrics.p99, max_time_ms: model.responseTimeMetrics.max }),
647
+ busy: model.busy,
648
+ size: model.size,
649
+ id: model.id
650
+ };
651
+ });
652
+ }
653
+ getPartiallyCompatibleMessage(model) {
654
+ return `The Wasm was compiled using ${model.compilerVersion} which is not fully supported by this runner version ${this.safeCompiler}. The service should be able to run but could encounter errors`;
655
+ }
656
+ getIncompatibleMessage(model) {
657
+ return `The Wasm was compiled using ${model.compilerVersion} which is not supported by this runner version ${this.safeCompiler}.`;
658
+ }
520
659
  /**
521
660
  * Perform calculation. The runner will use request_meta.version_uuid of input argument to locate model
522
661
  * @async
523
662
  * @param {InputObject} input - Input data for calculation
524
663
  * @returns {Promise<ResponseObject>} - Response model data
525
664
  */
526
- execute(input, id = undefined, raw = false, cancelToken) {
527
- var _a, _b, _c;
528
- return __awaiter(this, void 0, void 0, function* () {
665
+ execute(input_1) {
666
+ return __awaiter(this, arguments, void 0, function* (input, id = undefined, raw = false, cancelToken) {
667
+ var _a, _b, _c;
529
668
  let logInput;
530
669
  const token = cancelToken ? cancelToken.getToken() : undefined;
531
670
  if (utils.isV3Input(input)) {
@@ -583,15 +722,31 @@ class WasmRunner {
583
722
  model.busy = model.busy + 1;
584
723
  }
585
724
  let parsedResult;
586
- parsedResult = yield model.worker.execute(input);
587
- logger_1.default.debug({
588
- TimeStamp: Date.now(),
589
- EventType: "Runner.Execute.Completed",
590
- executeDuration: Date.now() - start,
591
- runnerCallId: callid,
592
- ModelId: id,
593
- });
594
- return parsedResult;
725
+ if (this.isModelCompatible(model, input)) {
726
+ const start = Date.now();
727
+ const res = yield model.worker.execute(input);
728
+ const execTime = Date.now() - start;
729
+ if (res.memoryUsage > model.stats[res.threadId].peak_memory) {
730
+ model.stats[res.threadId].peak_memory = res.memoryUsage;
731
+ }
732
+ model.stats[res.threadId].last_execute_consume_memory = res.memoryUsage;
733
+ model.responseTimeMetrics.record(execTime);
734
+ if (res.error) {
735
+ throw res.error;
736
+ }
737
+ parsedResult = res.payload;
738
+ logger_1.default.debug({
739
+ TimeStamp: Date.now(),
740
+ EventType: "Runner.Execute.Completed",
741
+ executeDuration: Date.now() - start,
742
+ runnerCallId: callid,
743
+ ModelId: id,
744
+ });
745
+ return parsedResult;
746
+ }
747
+ else {
748
+ throw new error_1.default.ModelExecuteError(this.getIncompatibleMessage(model), version_uuid, input);
749
+ }
595
750
  }
596
751
  catch (err) {
597
752
  logger_1.default.error(err);
@@ -612,6 +767,58 @@ class WasmRunner {
612
767
  }
613
768
  });
614
769
  }
770
+ getNeuronCompilerVersion(logFile) {
771
+ return __awaiter(this, void 0, void 0, function* () {
772
+ let compilerVersion = undefined;
773
+ const data = fs_1.default.readFileSync(logFile.replace(/"/g, ""), "utf8");
774
+ const modelJsonInfo = JSON.parse(data);
775
+ if (!semver_1.default.valid(modelJsonInfo.CompilerVersion)) {
776
+ throw new error_1.default.CompatibilityJsonError(`The Wasm was compiled using ${modelJsonInfo.CompilerVersion} which is not supported by the compatibility check.`);
777
+ }
778
+ compilerVersion = semver_1.default.coerce(modelJsonInfo.CompilerVersion).version;
779
+ return compilerVersion;
780
+ });
781
+ }
782
+ checkCompilerVersionCompatibility(modelCompilerVersion) {
783
+ return __awaiter(this, void 0, void 0, function* () {
784
+ try {
785
+ const safeCompilerVersion = this.safeCompiler;
786
+ if (modelCompilerVersion) {
787
+ if (semver_1.default.lte(modelCompilerVersion, safeCompilerVersion)) {
788
+ return types_1.Compatibility.COMPATIBLE;
789
+ }
790
+ else {
791
+ return types_1.Compatibility.PARTIAL;
792
+ }
793
+ }
794
+ else {
795
+ return types_1.Compatibility.COMPATIBLE;
796
+ }
797
+ }
798
+ catch (err) {
799
+ if (err.code === "ENOENT" || err.message === "File not found") {
800
+ return types_1.Compatibility.COMPATIBLE;
801
+ }
802
+ else if (err instanceof SyntaxError) {
803
+ return types_1.Compatibility.INCOMPATIBLE;
804
+ }
805
+ else {
806
+ throw err;
807
+ }
808
+ }
809
+ });
810
+ }
811
+ getSafeCompilerVersion(runnerVersion) {
812
+ var _a;
813
+ const runnerVersions = (_a = this.options.compatibilityList) === null || _a === void 0 ? void 0 : _a.runner_versions;
814
+ if (!this.options.compatibilityList) {
815
+ throw new error_1.default.CompatibilityJsonError("No runner compiler compatibility list provided");
816
+ }
817
+ if (!runnerVersions.hasOwnProperty(runnerVersion)) {
818
+ throw new error_1.default.CompatibilityJsonError(`No compiler compatibility found for the runner version ${runnerVersion}`);
819
+ }
820
+ return runnerVersions[runnerVersion].safe_compiler;
821
+ }
615
822
  }
616
823
  exports.WasmRunner = WasmRunner;
617
824
  //# sourceMappingURL=node.js.map
package/dist/node.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export default class ResponseTimeMetrics {
2
+ private windowSize;
3
+ private responseTimes;
4
+ private totalResponseTime;
5
+ private count;
6
+ private minTime;
7
+ private maxTime;
8
+ constructor(windowSize?: number);
9
+ record(responseTime: number): void;
10
+ get mean(): number;
11
+ get p95(): number;
12
+ get p99(): number;
13
+ get max(): number;
14
+ get min(): number;
15
+ private percentile;
16
+ }