codeguardian-mcp 1.4.1 → 1.4.3

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":"agentTools.d.ts","sourceRoot":"","sources":["../../src/agent/agentTools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAsMnD,eAAO,MAAM,iBAAiB,EAAE,cA4J/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,cAsG9B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,cAuInC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,cAoDnC,CAAC;AAMF,eAAO,MAAM,wBAAwB,EAAE,cAqEtC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,cA2FtC,CAAC;AAMF;;;GAGG;AACH,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC,CAQjE;AAMD;;;;GAIG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAiExD"}
1
+ {"version":3,"file":"agentTools.d.ts","sourceRoot":"","sources":["../../src/agent/agentTools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAiUnD,eAAO,MAAM,iBAAiB,EAAE,cAuK/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,cA8G9B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,cAyInC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,cAoDnC,CAAC;AAMF,eAAO,MAAM,wBAAwB,EAAE,cAqEtC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,cA2FtC,CAAC;AAMF;;;GAGG;AACH,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC,CAQjE;AAMD;;;;GAIG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAmExD"}
@@ -22,6 +22,89 @@ function getActiveGuardianProjectPaths() {
22
22
  .map((guardian) => guardian.getStatus().projectPath)
23
23
  .filter((projectPath) => !!projectPath);
24
24
  }
25
+ function normalizeProjectPath(projectPath) {
26
+ if (!projectPath || !projectPath.trim())
27
+ return null;
28
+ return path.resolve(projectPath);
29
+ }
30
+ function getProjectPathFromStorageKey(storageKey) {
31
+ const separatorIndex = storageKey.indexOf("::");
32
+ if (separatorIndex <= 0)
33
+ return null;
34
+ const projectPath = storageKey.slice(0, separatorIndex);
35
+ return normalizeProjectPath(projectPath);
36
+ }
37
+ function getAlertStorageKey(alert) {
38
+ const normalizedProjectPath = normalizeProjectPath(alert.projectPath);
39
+ return normalizedProjectPath
40
+ ? `${normalizedProjectPath}::${alert.file}`
41
+ : alert.file;
42
+ }
43
+ function countPendingAlertsForScope(projectPath, agentName) {
44
+ const normalizedTargetProject = path.resolve(projectPath);
45
+ let count = 0;
46
+ for (const [storageKey, alert] of fileAlerts.entries()) {
47
+ if (!Array.isArray(alert.issues) || alert.issues.length === 0)
48
+ continue;
49
+ if (alert.agentName && alert.agentName !== agentName)
50
+ continue;
51
+ const alertProjectPath = normalizeProjectPath(alert.projectPath);
52
+ if (alertProjectPath) {
53
+ if (alertProjectPath !== normalizedTargetProject)
54
+ continue;
55
+ count++;
56
+ continue;
57
+ }
58
+ // Legacy fallback: infer project from composite storage key.
59
+ const keyProjectPath = getProjectPathFromStorageKey(storageKey);
60
+ if (keyProjectPath) {
61
+ if (keyProjectPath !== normalizedTargetProject)
62
+ continue;
63
+ count++;
64
+ continue;
65
+ }
66
+ if (isApiContractScanAlertKey(alert.file) &&
67
+ alert.file !== `API_CONTRACT_SCAN:${agentName}`) {
68
+ continue;
69
+ }
70
+ count++;
71
+ }
72
+ return count;
73
+ }
74
+ function removeAlertsForGuardianScope(projectPath, agentName) {
75
+ const normalizedTargetProject = path.resolve(projectPath);
76
+ let removed = 0;
77
+ for (const [key, alert] of fileAlerts.entries()) {
78
+ const alertProjectPath = normalizeProjectPath(alert.projectPath);
79
+ const alertAgentName = alert.agentName;
80
+ const hasAgentMetadata = Boolean(alertAgentName);
81
+ const matchesProjectWithoutAgent = !alertAgentName && alertProjectPath === normalizedTargetProject;
82
+ const matchesAgent = alert.agentName === agentName;
83
+ const matchesLegacyApiKey = alert.file === `API_CONTRACT_SCAN:${agentName}`;
84
+ const matchesLegacyCompositeKey = key.startsWith(`${normalizedTargetProject}::`);
85
+ const matchesLegacyCompositeKeyWithoutAgent = !hasAgentMetadata && matchesLegacyCompositeKey;
86
+ if (matchesProjectWithoutAgent ||
87
+ matchesAgent ||
88
+ matchesLegacyApiKey ||
89
+ matchesLegacyCompositeKeyWithoutAgent) {
90
+ fileAlerts.delete(key);
91
+ removed++;
92
+ }
93
+ }
94
+ return removed;
95
+ }
96
+ function getHydratedAlertStorageKey(persistedKey, alert) {
97
+ const computedKey = getAlertStorageKey(alert);
98
+ if (computedKey !== alert.file) {
99
+ return computedKey;
100
+ }
101
+ // If this was stored with composite-key format but missing metadata,
102
+ // preserve that key to avoid collisions on hydration.
103
+ if (persistedKey.includes("::")) {
104
+ return persistedKey;
105
+ }
106
+ return computedKey;
107
+ }
25
108
  function scheduleAlertPersist() {
26
109
  if (alertPersistTimer)
27
110
  clearTimeout(alertPersistTimer);
@@ -69,10 +152,11 @@ function isApiContractScanAlertKey(alertKey) {
69
152
  * a UI notification to hint the user/LLM that alerts are available.
70
153
  */
71
154
  function handleAlert(alert) {
155
+ const storageKey = getAlertStorageKey(alert);
72
156
  // Initial scan notifications can be useful UX hints but should not be tracked
73
157
  // as pending issues when they carry zero findings.
74
158
  if (alert.issues.length === 0 && alert.isInitialScan) {
75
- fileAlerts.delete(alert.file);
159
+ fileAlerts.delete(storageKey);
76
160
  pushValidationAlert(alert).catch((err) => {
77
161
  logger.warn("Failed to send UI notification:", err);
78
162
  });
@@ -81,13 +165,12 @@ function handleAlert(alert) {
81
165
  // Update state for this file
82
166
  if (alert.issues.length === 0 && !alert.isInitialScan) {
83
167
  // Clear issues for this file
84
- const hadIssues = fileAlerts.has(alert.file);
85
- fileAlerts.delete(alert.file);
168
+ const hadIssues = fileAlerts.delete(storageKey);
86
169
  // Also scrub initial scan alerts that referenced this file.
87
170
  // Initial scans (INITIAL_FILE_SCAN, INITIAL_SCAN, API_CONTRACT_SCAN) store
88
171
  // issues from startup. When a file is re-validated and passes clean,
89
172
  // those stale initial issues should be removed.
90
- const scrubbed = scrubInitialScanIssuesForFile(alert.file);
173
+ const scrubbed = scrubInitialScanIssuesForFile(alert.file, alert.projectPath);
91
174
  // Only log if we actually cleared something
92
175
  if (hadIssues || scrubbed) {
93
176
  logger.info(`Issues cleared for: ${alert.file}${scrubbed ? " (including initial scan issues)" : ""}`);
@@ -100,18 +183,29 @@ function handleAlert(alert) {
100
183
  // replace only that specific scan key.
101
184
  // This handles re-validation of service/route files updating the contract scan.
102
185
  if (isApiContractScanAlertKey(alert.file)) {
103
- fileAlerts.set(alert.file, alert);
186
+ fileAlerts.set(storageKey, alert);
104
187
  // Migration: once guardian-scoped keys are flowing, drop the old shared key
105
188
  // so stale cross-guardian messages don't keep showing up.
106
189
  if (alert.file !== "API_CONTRACT_SCAN") {
107
- fileAlerts.delete("API_CONTRACT_SCAN");
190
+ const alertProjectPath = normalizeProjectPath(alert.projectPath);
191
+ for (const [key, existingAlert] of fileAlerts.entries()) {
192
+ if (key === storageKey)
193
+ continue;
194
+ if (existingAlert.file !== "API_CONTRACT_SCAN")
195
+ continue;
196
+ const existingProjectPath = normalizeProjectPath(existingAlert.projectPath);
197
+ if (alertProjectPath && existingProjectPath && existingProjectPath !== alertProjectPath) {
198
+ continue;
199
+ }
200
+ fileAlerts.delete(key);
201
+ }
108
202
  }
109
203
  logger.info(`API Contract scan updated: ${alert.issues.length} issues`);
110
204
  scheduleAlertPersist();
111
205
  return;
112
206
  }
113
207
  // Store new issues for LLM to retrieve via get_guardian_alerts
114
- fileAlerts.set(alert.file, alert);
208
+ fileAlerts.set(storageKey, alert);
115
209
  logger.info(`Alert stored for: ${alert.file} (${alert.issues.length} issues) - use get_guardian_alerts to retrieve`);
116
210
  scheduleAlertPersist();
117
211
  // Send UI notification as a hint (shows in client UI, not to LLM directly)
@@ -129,37 +223,35 @@ function handleAlert(alert) {
129
223
  *
130
224
  * @returns true if any initial scan issues were removed
131
225
  */
132
- function scrubInitialScanIssuesForFile(cleanFile) {
226
+ function scrubInitialScanIssuesForFile(cleanFile, projectPath) {
133
227
  let scrubbed = false;
134
- const INITIAL_SCAN_KEYS = [
135
- "INITIAL_FILE_SCAN",
136
- "INITIAL_SCAN",
137
- // Legacy key support
138
- "API_CONTRACT_SCAN",
139
- // Guardian-scoped API contract scans
140
- ...Array.from(fileAlerts.keys()).filter((key) => isApiContractScanAlertKey(key)),
141
- ];
142
- for (const key of new Set(INITIAL_SCAN_KEYS)) {
143
- const scanAlert = fileAlerts.get(key);
144
- if (!scanAlert)
228
+ const normalizedProjectPath = normalizeProjectPath(projectPath);
229
+ const normalizedClean = cleanFile.replace(/^(\.\.\/)+/, "").replace(/\\/g, "/");
230
+ for (const [key, scanAlert] of fileAlerts.entries()) {
231
+ if (!scanAlert.isInitialScan || !Array.isArray(scanAlert.issues) || scanAlert.issues.length === 0) {
145
232
  continue;
233
+ }
234
+ if (normalizedProjectPath) {
235
+ const scanProjectPath = normalizeProjectPath(scanAlert.projectPath);
236
+ const keyProjectPath = getProjectPathFromStorageKey(key);
237
+ const matchesProject = (scanProjectPath && scanProjectPath === normalizedProjectPath) ||
238
+ (keyProjectPath && keyProjectPath === normalizedProjectPath);
239
+ if (!matchesProject) {
240
+ continue;
241
+ }
242
+ }
146
243
  const originalCount = scanAlert.issues.length;
147
- // Remove issues that reference the now-clean file.
148
- // Issues may have a `file` field (from the per-file scan) or the message
149
- // may contain the file path. Check both.
150
- // Normalize paths for comparison (strip leading ../ segments and path separators)
151
- const normalizedClean = cleanFile.replace(/^(\.\.\/)+/, "").replace(/\\/g, "/");
152
244
  scanAlert.issues = scanAlert.issues.filter((issue) => {
153
245
  if (issue.file) {
154
- const normalizedIssueFile = issue.file.replace(/^(\.\.\/)+/, "").replace(/\\/g, "/");
155
- // Match by normalized paths (handles ../../ frontend/src/... vs frontend/src/...)
246
+ const normalizedIssueFile = issue.file
247
+ .replace(/^(\.\.\/)+/, "")
248
+ .replace(/\\/g, "/");
156
249
  if (normalizedIssueFile === normalizedClean ||
157
250
  normalizedIssueFile.endsWith(normalizedClean) ||
158
251
  normalizedClean.endsWith(normalizedIssueFile)) {
159
252
  return false;
160
253
  }
161
254
  }
162
- // Check if the message references this file
163
255
  if (issue.message && issue.message.includes(normalizedClean)) {
164
256
  return false;
165
257
  }
@@ -167,11 +259,10 @@ function scrubInitialScanIssuesForFile(cleanFile) {
167
259
  });
168
260
  if (scanAlert.issues.length < originalCount) {
169
261
  scrubbed = true;
170
- logger.debug(`Scrubbed ${originalCount - scanAlert.issues.length} stale issues from ${key} for file: ${cleanFile}`);
171
- // If no issues remain, remove the entire alert
262
+ logger.debug(`Scrubbed ${originalCount - scanAlert.issues.length} stale issues from ${scanAlert.file} for file: ${cleanFile}`);
172
263
  if (scanAlert.issues.length === 0) {
173
264
  fileAlerts.delete(key);
174
- logger.debug(`Removed empty ${key} alert`);
265
+ logger.debug(`Removed empty ${scanAlert.file} alert`);
175
266
  }
176
267
  }
177
268
  }
@@ -222,6 +313,7 @@ Each Guardian watches its own path and language.`,
222
313
  const existingProjectPath = path.resolve(existingStatus.projectPath);
223
314
  // Same guardian name + same path => no-op (already running as requested)
224
315
  if (existingProjectPath === absolutePath) {
316
+ const pendingAlerts = countPendingAlertsForScope(absolutePath, agent_name);
225
317
  return {
226
318
  content: [
227
319
  {
@@ -231,8 +323,8 @@ Each Guardian watches its own path and language.`,
231
323
  alreadyRunning: true,
232
324
  message: `Guardian '${agent_name}' is already active for ${absolutePath}.`,
233
325
  status: existingStatus,
234
- pendingAlerts: fileAlerts.size,
235
- hint: fileAlerts.size > 0
326
+ pendingAlerts,
327
+ hint: pendingAlerts > 0
236
328
  ? "There are pending alerts from the previous session. Use get_guardian_alerts to review them."
237
329
  : "No pending alerts. The guardian is watching for changes.",
238
330
  }),
@@ -252,8 +344,13 @@ Each Guardian watches its own path and language.`,
252
344
  catch (err) {
253
345
  logger.warn(`Failed to remove previous persisted guardian config for '${agent_name}':`, err);
254
346
  }
255
- // Remove guardian-scoped API contract alerts from the previous project.
256
- fileAlerts.delete(`API_CONTRACT_SCAN:${agent_name}`);
347
+ // Remove in-memory alerts from the previous guardian scope to avoid
348
+ // carrying stale findings into the new project path.
349
+ const removedAlerts = removeAlertsForGuardianScope(existingStatus.projectPath, agent_name);
350
+ if (removedAlerts > 0) {
351
+ logger.info(`Removed ${removedAlerts} stale alert(s) for replaced guardian '${agent_name}'`);
352
+ scheduleAlertPersist();
353
+ }
257
354
  }
258
355
  try {
259
356
  const guardian = new AutoValidator(absolutePath, language, mode, agent_name);
@@ -364,6 +461,10 @@ export const stopGuardianTool = {
364
461
  catch (err) {
365
462
  logger.warn("Failed to remove persisted guardian config:", err);
366
463
  }
464
+ const removedAlerts = removeAlertsForGuardianScope(guardian.getStatus().projectPath, agent_name);
465
+ if (removedAlerts > 0) {
466
+ scheduleAlertPersist();
467
+ }
367
468
  return {
368
469
  content: [
369
470
  {
@@ -435,8 +536,10 @@ export const getGuardianAlertsTool = {
435
536
  // If memory is empty (e.g., very early after restart), hydrate from persisted alerts.
436
537
  if (alerts.length === 0) {
437
538
  const persistedAlerts = await guardianPersistence.loadAlerts();
438
- for (const [file, alert] of persistedAlerts.entries()) {
439
- fileAlerts.set(file, alert);
539
+ for (const [persistedKey, persistedAlert] of persistedAlerts.entries()) {
540
+ const alert = persistedAlert;
541
+ const storageKey = getHydratedAlertStorageKey(persistedKey, alert);
542
+ fileAlerts.set(storageKey, alert);
440
543
  }
441
544
  alerts = collectAlertsWithIssues(fileAlerts);
442
545
  }
@@ -758,8 +861,10 @@ export async function restoreGuardians() {
758
861
  }
759
862
  // Load persisted alerts first so they're available immediately
760
863
  const persistedAlerts = await guardianPersistence.loadAlerts();
761
- for (const [file, alert] of persistedAlerts) {
762
- fileAlerts.set(file, alert);
864
+ for (const [persistedKey, persistedAlert] of persistedAlerts) {
865
+ const alert = persistedAlert;
866
+ const storageKey = getHydratedAlertStorageKey(persistedKey, alert);
867
+ fileAlerts.set(storageKey, alert);
763
868
  }
764
869
  if (persistedAlerts.size > 0) {
765
870
  logger.info(`Restored ${persistedAlerts.size} persisted alerts`);
@@ -1 +1 @@
1
- {"version":3,"file":"agentTools.js","sourceRoot":"","sources":["../../src/agent/agentTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentTools.js","sourceRoot":"","sources":["../../src/agent/agentTools.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@ export interface ValidationAlert {
19
19
  timestamp: number;
20
20
  llmMessage: string;
21
21
  isInitialScan?: boolean;
22
+ projectPath?: string;
23
+ agentName?: string;
22
24
  }
23
25
  export type AgentMode = "auto" | "learning" | "strict";
24
26
  export declare class AutoValidator {
@@ -1 +1 @@
1
- {"version":3,"file":"autoValidator.d.ts","sourceRoot":"","sources":["../../src/agent/autoValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autoValidator.d.ts","sourceRoot":"","sources":["../../src/agent/autoValidator.ts"],"names":[],"mappings":"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"}
@@ -552,6 +552,8 @@ export class AutoValidator {
552
552
  timestamp: Date.now(),
553
553
  llmMessage: `📚 **${this.agentName}: Learning Mode Active**\n\nThis appears to be a new project (${this.projectFileCount} files). I'll be lenient and learn your patterns as you build.\n\nOnce you have more than ${AutoValidator.LEARNING_MODE_FILE_COUNT} files, I'll switch to strict validation.`,
554
554
  isInitialScan: true,
555
+ projectPath: this.projectPath,
556
+ agentName: this.agentName,
555
557
  };
556
558
  if (this.onAlert) {
557
559
  this.onAlert(alert);
@@ -578,6 +580,8 @@ export class AutoValidator {
578
580
  timestamp: Date.now(),
579
581
  llmMessage: this.createApiContractMessage(apiContractResult),
580
582
  isInitialScan: true,
583
+ projectPath: this.projectPath,
584
+ agentName: this.agentName,
581
585
  };
582
586
  logger.info(`API Contract scan found ${apiContractResult.issues.length} issues`);
583
587
  if (this.onAlert) {
@@ -627,6 +631,8 @@ export class AutoValidator {
627
631
  timestamp: Date.now(),
628
632
  llmMessage: this.createInitialScanMessage(confirmedDeadCode),
629
633
  isInitialScan: true,
634
+ projectPath: this.projectPath,
635
+ agentName: this.agentName,
630
636
  };
631
637
  logger.info(`Initial scan found ${confirmedDeadCode.length} confirmed issues in existing codebase`);
632
638
  if (this.onAlert) {
@@ -748,6 +754,8 @@ export class AutoValidator {
748
754
  timestamp: Date.now(),
749
755
  llmMessage: this.createPerFileScanMessage(confirmedPerFile.hallucinations, confirmedPerFile.deadCode),
750
756
  isInitialScan: true,
757
+ projectPath: this.projectPath,
758
+ agentName: this.agentName,
751
759
  };
752
760
  logger.info(`Per-file scan found ${confirmedPerFileAll.length} confirmed issues`);
753
761
  if (this.onAlert) {
@@ -908,6 +916,8 @@ export class AutoValidator {
908
916
  timestamp: Date.now(),
909
917
  llmMessage: this.createApiContractMessage(apiContractResult),
910
918
  isInitialScan: false,
919
+ projectPath: this.projectPath,
920
+ agentName: this.agentName,
911
921
  };
912
922
  if (this.onAlert) {
913
923
  this.onAlert(apiContractAlert);
@@ -977,6 +987,8 @@ export class AutoValidator {
977
987
  issues: [],
978
988
  timestamp: Date.now(),
979
989
  llmMessage: `🗑️ ${this.agentName}: File deleted - ${relativePath}. Issues cleared.`,
990
+ projectPath: this.projectPath,
991
+ agentName: this.agentName,
980
992
  };
981
993
  this.onAlert(clearAlert);
982
994
  }
@@ -1286,6 +1298,8 @@ export class AutoValidator {
1286
1298
  issues: [],
1287
1299
  timestamp: Date.now(),
1288
1300
  llmMessage: `✅ ${this.agentName}: Issues resolved in ${relativePath}`,
1301
+ projectPath: this.projectPath,
1302
+ agentName: this.agentName,
1289
1303
  };
1290
1304
  this.onAlert(clearAlert);
1291
1305
  }
@@ -1315,6 +1329,8 @@ export class AutoValidator {
1315
1329
  issues: issueList,
1316
1330
  timestamp: Date.now(),
1317
1331
  llmMessage,
1332
+ projectPath: this.projectPath,
1333
+ agentName: this.agentName,
1318
1334
  };
1319
1335
  }
1320
1336
  async createLLMMessage(file, issues, fileLang) {