@kernlang/review 3.3.4 → 3.3.5

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 (35) hide show
  1. package/dist/cache.js +1 -1
  2. package/dist/concept-rules/contract-drift.d.ts +21 -0
  3. package/dist/concept-rules/contract-drift.js +66 -0
  4. package/dist/concept-rules/contract-drift.js.map +1 -0
  5. package/dist/concept-rules/cross-stack-utils.d.ts +50 -0
  6. package/dist/concept-rules/cross-stack-utils.js +98 -0
  7. package/dist/concept-rules/cross-stack-utils.js.map +1 -0
  8. package/dist/concept-rules/index.js +12 -1
  9. package/dist/concept-rules/index.js.map +1 -1
  10. package/dist/concept-rules/tainted-across-wire.d.ts +33 -0
  11. package/dist/concept-rules/tainted-across-wire.js +98 -0
  12. package/dist/concept-rules/tainted-across-wire.js.map +1 -0
  13. package/dist/concept-rules/untyped-api-response.d.ts +30 -0
  14. package/dist/concept-rules/untyped-api-response.js +71 -0
  15. package/dist/concept-rules/untyped-api-response.js.map +1 -0
  16. package/dist/external-tools.d.ts +17 -4
  17. package/dist/external-tools.js +12 -1
  18. package/dist/external-tools.js.map +1 -1
  19. package/dist/index.d.ts +2 -1
  20. package/dist/index.js +75 -6
  21. package/dist/index.js.map +1 -1
  22. package/dist/llm-bridge.d.ts +26 -1
  23. package/dist/llm-bridge.js +42 -6
  24. package/dist/llm-bridge.js.map +1 -1
  25. package/dist/llm-review.js +29 -11
  26. package/dist/llm-review.js.map +1 -1
  27. package/dist/mappers/ts-concepts.js +247 -1
  28. package/dist/mappers/ts-concepts.js.map +1 -1
  29. package/dist/rules/index.js +1 -1
  30. package/dist/rules/index.js.map +1 -1
  31. package/dist/rules/kern-source.js +35 -5
  32. package/dist/rules/kern-source.js.map +1 -1
  33. package/dist/types.d.ts +2 -0
  34. package/dist/types.js.map +1 -1
  35. package/package.json +2 -2
package/dist/index.d.ts CHANGED
@@ -24,7 +24,7 @@ export { resolveImportGraph } from './graph.js';
24
24
  export { findTsConfig, inferFromFile, inferFromSource } from './inferrer.js';
25
25
  export type { KernLintRule } from './kern-lint.js';
26
26
  export { flattenIR, lintKernIR } from './kern-lint.js';
27
- export type { LLMBridgeConfig, LLMReviewInput, ReviewInstructionOptions } from './llm-bridge.js';
27
+ export type { LLMBridgeConfig, LLMCallResult, LLMReviewInput, LLMReviewResult, LLMUsage, ReviewInstructionOptions, } from './llm-bridge.js';
28
28
  export { buildReviewInstructions, isLLMAvailable, runLLMReview } from './llm-bridge.js';
29
29
  export type { LLMGraphContext } from './llm-review.js';
30
30
  export { buildLLMPrompt, exportKernIR, parseLLMResponse } from './llm-review.js';
@@ -81,6 +81,7 @@ export declare function resetFsProject(): void;
81
81
  export declare function refreshFsProjectFromDisk(): number;
82
82
  /** True when the file is codegen output — detected via common path patterns or a @generated header. */
83
83
  export declare function isGeneratedFile(filePath: string, source?: string): boolean;
84
+ export declare function isReviewableFile(filePath: string): boolean;
84
85
  /**
85
86
  * Review a single file. Auto-detects language from extension.
86
87
  * Uses a filesystem-backed ts-morph Project for type-aware analysis.
package/dist/index.js CHANGED
@@ -33,7 +33,7 @@ import { lintConfidenceGraph, lintMultiFileConfidenceGraph } from './rules/confi
33
33
  import { crossFileAsyncRule, deadExportRule } from './rules/dead-code.js';
34
34
  import { runFastapiConceptRules } from './rules/fastapi.js';
35
35
  import { GROUND_LAYER_RULES } from './rules/ground-layer.js';
36
- import { KERN_SOURCE_RULES, lintKernSourceIR } from './rules/kern-source.js';
36
+ import { KERN_SOURCE_RULES, lintKernSourceIR, missingConfidence } from './rules/kern-source.js';
37
37
  import { lintKernSourceCrossFile } from './rules/kern-source-cross-file.js';
38
38
  import { detectTemplates } from './template-detector.js';
39
39
  // Load native .kern rules once at module init
@@ -205,12 +205,52 @@ export function isGeneratedFile(filePath, source) {
205
205
  return true;
206
206
  return false;
207
207
  }
208
+ /** Extensions the review engine analyzes. Anything else (.md, .json, .yaml, .patch, binaries) returns an empty report at the entry point, so callers that blindly feed changed-file lists (e.g. kern-guard on a PR diff) don't surface noise findings on docs/config files. */
209
+ const REVIEWABLE_EXTENSIONS = new Set([
210
+ '.ts',
211
+ '.tsx',
212
+ '.mts',
213
+ '.cts',
214
+ '.js',
215
+ '.jsx',
216
+ '.mjs',
217
+ '.cjs',
218
+ '.kern',
219
+ '.py',
220
+ '.vue',
221
+ ]);
222
+ export function isReviewableFile(filePath) {
223
+ const dot = filePath.lastIndexOf('.');
224
+ if (dot === -1)
225
+ return false;
226
+ const ext = filePath.slice(dot);
227
+ return REVIEWABLE_EXTENSIONS.has(ext);
228
+ }
229
+ function emptyReport(filePath) {
230
+ return {
231
+ filePath,
232
+ inferred: [],
233
+ templateMatches: [],
234
+ findings: [],
235
+ stats: {
236
+ totalLines: 0,
237
+ coveredLines: 0,
238
+ coveragePct: 0,
239
+ totalTsTokens: 0,
240
+ totalKernTokens: 0,
241
+ reductionPct: 0,
242
+ constructCount: 0,
243
+ },
244
+ };
245
+ }
208
246
  /**
209
247
  * Review a single file. Auto-detects language from extension.
210
248
  * Uses a filesystem-backed ts-morph Project for type-aware analysis.
211
249
  * Supports: .ts, .tsx, .py, .kern
212
250
  */
213
251
  export function reviewFile(filePath, config) {
252
+ if (!isReviewableFile(filePath))
253
+ return emptyReport(filePath);
214
254
  const source = readFileSync(filePath, 'utf-8');
215
255
  // Resolve the effective tsconfig up-front so both the cache key and the ts-morph Project see the
216
256
  // same path. If we only discovered it later inside reviewSourceWithProject, adding or changing the
@@ -232,10 +272,28 @@ export function reviewFile(filePath, config) {
232
272
  else if (filePath.endsWith('.py')) {
233
273
  report = reviewPythonSource(source, filePath, effectiveConfig);
234
274
  }
235
- else {
275
+ else if (/\.(ts|tsx|js|jsx|mts|cts|mjs|cjs)$/.test(filePath)) {
236
276
  // Use filesystem-backed project for real files (enables TypeChecker)
237
277
  report = reviewSourceWithProject(source, filePath, effectiveConfig);
238
278
  }
279
+ else {
280
+ // Non-source file (markdown, JSON, patch, yaml, etc.) — skip review entirely
281
+ return {
282
+ filePath,
283
+ inferred: [],
284
+ templateMatches: [],
285
+ findings: [],
286
+ stats: {
287
+ totalLines: source.split('\n').length,
288
+ coveredLines: 0,
289
+ coveragePct: 0,
290
+ totalTsTokens: 0,
291
+ totalKernTokens: 0,
292
+ reductionPct: 0,
293
+ constructCount: 0,
294
+ },
295
+ };
296
+ }
239
297
  if (isGeneratedFile(filePath, source)) {
240
298
  report.generated = true;
241
299
  }
@@ -293,6 +351,8 @@ function reviewSourceWithProject(source, filePath, config) {
293
351
  * For file-from-disk review with type resolution, use reviewFile() instead.
294
352
  */
295
353
  export function reviewSource(source, filePath = 'input.ts', config) {
354
+ if (!isReviewableFile(filePath))
355
+ return emptyReport(filePath);
296
356
  const project = createInMemoryProject();
297
357
  const sourceFile = project.createSourceFile(filePath, source);
298
358
  return reviewSourceInternal(source, filePath, config, project, sourceFile);
@@ -331,8 +391,12 @@ function reviewSourceInternal(source, filePath, config, project, sourceFile) {
331
391
  }, []));
332
392
  // Phase 3: Template detection (config-aware)
333
393
  const templateMatches = safePhase('templates', () => detectTemplates(sourceFile, config), []);
334
- // Phase 4: Structural diff → unified findings
335
- allFindings.push(...safePhase('diff', () => structuralDiff(source, inferred, filePath), []));
394
+ // Phase 4: Structural diff → unified findings.
395
+ // `extra-code` and `inconsistent-pattern` are only meaningful on runtime source; on codegen/barrel/test/example
396
+ // files they produce noise (e.g. entire barrel flagged as extra-code). Keep other diff findings regardless.
397
+ const diffFindings = safePhase('diff', () => structuralDiff(source, inferred, filePath), []);
398
+ const diffNoiseRules = new Set(['extra-code', 'inconsistent-pattern']);
399
+ allFindings.push(...(fileRole === 'runtime' ? diffFindings : diffFindings.filter((f) => !diffNoiseRules.has(f.ruleId))));
336
400
  // Phase 5: Quality rules → unified findings (receives fileRole)
337
401
  allFindings.push(...safePhase('quality', () => runQualityRules(sourceFile, inferred, templateMatches, config, fileRole, project), []));
338
402
  // Phase 6: Concept extraction + concept rules (universal, cross-language)
@@ -468,8 +532,13 @@ export function reviewKernSource(source, filePath = 'input.kern', _config) {
468
532
  f.primarySpan.file = filePath;
469
533
  }
470
534
  allFindings.push(...confFindings);
471
- // File-aware .kern review rules on flattened IR nodes
472
- const kernSourceFindings = safePhase('kern-source-lint', () => lintKernSourceIR(flatNodes, filePath, KERN_SOURCE_RULES), []);
535
+ // File-aware .kern review rules on flattened IR nodes.
536
+ // missing-confidence fires only when the user opts into confidence annotations — defaulting
537
+ // it on produced noise for every .kern file that didn't use the feature (see Agon kern-guard run, 2026-04-19).
538
+ const kernSourceRules = _config?.requireConfidenceAnnotations
539
+ ? KERN_SOURCE_RULES
540
+ : KERN_SOURCE_RULES.filter((r) => r !== missingConfidence);
541
+ const kernSourceFindings = safePhase('kern-source-lint', () => lintKernSourceIR(flatNodes, filePath, kernSourceRules), []);
473
542
  allFindings.push(...kernSourceFindings);
474
543
  // Native .kern rules (built-in + custom)
475
544
  const rulesToRunKern = [...NATIVE_RULES];
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,14 @@ export interface ReviewInstructionOptions {
29
29
  * Check if LLM review is available (API key configured).
30
30
  */
31
31
  export declare function isLLMAvailable(override?: LLMBridgeConfig): boolean;
32
+ export interface LLMCallResult {
33
+ content: string;
34
+ /** Tokens consumed by this HTTP request, as reported by the provider. */
35
+ promptTokens?: number;
36
+ completionTokens?: number;
37
+ /** Wall-clock time spent in the fetch, in milliseconds. */
38
+ durationMs: number;
39
+ }
32
40
  export interface LLMReviewInput {
33
41
  filePath: string;
34
42
  inferred: InferResult[];
@@ -49,7 +57,24 @@ export interface LLMReviewInput {
49
57
  * Excludes info-severity and low-confidence findings to save tokens.
50
58
  */
51
59
  export declare function isHighValueFinding(f: ReviewFinding): boolean;
52
- export declare function runLLMReview(inputs: LLMReviewInput[], configOverride?: LLMBridgeConfig): Promise<ReviewFinding[]>;
60
+ /**
61
+ * Per-run usage/timing summary. Token counts are populated only when the
62
+ * upstream provider returns them (OpenAI-compatible APIs do; some self-hosted
63
+ * proxies do not). `requestDurationsMs` records wall-clock per HTTP call so
64
+ * downstream tools can compute honest latencies without inflating with queue
65
+ * time.
66
+ */
67
+ export interface LLMUsage {
68
+ promptTokens?: number;
69
+ completionTokens?: number;
70
+ requestCount: number;
71
+ requestDurationsMs: number[];
72
+ }
73
+ export interface LLMReviewResult {
74
+ findings: ReviewFinding[];
75
+ usage: LLMUsage;
76
+ }
77
+ export declare function runLLMReview(inputs: LLMReviewInput[], configOverride?: LLMBridgeConfig): Promise<LLMReviewResult>;
53
78
  /**
54
79
  * Build review instructions for the no-API-key CLI path.
55
80
  * Shared review categories from buildSystemPrompt() adapted for AI CLI tools
@@ -66,6 +66,7 @@ async function callLLM(messages, config) {
66
66
  }
67
67
  const controller = new AbortController();
68
68
  const timer = setTimeout(() => controller.abort(), config.timeout);
69
+ const startedAt = Date.now();
69
70
  try {
70
71
  const response = await fetch(`${config.baseUrl}/chat/completions`, {
71
72
  method: 'POST',
@@ -86,7 +87,12 @@ async function callLLM(messages, config) {
86
87
  throw new Error(`LLM API error ${response.status}: ${text.substring(0, 200)}`);
87
88
  }
88
89
  const data = (await response.json());
89
- return data.choices?.[0]?.message?.content || '';
90
+ return {
91
+ content: data.choices?.[0]?.message?.content || '',
92
+ promptTokens: data.usage?.prompt_tokens,
93
+ completionTokens: data.usage?.completion_tokens,
94
+ durationMs: Date.now() - startedAt,
95
+ };
90
96
  }
91
97
  finally {
92
98
  clearTimeout(timer);
@@ -137,10 +143,24 @@ export function isHighValueFinding(f) {
137
143
  const MAX_BATCH_TOKENS = 60_000;
138
144
  /** Max tokens for a single file. Files above this are skipped with a warning finding. */
139
145
  const MAX_SINGLE_FILE_TOKENS = 100_000;
146
+ function emptyUsage() {
147
+ return { requestCount: 0, requestDurationsMs: [] };
148
+ }
149
+ function mergeUsage(into, call) {
150
+ into.requestCount += 1;
151
+ into.requestDurationsMs.push(call.durationMs);
152
+ if (call.promptTokens !== undefined) {
153
+ into.promptTokens = (into.promptTokens ?? 0) + call.promptTokens;
154
+ }
155
+ if (call.completionTokens !== undefined) {
156
+ into.completionTokens = (into.completionTokens ?? 0) + call.completionTokens;
157
+ }
158
+ }
140
159
  export async function runLLMReview(inputs, configOverride) {
141
160
  const config = resolveConfig(configOverride);
161
+ const usage = emptyUsage();
142
162
  if (!config.available)
143
- return [];
163
+ return { findings: [], usage };
144
164
  const allFindings = [];
145
165
  // Pre-compute IR for each input (used for both estimation and prompt building)
146
166
  const irCache = new Map();
@@ -180,7 +200,7 @@ export async function runLLMReview(inputs, configOverride) {
180
200
  // Process batches — errors in one batch don't discard findings from others
181
201
  for (const batch of batches) {
182
202
  try {
183
- const findings = await reviewBatch(batch, config, irCache);
203
+ const findings = await reviewBatch(batch, config, irCache, usage);
184
204
  allFindings.push(...findings);
185
205
  }
186
206
  catch (err) {
@@ -195,9 +215,9 @@ export async function runLLMReview(inputs, configOverride) {
195
215
  });
196
216
  }
197
217
  }
198
- return allFindings;
218
+ return { findings: allFindings, usage };
199
219
  }
200
- async function reviewBatch(inputs, config, _irCache) {
220
+ async function reviewBatch(inputs, config, _irCache, usage) {
201
221
  const allFindings = [];
202
222
  // Build combined prompt
203
223
  const parts = [];
@@ -228,12 +248,21 @@ async function reviewBatch(inputs, config, _irCache) {
228
248
  }
229
249
  const systemPrompt = buildSystemPrompt(anySourceIncluded);
230
250
  const userPrompt = parts.join('\n\n');
251
+ // Track the HTTP attempt up front so timeouts / non-2xx / fetch errors are
252
+ // still reported in LLMUsage. Without this, a failing batch returns
253
+ // requestCount=0 and downstream observability (cost/latency dashboards)
254
+ // under-reports outages — the exact class of failure callers most need
255
+ // to see.
256
+ const attemptStartedAt = Date.now();
257
+ let attemptRecorded = false;
231
258
  try {
232
259
  const response = await callLLM([
233
260
  { role: 'system', content: systemPrompt },
234
261
  { role: 'user', content: userPrompt },
235
262
  ], config);
236
- const findings = parseLLMResponse(response, allInferred);
263
+ mergeUsage(usage, response);
264
+ attemptRecorded = true;
265
+ const findings = parseLLMResponse(response.content, allInferred);
237
266
  // Tag all findings as LLM-sourced
238
267
  for (const f of findings) {
239
268
  f.source = 'llm';
@@ -252,6 +281,13 @@ async function reviewBatch(inputs, config, _irCache) {
252
281
  fingerprint: 'llm-error-0',
253
282
  });
254
283
  }
284
+ finally {
285
+ if (!attemptRecorded) {
286
+ // callLLM never merged (timeout / non-2xx / network error). Record a
287
+ // durationMs-only attempt so requestCount and timing are accurate.
288
+ mergeUsage(usage, { content: '', durationMs: Date.now() - attemptStartedAt });
289
+ }
290
+ }
255
291
  return allFindings;
256
292
  }
257
293
  function buildFullReviewChecklist() {
@@ -1 +1 @@
1
- {"version":3,"file":"llm-bridge.js","sourceRoot":"","sources":["../src/llm-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-bridge.js","sourceRoot":"","sources":["../src/llm-bridge.ts"],"names":[],"mappings":"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"}
@@ -125,26 +125,44 @@ export function parseLLMResponse(response, inferred) {
125
125
  aliasMap.set(r.promptAlias, r);
126
126
  }
127
127
  const validAliases = new Set(aliasMap.keys());
128
- // Extract JSON array from response (might be wrapped in markdown code blocks)
128
+ // Extract JSON array from response.
129
129
  let jsonStr = response.trim();
130
+ // Reasoning models (MiniMax-M2.7, DeepSeek-R1, Qwen-QwQ) wrap the
131
+ // actual answer in <think>...</think>. Strip those blocks before
132
+ // looking for JSON. Non-reasoning responses are unaffected.
133
+ jsonStr = jsonStr.replace(/<think>[\s\S]*?<\/think>/gi, '').trim();
134
+ // Some models leave an unterminated <think>...<think> when truncated.
135
+ // Drop everything before the last </think> if one survived.
136
+ const lastThinkEnd = jsonStr.lastIndexOf('</think>');
137
+ if (lastThinkEnd >= 0)
138
+ jsonStr = jsonStr.slice(lastThinkEnd + '</think>'.length).trim();
130
139
  // Strip markdown code fences
131
140
  if (jsonStr.startsWith('```')) {
132
141
  jsonStr = jsonStr.replace(/^```(?:json)?\s*\n?/, '').replace(/\n?```\s*$/, '');
133
142
  }
143
+ // Some reasoning models still emit prose before the JSON array.
144
+ // Find the first '[' and take from there to the matching last ']'.
145
+ const firstBracket = jsonStr.indexOf('[');
146
+ const lastBracket = jsonStr.lastIndexOf(']');
147
+ if (firstBracket > 0 && lastBracket > firstBracket) {
148
+ jsonStr = jsonStr.slice(firstBracket, lastBracket + 1);
149
+ }
134
150
  let parsed;
135
151
  try {
136
152
  parsed = JSON.parse(jsonStr);
137
153
  }
138
154
  catch {
155
+ // Infrastructure failure — LLM returned malformed output.
156
+ // Emit info-level notice (not error/bug) so it's visible but never blocks CI.
139
157
  return [
140
158
  {
141
159
  source: 'llm',
142
- ruleId: 'parse-error',
143
- severity: 'error',
144
- category: 'bug',
145
- message: `Failed to parse LLM response as JSON: ${jsonStr.substring(0, 100)}...`,
160
+ ruleId: 'llm-error',
161
+ severity: 'info',
162
+ category: 'structure',
163
+ message: `LLM review returned unparseable output (${jsonStr.substring(0, 60).replace(/\n/g, ' ')}…)`,
146
164
  primarySpan: { file: '', startLine: 0, startCol: 0, endLine: 0, endCol: 0 },
147
- fingerprint: createFingerprint('parse-error', 0, 0),
165
+ fingerprint: createFingerprint('llm-error', 0, 0),
148
166
  },
149
167
  ];
150
168
  }
@@ -152,12 +170,12 @@ export function parseLLMResponse(response, inferred) {
152
170
  return [
153
171
  {
154
172
  source: 'llm',
155
- ruleId: 'parse-error',
156
- severity: 'error',
157
- category: 'bug',
158
- message: 'LLM response is not a JSON array',
173
+ ruleId: 'llm-error',
174
+ severity: 'info',
175
+ category: 'structure',
176
+ message: 'LLM review returned non-array JSON',
159
177
  primarySpan: { file: '', startLine: 0, startCol: 0, endLine: 0, endCol: 0 },
160
- fingerprint: createFingerprint('parse-error', 0, 1),
178
+ fingerprint: createFingerprint('llm-error', 0, 1),
161
179
  },
162
180
  ];
163
181
  }