camouf 0.6.0 → 0.6.2

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":"analyze.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/analyze.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,eAAO,MAAM,cAAc,SA6EvB,CAAC"}
1
+ {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/analyze.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,eAAO,MAAM,cAAc,SA0FvB,CAAC"}
@@ -34,6 +34,20 @@ export const analyzeCommand = new Command('analyze')
34
34
  const scanner = new ProjectScanner(config);
35
35
  const analyzer = new DependencyAnalyzer(config);
36
36
  const visualizer = new ArchitectureVisualizer(config);
37
+ // Set up scan progress reporting
38
+ scanner.onProgress(({ current, total, file, phase }) => {
39
+ if (phase === 'discovering') {
40
+ spinner.text = 'Discovering files...';
41
+ }
42
+ else if (phase === 'parsing') {
43
+ const pct = Math.round((current / total) * 100);
44
+ const shortFile = file.length > 50 ? '...' + file.slice(-47) : file;
45
+ spinner.text = `Scanning [${current}/${total}] (${pct}%) ${shortFile}`;
46
+ }
47
+ else if (phase === 'building-graph') {
48
+ spinner.text = 'Building dependency graph...';
49
+ }
50
+ });
37
51
  // Scan project
38
52
  const graph = await scanner.scan();
39
53
  spinner.succeed(`Scanned ${graph.nodeCount()} files`);
@@ -1 +1 @@
1
- {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../src/cli/commands/analyze.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;KACjD,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;KAC3D,MAAM,CAAC,kBAAkB,EAAE,uCAAuC,EAAE,GAAG,CAAC;KACxE,MAAM,CAAC,gBAAgB,EAAE,8CAA8C,CAAC;KACxE,MAAM,CAAC,iBAAiB,EAAE,0CAA0C,CAAC;KACrE,MAAM,CAAC,mBAAmB,EAAE,wCAAwC,EAAE,MAAM,CAAC;KAC7E,MAAM,CAAC,WAAW,EAAE,kCAAkC,CAAC;KACvD,MAAM,CAAC,YAAY,EAAE,kCAAkC,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,GAAG,CAAC,0BAA0B,CAAC,CAAC,KAAK,EAAE,CAAC;IAExD,IAAI,CAAC;QACH,qBAAqB;QACrB,MAAM,aAAa,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE9D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,wBAAwB;QACxB,OAAO,CAAC,IAAI,GAAG,qBAAqB,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAEtD,eAAe;QACf,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,CAAC,OAAO,CAAC,WAAW,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEtD,uBAAuB;QACvB,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE;YAC7C,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;YACrC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,cAAc,EAAE,OAAO,CAAC,OAAO;YAC/B,eAAe,EAAE,OAAO,CAAC,QAAQ;SAClC,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAEhD,yBAAyB;QACzB,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7C,MAAM,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,OAAO,CAAC,MAAM,IAAI,iBAAiB;SAChD,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,8BAA8B,OAAO,CAAC,MAAM,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAErF,gBAAgB;QAChB,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,kBAAkB,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,yBAAyB,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC3E,MAAM,CAAC,IAAI,CAAC,4BAA4B,QAAQ,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;QACjF,MAAM,CAAC,IAAI,CAAC,uBAAuB,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAElF,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YACrD,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;gBACvD,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,UAAU,cAAc,CAAC,CAAC;YACpF,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACnC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;gBAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,EAAE,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAElB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,oBAAqB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../src/cli/commands/analyze.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/validate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,eAAO,MAAM,eAAe,SA4FxB,CAAC"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/validate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,eAAO,MAAM,eAAe,SA4GxB,CAAC"}
@@ -45,6 +45,29 @@ export const validateCommand = new Command('validate')
45
45
  const enabledRules = options.rules.split(',');
46
46
  ruleEngine.filterRules(enabledRules);
47
47
  }
48
+ // Set up scan progress reporting
49
+ scanner.onProgress(({ current, total, file, phase }) => {
50
+ if (phase === 'discovering') {
51
+ if (spinner)
52
+ spinner.text = 'Discovering files...';
53
+ else if (isCIMode)
54
+ Logger.debug('Discovering files...');
55
+ }
56
+ else if (phase === 'parsing') {
57
+ const pct = Math.round((current / total) * 100);
58
+ const shortFile = file.length > 50 ? '...' + file.slice(-47) : file;
59
+ if (spinner)
60
+ spinner.text = `Scanning [${current}/${total}] (${pct}%) ${shortFile}`;
61
+ else if (isCIMode)
62
+ Logger.debug(`Scanning [${current}/${total}] ${file}`);
63
+ }
64
+ else if (phase === 'building-graph') {
65
+ if (spinner)
66
+ spinner.text = 'Building dependency graph...';
67
+ else if (isCIMode)
68
+ Logger.debug('Building dependency graph...');
69
+ }
70
+ });
48
71
  // Scan project
49
72
  const graph = await scanner.scan();
50
73
  if (spinner)
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/cli/commands/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/cli/commands/validate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;KACnD,WAAW,CAAC,+BAA+B,CAAC;KAC5C,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;KAC3D,MAAM,CAAC,iBAAiB,EAAE,sCAAsC,CAAC;KACjE,MAAM,CAAC,OAAO,EAAE,+CAA+C,CAAC;KAChE,MAAM,CAAC,mBAAmB,EAAE,kDAAkD,EAAE,MAAM,CAAC;KACvF,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;KACjD,MAAM,CAAC,sBAAsB,EAAE,+CAA+C,EAAE,OAAO,CAAC;KACxF,MAAM,CAAC,MAAM,EAAE,iEAAiE,CAAC;KACjF,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IACnM,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,KAAK,EAAE,CAAC;IAE1E,IAAI,CAAC;QACH,qBAAqB;QACrB,MAAM,aAAa,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE9D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;;gBACzE,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;YAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,wBAAwB;QACxB,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE/C,4BAA4B;QAC5B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC;QAED,iCAAiC;QACjC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YACrD,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;gBAC5B,IAAI,OAAO;oBAAE,OAAO,CAAC,IAAI,GAAG,sBAAsB,CAAC;qBAC9C,IAAI,QAAQ;oBAAE,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1D,CAAC;iBAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;gBAChD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACpE,IAAI,OAAO;oBAAE,OAAO,CAAC,IAAI,GAAG,aAAa,OAAO,IAAI,KAAK,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;qBAC/E,IAAI,QAAQ;oBAAE,MAAM,CAAC,KAAK,CAAC,aAAa,OAAO,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC;YAC5E,CAAC;iBAAM,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;gBACtC,IAAI,OAAO;oBAAE,OAAO,CAAC,IAAI,GAAG,8BAA8B,CAAC;qBACtD,IAAI,QAAQ;oBAAE,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,eAAe;QACf,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,OAAO;YAAE,OAAO,CAAC,OAAO,CAAC,WAAW,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEnE,WAAW;QACX,IAAI,OAAO;YAAE,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAElE,wBAAwB;QACxB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,GAAG,wBAAwB,CAAC;YACrD,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACnD,IAAI,OAAO;gBAAE,OAAO,CAAC,OAAO,CAAC,WAAW,KAAK,aAAa,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAE5B,iBAAiB;QACjB,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE;YACjD,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,OAAO,CAAC,MAAM;SAC3B,CAAC,CAAC;QAEH,gBAAgB;QAChB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,CAAC,OAAO,CAAC,qBAAqB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAED,sBAAsB;QACtB,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;QAEjC,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,SAAS,KAAK,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,UAAU,GAAG,IAAI,CAAC;QACnE,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YAAE,UAAU,GAAG,IAAI,CAAC;QAC/F,IAAI,SAAS,KAAK,MAAM,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC;YAAE,UAAU,GAAG,IAAI,CAAC;QAEjE,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAC7C,CAAC;IAEH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,sBAAuB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,6BAA8B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,YAAY,SAyIrB,CAAC"}
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,YAAY,SAsJrB,CAAC"}
@@ -51,6 +51,23 @@ export const watchCommand = new Command('watch')
51
51
  const enabledRules = options.rules.split(',');
52
52
  ruleEngine.filterRules(enabledRules);
53
53
  }
54
+ // Set up scan progress reporting
55
+ scanner.onProgress(({ current, total, file, phase }) => {
56
+ if (phase === 'discovering') {
57
+ if (spinner)
58
+ spinner.text = 'Discovering files...';
59
+ }
60
+ else if (phase === 'parsing') {
61
+ const pct = Math.round((current / total) * 100);
62
+ const shortFile = file.length > 50 ? '...' + file.slice(-47) : file;
63
+ if (spinner)
64
+ spinner.text = `Scanning [${current}/${total}] (${pct}%) ${shortFile}`;
65
+ }
66
+ else if (phase === 'building-graph') {
67
+ if (spinner)
68
+ spinner.text = 'Building dependency graph...';
69
+ }
70
+ });
54
71
  // Initial scan
55
72
  if (options.initial !== false) {
56
73
  if (spinner)
@@ -1 +1 @@
1
- {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KAC7C,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;KAC3D,MAAM,CAAC,cAAc,EAAE,yBAAyB,CAAC;KACjD,MAAM,CAAC,iBAAiB,EAAE,+CAA+C,EAAE,KAAK,CAAC;KACjF,MAAM,CAAC,iBAAiB,EAAE,sCAAsC,CAAC;KACjE,MAAM,CAAC,qBAAqB,EAAE,+BAA+B,CAAC;KAC9D,MAAM,CAAC,mBAAmB,EAAE,8BAA8B,EAAE,MAAM,CAAC;KACnE,MAAM,CAAC,MAAM,EAAE,iEAAiE,CAAC;KACjF,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC;IACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,IAAI,cAAc,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IAC7F,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,KAAK,EAAE,CAAC;IAE1E,IAAI,CAAC;QACH,qBAAqB;QACrB,MAAM,aAAa,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE9D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;;gBACzE,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;YAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,GAAG,4BAA4B,CAAC;QAEzD,wBAAwB;QACxB,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE;YACtC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YACxC,gBAAgB,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC;SAC7C,CAAC,CAAC;QAEH,4BAA4B;QAC5B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC;QAED,iCAAiC;QACjC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YACrD,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;gBAC5B,IAAI,OAAO;oBAAE,OAAO,CAAC,IAAI,GAAG,sBAAsB,CAAC;YACrD,CAAC;iBAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;gBAChD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACpE,IAAI,OAAO;oBAAE,OAAO,CAAC,IAAI,GAAG,aAAa,OAAO,IAAI,KAAK,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;YACtF,CAAC;iBAAM,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;gBACtC,IAAI,OAAO;oBAAE,OAAO,CAAC,IAAI,GAAG,8BAA8B,CAAC;YAC7D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,eAAe;QACf,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC9B,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,GAAG,4BAA4B,CAAC;YACzD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YAEnC,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,GAAG,+BAA+B,CAAC;YAC5D,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;YAC/C,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAElE,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAE5B,IAAI,cAAc,EAAE,CAAC;gBACnB,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAC9B,CAAC;QAED,qBAAqB;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE;YAClD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,aAAa,UAAU,KAAK,QAAQ,EAAE,CAAC,CAAC;YACtD,CAAC;YAED,IAAI,CAAC;gBACH,uBAAuB;gBACvB,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACpE,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;gBAC/C,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;gBAEvF,IAAI,cAAc,EAAE,CAAC;oBACnB,QAAQ,CAAC,uBAAuB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACN,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC1B,MAAM,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,MAAM,gBAAgB,CAAC,CAAC;oBAC7D,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;oBAC1C,CAAC;oBACD,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,cAAc,EAAE,CAAC;oBACnB,OAAO,CAAC,KAAK,CAAC,2BAA2B,QAAQ,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;gBACpF,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,KAAK,CAAC,mBAAmB,QAAQ,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC5B,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,CAAC,KAAK,CAAC,0BAA0B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,kBAAkB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,iBAAiB;QACjB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QAEtB,2BAA2B;QAC3B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC9B,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC9C,CAAC;YACD,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YAErB,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;YACtC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,sBAAsB,OAAO,CAAC,KAAK,mBAAmB,CAAC,CAAC;gBACpE,MAAM,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,MAAM,eAAe,OAAO,CAAC,QAAQ,WAAW,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;YACrG,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,6BAA6B,OAAO,CAAC,KAAK,uBAAuB,CAAC,CAAC;YACjF,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IAEL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,iBAAkB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,yBAA0B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Version and metadata for Camouf CLI
3
3
  */
4
- export declare const version = "0.6.0";
4
+ export declare const version = "0.6.2";
5
5
  export declare const name = "camouf";
6
6
  export declare const description = "Architecture guardrails for AI-generated code";
7
7
  export declare const metadata: {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Version and metadata for Camouf CLI
3
3
  */
4
- export const version = '0.6.0';
4
+ export const version = '0.6.2';
5
5
  export const name = 'camouf';
6
6
  export const description = 'Architecture guardrails for AI-generated code';
7
7
  export const metadata = {
@@ -28,6 +28,21 @@ interface FunctionSignatureConfig extends RuleConfig {
28
28
  checkTypeFields?: boolean;
29
29
  /** Generate quick-fix commands */
30
30
  generateQuickFixes?: boolean;
31
+ /**
32
+ * Patterns to ignore in type field access checks.
33
+ * Supports exact matches ("node.data") and wildcards ("event.*", "*.metaKey").
34
+ */
35
+ ignoreFieldPatterns?: string[];
36
+ /**
37
+ * Automatically ignore field access on objects imported from external packages.
38
+ * Default: true
39
+ */
40
+ ignoreExternalImports?: boolean;
41
+ /**
42
+ * Additional object variable names to skip during field access checks.
43
+ * These are typically variables from external libraries (e.g. "node" from ReactFlow).
44
+ */
45
+ externalLibraryObjects?: string[];
31
46
  }
32
47
  export declare class FunctionSignatureMatchingRule implements IRule {
33
48
  readonly id = "function-signature-matching";
@@ -41,6 +56,7 @@ export declare class FunctionSignatureMatchingRule implements IRule {
41
56
  private exportedTypes;
42
57
  private mismatches;
43
58
  private mismatchCounter;
59
+ private externalImportVars;
44
60
  configure(options: Partial<FunctionSignatureConfig>): void;
45
61
  check(context: RuleContext): Promise<RuleResult>;
46
62
  /**
@@ -62,12 +78,26 @@ export declare class FunctionSignatureMatchingRule implements IRule {
62
78
  private checkParameterMatch;
63
79
  private checkNamedArguments;
64
80
  private checkTypeFieldAccess;
81
+ /**
82
+ * Extract variable names that are imported from external (non-relative) packages.
83
+ * These are objects from node_modules (e.g. ReactFlow, Express, Recharts).
84
+ */
85
+ private extractExternalImportVars;
86
+ /**
87
+ * Check if a field access matches any user-defined ignore pattern.
88
+ * Supports:
89
+ * - Exact: "node.data"
90
+ * - Object wildcard: "event.*" (any field on event)
91
+ * - Field wildcard: "*.metaKey" (metaKey on any object)
92
+ */
93
+ private matchesIgnorePattern;
65
94
  /**
66
95
  * Find similar type fields using enhanced matching strategies
67
96
  */
68
97
  private findSimilarFields;
69
98
  /**
70
99
  * Check if the field access is a built-in JavaScript/TypeScript pattern
100
+ * or a well-known external library object pattern.
71
101
  */
72
102
  private isBuiltinObjectAccess;
73
103
  private static readonly SYNONYMS;
@@ -1 +1 @@
1
- {"version":3,"file":"function-signature-matching.rule.d.ts","sourceRoot":"","sources":["../../../../src/core/rules/builtin/function-signature-matching.rule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAOrG,UAAU,uBAAwB,SAAQ,UAAU;IAClD,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,iDAAiD;IACjD,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,kDAAkD;IAClD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,wDAAwD;IACxD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qCAAqC;IACrC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,6BAA6B;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kCAAkC;IAClC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AA4ED,qBAAa,6BAA8B,YAAW,KAAK;IACzD,QAAQ,CAAC,EAAE,iCAAiC;IAC5C,QAAQ,CAAC,IAAI,iCAAiC;IAC9C,QAAQ,CAAC,WAAW,mGAAmG;IACvH,QAAQ,CAAC,QAAQ,EAAG,OAAO,CAAU;IACrC,QAAQ,CAAC,IAAI,WAAgE;IAC7E,QAAQ,CAAC,mBAAmB,QAAQ;IAEpC,OAAO,CAAC,MAAM,CAWZ;IAGF,OAAO,CAAC,iBAAiB,CAA4C;IACrE,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,eAAe,CAAK;IAE5B,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI;IAIpD,KAAK,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IA0DtD;;;OAGG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IA+D5E;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,sBAAsB;IAuC9B,OAAO,CAAC,yBAAyB;IA2CjC,OAAO,CAAC,kBAAkB;IAyD1B,OAAO,CAAC,eAAe;IAiCvB,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,kBAAkB;IAiE1B,OAAO,CAAC,mBAAmB;IAgD3B,OAAO,CAAC,mBAAmB;IA8C3B,OAAO,CAAC,oBAAoB;IAiE5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAe7B;IAGH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAGtC;IAEF,OAAO,CAAC,oBAAoB;IAuB5B,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,mBAAmB;IAW3B;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IA0BnC;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IA8BvC;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IAatC;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,mBAAmB;IAgC3B,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,sBAAsB;IAsB9B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,eAAe;IA+BvB,gBAAgB,IAAI,iBAAiB;CA+DtC"}
1
+ {"version":3,"file":"function-signature-matching.rule.d.ts","sourceRoot":"","sources":["../../../../src/core/rules/builtin/function-signature-matching.rule.ts"],"names":[],"mappings":"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"}
@@ -33,12 +33,17 @@ export class FunctionSignatureMatchingRule {
33
33
  checkParameterNames: true,
34
34
  checkTypeFields: true,
35
35
  generateQuickFixes: true,
36
+ ignoreFieldPatterns: [],
37
+ ignoreExternalImports: true,
38
+ externalLibraryObjects: [],
36
39
  };
37
40
  // Cache for parsed exports
38
41
  exportedFunctions = new Map();
39
42
  exportedTypes = new Map();
40
43
  mismatches = [];
41
44
  mismatchCounter = 0;
45
+ // Track which variable names are imported from external packages (per file)
46
+ externalImportVars = new Set();
42
47
  configure(options) {
43
48
  this.config = { ...this.config, ...options };
44
49
  }
@@ -324,6 +329,11 @@ export class FunctionSignatureMatchingRule {
324
329
  // ==========================================================================
325
330
  checkFileForMismatches(filePath, content, violations) {
326
331
  const lines = content.split('\n');
332
+ // Extract external imports for this file (used to skip external lib field access)
333
+ if (this.config.ignoreExternalImports) {
334
+ this.externalImportVars.clear();
335
+ this.extractExternalImportVars(lines);
336
+ }
327
337
  // Check function calls
328
338
  this.checkFunctionCalls(filePath, lines, violations);
329
339
  // Check type field access
@@ -445,7 +455,6 @@ export class FunctionSignatureMatchingRule {
445
455
  typeFieldMap.set(`${typeName}.${field.name}`, { typeName, field, typeInfo });
446
456
  }
447
457
  }
448
- // Build flat list of field names for matching
449
458
  // Build flat list of field names for matching (used implicitly via typeFieldMap)
450
459
  // Check for field access patterns that might not match
451
460
  for (let i = 0; i < lines.length; i++) {
@@ -463,6 +472,15 @@ export class FunctionSignatureMatchingRule {
463
472
  // Skip common JS builtins like console.log, Promise.resolve, etc.
464
473
  if (this.isBuiltinObjectAccess(objectVar, fieldName))
465
474
  continue;
475
+ // Skip if matching user-defined ignore patterns
476
+ if (this.matchesIgnorePattern(objectVar, fieldName))
477
+ continue;
478
+ // Skip if object comes from an external import
479
+ if (this.config.ignoreExternalImports && this.externalImportVars.has(objectVar))
480
+ continue;
481
+ // Skip if object is in the user-defined externalLibraryObjects list
482
+ if (this.config.externalLibraryObjects?.includes(objectVar))
483
+ continue;
466
484
  // Find best matching field using enhanced similarity
467
485
  const similar = this.findSimilarFields(fieldName, typeFieldMap);
468
486
  if (similar.length > 0) {
@@ -484,6 +502,90 @@ export class FunctionSignatureMatchingRule {
484
502
  }
485
503
  }
486
504
  }
505
+ // ==========================================================================
506
+ // External Import & Ignore Pattern Helpers
507
+ // ==========================================================================
508
+ /**
509
+ * Extract variable names that are imported from external (non-relative) packages.
510
+ * These are objects from node_modules (e.g. ReactFlow, Express, Recharts).
511
+ */
512
+ extractExternalImportVars(lines) {
513
+ for (const line of lines) {
514
+ const trimmed = line.trim();
515
+ if (!trimmed.startsWith('import'))
516
+ continue;
517
+ // Only flag non-relative imports (external packages)
518
+ // Skip: import from './...' or '../...'
519
+ const fromMatch = trimmed.match(/from\s+['"]([^'"]+)['"]/);
520
+ if (!fromMatch)
521
+ continue;
522
+ const importPath = fromMatch[1];
523
+ if (importPath.startsWith('.') || importPath.startsWith('/'))
524
+ continue;
525
+ // Named imports: import { a, b as c } from 'pkg'
526
+ const namedMatch = trimmed.match(/import\s*\{([^}]+)\}/);
527
+ if (namedMatch) {
528
+ const names = namedMatch[1].split(',');
529
+ for (const name of names) {
530
+ const parts = name.trim().split(/\s+as\s+/);
531
+ const localName = (parts[1] || parts[0]).trim();
532
+ if (localName)
533
+ this.externalImportVars.add(localName);
534
+ }
535
+ }
536
+ // Default import: import Xyz from 'pkg'
537
+ const defaultMatch = trimmed.match(/import\s+(\w+)\s+from/);
538
+ if (defaultMatch) {
539
+ this.externalImportVars.add(defaultMatch[1]);
540
+ }
541
+ // Namespace import: import * as xyz from 'pkg'
542
+ const namespaceMatch = trimmed.match(/import\s+\*\s+as\s+(\w+)\s+from/);
543
+ if (namespaceMatch) {
544
+ this.externalImportVars.add(namespaceMatch[1]);
545
+ }
546
+ // require: const xyz = require('pkg')
547
+ const requireMatch = trimmed.match(/(?:const|let|var)\s+(\w+)\s*=\s*require\s*\(\s*['"]([^'"]+)['"]\s*\)/);
548
+ if (requireMatch && !requireMatch[2].startsWith('.')) {
549
+ this.externalImportVars.add(requireMatch[1]);
550
+ }
551
+ // Destructured require: const { a, b } = require('pkg')
552
+ const destructuredRequire = trimmed.match(/(?:const|let|var)\s*\{([^}]+)\}\s*=\s*require\s*\(\s*['"]([^'"]+)['"]\s*\)/);
553
+ if (destructuredRequire && !destructuredRequire[2].startsWith('.')) {
554
+ const names = destructuredRequire[1].split(',');
555
+ for (const name of names) {
556
+ const parts = name.trim().split(/\s*:\s*/);
557
+ const localName = (parts[1] || parts[0]).trim();
558
+ if (localName)
559
+ this.externalImportVars.add(localName);
560
+ }
561
+ }
562
+ }
563
+ }
564
+ /**
565
+ * Check if a field access matches any user-defined ignore pattern.
566
+ * Supports:
567
+ * - Exact: "node.data"
568
+ * - Object wildcard: "event.*" (any field on event)
569
+ * - Field wildcard: "*.metaKey" (metaKey on any object)
570
+ */
571
+ matchesIgnorePattern(objectVar, fieldName) {
572
+ const patterns = this.config.ignoreFieldPatterns;
573
+ if (!patterns || patterns.length === 0)
574
+ return false;
575
+ const fullAccess = `${objectVar}.${fieldName}`;
576
+ for (const pattern of patterns) {
577
+ // Exact match
578
+ if (pattern === fullAccess)
579
+ return true;
580
+ // Wildcard matching
581
+ if (pattern.includes('*')) {
582
+ const regex = new RegExp('^' + pattern.replace(/\./g, '\\.').replace(/\*/g, '\\w+') + '$');
583
+ if (regex.test(fullAccess))
584
+ return true;
585
+ }
586
+ }
587
+ return false;
588
+ }
487
589
  /**
488
590
  * Find similar type fields using enhanced matching strategies
489
591
  */
@@ -508,14 +610,69 @@ export class FunctionSignatureMatchingRule {
508
610
  }
509
611
  /**
510
612
  * Check if the field access is a built-in JavaScript/TypeScript pattern
613
+ * or a well-known external library object pattern.
511
614
  */
512
615
  isBuiltinObjectAccess(objectVar, fieldName) {
513
- const builtinObjects = ['console', 'Math', 'JSON', 'Object', 'Array', 'Promise', 'Date', 'String', 'Number', 'Boolean', 'RegExp', 'Error', 'Symbol', 'Map', 'Set', 'WeakMap', 'WeakSet', 'Reflect', 'Proxy', 'process', 'Buffer', 'global', 'window', 'document', 'navigator'];
616
+ // Built-in JS/TS global objects
617
+ const builtinObjects = [
618
+ 'console', 'Math', 'JSON', 'Object', 'Array', 'Promise', 'Date', 'String',
619
+ 'Number', 'Boolean', 'RegExp', 'Error', 'Symbol', 'Map', 'Set', 'WeakMap',
620
+ 'WeakSet', 'Reflect', 'Proxy', 'process', 'Buffer', 'global', 'window',
621
+ 'document', 'navigator', 'localStorage', 'sessionStorage', 'location',
622
+ 'history', 'performance', 'crypto', 'Intl',
623
+ ];
514
624
  if (builtinObjects.includes(objectVar))
515
625
  return true;
516
- // Skip common method/property access
517
- const commonMethods = ['length', 'map', 'filter', 'reduce', 'forEach', 'find', 'some', 'every', 'includes', 'indexOf', 'slice', 'splice', 'concat', 'join', 'split', 'trim', 'toLowerCase', 'toUpperCase', 'toString', 'valueOf', 'keys', 'values', 'entries', 'push', 'pop', 'shift', 'unshift', 'sort', 'reverse', 'then', 'catch', 'finally', 'resolve', 'reject', 'all', 'race', 'prototype', 'constructor', 'call', 'apply', 'bind', 'log', 'error', 'warn', 'info', 'debug', 'table', 'json', 'body', 'headers', 'status', 'statusText', 'ok', 'text', 'get', 'set', 'has', 'delete', 'clear', 'size', 'add'];
518
- return commonMethods.includes(fieldName);
626
+ // Common external library / framework objects that should never be matched
627
+ // against internal API types
628
+ const externalLibObjects = [
629
+ // DOM / Browser events
630
+ 'event', 'e', 'ev', 'evt',
631
+ // Express / Koa / Fastify
632
+ 'req', 'res', 'ctx', 'request', 'response', 'next',
633
+ // React / ReactFlow
634
+ 'node', 'edge', 'props', 'ref', 'state',
635
+ // Node.js built-in modules
636
+ 'path', 'fs', 'os', 'http', 'https', 'url', 'util', 'stream', 'child',
637
+ // Common library objects
638
+ 'router', 'app', 'server', 'socket', 'io', 'db', 'client', 'connection',
639
+ 'schema', 'model', 'config', 'env', 'logger',
640
+ // Test frameworks
641
+ 'expect', 'assert', 'mock', 'jest', 'sinon', 'chai',
642
+ ];
643
+ if (externalLibObjects.includes(objectVar))
644
+ return true;
645
+ // Common method/property names that are part of JS/TS standard APIs
646
+ // or universally used field names unlikely to be internal API fields
647
+ const commonFields = [
648
+ 'length', 'map', 'filter', 'reduce', 'forEach', 'find', 'some', 'every',
649
+ 'includes', 'indexOf', 'slice', 'splice', 'concat', 'join', 'split',
650
+ 'trim', 'toLowerCase', 'toUpperCase', 'toString', 'valueOf', 'keys',
651
+ 'values', 'entries', 'push', 'pop', 'shift', 'unshift', 'sort', 'reverse',
652
+ 'then', 'catch', 'finally', 'resolve', 'reject', 'all', 'race',
653
+ 'prototype', 'constructor', 'call', 'apply', 'bind',
654
+ 'log', 'error', 'warn', 'info', 'debug', 'table',
655
+ 'json', 'body', 'headers', 'status', 'statusText', 'ok', 'text',
656
+ 'get', 'set', 'has', 'delete', 'clear', 'size', 'add',
657
+ // DOM event properties
658
+ 'target', 'currentTarget', 'preventDefault', 'stopPropagation',
659
+ 'key', 'keyCode', 'which', 'charCode', 'metaKey', 'ctrlKey',
660
+ 'shiftKey', 'altKey', 'clientX', 'clientY', 'pageX', 'pageY',
661
+ 'offsetX', 'offsetY', 'screenX', 'screenY', 'button', 'buttons',
662
+ 'type', 'bubbles', 'cancelable', 'timeStamp', 'isTrusted',
663
+ // React / component props
664
+ 'children', 'className', 'style', 'onClick', 'onChange', 'onSubmit',
665
+ 'ref', 'key', 'id', 'value', 'checked', 'disabled', 'placeholder',
666
+ 'current', 'setState', 'forceUpdate', 'render', 'componentDidMount',
667
+ // Node/graph objects (ReactFlow etc.)
668
+ 'source', 'target', 'sourceHandle', 'targetHandle', 'animated',
669
+ 'selected', 'dragging', 'position', 'parentNode', 'extent',
670
+ // Data access patterns
671
+ 'payload', 'result', 'results', 'items', 'rows', 'count',
672
+ 'message', 'code', 'success', 'failure', 'stack', 'cause',
673
+ 'name', 'label', 'title', 'description', 'content',
674
+ ];
675
+ return commonFields.includes(fieldName);
519
676
  }
520
677
  // ==========================================================================
521
678
  // Similarity Matching - Enhanced with Semantic Patterns
@@ -839,6 +996,24 @@ const email = response.email; // Correct - matches DTO`,
839
996
  description: 'Check type/interface field access for mismatches',
840
997
  default: true,
841
998
  },
999
+ {
1000
+ name: 'ignoreFieldPatterns',
1001
+ type: 'array',
1002
+ description: 'Patterns to ignore in field access checks. Supports exact ("node.data") and wildcards ("event.*", "*.metaKey")',
1003
+ default: [],
1004
+ },
1005
+ {
1006
+ name: 'ignoreExternalImports',
1007
+ type: 'boolean',
1008
+ description: 'Auto-skip field access on objects imported from external packages (node_modules)',
1009
+ default: true,
1010
+ },
1011
+ {
1012
+ name: 'externalLibraryObjects',
1013
+ type: 'array',
1014
+ description: 'Additional object variable names to skip (e.g. "node" from ReactFlow, "payload" from Recharts)',
1015
+ default: [],
1016
+ },
842
1017
  ],
843
1018
  relatedRules: ['contract-mismatch', 'type-safety'],
844
1019
  resources: [
@@ -1 +1 @@
1
- {"version":3,"file":"function-signature-matching.rule.js","sourceRoot":"","sources":["../../../../src/core/rules/builtin/function-signature-matching.rule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,+BAA+B;AAC/B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAiG7B,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E,MAAM,OAAO,6BAA6B;IAC/B,EAAE,GAAG,6BAA6B,CAAC;IACnC,IAAI,GAAG,6BAA6B,CAAC;IACrC,WAAW,GAAG,+FAA+F,CAAC;IAC9G,QAAQ,GAAG,OAAgB,CAAC;IAC5B,IAAI,GAAG,CAAC,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;IACpE,mBAAmB,GAAG,IAAI,CAAC;IAE5B,MAAM,GAA4B;QACxC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,OAAO;QACjB,iBAAiB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC;QACpE,iBAAiB,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC;QAC9E,iBAAiB,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC;QAC3D,mBAAmB,EAAE,GAAG;QACxB,eAAe,EAAE,CAAC;QAClB,mBAAmB,EAAE,IAAI;QACzB,eAAe,EAAE,IAAI;QACrB,kBAAkB,EAAE,IAAI;KACzB,CAAC;IAEF,2BAA2B;IACnB,iBAAiB,GAAkC,IAAI,GAAG,EAAE,CAAC;IAC7D,aAAa,GAA8B,IAAI,GAAG,EAAE,CAAC;IACrD,UAAU,GAAwB,EAAE,CAAC;IACrC,eAAe,GAAG,CAAC,CAAC;IAE5B,SAAS,CAAC,OAAyC;QACjD,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAoB;QAC9B,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAE3B,0BAA0B;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,IAAI,EAAE,CAAC;QAC7F,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,IAAI,EAAE,CAAC;QAC7F,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,IAAI,EAAE,CAAC;QAE7F,uDAAuD;QACvD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;YACxC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,wDAAwD;QACxD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;YACxC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAE5D,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;gBACzB,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO;YACL,UAAU;YACV,QAAQ,EAAE;gBACR,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,iBAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBAC9D,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;aACvD;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,OAAoB;QACpD,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QAEzB,yBAAyB;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,IAAI,EAAE,CAAC;QAC7F,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,IAAI,EAAE,CAAC;QAC7F,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,IAAI,EAAE,CAAC;QAE7F,0EAA0E;QAC1E,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvE,kDAAkD;YAClD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACzC,IAAI,CAAC,IAAI;oBAAE,SAAS;gBAEpB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;gBAClC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9C,IAAI,CAAC,OAAO;oBAAE,SAAS;gBAEvB,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,CAAC;oBACzC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpD,IAAI,OAAO,EAAE,CAAC;gBACZ,kDAAkD;gBAClD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gBACpC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE5D,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpD,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO;YACL,UAAU;YACV,QAAQ,EAAE;gBACR,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,iBAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBAC9D,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;aACvD;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,QAAgB;QAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAClD,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,oBAAoB;IACpB,6EAA6E;IAErE,cAAc,CAAC,QAAgB,EAAE,OAAe;QACtD,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAEO,sBAAsB,CAAC,QAAgB,EAAE,OAAe;QAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElC,wCAAwC;QACxC,2CAA2C;QAC3C,iDAAiD;QACjD,8CAA8C;QAC9C,MAAM,QAAQ,GAAG;YACf,sDAAsD;YACtD,2EAA2E;YAC3E,kEAAkE;SACnE,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAClC,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACtB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBACnD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAEvC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE;wBAC/B,IAAI;wBACJ,QAAQ;wBACR,IAAI,EAAE,CAAC,GAAG,CAAC;wBACX,UAAU;wBACV,OAAO;qBACR,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAEO,yBAAyB,CAAC,QAAgB,EAAE,KAAe;QACjE,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtB,uBAAuB;YACvB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACxD,IAAI,UAAU,EAAE,CAAC;gBACf,eAAe,GAAG,IAAI,CAAC;gBACvB,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC1B,UAAU,GAAG,CAAC,CAAC;YACjB,CAAC;YAED,IAAI,eAAe,EAAE,CAAC;gBACpB,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;gBAC9C,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;gBAE9C,2BAA2B;gBAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBACrF,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC7G,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;oBAClC,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;oBACjC,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,UAAU,EAAE,CAAC;oBAE9C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE;wBACnC,IAAI,EAAE,QAAQ;wBACd,QAAQ;wBACR,IAAI,EAAE,CAAC,GAAG,CAAC;wBACX,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;wBAC3C,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;qBAChC,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;oBACpB,eAAe,GAAG,KAAK,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,QAAgB,EAAE,OAAe;QAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElC,4CAA4C;QAC5C,yCAAyC;QACzC,IAAI,WAAW,GAAwB,IAAI,CAAC;QAC5C,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtB,0BAA0B;YAC1B,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAE/D,IAAI,cAAc,EAAE,CAAC;gBACnB,WAAW,GAAG;oBACZ,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;oBACvB,QAAQ;oBACR,IAAI,EAAE,CAAC,GAAG,CAAC;oBACX,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,EAAE;iBACX,CAAC;gBACF,UAAU,GAAG,CAAC,CAAC;YACjB,CAAC;iBAAM,IAAI,SAAS,EAAE,CAAC;gBACrB,WAAW,GAAG;oBACZ,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;oBAClB,QAAQ;oBACR,IAAI,EAAE,CAAC,GAAG,CAAC;oBACX,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,EAAE;iBACX,CAAC;gBACF,UAAU,GAAG,CAAC,CAAC;YACjB,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBAChB,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;gBAC9C,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;gBAE9C,iBAAiB;gBACjB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBAC/D,IAAI,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3C,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;wBACtB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;wBACnB,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;wBACzB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;qBAC7C,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,UAAU,IAAI,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oBACtD,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,SAAiB;QACvC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;QAEjC,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,uCAAuC;QACvC,yDAAyD;QACzD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAEtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,uBAAuB;YACvB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YAEnC,gCAAgC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACzE,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;oBACd,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;oBACpB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE;oBACtB,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE;iBAC/B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,6EAA6E;IAC7E,qBAAqB;IACrB,6EAA6E;IAErE,sBAAsB,CAAC,QAAgB,EAAE,OAAe,EAAE,UAAuB;QACvF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElC,uBAAuB;QACvB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAErD,0BAA0B;QAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAChC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,QAAgB,EAAE,KAAe,EAAE,UAAuB;QACnF,yDAAyD;QACzD,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;QAEjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtB,kCAAkC;YAClC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAChC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAChC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;gBAC5B,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YAE1C,+CAA+C;YAC/C,MAAM,WAAW,GAAG,6BAA6B,CAAC;YAClD,IAAI,KAAK,CAAC;YAEV,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACjD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;gBAE/B,2CAA2C;gBAC3C,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC;oBAAE,SAAS;gBAElD,2CAA2C;gBAC3C,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC3C,iCAAiC;oBACjC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;gBAClF,CAAC;qBAAM,CAAC;oBACN,wCAAwC;oBACxC,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;oBACtE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvB,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;wBAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBAE7C,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAE,CAAC;wBAE/D,MAAM,QAAQ,GAAsB;4BAClC,EAAE,EAAE,UAAU;4BACd,IAAI,EAAE,eAAe;4BACrB,QAAQ,EAAE,SAAS,CAAC,IAAI;4BACxB,KAAK,EAAE,UAAU;4BACjB,UAAU,EAAE,SAAS,CAAC,UAAU;4BAChC,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE;4BAC/D,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE;4BAC/C,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;4BACrC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC;yBACvF,CAAC;wBAEF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAE/B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAClC,QAAQ,EACR,4BAA4B,UAAU,iBAAiB,SAAS,CAAC,IAAI,kCAAkC,EACvG,CAAC,GAAG,CAAC,EACL,MAAM,EACN,cAAc,SAAS,CAAC,IAAI,6DAA6D,EACzF,QAAQ,CACT,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,mBAAmB,CACzB,QAAgB,EAChB,IAAY,EACZ,MAAc,EACd,YAAoB,EACpB,WAAmB,EACnB,UAAuB;QAEvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB;YAAE,OAAO;QAE7C,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE9D,uCAAuC;QACvC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,mBAAmB,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAEvD,uBAAuB;QACvB,MAAM,cAAc,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACzF,IAAI,QAAQ,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAE7C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAClC,QAAQ,EACR,8BAA8B,YAAY,aAAa,cAAc,CAAC,MAAM,4BAA4B,QAAQ,CAAC,MAAM,WAAW,EAClI,IAAI,EACJ,MAAM,EACN,wBAAwB,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAC3E;gBACE,EAAE,EAAE,UAAU;gBACd,IAAI,EAAE,iBAAiB;gBACvB,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;gBACvC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC9B,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE;gBAC/D,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;aACzC,CACF,CAAC,CAAC;QACL,CAAC;QAED,8DAA8D;QAC9D,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAEO,mBAAmB,CACzB,QAAgB,EAChB,IAAY,EACZ,MAAc,EACd,UAA4B,EAC5B,OAAe,EACf,UAAuB;QAEvB,gCAAgC;QAChC,MAAM,eAAe,GAAG,YAAY,CAAC;QACrC,IAAI,KAAK,CAAC;QAEV,OAAO,CAAC,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACxD,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAE/B,iCAAiC;YACjC,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;YAE9E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,+BAA+B;gBAC/B,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;gBAEnE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAoB,EAAE,CAAC;oBACpF,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAE7C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAClC,QAAQ,EACR,6BAA6B,aAAa,eAAe,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,4BAA4B,EACpG,IAAI,EACJ,MAAM,EACN,wBAAwB,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAC1C;wBACE,EAAE,EAAE,UAAU;wBACd,IAAI,EAAE,gBAAgB;wBACtB,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;wBACzB,KAAK,EAAE,aAAa;wBACpB,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE;wBAC/D,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;qBACzC,CACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,QAAgB,EAAE,KAAe,EAAE,UAAuB;QACrF,sCAAsC;QACtC,MAAM,YAAY,GAAG,IAAI,GAAG,EAA0E,CAAC;QAEvG,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACtD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpC,YAAY,CAAC,GAAG,CAAC,GAAG,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,iFAAiF;QAEjF,uDAAuD;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtB,gBAAgB;YAChB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YAE1E,gDAAgD;YAChD,MAAM,aAAa,GAAG,mBAAmB,CAAC;YAC1C,IAAI,KAAK,CAAC;YAEV,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACnD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;gBAE/B,kEAAkE;gBAClE,IAAI,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,SAAS,CAAC;oBAAE,SAAS;gBAE/D,qDAAqD;gBACrD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBAEhE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAE7C,MAAM,QAAQ,GAAsB;wBAClC,EAAE,EAAE,UAAU;wBACd,IAAI,EAAE,YAAY;wBAClB,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI;wBAC9B,KAAK,EAAE,SAAS;wBAChB,UAAU,EAAE,SAAS,CAAC,UAAU;wBAChC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE;wBAC/E,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE;wBAC/C,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;qBAC5F,CAAC;oBAEF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAE/B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAClC,QAAQ,EACR,yBAAyB,SAAS,IAAI,SAAS,mBAAmB,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,wBAAwB,EACpI,CAAC,GAAG,CAAC,EACL,MAAM,EACN,cAAc,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,EACrC,QAAQ,CACT,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB,CACvB,SAAiB,EACjB,YAAyF;QAEzF,MAAM,OAAO,GAA8F,EAAE,CAAC;QAE9G,KAAK,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC;YACtE,mCAAmC;YACnC,MAAM,YAAY,GAAG;gBACnB,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC3E,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC;gBACvD,IAAI,CAAC,+BAA+B,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC;gBAC3D,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC;aAC3D,CAAC;YAEF,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;YAEjD,iCAAiC;YACjC,IAAI,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAoB,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;gBAC7E,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,4CAA4C;QAC5C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,SAAiB,EAAE,SAAiB;QAChE,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAE/Q,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpD,qCAAqC;QACrC,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAEplB,OAAO,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,6EAA6E;IAC7E,wDAAwD;IACxD,6EAA6E;IAE7E,6CAA6C;IACrC,MAAM,CAAU,QAAQ,GAA0B,IAAI,GAAG,CAAC;QAChE,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAChE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC9B,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAClC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;KAChC,CAAC,CAAC;IAEH,mEAAmE;IAC3D,MAAM,CAAU,gBAAgB,GAAG;QACzC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU;QACzD,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS;KAC/D,CAAC;IAEM,oBAAoB,CAAC,IAAY,EAAE,UAAoB;QAC7D,MAAM,OAAO,GAAgD,EAAE,CAAC;QAEhE,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,qDAAqD;YACrD,MAAM,YAAY,GAAG;gBACnB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;gBACjE,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,KAAK,CAAC;gBAC7C,IAAI,CAAC,+BAA+B,CAAC,IAAI,EAAE,KAAK,CAAC;gBACjD,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,KAAK,CAAC;aACjD,CAAC;YAEF,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;YAEjD,IAAI,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAoB,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;gBAC7E,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;IAEO,kBAAkB,CAAC,IAAY,EAAE,UAAoB;QAC3D,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACrD,CAAC;IAEO,mBAAmB,CAAC,CAAS,EAAE,CAAS;QAC9C,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAE/C,uBAAuB;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QAE/C,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACK,2BAA2B,CAAC,CAAS,EAAE,CAAS;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAEtC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAEzD,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAExD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBAChD,UAAU,EAAE,CAAC;oBACb,MAAM;gBACR,CAAC;gBACD,6BAA6B;gBAC7B,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBAC/D,UAAU,IAAI,GAAG,CAAC,CAAC,4CAA4C;oBAC/D,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,UAAU,GAAG,QAAQ,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACK,+BAA+B,CAAC,aAAqB,EAAE,YAAoB;QACjF,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAEhD,mEAAmE;QACnE,+CAA+C;QAC/C,IAAI,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC5D,6CAA6C;YAC7C,IAAI,6BAA6B,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjF,OAAO,GAAG,CAAC,CAAC,wBAAwB;YACtC,CAAC;YACD,kDAAkD;YAClD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,mEAAmE;QACnE,kFAAkF;QAClF,IAAI,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACnF,OAAO,GAAG,CAAC;QACb,CAAC;QAED,oDAAoD;QACpD,IAAI,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;OAGG;IACK,8BAA8B,CAAC,CAAS,EAAE,CAAS;QACzD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAEzE,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAErD,MAAM,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7F,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;QAE9C,4CAA4C;QAC5C,OAAO,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;IAC1C,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,IAAY,EAAE,GAAgB;QAClD,KAAK,MAAM,SAAS,IAAI,GAAG,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC;gBAAE,OAAO,IAAI,CAAC;YACnD,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;gBAC9C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;QAChE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,CAAS,EAAE,CAAS;QACtC,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,6BAA6B,CAAC,QAAQ,EAAE,CAAC;YACrE,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;YACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC3C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,GAAW;QAChC,OAAO,GAAG;aACP,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;aACnC,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC;aACzC,KAAK,CAAC,SAAS,CAAC;aAChB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC;IAEO,mBAAmB,CAAC,CAAS,EAAE,CAAS;QAC9C,MAAM,MAAM,GAAe,EAAE,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CACrB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EACxB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EACpB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CACrB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,6EAA6E;IAC7E,uBAAuB;IACvB,6EAA6E;IAErE,cAAc,CACpB,EAAU,EACV,QAAgB,EAChB,IAAY,EACZ,OAAe,EACf,OAAe;QAEf,OAAO;YACL,EAAE;YACF,OAAO,EAAE,uBAAuB,EAAE,EAAE;YACpC,WAAW,EAAE,WAAW,OAAO,SAAS,OAAO,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE;YACxF,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE;oBAC1B,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE;oBACxB,OAAO,EAAE,EAAE,EAAE,uCAAuC;iBACrD,CAAC;SACH,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAAC,UAAuB;QACpD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACxC,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI;gBAChC,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACjC,CAAC;YAEF,IAAI,QAAQ,EAAE,QAAQ,EAAE,CAAC;gBACvB,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;gBACzB,SAAS,CAAC,QAAQ,GAAG;oBACnB,GAAG,SAAS,CAAC,QAAQ;oBACrB,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO;iBAC3C,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,UAAU;IACV,6EAA6E;IAErE,eAAe,CAAC,QAAgB,EAAE,WAAqB;QAC7D,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAClE,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC5B,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAC5D,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,aAAa,GAAG,CAAC,IAAI,cAAc,CAAC,UAAU,CAAC,GAAG,aAAa,GAAG,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,IAAY;QACrC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;YACvB,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU;YACzE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ;YACvE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO;YACzE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;YACpE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI;YACtD,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU;YAC7C,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe;YAC5D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS;YACnC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;YAC7D,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ;YAC9D,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ;YAC1D,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO;YACpD,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM;SACtE,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,OAAO,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAChE,CAAC;IAEO,eAAe,CACrB,IAAY,EACZ,OAAe,EACf,IAAY,EACZ,MAAe,EACf,UAAmB,EACnB,QAA4B;QAE5B,OAAO;YACL,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YACzE,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,OAAO;YACzC,OAAO;YACP,IAAI;YACJ,IAAI;YACJ,MAAM;YACN,UAAU;YACV,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ;YAC7B,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACnB,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,YAAY,EAAE,QAAQ,CAAC,IAAI;gBAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,eAAe,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO;aAC5C,CAAC,CAAC,CAAC,SAAS;SACd,CAAC;IACJ,CAAC;IAED,gBAAgB;QACd,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,WAAW;YACzB,OAAO,EAAE;;;;;;;;;;;;;;;OAeR,CAAC,IAAI,EAAE;YACR,QAAQ,EAAE;gBACR;oBACE,KAAK,EAAE,wBAAwB;oBAC/B,GAAG,EAAE;8CAC+B;oBACpC,IAAI,EAAE;qEACqD;oBAC3D,WAAW,EAAE,oEAAoE;iBAClF;gBACD;oBACE,KAAK,EAAE,qBAAqB;oBAC5B,GAAG,EAAE;4CAC6B;oBAClC,IAAI,EAAE;uDACuC;oBAC7C,WAAW,EAAE,kEAAkE;iBAChF;aACF;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,qBAAqB;oBAC3B,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8DAA8D;oBAC3E,OAAO,EAAE,GAAG;iBACb;gBACD;oBACE,IAAI,EAAE,qBAAqB;oBAC3B,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,+CAA+C;oBAC5D,OAAO,EAAE,IAAI;iBACd;gBACD;oBACE,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,kDAAkD;oBAC/D,OAAO,EAAE,IAAI;iBACd;aACF;YACD,YAAY,EAAE,CAAC,mBAAmB,EAAE,aAAa,CAAC;YAClD,SAAS,EAAE;gBACT,gFAAgF;aACjF;SACF,CAAC;IACJ,CAAC"}
1
+ {"version":3,"file":"function-signature-matching.rule.js","sourceRoot":"","sources":["../../../../src/core/rules/builtin/function-signature-matching.rule.ts"],"names":[],"mappings":"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"}
@@ -31,13 +31,29 @@ export interface DependencyGraph {
31
31
  successors(id: string): string[] | undefined;
32
32
  predecessors(id: string): string[] | undefined;
33
33
  }
34
+ export interface ScanProgress {
35
+ /** Current file index (1-based) */
36
+ current: number;
37
+ /** Total number of files to scan */
38
+ total: number;
39
+ /** Relative path of the file being processed */
40
+ file: string;
41
+ /** Phase of scanning */
42
+ phase: 'discovering' | 'parsing' | 'building-graph';
43
+ }
44
+ export type ScanProgressCallback = (progress: ScanProgress) => void;
34
45
  export declare class ProjectScanner {
35
46
  private config;
36
47
  private parserRegistry;
37
48
  private graph;
38
49
  private fileCache;
39
50
  private fileContents;
51
+ private progressCallback?;
40
52
  constructor(config: CamoufConfig);
53
+ /**
54
+ * Set a callback to receive scan progress updates
55
+ */
56
+ onProgress(callback: ScanProgressCallback): void;
41
57
  /**
42
58
  * Perform a full project scan
43
59
  */
@@ -1 +1 @@
1
- {"version":3,"file":"project-scanner.d.ts","sourceRoot":"","sources":["../../../src/core/scanner/project-scanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAe,UAAU,EAAc,SAAS,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAKtG,MAAM,WAAW,eAAe;IAC9B,SAAS,IAAI,MAAM,CAAC;IACpB,SAAS,IAAI,MAAM,CAAC;IACpB,KAAK,IAAI,MAAM,EAAE,CAAC;IAClB,KAAK,IAAI,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACxC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAClD,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3C,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IACrD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC;IAClE,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAC7C,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;CAChD;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,YAAY,CAAkC;gBAE1C,MAAM,EAAE,YAAY;IAMhC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,eAAe,CAAC;IAkBtC;;OAEG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC;IAqDrG;;OAEG;IACH,QAAQ,IAAI,eAAe;IAI3B;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIvD;;OAEG;IACH,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAItC;;OAEG;YACW,SAAS;IAYvB;;OAEG;YACW,UAAU;IA8CxB;;OAEG;YACW,iBAAiB;IA4B/B;;OAEG;IACH,OAAO,CAAC,cAAc;IA6BtB;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;OAEG;IACH,OAAO,CAAC,UAAU;IAiBlB;;OAEG;IACH,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAwCzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;OAEG;IACH,OAAO,CAAC,wBAAwB;CAcjC"}
1
+ {"version":3,"file":"project-scanner.d.ts","sourceRoot":"","sources":["../../../src/core/scanner/project-scanner.ts"],"names":[],"mappings":"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"}
@@ -15,22 +15,31 @@ export class ProjectScanner {
15
15
  graph;
16
16
  fileCache = new Map();
17
17
  fileContents = new Map(); // Store file contents for rules
18
+ progressCallback;
18
19
  constructor(config) {
19
20
  this.config = config;
20
21
  this.parserRegistry = new ParserRegistry(config);
21
22
  this.graph = new Graph({ directed: true, compound: false, multigraph: false });
22
23
  }
24
+ /**
25
+ * Set a callback to receive scan progress updates
26
+ */
27
+ onProgress(callback) {
28
+ this.progressCallback = callback;
29
+ }
23
30
  /**
24
31
  * Perform a full project scan
25
32
  */
26
33
  async scan() {
27
34
  Logger.debug('Starting project scan...');
28
35
  // Find all files matching the patterns
36
+ this.progressCallback?.({ current: 0, total: 0, file: '', phase: 'discovering' });
29
37
  const files = await this.findFiles();
30
38
  Logger.debug(`Found ${files.length} files to analyze`);
31
39
  // Parse each file and build the graph
32
40
  const parsedFiles = await this.parseFiles(files);
33
41
  // Build dependency graph
42
+ this.progressCallback?.({ current: 0, total: parsedFiles.length, file: '', phase: 'building-graph' });
34
43
  this.buildGraph(parsedFiles);
35
44
  Logger.debug(`Graph built with ${this.graph.nodeCount()} nodes and ${this.graph.edgeCount()} edges`);
36
45
  return this.graph;
@@ -119,12 +128,23 @@ export class ProjectScanner {
119
128
  */
120
129
  async parseFiles(filePaths) {
121
130
  const parsedFiles = [];
131
+ const total = filePaths.length;
132
+ let processed = 0;
122
133
  // Process files in batches for performance
123
134
  const batchSize = this.config.advanced?.maxWorkers || 4;
124
135
  for (let i = 0; i < filePaths.length; i += batchSize) {
125
136
  const batch = filePaths.slice(i, i + batchSize);
126
137
  const batchResults = await Promise.all(batch.map(async (filePath) => {
127
138
  try {
139
+ const relativePath = path.relative(this.config.root, filePath);
140
+ // Emit progress before parsing
141
+ processed++;
142
+ this.progressCallback?.({
143
+ current: processed,
144
+ total,
145
+ file: relativePath,
146
+ phase: 'parsing',
147
+ });
128
148
  const projectFile = await this.createProjectFile(filePath);
129
149
  if (!projectFile) {
130
150
  return null;
@@ -139,7 +159,6 @@ export class ProjectScanner {
139
159
  // Cache the parsed file and content
140
160
  this.fileCache.set(filePath, parsedFile);
141
161
  // Store content with relative path for rules
142
- const relativePath = path.relative(this.config.root, filePath);
143
162
  this.fileContents.set(relativePath, content);
144
163
  return parsedFile;
145
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"project-scanner.js","sourceRoot":"","sources":["../../../src/core/scanner/project-scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-scanner.js","sourceRoot":"","sources":["../../../src/core/scanner/project-scanner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "camouf",
3
- "version": "0.6.0",
3
+ "version": "0.6.2",
4
4
  "description": "Architecture guardrails for AI-generated code - catches the mistakes AI coding assistants make",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",