@veewo/gitnexus 1.3.7 → 1.3.9

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 (132) hide show
  1. package/README.md +9 -4
  2. package/dist/benchmark/runner.test.js +1 -1
  3. package/dist/benchmark/u2-e2e/analyze-parser.d.ts +22 -0
  4. package/dist/benchmark/u2-e2e/analyze-parser.js +89 -0
  5. package/dist/benchmark/u2-e2e/analyze-parser.test.d.ts +1 -0
  6. package/dist/benchmark/u2-e2e/analyze-parser.test.js +13 -0
  7. package/dist/benchmark/u2-e2e/characterlist-assetref.d.ts +19 -0
  8. package/dist/benchmark/u2-e2e/characterlist-assetref.js +80 -0
  9. package/dist/benchmark/u2-e2e/characterlist-assetref.test.d.ts +1 -0
  10. package/dist/benchmark/u2-e2e/characterlist-assetref.test.js +108 -0
  11. package/dist/benchmark/u2-e2e/config.d.ts +25 -0
  12. package/dist/benchmark/u2-e2e/config.js +86 -0
  13. package/dist/benchmark/u2-e2e/config.test.d.ts +1 -0
  14. package/dist/benchmark/u2-e2e/config.test.js +29 -0
  15. package/dist/benchmark/u2-e2e/metrics.d.ts +20 -0
  16. package/dist/benchmark/u2-e2e/metrics.js +34 -0
  17. package/dist/benchmark/u2-e2e/metrics.test.d.ts +1 -0
  18. package/dist/benchmark/u2-e2e/metrics.test.js +13 -0
  19. package/dist/benchmark/u2-e2e/neonspark-full-e2e.d.ts +33 -0
  20. package/dist/benchmark/u2-e2e/neonspark-full-e2e.js +439 -0
  21. package/dist/benchmark/u2-e2e/neonspark-full-e2e.test.d.ts +1 -0
  22. package/dist/benchmark/u2-e2e/neonspark-full-e2e.test.js +40 -0
  23. package/dist/benchmark/u2-e2e/report.d.ts +58 -0
  24. package/dist/benchmark/u2-e2e/report.js +130 -0
  25. package/dist/benchmark/u2-e2e/report.test.d.ts +1 -0
  26. package/dist/benchmark/u2-e2e/report.test.js +58 -0
  27. package/dist/benchmark/u2-e2e/retrieval-runner.d.ts +21 -0
  28. package/dist/benchmark/u2-e2e/retrieval-runner.js +166 -0
  29. package/dist/benchmark/u2-e2e/retrieval-runner.test.d.ts +1 -0
  30. package/dist/benchmark/u2-e2e/retrieval-runner.test.js +145 -0
  31. package/dist/benchmark/u2-performance-sampler.d.ts +33 -0
  32. package/dist/benchmark/u2-performance-sampler.js +178 -0
  33. package/dist/benchmark/u2-performance-sampler.test.d.ts +1 -0
  34. package/dist/benchmark/u2-performance-sampler.test.js +34 -0
  35. package/dist/cli/analyze-custom-modules-regression.test.d.ts +1 -0
  36. package/dist/cli/analyze-custom-modules-regression.test.js +75 -0
  37. package/dist/cli/analyze-modules-diagnostics.test.d.ts +1 -0
  38. package/dist/cli/analyze-modules-diagnostics.test.js +36 -0
  39. package/dist/cli/analyze-multi-scope-regression.test.js +10 -0
  40. package/dist/cli/analyze-summary.d.ts +7 -0
  41. package/dist/cli/analyze-summary.js +37 -0
  42. package/dist/cli/analyze-summary.test.d.ts +1 -0
  43. package/dist/cli/analyze-summary.test.js +58 -0
  44. package/dist/cli/analyze.js +11 -6
  45. package/dist/cli/benchmark-u2-e2e.d.ts +9 -0
  46. package/dist/cli/benchmark-u2-e2e.js +35 -0
  47. package/dist/cli/benchmark-u2-e2e.test.d.ts +1 -0
  48. package/dist/cli/benchmark-u2-e2e.test.js +7 -0
  49. package/dist/cli/index.js +20 -0
  50. package/dist/cli/setup.js +24 -3
  51. package/dist/cli/setup.test.js +6 -4
  52. package/dist/cli/tool.d.ts +3 -0
  53. package/dist/cli/tool.js +2 -0
  54. package/dist/cli/unity-bindings.d.ts +8 -0
  55. package/dist/cli/unity-bindings.js +33 -0
  56. package/dist/cli/unity-bindings.test.d.ts +1 -0
  57. package/dist/cli/unity-bindings.test.js +24 -0
  58. package/dist/core/graph/types.d.ts +1 -1
  59. package/dist/core/ingestion/modules/assignment-engine.d.ts +33 -0
  60. package/dist/core/ingestion/modules/assignment-engine.js +179 -0
  61. package/dist/core/ingestion/modules/assignment-engine.test.d.ts +1 -0
  62. package/dist/core/ingestion/modules/assignment-engine.test.js +111 -0
  63. package/dist/core/ingestion/modules/config-loader.d.ts +2 -0
  64. package/dist/core/ingestion/modules/config-loader.js +186 -0
  65. package/dist/core/ingestion/modules/config-loader.test.d.ts +1 -0
  66. package/dist/core/ingestion/modules/config-loader.test.js +57 -0
  67. package/dist/core/ingestion/modules/rule-matcher.d.ts +12 -0
  68. package/dist/core/ingestion/modules/rule-matcher.js +63 -0
  69. package/dist/core/ingestion/modules/rule-matcher.test.d.ts +1 -0
  70. package/dist/core/ingestion/modules/rule-matcher.test.js +58 -0
  71. package/dist/core/ingestion/modules/types.d.ts +44 -0
  72. package/dist/core/ingestion/modules/types.js +2 -0
  73. package/dist/core/ingestion/pipeline.d.ts +2 -4
  74. package/dist/core/ingestion/pipeline.js +12 -0
  75. package/dist/core/ingestion/unity-resource-processor.d.ts +26 -0
  76. package/dist/core/ingestion/unity-resource-processor.js +363 -0
  77. package/dist/core/ingestion/unity-resource-processor.test.d.ts +1 -0
  78. package/dist/core/ingestion/unity-resource-processor.test.js +599 -0
  79. package/dist/core/kuzu/kuzu-adapter.d.ts +6 -0
  80. package/dist/core/kuzu/kuzu-adapter.js +18 -7
  81. package/dist/core/kuzu/schema.d.ts +2 -2
  82. package/dist/core/kuzu/schema.js +22 -1
  83. package/dist/core/kuzu/schema.test.d.ts +1 -0
  84. package/dist/core/kuzu/schema.test.js +17 -0
  85. package/dist/core/unity/meta-index.d.ts +5 -0
  86. package/dist/core/unity/meta-index.js +113 -0
  87. package/dist/core/unity/meta-index.test.d.ts +1 -0
  88. package/dist/core/unity/meta-index.test.js +11 -0
  89. package/dist/core/unity/options.d.ts +2 -0
  90. package/dist/core/unity/options.js +9 -0
  91. package/dist/core/unity/options.test.d.ts +1 -0
  92. package/dist/core/unity/options.test.js +10 -0
  93. package/dist/core/unity/override-merger.d.ts +27 -0
  94. package/dist/core/unity/override-merger.js +35 -0
  95. package/dist/core/unity/override-merger.test.d.ts +1 -0
  96. package/dist/core/unity/override-merger.test.js +47 -0
  97. package/dist/core/unity/resolver.d.ts +79 -0
  98. package/dist/core/unity/resolver.js +384 -0
  99. package/dist/core/unity/resolver.test.d.ts +1 -0
  100. package/dist/core/unity/resolver.test.js +244 -0
  101. package/dist/core/unity/resource-hit-scanner.d.ts +10 -0
  102. package/dist/core/unity/resource-hit-scanner.js +60 -0
  103. package/dist/core/unity/resource-hit-scanner.test.d.ts +1 -0
  104. package/dist/core/unity/resource-hit-scanner.test.js +20 -0
  105. package/dist/core/unity/scan-context.d.ts +23 -0
  106. package/dist/core/unity/scan-context.js +318 -0
  107. package/dist/core/unity/scan-context.test.d.ts +1 -0
  108. package/dist/core/unity/scan-context.test.js +118 -0
  109. package/dist/core/unity/serialized-type-index.d.ts +10 -0
  110. package/dist/core/unity/serialized-type-index.js +105 -0
  111. package/dist/core/unity/serialized-type-index.test.d.ts +1 -0
  112. package/dist/core/unity/serialized-type-index.test.js +34 -0
  113. package/dist/core/unity/u2-thresholds.test.d.ts +1 -0
  114. package/dist/core/unity/u2-thresholds.test.js +71 -0
  115. package/dist/core/unity/yaml-object-graph.d.ts +9 -0
  116. package/dist/core/unity/yaml-object-graph.js +92 -0
  117. package/dist/core/unity/yaml-object-graph.test.d.ts +1 -0
  118. package/dist/core/unity/yaml-object-graph.test.js +49 -0
  119. package/dist/mcp/local/cluster-aggregation.d.ts +20 -0
  120. package/dist/mcp/local/cluster-aggregation.js +48 -0
  121. package/dist/mcp/local/cluster-aggregation.test.d.ts +1 -0
  122. package/dist/mcp/local/cluster-aggregation.test.js +22 -0
  123. package/dist/mcp/local/local-backend.js +12 -1
  124. package/dist/mcp/local/unity-enrichment.d.ts +6 -0
  125. package/dist/mcp/local/unity-enrichment.js +91 -0
  126. package/dist/mcp/local/unity-enrichment.test.d.ts +1 -0
  127. package/dist/mcp/local/unity-enrichment.test.js +130 -0
  128. package/dist/mcp/tools.js +12 -0
  129. package/dist/types/pipeline.d.ts +7 -0
  130. package/dist/types/pipeline.js +2 -0
  131. package/hooks/check-release-path-hygiene.mjs +108 -0
  132. package/package.json +14 -7
package/dist/mcp/tools.js CHANGED
@@ -45,6 +45,12 @@ Hybrid ranking: BM25 keyword + semantic vector search, ranked by Reciprocal Rank
45
45
  limit: { type: 'number', description: 'Max processes to return (default: 5)', default: 5 },
46
46
  max_symbols: { type: 'number', description: 'Max symbols per process (default: 10)', default: 10 },
47
47
  include_content: { type: 'boolean', description: 'Include full symbol source code (default: false)', default: false },
48
+ unity_resources: {
49
+ type: 'string',
50
+ enum: ['off', 'on', 'auto'],
51
+ description: 'Unity resource retrieval mode (default: off)',
52
+ default: 'off',
53
+ },
48
54
  repo: { type: 'string', description: 'Repository name or path. Omit if only one repo is indexed.' },
49
55
  },
50
56
  required: ['query'],
@@ -106,6 +112,12 @@ Handles disambiguation: if multiple symbols share the same name, returns candida
106
112
  uid: { type: 'string', description: 'Direct symbol UID from prior tool results (zero-ambiguity lookup)' },
107
113
  file_path: { type: 'string', description: 'File path to disambiguate common names' },
108
114
  include_content: { type: 'boolean', description: 'Include full symbol source code (default: false)', default: false },
115
+ unity_resources: {
116
+ type: 'string',
117
+ enum: ['off', 'on', 'auto'],
118
+ description: 'Unity resource retrieval mode (default: off)',
119
+ default: 'off',
120
+ },
109
121
  repo: { type: 'string', description: 'Repository name or path. Omit if only one repo is indexed.' },
110
122
  },
111
123
  required: [],
@@ -1,6 +1,7 @@
1
1
  import { GraphNode, GraphRelationship, KnowledgeGraph } from '../core/graph/types.js';
2
2
  import { CommunityDetectionResult } from '../core/ingestion/community-processor.js';
3
3
  import { ProcessDetectionResult } from '../core/ingestion/process-processor.js';
4
+ import type { UnityResourceProcessingResult } from '../core/ingestion/unity-resource-processor.js';
4
5
  import type { ScopeSelectionDiagnostics } from '../core/ingestion/scope-filter.js';
5
6
  export type PipelinePhase = 'idle' | 'extracting' | 'structure' | 'parsing' | 'imports' | 'calls' | 'heritage' | 'communities' | 'processes' | 'enriching' | 'complete' | 'error';
6
7
  export interface PipelineProgress {
@@ -14,6 +15,10 @@ export interface PipelineProgress {
14
15
  nodesCreated: number;
15
16
  };
16
17
  }
18
+ export interface PipelineRunOptions {
19
+ includeExtensions?: string[];
20
+ scopeRules?: string[];
21
+ }
17
22
  export interface PipelineResult {
18
23
  graph: KnowledgeGraph;
19
24
  /** Absolute path to the repo root — used for lazy file reads during KuzuDB loading */
@@ -22,6 +27,7 @@ export interface PipelineResult {
22
27
  totalFileCount: number;
23
28
  communityResult?: CommunityDetectionResult;
24
29
  processResult?: ProcessDetectionResult;
30
+ unityResult?: UnityResourceProcessingResult;
25
31
  scopeDiagnostics?: ScopeSelectionDiagnostics;
26
32
  }
27
33
  export interface SerializablePipelineResult {
@@ -29,6 +35,7 @@ export interface SerializablePipelineResult {
29
35
  relationships: GraphRelationship[];
30
36
  repoPath: string;
31
37
  totalFileCount: number;
38
+ unityResult?: UnityResourceProcessingResult;
32
39
  }
33
40
  export declare const serializePipelineResult: (result: PipelineResult) => SerializablePipelineResult;
34
41
  export declare const deserializePipelineResult: (serialized: SerializablePipelineResult, createGraph: () => KnowledgeGraph) => PipelineResult;
@@ -4,6 +4,7 @@ export const serializePipelineResult = (result) => ({
4
4
  relationships: [...result.graph.iterRelationships()],
5
5
  repoPath: result.repoPath,
6
6
  totalFileCount: result.totalFileCount,
7
+ unityResult: result.unityResult,
7
8
  });
8
9
  // Helper to reconstruct from serializable format (used in main thread)
9
10
  export const deserializePipelineResult = (serialized, createGraph) => {
@@ -14,5 +15,6 @@ export const deserializePipelineResult = (serialized, createGraph) => {
14
15
  graph,
15
16
  repoPath: serialized.repoPath,
16
17
  totalFileCount: serialized.totalFileCount,
18
+ unityResult: serialized.unityResult,
17
19
  };
18
20
  };
@@ -0,0 +1,108 @@
1
+ import fs from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+
5
+ const scriptDir = path.dirname(fileURLToPath(import.meta.url));
6
+ const repoRoot = path.resolve(scriptDir, '..', '..');
7
+
8
+ const FORBIDDEN_ABSOLUTE_PATTERNS = [
9
+ /\/Volumes\/[^"'`\s]*unity-projects\/neonspark/g,
10
+ /\/Users\/[^"'`\s]*unity-projects\/neonspark/g,
11
+ ];
12
+
13
+ const RELEASE_FILES = [
14
+ 'gitnexus/package.json',
15
+ 'benchmarks/u2-e2e/neonspark-full-u2-e2e.config.json',
16
+ ];
17
+
18
+ const RELEASE_DIR_RULES = [
19
+ { root: '.github/workflows', exts: new Set(['.yml', '.yaml']) },
20
+ { root: 'gitnexus/src', exts: new Set(['.ts']) },
21
+ ];
22
+
23
+ function shouldScan(relPath) {
24
+ if (RELEASE_FILES.includes(relPath)) {
25
+ return true;
26
+ }
27
+
28
+ for (const rule of RELEASE_DIR_RULES) {
29
+ if (!relPath.startsWith(`${rule.root}/`)) continue;
30
+ if (relPath.endsWith('.test.ts')) return false;
31
+ if (rule.exts.has(path.extname(relPath))) return true;
32
+ }
33
+
34
+ return false;
35
+ }
36
+
37
+ async function walk(dir) {
38
+ const entries = await fs.readdir(dir, { withFileTypes: true });
39
+ const out = [];
40
+ for (const entry of entries) {
41
+ const fullPath = path.join(dir, entry.name);
42
+ if (entry.isDirectory()) {
43
+ out.push(...(await walk(fullPath)));
44
+ } else if (entry.isFile()) {
45
+ out.push(fullPath);
46
+ }
47
+ }
48
+ return out;
49
+ }
50
+
51
+ async function collectReleaseFiles() {
52
+ const roots = ['.github/workflows', 'gitnexus/src'];
53
+ const fullPaths = [];
54
+ for (const root of roots) {
55
+ const abs = path.join(repoRoot, root);
56
+ try {
57
+ fullPaths.push(...(await walk(abs)));
58
+ } catch (error) {
59
+ const code = error && typeof error === 'object' ? error.code : undefined;
60
+ if (code !== 'ENOENT') throw error;
61
+ }
62
+ }
63
+
64
+ for (const rel of RELEASE_FILES) {
65
+ fullPaths.push(path.join(repoRoot, rel));
66
+ }
67
+
68
+ const dedup = new Map();
69
+ for (const full of fullPaths) {
70
+ const rel = path.relative(repoRoot, full).split(path.sep).join('/');
71
+ if (!shouldScan(rel)) continue;
72
+ dedup.set(rel, full);
73
+ }
74
+ return [...dedup.entries()];
75
+ }
76
+
77
+ async function main() {
78
+ const files = await collectReleaseFiles();
79
+ const hits = [];
80
+
81
+ for (const [relPath, absPath] of files) {
82
+ const content = await fs.readFile(absPath, 'utf-8');
83
+ for (const pattern of FORBIDDEN_ABSOLUTE_PATTERNS) {
84
+ const matched = content.match(pattern);
85
+ if (matched && matched.length > 0) {
86
+ hits.push({ relPath, matched: matched[0], pattern: String(pattern) });
87
+ }
88
+ }
89
+ }
90
+
91
+ if (hits.length > 0) {
92
+ process.stderr.write('Release path hygiene check failed.\n');
93
+ for (const hit of hits) {
94
+ process.stderr.write(
95
+ `- ${hit.relPath}: contains "${hit.matched}" (pattern: ${hit.pattern})\n`,
96
+ );
97
+ }
98
+ process.exitCode = 1;
99
+ return;
100
+ }
101
+
102
+ process.stdout.write('Release path hygiene check passed.\n');
103
+ }
104
+
105
+ main().catch((error) => {
106
+ process.stderr.write(`${error instanceof Error ? error.stack || error.message : String(error)}\n`);
107
+ process.exitCode = 1;
108
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veewo/gitnexus",
3
- "version": "1.3.7",
3
+ "version": "1.3.9",
4
4
  "description": "Graph-powered code intelligence for AI agents. Index any codebase, query via MCP or CLI.",
5
5
  "author": "Abhigyan Patwari",
6
6
  "license": "PolyForm-Noncommercial-1.0.0",
@@ -39,15 +39,22 @@
39
39
  "build": "tsc",
40
40
  "dev": "tsx watch src/cli/index.ts",
41
41
  "prepare": "npm run build",
42
+ "check:release-paths": "node hooks/check-release-path-hygiene.mjs",
43
+ "check:neonspark-target": "node -e \"const p=(process.env.GITNEXUS_NEONSPARK_TARGET_PATH||'').trim();if(!p){console.error('Missing env: GITNEXUS_NEONSPARK_TARGET_PATH');process.exit(1);}\"",
44
+ "check:u2-e2e-target": "node -e \"const p=(process.env.GITNEXUS_U2_E2E_TARGET_PATH||'').trim();if(!p){console.error('Missing env: GITNEXUS_U2_E2E_TARGET_PATH');process.exit(1);}\"",
45
+ "test:unity": "npm run build && node --test dist/core/unity/*.test.js",
46
+ "test:u3:gates": "npm run check:release-paths && npm run build && node --test dist/benchmark/u2-e2e/*.test.js dist/mcp/local/unity-enrichment.test.js dist/core/ingestion/unity-resource-processor.test.js",
42
47
  "test:benchmark": "npm run build && node --test dist/benchmark/*.test.js dist/cli/*.test.js",
43
48
  "benchmark:quick": "npm run build && node dist/cli/index.js benchmark-unity ../benchmarks/unity-baseline/v1 --profile quick --target-path ../benchmarks/fixtures/unity-mini",
44
49
  "benchmark:full": "npm run build && node dist/cli/index.js benchmark-unity ../benchmarks/unity-baseline/v1 --profile full --target-path ../benchmarks/fixtures/unity-mini",
45
- "benchmark:neonspark:full": "npm run build && node dist/cli/index.js benchmark-unity ../benchmarks/unity-baseline/neonspark-v1 --profile full --target-path /Volumes/Shuttle/unity-projects/neonspark --repo-alias neonspark-v1-subset --scope-manifest ../benchmarks/unity-baseline/neonspark-v1/sync-manifest.txt",
46
- "benchmark:neonspark:quick": "npm run build && node dist/cli/index.js benchmark-unity ../benchmarks/unity-baseline/neonspark-v1 --profile quick --target-path /Volumes/Shuttle/unity-projects/neonspark --repo-alias neonspark-v1-subset --scope-manifest ../benchmarks/unity-baseline/neonspark-v1/sync-manifest.txt",
47
- "benchmark:neonspark:v2:full": "npm run build && node dist/cli/index.js benchmark-unity ../benchmarks/unity-baseline/neonspark-v2 --profile full --target-path /Volumes/Shuttle/unity-projects/neonspark --repo-alias neonspark-v1-subset --scope-manifest ../benchmarks/unity-baseline/neonspark-v2/sync-manifest.txt",
48
- "benchmark:neonspark:v2:quick": "npm run build && node dist/cli/index.js benchmark-unity ../benchmarks/unity-baseline/neonspark-v2 --profile quick --target-path /Volumes/Shuttle/unity-projects/neonspark --repo-alias neonspark-v1-subset --scope-manifest ../benchmarks/unity-baseline/neonspark-v2/sync-manifest.txt",
49
- "benchmark:agent-context:quick": "npm run build && node dist/cli/index.js benchmark-agent-context ../benchmarks/agent-context/neonspark-refactor-v1 --profile quick --target-path /Volumes/Shuttle/unity-projects/neonspark --repo-alias neonspark-v1-subset --scope-manifest ../benchmarks/unity-baseline/neonspark-v2/sync-manifest.txt",
50
- "benchmark:agent-context:full": "npm run build && node dist/cli/index.js benchmark-agent-context ../benchmarks/agent-context/neonspark-refactor-v1 --profile full --target-path /Volumes/Shuttle/unity-projects/neonspark --repo-alias neonspark-v1-subset --scope-manifest ../benchmarks/unity-baseline/neonspark-v2/sync-manifest.txt"
50
+ "benchmark:neonspark:full": "npm run check:neonspark-target && npm run build && node dist/cli/index.js benchmark-unity ../benchmarks/unity-baseline/neonspark-v1 --profile full --target-path \"$GITNEXUS_NEONSPARK_TARGET_PATH\" --repo-alias neonspark-v1-subset --scope-manifest ../benchmarks/unity-baseline/neonspark-v1/sync-manifest.txt",
51
+ "benchmark:neonspark:quick": "npm run check:neonspark-target && npm run build && node dist/cli/index.js benchmark-unity ../benchmarks/unity-baseline/neonspark-v1 --profile quick --target-path \"$GITNEXUS_NEONSPARK_TARGET_PATH\" --repo-alias neonspark-v1-subset --scope-manifest ../benchmarks/unity-baseline/neonspark-v1/sync-manifest.txt",
52
+ "benchmark:neonspark:v2:full": "npm run check:neonspark-target && npm run build && node dist/cli/index.js benchmark-unity ../benchmarks/unity-baseline/neonspark-v2 --profile full --target-path \"$GITNEXUS_NEONSPARK_TARGET_PATH\" --repo-alias neonspark-v1-subset --scope-manifest ../benchmarks/unity-baseline/neonspark-v2/sync-manifest.txt",
53
+ "benchmark:neonspark:v2:quick": "npm run check:neonspark-target && npm run build && node dist/cli/index.js benchmark-unity ../benchmarks/unity-baseline/neonspark-v2 --profile quick --target-path \"$GITNEXUS_NEONSPARK_TARGET_PATH\" --repo-alias neonspark-v1-subset --scope-manifest ../benchmarks/unity-baseline/neonspark-v2/sync-manifest.txt",
54
+ "benchmark:agent-context:quick": "npm run check:neonspark-target && npm run build && node dist/cli/index.js benchmark-agent-context ../benchmarks/agent-context/neonspark-refactor-v1 --profile quick --target-path \"$GITNEXUS_NEONSPARK_TARGET_PATH\" --repo-alias neonspark-v1-subset --scope-manifest ../benchmarks/unity-baseline/neonspark-v2/sync-manifest.txt",
55
+ "benchmark:agent-context:full": "npm run check:neonspark-target && npm run build && node dist/cli/index.js benchmark-agent-context ../benchmarks/agent-context/neonspark-refactor-v1 --profile full --target-path \"$GITNEXUS_NEONSPARK_TARGET_PATH\" --repo-alias neonspark-v1-subset --scope-manifest ../benchmarks/unity-baseline/neonspark-v2/sync-manifest.txt",
56
+ "benchmark:u2:sample": "npm run build && node dist/benchmark/u2-performance-sampler.js",
57
+ "benchmark:u2:e2e": "npm run check:u2-e2e-target && npm run build && node dist/cli/index.js benchmark-u2-e2e --config ../benchmarks/u2-e2e/neonspark-full-u2-e2e.config.json"
51
58
  },
52
59
  "dependencies": {
53
60
  "@huggingface/transformers": "^3.0.0",