driftdetect-core 0.4.6 → 0.5.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.
- package/dist/call-graph/extractors/csharp-data-access-extractor.d.ts +8 -0
- package/dist/call-graph/extractors/csharp-data-access-extractor.d.ts.map +1 -1
- package/dist/call-graph/extractors/csharp-data-access-extractor.js +8 -0
- package/dist/call-graph/extractors/csharp-data-access-extractor.js.map +1 -1
- package/dist/call-graph/extractors/csharp-extractor.d.ts +35 -0
- package/dist/call-graph/extractors/csharp-extractor.d.ts.map +1 -1
- package/dist/call-graph/extractors/csharp-extractor.js +362 -4
- package/dist/call-graph/extractors/csharp-extractor.js.map +1 -1
- package/dist/call-graph/extractors/csharp-hybrid-extractor.d.ts +37 -0
- package/dist/call-graph/extractors/csharp-hybrid-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/csharp-hybrid-extractor.js +408 -0
- package/dist/call-graph/extractors/csharp-hybrid-extractor.js.map +1 -0
- package/dist/call-graph/extractors/hybrid-extractor-base.d.ts +102 -0
- package/dist/call-graph/extractors/hybrid-extractor-base.d.ts.map +1 -0
- package/dist/call-graph/extractors/hybrid-extractor-base.js +289 -0
- package/dist/call-graph/extractors/hybrid-extractor-base.js.map +1 -0
- package/dist/call-graph/extractors/index.d.ts +17 -13
- package/dist/call-graph/extractors/index.d.ts.map +1 -1
- package/dist/call-graph/extractors/index.js +24 -23
- package/dist/call-graph/extractors/index.js.map +1 -1
- package/dist/call-graph/extractors/java-data-access-extractor.d.ts +8 -0
- package/dist/call-graph/extractors/java-data-access-extractor.d.ts.map +1 -1
- package/dist/call-graph/extractors/java-data-access-extractor.js +8 -0
- package/dist/call-graph/extractors/java-data-access-extractor.js.map +1 -1
- package/dist/call-graph/extractors/java-extractor.d.ts +15 -0
- package/dist/call-graph/extractors/java-extractor.d.ts.map +1 -1
- package/dist/call-graph/extractors/java-extractor.js +120 -4
- package/dist/call-graph/extractors/java-extractor.js.map +1 -1
- package/dist/call-graph/extractors/java-hybrid-extractor.d.ts +36 -0
- package/dist/call-graph/extractors/java-hybrid-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/java-hybrid-extractor.js +426 -0
- package/dist/call-graph/extractors/java-hybrid-extractor.js.map +1 -0
- package/dist/call-graph/extractors/php-data-access-extractor.d.ts +8 -0
- package/dist/call-graph/extractors/php-data-access-extractor.d.ts.map +1 -1
- package/dist/call-graph/extractors/php-data-access-extractor.js +8 -0
- package/dist/call-graph/extractors/php-data-access-extractor.js.map +1 -1
- package/dist/call-graph/extractors/php-extractor.d.ts +48 -1
- package/dist/call-graph/extractors/php-extractor.d.ts.map +1 -1
- package/dist/call-graph/extractors/php-extractor.js +460 -6
- package/dist/call-graph/extractors/php-extractor.js.map +1 -1
- package/dist/call-graph/extractors/php-hybrid-extractor.d.ts +35 -0
- package/dist/call-graph/extractors/php-hybrid-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/php-hybrid-extractor.js +393 -0
- package/dist/call-graph/extractors/php-hybrid-extractor.js.map +1 -0
- package/dist/call-graph/extractors/python-data-access-extractor.d.ts +8 -0
- package/dist/call-graph/extractors/python-data-access-extractor.d.ts.map +1 -1
- package/dist/call-graph/extractors/python-data-access-extractor.js +8 -0
- package/dist/call-graph/extractors/python-data-access-extractor.js.map +1 -1
- package/dist/call-graph/extractors/python-hybrid-extractor.d.ts +85 -0
- package/dist/call-graph/extractors/python-hybrid-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/python-hybrid-extractor.js +462 -0
- package/dist/call-graph/extractors/python-hybrid-extractor.js.map +1 -0
- package/dist/call-graph/extractors/regex/base-regex-extractor.d.ts +154 -0
- package/dist/call-graph/extractors/regex/base-regex-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/regex/base-regex-extractor.js +346 -0
- package/dist/call-graph/extractors/regex/base-regex-extractor.js.map +1 -0
- package/dist/call-graph/extractors/regex/csharp-regex.d.ts +34 -0
- package/dist/call-graph/extractors/regex/csharp-regex.d.ts.map +1 -0
- package/dist/call-graph/extractors/regex/csharp-regex.js +393 -0
- package/dist/call-graph/extractors/regex/csharp-regex.js.map +1 -0
- package/dist/call-graph/extractors/regex/index.d.ts +25 -0
- package/dist/call-graph/extractors/regex/index.d.ts.map +1 -0
- package/dist/call-graph/extractors/regex/index.js +66 -0
- package/dist/call-graph/extractors/regex/index.js.map +1 -0
- package/dist/call-graph/extractors/regex/java-regex.d.ts +34 -0
- package/dist/call-graph/extractors/regex/java-regex.d.ts.map +1 -0
- package/dist/call-graph/extractors/regex/java-regex.js +327 -0
- package/dist/call-graph/extractors/regex/java-regex.js.map +1 -0
- package/dist/call-graph/extractors/regex/php-regex.d.ts +30 -0
- package/dist/call-graph/extractors/regex/php-regex.d.ts.map +1 -0
- package/dist/call-graph/extractors/regex/php-regex.js +333 -0
- package/dist/call-graph/extractors/regex/php-regex.js.map +1 -0
- package/dist/call-graph/extractors/regex/python-regex.d.ts +46 -0
- package/dist/call-graph/extractors/regex/python-regex.d.ts.map +1 -0
- package/dist/call-graph/extractors/regex/python-regex.js +380 -0
- package/dist/call-graph/extractors/regex/python-regex.js.map +1 -0
- package/dist/call-graph/extractors/regex/typescript-regex.d.ts +27 -0
- package/dist/call-graph/extractors/regex/typescript-regex.d.ts.map +1 -0
- package/dist/call-graph/extractors/regex/typescript-regex.js +349 -0
- package/dist/call-graph/extractors/regex/typescript-regex.js.map +1 -0
- package/dist/call-graph/extractors/semantic-data-access-scanner.d.ts +7 -0
- package/dist/call-graph/extractors/semantic-data-access-scanner.d.ts.map +1 -1
- package/dist/call-graph/extractors/semantic-data-access-scanner.js +7 -0
- package/dist/call-graph/extractors/semantic-data-access-scanner.js.map +1 -1
- package/dist/call-graph/extractors/types.d.ts +111 -0
- package/dist/call-graph/extractors/types.d.ts.map +1 -0
- package/dist/call-graph/extractors/types.js +68 -0
- package/dist/call-graph/extractors/types.js.map +1 -0
- package/dist/call-graph/extractors/typescript-data-access-extractor.d.ts +8 -0
- package/dist/call-graph/extractors/typescript-data-access-extractor.d.ts.map +1 -1
- package/dist/call-graph/extractors/typescript-data-access-extractor.js +8 -0
- package/dist/call-graph/extractors/typescript-data-access-extractor.js.map +1 -1
- package/dist/call-graph/extractors/typescript-hybrid-extractor.d.ts +116 -0
- package/dist/call-graph/extractors/typescript-hybrid-extractor.d.ts.map +1 -0
- package/dist/call-graph/extractors/typescript-hybrid-extractor.js +635 -0
- package/dist/call-graph/extractors/typescript-hybrid-extractor.js.map +1 -0
- package/dist/error-handling/error-handling-analyzer.d.ts +73 -0
- package/dist/error-handling/error-handling-analyzer.d.ts.map +1 -0
- package/dist/error-handling/error-handling-analyzer.js +706 -0
- package/dist/error-handling/error-handling-analyzer.js.map +1 -0
- package/dist/error-handling/index.d.ts +8 -0
- package/dist/error-handling/index.d.ts.map +1 -0
- package/dist/error-handling/index.js +8 -0
- package/dist/error-handling/index.js.map +1 -0
- package/dist/error-handling/types.d.ts +307 -0
- package/dist/error-handling/types.d.ts.map +1 -0
- package/dist/error-handling/types.js +7 -0
- package/dist/error-handling/types.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -0
- package/dist/index.js.map +1 -1
- package/dist/lake/pattern-shard-store.d.ts +6 -0
- package/dist/lake/pattern-shard-store.d.ts.map +1 -1
- package/dist/lake/pattern-shard-store.js +6 -0
- package/dist/lake/pattern-shard-store.js.map +1 -1
- package/dist/module-coupling/coupling-analyzer.d.ts +73 -0
- package/dist/module-coupling/coupling-analyzer.d.ts.map +1 -0
- package/dist/module-coupling/coupling-analyzer.js +668 -0
- package/dist/module-coupling/coupling-analyzer.js.map +1 -0
- package/dist/module-coupling/index.d.ts +9 -0
- package/dist/module-coupling/index.d.ts.map +1 -0
- package/dist/module-coupling/index.js +9 -0
- package/dist/module-coupling/index.js.map +1 -0
- package/dist/module-coupling/types.d.ts +273 -0
- package/dist/module-coupling/types.d.ts.map +1 -0
- package/dist/module-coupling/types.js +8 -0
- package/dist/module-coupling/types.js.map +1 -0
- package/dist/patterns/adapters/index.d.ts +11 -0
- package/dist/patterns/adapters/index.d.ts.map +1 -0
- package/dist/patterns/adapters/index.js +11 -0
- package/dist/patterns/adapters/index.js.map +1 -0
- package/dist/patterns/adapters/pattern-store-adapter.d.ts +59 -0
- package/dist/patterns/adapters/pattern-store-adapter.d.ts.map +1 -0
- package/dist/patterns/adapters/pattern-store-adapter.js +468 -0
- package/dist/patterns/adapters/pattern-store-adapter.js.map +1 -0
- package/dist/patterns/adapters/service-factory.d.ts +40 -0
- package/dist/patterns/adapters/service-factory.d.ts.map +1 -0
- package/dist/patterns/adapters/service-factory.js +144 -0
- package/dist/patterns/adapters/service-factory.js.map +1 -0
- package/dist/patterns/errors.d.ts +32 -0
- package/dist/patterns/errors.d.ts.map +1 -0
- package/dist/patterns/errors.js +45 -0
- package/dist/patterns/errors.js.map +1 -0
- package/dist/patterns/impl/cached-repository.d.ts +79 -0
- package/dist/patterns/impl/cached-repository.d.ts.map +1 -0
- package/dist/patterns/impl/cached-repository.js +296 -0
- package/dist/patterns/impl/cached-repository.js.map +1 -0
- package/dist/patterns/impl/file-repository.d.ts +75 -0
- package/dist/patterns/impl/file-repository.d.ts.map +1 -0
- package/dist/patterns/impl/file-repository.js +507 -0
- package/dist/patterns/impl/file-repository.js.map +1 -0
- package/dist/patterns/impl/index.d.ts +16 -0
- package/dist/patterns/impl/index.d.ts.map +1 -0
- package/dist/patterns/impl/index.js +21 -0
- package/dist/patterns/impl/index.js.map +1 -0
- package/dist/patterns/impl/memory-repository.d.ts +56 -0
- package/dist/patterns/impl/memory-repository.d.ts.map +1 -0
- package/dist/patterns/impl/memory-repository.js +323 -0
- package/dist/patterns/impl/memory-repository.js.map +1 -0
- package/dist/patterns/impl/pattern-service.d.ts +52 -0
- package/dist/patterns/impl/pattern-service.d.ts.map +1 -0
- package/dist/patterns/impl/pattern-service.js +382 -0
- package/dist/patterns/impl/pattern-service.js.map +1 -0
- package/dist/patterns/impl/repository-factory.d.ts +44 -0
- package/dist/patterns/impl/repository-factory.d.ts.map +1 -0
- package/dist/patterns/impl/repository-factory.js +140 -0
- package/dist/patterns/impl/repository-factory.js.map +1 -0
- package/dist/patterns/impl/unified-file-repository.d.ts +111 -0
- package/dist/patterns/impl/unified-file-repository.d.ts.map +1 -0
- package/dist/patterns/impl/unified-file-repository.js +677 -0
- package/dist/patterns/impl/unified-file-repository.js.map +1 -0
- package/dist/patterns/index.d.ts +23 -0
- package/dist/patterns/index.d.ts.map +1 -0
- package/dist/patterns/index.js +41 -0
- package/dist/patterns/index.js.map +1 -0
- package/dist/patterns/repository.d.ts +241 -0
- package/dist/patterns/repository.d.ts.map +1 -0
- package/dist/patterns/repository.js +23 -0
- package/dist/patterns/repository.js.map +1 -0
- package/dist/patterns/service.d.ts +245 -0
- package/dist/patterns/service.d.ts.map +1 -0
- package/dist/patterns/service.js +25 -0
- package/dist/patterns/service.js.map +1 -0
- package/dist/patterns/types.d.ts +227 -0
- package/dist/patterns/types.d.ts.map +1 -0
- package/dist/patterns/types.js +117 -0
- package/dist/patterns/types.js.map +1 -0
- package/dist/store/pattern-store.d.ts +6 -0
- package/dist/store/pattern-store.d.ts.map +1 -1
- package/dist/store/pattern-store.js +6 -0
- package/dist/store/pattern-store.js.map +1 -1
- package/dist/test-topology/extractors/base-test-extractor.d.ts +89 -0
- package/dist/test-topology/extractors/base-test-extractor.d.ts.map +1 -0
- package/dist/test-topology/extractors/base-test-extractor.js +187 -0
- package/dist/test-topology/extractors/base-test-extractor.js.map +1 -0
- package/dist/test-topology/extractors/csharp-test-extractor.d.ts +23 -0
- package/dist/test-topology/extractors/csharp-test-extractor.d.ts.map +1 -0
- package/dist/test-topology/extractors/csharp-test-extractor.js +367 -0
- package/dist/test-topology/extractors/csharp-test-extractor.js.map +1 -0
- package/dist/test-topology/extractors/index.d.ts +12 -0
- package/dist/test-topology/extractors/index.d.ts.map +1 -0
- package/dist/test-topology/extractors/index.js +12 -0
- package/dist/test-topology/extractors/index.js.map +1 -0
- package/dist/test-topology/extractors/java-test-extractor.d.ts +20 -0
- package/dist/test-topology/extractors/java-test-extractor.d.ts.map +1 -0
- package/dist/test-topology/extractors/java-test-extractor.js +275 -0
- package/dist/test-topology/extractors/java-test-extractor.js.map +1 -0
- package/dist/test-topology/extractors/php-test-extractor.d.ts +24 -0
- package/dist/test-topology/extractors/php-test-extractor.d.ts.map +1 -0
- package/dist/test-topology/extractors/php-test-extractor.js +409 -0
- package/dist/test-topology/extractors/php-test-extractor.js.map +1 -0
- package/dist/test-topology/extractors/python-test-extractor.d.ts +23 -0
- package/dist/test-topology/extractors/python-test-extractor.d.ts.map +1 -0
- package/dist/test-topology/extractors/python-test-extractor.js +342 -0
- package/dist/test-topology/extractors/python-test-extractor.js.map +1 -0
- package/dist/test-topology/extractors/regex/csharp-test-regex.d.ts +51 -0
- package/dist/test-topology/extractors/regex/csharp-test-regex.d.ts.map +1 -0
- package/dist/test-topology/extractors/regex/csharp-test-regex.js +383 -0
- package/dist/test-topology/extractors/regex/csharp-test-regex.js.map +1 -0
- package/dist/test-topology/extractors/regex/index.d.ts +18 -0
- package/dist/test-topology/extractors/regex/index.d.ts.map +1 -0
- package/dist/test-topology/extractors/regex/index.js +43 -0
- package/dist/test-topology/extractors/regex/index.js.map +1 -0
- package/dist/test-topology/extractors/regex/java-test-regex.d.ts +50 -0
- package/dist/test-topology/extractors/regex/java-test-regex.d.ts.map +1 -0
- package/dist/test-topology/extractors/regex/java-test-regex.js +370 -0
- package/dist/test-topology/extractors/regex/java-test-regex.js.map +1 -0
- package/dist/test-topology/extractors/regex/php-test-regex.d.ts +56 -0
- package/dist/test-topology/extractors/regex/php-test-regex.d.ts.map +1 -0
- package/dist/test-topology/extractors/regex/php-test-regex.js +503 -0
- package/dist/test-topology/extractors/regex/php-test-regex.js.map +1 -0
- package/dist/test-topology/extractors/regex/python-test-regex.d.ts +57 -0
- package/dist/test-topology/extractors/regex/python-test-regex.d.ts.map +1 -0
- package/dist/test-topology/extractors/regex/python-test-regex.js +381 -0
- package/dist/test-topology/extractors/regex/python-test-regex.js.map +1 -0
- package/dist/test-topology/extractors/regex/typescript-test-regex.d.ts +60 -0
- package/dist/test-topology/extractors/regex/typescript-test-regex.d.ts.map +1 -0
- package/dist/test-topology/extractors/regex/typescript-test-regex.js +368 -0
- package/dist/test-topology/extractors/regex/typescript-test-regex.js.map +1 -0
- package/dist/test-topology/extractors/typescript-test-extractor.d.ts +24 -0
- package/dist/test-topology/extractors/typescript-test-extractor.d.ts.map +1 -0
- package/dist/test-topology/extractors/typescript-test-extractor.js +266 -0
- package/dist/test-topology/extractors/typescript-test-extractor.js.map +1 -0
- package/dist/test-topology/hybrid-test-topology-analyzer.d.ts +98 -0
- package/dist/test-topology/hybrid-test-topology-analyzer.d.ts.map +1 -0
- package/dist/test-topology/hybrid-test-topology-analyzer.js +555 -0
- package/dist/test-topology/hybrid-test-topology-analyzer.js.map +1 -0
- package/dist/test-topology/index.d.ts +16 -0
- package/dist/test-topology/index.d.ts.map +1 -0
- package/dist/test-topology/index.js +19 -0
- package/dist/test-topology/index.js.map +1 -0
- package/dist/test-topology/test-topology-analyzer.d.ts +85 -0
- package/dist/test-topology/test-topology-analyzer.d.ts.map +1 -0
- package/dist/test-topology/test-topology-analyzer.js +538 -0
- package/dist/test-topology/test-topology-analyzer.js.map +1 -0
- package/dist/test-topology/types.d.ts +300 -0
- package/dist/test-topology/types.d.ts.map +1 -0
- package/dist/test-topology/types.js +7 -0
- package/dist/test-topology/types.js.map +1 -0
- package/dist/wrappers/clustering/clusterer.d.ts +43 -0
- package/dist/wrappers/clustering/clusterer.d.ts.map +1 -0
- package/dist/wrappers/clustering/clusterer.js +374 -0
- package/dist/wrappers/clustering/clusterer.js.map +1 -0
- package/dist/wrappers/clustering/exclusions.d.ts +47 -0
- package/dist/wrappers/clustering/exclusions.d.ts.map +1 -0
- package/dist/wrappers/clustering/exclusions.js +318 -0
- package/dist/wrappers/clustering/exclusions.js.map +1 -0
- package/dist/wrappers/clustering/index.d.ts +6 -0
- package/dist/wrappers/clustering/index.d.ts.map +1 -0
- package/dist/wrappers/clustering/index.js +6 -0
- package/dist/wrappers/clustering/index.js.map +1 -0
- package/dist/wrappers/detection/detector.d.ts +69 -0
- package/dist/wrappers/detection/detector.d.ts.map +1 -0
- package/dist/wrappers/detection/detector.js +279 -0
- package/dist/wrappers/detection/detector.js.map +1 -0
- package/dist/wrappers/detection/index.d.ts +5 -0
- package/dist/wrappers/detection/index.d.ts.map +1 -0
- package/dist/wrappers/detection/index.js +5 -0
- package/dist/wrappers/detection/index.js.map +1 -0
- package/dist/wrappers/export/index.d.ts +5 -0
- package/dist/wrappers/export/index.d.ts.map +1 -0
- package/dist/wrappers/export/index.js +5 -0
- package/dist/wrappers/export/index.js.map +1 -0
- package/dist/wrappers/export/json.d.ts +127 -0
- package/dist/wrappers/export/json.d.ts.map +1 -0
- package/dist/wrappers/export/json.js +160 -0
- package/dist/wrappers/export/json.js.map +1 -0
- package/dist/wrappers/index.d.ts +56 -0
- package/dist/wrappers/index.d.ts.map +1 -0
- package/dist/wrappers/index.js +159 -0
- package/dist/wrappers/index.js.map +1 -0
- package/dist/wrappers/integration/adapter.d.ts +52 -0
- package/dist/wrappers/integration/adapter.d.ts.map +1 -0
- package/dist/wrappers/integration/adapter.js +209 -0
- package/dist/wrappers/integration/adapter.js.map +1 -0
- package/dist/wrappers/integration/index.d.ts +9 -0
- package/dist/wrappers/integration/index.d.ts.map +1 -0
- package/dist/wrappers/integration/index.js +12 -0
- package/dist/wrappers/integration/index.js.map +1 -0
- package/dist/wrappers/integration/pattern-adapter.d.ts +52 -0
- package/dist/wrappers/integration/pattern-adapter.d.ts.map +1 -0
- package/dist/wrappers/integration/pattern-adapter.js +192 -0
- package/dist/wrappers/integration/pattern-adapter.js.map +1 -0
- package/dist/wrappers/integration/scanner.d.ts +85 -0
- package/dist/wrappers/integration/scanner.d.ts.map +1 -0
- package/dist/wrappers/integration/scanner.js +367 -0
- package/dist/wrappers/integration/scanner.js.map +1 -0
- package/dist/wrappers/primitives/discovery.d.ts +57 -0
- package/dist/wrappers/primitives/discovery.d.ts.map +1 -0
- package/dist/wrappers/primitives/discovery.js +389 -0
- package/dist/wrappers/primitives/discovery.js.map +1 -0
- package/dist/wrappers/primitives/index.d.ts +6 -0
- package/dist/wrappers/primitives/index.d.ts.map +1 -0
- package/dist/wrappers/primitives/index.js +6 -0
- package/dist/wrappers/primitives/index.js.map +1 -0
- package/dist/wrappers/primitives/registry.d.ts +63 -0
- package/dist/wrappers/primitives/registry.d.ts.map +1 -0
- package/dist/wrappers/primitives/registry.js +447 -0
- package/dist/wrappers/primitives/registry.js.map +1 -0
- package/dist/wrappers/types.d.ts +137 -0
- package/dist/wrappers/types.d.ts.map +1 -0
- package/dist/wrappers/types.js +7 -0
- package/dist/wrappers/types.js.map +1 -0
- package/package.json +5 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coupling-analyzer.js","sourceRoot":"","sources":["../../src/module-coupling/coupling-analyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module Coupling Module
|
|
3
|
+
*
|
|
4
|
+
* Provides dependency graph analysis, cycle detection, and coupling metrics.
|
|
5
|
+
* Based on Robert C. Martin's coupling metrics (Ca, Ce, Instability, Abstractness, Distance).
|
|
6
|
+
*/
|
|
7
|
+
export type { ModuleRole, CycleSeverity, BreakEffort, CouplingMetrics, ExportedSymbol, ModuleNode, ImportEdge, CycleBreakSuggestion, DependencyCycle, AggregateCouplingMetrics, ModuleCouplingGraph, ModuleCouplingAnalysis, RefactorImpact, UnusedExportAnalysis, ModuleCouplingOptions, CycleDetectionOptions, HotspotOptions, } from './types.js';
|
|
8
|
+
export { ModuleCouplingAnalyzer, createModuleCouplingAnalyzer, } from './coupling-analyzer.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/module-coupling/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,UAAU,EACV,aAAa,EACb,WAAW,EACX,eAAe,EACf,cAAc,EACd,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module Coupling Module
|
|
3
|
+
*
|
|
4
|
+
* Provides dependency graph analysis, cycle detection, and coupling metrics.
|
|
5
|
+
* Based on Robert C. Martin's coupling metrics (Ca, Ce, Instability, Abstractness, Distance).
|
|
6
|
+
*/
|
|
7
|
+
// Analyzer
|
|
8
|
+
export { ModuleCouplingAnalyzer, createModuleCouplingAnalyzer, } from './coupling-analyzer.js';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/module-coupling/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuBH,WAAW;AACX,OAAO,EACL,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module Coupling Types
|
|
3
|
+
*
|
|
4
|
+
* Types for analyzing module dependencies, coupling metrics, and cycle detection.
|
|
5
|
+
* Based on Robert C. Martin's coupling metrics.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Role of a module in the dependency graph
|
|
9
|
+
*/
|
|
10
|
+
export type ModuleRole = 'hub' | 'authority' | 'balanced' | 'isolated';
|
|
11
|
+
/**
|
|
12
|
+
* Severity of a dependency cycle
|
|
13
|
+
*/
|
|
14
|
+
export type CycleSeverity = 'critical' | 'warning' | 'info';
|
|
15
|
+
/**
|
|
16
|
+
* Effort level for breaking a cycle
|
|
17
|
+
*/
|
|
18
|
+
export type BreakEffort = 'low' | 'medium' | 'high';
|
|
19
|
+
/**
|
|
20
|
+
* Coupling metrics for a module (Robert C. Martin metrics)
|
|
21
|
+
*/
|
|
22
|
+
export interface CouplingMetrics {
|
|
23
|
+
/** Afferent coupling: number of modules that depend on this one */
|
|
24
|
+
Ca: number;
|
|
25
|
+
/** Efferent coupling: number of modules this depends on */
|
|
26
|
+
Ce: number;
|
|
27
|
+
/** Instability: Ce / (Ca + Ce). 0 = stable, 1 = unstable */
|
|
28
|
+
instability: number;
|
|
29
|
+
/** Abstractness: ratio of abstract types to total types (0-1) */
|
|
30
|
+
abstractness: number;
|
|
31
|
+
/** Distance from main sequence: |A + I - 1|. 0 = ideal */
|
|
32
|
+
distance: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* An exported symbol from a module
|
|
36
|
+
*/
|
|
37
|
+
export interface ExportedSymbol {
|
|
38
|
+
/** Symbol name */
|
|
39
|
+
name: string;
|
|
40
|
+
/** Type: function, class, interface, type, const, etc. */
|
|
41
|
+
kind: 'function' | 'class' | 'interface' | 'type' | 'const' | 'enum' | 'other';
|
|
42
|
+
/** Is this a type-only export? */
|
|
43
|
+
isTypeOnly: boolean;
|
|
44
|
+
/** Line number */
|
|
45
|
+
line: number;
|
|
46
|
+
/** Is this a re-export from another module? */
|
|
47
|
+
isReExport: boolean;
|
|
48
|
+
/** Original module if re-exported */
|
|
49
|
+
reExportFrom?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* A module node in the coupling graph
|
|
53
|
+
*/
|
|
54
|
+
export interface ModuleNode {
|
|
55
|
+
/** File path */
|
|
56
|
+
path: string;
|
|
57
|
+
/** Language */
|
|
58
|
+
language: 'typescript' | 'javascript' | 'python' | 'java' | 'csharp' | 'php';
|
|
59
|
+
/** Modules that import this one (afferent coupling) */
|
|
60
|
+
importedBy: string[];
|
|
61
|
+
/** Modules this imports (efferent coupling) */
|
|
62
|
+
imports: string[];
|
|
63
|
+
/** Coupling metrics */
|
|
64
|
+
metrics: CouplingMetrics;
|
|
65
|
+
/** Role in the dependency graph */
|
|
66
|
+
role: ModuleRole;
|
|
67
|
+
/** Exports from this module */
|
|
68
|
+
exports: ExportedSymbol[];
|
|
69
|
+
/** Unused exports (exported but never imported) */
|
|
70
|
+
unusedExports: string[];
|
|
71
|
+
/** Is this an entry point? */
|
|
72
|
+
isEntryPoint: boolean;
|
|
73
|
+
/** Is this a leaf node (no outgoing deps)? */
|
|
74
|
+
isLeaf: boolean;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* An import edge in the coupling graph
|
|
78
|
+
*/
|
|
79
|
+
export interface ImportEdge {
|
|
80
|
+
/** Source module */
|
|
81
|
+
from: string;
|
|
82
|
+
/** Target module */
|
|
83
|
+
to: string;
|
|
84
|
+
/** Symbols being imported */
|
|
85
|
+
symbols: string[];
|
|
86
|
+
/** Is this a type-only import? */
|
|
87
|
+
isTypeOnly: boolean;
|
|
88
|
+
/** Import weight (more symbols = tighter coupling) */
|
|
89
|
+
weight: number;
|
|
90
|
+
/** Line number of the import */
|
|
91
|
+
line: number;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* A suggestion for breaking a dependency cycle
|
|
95
|
+
*/
|
|
96
|
+
export interface CycleBreakSuggestion {
|
|
97
|
+
/** Edge to remove */
|
|
98
|
+
edge: {
|
|
99
|
+
from: string;
|
|
100
|
+
to: string;
|
|
101
|
+
};
|
|
102
|
+
/** Why this is a good break point */
|
|
103
|
+
rationale: string;
|
|
104
|
+
/** Estimated effort */
|
|
105
|
+
effort: BreakEffort;
|
|
106
|
+
/** Suggested refactoring approach */
|
|
107
|
+
approach: string;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* A detected dependency cycle
|
|
111
|
+
*/
|
|
112
|
+
export interface DependencyCycle {
|
|
113
|
+
/** Unique ID */
|
|
114
|
+
id: string;
|
|
115
|
+
/** Modules in the cycle (in order) */
|
|
116
|
+
path: string[];
|
|
117
|
+
/** Cycle length */
|
|
118
|
+
length: number;
|
|
119
|
+
/** Severity based on cycle length and module importance */
|
|
120
|
+
severity: CycleSeverity;
|
|
121
|
+
/** Suggested break points */
|
|
122
|
+
breakPoints: CycleBreakSuggestion[];
|
|
123
|
+
/** Total coupling weight of the cycle */
|
|
124
|
+
totalWeight: number;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Aggregate coupling metrics for the entire codebase
|
|
128
|
+
*/
|
|
129
|
+
export interface AggregateCouplingMetrics {
|
|
130
|
+
/** Total number of modules */
|
|
131
|
+
totalModules: number;
|
|
132
|
+
/** Total number of import edges */
|
|
133
|
+
totalEdges: number;
|
|
134
|
+
/** Average instability across all modules */
|
|
135
|
+
avgInstability: number;
|
|
136
|
+
/** Average distance from main sequence */
|
|
137
|
+
avgDistance: number;
|
|
138
|
+
/** Number of cycles */
|
|
139
|
+
cycleCount: number;
|
|
140
|
+
/** Modules in the "zone of pain" (stable + concrete) */
|
|
141
|
+
zoneOfPain: string[];
|
|
142
|
+
/** Modules in the "zone of uselessness" (unstable + abstract) */
|
|
143
|
+
zoneOfUselessness: string[];
|
|
144
|
+
/** Most coupled modules (highest Ca + Ce) */
|
|
145
|
+
hotspots: Array<{
|
|
146
|
+
path: string;
|
|
147
|
+
coupling: number;
|
|
148
|
+
}>;
|
|
149
|
+
/** Isolated modules (no imports or exports) */
|
|
150
|
+
isolatedModules: string[];
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* The complete module coupling graph
|
|
154
|
+
*/
|
|
155
|
+
export interface ModuleCouplingGraph {
|
|
156
|
+
/** All modules */
|
|
157
|
+
modules: Map<string, ModuleNode>;
|
|
158
|
+
/** All import edges */
|
|
159
|
+
edges: ImportEdge[];
|
|
160
|
+
/** Detected cycles */
|
|
161
|
+
cycles: DependencyCycle[];
|
|
162
|
+
/** Aggregate metrics */
|
|
163
|
+
metrics: AggregateCouplingMetrics;
|
|
164
|
+
/** Generation timestamp */
|
|
165
|
+
generatedAt: string;
|
|
166
|
+
/** Project root */
|
|
167
|
+
projectRoot: string;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Result of analyzing a single module's coupling
|
|
171
|
+
*/
|
|
172
|
+
export interface ModuleCouplingAnalysis {
|
|
173
|
+
/** The module being analyzed */
|
|
174
|
+
module: ModuleNode;
|
|
175
|
+
/** Direct dependencies */
|
|
176
|
+
directDependencies: Array<{
|
|
177
|
+
path: string;
|
|
178
|
+
symbols: string[];
|
|
179
|
+
weight: number;
|
|
180
|
+
}>;
|
|
181
|
+
/** Direct dependents */
|
|
182
|
+
directDependents: Array<{
|
|
183
|
+
path: string;
|
|
184
|
+
symbols: string[];
|
|
185
|
+
weight: number;
|
|
186
|
+
}>;
|
|
187
|
+
/** Transitive dependencies (all modules this eventually depends on) */
|
|
188
|
+
transitiveDependencies: string[];
|
|
189
|
+
/** Transitive dependents (all modules that eventually depend on this) */
|
|
190
|
+
transitiveDependents: string[];
|
|
191
|
+
/** Cycles this module participates in */
|
|
192
|
+
cyclesInvolved: DependencyCycle[];
|
|
193
|
+
/** Health assessment */
|
|
194
|
+
health: {
|
|
195
|
+
score: number;
|
|
196
|
+
issues: string[];
|
|
197
|
+
suggestions: string[];
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Result of refactor impact analysis
|
|
202
|
+
*/
|
|
203
|
+
export interface RefactorImpact {
|
|
204
|
+
/** Target module being refactored */
|
|
205
|
+
target: string;
|
|
206
|
+
/** Modules that would need updates */
|
|
207
|
+
affectedModules: Array<{
|
|
208
|
+
path: string;
|
|
209
|
+
reason: string;
|
|
210
|
+
effort: BreakEffort;
|
|
211
|
+
}>;
|
|
212
|
+
/** Total affected modules */
|
|
213
|
+
totalAffected: number;
|
|
214
|
+
/** Risk level */
|
|
215
|
+
risk: 'low' | 'medium' | 'high' | 'critical';
|
|
216
|
+
/** Suggested approach */
|
|
217
|
+
suggestions: string[];
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Unused export analysis result
|
|
221
|
+
*/
|
|
222
|
+
export interface UnusedExportAnalysis {
|
|
223
|
+
/** Module with unused exports */
|
|
224
|
+
module: string;
|
|
225
|
+
/** Unused export names */
|
|
226
|
+
unusedExports: Array<{
|
|
227
|
+
name: string;
|
|
228
|
+
kind: ExportedSymbol['kind'];
|
|
229
|
+
line: number;
|
|
230
|
+
}>;
|
|
231
|
+
/** Possible reasons */
|
|
232
|
+
possibleReasons: ('dead-code' | 'public-api' | 'test-only' | 'dynamic-import')[];
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Options for module coupling analysis
|
|
236
|
+
*/
|
|
237
|
+
export interface ModuleCouplingOptions {
|
|
238
|
+
/** Root directory */
|
|
239
|
+
rootDir: string;
|
|
240
|
+
/** File patterns to include */
|
|
241
|
+
includePatterns?: string[];
|
|
242
|
+
/** Patterns to exclude */
|
|
243
|
+
excludePatterns?: string[];
|
|
244
|
+
/** Include external dependencies (node_modules, etc.) */
|
|
245
|
+
includeExternal?: boolean;
|
|
246
|
+
/** Granularity: file or directory level */
|
|
247
|
+
granularity?: 'file' | 'directory';
|
|
248
|
+
/** Maximum depth for transitive analysis */
|
|
249
|
+
maxDepth?: number;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Options for cycle detection
|
|
253
|
+
*/
|
|
254
|
+
export interface CycleDetectionOptions {
|
|
255
|
+
/** Maximum cycle length to report */
|
|
256
|
+
maxCycleLength?: number;
|
|
257
|
+
/** Minimum severity to report */
|
|
258
|
+
minSeverity?: CycleSeverity;
|
|
259
|
+
/** Include break suggestions */
|
|
260
|
+
includeBreakSuggestions?: boolean;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Options for hotspot detection
|
|
264
|
+
*/
|
|
265
|
+
export interface HotspotOptions {
|
|
266
|
+
/** Maximum hotspots to return */
|
|
267
|
+
limit?: number;
|
|
268
|
+
/** Minimum coupling to be considered a hotspot */
|
|
269
|
+
minCoupling?: number;
|
|
270
|
+
/** Include zone analysis */
|
|
271
|
+
includeZones?: boolean;
|
|
272
|
+
}
|
|
273
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/module-coupling/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/module-coupling/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pattern System Adapters
|
|
3
|
+
*
|
|
4
|
+
* Adapters for bridging the legacy pattern storage systems
|
|
5
|
+
* to the new unified IPatternRepository interface.
|
|
6
|
+
*
|
|
7
|
+
* @module patterns/adapters
|
|
8
|
+
*/
|
|
9
|
+
export { PatternStoreAdapter, createPatternStoreAdapter, } from './pattern-store-adapter.js';
|
|
10
|
+
export { createPatternServiceFromStore, } from './service-factory.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/patterns/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pattern System Adapters
|
|
3
|
+
*
|
|
4
|
+
* Adapters for bridging the legacy pattern storage systems
|
|
5
|
+
* to the new unified IPatternRepository interface.
|
|
6
|
+
*
|
|
7
|
+
* @module patterns/adapters
|
|
8
|
+
*/
|
|
9
|
+
export { PatternStoreAdapter, createPatternStoreAdapter, } from './pattern-store-adapter.js';
|
|
10
|
+
export { createPatternServiceFromStore, } from './service-factory.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/patterns/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pattern Store Adapter
|
|
3
|
+
*
|
|
4
|
+
* Adapts the existing PatternStore to the new IPatternRepository interface.
|
|
5
|
+
* This enables gradual migration of consumers to the new pattern system
|
|
6
|
+
* while maintaining backward compatibility.
|
|
7
|
+
*
|
|
8
|
+
* @module patterns/adapters/pattern-store-adapter
|
|
9
|
+
*/
|
|
10
|
+
import { EventEmitter } from 'node:events';
|
|
11
|
+
import type { Pattern as UnifiedPattern, PatternCategory, PatternStatus, PatternSummary } from '../types.js';
|
|
12
|
+
import type { IPatternRepository, PatternRepositoryEventType, PatternRepositoryEventHandler, PatternQueryOptions, PatternQueryResult, PatternFilter } from '../repository.js';
|
|
13
|
+
import type { PatternStore } from '../../store/pattern-store.js';
|
|
14
|
+
/**
|
|
15
|
+
* Adapter that wraps the existing PatternStore and exposes it
|
|
16
|
+
* through the IPatternRepository interface.
|
|
17
|
+
*
|
|
18
|
+
* This enables gradual migration of consumers to the new pattern system.
|
|
19
|
+
*/
|
|
20
|
+
export declare class PatternStoreAdapter extends EventEmitter implements IPatternRepository {
|
|
21
|
+
private readonly store;
|
|
22
|
+
private initialized;
|
|
23
|
+
constructor(store: PatternStore);
|
|
24
|
+
private setupEventForwarding;
|
|
25
|
+
initialize(): Promise<void>;
|
|
26
|
+
close(): Promise<void>;
|
|
27
|
+
add(pattern: UnifiedPattern): Promise<void>;
|
|
28
|
+
addMany(patterns: UnifiedPattern[]): Promise<void>;
|
|
29
|
+
get(id: string): Promise<UnifiedPattern | null>;
|
|
30
|
+
update(id: string, updates: Partial<UnifiedPattern>): Promise<UnifiedPattern>;
|
|
31
|
+
delete(id: string): Promise<boolean>;
|
|
32
|
+
query(options: PatternQueryOptions): Promise<PatternQueryResult>;
|
|
33
|
+
private applyFilter;
|
|
34
|
+
private applySort;
|
|
35
|
+
getByCategory(category: PatternCategory): Promise<UnifiedPattern[]>;
|
|
36
|
+
getByStatus(status: PatternStatus): Promise<UnifiedPattern[]>;
|
|
37
|
+
getByFile(file: string): Promise<UnifiedPattern[]>;
|
|
38
|
+
getAll(): Promise<UnifiedPattern[]>;
|
|
39
|
+
count(filter?: PatternFilter): Promise<number>;
|
|
40
|
+
approve(id: string, approvedBy?: string): Promise<UnifiedPattern>;
|
|
41
|
+
ignore(id: string): Promise<UnifiedPattern>;
|
|
42
|
+
saveAll(): Promise<void>;
|
|
43
|
+
clear(): Promise<void>;
|
|
44
|
+
on(event: PatternRepositoryEventType, handler: PatternRepositoryEventHandler): this;
|
|
45
|
+
off(event: PatternRepositoryEventType, handler: PatternRepositoryEventHandler): this;
|
|
46
|
+
exists(id: string): Promise<boolean>;
|
|
47
|
+
getSummaries(options?: PatternQueryOptions): Promise<PatternSummary[]>;
|
|
48
|
+
private ensureInitialized;
|
|
49
|
+
/**
|
|
50
|
+
* Get the underlying PatternStore for legacy code that needs direct access.
|
|
51
|
+
* @deprecated Use the IPatternRepository interface instead.
|
|
52
|
+
*/
|
|
53
|
+
getLegacyStore(): PatternStore;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Create a PatternStoreAdapter from an existing PatternStore
|
|
57
|
+
*/
|
|
58
|
+
export declare function createPatternStoreAdapter(store: PatternStore): PatternStoreAdapter;
|
|
59
|
+
//# sourceMappingURL=pattern-store-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern-store-adapter.d.ts","sourceRoot":"","sources":["../../../src/patterns/adapters/pattern-store-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EACV,OAAO,IAAI,cAAc,EACzB,eAAe,EACf,aAAa,EACb,cAAc,EAIf,MAAM,aAAa,CAAC;AAOrB,OAAO,KAAK,EACV,kBAAkB,EAClB,0BAA0B,EAC1B,6BAA6B,EAC7B,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EAEd,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AA8HjE;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,YAAa,YAAW,kBAAkB;IACjF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,WAAW,CAAkB;gBAEzB,KAAK,EAAE,YAAY;IAQ/B,OAAO,CAAC,oBAAoB;IA2BtB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAUtB,GAAG,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3C,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAS/C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IA4B7E,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAcpC,KAAK,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgCtE,OAAO,CAAC,WAAW;IAyCnB,OAAO,CAAC,SAAS;IAmCX,aAAa,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAOnE,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAO7D,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAOlD,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAKnC,KAAK,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAa9C,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAqBjE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAyB3C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAcnB,EAAE,CAAC,KAAK,EAAE,0BAA0B,EAAE,OAAO,EAAE,6BAA6B,GAAG,IAAI;IAInF,GAAG,CAAC,KAAK,EAAE,0BAA0B,EAAE,OAAO,EAAE,6BAA6B,GAAG,IAAI;IAQvF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpC,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAK5E,OAAO,CAAC,iBAAiB;IAUzB;;;OAGG;IACH,cAAc,IAAI,YAAY;CAG/B;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,YAAY,GAAG,mBAAmB,CAElF"}
|