archprint 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +40 -24
  3. package/dist/cli/adopted-rules.d.ts +2 -0
  4. package/dist/cli/adopted-rules.d.ts.map +1 -1
  5. package/dist/cli/adopted-rules.js +5 -0
  6. package/dist/cli/adopted-rules.js.map +1 -1
  7. package/dist/cli/allow.d.ts.map +1 -1
  8. package/dist/cli/allow.js +5 -23
  9. package/dist/cli/allow.js.map +1 -1
  10. package/dist/cli/check-evaluate.d.ts +2 -1
  11. package/dist/cli/check-evaluate.d.ts.map +1 -1
  12. package/dist/cli/check-evaluate.js +7 -2
  13. package/dist/cli/check-evaluate.js.map +1 -1
  14. package/dist/cli/check-locate.d.ts.map +1 -1
  15. package/dist/cli/check-locate.js +4 -2
  16. package/dist/cli/check-locate.js.map +1 -1
  17. package/dist/cli/check.js +2 -2
  18. package/dist/cli/check.js.map +1 -1
  19. package/dist/cli/eslint-check.d.ts +6 -0
  20. package/dist/cli/eslint-check.d.ts.map +1 -0
  21. package/dist/cli/eslint-check.js +160 -0
  22. package/dist/cli/eslint-check.js.map +1 -0
  23. package/dist/cli/generate.d.ts +3 -6
  24. package/dist/cli/generate.d.ts.map +1 -1
  25. package/dist/cli/generate.js +42 -65
  26. package/dist/cli/generate.js.map +1 -1
  27. package/dist/cli/layout.d.ts +14 -1
  28. package/dist/cli/layout.d.ts.map +1 -1
  29. package/dist/cli/layout.js +48 -14
  30. package/dist/cli/layout.js.map +1 -1
  31. package/dist/cli/program.d.ts +0 -1
  32. package/dist/cli/program.d.ts.map +1 -1
  33. package/dist/cli/program.js +52 -76
  34. package/dist/cli/program.js.map +1 -1
  35. package/dist/cli/ratchet.d.ts +24 -0
  36. package/dist/cli/ratchet.d.ts.map +1 -0
  37. package/dist/cli/ratchet.js +43 -0
  38. package/dist/cli/ratchet.js.map +1 -0
  39. package/dist/cli/report.d.ts +8 -4
  40. package/dist/cli/report.d.ts.map +1 -1
  41. package/dist/cli/report.js +50 -34
  42. package/dist/cli/report.js.map +1 -1
  43. package/dist/cli/rule-ref.d.ts +10 -0
  44. package/dist/cli/rule-ref.d.ts.map +1 -0
  45. package/dist/cli/rule-ref.js +18 -0
  46. package/dist/cli/rule-ref.js.map +1 -0
  47. package/dist/cli/scan.d.ts.map +1 -1
  48. package/dist/cli/scan.js +4 -4
  49. package/dist/cli/scan.js.map +1 -1
  50. package/dist/cli/summary.d.ts +7 -0
  51. package/dist/cli/summary.d.ts.map +1 -1
  52. package/dist/cli/summary.js +60 -2
  53. package/dist/cli/summary.js.map +1 -1
  54. package/dist/detector/orphan-detector.d.ts +8 -6
  55. package/dist/detector/orphan-detector.d.ts.map +1 -1
  56. package/dist/detector/orphan-detector.js +74 -15
  57. package/dist/detector/orphan-detector.js.map +1 -1
  58. package/dist/detector/pattern-detector.d.ts +2 -0
  59. package/dist/detector/pattern-detector.d.ts.map +1 -1
  60. package/dist/detector/pattern-detector.js +5 -0
  61. package/dist/detector/pattern-detector.js.map +1 -1
  62. package/dist/detector/stories-isolation-detector.d.ts +1 -0
  63. package/dist/detector/stories-isolation-detector.d.ts.map +1 -1
  64. package/dist/detector/stories-isolation-detector.js +1 -1
  65. package/dist/detector/stories-isolation-detector.js.map +1 -1
  66. package/dist/generator/app-isolation-emitters.d.ts +3 -1
  67. package/dist/generator/app-isolation-emitters.d.ts.map +1 -1
  68. package/dist/generator/app-isolation-emitters.js +9 -4
  69. package/dist/generator/app-isolation-emitters.js.map +1 -1
  70. package/dist/generator/console-isolation-emitters.d.ts +2 -6
  71. package/dist/generator/console-isolation-emitters.d.ts.map +1 -1
  72. package/dist/generator/console-isolation-emitters.js +3 -2
  73. package/dist/generator/console-isolation-emitters.js.map +1 -1
  74. package/dist/generator/deep-relative-emitters.d.ts +2 -16
  75. package/dist/generator/deep-relative-emitters.d.ts.map +1 -1
  76. package/dist/generator/deep-relative-emitters.js +6 -20
  77. package/dist/generator/deep-relative-emitters.js.map +1 -1
  78. package/dist/generator/depcruise-exempt.d.ts +17 -2
  79. package/dist/generator/depcruise-exempt.d.ts.map +1 -1
  80. package/dist/generator/depcruise-exempt.js +18 -4
  81. package/dist/generator/depcruise-exempt.js.map +1 -1
  82. package/dist/generator/dependency-internals-emitters.d.ts +1 -1
  83. package/dist/generator/dependency-internals-emitters.d.ts.map +1 -1
  84. package/dist/generator/dependency-internals-emitters.js +2 -2
  85. package/dist/generator/dependency-internals-emitters.js.map +1 -1
  86. package/dist/generator/entry-purity-emitters.d.ts +1 -1
  87. package/dist/generator/entry-purity-emitters.d.ts.map +1 -1
  88. package/dist/generator/entry-purity-emitters.js +3 -3
  89. package/dist/generator/entry-purity-emitters.js.map +1 -1
  90. package/dist/generator/env-access-emitters.d.ts +2 -2
  91. package/dist/generator/env-access-emitters.d.ts.map +1 -1
  92. package/dist/generator/env-access-emitters.js +3 -11
  93. package/dist/generator/env-access-emitters.js.map +1 -1
  94. package/dist/generator/eslint-app-emitter.d.ts +1 -0
  95. package/dist/generator/eslint-app-emitter.d.ts.map +1 -1
  96. package/dist/generator/eslint-app-emitter.js +1 -22
  97. package/dist/generator/eslint-app-emitter.js.map +1 -1
  98. package/dist/generator/eslint-family-rules.d.ts +23 -0
  99. package/dist/generator/eslint-family-rules.d.ts.map +1 -0
  100. package/dist/generator/eslint-family-rules.js +35 -0
  101. package/dist/generator/eslint-family-rules.js.map +1 -0
  102. package/dist/generator/eslint-plugin-emitter.d.ts +2 -0
  103. package/dist/generator/eslint-plugin-emitter.d.ts.map +1 -1
  104. package/dist/generator/eslint-plugin-emitter.js +21 -0
  105. package/dist/generator/eslint-plugin-emitter.js.map +1 -1
  106. package/dist/generator/eslint-preset-emitter.d.ts +2 -1
  107. package/dist/generator/eslint-preset-emitter.d.ts.map +1 -1
  108. package/dist/generator/eslint-preset-emitter.js +13 -10
  109. package/dist/generator/eslint-preset-emitter.js.map +1 -1
  110. package/dist/generator/eslint-scope.d.ts +0 -11
  111. package/dist/generator/eslint-scope.d.ts.map +1 -1
  112. package/dist/generator/eslint-scope.js +0 -44
  113. package/dist/generator/eslint-scope.js.map +1 -1
  114. package/dist/generator/feature-slice-emitters.d.ts +3 -1
  115. package/dist/generator/feature-slice-emitters.d.ts.map +1 -1
  116. package/dist/generator/feature-slice-emitters.js +9 -4
  117. package/dist/generator/feature-slice-emitters.js.map +1 -1
  118. package/dist/generator/layer-emitters.d.ts.map +1 -1
  119. package/dist/generator/layer-emitters.js +1 -4
  120. package/dist/generator/layer-emitters.js.map +1 -1
  121. package/dist/generator/phantom-dependency-emitters.d.ts +1 -1
  122. package/dist/generator/phantom-dependency-emitters.d.ts.map +1 -1
  123. package/dist/generator/phantom-dependency-emitters.js +2 -2
  124. package/dist/generator/phantom-dependency-emitters.js.map +1 -1
  125. package/dist/generator/public-api-emitters.d.ts +2 -1
  126. package/dist/generator/public-api-emitters.d.ts.map +1 -1
  127. package/dist/generator/public-api-emitters.js +8 -5
  128. package/dist/generator/public-api-emitters.js.map +1 -1
  129. package/dist/generator/role-layering-emitters.d.ts +3 -1
  130. package/dist/generator/role-layering-emitters.d.ts.map +1 -1
  131. package/dist/generator/role-layering-emitters.js +15 -8
  132. package/dist/generator/role-layering-emitters.js.map +1 -1
  133. package/dist/generator/server-client-emitters.d.ts.map +1 -1
  134. package/dist/generator/server-client-emitters.js +1 -4
  135. package/dist/generator/server-client-emitters.js.map +1 -1
  136. package/dist/generator/stories-isolation-emitters.d.ts +3 -2
  137. package/dist/generator/stories-isolation-emitters.d.ts.map +1 -1
  138. package/dist/generator/stories-isolation-emitters.js +5 -2
  139. package/dist/generator/stories-isolation-emitters.js.map +1 -1
  140. package/dist/generator/test-isolation-emitters.d.ts +4 -3
  141. package/dist/generator/test-isolation-emitters.d.ts.map +1 -1
  142. package/dist/generator/test-isolation-emitters.js +8 -17
  143. package/dist/generator/test-isolation-emitters.js.map +1 -1
  144. package/dist/generator/ui-data-isolation-emitters.d.ts +3 -1
  145. package/dist/generator/ui-data-isolation-emitters.d.ts.map +1 -1
  146. package/dist/generator/ui-data-isolation-emitters.js +6 -2
  147. package/dist/generator/ui-data-isolation-emitters.js.map +1 -1
  148. package/dist/generator/workspace-package-emitters.d.ts +2 -2
  149. package/dist/generator/workspace-package-emitters.d.ts.map +1 -1
  150. package/dist/generator/workspace-package-emitters.js +6 -15
  151. package/dist/generator/workspace-package-emitters.js.map +1 -1
  152. package/dist/index.d.ts +4 -3
  153. package/dist/index.d.ts.map +1 -1
  154. package/dist/index.js +3 -3
  155. package/dist/index.js.map +1 -1
  156. package/dist/mcp/remote/server.d.ts +2 -2
  157. package/dist/mcp/remote/server.d.ts.map +1 -1
  158. package/dist/mcp/remote/server.js +8 -2
  159. package/dist/mcp/remote/server.js.map +1 -1
  160. package/dist/mcp/server.d.ts +2 -2
  161. package/dist/mcp/server.d.ts.map +1 -1
  162. package/dist/mcp/server.js +2 -2
  163. package/dist/mcp/server.js.map +1 -1
  164. package/dist/mcp/tools.d.ts.map +1 -1
  165. package/dist/mcp/tools.js +4 -4
  166. package/dist/mcp/tools.js.map +1 -1
  167. package/dist/scanner/file-walker.d.ts +4 -0
  168. package/dist/scanner/file-walker.d.ts.map +1 -1
  169. package/dist/scanner/file-walker.js +33 -2
  170. package/dist/scanner/file-walker.js.map +1 -1
  171. package/dist/scanner/usage-scanner.d.ts +2 -0
  172. package/dist/scanner/usage-scanner.d.ts.map +1 -1
  173. package/dist/scanner/usage-scanner.js +25 -8
  174. package/dist/scanner/usage-scanner.js.map +1 -1
  175. package/package.json +2 -1
@@ -51,13 +51,13 @@ export declare const TOOLS: readonly [{
51
51
  readonly idempotentHint: true;
52
52
  readonly openWorldHint: false;
53
53
  };
54
- readonly description: "Explain one rule from archprint_scan in depth, by its label (e.g. AP-002, env-access, or \"lib !-> app\"): its statement, gate status, adoption (enforce, review, or report-only, as in archprint_scan), observed conformance and confidence floor, and every file that breaks it (scan lists only a few). For the forbidden-import rules (AP-001, AP-002) it also returns each confidence-gate condition with its value and threshold, how to fix a violation, and when not to adopt the rule. Read-only.";
54
+ readonly description: "Explain one rule from archprint_scan in depth, by its id, label or ESLint name (e.g. AP-002, env-access, no-lib-to-app, \"lib !-> app\" or archprint/no-lib-to-app): its statement, gate status, adoption (enforce, review, or report-only, as in archprint_scan), observed conformance and confidence floor, and every file that breaks it (scan lists only a few). For the forbidden-import rules (AP-001, AP-002) it also returns each confidence-gate condition with its value and threshold, how to fix a violation, and when not to adopt the rule. Read-only.";
55
55
  readonly inputSchema: {
56
56
  readonly type: "object";
57
57
  readonly properties: {
58
58
  readonly id: {
59
59
  readonly type: "string";
60
- readonly description: "rule label from archprint_scan, e.g. AP-002 or env-access";
60
+ readonly description: "rule id, label or ESLint name from archprint_scan, e.g. AP-002, no-lib-to-app or \"lib !-> app\"";
61
61
  };
62
62
  readonly path: {
63
63
  readonly type: "string";
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAInE,OAAO,EAA6B,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AASlF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+ER,CAAC;AAEX,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAoB5E;AAED,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,CAMlF;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQpD;AAGD,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAInE,OAAO,EAA6B,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AASlF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgFR,CAAC;AAEX,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAoB5E;AAED,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,CAMlF;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQpD;AAGD,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE"}
@@ -48,13 +48,13 @@ export const TOOLS = [
48
48
  name: 'archprint_explain',
49
49
  title: 'Explain an architecture rule',
50
50
  annotations: READ_ONLY,
51
- description: 'Explain one rule from archprint_scan in depth, by its label (e.g. AP-002, env-access, or "lib !-> app"): its statement, gate status, adoption (enforce, review, or report-only, as in archprint_scan), observed conformance and confidence floor, and every file that breaks it (scan lists only a few). For the forbidden-import rules (AP-001, AP-002) it also returns each confidence-gate condition with its value and threshold, how to fix a violation, and when not to adopt the rule. Read-only.',
51
+ description: 'Explain one rule from archprint_scan in depth, by its id, label or ESLint name (e.g. AP-002, env-access, no-lib-to-app, "lib !-> app" or archprint/no-lib-to-app): its statement, gate status, adoption (enforce, review, or report-only, as in archprint_scan), observed conformance and confidence floor, and every file that breaks it (scan lists only a few). For the forbidden-import rules (AP-001, AP-002) it also returns each confidence-gate condition with its value and threshold, how to fix a violation, and when not to adopt the rule. Read-only.',
52
52
  inputSchema: {
53
53
  type: 'object',
54
54
  properties: {
55
55
  id: {
56
56
  type: 'string',
57
- description: 'rule label from archprint_scan, e.g. AP-002 or env-access',
57
+ description: 'rule id, label or ESLint name from archprint_scan, e.g. AP-002, no-lib-to-app or "lib !-> app"',
58
58
  },
59
59
  path: {
60
60
  type: 'string',
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAqC,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AA4BvE,MAAM,WAAW,OAAQ,SAAQ,WAAW;IAC1C,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,UAAQ,GAAG,OAAO,EAAE,CAM/D;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAMjE;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAuBpE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAI/E"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAqC,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AA4BvE,MAAM,WAAW,OAAQ,SAAQ,WAAW;IAC1C,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,UAAQ,GAAG,OAAO,EAAE,CAM/D;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAMjE;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAoBpE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAI/E"}
package/dist/mcp/tools.js CHANGED
@@ -8,6 +8,7 @@ import { ARCHPRINT_DIR } from '../cli/generate.js';
8
8
  import { summarizeRules, toScanSummary, } from '../cli/summary.js';
9
9
  import { buildRecommendations, detectStack } from '../cli/recommend.js';
10
10
  import { guidanceFor } from '../cli/rule-guidance.js';
11
+ import { findRule, ruleNames } from '../cli/rule-ref.js';
11
12
  const URL_SCHEME = /^[a-z][a-z0-9+.-]*:\/\//i;
12
13
  const localPath = (input) => {
13
14
  const trimmed = input.trim();
@@ -43,21 +44,20 @@ export function recommendTool(input) {
43
44
  }
44
45
  export function explainTool(id, input) {
45
46
  const { root, dirs } = resolveAppDirs(input);
46
- const wanted = id.toLowerCase();
47
47
  const known = [];
48
48
  for (const dir of dirs) {
49
49
  const scan = scanRepo(dir, { deep: false });
50
50
  const rules = summarizeRules(scan, Number.POSITIVE_INFINITY);
51
- const rule = rules.find((candidate) => candidate.label.toLowerCase() === wanted);
51
+ const rule = findRule(id, rules);
52
52
  if (rule) {
53
- const pattern = scan.patterns.find((candidate) => candidate.config.id.toLowerCase() === wanted);
53
+ const pattern = scan.patterns.find((candidate) => candidate.config.id === rule.id);
54
54
  return {
55
55
  app: displayApp(dir, root),
56
56
  rule,
57
57
  ...(pattern && { pattern: pattern.result, guidance: guidanceFor(pattern.config.name) }),
58
58
  };
59
59
  }
60
- known.push(...rules.map((candidate) => candidate.label));
60
+ known.push(...ruleNames(rules));
61
61
  }
62
62
  throw new Error(`No rule "${id}" found under ${path.resolve(input)}. Rules found: ${[...new Set(known)].join(', ') || 'none'}.`);
63
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,10 @@ export declare function valueImportBindings(absoluteFilePath: string): (ValueBin
34
34
  specifier: string;
35
35
  })[];
36
36
  export declare function importLocations(absoluteFilePath: string): ImportLocation[];
37
+ /** Every module a file names: its imports of any kind, `import('x')` calls and `export ... from 'x'`. */
38
+ export declare function moduleReferences(absoluteFilePath: string): string[];
39
+ /** The string literals in a file, such as the setup files a tool's config names. */
40
+ export declare function stringLiterals(absoluteFilePath: string): string[];
37
41
  export declare function isWorkspacePackagePath(filePath: string, workspacePackages: readonly string[]): boolean;
38
42
  export declare function createImportAnalyzer(appDir: string, options?: {
39
43
  resolve?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"file-walker.d.ts","sourceRoot":"","sources":["../../src/scanner/file-walker.ts"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAyB9B,MAAM,WAAW,UAAW,SAAQ,kBAAkB;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,GAAG,YAAY,CAAC;AAEtF,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAsBD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,uFAAuF;IACvF,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAuB1D;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAEzD;AAaD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,CAkBtD;AAcD,sHAAsH;AACtH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAmFD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,+HAA+H;AAC/H,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,MAAM,GACvB,CAAC,YAAY,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,CAI1C;AAED,wBAAgB,eAAe,CAAC,gBAAgB,EAAE,MAAM,GAAG,cAAc,EAAE,CAE1E;AAuBD,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,SAAS,MAAM,EAAE,GACnC,OAAO,CAQT;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,CAAC,gBAAgB,EAAE,MAAM,KAAK,cAAc,EAAE,CAqKhD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,cAAc,EAAE,CAEzF"}
1
+ {"version":3,"file":"file-walker.d.ts","sourceRoot":"","sources":["../../src/scanner/file-walker.ts"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAyB9B,MAAM,WAAW,UAAW,SAAQ,kBAAkB;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,GAAG,YAAY,CAAC;AAEtF,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAsBD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,uFAAuF;IACvF,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAuB1D;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAEzD;AAaD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,CAkBtD;AAcD,sHAAsH;AACtH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAoGD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,+HAA+H;AAC/H,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,MAAM,GACvB,CAAC,YAAY,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,CAI1C;AAKD,wBAAgB,eAAe,CAAC,gBAAgB,EAAE,MAAM,GAAG,cAAc,EAAE,CAE1E;AAED,yGAAyG;AACzG,wBAAgB,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,EAAE,CAEnE;AAED,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,EAAE,CAoBjE;AAuBD,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,SAAS,MAAM,EAAE,GACnC,OAAO,CAQT;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,CAAC,gBAAgB,EAAE,MAAM,KAAK,cAAc,EAAE,CAqKhD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,cAAc,EAAE,CAEzF"}
@@ -158,6 +158,18 @@ function parseFastImports(absoluteFilePath) {
158
158
  hasValueBinding: nodeHasValueBinding(statement.importClause),
159
159
  valueBindings: valueBindingsOf(statement.importClause),
160
160
  line: lineOf(statement),
161
+ reexport: false,
162
+ });
163
+ }
164
+ if (ts.isExportDeclaration(statement) &&
165
+ statement.moduleSpecifier !== undefined &&
166
+ ts.isStringLiteral(statement.moduleSpecifier)) {
167
+ raw.push({
168
+ specifier: statement.moduleSpecifier.text,
169
+ hasValueBinding: !statement.isTypeOnly,
170
+ valueBindings: [],
171
+ line: lineOf(statement),
172
+ reexport: true,
161
173
  });
162
174
  }
163
175
  }
@@ -171,6 +183,7 @@ function parseFastImports(absoluteFilePath) {
171
183
  hasValueBinding: true,
172
184
  valueBindings: [],
173
185
  line: lineOf(node),
186
+ reexport: false,
174
187
  });
175
188
  }
176
189
  ts.forEachChild(node, visit);
@@ -185,11 +198,29 @@ function parseFastImports(absoluteFilePath) {
185
198
  export function valueImportBindings(absoluteFilePath) {
186
199
  return parseFastImports(absoluteFilePath).flatMap((imp) => imp.valueBindings.map((binding) => ({ ...binding, specifier: imp.specifier })));
187
200
  }
201
+ const importsOf = (absoluteFilePath) => parseFastImports(absoluteFilePath).filter((imp) => !imp.reexport);
188
202
  export function importLocations(absoluteFilePath) {
189
- return parseFastImports(absoluteFilePath).map(({ specifier, line }) => ({ specifier, line }));
203
+ return importsOf(absoluteFilePath).map(({ specifier, line }) => ({ specifier, line }));
204
+ }
205
+ /** Every module a file names: its imports of any kind, `import('x')` calls and `export ... from 'x'`. */
206
+ export function moduleReferences(absoluteFilePath) {
207
+ return parseFastImports(absoluteFilePath).map((imp) => imp.specifier);
208
+ }
209
+ /** The string literals in a file, such as the setup files a tool's config names. */
210
+ export function stringLiterals(absoluteFilePath) {
211
+ const { source, scriptKind } = parseableSource(absoluteFilePath, readFileSync(absoluteFilePath, 'utf8'));
212
+ const sourceFile = ts.createSourceFile(absoluteFilePath, source, ts.ScriptTarget.Latest, false, scriptKind);
213
+ const literals = [];
214
+ const visit = (node) => {
215
+ if (ts.isStringLiteral(node) || ts.isNoSubstitutionTemplateLiteral(node))
216
+ literals.push(node.text);
217
+ ts.forEachChild(node, visit);
218
+ };
219
+ visit(sourceFile);
220
+ return literals;
190
221
  }
191
222
  function specifierLevelImports(absoluteFilePath, classifyEdge) {
192
- return parseFastImports(absoluteFilePath).map((imp) => ({
223
+ return importsOf(absoluteFilePath).map((imp) => ({
193
224
  specifier: imp.specifier,
194
225
  edgeKind: classifyEdge(imp.specifier),
195
226
  throughBarrel: false,
@@ -1 +1 @@
1
- {"version":3,"file":"file-walker.js","sourceRoot":"","sources":["../../src/scanner/file-walker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-walker.js","sourceRoot":"","sources":["../../src/scanner/file-walker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7F,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAA0B,OAAO,EAAmB,UAAU,EAAE,MAAM,UAAU,CAAC;AACxF,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EACL,YAAY,EACZ,yBAAyB,EACzB,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEtE,MAAM,UAAU,GAAG,uCAAuC,CAAC;AAC3D,MAAM,qBAAqB,GAAG,CAAC,QAAgB,EAAW,EAAE,CAC1D,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAE5D,SAAS,eAAe,CACtB,gBAAwB,EACxB,IAAY;IAEZ,IAAI,qBAAqB,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;IACrE,CAAC;IACD,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;KACrF,CAAC;AACJ,CAAC;AAkBD,SAAS,qBAAqB,CAAC,iBAAoC;IACjE,IAAI,iBAAiB,CAAC,UAAU,EAAE;QAAE,OAAO,KAAK,CAAC;IACjD,MAAM,KAAK,GAAG,iBAAiB,CAAC,eAAe,EAAE,CAAC;IAClD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,KAAK,SAAS,CAAC;IACtE,MAAM,YAAY,GAAG,iBAAiB,CAAC,kBAAkB,EAAE,KAAK,SAAS,CAAC;IAC1E,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,CAAC;IAC1E,OAAO,aAAa,IAAI,UAAU,IAAI,YAAY,IAAI,cAAc,CAAC;AACvE,CAAC;AAED,SAAS,uBAAuB,CAAC,UAAsB;IACrD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9E,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,aAAa;YAAE,SAAS;QAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC1E,IAAI,QAAQ,KAAK,SAAS;YAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAQD,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,CAAC,GAAW,EAAQ,EAAE;QACjC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACtE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/C,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAC1C,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;;oBACjE,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1D,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;;oBAClE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,CAAC;IACd,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;AACvC,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAK,GAAG,GAAG;IACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5C,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;YAAS,CAAC;QACT,SAAS,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;QACnD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpF,MAAM,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9D,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC;gBACH,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,uDAAuD;gBACvD,IAAI,GAAG,EAAE,CAAC;YACZ,CAAC;YACD,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,yBAAyB,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC;YAC1F,CAAC;QACH,CAAC;QACD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAmC;IAC9D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,MAAM,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC;IACtC,MAAM,YAAY,GAAG,QAAQ,KAAK,SAAS,IAAI,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,QAAQ,KAAK,SAAS,IAAI,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,CAAC;IAC1E,OAAO,aAAa,IAAI,UAAU,IAAI,YAAY,IAAI,cAAc,CAAC;AACvE,CAAC;AAiBD,SAAS,eAAe,CAAC,MAAmC;IAC1D,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IACzD,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC;IACtC,IAAI,QAAQ,KAAK,SAAS,IAAI,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;SAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACxC,IAAI,OAAO,CAAC,UAAU;gBAAE,SAAS;YACjC,KAAK,CAAC,IAAI,CAAC;gBACT,QAAQ,EAAE,CAAC,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI;gBACrD,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;aACzB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,cAAc,GAAG,IAAI,GAAG,EAA+D,CAAC;AAC9F,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAEnC,SAAS,gBAAgB,CAAC,gBAAwB;IAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACpD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACzF,OAAO,MAAM,CAAC,GAAG,CAAC;IACpB,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,CAC5C,gBAAgB,EAChB,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CACvC,CAAC;IACF,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CACpC,gBAAgB,EAChB,MAAM,EACN,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,KAAK,EACL,UAAU,CACX,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,IAAa,EAAU,EAAE,CACvC,UAAU,CAAC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IAC/E,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QAC9C,IAAI,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC;YACvF,GAAG,CAAC,IAAI,CAAC;gBACP,SAAS,EAAE,SAAS,CAAC,eAAe,CAAC,IAAI;gBACzC,eAAe,EAAE,mBAAmB,CAAC,SAAS,CAAC,YAAY,CAAC;gBAC5D,aAAa,EAAE,eAAe,CAAC,SAAS,CAAC,YAAY,CAAC;gBACtD,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC;gBACvB,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;QACL,CAAC;QACD,IACE,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC;YACjC,SAAS,CAAC,eAAe,KAAK,SAAS;YACvC,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,EAC7C,CAAC;YACD,GAAG,CAAC,IAAI,CAAC;gBACP,SAAS,EAAE,SAAS,CAAC,eAAe,CAAC,IAAI;gBACzC,eAAe,EAAE,CAAC,SAAS,CAAC,UAAU;gBACtC,aAAa,EAAE,EAAE;gBACjB,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC;gBACvB,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,IAAa,EAAQ,EAAE;QACpC,IACE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa;YACpD,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YACzB,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,EACtC,CAAC;YACD,GAAG,CAAC,IAAI,CAAC;gBACP,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;gBACjC,eAAe,EAAE,IAAI;gBACrB,aAAa,EAAE,EAAE;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;gBAClB,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;QACL,CAAC;QACD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC;IACF,KAAK,CAAC,UAAU,CAAC,CAAC;IAClB,IAAI,cAAc,CAAC,IAAI,IAAI,oBAAoB;QAAE,cAAc,CAAC,KAAK,EAAE,CAAC;IACxE,cAAc,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IACtF,OAAO,GAAG,CAAC;AACb,CAAC;AAOD,+HAA+H;AAC/H,MAAM,UAAU,mBAAmB,CACjC,gBAAwB;IAExB,OAAO,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CACxD,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAC/E,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,gBAAwB,EAAe,EAAE,CAC1D,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEpE,MAAM,UAAU,eAAe,CAAC,gBAAwB;IACtD,OAAO,SAAS,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,gBAAgB,CAAC,gBAAwB;IACvD,OAAO,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACxE,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,cAAc,CAAC,gBAAwB;IACrD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,CAC5C,gBAAgB,EAChB,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CACvC,CAAC;IACF,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CACpC,gBAAgB,EAChB,MAAM,EACN,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,KAAK,EACL,UAAU,CACX,CAAC;IACF,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,CAAC,IAAa,EAAQ,EAAE;QACpC,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,+BAA+B,CAAC,IAAI,CAAC;YACtE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC;IACF,KAAK,CAAC,UAAU,CAAC,CAAC;IAClB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,qBAAqB,CAC5B,gBAAwB,EACxB,YAA6C;IAE7C,OAAO,SAAS,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC/C,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;QACrC,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,EAAE;QAClB,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,GAAG,CAAC,eAAe;KACrC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,wBAAwB,CAC/B,YAA6C;IAE7C,OAAO,CAAC,gBAAwB,EAAoB,EAAE,CACpD,qBAAqB,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,QAAgB,EAChB,iBAAoC;IAEpC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QACpC,MAAM,MAAM,GAAG,iBAAiB,GAAG,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,EAAE,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,UAAiC,EAAE;IAEnC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAE3F,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,KAAe,EAAW,EAAE,CACpE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;IAE/E,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,MAA8B,EAAY,EAAE;QACnF,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,UAAU,CAAC;QACjD,IAAI,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QACtD,IAAI,aAAa,CAAC,SAAS,EAAE,iBAAiB,CAAC;YAAE,OAAO,WAAW,CAAC;QACpE,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,YAAY,CAAC;QAC9C,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;IACpF,CAAC,CAAC;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,wBAAwB,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAW,EAAE,CACpD,sBAAsB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAEtD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;QAC1B,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC;QACpD,2BAA2B,EAAE,IAAI;QACjC,cAAc,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,EAAE;YAC3D,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;YAC7C,MAAM,cAAc,GAAG,CAAC,QAAgB,EAAW,EAAE,CACnD,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YACpE,MAAM,kBAAkB,GAA4B;gBAClD,GAAG,oBAAoB;gBACvB,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CACvB,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,oBAAoB,CAAC,UAAU,CAAC,QAAQ,CAAC;gBACxE,eAAe,EAAE,oBAAoB,CAAC,eAAe;oBACnD,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,oBAAoB,CAAC,eAAgB,CAAC,OAAO,CAAC;oBACzF,CAAC,CAAC,SAAS;aACd,CAAC;YACF,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CACtC,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACzD,MAAM,KAAK,GAAG,EAAE,CAAC,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;YACjF,OAAO;gBACL,kBAAkB,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,EAAE,CAClD,WAAW,CAAC,GAAG,CACb,CAAC,UAAU,EAAE,EAAE,CACb,EAAE,CAAC,iBAAiB,CAClB,UAAU,EACV,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,KAAK,CACN,CAAC,cAAc,CACnB;aACJ,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;QACjC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;KAC/D,CAAC,CAAC,CAAC;IACJ,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAE,cAAsB,EAAsB,EAAE,CAC3F,uBAAuB,CAAC,SAAS,EAAE,cAAc,EAAE,SAAS,CAAC,IAAI,SAAS,CAAC;IAE7E,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAoC,CAAC;IACtE,MAAM,cAAc,GAAG,CAAC,MAAkB,EAA4B,EAAE;QACtE,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,KAAK,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,uBAAuB,EAAE,EAAE,CAAC;oBACpE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,OAAO,CAAC,gBAAwB,EAAoB,EAAE;QACpD,IAAI,qBAAqB,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC5C,OAAO,qBAAqB,CAAC,gBAAgB,EAAE,CAAC,SAAS,EAAE,EAAE,CAC3D,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CACnC,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,GAAG,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QACjE,MAAM,OAAO,GAAqB,UAAU;aACzC,qBAAqB,EAAE;aACvB,GAAG,CAAC,CAAC,iBAAiB,EAAE,EAAE;YACzB,MAAM,SAAS,GAAG,iBAAiB,CAAC,uBAAuB,EAAE,CAAC;YAC9D,MAAM,eAAe,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;YACjE,MAAM,MAAM,GAAG,iBAAiB,CAAC,4BAA4B,EAAE,CAAC;YAChE,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACjD,MAAM,aAAa,GAAG,MAAM,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;YACnE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;YACtC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;YAErC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,UAAU,EAAE,CAAC;gBAC7D,MAAM,KAAK,GAAG,iBAAiB,CAAC,eAAe,EAAE,CAAC;gBAClD,MAAM,eAAe,GAAG,iBAAiB,CAAC,kBAAkB,EAAE,CAAC;gBAC/D,MAAM,aAAa,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;gBAC3D,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAE/D,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,UAAmB,EAAQ,EAAE;oBAC5D,MAAM,MAAM,GAAG,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;oBACtE,KAAK,MAAM,IAAI,IAAI,MAAM;wBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC/E,CAAC,CAAC;gBAEF,KAAK,MAAM,WAAW,IAAI,KAAK,EAAE,CAAC;oBAChC,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,qBAAqB,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;gBACtF,CAAC;gBACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBAChC,SAAS,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;gBAC9C,CAAC;gBACD,IACE,eAAe,KAAK,SAAS;oBAC7B,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,KAAK,SAAS,CAAC,EACnD,CAAC;oBACD,MAAM,MAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;oBAChE,IAAI,aAAa,EAAE,CAAC;wBAClB,KAAK,MAAM,IAAI,IAAI,kBAAkB,CAAC,MAAM,CAAC;4BAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;oBAChF,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO;gBACL,SAAS;gBACT,QAAQ;gBACR,aAAa;gBACb,cAAc,EAAE,CAAC,GAAG,WAAW,CAAC;gBAChC,aAAa,EAAE,CAAC,GAAG,UAAU,CAAC;gBAC9B,eAAe;aAChB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEL,KAAK,MAAM,SAAS,IAAI,uBAAuB,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5D,IAAI,MAA8B,CAAC;YACnC,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;gBAC7D,MAAM;oBACJ,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC;YAC9F,CAAC;YACD,MAAM,aAAa,GAAG,MAAM,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;YACnE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;YACtC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,aAAa,EAAE,CAAC;oBAClB,KAAK,MAAM,IAAI,IAAI,kBAAkB,CAAC,MAAM,CAAC;wBAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBACrF,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YACD,OAAO,CAAC,IAAI,CAAC;gBACX,SAAS;gBACT,QAAQ,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC;gBACzC,aAAa;gBACb,cAAc,EAAE,CAAC,GAAG,WAAW,CAAC;gBAChC,aAAa,EAAE,EAAE;gBACjB,eAAe,EAAE,IAAI;aACtB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,gBAAwB;IACrE,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC;AACxD,CAAC"}
@@ -8,5 +8,7 @@ export interface UsageScan {
8
8
  files: WalkedFile[];
9
9
  usage: Map<string, FileUsage>;
10
10
  }
11
+ export type UsageSubject = 'console' | 'process.env';
12
+ export declare function usageLines(absolutePath: string, subject: UsageSubject): number[];
11
13
  export declare function scanUsage(appDir: string): UsageScan;
12
14
  //# sourceMappingURL=usage-scanner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usage-scanner.d.ts","sourceRoot":"","sources":["../../src/scanner/usage-scanner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAC/B;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CA0BnD"}
1
+ {"version":3,"file":"usage-scanner.d.ts","sourceRoot":"","sources":["../../src/scanner/usage-scanner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAC/B;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,aAAa,CAAC;AAoBrD,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,EAAE,CAGhF;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAsBnD"}
@@ -1,6 +1,28 @@
1
1
  import * as path from 'node:path';
2
2
  import { Project, SyntaxKind } from 'ts-morph';
3
3
  import { walkRepo } from './file-walker.js';
4
+ function subjectOf(access) {
5
+ const target = access.getExpression();
6
+ if (target.getKind() === SyntaxKind.Identifier && target.getText() === 'console')
7
+ return 'console';
8
+ if (access.getName() === 'env' && target.getText() === 'process')
9
+ return 'process.env';
10
+ return null;
11
+ }
12
+ /** The line of each `console.*` and `process.env` access in a file, in source order. */
13
+ function accessLines(sourceFile) {
14
+ const lines = { console: [], 'process.env': [] };
15
+ for (const access of sourceFile.getDescendantsOfKind(SyntaxKind.PropertyAccessExpression)) {
16
+ const subject = subjectOf(access);
17
+ if (subject !== null)
18
+ lines[subject].push(access.getStartLineNumber());
19
+ }
20
+ return lines;
21
+ }
22
+ export function usageLines(absolutePath, subject) {
23
+ const project = new Project({ skipAddingFilesFromTsConfig: true });
24
+ return accessLines(project.addSourceFileAtPath(absolutePath))[subject];
25
+ }
4
26
  export function scanUsage(appDir) {
5
27
  const root = path.resolve(appDir);
6
28
  const files = walkRepo(root).filter((file) => file.role !== 'TEST');
@@ -11,14 +33,9 @@ export function scanUsage(appDir) {
11
33
  let usesProcessEnv = false;
12
34
  try {
13
35
  const sourceFile = project.addSourceFileAtPath(file.absolutePath);
14
- for (const access of sourceFile.getDescendantsOfKind(SyntaxKind.PropertyAccessExpression)) {
15
- const target = access.getExpression();
16
- if (target.getKind() === SyntaxKind.Identifier && target.getText() === 'console') {
17
- usesConsole = true;
18
- }
19
- if (access.getName() === 'env' && target.getText() === 'process')
20
- usesProcessEnv = true;
21
- }
36
+ const lines = accessLines(sourceFile);
37
+ usesConsole = lines.console.length > 0;
38
+ usesProcessEnv = lines['process.env'].length > 0;
22
39
  project.removeSourceFile(sourceFile);
23
40
  }
24
41
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"usage-scanner.js","sourceRoot":"","sources":["../../src/scanner/usage-scanner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAmB,MAAM,kBAAkB,CAAC;AAa7D,MAAM,UAAU,SAAS,CAAC,MAAc;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAChF,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,2BAA2B,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAqB,CAAC;IAE3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAClE,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE,CAAC;gBAC1F,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;gBACtC,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,SAAS,EAAE,CAAC;oBACjF,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC;gBACD,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,SAAS;oBAAE,cAAc,GAAG,IAAI,CAAC;YAC1F,CAAC;YACD,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,mFAAmF;QACrF,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"usage-scanner.js","sourceRoot":"","sources":["../../src/scanner/usage-scanner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAiC,OAAO,EAAmB,UAAU,EAAE,MAAM,UAAU,CAAC;AAC/F,OAAO,EAAE,QAAQ,EAAmB,MAAM,kBAAkB,CAAC;AAe7D,SAAS,SAAS,CAAC,MAAgC;IACjD,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;IACtC,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,SAAS;QAC9E,OAAO,SAAS,CAAC;IACnB,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC;IACvF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wFAAwF;AACxF,SAAS,WAAW,CAAC,UAAsB;IACzC,MAAM,KAAK,GAAmC,EAAE,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;IACjF,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAC1F,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,OAAO,KAAK,IAAI;YAAE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,YAAoB,EAAE,OAAqB;IACpE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,2BAA2B,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,OAAO,WAAW,CAAC,OAAO,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAc;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAChF,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,2BAA2B,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAqB,CAAC;IAE3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAClE,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;YACtC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACvC,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACjD,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,mFAAmF;QACrF,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "archprint",
3
- "version": "0.15.0",
3
+ "version": "0.16.0",
4
4
  "mcpName": "io.github.Tommkruix/archprint",
5
5
  "description": "Mine the architecture rules your TypeScript repo already enforces, with the evidence attached.",
6
6
  "keywords": [
@@ -93,6 +93,7 @@
93
93
  "@types/node": "^26.1.0",
94
94
  "@vitest/coverage-v8": "^5.0.3",
95
95
  "chart.js": "^4.5.1",
96
+ "dependency-cruiser": "^18.7.0",
96
97
  "eslint": "^10.6.0",
97
98
  "eslint-config-prettier": "^10.1.8",
98
99
  "get-tsconfig": "^4.14.0",