trace-mcp 1.1.0 → 1.2.1

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.d.ts CHANGED
@@ -238,13 +238,13 @@ declare class Store {
238
238
  readonly db: Database.Database;
239
239
  constructor(db: Database.Database);
240
240
  private readonly _stmts;
241
- insertFile(path: string, language: string | null, contentHash: string | null, byteLength: number | null, workspace?: string | null): number;
241
+ insertFile(path: string, language: string | null, contentHash: string | null, byteLength: number | null, workspace?: string | null, mtimeMs?: number | null): number;
242
242
  getFile(path: string): FileRow | undefined;
243
243
  getFileById(id: number): FileRow | undefined;
244
244
  getAllFiles(): FileRow[];
245
245
  updateFileWorkspace(fileId: number, workspace: string): void;
246
246
  getFilesByWorkspace(workspace: string): FileRow[];
247
- updateFileHash(fileId: number, hash: string, byteLength: number): void;
247
+ updateFileHash(fileId: number, hash: string, byteLength: number, mtimeMs?: number | null): void;
248
248
  updateFileStatus(fileId: number, status: string, frameworkRole?: string): void;
249
249
  updateFileGitignored(fileId: number, gitignored: boolean): void;
250
250
  deleteFile(fileId: number): void;
@@ -260,6 +260,9 @@ declare class Store {
260
260
  getNodeId(nodeType: string, refId: number): number | undefined;
261
261
  insertEdge(sourceNodeId: number, targetNodeId: number, edgeTypeName: string, resolved?: boolean, metadata?: Record<string, unknown>, isCrossWs?: boolean): TraceMcpResult<number>;
262
262
  deleteEdgesForFileNodes(fileId: number): void;
263
+ /** Delete outgoing import edges from a file node — used by fast-path re-indexing
264
+ * to clear stale specifiers before re-inserting consolidated imports. */
265
+ deleteOutgoingImportEdges(fileId: number): void;
263
266
  /** Delete only outgoing edges from a file's nodes — used by incremental indexing
264
267
  * to preserve incoming edges (e.g. imports from other files into this file). */
265
268
  deleteOutgoingEdgesForFileNodes(fileId: number): void;
@@ -296,7 +299,7 @@ declare class Store {
296
299
  getOrmModelsByOrm(orm: string): OrmModelRow[];
297
300
  getAllOrmModels(): OrmModelRow[];
298
301
  insertOrmAssociation(sourceModelId: number, targetModelId: number | null, targetModelName: string, kind: string, options?: Record<string, unknown>, fileId?: number, line?: number): number;
299
- getAllOrmAssociations(): OrmAssociationRow[];
302
+ getAllOrmAssociations(fileIds?: number[]): OrmAssociationRow[];
300
303
  getOrmAssociationsByModel(modelId: number): OrmAssociationRow[];
301
304
  insertRnScreen(screen: RawRnScreen, fileId: number): number;
302
305
  getRnScreenByName(name: string): RnScreenRow | undefined;
@@ -313,7 +316,7 @@ declare class Store {
313
316
  * Get all symbols that have heritage metadata (extends/implements).
314
317
  * Used by the TypeScript heritage resolver in the pipeline.
315
318
  */
316
- getSymbolsWithHeritage(): (SymbolRow & {
319
+ getSymbolsWithHeritage(fileIds?: number[]): (SymbolRow & {
317
320
  file_path: string;
318
321
  })[];
319
322
  /**
@@ -398,6 +401,7 @@ interface FileRow {
398
401
  metadata: string | null;
399
402
  workspace: string | null;
400
403
  gitignored: number;
404
+ mtime_ms: number | null;
401
405
  }
402
406
  interface SymbolRow {
403
407
  id: number;
@@ -973,21 +977,369 @@ declare const TraceMcpConfigSchema: z.ZodObject<{
973
977
  auto_federation?: boolean | undefined;
974
978
  contract_globs?: string[] | undefined;
975
979
  }>>;
980
+ quality_gates: z.ZodOptional<z.ZodObject<{
981
+ enabled: z.ZodDefault<z.ZodBoolean>;
982
+ fail_on: z.ZodDefault<z.ZodEnum<["error", "warning", "none"]>>;
983
+ rules: z.ZodDefault<z.ZodObject<{
984
+ max_cyclomatic_complexity: z.ZodOptional<z.ZodObject<{
985
+ threshold: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
986
+ severity: z.ZodDefault<z.ZodEnum<["error", "warning"]>>;
987
+ scope: z.ZodOptional<z.ZodEnum<["all", "new_symbols", "changed_symbols"]>>;
988
+ message: z.ZodOptional<z.ZodString>;
989
+ }, "strip", z.ZodTypeAny, {
990
+ threshold: string | number;
991
+ severity: "error" | "warning";
992
+ message?: string | undefined;
993
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
994
+ }, {
995
+ threshold: string | number;
996
+ message?: string | undefined;
997
+ severity?: "error" | "warning" | undefined;
998
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
999
+ }>>;
1000
+ max_coupling_instability: z.ZodOptional<z.ZodObject<{
1001
+ threshold: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
1002
+ severity: z.ZodDefault<z.ZodEnum<["error", "warning"]>>;
1003
+ scope: z.ZodOptional<z.ZodEnum<["all", "new_symbols", "changed_symbols"]>>;
1004
+ message: z.ZodOptional<z.ZodString>;
1005
+ }, "strip", z.ZodTypeAny, {
1006
+ threshold: string | number;
1007
+ severity: "error" | "warning";
1008
+ message?: string | undefined;
1009
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1010
+ }, {
1011
+ threshold: string | number;
1012
+ message?: string | undefined;
1013
+ severity?: "error" | "warning" | undefined;
1014
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1015
+ }>>;
1016
+ max_circular_import_chains: z.ZodOptional<z.ZodObject<{
1017
+ threshold: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
1018
+ severity: z.ZodDefault<z.ZodEnum<["error", "warning"]>>;
1019
+ scope: z.ZodOptional<z.ZodEnum<["all", "new_symbols", "changed_symbols"]>>;
1020
+ message: z.ZodOptional<z.ZodString>;
1021
+ }, "strip", z.ZodTypeAny, {
1022
+ threshold: string | number;
1023
+ severity: "error" | "warning";
1024
+ message?: string | undefined;
1025
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1026
+ }, {
1027
+ threshold: string | number;
1028
+ message?: string | undefined;
1029
+ severity?: "error" | "warning" | undefined;
1030
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1031
+ }>>;
1032
+ max_dead_exports_percent: z.ZodOptional<z.ZodObject<{
1033
+ threshold: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
1034
+ severity: z.ZodDefault<z.ZodEnum<["error", "warning"]>>;
1035
+ scope: z.ZodOptional<z.ZodEnum<["all", "new_symbols", "changed_symbols"]>>;
1036
+ message: z.ZodOptional<z.ZodString>;
1037
+ }, "strip", z.ZodTypeAny, {
1038
+ threshold: string | number;
1039
+ severity: "error" | "warning";
1040
+ message?: string | undefined;
1041
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1042
+ }, {
1043
+ threshold: string | number;
1044
+ message?: string | undefined;
1045
+ severity?: "error" | "warning" | undefined;
1046
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1047
+ }>>;
1048
+ max_tech_debt_grade: z.ZodOptional<z.ZodObject<{
1049
+ threshold: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
1050
+ severity: z.ZodDefault<z.ZodEnum<["error", "warning"]>>;
1051
+ scope: z.ZodOptional<z.ZodEnum<["all", "new_symbols", "changed_symbols"]>>;
1052
+ message: z.ZodOptional<z.ZodString>;
1053
+ }, "strip", z.ZodTypeAny, {
1054
+ threshold: string | number;
1055
+ severity: "error" | "warning";
1056
+ message?: string | undefined;
1057
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1058
+ }, {
1059
+ threshold: string | number;
1060
+ message?: string | undefined;
1061
+ severity?: "error" | "warning" | undefined;
1062
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1063
+ }>>;
1064
+ max_security_critical_findings: z.ZodOptional<z.ZodObject<{
1065
+ threshold: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
1066
+ severity: z.ZodDefault<z.ZodEnum<["error", "warning"]>>;
1067
+ scope: z.ZodOptional<z.ZodEnum<["all", "new_symbols", "changed_symbols"]>>;
1068
+ message: z.ZodOptional<z.ZodString>;
1069
+ }, "strip", z.ZodTypeAny, {
1070
+ threshold: string | number;
1071
+ severity: "error" | "warning";
1072
+ message?: string | undefined;
1073
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1074
+ }, {
1075
+ threshold: string | number;
1076
+ message?: string | undefined;
1077
+ severity?: "error" | "warning" | undefined;
1078
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1079
+ }>>;
1080
+ max_antipattern_count: z.ZodOptional<z.ZodObject<{
1081
+ threshold: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
1082
+ severity: z.ZodDefault<z.ZodEnum<["error", "warning"]>>;
1083
+ scope: z.ZodOptional<z.ZodEnum<["all", "new_symbols", "changed_symbols"]>>;
1084
+ message: z.ZodOptional<z.ZodString>;
1085
+ }, "strip", z.ZodTypeAny, {
1086
+ threshold: string | number;
1087
+ severity: "error" | "warning";
1088
+ message?: string | undefined;
1089
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1090
+ }, {
1091
+ threshold: string | number;
1092
+ message?: string | undefined;
1093
+ severity?: "error" | "warning" | undefined;
1094
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1095
+ }>>;
1096
+ max_code_smell_count: z.ZodOptional<z.ZodObject<{
1097
+ threshold: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
1098
+ severity: z.ZodDefault<z.ZodEnum<["error", "warning"]>>;
1099
+ scope: z.ZodOptional<z.ZodEnum<["all", "new_symbols", "changed_symbols"]>>;
1100
+ message: z.ZodOptional<z.ZodString>;
1101
+ }, "strip", z.ZodTypeAny, {
1102
+ threshold: string | number;
1103
+ severity: "error" | "warning";
1104
+ message?: string | undefined;
1105
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1106
+ }, {
1107
+ threshold: string | number;
1108
+ message?: string | undefined;
1109
+ severity?: "error" | "warning" | undefined;
1110
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1111
+ }>>;
1112
+ }, "strip", z.ZodTypeAny, {
1113
+ max_cyclomatic_complexity?: {
1114
+ threshold: string | number;
1115
+ severity: "error" | "warning";
1116
+ message?: string | undefined;
1117
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1118
+ } | undefined;
1119
+ max_coupling_instability?: {
1120
+ threshold: string | number;
1121
+ severity: "error" | "warning";
1122
+ message?: string | undefined;
1123
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1124
+ } | undefined;
1125
+ max_circular_import_chains?: {
1126
+ threshold: string | number;
1127
+ severity: "error" | "warning";
1128
+ message?: string | undefined;
1129
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1130
+ } | undefined;
1131
+ max_dead_exports_percent?: {
1132
+ threshold: string | number;
1133
+ severity: "error" | "warning";
1134
+ message?: string | undefined;
1135
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1136
+ } | undefined;
1137
+ max_tech_debt_grade?: {
1138
+ threshold: string | number;
1139
+ severity: "error" | "warning";
1140
+ message?: string | undefined;
1141
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1142
+ } | undefined;
1143
+ max_security_critical_findings?: {
1144
+ threshold: string | number;
1145
+ severity: "error" | "warning";
1146
+ message?: string | undefined;
1147
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1148
+ } | undefined;
1149
+ max_antipattern_count?: {
1150
+ threshold: string | number;
1151
+ severity: "error" | "warning";
1152
+ message?: string | undefined;
1153
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1154
+ } | undefined;
1155
+ max_code_smell_count?: {
1156
+ threshold: string | number;
1157
+ severity: "error" | "warning";
1158
+ message?: string | undefined;
1159
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1160
+ } | undefined;
1161
+ }, {
1162
+ max_cyclomatic_complexity?: {
1163
+ threshold: string | number;
1164
+ message?: string | undefined;
1165
+ severity?: "error" | "warning" | undefined;
1166
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1167
+ } | undefined;
1168
+ max_coupling_instability?: {
1169
+ threshold: string | number;
1170
+ message?: string | undefined;
1171
+ severity?: "error" | "warning" | undefined;
1172
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1173
+ } | undefined;
1174
+ max_circular_import_chains?: {
1175
+ threshold: string | number;
1176
+ message?: string | undefined;
1177
+ severity?: "error" | "warning" | undefined;
1178
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1179
+ } | undefined;
1180
+ max_dead_exports_percent?: {
1181
+ threshold: string | number;
1182
+ message?: string | undefined;
1183
+ severity?: "error" | "warning" | undefined;
1184
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1185
+ } | undefined;
1186
+ max_tech_debt_grade?: {
1187
+ threshold: string | number;
1188
+ message?: string | undefined;
1189
+ severity?: "error" | "warning" | undefined;
1190
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1191
+ } | undefined;
1192
+ max_security_critical_findings?: {
1193
+ threshold: string | number;
1194
+ message?: string | undefined;
1195
+ severity?: "error" | "warning" | undefined;
1196
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1197
+ } | undefined;
1198
+ max_antipattern_count?: {
1199
+ threshold: string | number;
1200
+ message?: string | undefined;
1201
+ severity?: "error" | "warning" | undefined;
1202
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1203
+ } | undefined;
1204
+ max_code_smell_count?: {
1205
+ threshold: string | number;
1206
+ message?: string | undefined;
1207
+ severity?: "error" | "warning" | undefined;
1208
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1209
+ } | undefined;
1210
+ }>>;
1211
+ }, "strip", z.ZodTypeAny, {
1212
+ enabled: boolean;
1213
+ fail_on: "error" | "warning" | "none";
1214
+ rules: {
1215
+ max_cyclomatic_complexity?: {
1216
+ threshold: string | number;
1217
+ severity: "error" | "warning";
1218
+ message?: string | undefined;
1219
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1220
+ } | undefined;
1221
+ max_coupling_instability?: {
1222
+ threshold: string | number;
1223
+ severity: "error" | "warning";
1224
+ message?: string | undefined;
1225
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1226
+ } | undefined;
1227
+ max_circular_import_chains?: {
1228
+ threshold: string | number;
1229
+ severity: "error" | "warning";
1230
+ message?: string | undefined;
1231
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1232
+ } | undefined;
1233
+ max_dead_exports_percent?: {
1234
+ threshold: string | number;
1235
+ severity: "error" | "warning";
1236
+ message?: string | undefined;
1237
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1238
+ } | undefined;
1239
+ max_tech_debt_grade?: {
1240
+ threshold: string | number;
1241
+ severity: "error" | "warning";
1242
+ message?: string | undefined;
1243
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1244
+ } | undefined;
1245
+ max_security_critical_findings?: {
1246
+ threshold: string | number;
1247
+ severity: "error" | "warning";
1248
+ message?: string | undefined;
1249
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1250
+ } | undefined;
1251
+ max_antipattern_count?: {
1252
+ threshold: string | number;
1253
+ severity: "error" | "warning";
1254
+ message?: string | undefined;
1255
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1256
+ } | undefined;
1257
+ max_code_smell_count?: {
1258
+ threshold: string | number;
1259
+ severity: "error" | "warning";
1260
+ message?: string | undefined;
1261
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1262
+ } | undefined;
1263
+ };
1264
+ }, {
1265
+ enabled?: boolean | undefined;
1266
+ fail_on?: "error" | "warning" | "none" | undefined;
1267
+ rules?: {
1268
+ max_cyclomatic_complexity?: {
1269
+ threshold: string | number;
1270
+ message?: string | undefined;
1271
+ severity?: "error" | "warning" | undefined;
1272
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1273
+ } | undefined;
1274
+ max_coupling_instability?: {
1275
+ threshold: string | number;
1276
+ message?: string | undefined;
1277
+ severity?: "error" | "warning" | undefined;
1278
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1279
+ } | undefined;
1280
+ max_circular_import_chains?: {
1281
+ threshold: string | number;
1282
+ message?: string | undefined;
1283
+ severity?: "error" | "warning" | undefined;
1284
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1285
+ } | undefined;
1286
+ max_dead_exports_percent?: {
1287
+ threshold: string | number;
1288
+ message?: string | undefined;
1289
+ severity?: "error" | "warning" | undefined;
1290
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1291
+ } | undefined;
1292
+ max_tech_debt_grade?: {
1293
+ threshold: string | number;
1294
+ message?: string | undefined;
1295
+ severity?: "error" | "warning" | undefined;
1296
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1297
+ } | undefined;
1298
+ max_security_critical_findings?: {
1299
+ threshold: string | number;
1300
+ message?: string | undefined;
1301
+ severity?: "error" | "warning" | undefined;
1302
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1303
+ } | undefined;
1304
+ max_antipattern_count?: {
1305
+ threshold: string | number;
1306
+ message?: string | undefined;
1307
+ severity?: "error" | "warning" | undefined;
1308
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1309
+ } | undefined;
1310
+ max_code_smell_count?: {
1311
+ threshold: string | number;
1312
+ message?: string | undefined;
1313
+ severity?: "error" | "warning" | undefined;
1314
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1315
+ } | undefined;
1316
+ } | undefined;
1317
+ }>>;
976
1318
  tools: z.ZodOptional<z.ZodObject<{
977
1319
  preset: z.ZodDefault<z.ZodString>;
978
1320
  include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
979
1321
  exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
980
- descriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1322
+ descriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>;
981
1323
  }, "strip", z.ZodTypeAny, {
982
1324
  preset: string;
983
1325
  include?: string[] | undefined;
984
1326
  exclude?: string[] | undefined;
985
- descriptions?: Record<string, string> | undefined;
1327
+ descriptions?: Record<string, string | Record<string, string>> | undefined;
986
1328
  }, {
987
1329
  include?: string[] | undefined;
988
1330
  exclude?: string[] | undefined;
989
1331
  preset?: string | undefined;
990
- descriptions?: Record<string, string> | undefined;
1332
+ descriptions?: Record<string, string | Record<string, string>> | undefined;
1333
+ }>>;
1334
+ watch: z.ZodDefault<z.ZodObject<{
1335
+ enabled: z.ZodDefault<z.ZodBoolean>;
1336
+ debounceMs: z.ZodDefault<z.ZodNumber>;
1337
+ }, "strip", z.ZodTypeAny, {
1338
+ enabled: boolean;
1339
+ debounceMs: number;
1340
+ }, {
1341
+ enabled?: boolean | undefined;
1342
+ debounceMs?: number | undefined;
991
1343
  }>>;
992
1344
  }, "strip", z.ZodTypeAny, {
993
1345
  root: string;
@@ -997,6 +1349,10 @@ declare const TraceMcpConfigSchema: z.ZodObject<{
997
1349
  include: string[];
998
1350
  exclude: string[];
999
1351
  plugins: string[];
1352
+ watch: {
1353
+ enabled: boolean;
1354
+ debounceMs: number;
1355
+ };
1000
1356
  frameworks?: {
1001
1357
  laravel?: {
1002
1358
  graceful_degradation: boolean;
@@ -1090,11 +1446,65 @@ declare const TraceMcpConfigSchema: z.ZodObject<{
1090
1446
  auto_federation: boolean;
1091
1447
  contract_globs?: string[] | undefined;
1092
1448
  } | undefined;
1449
+ quality_gates?: {
1450
+ enabled: boolean;
1451
+ fail_on: "error" | "warning" | "none";
1452
+ rules: {
1453
+ max_cyclomatic_complexity?: {
1454
+ threshold: string | number;
1455
+ severity: "error" | "warning";
1456
+ message?: string | undefined;
1457
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1458
+ } | undefined;
1459
+ max_coupling_instability?: {
1460
+ threshold: string | number;
1461
+ severity: "error" | "warning";
1462
+ message?: string | undefined;
1463
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1464
+ } | undefined;
1465
+ max_circular_import_chains?: {
1466
+ threshold: string | number;
1467
+ severity: "error" | "warning";
1468
+ message?: string | undefined;
1469
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1470
+ } | undefined;
1471
+ max_dead_exports_percent?: {
1472
+ threshold: string | number;
1473
+ severity: "error" | "warning";
1474
+ message?: string | undefined;
1475
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1476
+ } | undefined;
1477
+ max_tech_debt_grade?: {
1478
+ threshold: string | number;
1479
+ severity: "error" | "warning";
1480
+ message?: string | undefined;
1481
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1482
+ } | undefined;
1483
+ max_security_critical_findings?: {
1484
+ threshold: string | number;
1485
+ severity: "error" | "warning";
1486
+ message?: string | undefined;
1487
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1488
+ } | undefined;
1489
+ max_antipattern_count?: {
1490
+ threshold: string | number;
1491
+ severity: "error" | "warning";
1492
+ message?: string | undefined;
1493
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1494
+ } | undefined;
1495
+ max_code_smell_count?: {
1496
+ threshold: string | number;
1497
+ severity: "error" | "warning";
1498
+ message?: string | undefined;
1499
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1500
+ } | undefined;
1501
+ };
1502
+ } | undefined;
1093
1503
  tools?: {
1094
1504
  preset: string;
1095
1505
  include?: string[] | undefined;
1096
1506
  exclude?: string[] | undefined;
1097
- descriptions?: Record<string, string> | undefined;
1507
+ descriptions?: Record<string, string | Record<string, string>> | undefined;
1098
1508
  } | undefined;
1099
1509
  }, {
1100
1510
  root?: string | undefined;
@@ -1197,11 +1607,69 @@ declare const TraceMcpConfigSchema: z.ZodObject<{
1197
1607
  auto_federation?: boolean | undefined;
1198
1608
  contract_globs?: string[] | undefined;
1199
1609
  } | undefined;
1610
+ quality_gates?: {
1611
+ enabled?: boolean | undefined;
1612
+ fail_on?: "error" | "warning" | "none" | undefined;
1613
+ rules?: {
1614
+ max_cyclomatic_complexity?: {
1615
+ threshold: string | number;
1616
+ message?: string | undefined;
1617
+ severity?: "error" | "warning" | undefined;
1618
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1619
+ } | undefined;
1620
+ max_coupling_instability?: {
1621
+ threshold: string | number;
1622
+ message?: string | undefined;
1623
+ severity?: "error" | "warning" | undefined;
1624
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1625
+ } | undefined;
1626
+ max_circular_import_chains?: {
1627
+ threshold: string | number;
1628
+ message?: string | undefined;
1629
+ severity?: "error" | "warning" | undefined;
1630
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1631
+ } | undefined;
1632
+ max_dead_exports_percent?: {
1633
+ threshold: string | number;
1634
+ message?: string | undefined;
1635
+ severity?: "error" | "warning" | undefined;
1636
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1637
+ } | undefined;
1638
+ max_tech_debt_grade?: {
1639
+ threshold: string | number;
1640
+ message?: string | undefined;
1641
+ severity?: "error" | "warning" | undefined;
1642
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1643
+ } | undefined;
1644
+ max_security_critical_findings?: {
1645
+ threshold: string | number;
1646
+ message?: string | undefined;
1647
+ severity?: "error" | "warning" | undefined;
1648
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1649
+ } | undefined;
1650
+ max_antipattern_count?: {
1651
+ threshold: string | number;
1652
+ message?: string | undefined;
1653
+ severity?: "error" | "warning" | undefined;
1654
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1655
+ } | undefined;
1656
+ max_code_smell_count?: {
1657
+ threshold: string | number;
1658
+ message?: string | undefined;
1659
+ severity?: "error" | "warning" | undefined;
1660
+ scope?: "all" | "new_symbols" | "changed_symbols" | undefined;
1661
+ } | undefined;
1662
+ } | undefined;
1663
+ } | undefined;
1200
1664
  tools?: {
1201
1665
  include?: string[] | undefined;
1202
1666
  exclude?: string[] | undefined;
1203
1667
  preset?: string | undefined;
1204
- descriptions?: Record<string, string> | undefined;
1668
+ descriptions?: Record<string, string | Record<string, string>> | undefined;
1669
+ } | undefined;
1670
+ watch?: {
1671
+ enabled?: boolean | undefined;
1672
+ debounceMs?: number | undefined;
1205
1673
  } | undefined;
1206
1674
  }>;
1207
1675
  type TraceMcpConfig = z.infer<typeof TraceMcpConfigSchema>;