ruvector 0.2.32 → 0.2.33

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 (42) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +2303 -2302
  3. package/bin/cli.js +10245 -10237
  4. package/bin/mcp-policy.js +95 -95
  5. package/bin/mcp-server.js +4054 -4054
  6. package/dist/core/onnx/bundled-parallel.mjs +169 -169
  7. package/dist/core/onnx/embed-worker.mjs +67 -67
  8. package/dist/core/onnx/loader.js +485 -461
  9. package/dist/core/onnx/package.json +3 -3
  10. package/dist/core/onnx/pkg/LICENSE +21 -21
  11. package/dist/core/onnx/pkg/loader.js +348 -348
  12. package/dist/core/onnx/pkg/package.json +3 -3
  13. package/dist/core/onnx/pkg/ruvector_onnx_embeddings_wasm.d.ts +112 -112
  14. package/dist/core/onnx/pkg/ruvector_onnx_embeddings_wasm.js +5 -5
  15. package/dist/core/onnx/pkg/ruvector_onnx_embeddings_wasm_bg.js +638 -638
  16. package/dist/core/onnx/pkg/ruvector_onnx_embeddings_wasm_bg.wasm.d.ts +29 -29
  17. package/dist/core/parallel-workers.js +439 -439
  18. package/dist/workers/benchmark.js +15 -15
  19. package/package.json +124 -123
  20. package/src/decompiler/api-prober.js +302 -302
  21. package/src/decompiler/index.js +463 -463
  22. package/src/decompiler/metrics.js +86 -86
  23. package/src/decompiler/model-decompiler.js +423 -423
  24. package/src/decompiler/module-splitter.js +498 -498
  25. package/src/decompiler/module-tree.js +142 -142
  26. package/src/decompiler/name-predictor.js +400 -400
  27. package/src/decompiler/npm-fetch.js +176 -176
  28. package/src/decompiler/reconstructor.js +499 -499
  29. package/src/decompiler/reference-tracker.js +285 -285
  30. package/src/decompiler/statement-parser.js +285 -285
  31. package/src/decompiler/style-improver.js +438 -438
  32. package/src/decompiler/subcategories.js +339 -339
  33. package/src/decompiler/validator.js +379 -379
  34. package/src/decompiler/witness.js +140 -140
  35. package/src/optimizer/context.js +149 -0
  36. package/src/optimizer/index.js +177 -0
  37. package/src/optimizer/settings-generator.js +176 -0
  38. package/src/optimizer/tool-schemas.js +190 -0
  39. package/wasm/package.json +26 -26
  40. package/wasm/ruvector_decompiler_wasm.d.ts +27 -27
  41. package/wasm/ruvector_decompiler_wasm.js +220 -220
  42. package/wasm/ruvector_decompiler_wasm_bg.wasm.d.ts +16 -16
@@ -1,86 +1,86 @@
1
- /**
2
- * metrics.js - Code metrics extraction from JavaScript source.
3
- *
4
- * Computes structural metrics: function count, class count,
5
- * declaration count, line count, async patterns, etc.
6
- */
7
-
8
- 'use strict';
9
-
10
- /**
11
- * Compute code metrics for a JavaScript source string.
12
- *
13
- * @param {string} source - JavaScript source code
14
- * @returns {{
15
- * lines: number,
16
- * sizeBytes: number,
17
- * functions: number,
18
- * asyncFunctions: number,
19
- * arrowFunctions: number,
20
- * classes: number,
21
- * classExtensions: number,
22
- * constDeclarations: number,
23
- * letDeclarations: number,
24
- * varDeclarations: number,
25
- * imports: number,
26
- * exports: number,
27
- * requires: number,
28
- * awaitExpressions: number,
29
- * promiseUsages: number,
30
- * tryBlocks: number,
31
- * throwStatements: number,
32
- * regexLiterals: number
33
- * }}
34
- */
35
- function computeMetrics(source) {
36
- const count = (pattern) => (source.match(pattern) || []).length;
37
-
38
- return {
39
- lines: source.split('\n').length,
40
- sizeBytes: Buffer.byteLength(source, 'utf-8'),
41
- functions: count(/function\s*\w*\s*\(/g),
42
- asyncFunctions: count(/async\s+function/g),
43
- arrowFunctions: count(/=>/g),
44
- classes: count(/class\s+\w+/g),
45
- classExtensions: count(/extends\s+\w+/g),
46
- constDeclarations: count(/\bconst\s+/g),
47
- letDeclarations: count(/\blet\s+/g),
48
- varDeclarations: count(/\bvar\s+/g),
49
- imports: count(/\bimport\s+/g),
50
- exports: count(/\bexport\s+/g),
51
- requires: count(/\brequire\s*\(/g),
52
- awaitExpressions: count(/\bawait\s+/g),
53
- promiseUsages: count(/\bPromise\b/g),
54
- tryBlocks: count(/\btry\s*\{/g),
55
- throwStatements: count(/\bthrow\s+/g),
56
- regexLiterals: count(/\/[^/\n]+\/[gimsuy]*/g),
57
- };
58
- }
59
-
60
- /**
61
- * Compute a summary of metrics across multiple modules.
62
- *
63
- * @param {Array<{name: string, content: string}>} modules
64
- * @returns {{moduleCount: number, totalLines: number, totalBytes: number, perModule: object[]}}
65
- */
66
- function computeModuleMetrics(modules) {
67
- const perModule = modules.map((mod) => ({
68
- name: mod.name,
69
- ...computeMetrics(mod.content),
70
- }));
71
-
72
- const totalLines = perModule.reduce((sum, m) => sum + m.lines, 0);
73
- const totalBytes = perModule.reduce((sum, m) => sum + m.sizeBytes, 0);
74
-
75
- return {
76
- moduleCount: modules.length,
77
- totalLines,
78
- totalBytes,
79
- perModule,
80
- };
81
- }
82
-
83
- module.exports = {
84
- computeMetrics,
85
- computeModuleMetrics,
86
- };
1
+ /**
2
+ * metrics.js - Code metrics extraction from JavaScript source.
3
+ *
4
+ * Computes structural metrics: function count, class count,
5
+ * declaration count, line count, async patterns, etc.
6
+ */
7
+
8
+ 'use strict';
9
+
10
+ /**
11
+ * Compute code metrics for a JavaScript source string.
12
+ *
13
+ * @param {string} source - JavaScript source code
14
+ * @returns {{
15
+ * lines: number,
16
+ * sizeBytes: number,
17
+ * functions: number,
18
+ * asyncFunctions: number,
19
+ * arrowFunctions: number,
20
+ * classes: number,
21
+ * classExtensions: number,
22
+ * constDeclarations: number,
23
+ * letDeclarations: number,
24
+ * varDeclarations: number,
25
+ * imports: number,
26
+ * exports: number,
27
+ * requires: number,
28
+ * awaitExpressions: number,
29
+ * promiseUsages: number,
30
+ * tryBlocks: number,
31
+ * throwStatements: number,
32
+ * regexLiterals: number
33
+ * }}
34
+ */
35
+ function computeMetrics(source) {
36
+ const count = (pattern) => (source.match(pattern) || []).length;
37
+
38
+ return {
39
+ lines: source.split('\n').length,
40
+ sizeBytes: Buffer.byteLength(source, 'utf-8'),
41
+ functions: count(/function\s*\w*\s*\(/g),
42
+ asyncFunctions: count(/async\s+function/g),
43
+ arrowFunctions: count(/=>/g),
44
+ classes: count(/class\s+\w+/g),
45
+ classExtensions: count(/extends\s+\w+/g),
46
+ constDeclarations: count(/\bconst\s+/g),
47
+ letDeclarations: count(/\blet\s+/g),
48
+ varDeclarations: count(/\bvar\s+/g),
49
+ imports: count(/\bimport\s+/g),
50
+ exports: count(/\bexport\s+/g),
51
+ requires: count(/\brequire\s*\(/g),
52
+ awaitExpressions: count(/\bawait\s+/g),
53
+ promiseUsages: count(/\bPromise\b/g),
54
+ tryBlocks: count(/\btry\s*\{/g),
55
+ throwStatements: count(/\bthrow\s+/g),
56
+ regexLiterals: count(/\/[^/\n]+\/[gimsuy]*/g),
57
+ };
58
+ }
59
+
60
+ /**
61
+ * Compute a summary of metrics across multiple modules.
62
+ *
63
+ * @param {Array<{name: string, content: string}>} modules
64
+ * @returns {{moduleCount: number, totalLines: number, totalBytes: number, perModule: object[]}}
65
+ */
66
+ function computeModuleMetrics(modules) {
67
+ const perModule = modules.map((mod) => ({
68
+ name: mod.name,
69
+ ...computeMetrics(mod.content),
70
+ }));
71
+
72
+ const totalLines = perModule.reduce((sum, m) => sum + m.lines, 0);
73
+ const totalBytes = perModule.reduce((sum, m) => sum + m.sizeBytes, 0);
74
+
75
+ return {
76
+ moduleCount: modules.length,
77
+ totalLines,
78
+ totalBytes,
79
+ perModule,
80
+ };
81
+ }
82
+
83
+ module.exports = {
84
+ computeMetrics,
85
+ computeModuleMetrics,
86
+ };