pcu 0.5.6 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/bin/pcu.js +1 -1
  2. package/dist/index.js +9559 -32
  3. package/dist/index.js.map +1 -1
  4. package/package.json +36 -84
  5. package/src/cli/commands/checkCommand.ts +227 -0
  6. package/src/cli/commands/initCommand.ts +394 -0
  7. package/src/cli/commands/securityCommand.ts +569 -0
  8. package/src/cli/commands/updateCommand.ts +245 -0
  9. package/src/cli/formatters/outputFormatter.ts +830 -0
  10. package/src/cli/formatters/progressBar.ts +700 -0
  11. package/src/cli/index.ts +565 -0
  12. package/src/cli/interactive/interactivePrompts.ts +517 -0
  13. package/src/cli/options/globalOptions.ts +380 -0
  14. package/src/cli/options/index.ts +5 -0
  15. package/src/cli/themes/colorTheme.ts +379 -0
  16. package/src/cli/validators/commandValidator.ts +395 -0
  17. package/src/cli/validators/index.ts +5 -0
  18. package/src/index.ts +4 -0
  19. package/README.ja.md +0 -582
  20. package/README.md +0 -690
  21. package/README.zh-CN.md +0 -630
  22. package/dist/application/services/CatalogUpdateService.d.ts +0 -209
  23. package/dist/application/services/CatalogUpdateService.d.ts.map +0 -1
  24. package/dist/application/services/CatalogUpdateService.js +0 -836
  25. package/dist/application/services/CatalogUpdateService.js.map +0 -1
  26. package/dist/application/services/WorkspaceService.d.ts +0 -139
  27. package/dist/application/services/WorkspaceService.d.ts.map +0 -1
  28. package/dist/application/services/WorkspaceService.js +0 -340
  29. package/dist/application/services/WorkspaceService.js.map +0 -1
  30. package/dist/cli/commands/CheckCommand.d.ts +0 -40
  31. package/dist/cli/commands/CheckCommand.d.ts.map +0 -1
  32. package/dist/cli/commands/CheckCommand.js +0 -177
  33. package/dist/cli/commands/CheckCommand.js.map +0 -1
  34. package/dist/cli/commands/InitCommand.d.ts +0 -53
  35. package/dist/cli/commands/InitCommand.d.ts.map +0 -1
  36. package/dist/cli/commands/InitCommand.js +0 -338
  37. package/dist/cli/commands/InitCommand.js.map +0 -1
  38. package/dist/cli/commands/SecurityCommand.d.ts +0 -113
  39. package/dist/cli/commands/SecurityCommand.d.ts.map +0 -1
  40. package/dist/cli/commands/SecurityCommand.js +0 -410
  41. package/dist/cli/commands/SecurityCommand.js.map +0 -1
  42. package/dist/cli/commands/UpdateCommand.d.ts +0 -44
  43. package/dist/cli/commands/UpdateCommand.d.ts.map +0 -1
  44. package/dist/cli/commands/UpdateCommand.js +0 -189
  45. package/dist/cli/commands/UpdateCommand.js.map +0 -1
  46. package/dist/cli/formatters/OutputFormatter.d.ts +0 -116
  47. package/dist/cli/formatters/OutputFormatter.d.ts.map +0 -1
  48. package/dist/cli/formatters/OutputFormatter.js +0 -664
  49. package/dist/cli/formatters/OutputFormatter.js.map +0 -1
  50. package/dist/cli/formatters/ProgressBar.d.ts +0 -195
  51. package/dist/cli/formatters/ProgressBar.d.ts.map +0 -1
  52. package/dist/cli/formatters/ProgressBar.js +0 -622
  53. package/dist/cli/formatters/ProgressBar.js.map +0 -1
  54. package/dist/cli/index.d.ts +0 -12
  55. package/dist/cli/index.d.ts.map +0 -1
  56. package/dist/cli/index.js +0 -492
  57. package/dist/cli/index.js.map +0 -1
  58. package/dist/cli/interactive/InteractivePrompts.d.ts +0 -85
  59. package/dist/cli/interactive/InteractivePrompts.d.ts.map +0 -1
  60. package/dist/cli/interactive/InteractivePrompts.js +0 -434
  61. package/dist/cli/interactive/InteractivePrompts.js.map +0 -1
  62. package/dist/cli/options/GlobalOptions.d.ts +0 -117
  63. package/dist/cli/options/GlobalOptions.d.ts.map +0 -1
  64. package/dist/cli/options/GlobalOptions.js +0 -278
  65. package/dist/cli/options/GlobalOptions.js.map +0 -1
  66. package/dist/cli/options/index.d.ts +0 -5
  67. package/dist/cli/options/index.d.ts.map +0 -1
  68. package/dist/cli/options/index.js +0 -5
  69. package/dist/cli/options/index.js.map +0 -1
  70. package/dist/cli/themes/ColorTheme.d.ts +0 -211
  71. package/dist/cli/themes/ColorTheme.d.ts.map +0 -1
  72. package/dist/cli/themes/ColorTheme.js +0 -267
  73. package/dist/cli/themes/ColorTheme.js.map +0 -1
  74. package/dist/cli/validators/CommandValidator.d.ts +0 -60
  75. package/dist/cli/validators/CommandValidator.d.ts.map +0 -1
  76. package/dist/cli/validators/CommandValidator.js +0 -319
  77. package/dist/cli/validators/CommandValidator.js.map +0 -1
  78. package/dist/cli/validators/index.d.ts +0 -5
  79. package/dist/cli/validators/index.d.ts.map +0 -1
  80. package/dist/cli/validators/index.js +0 -5
  81. package/dist/cli/validators/index.js.map +0 -1
  82. package/dist/common/config/Config.d.ts +0 -142
  83. package/dist/common/config/Config.d.ts.map +0 -1
  84. package/dist/common/config/Config.js +0 -382
  85. package/dist/common/config/Config.js.map +0 -1
  86. package/dist/common/config/ConfigLoader.d.ts +0 -49
  87. package/dist/common/config/ConfigLoader.d.ts.map +0 -1
  88. package/dist/common/config/ConfigLoader.js +0 -180
  89. package/dist/common/config/ConfigLoader.js.map +0 -1
  90. package/dist/common/config/PackageFilterConfig.d.ts +0 -56
  91. package/dist/common/config/PackageFilterConfig.d.ts.map +0 -1
  92. package/dist/common/config/PackageFilterConfig.js +0 -94
  93. package/dist/common/config/PackageFilterConfig.js.map +0 -1
  94. package/dist/common/config/index.d.ts +0 -8
  95. package/dist/common/config/index.d.ts.map +0 -1
  96. package/dist/common/config/index.js +0 -8
  97. package/dist/common/config/index.js.map +0 -1
  98. package/dist/common/error-handling/ErrorTracker.d.ts +0 -48
  99. package/dist/common/error-handling/ErrorTracker.d.ts.map +0 -1
  100. package/dist/common/error-handling/ErrorTracker.js +0 -93
  101. package/dist/common/error-handling/ErrorTracker.js.map +0 -1
  102. package/dist/common/error-handling/UserFriendlyErrorHandler.d.ts +0 -74
  103. package/dist/common/error-handling/UserFriendlyErrorHandler.d.ts.map +0 -1
  104. package/dist/common/error-handling/UserFriendlyErrorHandler.js +0 -703
  105. package/dist/common/error-handling/UserFriendlyErrorHandler.js.map +0 -1
  106. package/dist/common/error-handling/index.d.ts +0 -11
  107. package/dist/common/error-handling/index.d.ts.map +0 -1
  108. package/dist/common/error-handling/index.js +0 -9
  109. package/dist/common/error-handling/index.js.map +0 -1
  110. package/dist/common/logger/Logger.d.ts +0 -110
  111. package/dist/common/logger/Logger.d.ts.map +0 -1
  112. package/dist/common/logger/Logger.js +0 -289
  113. package/dist/common/logger/Logger.js.map +0 -1
  114. package/dist/common/logger/index.d.ts +0 -6
  115. package/dist/common/logger/index.d.ts.map +0 -1
  116. package/dist/common/logger/index.js +0 -6
  117. package/dist/common/logger/index.js.map +0 -1
  118. package/dist/common/types/cli.d.ts +0 -265
  119. package/dist/common/types/cli.d.ts.map +0 -1
  120. package/dist/common/types/cli.js +0 -5
  121. package/dist/common/types/cli.js.map +0 -1
  122. package/dist/common/types/core.d.ts +0 -270
  123. package/dist/common/types/core.d.ts.map +0 -1
  124. package/dist/common/types/core.js +0 -32
  125. package/dist/common/types/core.js.map +0 -1
  126. package/dist/common/types/index.d.ts +0 -8
  127. package/dist/common/types/index.d.ts.map +0 -1
  128. package/dist/common/types/index.js +0 -8
  129. package/dist/common/types/index.js.map +0 -1
  130. package/dist/common/utils/VersionChecker.d.ts +0 -54
  131. package/dist/common/utils/VersionChecker.d.ts.map +0 -1
  132. package/dist/common/utils/VersionChecker.js +0 -180
  133. package/dist/common/utils/VersionChecker.js.map +0 -1
  134. package/dist/common/utils/async.d.ts +0 -74
  135. package/dist/common/utils/async.d.ts.map +0 -1
  136. package/dist/common/utils/async.js +0 -228
  137. package/dist/common/utils/async.js.map +0 -1
  138. package/dist/common/utils/format.d.ts +0 -32
  139. package/dist/common/utils/format.d.ts.map +0 -1
  140. package/dist/common/utils/format.js +0 -121
  141. package/dist/common/utils/format.js.map +0 -1
  142. package/dist/common/utils/git.d.ts +0 -44
  143. package/dist/common/utils/git.d.ts.map +0 -1
  144. package/dist/common/utils/git.js +0 -147
  145. package/dist/common/utils/git.js.map +0 -1
  146. package/dist/common/utils/index.d.ts +0 -12
  147. package/dist/common/utils/index.d.ts.map +0 -1
  148. package/dist/common/utils/index.js +0 -12
  149. package/dist/common/utils/index.js.map +0 -1
  150. package/dist/common/utils/string.d.ts +0 -56
  151. package/dist/common/utils/string.d.ts.map +0 -1
  152. package/dist/common/utils/string.js +0 -134
  153. package/dist/common/utils/string.js.map +0 -1
  154. package/dist/common/utils/validation.d.ts +0 -88
  155. package/dist/common/utils/validation.d.ts.map +0 -1
  156. package/dist/common/utils/validation.js +0 -308
  157. package/dist/common/utils/validation.js.map +0 -1
  158. package/dist/domain/entities/Catalog.d.ts +0 -117
  159. package/dist/domain/entities/Catalog.d.ts.map +0 -1
  160. package/dist/domain/entities/Catalog.js +0 -240
  161. package/dist/domain/entities/Catalog.js.map +0 -1
  162. package/dist/domain/entities/Package.d.ts +0 -143
  163. package/dist/domain/entities/Package.d.ts.map +0 -1
  164. package/dist/domain/entities/Package.js +0 -272
  165. package/dist/domain/entities/Package.js.map +0 -1
  166. package/dist/domain/entities/Workspace.d.ts +0 -95
  167. package/dist/domain/entities/Workspace.d.ts.map +0 -1
  168. package/dist/domain/entities/Workspace.js +0 -173
  169. package/dist/domain/entities/Workspace.js.map +0 -1
  170. package/dist/domain/repositories/WorkspaceRepository.d.ts +0 -41
  171. package/dist/domain/repositories/WorkspaceRepository.d.ts.map +0 -1
  172. package/dist/domain/repositories/WorkspaceRepository.js +0 -8
  173. package/dist/domain/repositories/WorkspaceRepository.js.map +0 -1
  174. package/dist/domain/value-objects/CatalogCollection.d.ts +0 -106
  175. package/dist/domain/value-objects/CatalogCollection.d.ts.map +0 -1
  176. package/dist/domain/value-objects/CatalogCollection.js +0 -230
  177. package/dist/domain/value-objects/CatalogCollection.js.map +0 -1
  178. package/dist/domain/value-objects/PackageCollection.d.ts +0 -122
  179. package/dist/domain/value-objects/PackageCollection.d.ts.map +0 -1
  180. package/dist/domain/value-objects/PackageCollection.js +0 -263
  181. package/dist/domain/value-objects/PackageCollection.js.map +0 -1
  182. package/dist/domain/value-objects/Version.d.ts +0 -141
  183. package/dist/domain/value-objects/Version.d.ts.map +0 -1
  184. package/dist/domain/value-objects/Version.js +0 -268
  185. package/dist/domain/value-objects/Version.js.map +0 -1
  186. package/dist/domain/value-objects/WorkspaceConfig.d.ts +0 -144
  187. package/dist/domain/value-objects/WorkspaceConfig.d.ts.map +0 -1
  188. package/dist/domain/value-objects/WorkspaceConfig.js +0 -357
  189. package/dist/domain/value-objects/WorkspaceConfig.js.map +0 -1
  190. package/dist/domain/value-objects/WorkspaceId.d.ts +0 -51
  191. package/dist/domain/value-objects/WorkspaceId.d.ts.map +0 -1
  192. package/dist/domain/value-objects/WorkspaceId.js +0 -104
  193. package/dist/domain/value-objects/WorkspaceId.js.map +0 -1
  194. package/dist/domain/value-objects/WorkspacePath.d.ts +0 -75
  195. package/dist/domain/value-objects/WorkspacePath.d.ts.map +0 -1
  196. package/dist/domain/value-objects/WorkspacePath.js +0 -128
  197. package/dist/domain/value-objects/WorkspacePath.js.map +0 -1
  198. package/dist/index.d.ts +0 -25
  199. package/dist/index.d.ts.map +0 -1
  200. package/dist/infrastructure/cache/Cache.d.ts +0 -161
  201. package/dist/infrastructure/cache/Cache.d.ts.map +0 -1
  202. package/dist/infrastructure/cache/Cache.js +0 -398
  203. package/dist/infrastructure/cache/Cache.js.map +0 -1
  204. package/dist/infrastructure/cache/index.d.ts +0 -6
  205. package/dist/infrastructure/cache/index.d.ts.map +0 -1
  206. package/dist/infrastructure/cache/index.js +0 -6
  207. package/dist/infrastructure/cache/index.js.map +0 -1
  208. package/dist/infrastructure/external-services/NpmRegistryService.d.ts +0 -145
  209. package/dist/infrastructure/external-services/NpmRegistryService.d.ts.map +0 -1
  210. package/dist/infrastructure/external-services/NpmRegistryService.js +0 -466
  211. package/dist/infrastructure/external-services/NpmRegistryService.js.map +0 -1
  212. package/dist/infrastructure/file-system/FileSystemService.d.ts +0 -120
  213. package/dist/infrastructure/file-system/FileSystemService.d.ts.map +0 -1
  214. package/dist/infrastructure/file-system/FileSystemService.js +0 -663
  215. package/dist/infrastructure/file-system/FileSystemService.js.map +0 -1
  216. package/dist/infrastructure/repositories/FileWorkspaceRepository.d.ts +0 -57
  217. package/dist/infrastructure/repositories/FileWorkspaceRepository.d.ts.map +0 -1
  218. package/dist/infrastructure/repositories/FileWorkspaceRepository.js +0 -179
  219. package/dist/infrastructure/repositories/FileWorkspaceRepository.js.map +0 -1
@@ -1,173 +0,0 @@
1
- /**
2
- * Workspace Entity
3
- *
4
- * Represents a pnpm workspace with catalog configuration.
5
- * This is a core domain entity that encapsulates workspace business logic.
6
- */
7
- export class Workspace {
8
- id;
9
- path;
10
- config;
11
- catalogs;
12
- packages;
13
- constructor(id, path, config, catalogs, packages) {
14
- this.id = id;
15
- this.path = path;
16
- this.config = config;
17
- this.catalogs = catalogs;
18
- this.packages = packages;
19
- }
20
- /**
21
- * Create a new Workspace instance
22
- */
23
- static create(id, path, config, catalogs, packages) {
24
- return new Workspace(id, path, config, catalogs, packages);
25
- }
26
- /**
27
- * Get workspace identifier
28
- */
29
- getId() {
30
- return this.id;
31
- }
32
- /**
33
- * Get workspace path
34
- */
35
- getPath() {
36
- return this.path;
37
- }
38
- /**
39
- * Get workspace configuration
40
- */
41
- getConfig() {
42
- return this.config;
43
- }
44
- /**
45
- * Get all catalogs in this workspace
46
- */
47
- getCatalogs() {
48
- return this.catalogs;
49
- }
50
- /**
51
- * Get all packages in this workspace
52
- */
53
- getPackages() {
54
- return this.packages;
55
- }
56
- /**
57
- * Check if workspace has a specific catalog
58
- */
59
- hasCatalog(catalogName) {
60
- return this.catalogs.has(catalogName);
61
- }
62
- /**
63
- * Get packages that use a specific catalog dependency
64
- */
65
- getPackagesUsingCatalogDependency(catalogName, packageName) {
66
- return this.packages.filterByCatalogDependency(catalogName, packageName);
67
- }
68
- /**
69
- * Validate workspace consistency
70
- * Ensures all catalog references in packages exist in catalogs
71
- */
72
- validateConsistency() {
73
- const errors = [];
74
- const warnings = [];
75
- // Check if all catalog references in packages exist
76
- for (const pkg of this.packages.getAll()) {
77
- const catalogRefs = pkg.getCatalogReferences();
78
- for (const ref of catalogRefs) {
79
- if (!this.catalogs.has(ref.getCatalogName())) {
80
- errors.push(`Package "${pkg.getName()}" references unknown catalog "${ref.getCatalogName()}"`);
81
- }
82
- const catalog = this.catalogs.get(ref.getCatalogName());
83
- if (catalog && !catalog.hasDependency(ref.getPackageName())) {
84
- warnings.push(`Package "${pkg.getName()}" references "${ref.getPackageName()}" ` +
85
- `from catalog "${ref.getCatalogName()}" but it's not defined in the catalog`);
86
- }
87
- }
88
- }
89
- return new ValidationResult(errors.length === 0, errors, warnings);
90
- }
91
- /**
92
- * Get outdated catalog dependencies
93
- */
94
- async getOutdatedCatalogDependencies() {
95
- // This would typically use a domain service to check versions
96
- // For now, return empty array as placeholder
97
- return [];
98
- }
99
- /**
100
- * Update a catalog dependency version
101
- */
102
- updateCatalogDependency(catalogName, packageName, newVersion) {
103
- const catalog = this.catalogs.get(catalogName);
104
- if (!catalog) {
105
- throw new Error(`Catalog "${catalogName}" not found`);
106
- }
107
- // Update the catalog in the collection
108
- catalog.updateDependencyVersion(packageName, newVersion);
109
- // Also update the WorkspaceConfig to ensure consistency
110
- this.config = this.config.updateCatalogDependency(catalogName, packageName, newVersion);
111
- }
112
- }
113
- /**
114
- * Validation result value object
115
- */
116
- export class ValidationResult {
117
- isValid;
118
- errors;
119
- warnings;
120
- constructor(isValid, errors, warnings) {
121
- this.isValid = isValid;
122
- this.errors = errors;
123
- this.warnings = warnings;
124
- }
125
- getIsValid() {
126
- return this.isValid;
127
- }
128
- getErrors() {
129
- return [...this.errors];
130
- }
131
- getWarnings() {
132
- return [...this.warnings];
133
- }
134
- hasErrors() {
135
- return this.errors.length > 0;
136
- }
137
- hasWarnings() {
138
- return this.warnings.length > 0;
139
- }
140
- }
141
- /**
142
- * Outdated dependency value object
143
- */
144
- export class OutdatedDependency {
145
- catalogName;
146
- packageName;
147
- currentVersion;
148
- latestVersion;
149
- updateType;
150
- constructor(catalogName, packageName, currentVersion, latestVersion, updateType) {
151
- this.catalogName = catalogName;
152
- this.packageName = packageName;
153
- this.currentVersion = currentVersion;
154
- this.latestVersion = latestVersion;
155
- this.updateType = updateType;
156
- }
157
- getCatalogName() {
158
- return this.catalogName;
159
- }
160
- getPackageName() {
161
- return this.packageName;
162
- }
163
- getCurrentVersion() {
164
- return this.currentVersion;
165
- }
166
- getLatestVersion() {
167
- return this.latestVersion;
168
- }
169
- getUpdateType() {
170
- return this.updateType;
171
- }
172
- }
173
- //# sourceMappingURL=Workspace.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Workspace.js","sourceRoot":"","sources":["../../../src/domain/entities/Workspace.ts"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- /**
2
- * Workspace Repository Interface
3
- *
4
- * Defines the contract for workspace persistence and retrieval operations.
5
- * This is a domain interface implemented by infrastructure layer.
6
- */
7
- import { Workspace } from '../entities/Workspace.js';
8
- import { WorkspaceId } from '../value-objects/WorkspaceId.js';
9
- import { WorkspacePath } from '../value-objects/WorkspacePath.js';
10
- import { WorkspaceConfig } from '../value-objects/WorkspaceConfig.js';
11
- export interface WorkspaceRepository {
12
- /**
13
- * Find a workspace by its path
14
- */
15
- findByPath(path: WorkspacePath): Promise<Workspace | null>;
16
- /**
17
- * Find a workspace by its ID
18
- */
19
- findById(id: WorkspaceId): Promise<Workspace | null>;
20
- /**
21
- * Save a workspace
22
- */
23
- save(workspace: Workspace): Promise<void>;
24
- /**
25
- * Load workspace configuration from path
26
- */
27
- loadConfiguration(path: WorkspacePath): Promise<WorkspaceConfig>;
28
- /**
29
- * Save workspace configuration to path
30
- */
31
- saveConfiguration(path: WorkspacePath, config: WorkspaceConfig): Promise<void>;
32
- /**
33
- * Check if a path contains a valid pnpm workspace
34
- */
35
- isValidWorkspace(path: WorkspacePath): Promise<boolean>;
36
- /**
37
- * Discover workspace from current working directory or given path
38
- */
39
- discoverWorkspace(searchPath?: WorkspacePath): Promise<Workspace | null>;
40
- }
41
- //# sourceMappingURL=WorkspaceRepository.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkspaceRepository.d.ts","sourceRoot":"","sources":["../../../src/domain/repositories/WorkspaceRepository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAEtE,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAE3D;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAErD;;OAEG;IACH,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAEjE;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/E;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAExD;;OAEG;IACH,iBAAiB,CAAC,UAAU,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;CAC1E"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Workspace Repository Interface
3
- *
4
- * Defines the contract for workspace persistence and retrieval operations.
5
- * This is a domain interface implemented by infrastructure layer.
6
- */
7
- export {};
8
- //# sourceMappingURL=WorkspaceRepository.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkspaceRepository.js","sourceRoot":"","sources":["../../../src/domain/repositories/WorkspaceRepository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -1,106 +0,0 @@
1
- /**
2
- * CatalogCollection Value Object
3
- *
4
- * Represents a collection of catalogs in a workspace.
5
- * Provides operations for managing and querying multiple catalogs.
6
- */
7
- import { Catalog, CatalogName } from '../entities/Catalog.js';
8
- export declare class CatalogCollection {
9
- private readonly catalogs;
10
- private constructor();
11
- /**
12
- * Create an empty catalog collection
13
- */
14
- static empty(): CatalogCollection;
15
- /**
16
- * Create a catalog collection from an array of catalogs
17
- */
18
- static fromCatalogs(catalogs: Catalog[]): CatalogCollection;
19
- /**
20
- * Create a catalog collection from a Map
21
- */
22
- static fromMap(catalogMap: Map<CatalogName, Catalog>): CatalogCollection;
23
- /**
24
- * Check if collection contains a catalog with the given name
25
- */
26
- has(catalogName: CatalogName): boolean;
27
- /**
28
- * Get a catalog by name
29
- */
30
- get(catalogName: CatalogName): Catalog | undefined;
31
- /**
32
- * Get all catalogs as an array
33
- */
34
- getAll(): Catalog[];
35
- /**
36
- * Get all catalog names
37
- */
38
- getCatalogNames(): CatalogName[];
39
- /**
40
- * Get the number of catalogs
41
- */
42
- size(): number;
43
- /**
44
- * Check if collection is empty
45
- */
46
- isEmpty(): boolean;
47
- /**
48
- * Add a catalog to the collection
49
- */
50
- add(catalog: Catalog): CatalogCollection;
51
- /**
52
- * Remove a catalog from the collection
53
- */
54
- remove(catalogName: CatalogName): CatalogCollection;
55
- /**
56
- * Update a catalog in the collection
57
- */
58
- update(catalog: Catalog): CatalogCollection;
59
- /**
60
- * Get the default catalog (named 'default' or the first one)
61
- */
62
- getDefault(): Catalog | undefined;
63
- /**
64
- * Filter catalogs by a predicate function
65
- */
66
- filter(predicate: (catalog: Catalog) => boolean): CatalogCollection;
67
- /**
68
- * Find catalogs that contain a specific package
69
- */
70
- findCatalogsWithPackage(packageName: string): Catalog[];
71
- /**
72
- * Get all unique package names across all catalogs
73
- */
74
- getAllPackageNames(): string[];
75
- /**
76
- * Validate all catalogs in the collection
77
- */
78
- validate(): CatalogCollectionValidationResult;
79
- /**
80
- * Convert to a Map for serialization
81
- */
82
- toMap(): Map<CatalogName, Catalog>;
83
- /**
84
- * Iterate over catalogs
85
- */
86
- [Symbol.iterator](): Iterator<[CatalogName, Catalog]>;
87
- /**
88
- * Check equality with another catalog collection
89
- */
90
- equals(other: CatalogCollection): boolean;
91
- }
92
- /**
93
- * Catalog Collection Validation Result
94
- */
95
- export declare class CatalogCollectionValidationResult {
96
- private readonly isValid;
97
- private readonly errors;
98
- private readonly warnings;
99
- constructor(isValid: boolean, errors: string[], warnings: string[]);
100
- getIsValid(): boolean;
101
- getErrors(): string[];
102
- getWarnings(): string[];
103
- hasErrors(): boolean;
104
- hasWarnings(): boolean;
105
- }
106
- //# sourceMappingURL=CatalogCollection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CatalogCollection.d.ts","sourceRoot":"","sources":["../../../src/domain/value-objects/CatalogCollection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE9D,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IAErD,OAAO;IAIP;;OAEG;WACW,KAAK,IAAI,iBAAiB;IAIxC;;OAEG;WACW,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,iBAAiB;IAUlE;;OAEG;WACW,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,iBAAiB;IAI/E;;OAEG;IACI,GAAG,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO;IAI7C;;OAEG;IACI,GAAG,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,GAAG,SAAS;IAIzD;;OAEG;IACI,MAAM,IAAI,OAAO,EAAE;IAI1B;;OAEG;IACI,eAAe,IAAI,WAAW,EAAE;IAIvC;;OAEG;IACI,IAAI,IAAI,MAAM;IAIrB;;OAEG;IACI,OAAO,IAAI,OAAO;IAIzB;;OAEG;IACI,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB;IAM/C;;OAEG;IACI,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,iBAAiB;IAM1D;;OAEG;IACI,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB;IAUlD;;OAEG;IACI,UAAU,IAAI,OAAO,GAAG,SAAS;IAYxC;;OAEG;IACI,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,iBAAiB;IAY1E;;OAEG;IACI,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,EAAE;IAI9D;;OAEG;IACI,kBAAkB,IAAI,MAAM,EAAE;IAYrC;;OAEG;IACI,QAAQ,IAAI,iCAAiC;IA0CpD;;OAEG;IACI,KAAK,IAAI,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;IAIzC;;OAEG;IACK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAI7D;;OAEG;IACI,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO;CAcjD;AAED;;GAEG;AACH,qBAAa,iCAAiC;IAE1C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,EAAE,MAAM,EAAE;IAG9B,UAAU,IAAI,OAAO;IAIrB,SAAS,IAAI,MAAM,EAAE;IAIrB,WAAW,IAAI,MAAM,EAAE;IAIvB,SAAS,IAAI,OAAO;IAIpB,WAAW,IAAI,OAAO;CAG9B"}
@@ -1,230 +0,0 @@
1
- /**
2
- * CatalogCollection Value Object
3
- *
4
- * Represents a collection of catalogs in a workspace.
5
- * Provides operations for managing and querying multiple catalogs.
6
- */
7
- export class CatalogCollection {
8
- catalogs;
9
- constructor(catalogs) {
10
- this.catalogs = new Map(catalogs);
11
- }
12
- /**
13
- * Create an empty catalog collection
14
- */
15
- static empty() {
16
- return new CatalogCollection(new Map());
17
- }
18
- /**
19
- * Create a catalog collection from an array of catalogs
20
- */
21
- static fromCatalogs(catalogs) {
22
- const catalogMap = new Map();
23
- for (const catalog of catalogs) {
24
- catalogMap.set(catalog.getName(), catalog);
25
- }
26
- return new CatalogCollection(catalogMap);
27
- }
28
- /**
29
- * Create a catalog collection from a Map
30
- */
31
- static fromMap(catalogMap) {
32
- return new CatalogCollection(catalogMap);
33
- }
34
- /**
35
- * Check if collection contains a catalog with the given name
36
- */
37
- has(catalogName) {
38
- return this.catalogs.has(catalogName);
39
- }
40
- /**
41
- * Get a catalog by name
42
- */
43
- get(catalogName) {
44
- return this.catalogs.get(catalogName);
45
- }
46
- /**
47
- * Get all catalogs as an array
48
- */
49
- getAll() {
50
- return Array.from(this.catalogs.values());
51
- }
52
- /**
53
- * Get all catalog names
54
- */
55
- getCatalogNames() {
56
- return Array.from(this.catalogs.keys());
57
- }
58
- /**
59
- * Get the number of catalogs
60
- */
61
- size() {
62
- return this.catalogs.size;
63
- }
64
- /**
65
- * Check if collection is empty
66
- */
67
- isEmpty() {
68
- return this.catalogs.size === 0;
69
- }
70
- /**
71
- * Add a catalog to the collection
72
- */
73
- add(catalog) {
74
- const newCatalogs = new Map(this.catalogs);
75
- newCatalogs.set(catalog.getName(), catalog);
76
- return new CatalogCollection(newCatalogs);
77
- }
78
- /**
79
- * Remove a catalog from the collection
80
- */
81
- remove(catalogName) {
82
- const newCatalogs = new Map(this.catalogs);
83
- newCatalogs.delete(catalogName);
84
- return new CatalogCollection(newCatalogs);
85
- }
86
- /**
87
- * Update a catalog in the collection
88
- */
89
- update(catalog) {
90
- if (!this.has(catalog.getName())) {
91
- throw new Error(`Catalog "${catalog.getName()}" not found in collection`);
92
- }
93
- const newCatalogs = new Map(this.catalogs);
94
- newCatalogs.set(catalog.getName(), catalog);
95
- return new CatalogCollection(newCatalogs);
96
- }
97
- /**
98
- * Get the default catalog (named 'default' or the first one)
99
- */
100
- getDefault() {
101
- // First, try to find a catalog named 'default'
102
- const defaultCatalog = this.catalogs.get('default');
103
- if (defaultCatalog) {
104
- return defaultCatalog;
105
- }
106
- // If no 'default' catalog, return the first one
107
- const firstCatalog = this.catalogs.values().next().value;
108
- return firstCatalog;
109
- }
110
- /**
111
- * Filter catalogs by a predicate function
112
- */
113
- filter(predicate) {
114
- const filteredCatalogs = new Map();
115
- for (const [name, catalog] of this.catalogs) {
116
- if (predicate(catalog)) {
117
- filteredCatalogs.set(name, catalog);
118
- }
119
- }
120
- return new CatalogCollection(filteredCatalogs);
121
- }
122
- /**
123
- * Find catalogs that contain a specific package
124
- */
125
- findCatalogsWithPackage(packageName) {
126
- return this.getAll().filter((catalog) => catalog.hasDependency(packageName));
127
- }
128
- /**
129
- * Get all unique package names across all catalogs
130
- */
131
- getAllPackageNames() {
132
- const packageNames = new Set();
133
- for (const catalog of this.catalogs.values()) {
134
- for (const packageName of catalog.getPackageNames()) {
135
- packageNames.add(packageName);
136
- }
137
- }
138
- return Array.from(packageNames);
139
- }
140
- /**
141
- * Validate all catalogs in the collection
142
- */
143
- validate() {
144
- const errors = [];
145
- const warnings = [];
146
- // Check for empty collection
147
- if (this.isEmpty()) {
148
- warnings.push('No catalogs found in workspace');
149
- }
150
- // Validate each catalog
151
- for (const catalog of this.catalogs.values()) {
152
- const result = catalog.validate();
153
- errors.push(...result.getErrors().map((err) => `Catalog "${catalog.getName()}": ${err}`));
154
- warnings.push(...result.getWarnings().map((warn) => `Catalog "${catalog.getName()}": ${warn}`));
155
- }
156
- // Check for duplicate package definitions across catalogs
157
- const packageCatalogMap = new Map();
158
- for (const catalog of this.catalogs.values()) {
159
- for (const packageName of catalog.getPackageNames()) {
160
- if (!packageCatalogMap.has(packageName)) {
161
- packageCatalogMap.set(packageName, []);
162
- }
163
- packageCatalogMap.get(packageName).push(catalog.getName());
164
- }
165
- }
166
- // Warn about packages defined in multiple catalogs
167
- for (const [packageName, catalogNames] of packageCatalogMap) {
168
- if (catalogNames.length > 1) {
169
- warnings.push(`Package "${packageName}" is defined in multiple catalogs: ${catalogNames.join(', ')}`);
170
- }
171
- }
172
- return new CatalogCollectionValidationResult(errors.length === 0, errors, warnings);
173
- }
174
- /**
175
- * Convert to a Map for serialization
176
- */
177
- toMap() {
178
- return new Map(this.catalogs);
179
- }
180
- /**
181
- * Iterate over catalogs
182
- */
183
- *[Symbol.iterator]() {
184
- yield* this.catalogs;
185
- }
186
- /**
187
- * Check equality with another catalog collection
188
- */
189
- equals(other) {
190
- if (this.size() !== other.size()) {
191
- return false;
192
- }
193
- for (const [name, catalog] of this.catalogs) {
194
- const otherCatalog = other.get(name);
195
- if (!otherCatalog || !catalog.equals(otherCatalog)) {
196
- return false;
197
- }
198
- }
199
- return true;
200
- }
201
- }
202
- /**
203
- * Catalog Collection Validation Result
204
- */
205
- export class CatalogCollectionValidationResult {
206
- isValid;
207
- errors;
208
- warnings;
209
- constructor(isValid, errors, warnings) {
210
- this.isValid = isValid;
211
- this.errors = errors;
212
- this.warnings = warnings;
213
- }
214
- getIsValid() {
215
- return this.isValid;
216
- }
217
- getErrors() {
218
- return [...this.errors];
219
- }
220
- getWarnings() {
221
- return [...this.warnings];
222
- }
223
- hasErrors() {
224
- return this.errors.length > 0;
225
- }
226
- hasWarnings() {
227
- return this.warnings.length > 0;
228
- }
229
- }
230
- //# sourceMappingURL=CatalogCollection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CatalogCollection.js","sourceRoot":"","sources":["../../../src/domain/value-objects/CatalogCollection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,OAAO,iBAAiB;IACX,QAAQ,CAA4B;IAErD,YAAoB,QAAmC;QACrD,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK;QACjB,OAAO,IAAI,iBAAiB,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,YAAY,CAAC,QAAmB;QAC5C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAwB,CAAC;QAEnD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,IAAI,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,OAAO,CAAC,UAAqC;QACzD,OAAO,IAAI,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACI,GAAG,CAAC,WAAwB;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,GAAG,CAAC,WAAwB;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,MAAM;QACX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,eAAe;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACI,IAAI;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACI,OAAO;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,GAAG,CAAC,OAAgB;QACzB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,WAAwB;QACpC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAChC,OAAO,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,OAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,UAAU;QACf,+CAA+C;QAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,gDAAgD;QAChD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QACzD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,SAAwC;QACpD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAwB,CAAC;QAEzD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5C,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvB,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACI,uBAAuB,CAAC,WAAmB;QAChD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED;;OAEG;IACI,kBAAkB;QACvB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QAEvC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;gBACpD,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,QAAQ;QACb,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,6BAA6B;QAC7B,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAClD,CAAC;QAED,wBAAwB;QACxB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;YAC1F,QAAQ,CAAC,IAAI,CACX,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC,CACjF,CAAC;QACJ,CAAC;QAED,0DAA0D;QAC1D,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAoB,CAAC;QAEtD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;gBACpD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;oBACxC,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACzC,CAAC;gBACD,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,KAAK,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAC5D,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CACX,YAAY,WAAW,sCAAsC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,IAAI,iCAAiC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtF,CAAC;IAED;;OAEG;IACI,KAAK;QACV,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QACvB,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAwB;QACpC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5C,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;gBACnD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,iCAAiC;IAEzB;IACA;IACA;IAHnB,YACmB,OAAgB,EAChB,MAAgB,EAChB,QAAkB;QAFlB,YAAO,GAAP,OAAO,CAAS;QAChB,WAAM,GAAN,MAAM,CAAU;QAChB,aAAQ,GAAR,QAAQ,CAAU;IAClC,CAAC;IAEG,UAAU;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,SAAS;QACd,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAEM,WAAW;QAChB,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAChC,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,CAAC;CACF"}