fba-cli 1.0.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.
@@ -0,0 +1,504 @@
1
+ // This file was auto-generated from Rust code by bincode-typescript v0.1.0
2
+ import { TextEncoder, TextDecoder } from 'util';
3
+ export var BinType;
4
+ (function (BinType) {
5
+ BinType.FileInfo = (value) => ({ tag: 'FileInfo', value });
6
+ BinType.Lifecycles = (value) => ({ tag: 'Lifecycles', value });
7
+ BinType.DltMsgs = (value) => ({ tag: 'DltMsgs', value });
8
+ BinType.EacInfo = (value) => ({ tag: 'EacInfo', value });
9
+ BinType.PluginState = (value) => ({ tag: 'PluginState', value });
10
+ BinType.StreamInfo = (value) => ({ tag: 'StreamInfo', value });
11
+ })(BinType || (BinType = {}));
12
+ export function writeBinType(value, sinkOrBuf) {
13
+ const sink = Sink.create(sinkOrBuf);
14
+ switch (value.tag) {
15
+ case 'FileInfo':
16
+ writeU32(0, sink);
17
+ const val1 = value;
18
+ writeBinFileInfo(val1.value, sink);
19
+ break;
20
+ case 'Lifecycles':
21
+ writeU32(1, sink);
22
+ const val2 = value;
23
+ writeSeq(writeBinLifecycle)(val2.value, sink);
24
+ break;
25
+ case 'DltMsgs':
26
+ writeU32(2, sink);
27
+ const val3 = value;
28
+ writeTuple(writeU32, writeSeq(writeBinDltMsg))(val3.value, sink);
29
+ break;
30
+ case 'EacInfo':
31
+ writeU32(3, sink);
32
+ const val4 = value;
33
+ writeSeq(writeBinEcuStats)(val4.value, sink);
34
+ break;
35
+ case 'PluginState':
36
+ writeU32(4, sink);
37
+ const val5 = value;
38
+ writeSeq(writeString)(val5.value, sink);
39
+ break;
40
+ case 'StreamInfo':
41
+ writeU32(5, sink);
42
+ const val6 = value;
43
+ writeBinStreamInfo(val6.value, sink);
44
+ break;
45
+ default:
46
+ throw new Error(`'${value.tag}' is invalid tag for enum 'BinType'`);
47
+ }
48
+ return sink;
49
+ }
50
+ export function readBinType(sinkOrBuf) {
51
+ const sink = Sink.create(sinkOrBuf);
52
+ const value = readU32(sink);
53
+ switch (value) {
54
+ case 0:
55
+ return BinType.FileInfo(readBinFileInfo(sink));
56
+ case 1:
57
+ return BinType.Lifecycles(readSeq(readBinLifecycle)(sink));
58
+ case 2:
59
+ return BinType.DltMsgs(readTuple(readU32, readSeq(readBinDltMsg))(sink));
60
+ case 3:
61
+ return BinType.EacInfo(readSeq(readBinEcuStats)(sink));
62
+ case 4:
63
+ return BinType.PluginState(readSeq(readString)(sink));
64
+ case 5:
65
+ return BinType.StreamInfo(readBinStreamInfo(sink));
66
+ default:
67
+ throw new Error(`'${value}' is invalid value for enum 'BinType'`);
68
+ }
69
+ }
70
+ export function writeBinLifecycle(value, sinkOrBuf) {
71
+ const sink = Sink.create(sinkOrBuf);
72
+ writeU32(value.id, sink);
73
+ writeU32(value.ecu, sink);
74
+ writeU32(value.nr_msgs, sink);
75
+ writeU64(value.start_time, sink);
76
+ writeU64(value.end_time, sink);
77
+ writeOption(writeString)(value.sw_version, sink);
78
+ writeOption(writeU64)(value.resume_time, sink);
79
+ return sink;
80
+ }
81
+ export function readBinLifecycle(sinkOrBuf) {
82
+ const sink = Sink.create(sinkOrBuf);
83
+ return {
84
+ id: readU32(sink),
85
+ ecu: readU32(sink),
86
+ nr_msgs: readU32(sink),
87
+ start_time: readU64(sink),
88
+ end_time: readU64(sink),
89
+ sw_version: readOption(readString)(sink),
90
+ resume_time: readOption(readU64)(sink),
91
+ };
92
+ }
93
+ export function writeBinDltMsg(value, sinkOrBuf) {
94
+ const sink = Sink.create(sinkOrBuf);
95
+ writeU32(value.index, sink);
96
+ writeU64(value.reception_time, sink);
97
+ writeU32(value.timestamp_dms, sink);
98
+ writeU32(value.ecu, sink);
99
+ writeU32(value.apid, sink);
100
+ writeU32(value.ctid, sink);
101
+ writeU32(value.lifecycle_id, sink);
102
+ writeU8(value.htyp, sink);
103
+ writeU8(value.mcnt, sink);
104
+ writeU8(value.verb_mstp_mtin, sink);
105
+ writeU8(value.noar, sink);
106
+ writeString(value.payload_as_text, sink);
107
+ return sink;
108
+ }
109
+ export function readBinDltMsg(sinkOrBuf) {
110
+ const sink = Sink.create(sinkOrBuf);
111
+ return {
112
+ index: readU32(sink),
113
+ reception_time: readU64(sink),
114
+ timestamp_dms: readU32(sink),
115
+ ecu: readU32(sink),
116
+ apid: readU32(sink),
117
+ ctid: readU32(sink),
118
+ lifecycle_id: readU32(sink),
119
+ htyp: readU8(sink),
120
+ mcnt: readU8(sink),
121
+ verb_mstp_mtin: readU8(sink),
122
+ noar: readU8(sink),
123
+ payload_as_text: readString(sink),
124
+ };
125
+ }
126
+ export function writeBinFileInfo(value, sinkOrBuf) {
127
+ const sink = Sink.create(sinkOrBuf);
128
+ writeU32(value.nr_msgs, sink);
129
+ return sink;
130
+ }
131
+ export function readBinFileInfo(sinkOrBuf) {
132
+ const sink = Sink.create(sinkOrBuf);
133
+ return {
134
+ nr_msgs: readU32(sink),
135
+ };
136
+ }
137
+ export function writeBinEcuStats(value, sinkOrBuf) {
138
+ const sink = Sink.create(sinkOrBuf);
139
+ writeU32(value.ecu, sink);
140
+ writeU32(value.nr_msgs, sink);
141
+ writeSeq(writeBinApidInfo)(value.apids, sink);
142
+ return sink;
143
+ }
144
+ export function readBinEcuStats(sinkOrBuf) {
145
+ const sink = Sink.create(sinkOrBuf);
146
+ return {
147
+ ecu: readU32(sink),
148
+ nr_msgs: readU32(sink),
149
+ apids: readSeq(readBinApidInfo)(sink),
150
+ };
151
+ }
152
+ export function writeBinApidInfo(value, sinkOrBuf) {
153
+ const sink = Sink.create(sinkOrBuf);
154
+ writeU32(value.apid, sink);
155
+ writeOption(writeString)(value.desc, sink);
156
+ writeSeq(writeBinCtidInfo)(value.ctids, sink);
157
+ return sink;
158
+ }
159
+ export function readBinApidInfo(sinkOrBuf) {
160
+ const sink = Sink.create(sinkOrBuf);
161
+ return {
162
+ apid: readU32(sink),
163
+ desc: readOption(readString)(sink),
164
+ ctids: readSeq(readBinCtidInfo)(sink),
165
+ };
166
+ }
167
+ export function writeBinCtidInfo(value, sinkOrBuf) {
168
+ const sink = Sink.create(sinkOrBuf);
169
+ writeU32(value.ctid, sink);
170
+ writeU32(value.nr_msgs, sink);
171
+ writeOption(writeString)(value.desc, sink);
172
+ return sink;
173
+ }
174
+ export function readBinCtidInfo(sinkOrBuf) {
175
+ const sink = Sink.create(sinkOrBuf);
176
+ return {
177
+ ctid: readU32(sink),
178
+ nr_msgs: readU32(sink),
179
+ desc: readOption(readString)(sink),
180
+ };
181
+ }
182
+ export function writeBinStreamInfo(value, sinkOrBuf) {
183
+ const sink = Sink.create(sinkOrBuf);
184
+ writeU32(value.stream_id, sink);
185
+ writeU32(value.nr_stream_msgs, sink);
186
+ writeU32(value.nr_file_msgs_processed, sink);
187
+ writeU32(value.nr_file_msgs_total, sink);
188
+ return sink;
189
+ }
190
+ export function readBinStreamInfo(sinkOrBuf) {
191
+ const sink = Sink.create(sinkOrBuf);
192
+ return {
193
+ stream_id: readU32(sink),
194
+ nr_stream_msgs: readU32(sink),
195
+ nr_file_msgs_processed: readU32(sink),
196
+ nr_file_msgs_total: readU32(sink),
197
+ };
198
+ }
199
+ export class Sink {
200
+ view;
201
+ position;
202
+ constructor(input) {
203
+ this.view = new DataView(input);
204
+ this.position = 0;
205
+ }
206
+ reserve(extra) {
207
+ if (this.position + extra <= this.view.buffer.byteLength) {
208
+ return;
209
+ }
210
+ const newBuffer = new ArrayBuffer((this.view.buffer.byteLength + extra) * 2);
211
+ new Uint8Array(newBuffer).set(new Uint8Array(this.view.buffer));
212
+ this.view = new DataView(newBuffer);
213
+ }
214
+ static create(input) {
215
+ if (input === undefined) {
216
+ return new Sink(new ArrayBuffer(0));
217
+ }
218
+ if (input instanceof Sink) {
219
+ return input;
220
+ }
221
+ if (input instanceof ArrayBuffer) {
222
+ return new Sink(input);
223
+ }
224
+ if (input instanceof Uint8Array) {
225
+ return new Sink(input.buffer);
226
+ }
227
+ throw new Error(`'input' was of incorrect type. Expected 'Sink | ArrayBuffer | Uint8Array'`);
228
+ }
229
+ getUint8Array() {
230
+ return new Uint8Array(this.view.buffer.slice(0, this.position));
231
+ }
232
+ }
233
+ const BIG_32 = BigInt(32);
234
+ const BIG_64 = BigInt(64);
235
+ const BIG_32Fs = BigInt('4294967295');
236
+ const BIG_64Fs = BigInt('18446744073709551615');
237
+ const textEncoder = new TextEncoder();
238
+ const textDecoder = new TextDecoder();
239
+ function readU8(sink) {
240
+ const value = sink.view.getUint8(sink.position);
241
+ sink.position += 1;
242
+ return value;
243
+ }
244
+ function writeU8(value, sink) {
245
+ sink.reserve(1);
246
+ sink.view.setUint8(sink.position, value);
247
+ sink.position += 1;
248
+ return sink;
249
+ }
250
+ function readI8(sink) {
251
+ const value = sink.view.getInt8(sink.position);
252
+ sink.position += 1;
253
+ return value;
254
+ }
255
+ function writeI8(value, sink) {
256
+ sink.reserve(1);
257
+ sink.view.setInt8(sink.position, value);
258
+ sink.position += 1;
259
+ return sink;
260
+ }
261
+ function readU16(sink) {
262
+ const value = sink.view.getUint16(sink.position, true);
263
+ sink.position += 2;
264
+ return value;
265
+ }
266
+ function writeU16(value, sink) {
267
+ sink.reserve(2);
268
+ sink.view.setUint16(sink.position, value, true);
269
+ sink.position += 2;
270
+ return sink;
271
+ }
272
+ function readI16(sink) {
273
+ const value = sink.view.getInt16(sink.position, true);
274
+ sink.position += 2;
275
+ return value;
276
+ }
277
+ function writeI16(value, sink) {
278
+ sink.reserve(2);
279
+ sink.view.setInt16(sink.position, value, true);
280
+ sink.position += 2;
281
+ return sink;
282
+ }
283
+ function readU32(sink) {
284
+ const value = sink.view.getUint32(sink.position, true);
285
+ sink.position += 4;
286
+ return value;
287
+ }
288
+ function writeU32(value, sink) {
289
+ sink.reserve(4);
290
+ sink.view.setUint32(sink.position, value, true);
291
+ sink.position += 4;
292
+ return sink;
293
+ }
294
+ function readI32(sink) {
295
+ const value = sink.view.getInt32(sink.position, true);
296
+ sink.position += 4;
297
+ return value;
298
+ }
299
+ function writeI32(value, sink) {
300
+ sink.reserve(4);
301
+ sink.view.setInt32(sink.position, value, true);
302
+ sink.position += 4;
303
+ return sink;
304
+ }
305
+ function readF32(sink) {
306
+ const value = sink.view.getFloat32(sink.position, true);
307
+ sink.position += 4;
308
+ return value;
309
+ }
310
+ function writeF32(value, sink) {
311
+ sink.reserve(4);
312
+ sink.view.setFloat32(sink.position, value, true);
313
+ sink.position += 4;
314
+ return sink;
315
+ }
316
+ function readF64(sink) {
317
+ const value = sink.view.getFloat64(sink.position, true);
318
+ sink.position += 8;
319
+ return value;
320
+ }
321
+ function writeF64(value, sink) {
322
+ sink.reserve(8);
323
+ sink.view.setFloat64(sink.position, value, true);
324
+ sink.position += 8;
325
+ return sink;
326
+ }
327
+ function readU64(sink) {
328
+ const high = readU32(sink);
329
+ const low = readU32(sink);
330
+ return (BigInt(low) << BIG_32) | BigInt(high);
331
+ }
332
+ function writeU64(value, sink) {
333
+ const low = value & BIG_32Fs;
334
+ const high = value >> BIG_32;
335
+ writeU32(Number(low), sink);
336
+ writeU32(Number(high), sink);
337
+ return sink;
338
+ }
339
+ function readI64(sink) {
340
+ const high = readI32(sink);
341
+ const low = readI32(sink);
342
+ return (BigInt(low) << BIG_32) | BigInt(high);
343
+ }
344
+ function writeI64(value, sink) {
345
+ const low = value & BIG_32Fs;
346
+ const high = value >> BIG_32;
347
+ writeI32(Number(low), sink);
348
+ writeI32(Number(high), sink);
349
+ return sink;
350
+ }
351
+ function readUSize(sink) {
352
+ return readU64(sink);
353
+ }
354
+ function writeUSize(value, sink) {
355
+ writeU64(value, sink);
356
+ return sink;
357
+ }
358
+ function readISize(sink) {
359
+ return readI64(sink);
360
+ }
361
+ function writeISize(value, sink) {
362
+ writeI64(value, sink);
363
+ return sink;
364
+ }
365
+ function readU128(sink) {
366
+ const high = readU64(sink);
367
+ const low = readU64(sink);
368
+ return (low << BIG_64) | high;
369
+ }
370
+ function writeU128(value, sink) {
371
+ const low = value & BIG_64Fs;
372
+ const high = value >> BIG_64;
373
+ writeU64(low, sink);
374
+ writeU64(high, sink);
375
+ return sink;
376
+ }
377
+ function readI128(sink) {
378
+ const high = readI64(sink);
379
+ const low = readI64(sink);
380
+ return (low << BIG_64) | high;
381
+ }
382
+ function writeI128(value, sink) {
383
+ const low = value & BIG_64Fs;
384
+ const high = value >> BIG_64;
385
+ writeI64(low, sink);
386
+ writeI64(high, sink);
387
+ return sink;
388
+ }
389
+ function readBool(sink) {
390
+ return readU8(sink) === 1;
391
+ }
392
+ function writeBool(value, sink) {
393
+ writeU8(value ? 1 : 0, sink);
394
+ return sink;
395
+ }
396
+ function writeBytes(value, sink) {
397
+ sink.reserve(value.length + 1);
398
+ new Uint8Array(sink.view.buffer, sink.position).set(value);
399
+ sink.position += value.length;
400
+ return sink;
401
+ }
402
+ function readBytes(sink, length) {
403
+ const bytes = sink.view.buffer.slice(sink.position, sink.position + length);
404
+ sink.position += length;
405
+ return new Uint8Array(bytes);
406
+ }
407
+ function writeString(value, sink) {
408
+ const bytes = textEncoder.encode(value);
409
+ writeU64(BigInt(bytes.length), sink);
410
+ writeBytes(bytes, sink);
411
+ return sink;
412
+ }
413
+ function readString(sink) {
414
+ const length = readU64(sink);
415
+ const bytes = readBytes(sink, Number(length));
416
+ return textDecoder.decode(bytes);
417
+ }
418
+ function writeOption(writeFunc) {
419
+ return (value, sink) => {
420
+ writeBool(value !== undefined, sink);
421
+ if (value !== undefined) {
422
+ writeFunc(value, sink);
423
+ }
424
+ return sink;
425
+ };
426
+ }
427
+ function readOption(readFunc) {
428
+ return (sink) => {
429
+ const some = readBool(sink);
430
+ if (!some) {
431
+ return undefined;
432
+ }
433
+ return readFunc(sink);
434
+ };
435
+ }
436
+ function writeSeq(writeFunc) {
437
+ return (value, sink) => {
438
+ writeU64(BigInt(value.length), sink);
439
+ for (const each of value) {
440
+ writeFunc(each, sink);
441
+ }
442
+ return sink;
443
+ };
444
+ }
445
+ function readSeq(readFunc) {
446
+ return (sink) => {
447
+ const length = readU64(sink);
448
+ const output = new Array();
449
+ for (var i = 0; i < length; i++) {
450
+ output.push(readFunc(sink));
451
+ }
452
+ return output;
453
+ };
454
+ }
455
+ function writeTypedArray(value, sink) {
456
+ writeU64(BigInt(value.length), sink);
457
+ writeBytes(new Uint8Array(value.buffer.slice(value.byteOffset, value.byteLength)), sink);
458
+ return sink;
459
+ }
460
+ function readTypedArray(array_type) {
461
+ return (sink) => {
462
+ const length = readU64(sink);
463
+ const bytes = readBytes(sink, Number(length) * array_type.BYTES_PER_ELEMENT);
464
+ return new array_type(bytes.buffer, 0, Number(length));
465
+ };
466
+ }
467
+ function writeMap(writeKeyFunc, writeValueFunc) {
468
+ return (value, sink) => {
469
+ writeU64(BigInt(value.size), sink);
470
+ value.forEach((v, k) => {
471
+ writeKeyFunc(k, sink);
472
+ writeValueFunc(v, sink);
473
+ });
474
+ return sink;
475
+ };
476
+ }
477
+ function readMap(readKeyFunc, readValueFunc) {
478
+ return (sink) => {
479
+ const length = readU64(sink);
480
+ const output = new Map();
481
+ for (var i = 0; i < length; i++) {
482
+ output.set(readKeyFunc(sink), readValueFunc(sink));
483
+ }
484
+ return output;
485
+ };
486
+ }
487
+ function writeTuple(...writeFns) {
488
+ return (value, sink) => {
489
+ for (let i = 0; i < writeFns.length; i++) {
490
+ writeFns[i](value[i], sink);
491
+ }
492
+ return sink;
493
+ };
494
+ }
495
+ function readTuple(...readFns) {
496
+ return (sink) => {
497
+ const out = new Array();
498
+ for (const readFn of readFns) {
499
+ out.push(readFn(sink));
500
+ }
501
+ return out;
502
+ };
503
+ }
504
+ //# sourceMappingURL=remote_types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote_types.js","sourceRoot":"","sources":["../src/remote_types.ts"],"names":[],"mappings":"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"}
package/dist/util.js ADDED
@@ -0,0 +1,26 @@
1
+ export function version() {
2
+ return '1.0.0'; // todo how to get from package.json?
3
+ }
4
+ // taken from https://stackoverflow.com/questions/38213668/promise-retry-design-patterns
5
+ // slightly adapted to TS
6
+ export function retryOperation(operation, delay, retries) {
7
+ return new Promise((resolve, reject) => {
8
+ return operation(retries)
9
+ .then(resolve)
10
+ .catch((reason) => {
11
+ if (retries > 0) {
12
+ return sleep(delay)
13
+ .then(retryOperation.bind(null, operation, delay, retries - 1))
14
+ .then((value) => resolve(value))
15
+ .catch(reject);
16
+ }
17
+ return reject(reason);
18
+ });
19
+ });
20
+ }
21
+ export function sleep(ms) {
22
+ return new Promise(resolve => {
23
+ setTimeout(resolve, ms);
24
+ });
25
+ }
26
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,OAAO;IACrB,OAAO,OAAO,CAAA,CAAC,qCAAqC;AACtD,CAAC;AAED,wFAAwF;AACxF,yBAAyB;AAEzB,MAAM,UAAU,cAAc,CAAI,SAA+C,EAAE,KAAa,EAAE,OAAe;IAC/G,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,OAAO,SAAS,CAAC,OAAO,CAAC;aACpB,IAAI,CAAC,OAAO,CAAC;aACb,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;YACd,IAAI,OAAO,GAAG,CAAC,EAAE;gBACb,OAAO,KAAK,CAAC,KAAK,CAAC;qBACd,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;qBAC9D,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAU,CAAC,CAAC;qBACpC,KAAK,CAAC,MAAM,CAAC,CAAA;aACrB;YACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;IACV,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QACzB,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;AACJ,CAAC"}
package/jest.config.ts ADDED
@@ -0,0 +1,9 @@
1
+ import type { Config } from 'jest'
2
+
3
+ const config: Config = {
4
+ verbose: true,
5
+ preset: 'ts-jest',
6
+ testEnvironment: 'node',
7
+ }
8
+
9
+ export default config
package/package.json ADDED
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "fba-cli",
3
+ "version": "1.0.0",
4
+ "description": "A CLI (command line interface) to execute FBA (fishbone analysis) files with DLT-logs/adlt.",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/mbehr1/fba-cli.git"
8
+ },
9
+ "homepage": "https://github.com/mbehr1/fba-cli#readme",
10
+ "main": "dist/index.js",
11
+ "type": "module",
12
+ "bin": {
13
+ "fba-cli": "dist/index.js"
14
+ },
15
+ "scripts": {
16
+ "build": "eslint src --ext .ts && tsc",
17
+ "lint": "eslint src --ext .ts",
18
+ "test": "jest"
19
+ },
20
+ "keywords": [
21
+ "fishbone",
22
+ "analysis",
23
+ "dlt"
24
+ ],
25
+ "author": "Matthias Behr",
26
+ "license": "MIT",
27
+ "dependencies": {
28
+ "chalk": "^5.3.0",
29
+ "cli-progress": "^3.12.0",
30
+ "commander": "^11.1.0",
31
+ "js-yaml": "^4.1.0",
32
+ "json5": "2.2.3",
33
+ "jsonpath": "^1.1.1",
34
+ "mdast-util-assert": "^5.0.0",
35
+ "mdast-util-to-markdown": "^2.1.0",
36
+ "short-unique-id": "^5.0.3",
37
+ "unist-builder": "^4.0.0",
38
+ "unist-util-filter": "^5.0.1",
39
+ "unist-util-inspect": "^8.0.0",
40
+ "unist-util-is": "^6.0.0",
41
+ "unist-util-map": "^4.0.0",
42
+ "unist-util-visit": "^5.0.0",
43
+ "ws": "^8.14.2"
44
+ },
45
+ "devDependencies": {
46
+ "@types/cli-progress": "^3.11.4",
47
+ "@types/jest": "^29.5.6",
48
+ "@types/js-yaml": "^4.0.8",
49
+ "@types/jsonpath": "0.2.2",
50
+ "@types/mdast": "^4.0.2",
51
+ "@types/node": "^18.18.0",
52
+ "@types/unist": "3.0.1",
53
+ "@types/ws": "^8.5.8",
54
+ "@typescript-eslint/parser": "^6.8.0",
55
+ "@typescript-eslint/eslint-plugin": "^6.8.0",
56
+ "eslint": "^8.52.0",
57
+ "jest": "^29.7.0",
58
+ "ts-jest": "^29.1.1",
59
+ "ts-node": "^10.9.1",
60
+ "typescript": "^5.2.2"
61
+ }
62
+ }