@gettrace/cli 1.4.12 → 1.4.14

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.
package/dist/index.js CHANGED
@@ -90,7 +90,7 @@ function detectDevCommand(projectPath, override) {
90
90
  };
91
91
  return { command: runCmd[pm] ?? `npm run ${script}`, pm, script };
92
92
  }
93
- const VERSION = '1.4.12';
93
+ const VERSION = '1.4.14';
94
94
  /** Levenshtein distance for fuzzy block matching */
95
95
  function levenshtein(a, b) {
96
96
  if (a === '' || b === '')
package/dist/lsp.d.ts CHANGED
@@ -1,17 +1,22 @@
1
1
  /**
2
- * Post-write TypeScript diagnostic checker for Trace IDE Bridge.
2
+ * Post-write multi-language diagnostic checker for Trace IDE Bridge.
3
3
  *
4
- * After the agent writes a .ts/.tsx file, this module runs `tsc --noEmit`
5
- * on the project and returns structured diagnostics so the agent can
6
- * self-correct type errors before they accumulate across edits.
4
+ * Mirrors OpenCode's lsp.touchFile + lsp.diagnostics() but without a
5
+ * persistent LSP daemon. Instead we run the project's own toolchain
6
+ * directly after every successful file write.
7
7
  *
8
- * Design principles (mirrors OpenCode's lsp.touchFile + lsp.diagnostics):
8
+ * Language coverage:
9
+ * .ts / .tsx / .mts / .cts → tsc --noEmit (type errors)
10
+ * .js / .jsx / .mjs / .cjs → ESLint --format json (lint errors)
11
+ * .ts / .tsx (+ JS if allowJs) → tsc (includes JS when tsconfig says so)
12
+ * .css / .scss / .less → stylelint --formatter json (if installed)
9
13
  *
10
- * 1. Non-blocking: hard 6s timeout, never holds up the WebSocket response.
11
- * 2. Project-local tsc first, then falls through to global if not found.
12
- * 3. Structured output: { file, line, col, severity, code, message }[]
13
- * 4. Scoped: only TS files in projects that have a tsconfig.json are checked.
14
- * 5. Silent on failure: timeout / missing tsc / no tsconfig → returns [].
14
+ * Design principles:
15
+ * 1. Non-blocking hard 6s timeout per checker, never stalls a response.
16
+ * 2. Project-local binaries first (tsc, eslint, stylelint) global fallback.
17
+ * 3. Structured output: { file, line, col, severity, code, message }[]
18
+ * 4. Silent on failure missing tooling / timeout → returns [].
19
+ * 5. Results prioritised: edited file's errors first, then other files.
15
20
  */
16
21
  export interface LspDiagnostic {
17
22
  /** Relative path from the project root */
@@ -19,22 +24,23 @@ export interface LspDiagnostic {
19
24
  line: number;
20
25
  col: number;
21
26
  severity: 'error' | 'warning';
22
- /** e.g. "TS2345" */
27
+ /** Tool-specific code: "TS2345", "no-unused-vars", "color-no-invalid-hex" */
23
28
  code: string;
24
29
  message: string;
30
+ /** Which checker produced this: "tsc" | "eslint" | "stylelint" */
31
+ source: 'tsc' | 'eslint' | 'stylelint';
25
32
  }
26
33
  export interface LspResult {
27
34
  diagnostics: LspDiagnostic[];
28
35
  /** Human-readable summary injected into the tool response */
29
36
  summary: string | null;
30
- /** Whether tsc was actually run (false = skipped, not a failure) */
37
+ /** Which checkers actually ran */
38
+ checkers: string[];
39
+ /** false = all checkers were skipped (non-applicable file type, tooling absent) */
31
40
  ran: boolean;
32
41
  }
33
42
  /**
34
- * Run tsc --noEmit after a file write and return structured diagnostics.
35
- *
36
- * @param filePath Absolute path of the file that was just written
37
- * @param projectPath Absolute path of the project root (process.cwd() equivalent)
38
- * @returns LspResult — always resolves, never rejects
43
+ * Run all applicable checkers for the given file and return structured
44
+ * diagnostics. Always resolves, never rejects.
39
45
  */
40
46
  export declare function checkDiagnostics(filePath: string, projectPath: string): Promise<LspResult>;
package/dist/lsp.js CHANGED
@@ -1,93 +1,239 @@
1
1
  /**
2
- * Post-write TypeScript diagnostic checker for Trace IDE Bridge.
2
+ * Post-write multi-language diagnostic checker for Trace IDE Bridge.
3
3
  *
4
- * After the agent writes a .ts/.tsx file, this module runs `tsc --noEmit`
5
- * on the project and returns structured diagnostics so the agent can
6
- * self-correct type errors before they accumulate across edits.
4
+ * Mirrors OpenCode's lsp.touchFile + lsp.diagnostics() but without a
5
+ * persistent LSP daemon. Instead we run the project's own toolchain
6
+ * directly after every successful file write.
7
7
  *
8
- * Design principles (mirrors OpenCode's lsp.touchFile + lsp.diagnostics):
8
+ * Language coverage:
9
+ * .ts / .tsx / .mts / .cts → tsc --noEmit (type errors)
10
+ * .js / .jsx / .mjs / .cjs → ESLint --format json (lint errors)
11
+ * .ts / .tsx (+ JS if allowJs) → tsc (includes JS when tsconfig says so)
12
+ * .css / .scss / .less → stylelint --formatter json (if installed)
9
13
  *
10
- * 1. Non-blocking: hard 6s timeout, never holds up the WebSocket response.
11
- * 2. Project-local tsc first, then falls through to global if not found.
12
- * 3. Structured output: { file, line, col, severity, code, message }[]
13
- * 4. Scoped: only TS files in projects that have a tsconfig.json are checked.
14
- * 5. Silent on failure: timeout / missing tsc / no tsconfig → returns [].
14
+ * Design principles:
15
+ * 1. Non-blocking hard 6s timeout per checker, never stalls a response.
16
+ * 2. Project-local binaries first (tsc, eslint, stylelint) global fallback.
17
+ * 3. Structured output: { file, line, col, severity, code, message }[]
18
+ * 4. Silent on failure missing tooling / timeout → returns [].
19
+ * 5. Results prioritised: edited file's errors first, then other files.
15
20
  */
16
21
  import * as fs from 'fs';
17
22
  import * as path from 'path';
18
23
  import { exec } from 'child_process';
19
24
  // ─── Constants ────────────────────────────────────────────────────────────────
20
25
  const TS_EXTS = new Set(['.ts', '.tsx', '.mts', '.cts']);
21
- /**
22
- * Hard timeout for tsc --noEmit.
23
- * Large repos can take 3–5s. We allow up to 6s before giving up.
24
- * The agent should not be blocked longer than this.
25
- */
26
- const TSC_TIMEOUT_MS = 6000;
27
- /** Cap how many diagnostics we return to avoid overwhelming the agent context */
26
+ const JS_EXTS = new Set(['.js', '.jsx', '.mjs', '.cjs']);
27
+ const CSS_EXTS = new Set(['.css', '.scss', '.less', '.sass']);
28
+ const CHECKER_TIMEOUT_MS = 6000;
28
29
  const MAX_DIAGNOSTICS = 20;
29
30
  // ─── Main export ──────────────────────────────────────────────────────────────
30
31
  /**
31
- * Run tsc --noEmit after a file write and return structured diagnostics.
32
- *
33
- * @param filePath Absolute path of the file that was just written
34
- * @param projectPath Absolute path of the project root (process.cwd() equivalent)
35
- * @returns LspResult — always resolves, never rejects
32
+ * Run all applicable checkers for the given file and return structured
33
+ * diagnostics. Always resolves, never rejects.
36
34
  */
37
35
  export async function checkDiagnostics(filePath, projectPath) {
38
- const SKIP = { diagnostics: [], summary: null, ran: false };
39
- // Only check TypeScript files
36
+ const SKIP = { diagnostics: [], summary: null, checkers: [], ran: false };
40
37
  const ext = path.extname(filePath).toLowerCase();
41
- if (!TS_EXTS.has(ext))
42
- return SKIP;
43
- // Need a tsconfig.json in the project root
44
- const tsconfig = path.join(projectPath, 'tsconfig.json');
45
- if (!fs.existsSync(tsconfig))
38
+ const all = [];
39
+ const checkers = [];
40
+ // Run checkers in parallel for speed
41
+ const pending = [];
42
+ // ── 1. tsc ─────────────────────────────────────────────────────────────────
43
+ // Fire for TS files always; fire for JS files only when tsconfig has allowJs.
44
+ if (TS_EXTS.has(ext) || JS_EXTS.has(ext)) {
45
+ const tsconfig = path.join(projectPath, 'tsconfig.json');
46
+ if (fs.existsSync(tsconfig)) {
47
+ const shouldRunForJs = JS_EXTS.has(ext) && tsconfigAllowsJs(tsconfig);
48
+ if (TS_EXTS.has(ext) || shouldRunForJs) {
49
+ checkers.push('tsc');
50
+ pending.push(runTsc(projectPath));
51
+ }
52
+ }
53
+ }
54
+ // ── 2. ESLint ──────────────────────────────────────────────────────────────
55
+ // Runs for JS and TS files if ESLint is installed in the project.
56
+ if (TS_EXTS.has(ext) || JS_EXTS.has(ext)) {
57
+ const eslintBin = path.join(projectPath, 'node_modules', '.bin', 'eslint');
58
+ if (fs.existsSync(eslintBin)) {
59
+ checkers.push('eslint');
60
+ pending.push(runEslint(eslintBin, filePath, projectPath));
61
+ }
62
+ }
63
+ // ── 3. Stylelint ───────────────────────────────────────────────────────────
64
+ // Runs for CSS/SCSS/Less if installed.
65
+ if (CSS_EXTS.has(ext)) {
66
+ const stylelintBin = path.join(projectPath, 'node_modules', '.bin', 'stylelint');
67
+ if (fs.existsSync(stylelintBin)) {
68
+ checkers.push('stylelint');
69
+ pending.push(runStylelint(stylelintBin, filePath, projectPath));
70
+ }
71
+ }
72
+ if (pending.length === 0)
46
73
  return SKIP;
47
- // Prefer project-local tsc over global (respects project's TS version)
74
+ const results = await Promise.allSettled(pending);
75
+ for (const r of results) {
76
+ if (r.status === 'fulfilled')
77
+ all.push(...r.value);
78
+ // Rejected = checker timed out or crashed — silently ignore
79
+ }
80
+ // Deduplicate: same file+line+message from multiple checkers
81
+ const seen = new Set();
82
+ const unique = all.filter(d => {
83
+ const key = `${d.file}:${d.line}:${d.col}:${d.message}`;
84
+ if (seen.has(key))
85
+ return false;
86
+ seen.add(key);
87
+ return true;
88
+ });
89
+ // Sort: edited file's errors → other errors → warnings (by severity then file)
90
+ const rel = path.relative(projectPath, filePath);
91
+ const sorted = [
92
+ ...unique.filter(d => d.file === rel && d.severity === 'error'),
93
+ ...unique.filter(d => d.file !== rel && d.severity === 'error'),
94
+ ...unique.filter(d => d.severity === 'warning'),
95
+ ].slice(0, MAX_DIAGNOSTICS);
96
+ const errCount = sorted.filter(d => d.severity === 'error').length;
97
+ const warnCount = sorted.filter(d => d.severity === 'warning').length;
98
+ let summary = null;
99
+ if (errCount > 0) {
100
+ summary =
101
+ `⚠ ${errCount} error${errCount > 1 ? 's' : ''}` +
102
+ (warnCount > 0 ? ` + ${warnCount} warning${warnCount > 1 ? 's' : ''}` : '') +
103
+ ` detected after write [${checkers.join('+')}]. Fix these before making more edits.`;
104
+ }
105
+ else if (warnCount > 0) {
106
+ summary = `ℹ ${warnCount} warning${warnCount > 1 ? 's' : ''} detected [${checkers.join('+')}]. No errors.`;
107
+ }
108
+ else if (unique.length === 0 && checkers.length > 0) {
109
+ summary = `✓ No errors detected [${checkers.join('+')}].`;
110
+ }
111
+ return { diagnostics: sorted, summary, checkers, ran: true };
112
+ }
113
+ // ─── Checker: tsc ─────────────────────────────────────────────────────────────
114
+ async function runTsc(projectPath) {
48
115
  const localTsc = path.join(projectPath, 'node_modules', '.bin', 'tsc');
49
- const tscCmd = fs.existsSync(localTsc)
50
- ? `"${localTsc}" --noEmit --pretty false`
51
- : 'tsc --noEmit --pretty false';
116
+ const bin = fs.existsSync(localTsc) ? `"${localTsc}"` : 'tsc';
117
+ const cmd = `${bin} --noEmit --pretty false`;
52
118
  try {
53
- const raw = await runTsc(tscCmd, projectPath);
54
- const all = parseTscOutput(raw, projectPath);
55
- // Prioritise errors over warnings; file being edited shows first
56
- const rel = path.relative(projectPath, filePath);
57
- const sorted = [
58
- ...all.filter(d => d.file === rel && d.severity === 'error'),
59
- ...all.filter(d => d.file !== rel && d.severity === 'error'),
60
- ...all.filter(d => d.severity === 'warning'),
61
- ].slice(0, MAX_DIAGNOSTICS);
62
- const errCount = sorted.filter(d => d.severity === 'error').length;
63
- const warnCount = sorted.filter(d => d.severity === 'warning').length;
64
- let summary = null;
65
- if (errCount > 0) {
66
- summary =
67
- `⚠ TypeScript: ${errCount} error${errCount > 1 ? 's' : ''}` +
68
- (warnCount > 0 ? ` + ${warnCount} warning${warnCount > 1 ? 's' : ''}` : '') +
69
- ` detected after write. Fix these before making more edits.`;
70
- }
71
- else if (warnCount > 0) {
72
- summary = `ℹ TypeScript: ${warnCount} warning${warnCount > 1 ? 's' : ''} detected (no errors).`;
119
+ const raw = await spawnWithTimeout(cmd, projectPath);
120
+ return parseTscOutput(raw, projectPath);
121
+ }
122
+ catch {
123
+ return [];
124
+ }
125
+ }
126
+ function parseTscOutput(output, projectPath) {
127
+ const diagnostics = [];
128
+ const pattern = /^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+(TS\d+):\s+(.+)$/gm;
129
+ let m;
130
+ while ((m = pattern.exec(output)) !== null) {
131
+ const [, rawFile, lineStr, colStr, severity, code, message] = m;
132
+ const absFile = path.isAbsolute(rawFile)
133
+ ? rawFile
134
+ : path.resolve(projectPath, rawFile);
135
+ diagnostics.push({
136
+ file: path.relative(projectPath, absFile),
137
+ line: parseInt(lineStr, 10),
138
+ col: parseInt(colStr, 10),
139
+ severity: severity,
140
+ code,
141
+ message: message.trim(),
142
+ source: 'tsc',
143
+ });
144
+ }
145
+ return diagnostics;
146
+ }
147
+ // ─── Checker: ESLint ──────────────────────────────────────────────────────────
148
+ async function runEslint(eslintBin, filePath, projectPath) {
149
+ // --format json gives us a machine-readable array even when there are errors
150
+ // ESLint exits 1 on lint errors — that's expected, not a crash
151
+ const cmd = `"${eslintBin}" --format json "${filePath}"`;
152
+ try {
153
+ const raw = await spawnWithTimeout(cmd, projectPath);
154
+ return parseEslintOutput(raw, projectPath);
155
+ }
156
+ catch {
157
+ return [];
158
+ }
159
+ }
160
+ function parseEslintOutput(raw, projectPath) {
161
+ const diagnostics = [];
162
+ // ESLint sometimes emits text before the JSON (deprecation notices, etc.)
163
+ // Find the first '[' to locate the JSON array
164
+ const jsonStart = raw.indexOf('[');
165
+ if (jsonStart === -1)
166
+ return diagnostics;
167
+ try {
168
+ const results = JSON.parse(raw.slice(jsonStart));
169
+ for (const fileResult of results) {
170
+ const relFile = path.relative(projectPath, fileResult.filePath);
171
+ for (const msg of fileResult.messages) {
172
+ // severity: 1 = warning, 2 = error
173
+ if (msg.severity === 0)
174
+ continue;
175
+ diagnostics.push({
176
+ file: relFile,
177
+ line: msg.line ?? 1,
178
+ col: msg.column ?? 1,
179
+ severity: msg.severity >= 2 ? 'error' : 'warning',
180
+ code: msg.ruleId ?? 'eslint',
181
+ message: msg.message,
182
+ source: 'eslint',
183
+ });
184
+ }
73
185
  }
74
- else if (all.length === 0 && raw.trim() === '') {
75
- summary = '✓ TypeScript: no errors detected.';
186
+ }
187
+ catch {
188
+ // JSON parse failed — ESLint output was garbled
189
+ }
190
+ return diagnostics;
191
+ }
192
+ // ─── Checker: Stylelint ───────────────────────────────────────────────────────
193
+ async function runStylelint(stylelintBin, filePath, projectPath) {
194
+ const cmd = `"${stylelintBin}" --formatter json "${filePath}"`;
195
+ try {
196
+ const raw = await spawnWithTimeout(cmd, projectPath);
197
+ return parseStylelintOutput(raw, projectPath);
198
+ }
199
+ catch {
200
+ return [];
201
+ }
202
+ }
203
+ function parseStylelintOutput(raw, projectPath) {
204
+ const diagnostics = [];
205
+ const jsonStart = raw.indexOf('[');
206
+ if (jsonStart === -1)
207
+ return diagnostics;
208
+ try {
209
+ const results = JSON.parse(raw.slice(jsonStart));
210
+ for (const fileResult of results) {
211
+ const relFile = path.relative(projectPath, fileResult.source);
212
+ for (const w of fileResult.warnings) {
213
+ diagnostics.push({
214
+ file: relFile,
215
+ line: w.line ?? 1,
216
+ col: w.column ?? 1,
217
+ severity: w.severity === 'error' ? 'error' : 'warning',
218
+ code: w.rule ?? 'stylelint',
219
+ message: w.text,
220
+ source: 'stylelint',
221
+ });
222
+ }
76
223
  }
77
- return { diagnostics: sorted, summary, ran: true };
78
224
  }
79
225
  catch {
80
- // Any failure (timeout, tsc not found, parse error) → silent skip
81
- return SKIP;
226
+ // Ignore parse errors
82
227
  }
228
+ return diagnostics;
83
229
  }
84
- // ─── Internal ─────────────────────────────────────────────────────────────────
230
+ // ─── Shared: process runner ───────────────────────────────────────────────────
85
231
  /**
86
- * Run tsc with a hard timeout.
87
- * tsc exits with code 1 when errors exist — that's expected, not a throw.
88
- * We resolve with stdout+stderr in all cases; only reject on timeout.
232
+ * Spawn a command with a hard timeout.
233
+ * Resolves with stdout+stderr. Rejects only on timeout.
234
+ * A non-zero exit code is NOT an error here (lint tools exit 1 on violations).
89
235
  */
90
- function runTsc(cmd, cwd) {
236
+ function spawnWithTimeout(cmd, cwd) {
91
237
  return new Promise((resolve, reject) => {
92
238
  let settled = false;
93
239
  const timer = setTimeout(() => {
@@ -95,46 +241,27 @@ function runTsc(cmd, cwd) {
95
241
  return;
96
242
  settled = true;
97
243
  proc.kill('SIGTERM');
98
- reject(new Error('tsc timed out'));
99
- }, TSC_TIMEOUT_MS);
244
+ reject(new Error(`Checker timed out: ${cmd.slice(0, 60)}`));
245
+ }, CHECKER_TIMEOUT_MS);
100
246
  const proc = exec(cmd, { cwd }, (_err, stdout, stderr) => {
101
247
  if (settled)
102
248
  return;
103
249
  settled = true;
104
250
  clearTimeout(timer);
105
- // tsc errors are in stdout when --pretty false; stderr has other issues
106
251
  resolve(stdout + stderr);
107
252
  });
108
253
  });
109
254
  }
110
- /**
111
- * Parse tsc --pretty false output into structured diagnostics.
112
- *
113
- * tsc format (--pretty false):
114
- * src/components/Foo.tsx(12,5): error TS2345: Argument of type 'string'...
115
- * src/pages/index.tsx(8,1): warning TS6133: 'x' is declared but...
116
- */
117
- function parseTscOutput(output, projectPath) {
118
- const diagnostics = [];
119
- // Match: <file>(<line>,<col>): <error|warning> <TSxxxx>: <message>
120
- const pattern = /^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+(TS\d+):\s+(.+)$/gm;
121
- let match;
122
- while ((match = pattern.exec(output)) !== null) {
123
- const [, rawFile, lineStr, colStr, severity, code, message] = match;
124
- // Normalise path to be relative to project root
125
- const absFile = path.isAbsolute(rawFile)
126
- ? rawFile
127
- : path.resolve(projectPath, rawFile);
128
- const relFile = path.relative(projectPath, absFile);
129
- diagnostics.push({
130
- file: relFile,
131
- line: parseInt(lineStr, 10),
132
- col: parseInt(colStr, 10),
133
- severity: severity,
134
- code,
135
- message: message.trim(),
136
- });
255
+ // ─── Helpers ──────────────────────────────────────────────────────────────────
256
+ /** Returns true if the tsconfig.json at the given path has allowJs: true */
257
+ function tsconfigAllowsJs(tsconfigPath) {
258
+ try {
259
+ const raw = fs.readFileSync(tsconfigPath, 'utf-8');
260
+ // Quick parse skip full JSON5 parsing for performance
261
+ return /"allowJs"\s*:\s*true/.test(raw);
262
+ }
263
+ catch {
264
+ return false;
137
265
  }
138
- return diagnostics;
139
266
  }
140
267
  //# sourceMappingURL=lsp.js.map
package/dist/lsp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lsp.js","sourceRoot":"","sources":["../src/lsp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lsp.js","sourceRoot":"","sources":["../src/lsp.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gettrace/cli",
3
- "version": "1.4.12",
3
+ "version": "1.4.14",
4
4
  "description": "Trace IDE Bridge for connecting local filesystem to Trace browser extensions.",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -47,4 +47,4 @@
47
47
  "dist",
48
48
  "README.md"
49
49
  ]
50
- }
50
+ }