@nirnex/cli 4.2.1 → 4.2.2

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.
@@ -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":"AA2CA,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,CA4I/E"}
@@ -1,5 +1,6 @@
1
1
  import { openDb, insertParsedModule, setMetaCommitHash, computeGraphEdges } from '@nirnex/core/dist/db.js';
2
2
  import { parseFileWithDiagnostics } from '@nirnex/parser/dist/index.js';
3
+ import { checkParserCompatibility } from '@nirnex/parser/dist/compatibility.js';
3
4
  import { appendDebugLog } from '../utils/debug-log.js';
4
5
  import fs from 'node:fs';
5
6
  import path from 'node:path';
@@ -44,6 +45,26 @@ export function indexCommand(args, commandLabel) {
44
45
  const isRebuild = args.includes('--rebuild');
45
46
  const targetDir = process.cwd();
46
47
  const label = commandLabel ?? (isRebuild ? 'index --rebuild' : 'index');
48
+ // ── Pre-flight: parser compatibility check ─────────────────────────────────
49
+ const compat = checkParserCompatibility();
50
+ if (!compat.healthy) {
51
+ const failedTests = compat.smokeTests.filter(t => t.status === 'fail');
52
+ process.stderr.write('\n\x1b[31m[nirnex index] Parser health check FAILED — aborting index\x1b[0m\n');
53
+ process.stderr.write(` tree-sitter: ${compat.treeSitterVersion ?? 'unknown'}\n`);
54
+ process.stderr.write(` tree-sitter-typescript: ${compat.treeSitterTypescriptVersion ?? 'unknown'}\n`);
55
+ for (const t of failedTests) {
56
+ process.stderr.write(` ✖ smoke test "${t.name}" (${t.lang}): ${t.errorMessage}\n`);
57
+ }
58
+ process.stderr.write('\n Fix: npm install -g @nirnex/cli\n\n');
59
+ return { succeeded: 0, failed: 0, failedFiles: [], durationMs: 0 };
60
+ }
61
+ if (!compat.inSupportedMatrix) {
62
+ process.stderr.write(`\x1b[33m[nirnex index] Warning:\x1b[0m Parser dependency versions are outside the tested compatibility matrix.\n` +
63
+ ` tree-sitter: ${compat.treeSitterVersion ?? 'unknown'} (supported: 0.21.x)\n` +
64
+ ` tree-sitter-typescript: ${compat.treeSitterTypescriptVersion ?? 'unknown'} (supported: 0.23.x)\n` +
65
+ ` Smoke tests passed, but parse failures may still occur on complex files.\n` +
66
+ ` Run: npm install -g @nirnex/cli to restore tested versions.\n`);
67
+ }
47
68
  const dbPath = path.join(targetDir, '.aidos.db');
48
69
  console.log('[nirnex index] Starting ' + (isRebuild ? 'full rebuild' : 'incremental update') + ' on ' + targetDir);
49
70
  const t0 = performance.now();
@@ -65,6 +86,11 @@ export function indexCommand(args, commandLabel) {
65
86
  }
66
87
  }
67
88
  db.exec('BEGIN TRANSACTION');
89
+ const compatCtx = {
90
+ treeSitterVersion: compat.treeSitterVersion,
91
+ treeSitterTypescriptVersion: compat.treeSitterTypescriptVersion,
92
+ inSupportedMatrix: compat.inSupportedMatrix,
93
+ };
68
94
  let succeeded = 0;
69
95
  let failed = 0;
70
96
  const failedFiles = [];
@@ -75,7 +101,7 @@ export function indexCommand(args, commandLabel) {
75
101
  failed++;
76
102
  failedFiles.push(file);
77
103
  // Write structured debug record — first failure prints the log path
78
- const logPath = appendDebugLog(targetDir, result.diagnostics, label);
104
+ const logPath = appendDebugLog(targetDir, result.diagnostics, label, compatCtx);
79
105
  if (failed === 1) {
80
106
  debugLogPath = logPath;
81
107
  process.stderr.write(`[nirnex index] suspected cause: ${result.diagnostics.stage} stage failure` +
@@ -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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nirnex/cli",
3
- "version": "4.2.1",
3
+ "version": "4.2.2",
4
4
  "description": "Nirnex CLI — Decision Intelligence for software delivery",
5
5
  "type": "module",
6
6
  "bin": {