viberadar 0.3.71 → 0.3.73
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/scanner/index.d.ts +15 -0
- package/dist/scanner/index.d.ts.map +1 -1
- package/dist/scanner/index.js +203 -0
- package/dist/scanner/index.js.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +92 -11
- package/dist/server/index.js.map +1 -1
- package/dist/ui/dashboard.html +97 -20
- package/package.json +1 -1
package/dist/scanner/index.d.ts
CHANGED
|
@@ -87,12 +87,27 @@ export interface ObservabilityInsightItem {
|
|
|
87
87
|
priority: 'high' | 'medium' | 'low';
|
|
88
88
|
recommendation: 'suppress' | 'downgrade level' | 'enrich fields' | 'add event';
|
|
89
89
|
}
|
|
90
|
+
export type ModuleRiskTier = 'critical' | 'important' | 'normal';
|
|
91
|
+
export interface FailurePoint {
|
|
92
|
+
type: 'empty-catch' | 'catch-no-log' | 'promise-catch-no-log' | 'http-no-error-handling' | 'db-no-error-handling' | 'throw-no-log' | 'error-check-no-log';
|
|
93
|
+
lineApprox: number;
|
|
94
|
+
snippet: string;
|
|
95
|
+
}
|
|
96
|
+
export interface MissingCriticalLogItem {
|
|
97
|
+
modulePath: string;
|
|
98
|
+
riskTier: ModuleRiskTier;
|
|
99
|
+
riskScore: number;
|
|
100
|
+
failurePoints: FailurePoint[];
|
|
101
|
+
hasAnyWarnError: boolean;
|
|
102
|
+
roleHint: string;
|
|
103
|
+
}
|
|
90
104
|
export interface ObservabilityReport {
|
|
91
105
|
catalog: ObservabilityCatalogItem[];
|
|
92
106
|
metrics: ObservabilityMetrics;
|
|
93
107
|
classification: ObservabilityRuleSummary;
|
|
94
108
|
topNoisyPatterns: ObservabilityInsightItem[];
|
|
95
109
|
missingCriticalLogs: ObservabilityInsightItem[];
|
|
110
|
+
missingCriticalLogsV2: MissingCriticalLogItem[];
|
|
96
111
|
fieldGaps: Record<string, number>;
|
|
97
112
|
}
|
|
98
113
|
export declare function scanProject(projectRoot: string): Promise<ScanResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scanner/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scanner/index.ts"],"names":[],"mappings":"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"}
|
package/dist/scanner/index.js
CHANGED
|
@@ -285,6 +285,162 @@ function detectLogOwner(relativePath) {
|
|
|
285
285
|
const seg = p.split('/')[0] || 'unknown';
|
|
286
286
|
return seg.replace(/\.[^.]+$/, '');
|
|
287
287
|
}
|
|
288
|
+
// ─── Module risk classification ──────────────────────────────────────────────
|
|
289
|
+
const PATH_ROLE_RULES = [
|
|
290
|
+
// Critical — must have error handling
|
|
291
|
+
{ re: /\/routes?\//i, tier: 'critical', role: 'route handler', score: 90 },
|
|
292
|
+
{ re: /\/controllers?\//i, tier: 'critical', role: 'controller', score: 90 },
|
|
293
|
+
{ re: /\/api\//i, tier: 'critical', role: 'API endpoint', score: 85 },
|
|
294
|
+
{ re: /\/middleware/i, tier: 'critical', role: 'middleware', score: 85 },
|
|
295
|
+
{ re: /\/auth/i, tier: 'critical', role: 'auth module', score: 95 },
|
|
296
|
+
{ re: /\/payment/i, tier: 'critical', role: 'payment module', score: 95 },
|
|
297
|
+
{ re: /\/webhook/i, tier: 'critical', role: 'webhook handler', score: 90 },
|
|
298
|
+
{ re: /\/handler/i, tier: 'critical', role: 'handler', score: 85 },
|
|
299
|
+
{ re: /server\/[^/]+\.ts$/i, tier: 'critical', role: 'server module', score: 80 },
|
|
300
|
+
// Important — should have error handling
|
|
301
|
+
{ re: /\/services?\//i, tier: 'important', role: 'service', score: 70 },
|
|
302
|
+
{ re: /\/repository/i, tier: 'important', role: 'data layer', score: 70 },
|
|
303
|
+
{ re: /\/db\b/i, tier: 'important', role: 'database layer', score: 75 },
|
|
304
|
+
{ re: /\/storage/i, tier: 'important', role: 'storage layer', score: 70 },
|
|
305
|
+
{ re: /\/queue/i, tier: 'important', role: 'queue handler', score: 70 },
|
|
306
|
+
{ re: /\/worker/i, tier: 'important', role: 'worker', score: 70 },
|
|
307
|
+
{ re: /\/cron/i, tier: 'important', role: 'cron job', score: 65 },
|
|
308
|
+
{ re: /\/jobs?\//i, tier: 'important', role: 'background job', score: 65 },
|
|
309
|
+
{ re: /\/integration/i, tier: 'important', role: 'integration', score: 65 },
|
|
310
|
+
{ re: /\/client/i, tier: 'important', role: 'external client', score: 65 },
|
|
311
|
+
{ re: /\/lib\//i, tier: 'important', role: 'library module', score: 55 },
|
|
312
|
+
];
|
|
313
|
+
const CONTENT_RISK_PATTERNS = [
|
|
314
|
+
{ re: /\bfetch\s*\(/, boost: 15 },
|
|
315
|
+
{ re: /\baxios[\s.]/, boost: 15 },
|
|
316
|
+
{ re: /\bgot[\s.(]/, boost: 12 },
|
|
317
|
+
{ re: /\bprisma[\s.]/i, boost: 15 },
|
|
318
|
+
{ re: /\bmongoose[\s.]/i, boost: 15 },
|
|
319
|
+
{ re: /\bsequelize[\s.]/i, boost: 15 },
|
|
320
|
+
{ re: /\btypeorm[\s.]/i, boost: 15 },
|
|
321
|
+
{ re: /\bknex[\s.(]/i, boost: 15 },
|
|
322
|
+
{ re: /\bdrizzle/i, boost: 15 },
|
|
323
|
+
{ re: /\.query\s*\(\s*['"`](?:SELECT|INSERT|UPDATE|DELETE)/i, boost: 15 },
|
|
324
|
+
{ re: /\btry\s*\{/, boost: 5 },
|
|
325
|
+
{ re: /\.catch\s*\(/, boost: 8 },
|
|
326
|
+
{ re: /\bthrow\s+new\s+/, boost: 5 },
|
|
327
|
+
{ re: /\bfs\.\w+Sync\b/, boost: 8 },
|
|
328
|
+
{ re: /\bchild_process\b/, boost: 10 },
|
|
329
|
+
{ re: /\b(exec|spawn)\s*\(/, boost: 10 },
|
|
330
|
+
{ re: /\bredis\b/i, boost: 12 },
|
|
331
|
+
{ re: /\b(amqp|rabbitmq)\b/i, boost: 12 },
|
|
332
|
+
{ re: /\bstripe\b/i, boost: 20 },
|
|
333
|
+
{ re: /\bnodemailer\b|\bsendgrid\b/i, boost: 10 },
|
|
334
|
+
];
|
|
335
|
+
function classifyModuleRole(relativePath, content) {
|
|
336
|
+
const normPath = relativePath.replace(/\\/g, '/').toLowerCase();
|
|
337
|
+
let tier = 'normal';
|
|
338
|
+
let roleHint = 'utility';
|
|
339
|
+
let baseScore = 20;
|
|
340
|
+
for (const rule of PATH_ROLE_RULES) {
|
|
341
|
+
if (rule.re.test(normPath)) {
|
|
342
|
+
tier = rule.tier;
|
|
343
|
+
roleHint = rule.role;
|
|
344
|
+
baseScore = rule.score;
|
|
345
|
+
break;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
let contentBoost = 0;
|
|
349
|
+
for (const pat of CONTENT_RISK_PATTERNS) {
|
|
350
|
+
if (pat.re.test(content))
|
|
351
|
+
contentBoost += pat.boost;
|
|
352
|
+
}
|
|
353
|
+
contentBoost = Math.min(contentBoost, 40);
|
|
354
|
+
if (tier === 'normal' && contentBoost >= 25) {
|
|
355
|
+
tier = 'important';
|
|
356
|
+
roleHint = 'module with external calls';
|
|
357
|
+
}
|
|
358
|
+
return { tier, roleHint, baseScore: Math.min(100, baseScore + contentBoost) };
|
|
359
|
+
}
|
|
360
|
+
// ─── Failure point detection ─────────────────────────────────────────────────
|
|
361
|
+
function detectFailurePoints(content) {
|
|
362
|
+
const points = [];
|
|
363
|
+
const lines = content.split('\n');
|
|
364
|
+
function hasLogInRange(start, end) {
|
|
365
|
+
for (let i = start; i < Math.min(end, lines.length); i++) {
|
|
366
|
+
if (/(?:console|logger|log)\.(warn|error|fatal)\s*\(/.test(lines[i]))
|
|
367
|
+
return true;
|
|
368
|
+
}
|
|
369
|
+
return false;
|
|
370
|
+
}
|
|
371
|
+
function snip(lineIdx) {
|
|
372
|
+
const raw = (lines[lineIdx] || '').trim();
|
|
373
|
+
return raw.length > 80 ? raw.slice(0, 77) + '...' : raw;
|
|
374
|
+
}
|
|
375
|
+
for (let i = 0; i < lines.length; i++) {
|
|
376
|
+
const trimmed = lines[i].trim();
|
|
377
|
+
// 1. Empty catch blocks
|
|
378
|
+
if (/\bcatch\s*(\([^)]*\))?\s*\{\s*\}/.test(trimmed)) {
|
|
379
|
+
points.push({ type: 'empty-catch', lineApprox: i + 1, snippet: snip(i) });
|
|
380
|
+
continue; // don't also fire catch-no-log for same line
|
|
381
|
+
}
|
|
382
|
+
// 2. catch without logging
|
|
383
|
+
if (/\bcatch\s*\(/.test(trimmed)) {
|
|
384
|
+
if (!hasLogInRange(i, Math.min(i + 15, lines.length))) {
|
|
385
|
+
points.push({ type: 'catch-no-log', lineApprox: i + 1, snippet: snip(i) });
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
// 3. .catch() without logging
|
|
389
|
+
if (/\.catch\s*\(/.test(trimmed) && !/(?:console|logger|log)\.\w+\s*\(/.test(trimmed)) {
|
|
390
|
+
if (!hasLogInRange(i, Math.min(i + 10, lines.length))) {
|
|
391
|
+
points.push({ type: 'promise-catch-no-log', lineApprox: i + 1, snippet: snip(i) });
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
// 4. fetch/axios without nearby try/catch
|
|
395
|
+
if (/\b(fetch|axios)\s*[.(]/.test(trimmed) || /\baxios\.\w+\s*\(/.test(trimmed)) {
|
|
396
|
+
let hasTryCatch = false;
|
|
397
|
+
for (let j = Math.max(0, i - 3); j < Math.min(i + 8, lines.length); j++) {
|
|
398
|
+
if (/\btry\s*\{/.test(lines[j]) || /\.catch\s*\(/.test(lines[j])) {
|
|
399
|
+
hasTryCatch = true;
|
|
400
|
+
break;
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
if (!hasTryCatch) {
|
|
404
|
+
points.push({ type: 'http-no-error-handling', lineApprox: i + 1, snippet: snip(i) });
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
// 5. DB operations without nearby try/catch
|
|
408
|
+
if (/\b(prisma|mongoose|sequelize|typeorm|knex|drizzle)\b.*\.\w+\s*\(/i.test(trimmed) ||
|
|
409
|
+
/\.query\s*\(\s*['"`](?:SELECT|INSERT|UPDATE|DELETE)/i.test(trimmed)) {
|
|
410
|
+
let hasTryCatch = false;
|
|
411
|
+
for (let j = Math.max(0, i - 3); j < Math.min(i + 8, lines.length); j++) {
|
|
412
|
+
if (/\btry\s*\{/.test(lines[j]) || /\.catch\s*\(/.test(lines[j])) {
|
|
413
|
+
hasTryCatch = true;
|
|
414
|
+
break;
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
if (!hasTryCatch) {
|
|
418
|
+
points.push({ type: 'db-no-error-handling', lineApprox: i + 1, snippet: snip(i) });
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
// 6. throw without preceding logger.error
|
|
422
|
+
if (/\bthrow\s+new\s+\w*Error/.test(trimmed)) {
|
|
423
|
+
if (!hasLogInRange(Math.max(0, i - 3), i + 1)) {
|
|
424
|
+
points.push({ type: 'throw-no-log', lineApprox: i + 1, snippet: snip(i) });
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
// 7. if (err) / if (error) without logging
|
|
428
|
+
if (/\bif\s*\(\s*!?(err|error|e)\b/.test(trimmed) && !/\.test\s*\(/.test(trimmed)) {
|
|
429
|
+
if (!hasLogInRange(i, Math.min(i + 8, lines.length))) {
|
|
430
|
+
points.push({ type: 'error-check-no-log', lineApprox: i + 1, snippet: snip(i) });
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
// Dedup by line: prefer empty-catch over catch-no-log
|
|
435
|
+
const seen = new Map();
|
|
436
|
+
for (const fp of points) {
|
|
437
|
+
const existing = seen.get(fp.lineApprox);
|
|
438
|
+
if (!existing || fp.type === 'empty-catch') {
|
|
439
|
+
seen.set(fp.lineApprox, fp);
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
return Array.from(seen.values()).sort((a, b) => a.lineApprox - b.lineApprox).slice(0, 10);
|
|
443
|
+
}
|
|
288
444
|
function parseLogCalls(content) {
|
|
289
445
|
const calls = [];
|
|
290
446
|
const re = new RegExp(LOG_CALL_RE);
|
|
@@ -333,6 +489,7 @@ function computeObservabilityReport(modules, projectRoot) {
|
|
|
333
489
|
fieldGapCounts[f.name] = 0;
|
|
334
490
|
const noisyMap = new Map();
|
|
335
491
|
const criticalCoverage = new Set();
|
|
492
|
+
const moduleFailureData = new Map();
|
|
336
493
|
for (const module of sourceModules) {
|
|
337
494
|
let content = '';
|
|
338
495
|
try {
|
|
@@ -341,6 +498,11 @@ function computeObservabilityReport(modules, projectRoot) {
|
|
|
341
498
|
catch {
|
|
342
499
|
continue;
|
|
343
500
|
}
|
|
501
|
+
// Detect failure points BEFORE skipping modules with no log calls
|
|
502
|
+
const failurePoints = detectFailurePoints(content);
|
|
503
|
+
if (failurePoints.length > 0) {
|
|
504
|
+
moduleFailureData.set(module.relativePath, { content, failurePoints });
|
|
505
|
+
}
|
|
344
506
|
const calls = parseLogCalls(content);
|
|
345
507
|
if (calls.length === 0)
|
|
346
508
|
continue;
|
|
@@ -427,6 +589,46 @@ function computeObservabilityReport(modules, projectRoot) {
|
|
|
427
589
|
priority: i < 3 ? 'high' : 'medium',
|
|
428
590
|
recommendation: 'add event',
|
|
429
591
|
}));
|
|
592
|
+
// ── Build missingCriticalLogsV2 with risk classification + failure points ──
|
|
593
|
+
const missingCriticalLogsV2 = [];
|
|
594
|
+
for (const module of sourceModules) {
|
|
595
|
+
const fpData = moduleFailureData.get(module.relativePath);
|
|
596
|
+
const hasCoverage = criticalCoverage.has(module.relativePath);
|
|
597
|
+
const failurePoints = fpData?.failurePoints || [];
|
|
598
|
+
// Include if: no warn/error, OR has unlogged failure points
|
|
599
|
+
if (!hasCoverage || failurePoints.length > 0) {
|
|
600
|
+
let content = fpData?.content || '';
|
|
601
|
+
if (!content) {
|
|
602
|
+
try {
|
|
603
|
+
content = fs.readFileSync(module.path, 'utf-8');
|
|
604
|
+
}
|
|
605
|
+
catch {
|
|
606
|
+
continue;
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
const cls = classifyModuleRole(module.relativePath, content);
|
|
610
|
+
// Skip normal-tier with zero failure points that already have some coverage
|
|
611
|
+
if (cls.tier === 'normal' && failurePoints.length === 0 && hasCoverage)
|
|
612
|
+
continue;
|
|
613
|
+
const coveragePenalty = hasCoverage ? -15 : 0;
|
|
614
|
+
const fpBoost = Math.min(failurePoints.length * 5, 25);
|
|
615
|
+
const riskScore = Math.max(0, Math.min(100, cls.baseScore + fpBoost + coveragePenalty));
|
|
616
|
+
missingCriticalLogsV2.push({
|
|
617
|
+
modulePath: module.relativePath,
|
|
618
|
+
riskTier: cls.tier,
|
|
619
|
+
riskScore,
|
|
620
|
+
failurePoints,
|
|
621
|
+
hasAnyWarnError: hasCoverage,
|
|
622
|
+
roleHint: cls.roleHint,
|
|
623
|
+
});
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
const tierOrder = { critical: 0, important: 1, normal: 2 };
|
|
627
|
+
missingCriticalLogsV2.sort((a, b) => {
|
|
628
|
+
if (a.riskTier !== b.riskTier)
|
|
629
|
+
return tierOrder[a.riskTier] - tierOrder[b.riskTier];
|
|
630
|
+
return b.riskScore - a.riskScore;
|
|
631
|
+
});
|
|
430
632
|
const totalSource = sourceModules.length || 1;
|
|
431
633
|
const metrics = {
|
|
432
634
|
noise_ratio: totalLogs ? noiseLogs / totalLogs : 0,
|
|
@@ -444,6 +646,7 @@ function computeObservabilityReport(modules, projectRoot) {
|
|
|
444
646
|
},
|
|
445
647
|
topNoisyPatterns,
|
|
446
648
|
missingCriticalLogs,
|
|
649
|
+
missingCriticalLogsV2,
|
|
447
650
|
fieldGaps: fieldGapCounts,
|
|
448
651
|
};
|
|
449
652
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scanner/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scanner/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAM7B,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAM7B,OAAO,EAAE,UAAU,EAA0G,MAAM,YAAY,CAAC;AAEhJ,UAAU,aAAa;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;CACrB;AAgyCD,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAoiD1G"}
|
package/dist/server/index.js
CHANGED
|
@@ -802,12 +802,12 @@ const LOGGING_STANDARD_INLINE = [
|
|
|
802
802
|
].join('\n');
|
|
803
803
|
const SUPPRESS_GUARD = `
|
|
804
804
|
⛔ СТРОГО ЗАПРЕЩЕНО (нарушение = потеря наблюдаемости в prod):
|
|
805
|
-
- Трогать logger.warn
|
|
805
|
+
- Трогать logger.warn / logger.error / logger.fatal — это сигналы деградации и сбоев, не шум
|
|
806
806
|
- Понижать WARN → INFO, WARN → DEBUG, ERROR → WARN — это критическая потеря
|
|
807
807
|
- Удалять или переименовывать ERROR/FATAL логи
|
|
808
808
|
|
|
809
809
|
✅ Работать ТОЛЬКО с:
|
|
810
|
-
- logger.info
|
|
810
|
+
- logger.info / logger.debug / logger.trace которые неструктурированы или lifecycle-мусор
|
|
811
811
|
- Конкретные сообщения указаны в задаче ниже
|
|
812
812
|
`.trim();
|
|
813
813
|
function buildObsSuppressPatternPrompt(pattern, recommendation, catalog) {
|
|
@@ -851,7 +851,7 @@ function buildObsAddCriticalLogsPrompt(modulePath, catalog) {
|
|
|
851
851
|
``,
|
|
852
852
|
`Что сделать:`,
|
|
853
853
|
`- Найди в модуле точки, где может произойти ошибка (catch-блоки, проверки null/undefined, HTTP-ответы с ошибкой, DB-ошибки)`,
|
|
854
|
-
`- Добавь logger.warn
|
|
854
|
+
`- Добавь logger.warn или logger.error с обязательными полями по стандарту`,
|
|
855
855
|
`- Каждый лог должен включать: event_name, outcome, error_code (для error)`,
|
|
856
856
|
`- Именование event_name: <domain>.<entity>.<action> (lower_snake_case через точку)`,
|
|
857
857
|
`- Используй error_code из утверждённого словаря (config/logging-error-codes.json)`,
|
|
@@ -859,6 +859,69 @@ function buildObsAddCriticalLogsPrompt(modulePath, catalog) {
|
|
|
859
859
|
`\n${LOGGING_STANDARD_INLINE}`,
|
|
860
860
|
].filter(Boolean).join('\n');
|
|
861
861
|
}
|
|
862
|
+
const FP_TYPE_LABELS = {
|
|
863
|
+
'empty-catch': 'Пустой catch-блок — проглатывает ошибку',
|
|
864
|
+
'catch-no-log': 'catch без логирования ошибки',
|
|
865
|
+
'promise-catch-no-log': '.catch() без логирования',
|
|
866
|
+
'http-no-error-handling': 'HTTP-вызов без обработки ошибок',
|
|
867
|
+
'db-no-error-handling': 'DB-операция без обработки ошибок',
|
|
868
|
+
'throw-no-log': 'throw без предшествующего logger.error',
|
|
869
|
+
'error-check-no-log': 'Проверка ошибки (if err) без логирования',
|
|
870
|
+
};
|
|
871
|
+
function buildObsAddCriticalLogsPromptV2(item, catalog) {
|
|
872
|
+
const catalogEntry = catalog.find(c => c.modulePath === item.modulePath);
|
|
873
|
+
const fpDescriptions = item.failurePoints.map(fp => `- Строка ~${fp.lineApprox}: ${FP_TYPE_LABELS[fp.type] || fp.type}\n \`${fp.snippet}\``).join('\n');
|
|
874
|
+
return [
|
|
875
|
+
`Добавь критичные логи (warn/error) в модуль \`${item.modulePath}\`.`,
|
|
876
|
+
``,
|
|
877
|
+
`Роль модуля: ${item.roleHint} (приоритет: ${item.riskTier})`,
|
|
878
|
+
item.hasAnyWarnError
|
|
879
|
+
? `В модуле есть некоторые warn/error, но обнаружены незакрытые точки отказа.`
|
|
880
|
+
: `В модуле НЕТ ни одного warn/error. При сбоях мы не увидим ошибку в логах.`,
|
|
881
|
+
``,
|
|
882
|
+
catalogEntry
|
|
883
|
+
? `Текущее состояние:\n- Формат: ${catalogEntry.format}\n- Уровень: ${catalogEntry.level}\n- Пропущенные поля: ${(catalogEntry.missingFields || []).join(', ') || 'нет'}`
|
|
884
|
+
: '',
|
|
885
|
+
``,
|
|
886
|
+
`Обнаруженные точки отказа без логирования (${item.failurePoints.length}):`,
|
|
887
|
+
fpDescriptions,
|
|
888
|
+
``,
|
|
889
|
+
`Что сделать с каждой точкой:`,
|
|
890
|
+
`- Пустые catch-блоки: добавь logger.error с контекстом, event_name, error_code, outcome:failure`,
|
|
891
|
+
`- catch без лога: добавь logger.error/warn рядом с обработкой ошибки`,
|
|
892
|
+
`- .catch() без лога: добавь logger.error в обработчик промиса`,
|
|
893
|
+
`- HTTP/DB без обработки: оберни в try/catch с logger.error`,
|
|
894
|
+
`- throw без лога: добавь logger.error ДО throw`,
|
|
895
|
+
`- if(err) без лога: добавь logger.warn/error в ветку ошибки`,
|
|
896
|
+
``,
|
|
897
|
+
`Каждый лог: event_name, outcome, error_code (для error).`,
|
|
898
|
+
`event_name: <domain>.<entity>.<action> (lower_snake_case через точку)`,
|
|
899
|
+
``,
|
|
900
|
+
`\n${LOGGING_STANDARD_INLINE}`,
|
|
901
|
+
].filter(Boolean).join('\n');
|
|
902
|
+
}
|
|
903
|
+
function buildObsBatchAddCriticalLogsPrompt(items, catalog) {
|
|
904
|
+
const moduleBlocks = items.map(item => {
|
|
905
|
+
const fpSummary = item.failurePoints.slice(0, 5).map(fp => ` - строка ~${fp.lineApprox}: ${FP_TYPE_LABELS[fp.type] || fp.type} — \`${fp.snippet}\``).join('\n');
|
|
906
|
+
return `### \`${item.modulePath}\` (${item.roleHint}, ${item.riskTier})\n${fpSummary || ' - Нет warn/error, проверь весь модуль на точки отказа'}`;
|
|
907
|
+
}).join('\n\n');
|
|
908
|
+
return [
|
|
909
|
+
`Добавь критичные логи в ${items.length} модулей.`,
|
|
910
|
+
``,
|
|
911
|
+
`Для каждого модуля: найди точки отказа (указаны ниже) и добавь logger.warn/error с обязательными полями.`,
|
|
912
|
+
``,
|
|
913
|
+
moduleBlocks,
|
|
914
|
+
``,
|
|
915
|
+
`Требования к каждому логу:`,
|
|
916
|
+
`- event_name: <domain>.<entity>.<action> (lower_snake_case через точку)`,
|
|
917
|
+
`- outcome: failure|partial`,
|
|
918
|
+
`- error_code из словаря (VALIDATION_ERROR, DEPENDENCY_TIMEOUT, INTERNAL_ERROR и т.д.)`,
|
|
919
|
+
`- Пустые catch: добавь logger.error, не оставляй пустыми`,
|
|
920
|
+
`- HTTP/DB без обработки: оберни в try/catch с logger.error`,
|
|
921
|
+
``,
|
|
922
|
+
`\n${LOGGING_STANDARD_INLINE}`,
|
|
923
|
+
].filter(Boolean).join('\n');
|
|
924
|
+
}
|
|
862
925
|
function buildObsEnrichFieldPrompt(fieldName, catalog) {
|
|
863
926
|
const affectedModules = catalog
|
|
864
927
|
.filter(c => c.missingFields.includes(fieldName))
|
|
@@ -1503,7 +1566,10 @@ function startServer({ data: initialData, port, projectRoot }) {
|
|
|
1503
1566
|
failBeforeStart('Нет данных observability или модуль не указан');
|
|
1504
1567
|
return;
|
|
1505
1568
|
}
|
|
1506
|
-
|
|
1569
|
+
const v2Item = (obs.missingCriticalLogsV2 || []).find((m) => m.modulePath === item.meta.modulePath);
|
|
1570
|
+
prompt = v2Item
|
|
1571
|
+
? buildObsAddCriticalLogsPromptV2(v2Item, obs.catalog)
|
|
1572
|
+
: buildObsAddCriticalLogsPrompt(item.meta.modulePath, obs.catalog);
|
|
1507
1573
|
}
|
|
1508
1574
|
else if (task === 'obs-enrich-field') {
|
|
1509
1575
|
const obs = currentData.observability;
|
|
@@ -1533,17 +1599,32 @@ function startServer({ data: initialData, port, projectRoot }) {
|
|
|
1533
1599
|
}
|
|
1534
1600
|
else if (task === 'obs-fix-selected') {
|
|
1535
1601
|
const obs = currentData.observability;
|
|
1602
|
+
const missingLogIndices = Array.isArray(item.meta?.missingLogIndices) ? item.meta.missingLogIndices : [];
|
|
1536
1603
|
const indices = Array.isArray(item.meta?.catalogIndices) ? item.meta.catalogIndices : [];
|
|
1537
|
-
if (
|
|
1538
|
-
|
|
1539
|
-
|
|
1604
|
+
if (missingLogIndices.length > 0 && obs?.missingCriticalLogsV2) {
|
|
1605
|
+
// V2 batch: add critical logs to selected modules with failure points
|
|
1606
|
+
const selectedV2 = missingLogIndices
|
|
1607
|
+
.map(i => obs.missingCriticalLogsV2[i])
|
|
1608
|
+
.filter(Boolean);
|
|
1609
|
+
if (selectedV2.length === 0) {
|
|
1610
|
+
failBeforeStart('Выбранные модули не найдены');
|
|
1611
|
+
return;
|
|
1612
|
+
}
|
|
1613
|
+
prompt = buildObsBatchAddCriticalLogsPrompt(selectedV2, obs.catalog);
|
|
1540
1614
|
}
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1615
|
+
else if (indices.length > 0 && obs) {
|
|
1616
|
+
// Existing catalog-based flow
|
|
1617
|
+
const selectedItems = indices.map(i => obs.catalog[i]).filter(Boolean);
|
|
1618
|
+
if (selectedItems.length === 0) {
|
|
1619
|
+
failBeforeStart('Выбранные модули не найдены в каталоге');
|
|
1620
|
+
return;
|
|
1621
|
+
}
|
|
1622
|
+
prompt = buildObsFixSelectedPrompt(selectedItems, item.meta || {});
|
|
1623
|
+
}
|
|
1624
|
+
else {
|
|
1625
|
+
failBeforeStart('Нет данных observability или модули не выбраны');
|
|
1544
1626
|
return;
|
|
1545
1627
|
}
|
|
1546
|
-
prompt = buildObsFixSelectedPrompt(selectedItems, item.meta || {});
|
|
1547
1628
|
}
|
|
1548
1629
|
else {
|
|
1549
1630
|
prompt = buildMapUnmappedPrompt(currentData.modules, currentData.features || []);
|