@nirnex/cli 4.2.1 → 5.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.
@@ -3,6 +3,8 @@ export interface IndexResult {
3
3
  failed: number;
4
4
  failedFiles: string[];
5
5
  durationMs: number;
6
+ fullCount: number;
7
+ excludedCount: number;
6
8
  debugLogPath?: string;
7
9
  }
8
10
  export declare function indexCommand(args: string[], commandLabel?: string): IndexResult;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AA0CA,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,WAAW,CA6G/E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AA4FA,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAID,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,WAAW,CAyN/E"}
@@ -1,23 +1,46 @@
1
- import { openDb, insertParsedModule, setMetaCommitHash, computeGraphEdges } from '@nirnex/core/dist/db.js';
1
+ import { openDb, writeFullIndexRecord, writeExcludedIndexRecord, setMetaCommitHash, computeGraphEdges, checkSchemaVersionOrRebuild, } from '@nirnex/core/dist/db.js';
2
+ import { discoverCandidates, detectRepoContext, loadScopePolicy, classifyFile, buildScopeSummary, printScopeSummary, explainScope, printExplainScope, } from '@nirnex/core/dist/scope/index.js';
2
3
  import { parseFileWithDiagnostics } from '@nirnex/parser/dist/index.js';
4
+ import { checkParserCompatibility } from '@nirnex/parser/dist/compatibility.js';
3
5
  import { appendDebugLog } from '../utils/debug-log.js';
4
6
  import fs from 'node:fs';
5
7
  import path from 'node:path';
6
8
  import { execSync } from 'node:child_process';
7
- function walkDir(dir, callback) {
8
- const files = fs.readdirSync(dir);
9
- for (const f of files) {
10
- const full = path.join(dir, f);
11
- if (f === 'node_modules' || f === 'dist' || f === '.git')
12
- continue;
13
- if (fs.statSync(full).isDirectory()) {
14
- walkDir(full, callback);
9
+ function parseIndexArgs(args) {
10
+ let isRebuild = false;
11
+ let explainPath = null;
12
+ let cliIgnore;
13
+ let cliInclude;
14
+ for (let i = 0; i < args.length; i++) {
15
+ const a = args[i];
16
+ if (a === '--rebuild') {
17
+ isRebuild = true;
18
+ }
19
+ else if (a === '--explain-scope') {
20
+ explainPath = args[i + 1] ?? null;
21
+ i++;
22
+ }
23
+ else if (a.startsWith('--explain-scope=')) {
24
+ explainPath = a.slice('--explain-scope='.length);
25
+ }
26
+ else if (a === '--ignore') {
27
+ cliIgnore = args[i + 1];
28
+ i++;
29
+ }
30
+ else if (a.startsWith('--ignore=')) {
31
+ cliIgnore = a.slice('--ignore='.length);
32
+ }
33
+ else if (a === '--include') {
34
+ cliInclude = args[i + 1];
35
+ i++;
15
36
  }
16
- else if (full.endsWith('.ts') || full.endsWith('.tsx')) {
17
- callback(full);
37
+ else if (a.startsWith('--include=')) {
38
+ cliInclude = a.slice('--include='.length);
18
39
  }
19
40
  }
41
+ return { isRebuild, explainPath, cliIgnore, cliInclude };
20
42
  }
43
+ // ─── Import / module helpers ──────────────────────────────────────────────────
21
44
  function resolveImport(source, activePath) {
22
45
  if (source.startsWith('.')) {
23
46
  const dir = path.dirname(activePath);
@@ -36,97 +59,191 @@ function detectModule(fullPath, rootDir) {
36
59
  const parts = rel.split(path.sep);
37
60
  if (parts[0] === 'packages' && parts.length > 2)
38
61
  return parts[0] + '/' + parts[1];
62
+ if (parts[0] === 'apps' && parts.length > 2)
63
+ return parts[0] + '/' + parts[1];
39
64
  if (parts[0] === 'src' && parts.length > 2)
40
65
  return parts[0] + '/' + parts[1];
41
66
  return parts[0];
42
67
  }
68
+ // ─── Main command ─────────────────────────────────────────────────────────────
43
69
  export function indexCommand(args, commandLabel) {
44
- const isRebuild = args.includes('--rebuild');
70
+ const { isRebuild, explainPath, cliIgnore, cliInclude } = parseIndexArgs(args);
45
71
  const targetDir = process.cwd();
46
72
  const label = commandLabel ?? (isRebuild ? 'index --rebuild' : 'index');
73
+ // ── --explain-scope mode ────────────────────────────────────────────────────
74
+ if (explainPath !== null) {
75
+ return runExplainScope(explainPath, targetDir);
76
+ }
77
+ // ── Schema version check ────────────────────────────────────────────────────
47
78
  const dbPath = path.join(targetDir, '.aidos.db');
48
- console.log('[nirnex index] Starting ' + (isRebuild ? 'full rebuild' : 'incremental update') + ' on ' + targetDir);
79
+ const schemaCheck = checkSchemaVersionOrRebuild(dbPath, isRebuild);
80
+ if (schemaCheck.needsRebuild) {
81
+ process.stderr.write(`\x1b[33m[nirnex index]\x1b[0m ${schemaCheck.message}\n`);
82
+ process.exitCode = 1;
83
+ return { succeeded: 0, failed: 0, failedFiles: [], durationMs: 0, fullCount: 0, excludedCount: 0 };
84
+ }
85
+ // ── Parser health check ─────────────────────────────────────────────────────
86
+ const compat = checkParserCompatibility();
87
+ if (!compat.healthy) {
88
+ const failedTests = compat.smokeTests.filter(t => t.status === 'fail');
89
+ process.stderr.write('\n\x1b[31m[nirnex index] Parser health check FAILED — aborting\x1b[0m\n');
90
+ process.stderr.write(` tree-sitter: ${compat.treeSitterVersion ?? 'unknown'}\n`);
91
+ process.stderr.write(` tree-sitter-typescript: ${compat.treeSitterTypescriptVersion ?? 'unknown'}\n`);
92
+ for (const t of failedTests) {
93
+ process.stderr.write(` ✖ smoke test "${t.name}" (${t.lang}): ${t.errorMessage}\n`);
94
+ }
95
+ process.stderr.write('\n Fix: npm install -g @nirnex/cli\n\n');
96
+ return { succeeded: 0, failed: 0, failedFiles: [], durationMs: 0, fullCount: 0, excludedCount: 0 };
97
+ }
98
+ if (!compat.inSupportedMatrix) {
99
+ process.stderr.write(`\x1b[33m[nirnex index] Warning:\x1b[0m Parser versions outside the tested matrix.\n` +
100
+ ` tree-sitter: ${compat.treeSitterVersion ?? 'unknown'} (supported: 0.21.x)\n` +
101
+ ` tree-sitter-typescript: ${compat.treeSitterTypescriptVersion ?? 'unknown'} (supported: 0.23.x)\n` +
102
+ ` Run: npm install -g @nirnex/cli to restore tested versions.\n`);
103
+ }
49
104
  const t0 = performance.now();
50
- const db = openDb(dbPath);
51
- let filesToProcess = [];
52
- if (isRebuild) {
53
- walkDir(targetDir, (p) => filesToProcess.push(p));
105
+ console.log(`[nirnex index] Starting ${isRebuild ? 'full rebuild' : 'incremental update'} on ${targetDir}`);
106
+ // ── Stage 1: Load scope policy ──────────────────────────────────────────────
107
+ const policy = loadScopePolicy(targetDir, { ignore: cliIgnore, include: cliInclude });
108
+ // ── Stage 2: Detect repo context ────────────────────────────────────────────
109
+ const ctx = detectRepoContext(targetDir);
110
+ if (ctx.isMonorepo) {
111
+ console.log(`[nirnex index] Monorepo detected — ${ctx.appContexts.length} package(s): ` +
112
+ ctx.appContexts.map(a => `${a.root || '.'} (${a.framework})`).join(', '));
54
113
  }
55
- else {
114
+ // ── Stage 3: Discover candidates ────────────────────────────────────────────
115
+ const candidates = discoverCandidates(targetDir, policy);
116
+ // ── Stage 4: Classify files ──────────────────────────────────────────────────
117
+ const decisions = candidates.map(file => classifyFile(file, ctx, policy));
118
+ const fullFiles = decisions.filter(d => d.tier === 'FULL');
119
+ const excludedFiles = decisions.filter(d => d.tier === 'EXCLUDED');
120
+ // ── Stage 5: Incremental filter (for non-rebuild) ───────────────────────────
121
+ let filesToIndex = fullFiles;
122
+ if (!isRebuild) {
56
123
  try {
57
- const diffStr = execSync('git diff --name-only HEAD~1..HEAD', { encoding: 'utf8', cwd: targetDir });
58
- filesToProcess = diffStr.split('\n').filter(Boolean)
59
- .map(f => path.join(targetDir, f))
60
- .filter(f => (f.endsWith('.ts') || f.endsWith('.tsx')) && fs.existsSync(f));
124
+ const diffStr = execSync('git diff --name-only HEAD~1..HEAD', {
125
+ encoding: 'utf8',
126
+ cwd: targetDir,
127
+ stdio: ['pipe', 'pipe', 'ignore'],
128
+ });
129
+ const changedSet = new Set(diffStr.split('\n')
130
+ .map(l => l.trim())
131
+ .filter(Boolean)
132
+ .map(f => f.split(path.sep).join('/')));
133
+ if (changedSet.size > 0) {
134
+ filesToIndex = fullFiles.filter(d => changedSet.has(d.path));
135
+ if (filesToIndex.length === 0) {
136
+ // No FULL files changed — still open DB to write scope decisions
137
+ filesToIndex = [];
138
+ }
139
+ }
61
140
  }
62
- catch (_err) {
63
- console.warn('Could not get changed files from git, falling back to all.');
64
- walkDir(targetDir, (p) => filesToProcess.push(p));
141
+ catch {
142
+ // Not a git repo or no previous commit index all FULL files
65
143
  }
66
144
  }
145
+ // ── Stage 6: Open DB ────────────────────────────────────────────────────────
146
+ const db = openDb(dbPath);
67
147
  db.exec('BEGIN TRANSACTION');
148
+ const compatCtx = {
149
+ treeSitterVersion: compat.treeSitterVersion,
150
+ treeSitterTypescriptVersion: compat.treeSitterTypescriptVersion,
151
+ inSupportedMatrix: compat.inSupportedMatrix,
152
+ };
68
153
  let succeeded = 0;
69
154
  let failed = 0;
70
155
  const failedFiles = [];
71
156
  let debugLogPath;
72
- for (const file of filesToProcess) {
73
- const result = parseFileWithDiagnostics(file);
157
+ // ── Stage 7a: Index FULL files ───────────────────────────────────────────────
158
+ for (const decision of filesToIndex) {
159
+ const absPath = path.join(targetDir, decision.path);
160
+ const result = parseFileWithDiagnostics(absPath);
74
161
  if (!result.ok) {
75
162
  failed++;
76
- failedFiles.push(file);
77
- // Write structured debug record first failure prints the log path
78
- const logPath = appendDebugLog(targetDir, result.diagnostics, label);
163
+ failedFiles.push(decision.path);
164
+ const logPath = appendDebugLog(targetDir, result.diagnostics, label, compatCtx);
79
165
  if (failed === 1) {
80
166
  debugLogPath = logPath;
81
- process.stderr.write(`[nirnex index] suspected cause: ${result.diagnostics.stage} stage failure` +
82
- ` (${result.diagnostics.extension} / ${result.diagnostics.selected_language ?? 'unknown grammar'})\n` +
83
- `[nirnex index] debug details → ${path.relative(targetDir, logPath)}\n`);
167
+ process.stderr.write(`[nirnex index] parse failure at stage: ${result.diagnostics.stage}` +
168
+ ` (${result.diagnostics.extension})\n` +
169
+ `[nirnex index] debug → ${path.relative(targetDir, logPath)}\n`);
84
170
  }
171
+ // Still write an excluded record so --explain-scope can show what happened
172
+ writeExcludedIndexRecord(db, decision.path, {
173
+ ...decision,
174
+ tier: 'EXCLUDED',
175
+ reasonCode: 'HARD_SCREEN_BINARY',
176
+ matchedRule: `parse failure: ${result.diagnostics.error_message}`,
177
+ });
85
178
  continue;
86
179
  }
87
180
  const parsed = result.module;
88
- const myModule = detectModule(file, targetDir);
181
+ const myModule = detectModule(absPath, targetDir);
89
182
  const enrichedImports = parsed.imports.map((imp) => {
90
- const resolved = resolveImport(imp.source, file);
183
+ const resolved = resolveImport(imp.source, absPath);
91
184
  let is_cross_module = false;
92
185
  if (resolved.is_local) {
93
186
  const theirModule = detectModule(resolved.resolved, targetDir);
94
187
  is_cross_module = myModule !== theirModule;
95
188
  }
96
- return {
97
- ...imp,
98
- resolved: resolved.resolved,
99
- is_local: resolved.is_local,
100
- is_cross_module,
101
- };
189
+ return { ...imp, resolved: resolved.resolved, is_local: resolved.is_local, is_cross_module };
102
190
  });
103
- insertParsedModule(db, { ...parsed, imports: enrichedImports });
191
+ writeFullIndexRecord(db, { ...parsed, imports: enrichedImports }, decision);
104
192
  succeeded++;
105
193
  }
194
+ // ── Stage 7b: Write EXCLUDED presence records ────────────────────────────────
195
+ // Only write records for files that are in scope of this run
196
+ // (skip if incremental — excluded files don't change based on code diffs)
197
+ if (isRebuild) {
198
+ for (const decision of excludedFiles) {
199
+ writeExcludedIndexRecord(db, decision.path, decision);
200
+ }
201
+ }
106
202
  computeGraphEdges(db);
107
203
  db.exec('COMMIT');
108
204
  try {
109
- const commitHash = execSync('git rev-parse HEAD', { encoding: 'utf8', cwd: targetDir }).trim();
205
+ const commitHash = execSync('git rev-parse HEAD', {
206
+ encoding: 'utf8',
207
+ cwd: targetDir,
208
+ stdio: ['pipe', 'pipe', 'ignore'],
209
+ }).trim();
110
210
  setMetaCommitHash(db, commitHash);
111
211
  }
112
- catch (_err) {
113
- // Ignore if not a git repo
212
+ catch {
213
+ // Not a git repo
114
214
  }
115
- const t1 = performance.now();
116
- const durationMs = t1 - t0;
215
+ const durationMs = performance.now() - t0;
216
+ // ── Stage 8: Output ─────────────────────────────────────────────────────────
117
217
  if (failed === 0) {
118
- console.log(`[nirnex index] Finished: ${succeeded}/${filesToProcess.length} file(s) indexed in ${durationMs.toFixed(2)}ms`);
218
+ console.log(`[nirnex index] Indexed ${succeeded} file(s) in ${durationMs.toFixed(0)}ms`);
119
219
  }
120
220
  else {
121
- process.stderr.write(`[nirnex index] Finished with degraded coverage: ${succeeded}/${filesToProcess.length} indexed, ` +
122
- `${failed} failed in ${durationMs.toFixed(2)}ms\n`);
221
+ process.stderr.write(`[nirnex index] Degraded: ${succeeded} indexed, ${failed} failed in ${durationMs.toFixed(0)}ms\n`);
123
222
  for (const f of failedFiles) {
124
- process.stderr.write(`[nirnex index] ✖ ${path.relative(targetDir, f)}\n`);
223
+ process.stderr.write(`[nirnex index] ✖ ${f}\n`);
125
224
  }
126
225
  if (failed > 1 && debugLogPath) {
127
- process.stderr.write(`[nirnex index] ${failed} parser failures recorded → ${path.relative(targetDir, debugLogPath)}\n`);
226
+ process.stderr.write(`[nirnex index] ${failed} parser failures → ${path.relative(targetDir, debugLogPath)}\n`);
128
227
  }
129
228
  }
130
- return { succeeded, failed, failedFiles, durationMs, debugLogPath };
229
+ const summary = buildScopeSummary(decisions, durationMs);
230
+ printScopeSummary(summary);
231
+ return {
232
+ succeeded,
233
+ failed,
234
+ failedFiles,
235
+ durationMs,
236
+ fullCount: fullFiles.length,
237
+ excludedCount: excludedFiles.length,
238
+ debugLogPath,
239
+ };
240
+ }
241
+ // ─── --explain-scope handler ──────────────────────────────────────────────────
242
+ function runExplainScope(inputPath, targetDir) {
243
+ const policy = loadScopePolicy(targetDir);
244
+ const ctx = detectRepoContext(targetDir);
245
+ const result = explainScope(inputPath, targetDir, ctx, policy);
246
+ printExplainScope(result);
247
+ return { succeeded: 0, failed: 0, failedFiles: [], durationMs: 0, fullCount: 0, excludedCount: 0 };
131
248
  }
132
249
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,11 @@
5
5
  * Never throws — debug logging must never interrupt indexing.
6
6
  */
7
7
  import type { ParseFileDiagnostics } from '@nirnex/parser/dist/index.js';
8
+ export interface CompatibilityContext {
9
+ treeSitterVersion?: string;
10
+ treeSitterTypescriptVersion?: string;
11
+ inSupportedMatrix: boolean;
12
+ }
8
13
  export interface DebugLogEntry {
9
14
  timestamp: string;
10
15
  level: 'error' | 'warn' | 'info';
@@ -15,8 +20,10 @@ export interface DebugLogEntry {
15
20
  nirnex_cli_version?: string;
16
21
  nirnex_parser_version?: string;
17
22
  tree_sitter_version?: string;
23
+ tree_sitter_typescript_version?: string;
18
24
  grammar_package: string;
19
25
  grammar_variant?: string;
26
+ in_supported_matrix?: boolean;
20
27
  file: string;
21
28
  extension: string;
22
29
  size_bytes: number;
@@ -40,5 +47,5 @@ export interface DebugLogEntry {
40
47
  * Returns the absolute path to the log file.
41
48
  * Never throws.
42
49
  */
43
- export declare function appendDebugLog(cwd: string, diag: ParseFileDiagnostics, command: string): string;
50
+ export declare function appendDebugLog(cwd: string, diag: ParseFileDiagnostics, command: string, compat?: CompatibilityContext): string;
44
51
  //# sourceMappingURL=debug-log.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"debug-log.d.ts","sourceRoot":"","sources":["../../src/utils/debug-log.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAwIzE,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAEhB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAID;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAE,MAAM,GACd,MAAM,CAyDR"}
1
+ {"version":3,"file":"debug-log.d.ts","sourceRoot":"","sources":["../../src/utils/debug-log.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAsBzE,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAmJD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAEhB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAID;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,oBAAoB,GAC5B,MAAM,CA4DR"}
@@ -18,20 +18,37 @@ function pkgVersion(name) {
18
18
  return undefined;
19
19
  }
20
20
  }
21
- function classify(diag) {
22
- // Grammar set failedABI / binding problem
21
+ function classify(diag, compat) {
22
+ // ── Version mismatchmost likely cause when outside the tested matrix ──────
23
+ // Only applies to parse-stage failures; set_language failures have their own cause.
24
+ if (compat &&
25
+ !compat.inSupportedMatrix &&
26
+ (diag.stage === 'parse' || diag.stage === 'set_language')) {
27
+ return {
28
+ suspected_cause: 'parser_dependency_version_mismatch',
29
+ recommended_actions: [
30
+ `Installed: tree-sitter@${compat.treeSitterVersion ?? 'unknown'} + ` +
31
+ `tree-sitter-typescript@${compat.treeSitterTypescriptVersion ?? 'unknown'}`,
32
+ 'These versions are outside the tested compatibility matrix for Nirnex',
33
+ 'Supported: tree-sitter@0.21.x + tree-sitter-typescript@0.23.x',
34
+ 'Fix: npm install -g @nirnex/cli to restore exact pinned versions',
35
+ 'Then retry: nirnex index --rebuild',
36
+ ],
37
+ };
38
+ }
39
+ // ── Grammar set failed — ABI / binding problem ────────────────────────────
23
40
  if (diag.stage === 'set_language') {
24
41
  return {
25
42
  suspected_cause: 'grammar_binding_problem',
26
43
  recommended_actions: [
27
44
  'The tree-sitter language could not be set — likely a native ABI or version mismatch',
28
- 'Run: npm ls tree-sitter tree-sitter-typescript',
45
+ `Run: npm ls tree-sitter tree-sitter-typescript`,
29
46
  'Reinstall: npm install -g @nirnex/cli',
30
47
  'Check Node.js version compatibility with the tree-sitter native module',
31
48
  ],
32
49
  };
33
50
  }
34
- // TSX file got TypeScript grammar — should never happen, but detectable
51
+ // ── TSX file got TypeScript grammar — Nirnex bug ──────────────────────────
35
52
  if (diag.extension === '.tsx' && diag.selected_language === 'typescript') {
36
53
  return {
37
54
  suspected_cause: 'wrong_grammar_selected',
@@ -42,7 +59,7 @@ function classify(diag) {
42
59
  ],
43
60
  };
44
61
  }
45
- // Null bytes — binary or incorrectly encoded file
62
+ // ── Null bytes — binary or incorrectly encoded file ───────────────────────
46
63
  if (diag.has_null_bytes) {
47
64
  return {
48
65
  suspected_cause: 'invalid_file_encoding',
@@ -53,7 +70,7 @@ function classify(diag) {
53
70
  ],
54
71
  };
55
72
  }
56
- // Non-string passed to parse() — Nirnex bug
73
+ // ── Non-string passed to parse() — Nirnex bug ─────────────────────────────
57
74
  if (diag.input_type !== undefined && diag.input_type !== 'string') {
58
75
  return {
59
76
  suspected_cause: 'invalid_parse_input_type',
@@ -63,7 +80,7 @@ function classify(diag) {
63
80
  ],
64
81
  };
65
82
  }
66
- // File could not be read or decoded
83
+ // ── File could not be read or decoded ─────────────────────────────────────
67
84
  if (diag.stage === 'read_file' || diag.stage === 'decode_file') {
68
85
  return {
69
86
  suspected_cause: 'file_access_or_encoding_error',
@@ -74,33 +91,38 @@ function classify(diag) {
74
91
  ],
75
92
  };
76
93
  }
77
- // Parse stage failure for .tsx grammar or syntax issue
94
+ // ── Parse stage failure, versions confirmed compatible ────────────────────
95
+ // The environment is healthy (smoke tests passed, versions in matrix),
96
+ // so the failure is specific to this file's content.
78
97
  if (diag.stage === 'parse' && diag.extension === '.tsx') {
98
+ const inMatrix = compat?.inSupportedMatrix ?? true; // assume ok if no context
79
99
  return {
80
- suspected_cause: 'unsupported_syntax_or_parser_binding_issue',
100
+ suspected_cause: inMatrix
101
+ ? 'file_specific_syntax_not_supported_by_grammar'
102
+ : 'unsupported_syntax_or_parser_binding_issue',
81
103
  recommended_actions: [
82
- 'The TSX grammar (tree-sitter-typescript) could not parse this file',
83
- 'Possible causes: very new JSX/TS syntax, very large file, or ABI mismatch in native bindings',
84
- 'Run: npm ls tree-sitter tree-sitter-typescript look for version mismatches',
85
- 'Try reproducing with a minimal .tsx snippet to isolate the syntax involved',
86
- 'If other .tsx files parse successfully, the issue is specific to this file\'s syntax',
87
- 'File a bug report with this log entry if the problem persists',
104
+ 'The TSX grammar parsed other .tsx files successfully — the issue is specific to this file',
105
+ 'Possible causes: very new JSX/TS syntax, unusually deep AST nesting, or unicode edge cases',
106
+ 'Try isolating the syntax: comment out sections until the file parses',
107
+ 'Check the content_sha256 to identify the exact file version that failed',
108
+ 'File a bug report with this log entry so the grammar can be improved',
88
109
  ],
89
110
  };
90
111
  }
91
- // Parse stage failure for .ts
92
112
  if (diag.stage === 'parse' && diag.extension === '.ts') {
113
+ const inMatrix = compat?.inSupportedMatrix ?? true;
93
114
  return {
94
- suspected_cause: 'unsupported_syntax_or_parser_binding_issue',
115
+ suspected_cause: inMatrix
116
+ ? 'file_specific_syntax_not_supported_by_grammar'
117
+ : 'unsupported_syntax_or_parser_binding_issue',
95
118
  recommended_actions: [
96
- 'The TypeScript grammar (tree-sitter-typescript) could not parse this file',
97
- 'Run: npm ls tree-sitter tree-sitter-typescript look for version mismatches',
98
- 'Try reproducing with a minimal .ts snippet',
119
+ 'The TypeScript grammar parsed other .ts files successfully — the issue is specific to this file',
120
+ 'Try isolating the syntax: comment out sections until the file parses',
99
121
  'File a bug report with this log entry if the problem persists',
100
122
  ],
101
123
  };
102
124
  }
103
- // AST traversal bug — Nirnex bug, not user file
125
+ // ── AST traversal bug — Nirnex bug, not user file ─────────────────────────
104
126
  if (diag.stage === 'postprocess_ast') {
105
127
  return {
106
128
  suspected_cause: 'nirnex_ast_traversal_bug',
@@ -120,13 +142,13 @@ function classify(diag) {
120
142
  ],
121
143
  };
122
144
  }
123
- // ─── Main export ─────────────────────────────────────────────────────────────
145
+ // ─── Main export ──────────────────────────────────────────────────────────────
124
146
  /**
125
147
  * Appends a structured JSONL record to `.ai-index/nirnex-debug.log`.
126
148
  * Returns the absolute path to the log file.
127
149
  * Never throws.
128
150
  */
129
- export function appendDebugLog(cwd, diag, command) {
151
+ export function appendDebugLog(cwd, diag, command, compat) {
130
152
  const logDir = path.join(cwd, '.ai-index');
131
153
  const logPath = path.join(logDir, 'nirnex-debug.log');
132
154
  try {
@@ -142,7 +164,7 @@ export function appendDebugLog(cwd, diag, command) {
142
164
  catch {
143
165
  // Log may not exist yet — that's fine
144
166
  }
145
- const { suspected_cause, recommended_actions } = classify(diag);
167
+ const { suspected_cause, recommended_actions } = classify(diag, compat);
146
168
  const entry = {
147
169
  timestamp: new Date().toISOString(),
148
170
  level: 'error',
@@ -152,9 +174,11 @@ export function appendDebugLog(cwd, diag, command) {
152
174
  platform: `${process.platform}-${process.arch}`,
153
175
  nirnex_cli_version: pkgVersion('@nirnex/cli'),
154
176
  nirnex_parser_version: pkgVersion('@nirnex/parser'),
155
- tree_sitter_version: pkgVersion('tree-sitter'),
177
+ tree_sitter_version: compat?.treeSitterVersion ?? pkgVersion('tree-sitter'),
178
+ tree_sitter_typescript_version: compat?.treeSitterTypescriptVersion ?? pkgVersion('tree-sitter-typescript'),
156
179
  grammar_package: 'tree-sitter-typescript',
157
180
  grammar_variant: diag.grammar_variant,
181
+ in_supported_matrix: compat?.inSupportedMatrix,
158
182
  file: diag.file,
159
183
  extension: diag.extension,
160
184
  size_bytes: diag.size_bytes,
@@ -1 +1 @@
1
- {"version":3,"file":"debug-log.js","sourceRoot":"","sources":["../../src/utils/debug-log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debug-log.js","sourceRoot":"","sources":["../../src/utils/debug-log.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEhD,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,QAAQ;AAEhD,gFAAgF;AAEhF,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,CAAC;QACH,OAAQ,QAAQ,CAAC,GAAG,IAAI,eAAe,CAAyB,CAAC,OAAO,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAqBD,SAAS,QAAQ,CAAC,IAA0B,EAAE,MAA6B;IACzE,gFAAgF;IAChF,oFAAoF;IACpF,IACE,MAAM;QACN,CAAC,MAAM,CAAC,iBAAiB;QACzB,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc,CAAC,EACzD,CAAC;QACD,OAAO;YACL,eAAe,EAAE,oCAAoC;YACrD,mBAAmB,EAAE;gBACnB,0BAA0B,MAAM,CAAC,iBAAiB,IAAI,SAAS,KAAK;oBAClE,0BAA0B,MAAM,CAAC,2BAA2B,IAAI,SAAS,EAAE;gBAC7E,uEAAuE;gBACvE,+DAA+D;gBAC/D,kEAAkE;gBAClE,oCAAoC;aACrC;SACF,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;QAClC,OAAO;YACL,eAAe,EAAE,yBAAyB;YAC1C,mBAAmB,EAAE;gBACnB,qFAAqF;gBACrF,gDAAgD;gBAChD,uCAAuC;gBACvC,wEAAwE;aACzE;SACF,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,IAAI,CAAC,iBAAiB,KAAK,YAAY,EAAE,CAAC;QACzE,OAAO;YACL,eAAe,EAAE,wBAAwB;YACzC,mBAAmB,EAAE;gBACnB,6EAA6E;gBAC7E,oDAAoD;gBACpD,sEAAsE;aACvE;SACF,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,OAAO;YACL,eAAe,EAAE,uBAAuB;YACxC,mBAAmB,EAAE;gBACnB,wFAAwF;gBACxF,yDAAyD;gBACzD,4EAA4E;aAC7E;SACF,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAClE,OAAO;YACL,eAAe,EAAE,0BAA0B;YAC3C,mBAAmB,EAAE;gBACnB,yBAAyB,IAAI,CAAC,UAAU,8CAA8C;gBACtF,uDAAuD;aACxD;SACF,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;QAC/D,OAAO;YACL,eAAe,EAAE,+BAA+B;YAChD,mBAAmB,EAAE;gBACnB,mCAAmC,IAAI,CAAC,IAAI,GAAG;gBAC/C,iEAAiE;gBACjE,8CAA8C;aAC/C;SACF,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,uEAAuE;IACvE,qDAAqD;IACrD,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,MAAM,EAAE,iBAAiB,IAAI,IAAI,CAAC,CAAC,0BAA0B;QAC9E,OAAO;YACL,eAAe,EAAE,QAAQ;gBACvB,CAAC,CAAC,+CAA+C;gBACjD,CAAC,CAAC,4CAA4C;YAChD,mBAAmB,EAAE;gBACnB,2FAA2F;gBAC3F,4FAA4F;gBAC5F,sEAAsE;gBACtE,yEAAyE;gBACzE,sEAAsE;aACvE;SACF,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,EAAE,iBAAiB,IAAI,IAAI,CAAC;QACnD,OAAO;YACL,eAAe,EAAE,QAAQ;gBACvB,CAAC,CAAC,+CAA+C;gBACjD,CAAC,CAAC,4CAA4C;YAChD,mBAAmB,EAAE;gBACnB,iGAAiG;gBACjG,sEAAsE;gBACtE,+DAA+D;aAChE;SACF,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,IAAI,IAAI,CAAC,KAAK,KAAK,iBAAiB,EAAE,CAAC;QACrC,OAAO;YACL,eAAe,EAAE,0BAA0B;YAC3C,mBAAmB,EAAE;gBACnB,0FAA0F;gBAC1F,8CAA8C;gBAC9C,4EAA4E;aAC7E;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,eAAe,EAAE,SAAS;QAC1B,mBAAmB,EAAE;YACnB,oDAAoD;YACpD,sCAAsC;YACtC,gDAAgD;SACjD;KACF,CAAC;AACJ,CAAC;AA0CD,iFAAiF;AAEjF;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,GAAW,EACX,IAA0B,EAC1B,OAAe,EACf,MAA6B;IAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAEtD,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1C,mCAAmC;QACnC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,IAAI,CAAC,IAAI,GAAG,aAAa,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,GAAG,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;gBAC/C,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sCAAsC;QACxC,CAAC;QAED,MAAM,EAAE,eAAe,EAAE,mBAAmB,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAExE,MAAM,KAAK,GAAkB;YAC3B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,gBAAgB;YACvB,OAAO;YACP,YAAY,EAAE,OAAO,CAAC,OAAO;YAC7B,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE;YAC/C,kBAAkB,EAAE,UAAU,CAAC,aAAa,CAAC;YAC7C,qBAAqB,EAAE,UAAU,CAAC,gBAAgB,CAAC;YACnD,mBAAmB,EAAE,MAAM,EAAE,iBAAiB,IAAI,UAAU,CAAC,aAAa,CAAC;YAC3E,8BAA8B,EAC5B,MAAM,EAAE,2BAA2B,IAAI,UAAU,CAAC,wBAAwB,CAAC;YAC7E,eAAe,EAAE,wBAAwB;YACzC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,mBAAmB,EAAE,MAAM,EAAE,iBAAiB;YAC9C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,eAAe;YACf,mBAAmB;SACpB,CAAC;QAEF,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,0DAA0D;IAC5D,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nirnex/cli",
3
- "version": "4.2.1",
3
+ "version": "5.0.0",
4
4
  "description": "Nirnex CLI — Decision Intelligence for software delivery",
5
5
  "type": "module",
6
6
  "bin": {