@jterrats/smart-deployment 1.0.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 (395) hide show
  1. package/README.md +193 -0
  2. package/lib/ai/agentforce-error-handler.d.ts +81 -0
  3. package/lib/ai/agentforce-error-handler.js +196 -0
  4. package/lib/ai/agentforce-error-handler.js.map +1 -0
  5. package/lib/ai/agentforce-priority-service.d.ts +82 -0
  6. package/lib/ai/agentforce-priority-service.js +257 -0
  7. package/lib/ai/agentforce-priority-service.js.map +1 -0
  8. package/lib/ai/agentforce-service.d.ts +99 -0
  9. package/lib/ai/agentforce-service.js +300 -0
  10. package/lib/ai/agentforce-service.js.map +1 -0
  11. package/lib/ai/circuit-breaker.d.ts +115 -0
  12. package/lib/ai/circuit-breaker.js +277 -0
  13. package/lib/ai/circuit-breaker.js.map +1 -0
  14. package/lib/ai/dependency-inference-service.d.ts +76 -0
  15. package/lib/ai/dependency-inference-service.js +220 -0
  16. package/lib/ai/dependency-inference-service.js.map +1 -0
  17. package/lib/ai/llm-provider-factory.d.ts +15 -0
  18. package/lib/ai/llm-provider-factory.js +36 -0
  19. package/lib/ai/llm-provider-factory.js.map +1 -0
  20. package/lib/ai/llm-provider.d.ts +27 -0
  21. package/lib/ai/llm-provider.js +2 -0
  22. package/lib/ai/llm-provider.js.map +1 -0
  23. package/lib/ai/openai-service.d.ts +20 -0
  24. package/lib/ai/openai-service.js +89 -0
  25. package/lib/ai/openai-service.js.map +1 -0
  26. package/lib/ai/prompt-builder.d.ts +79 -0
  27. package/lib/ai/prompt-builder.js +180 -0
  28. package/lib/ai/prompt-builder.js.map +1 -0
  29. package/lib/ai/response-parser.d.ts +67 -0
  30. package/lib/ai/response-parser.js +234 -0
  31. package/lib/ai/response-parser.js.map +1 -0
  32. package/lib/ai/wave-validation-service.d.ts +111 -0
  33. package/lib/ai/wave-validation-service.js +381 -0
  34. package/lib/ai/wave-validation-service.js.map +1 -0
  35. package/lib/analysis/analysis-reporter.d.ts +56 -0
  36. package/lib/analysis/analysis-reporter.js +170 -0
  37. package/lib/analysis/analysis-reporter.js.map +1 -0
  38. package/lib/analytics/error-analytics.d.ts +80 -0
  39. package/lib/analytics/error-analytics.js +162 -0
  40. package/lib/analytics/error-analytics.js.map +1 -0
  41. package/lib/commands/analyze.d.ts +49 -0
  42. package/lib/commands/analyze.js +232 -0
  43. package/lib/commands/analyze.js.map +1 -0
  44. package/lib/commands/config.d.ts +42 -0
  45. package/lib/commands/config.js +219 -0
  46. package/lib/commands/config.js.map +1 -0
  47. package/lib/commands/resume.d.ts +26 -0
  48. package/lib/commands/resume.js +69 -0
  49. package/lib/commands/resume.js.map +1 -0
  50. package/lib/commands/start.d.ts +70 -0
  51. package/lib/commands/start.js +659 -0
  52. package/lib/commands/start.js.map +1 -0
  53. package/lib/commands/status.d.ts +37 -0
  54. package/lib/commands/status.js +69 -0
  55. package/lib/commands/status.js.map +1 -0
  56. package/lib/commands/validate.d.ts +33 -0
  57. package/lib/commands/validate.js +66 -0
  58. package/lib/commands/validate.js.map +1 -0
  59. package/lib/config/repo-config.d.ts +22 -0
  60. package/lib/config/repo-config.js +31 -0
  61. package/lib/config/repo-config.js.map +1 -0
  62. package/lib/constants/agentforce-limits.d.ts +174 -0
  63. package/lib/constants/agentforce-limits.js +262 -0
  64. package/lib/constants/agentforce-limits.js.map +1 -0
  65. package/lib/constants/api-version.d.ts +70 -0
  66. package/lib/constants/api-version.js +122 -0
  67. package/lib/constants/api-version.js.map +1 -0
  68. package/lib/constants/deployment-order.d.ts +68 -0
  69. package/lib/constants/deployment-order.js +162 -0
  70. package/lib/constants/deployment-order.js.map +1 -0
  71. package/lib/constants/salesforce-limits.d.ts +107 -0
  72. package/lib/constants/salesforce-limits.js +104 -0
  73. package/lib/constants/salesforce-limits.js.map +1 -0
  74. package/lib/dependencies/circular-dependency-detector.d.ts +137 -0
  75. package/lib/dependencies/circular-dependency-detector.js +329 -0
  76. package/lib/dependencies/circular-dependency-detector.js.map +1 -0
  77. package/lib/dependencies/cycle-remediation-planner.d.ts +50 -0
  78. package/lib/dependencies/cycle-remediation-planner.js +192 -0
  79. package/lib/dependencies/cycle-remediation-planner.js.map +1 -0
  80. package/lib/dependencies/dependency-cache.d.ts +134 -0
  81. package/lib/dependencies/dependency-cache.js +303 -0
  82. package/lib/dependencies/dependency-cache.js.map +1 -0
  83. package/lib/dependencies/dependency-depth-calculator.d.ts +145 -0
  84. package/lib/dependencies/dependency-depth-calculator.js +368 -0
  85. package/lib/dependencies/dependency-depth-calculator.js.map +1 -0
  86. package/lib/dependencies/dependency-graph-builder.d.ts +151 -0
  87. package/lib/dependencies/dependency-graph-builder.js +411 -0
  88. package/lib/dependencies/dependency-graph-builder.js.map +1 -0
  89. package/lib/dependencies/dependency-impact-analyzer.d.ts +145 -0
  90. package/lib/dependencies/dependency-impact-analyzer.js +330 -0
  91. package/lib/dependencies/dependency-impact-analyzer.js.map +1 -0
  92. package/lib/dependencies/dependency-merger.d.ts +122 -0
  93. package/lib/dependencies/dependency-merger.js +245 -0
  94. package/lib/dependencies/dependency-merger.js.map +1 -0
  95. package/lib/dependencies/dependency-resolver.d.ts +157 -0
  96. package/lib/dependencies/dependency-resolver.js +298 -0
  97. package/lib/dependencies/dependency-resolver.js.map +1 -0
  98. package/lib/dependencies/dependency-validator.d.ts +123 -0
  99. package/lib/dependencies/dependency-validator.js +291 -0
  100. package/lib/dependencies/dependency-validator.js.map +1 -0
  101. package/lib/dependencies/graph-visualizer.d.ts +110 -0
  102. package/lib/dependencies/graph-visualizer.js +262 -0
  103. package/lib/dependencies/graph-visualizer.js.map +1 -0
  104. package/lib/dependencies/heuristic-inference.d.ts +136 -0
  105. package/lib/dependencies/heuristic-inference.js +430 -0
  106. package/lib/dependencies/heuristic-inference.js.map +1 -0
  107. package/lib/deployment/cycle-source-editor.d.ts +34 -0
  108. package/lib/deployment/cycle-source-editor.js +121 -0
  109. package/lib/deployment/cycle-source-editor.js.map +1 -0
  110. package/lib/deployment/deployment-error-handler.d.ts +38 -0
  111. package/lib/deployment/deployment-error-handler.js +79 -0
  112. package/lib/deployment/deployment-error-handler.js.map +1 -0
  113. package/lib/deployment/deployment-reporter.d.ts +63 -0
  114. package/lib/deployment/deployment-reporter.js +150 -0
  115. package/lib/deployment/deployment-reporter.js.map +1 -0
  116. package/lib/deployment/deployment-state-summary.d.ts +38 -0
  117. package/lib/deployment/deployment-state-summary.js +209 -0
  118. package/lib/deployment/deployment-state-summary.js.map +1 -0
  119. package/lib/deployment/deployment-status-service.d.ts +36 -0
  120. package/lib/deployment/deployment-status-service.js +128 -0
  121. package/lib/deployment/deployment-status-service.js.map +1 -0
  122. package/lib/deployment/deployment-tracker.d.ts +42 -0
  123. package/lib/deployment/deployment-tracker.js +79 -0
  124. package/lib/deployment/deployment-tracker.js.map +1 -0
  125. package/lib/deployment/deployment-validation-service.d.ts +28 -0
  126. package/lib/deployment/deployment-validation-service.js +161 -0
  127. package/lib/deployment/deployment-validation-service.js.map +1 -0
  128. package/lib/deployment/retry-handler.d.ts +37 -0
  129. package/lib/deployment/retry-handler.js +86 -0
  130. package/lib/deployment/retry-handler.js.map +1 -0
  131. package/lib/deployment/sf-cli-integration.d.ts +42 -0
  132. package/lib/deployment/sf-cli-integration.js +105 -0
  133. package/lib/deployment/sf-cli-integration.js.map +1 -0
  134. package/lib/deployment/state-manager.d.ts +61 -0
  135. package/lib/deployment/state-manager.js +83 -0
  136. package/lib/deployment/state-manager.js.map +1 -0
  137. package/lib/deployment/test-executor.d.ts +41 -0
  138. package/lib/deployment/test-executor.js +87 -0
  139. package/lib/deployment/test-executor.js.map +1 -0
  140. package/lib/errors/base-error.d.ts +24 -0
  141. package/lib/errors/base-error.js +66 -0
  142. package/lib/errors/base-error.js.map +1 -0
  143. package/lib/errors/dependency-error.d.ts +37 -0
  144. package/lib/errors/dependency-error.js +76 -0
  145. package/lib/errors/dependency-error.js.map +1 -0
  146. package/lib/errors/deployment-error.d.ts +55 -0
  147. package/lib/errors/deployment-error.js +132 -0
  148. package/lib/errors/deployment-error.js.map +1 -0
  149. package/lib/errors/index.d.ts +45 -0
  150. package/lib/errors/index.js +71 -0
  151. package/lib/errors/index.js.map +1 -0
  152. package/lib/errors/network-error.d.ts +53 -0
  153. package/lib/errors/network-error.js +111 -0
  154. package/lib/errors/network-error.js.map +1 -0
  155. package/lib/errors/parsing-error.d.ts +41 -0
  156. package/lib/errors/parsing-error.js +69 -0
  157. package/lib/errors/parsing-error.js.map +1 -0
  158. package/lib/errors/validation-error-reporter.d.ts +34 -0
  159. package/lib/errors/validation-error-reporter.js +99 -0
  160. package/lib/errors/validation-error-reporter.js.map +1 -0
  161. package/lib/errors/validation-error.d.ts +58 -0
  162. package/lib/errors/validation-error.js +131 -0
  163. package/lib/errors/validation-error.js.map +1 -0
  164. package/lib/index.d.ts +2 -0
  165. package/lib/index.js +2 -0
  166. package/lib/index.js.map +1 -0
  167. package/lib/monitoring/performance-monitor.d.ts +98 -0
  168. package/lib/monitoring/performance-monitor.js +260 -0
  169. package/lib/monitoring/performance-monitor.js.map +1 -0
  170. package/lib/parsers/apex-class-parser.d.ts +47 -0
  171. package/lib/parsers/apex-class-parser.js +368 -0
  172. package/lib/parsers/apex-class-parser.js.map +1 -0
  173. package/lib/parsers/apex-trigger-parser.d.ts +48 -0
  174. package/lib/parsers/apex-trigger-parser.js +229 -0
  175. package/lib/parsers/apex-trigger-parser.js.map +1 -0
  176. package/lib/parsers/aura-parser.d.ts +55 -0
  177. package/lib/parsers/aura-parser.js +229 -0
  178. package/lib/parsers/aura-parser.js.map +1 -0
  179. package/lib/parsers/bot-parser.d.ts +65 -0
  180. package/lib/parsers/bot-parser.js +225 -0
  181. package/lib/parsers/bot-parser.js.map +1 -0
  182. package/lib/parsers/custom-metadata-parser.d.ts +94 -0
  183. package/lib/parsers/custom-metadata-parser.js +199 -0
  184. package/lib/parsers/custom-metadata-parser.js.map +1 -0
  185. package/lib/parsers/custom-object-parser.d.ts +62 -0
  186. package/lib/parsers/custom-object-parser.js +297 -0
  187. package/lib/parsers/custom-object-parser.js.map +1 -0
  188. package/lib/parsers/email-template-parser.d.ts +64 -0
  189. package/lib/parsers/email-template-parser.js +238 -0
  190. package/lib/parsers/email-template-parser.js.map +1 -0
  191. package/lib/parsers/error-resilient-parser.d.ts +110 -0
  192. package/lib/parsers/error-resilient-parser.js +277 -0
  193. package/lib/parsers/error-resilient-parser.js.map +1 -0
  194. package/lib/parsers/flexipage-parser.d.ts +64 -0
  195. package/lib/parsers/flexipage-parser.js +196 -0
  196. package/lib/parsers/flexipage-parser.js.map +1 -0
  197. package/lib/parsers/flow-parser.d.ts +54 -0
  198. package/lib/parsers/flow-parser.js +287 -0
  199. package/lib/parsers/flow-parser.js.map +1 -0
  200. package/lib/parsers/genai-prompt-parser.d.ts +67 -0
  201. package/lib/parsers/genai-prompt-parser.js +160 -0
  202. package/lib/parsers/genai-prompt-parser.js.map +1 -0
  203. package/lib/parsers/layout-parser.d.ts +64 -0
  204. package/lib/parsers/layout-parser.js +267 -0
  205. package/lib/parsers/layout-parser.js.map +1 -0
  206. package/lib/parsers/lwc-parser.d.ts +60 -0
  207. package/lib/parsers/lwc-parser.js +264 -0
  208. package/lib/parsers/lwc-parser.js.map +1 -0
  209. package/lib/parsers/permission-set-parser.d.ts +86 -0
  210. package/lib/parsers/permission-set-parser.js +152 -0
  211. package/lib/parsers/permission-set-parser.js.map +1 -0
  212. package/lib/parsers/profile-parser.d.ts +81 -0
  213. package/lib/parsers/profile-parser.js +141 -0
  214. package/lib/parsers/profile-parser.js.map +1 -0
  215. package/lib/parsers/visualforce-parser.d.ts +47 -0
  216. package/lib/parsers/visualforce-parser.js +180 -0
  217. package/lib/parsers/visualforce-parser.js.map +1 -0
  218. package/lib/provisioning/data-provisioner.d.ts +88 -0
  219. package/lib/provisioning/data-provisioner.js +257 -0
  220. package/lib/provisioning/data-provisioner.js.map +1 -0
  221. package/lib/scanner/custom-structure-scanner.d.ts +66 -0
  222. package/lib/scanner/custom-structure-scanner.js +229 -0
  223. package/lib/scanner/custom-structure-scanner.js.map +1 -0
  224. package/lib/scanner/forceignore-parser.d.ts +69 -0
  225. package/lib/scanner/forceignore-parser.js +195 -0
  226. package/lib/scanner/forceignore-parser.js.map +1 -0
  227. package/lib/scanner/metadata-format-scanner.d.ts +77 -0
  228. package/lib/scanner/metadata-format-scanner.js +282 -0
  229. package/lib/scanner/metadata-format-scanner.js.map +1 -0
  230. package/lib/scanner/monorepo-scanner.d.ts +71 -0
  231. package/lib/scanner/monorepo-scanner.js +225 -0
  232. package/lib/scanner/monorepo-scanner.js.map +1 -0
  233. package/lib/scanner/project-validator.d.ts +55 -0
  234. package/lib/scanner/project-validator.js +235 -0
  235. package/lib/scanner/project-validator.js.map +1 -0
  236. package/lib/scanner/sfdx-project-detector.d.ts +86 -0
  237. package/lib/scanner/sfdx-project-detector.js +240 -0
  238. package/lib/scanner/sfdx-project-detector.js.map +1 -0
  239. package/lib/scanner/structure-validator.d.ts +64 -0
  240. package/lib/scanner/structure-validator.js +296 -0
  241. package/lib/scanner/structure-validator.js.map +1 -0
  242. package/lib/services/metadata-scanner-service.d.ts +64 -0
  243. package/lib/services/metadata-scanner-service.js +651 -0
  244. package/lib/services/metadata-scanner-service.js.map +1 -0
  245. package/lib/types/agentforce.d.ts +157 -0
  246. package/lib/types/agentforce.js +2 -0
  247. package/lib/types/agentforce.js.map +1 -0
  248. package/lib/types/dependency.d.ts +98 -0
  249. package/lib/types/dependency.js +5 -0
  250. package/lib/types/dependency.js.map +1 -0
  251. package/lib/types/deployment-plan.d.ts +81 -0
  252. package/lib/types/deployment-plan.js +6 -0
  253. package/lib/types/deployment-plan.js.map +1 -0
  254. package/lib/types/deployment.d.ts +88 -0
  255. package/lib/types/deployment.js +5 -0
  256. package/lib/types/deployment.js.map +1 -0
  257. package/lib/types/graph.d.ts +35 -0
  258. package/lib/types/graph.js +5 -0
  259. package/lib/types/graph.js.map +1 -0
  260. package/lib/types/index.d.ts +12 -0
  261. package/lib/types/index.js +17 -0
  262. package/lib/types/index.js.map +1 -0
  263. package/lib/types/metadata.d.ts +101 -0
  264. package/lib/types/metadata.js +13 -0
  265. package/lib/types/metadata.js.map +1 -0
  266. package/lib/types/project.d.ts +156 -0
  267. package/lib/types/project.js +56 -0
  268. package/lib/types/project.js.map +1 -0
  269. package/lib/types/salesforce/apex.d.ts +94 -0
  270. package/lib/types/salesforce/apex.js +6 -0
  271. package/lib/types/salesforce/apex.js.map +1 -0
  272. package/lib/types/salesforce/aura.d.ts +150 -0
  273. package/lib/types/salesforce/aura.js +6 -0
  274. package/lib/types/salesforce/aura.js.map +1 -0
  275. package/lib/types/salesforce/bot.d.ts +293 -0
  276. package/lib/types/salesforce/bot.js +6 -0
  277. package/lib/types/salesforce/bot.js.map +1 -0
  278. package/lib/types/salesforce/common.d.ts +15 -0
  279. package/lib/types/salesforce/common.js +5 -0
  280. package/lib/types/salesforce/common.js.map +1 -0
  281. package/lib/types/salesforce/custom-metadata.d.ts +92 -0
  282. package/lib/types/salesforce/custom-metadata.js +6 -0
  283. package/lib/types/salesforce/custom-metadata.js.map +1 -0
  284. package/lib/types/salesforce/email.d.ts +56 -0
  285. package/lib/types/salesforce/email.js +6 -0
  286. package/lib/types/salesforce/email.js.map +1 -0
  287. package/lib/types/salesforce/flexipage.d.ts +149 -0
  288. package/lib/types/salesforce/flexipage.js +6 -0
  289. package/lib/types/salesforce/flexipage.js.map +1 -0
  290. package/lib/types/salesforce/flow.d.ts +516 -0
  291. package/lib/types/salesforce/flow.js +6 -0
  292. package/lib/types/salesforce/flow.js.map +1 -0
  293. package/lib/types/salesforce/genai.d.ts +67 -0
  294. package/lib/types/salesforce/genai.js +6 -0
  295. package/lib/types/salesforce/genai.js.map +1 -0
  296. package/lib/types/salesforce/index.d.ts +27 -0
  297. package/lib/types/salesforce/index.js +43 -0
  298. package/lib/types/salesforce/index.js.map +1 -0
  299. package/lib/types/salesforce/layout.d.ts +236 -0
  300. package/lib/types/salesforce/layout.js +6 -0
  301. package/lib/types/salesforce/layout.js.map +1 -0
  302. package/lib/types/salesforce/lwc.d.ts +123 -0
  303. package/lib/types/salesforce/lwc.js +6 -0
  304. package/lib/types/salesforce/lwc.js.map +1 -0
  305. package/lib/types/salesforce/object.d.ts +427 -0
  306. package/lib/types/salesforce/object.js +6 -0
  307. package/lib/types/salesforce/object.js.map +1 -0
  308. package/lib/types/salesforce/parser-types.d.ts +79 -0
  309. package/lib/types/salesforce/parser-types.js +80 -0
  310. package/lib/types/salesforce/parser-types.js.map +1 -0
  311. package/lib/types/salesforce/permission.d.ts +289 -0
  312. package/lib/types/salesforce/permission.js +6 -0
  313. package/lib/types/salesforce/permission.js.map +1 -0
  314. package/lib/types/salesforce/resource.d.ts +93 -0
  315. package/lib/types/salesforce/resource.js +6 -0
  316. package/lib/types/salesforce/resource.js.map +1 -0
  317. package/lib/types/salesforce/visualforce.d.ts +70 -0
  318. package/lib/types/salesforce/visualforce.js +6 -0
  319. package/lib/types/salesforce/visualforce.js.map +1 -0
  320. package/lib/utils/cache-manager.d.ts +158 -0
  321. package/lib/utils/cache-manager.js +429 -0
  322. package/lib/utils/cache-manager.js.map +1 -0
  323. package/lib/utils/deployment-plan-manager.d.ts +40 -0
  324. package/lib/utils/deployment-plan-manager.js +183 -0
  325. package/lib/utils/deployment-plan-manager.js.map +1 -0
  326. package/lib/utils/error-aggregator.d.ts +117 -0
  327. package/lib/utils/error-aggregator.js +268 -0
  328. package/lib/utils/error-aggregator.js.map +1 -0
  329. package/lib/utils/file-system.d.ts +62 -0
  330. package/lib/utils/file-system.js +167 -0
  331. package/lib/utils/file-system.js.map +1 -0
  332. package/lib/utils/functional.d.ts +52 -0
  333. package/lib/utils/functional.js +61 -0
  334. package/lib/utils/functional.js.map +1 -0
  335. package/lib/utils/graph-algorithms.d.ts +53 -0
  336. package/lib/utils/graph-algorithms.js +177 -0
  337. package/lib/utils/graph-algorithms.js.map +1 -0
  338. package/lib/utils/logger.d.ts +154 -0
  339. package/lib/utils/logger.js +327 -0
  340. package/lib/utils/logger.js.map +1 -0
  341. package/lib/utils/network-handler.d.ts +64 -0
  342. package/lib/utils/network-handler.js +147 -0
  343. package/lib/utils/network-handler.js.map +1 -0
  344. package/lib/utils/performance.d.ts +148 -0
  345. package/lib/utils/performance.js +294 -0
  346. package/lib/utils/performance.js.map +1 -0
  347. package/lib/utils/string.d.ts +197 -0
  348. package/lib/utils/string.js +331 -0
  349. package/lib/utils/string.js.map +1 -0
  350. package/lib/utils/xml.d.ts +97 -0
  351. package/lib/utils/xml.js +227 -0
  352. package/lib/utils/xml.js.map +1 -0
  353. package/lib/validators/xml-metadata-validator.d.ts +106 -0
  354. package/lib/validators/xml-metadata-validator.js +509 -0
  355. package/lib/validators/xml-metadata-validator.js.map +1 -0
  356. package/lib/waves/priority-wave-generator-ai.d.ts +85 -0
  357. package/lib/waves/priority-wave-generator-ai.js +191 -0
  358. package/lib/waves/priority-wave-generator-ai.js.map +1 -0
  359. package/lib/waves/priority-wave-generator.d.ts +47 -0
  360. package/lib/waves/priority-wave-generator.js +88 -0
  361. package/lib/waves/priority-wave-generator.js.map +1 -0
  362. package/lib/waves/test-optimizer.d.ts +155 -0
  363. package/lib/waves/test-optimizer.js +290 -0
  364. package/lib/waves/test-optimizer.js.map +1 -0
  365. package/lib/waves/wave-builder.d.ts +147 -0
  366. package/lib/waves/wave-builder.js +286 -0
  367. package/lib/waves/wave-builder.js.map +1 -0
  368. package/lib/waves/wave-diff-generator.d.ts +17 -0
  369. package/lib/waves/wave-diff-generator.js +6 -0
  370. package/lib/waves/wave-diff-generator.js.map +1 -0
  371. package/lib/waves/wave-executor.d.ts +33 -0
  372. package/lib/waves/wave-executor.js +50 -0
  373. package/lib/waves/wave-executor.js.map +1 -0
  374. package/lib/waves/wave-merger.d.ts +96 -0
  375. package/lib/waves/wave-merger.js +181 -0
  376. package/lib/waves/wave-merger.js.map +1 -0
  377. package/lib/waves/wave-metadata-generator.d.ts +13 -0
  378. package/lib/waves/wave-metadata-generator.js +12 -0
  379. package/lib/waves/wave-metadata-generator.js.map +1 -0
  380. package/lib/waves/wave-splitter.d.ts +154 -0
  381. package/lib/waves/wave-splitter.js +307 -0
  382. package/lib/waves/wave-splitter.js.map +1 -0
  383. package/lib/waves/wave-validator.d.ts +17 -0
  384. package/lib/waves/wave-validator.js +15 -0
  385. package/lib/waves/wave-validator.js.map +1 -0
  386. package/messages/analyze.json +18 -0
  387. package/messages/config.json +29 -0
  388. package/messages/resume.json +9 -0
  389. package/messages/start.json +24 -0
  390. package/messages/status.json +8 -0
  391. package/messages/validate.json +9 -0
  392. package/npm-shrinkwrap.json +25676 -0
  393. package/oclif.lock +11988 -0
  394. package/oclif.manifest.json +589 -0
  395. package/package.json +224 -0
@@ -0,0 +1,427 @@
1
+ /**
2
+ * Type definitions for Salesforce Object metadata
3
+ * Represents CustomObject and CustomField metadata structures
4
+ */
5
+ import type { Encoding } from './common.js';
6
+ /**
7
+ * Custom Object metadata (.object-meta.xml)
8
+ */
9
+ export type CustomObjectMetadata = {
10
+ actionOverrides?: ActionOverride[];
11
+ allowInChatterGroups?: boolean;
12
+ compactLayoutAssignment?: string;
13
+ customHelpPage?: string;
14
+ deploymentStatus?: DeploymentStatus;
15
+ deprecated?: boolean;
16
+ description?: string;
17
+ enableActivities?: boolean;
18
+ enableBulkApi?: boolean;
19
+ enableChangeDataCapture?: boolean;
20
+ enableEnhancedLookup?: boolean;
21
+ enableFeeds?: boolean;
22
+ enableHistory?: boolean;
23
+ enableReports?: boolean;
24
+ enableSearch?: boolean;
25
+ enableSharing?: boolean;
26
+ enableStreamingApi?: boolean;
27
+ externalSharingModel?: SharingModel;
28
+ fields?: CustomField[];
29
+ fieldSets?: FieldSet[];
30
+ gender?: Gender;
31
+ household?: boolean;
32
+ label: string;
33
+ listViews?: ListView[];
34
+ nameField?: CustomField;
35
+ pluralLabel: string;
36
+ recordTypes?: RecordType[];
37
+ searchLayouts?: SearchLayouts;
38
+ sharingModel?: SharingModel;
39
+ sharingReasons?: SharingReason[];
40
+ sharingRecalculations?: SharingRecalculation[];
41
+ startsWith?: StartsWith;
42
+ validationRules?: ValidationRule[];
43
+ visibility?: SetupObjectVisibility;
44
+ webLinks?: WebLink[];
45
+ };
46
+ /**
47
+ * Deployment status
48
+ */
49
+ export type DeploymentStatus = 'Deployed' | 'InDevelopment';
50
+ /**
51
+ * Sharing model
52
+ */
53
+ export type SharingModel = 'Private' | 'Read' | 'ReadWrite' | 'ReadWriteTransfer' | 'FullAccess' | 'ControlledByParent' | 'ControlledByCampaign' | 'ControlledByLeadOrContact';
54
+ /**
55
+ * Gender
56
+ */
57
+ export type Gender = 'Neuter' | 'Masculine' | 'Feminine' | 'AnimateMasculine' | 'ClassI' | 'ClassIII';
58
+ /**
59
+ * Starts with
60
+ */
61
+ export type StartsWith = 'Consonant' | 'Vowel' | 'Special';
62
+ /**
63
+ * Setup object visibility
64
+ */
65
+ export type SetupObjectVisibility = 'Public' | 'Protected' | 'PackageProtected';
66
+ /**
67
+ * Action override
68
+ */
69
+ export type ActionOverride = {
70
+ actionName: string;
71
+ comment?: string;
72
+ content?: string;
73
+ formFactor?: FormFactor;
74
+ skipRecordTypeSelect?: boolean;
75
+ type: ActionOverrideType;
76
+ };
77
+ /**
78
+ * Form factor
79
+ */
80
+ export type FormFactor = 'Small' | 'Medium' | 'Large';
81
+ /**
82
+ * Action override type
83
+ */
84
+ export type ActionOverrideType = 'Default' | 'Standard' | 'Scontrol' | 'Visualforce' | 'Flexipage' | 'LightningComponent';
85
+ /**
86
+ * Custom Field metadata
87
+ */
88
+ export type CustomField = {
89
+ fullName: string;
90
+ label: string;
91
+ type: FieldType;
92
+ businessOwnerGroup?: string;
93
+ businessOwnerUser?: string;
94
+ businessStatus?: string;
95
+ caseSensitive?: boolean;
96
+ complianceGroup?: string;
97
+ customDataType?: string;
98
+ defaultValue?: string;
99
+ deleteConstraint?: DeleteConstraint;
100
+ deprecated?: boolean;
101
+ description?: string;
102
+ displayFormat?: string;
103
+ displayLocationInDecimal?: boolean;
104
+ encrypted?: boolean;
105
+ encryptionScheme?: EncryptionScheme;
106
+ externalDeveloperName?: string;
107
+ externalId?: boolean;
108
+ fieldManageability?: FieldManageability;
109
+ formula?: string;
110
+ formulaTreatBlanksAs?: TreatBlanksAs;
111
+ inlineHelpText?: string;
112
+ isAIPredictionField?: boolean;
113
+ isConversationIntelligenceField?: boolean;
114
+ isFilteringDisabled?: boolean;
115
+ isNameField?: boolean;
116
+ isSortingDisabled?: boolean;
117
+ length?: number;
118
+ lookupFilter?: LookupFilter;
119
+ maskChar?: MaskChar;
120
+ maskType?: MaskType;
121
+ metadataRelationshipControllingField?: string;
122
+ populateExistingRows?: boolean;
123
+ precision?: number;
124
+ referenceTo?: string[];
125
+ referenceTargetField?: string;
126
+ relationshipLabel?: string;
127
+ relationshipName?: string;
128
+ relationshipOrder?: number;
129
+ reparentableMasterDetail?: boolean;
130
+ required?: boolean;
131
+ scale?: number;
132
+ securityClassification?: string;
133
+ startingNumber?: number;
134
+ stripMarkup?: boolean;
135
+ summarizedField?: string;
136
+ summaryFilterItems?: FilterItem[];
137
+ summaryForeignKey?: string;
138
+ summaryOperation?: SummaryOperations;
139
+ trackFeedHistory?: boolean;
140
+ trackHistory?: boolean;
141
+ trackTrending?: boolean;
142
+ translateData?: boolean;
143
+ unique?: boolean;
144
+ valueSet?: ValueSet;
145
+ visibleLines?: number;
146
+ writeRequiresMasterRead?: boolean;
147
+ };
148
+ /**
149
+ * Field type
150
+ */
151
+ export type FieldType = 'AutoNumber' | 'Lookup' | 'MasterDetail' | 'MetadataRelationship' | 'Checkbox' | 'Currency' | 'Date' | 'DateTime' | 'Email' | 'EncryptedText' | 'ExternalLookup' | 'IndirectLookup' | 'Number' | 'Percent' | 'Phone' | 'Picklist' | 'MultiselectPicklist' | 'Summary' | 'Text' | 'TextArea' | 'LongTextArea' | 'Html' | 'Url' | 'Hierarchy' | 'File' | 'Location' | 'Time';
152
+ /**
153
+ * Delete constraint
154
+ */
155
+ export type DeleteConstraint = 'Cascade' | 'Restrict' | 'SetNull';
156
+ /**
157
+ * Encryption scheme
158
+ */
159
+ export type EncryptionScheme = 'None' | 'ProbabilisticEncryption' | 'CaseSensitiveDeterministicEncryption' | 'CaseInsensitiveDeterministicEncryption';
160
+ /**
161
+ * Field manageability
162
+ */
163
+ export type FieldManageability = 'DeveloperControlled' | 'SubscriberControlled' | 'Locked';
164
+ /**
165
+ * Treat blanks as
166
+ */
167
+ export type TreatBlanksAs = 'BlankAsBlank' | 'BlankAsZero';
168
+ /**
169
+ * Mask char
170
+ */
171
+ export type MaskChar = 'asterisk' | 'X';
172
+ /**
173
+ * Mask type
174
+ */
175
+ export type MaskType = 'all' | 'creditCard' | 'ssn' | 'lastFour' | 'sin' | 'nino';
176
+ /**
177
+ * Summary operations
178
+ */
179
+ export type SummaryOperations = 'count' | 'min' | 'max' | 'sum';
180
+ /**
181
+ * Lookup filter
182
+ */
183
+ export type LookupFilter = {
184
+ active: boolean;
185
+ booleanFilter?: string;
186
+ errorMessage?: string;
187
+ filterItems?: FilterItem[];
188
+ infoMessage?: string;
189
+ isOptional: boolean;
190
+ };
191
+ /**
192
+ * Filter item
193
+ */
194
+ export type FilterItem = {
195
+ field: string;
196
+ operation: FilterOperation;
197
+ value?: string;
198
+ valueField?: string;
199
+ };
200
+ /**
201
+ * Filter operation
202
+ */
203
+ export type FilterOperation = 'equals' | 'notEqual' | 'lessThan' | 'greaterThan' | 'lessOrEqual' | 'greaterOrEqual' | 'contains' | 'notContain' | 'startsWith' | 'includes' | 'excludes' | 'within';
204
+ /**
205
+ * Value set
206
+ */
207
+ export type ValueSet = {
208
+ controllingField?: string;
209
+ restricted?: boolean;
210
+ valueSetDefinition?: ValueSetDefinition;
211
+ valueSetName?: string;
212
+ };
213
+ /**
214
+ * Value set definition
215
+ */
216
+ export type ValueSetDefinition = {
217
+ sorted: boolean;
218
+ value: CustomValue[];
219
+ };
220
+ /**
221
+ * Custom value (picklist value)
222
+ */
223
+ export type CustomValue = {
224
+ fullName: string;
225
+ default: boolean;
226
+ label: string;
227
+ color?: string;
228
+ isActive?: boolean;
229
+ description?: string;
230
+ };
231
+ /**
232
+ * Field set
233
+ */
234
+ export type FieldSet = {
235
+ fullName: string;
236
+ availableFields?: FieldSetItem[];
237
+ description?: string;
238
+ displayedFields: FieldSetItem[];
239
+ label: string;
240
+ };
241
+ /**
242
+ * Field set item
243
+ */
244
+ export type FieldSetItem = {
245
+ field: string;
246
+ isFieldManaged?: boolean;
247
+ isRequired?: boolean;
248
+ };
249
+ /**
250
+ * List view
251
+ */
252
+ export type ListView = {
253
+ fullName: string;
254
+ booleanFilter?: string;
255
+ columns: string[];
256
+ division?: string;
257
+ filterScope: FilterScope;
258
+ filters?: ListViewFilter[];
259
+ label: string;
260
+ language?: string;
261
+ queue?: string;
262
+ sharedTo?: SharedTo;
263
+ };
264
+ /**
265
+ * Filter scope
266
+ */
267
+ export type FilterScope = 'Everything' | 'Mine' | 'Queue' | 'Delegated' | 'MyTerritory' | 'MyTeamTerritory' | 'Team' | 'AssignedToMe' | 'MineAndMyGroups';
268
+ /**
269
+ * List view filter
270
+ */
271
+ export type ListViewFilter = {
272
+ field: string;
273
+ operation: FilterOperation;
274
+ value?: string;
275
+ };
276
+ /**
277
+ * Shared to
278
+ */
279
+ export type SharedTo = {
280
+ allCustomerPortalUsers?: string;
281
+ allInternalUsers?: string;
282
+ allPartnerUsers?: string;
283
+ channelProgramGroup?: string[];
284
+ channelProgramGroups?: string[];
285
+ group?: string[];
286
+ groups?: string[];
287
+ managerSubordinates?: string[];
288
+ managers?: string[];
289
+ portalRole?: string[];
290
+ portalRoleAndSubordinates?: string[];
291
+ queue?: string[];
292
+ role?: string[];
293
+ roleAndSubordinates?: string[];
294
+ roleAndSubordinatesInternal?: string[];
295
+ roles?: string[];
296
+ rolesAndSubordinates?: string[];
297
+ territories?: string[];
298
+ territoriesAndSubordinates?: string[];
299
+ territory?: string[];
300
+ territoryAndSubordinates?: string[];
301
+ };
302
+ /**
303
+ * Record type
304
+ */
305
+ export type RecordType = {
306
+ fullName: string;
307
+ active: boolean;
308
+ businessProcess?: string;
309
+ compactLayoutAssignment?: string;
310
+ description?: string;
311
+ label: string;
312
+ picklistValues?: RecordTypePicklistValue[];
313
+ };
314
+ /**
315
+ * Record type picklist value
316
+ */
317
+ export type RecordTypePicklistValue = {
318
+ picklist: string;
319
+ values: PicklistValue[];
320
+ };
321
+ /**
322
+ * Picklist value
323
+ */
324
+ export type PicklistValue = {
325
+ fullName: string;
326
+ default: boolean;
327
+ allowEmail?: boolean;
328
+ closed?: boolean;
329
+ controllingFieldValues?: string[];
330
+ converted?: boolean;
331
+ cssExposed?: boolean;
332
+ forecastCategory?: ForecastCategories;
333
+ highPriority?: boolean;
334
+ probability?: number;
335
+ reverseRole?: string;
336
+ reviewed?: boolean;
337
+ won?: boolean;
338
+ };
339
+ /**
340
+ * Forecast categories
341
+ */
342
+ export type ForecastCategories = 'Omitted' | 'Pipeline' | 'BestCase' | 'Forecast' | 'Closed';
343
+ /**
344
+ * Search layouts
345
+ */
346
+ export type SearchLayouts = {
347
+ customTabListAdditionalFields?: string[];
348
+ excludedStandardButtons?: string[];
349
+ listViewButtons?: string[];
350
+ lookupDialogsAdditionalFields?: string[];
351
+ lookupFilterFields?: string[];
352
+ lookupPhoneDialogsAdditionalFields?: string[];
353
+ searchFilterFields?: string[];
354
+ searchResultsAdditionalFields?: string[];
355
+ searchResultsCustomButtons?: string[];
356
+ };
357
+ /**
358
+ * Sharing reason
359
+ */
360
+ export type SharingReason = {
361
+ fullName: string;
362
+ label: string;
363
+ };
364
+ /**
365
+ * Sharing recalculation
366
+ */
367
+ export type SharingRecalculation = {
368
+ className: string;
369
+ };
370
+ /**
371
+ * Validation rule
372
+ */
373
+ export type ValidationRule = {
374
+ fullName: string;
375
+ active: boolean;
376
+ description?: string;
377
+ errorConditionFormula: string;
378
+ errorDisplayField?: string;
379
+ errorMessage: string;
380
+ };
381
+ /**
382
+ * Web link
383
+ */
384
+ export type WebLink = {
385
+ fullName: string;
386
+ availability: WebLinkAvailability;
387
+ description?: string;
388
+ displayType: WebLinkDisplayType;
389
+ encodingKey?: Encoding;
390
+ hasMenubar?: boolean;
391
+ hasScrollbars?: boolean;
392
+ hasToolbar?: boolean;
393
+ height?: number;
394
+ isResizable?: boolean;
395
+ linkType: WebLinkType;
396
+ masterLabel?: string;
397
+ openType: WebLinkWindowType;
398
+ page?: string;
399
+ position?: WebLinkPosition;
400
+ protected: boolean;
401
+ requireRowSelection?: boolean;
402
+ scontrol?: string;
403
+ showsLocation?: boolean;
404
+ showsStatus?: boolean;
405
+ url?: string;
406
+ width?: number;
407
+ };
408
+ /**
409
+ * Web link availability
410
+ */
411
+ export type WebLinkAvailability = 'online' | 'offline';
412
+ /**
413
+ * Web link display type
414
+ */
415
+ export type WebLinkDisplayType = 'link' | 'button' | 'massActionButton';
416
+ /**
417
+ * Web link type
418
+ */
419
+ export type WebLinkType = 'url' | 'sControl' | 'javascript' | 'page' | 'flow';
420
+ /**
421
+ * Web link window type
422
+ */
423
+ export type WebLinkWindowType = 'newWindow' | 'sidebar' | 'noSidebar' | 'replace' | 'onClickJavaScript';
424
+ /**
425
+ * Web link position
426
+ */
427
+ export type WebLinkPosition = 'fullScreen' | 'none' | 'topLeft';
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Type definitions for Salesforce Object metadata
3
+ * Represents CustomObject and CustomField metadata structures
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/types/salesforce/object.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Parser-friendly types for Salesforce metadata
3
+ *
4
+ * These types are more permissive than the strict metadata types,
5
+ * allowing parsers to handle unknown/future metadata types gracefully.
6
+ *
7
+ * @module types/salesforce/parser-types
8
+ */
9
+ import type { FlowMetadata, LWCMetadata, AuraComponentMetadata, ApexClassMetadata, ApexTriggerMetadata, CustomObjectMetadata } from './index.js';
10
+ /**
11
+ * Parser-safe Flow metadata
12
+ * Allows unknown processType values for forward compatibility
13
+ */
14
+ export type ParsedFlowMetadata = Omit<Partial<FlowMetadata>, 'processType' | 'status'> & {
15
+ label: string;
16
+ processType: string;
17
+ status: string;
18
+ };
19
+ /**
20
+ * Parser-safe LWC metadata
21
+ * Allows unknown target values
22
+ */
23
+ export type ParsedLWCMetadata = Omit<Partial<LWCMetadata>, 'targets'> & {
24
+ apiVersion: string;
25
+ isExposed: boolean;
26
+ targets?: {
27
+ target: string[];
28
+ };
29
+ };
30
+ /**
31
+ * Parser-safe Aura metadata
32
+ * Allows unknown access levels
33
+ */
34
+ export type ParsedAuraMetadata = Partial<AuraComponentMetadata> & {
35
+ apiVersion?: string;
36
+ access?: string;
37
+ };
38
+ /**
39
+ * Parser-safe Apex metadata
40
+ * Allows unknown status values
41
+ */
42
+ export type ParsedApexClassMetadata = Omit<Partial<ApexClassMetadata>, 'status'> & {
43
+ apiVersion: string;
44
+ status: string;
45
+ };
46
+ export type ParsedApexTriggerMetadata = Omit<Partial<ApexTriggerMetadata>, 'status'> & {
47
+ apiVersion: string;
48
+ status: string;
49
+ };
50
+ /**
51
+ * Parser-safe Custom Object metadata
52
+ * Allows unknown deployment status and sharing models
53
+ */
54
+ export type ParsedCustomObjectMetadata = Omit<Partial<CustomObjectMetadata>, 'deploymentStatus' | 'sharingModel'> & {
55
+ label: string;
56
+ pluralLabel: string;
57
+ deploymentStatus?: string;
58
+ sharingModel?: string;
59
+ };
60
+ /**
61
+ * Type guard helpers for safe type narrowing
62
+ */
63
+ export declare function isKnownFlowProcessType(type: string): boolean;
64
+ export declare function isKnownFlowStatus(status: string): boolean;
65
+ export declare function isKnownApexStatus(status: string): boolean;
66
+ export declare function isKnownAuraAccess(access: string): boolean;
67
+ export declare function isKnownLWCTarget(target: string): boolean;
68
+ /**
69
+ * Validation helpers that log warnings for unknown values
70
+ * but don't throw errors
71
+ */
72
+ export declare function validateFlowMetadata(parsed: ParsedFlowMetadata): FlowMetadata;
73
+ export declare function validateLWCMetadata(parsed: ParsedLWCMetadata): LWCMetadata;
74
+ /**
75
+ * Helper to safely parse unknown metadata
76
+ * Returns a generic Record if the metadata type is completely unknown
77
+ */
78
+ export type UnknownMetadata = Record<string, unknown>;
79
+ export declare function parseUnknownMetadata(xmlContent: string, metadataType: string): UnknownMetadata;
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Parser-friendly types for Salesforce metadata
3
+ *
4
+ * These types are more permissive than the strict metadata types,
5
+ * allowing parsers to handle unknown/future metadata types gracefully.
6
+ *
7
+ * @module types/salesforce/parser-types
8
+ */
9
+ /**
10
+ * Type guard helpers for safe type narrowing
11
+ */
12
+ export function isKnownFlowProcessType(type) {
13
+ const knownTypes = [
14
+ 'AutoLaunchedFlow',
15
+ 'Flow',
16
+ 'Workflow',
17
+ 'CustomEvent',
18
+ 'InvocableProcess',
19
+ 'LoginFlow',
20
+ 'ActionPlan',
21
+ // Add all known types
22
+ ];
23
+ return knownTypes.includes(type);
24
+ }
25
+ export function isKnownFlowStatus(status) {
26
+ return ['Active', 'Draft', 'Obsolete', 'InvalidDraft'].includes(status);
27
+ }
28
+ export function isKnownApexStatus(status) {
29
+ return ['Active', 'Inactive', 'Deleted'].includes(status);
30
+ }
31
+ export function isKnownAuraAccess(access) {
32
+ return ['GLOBAL', 'PUBLIC', 'PRIVATE', 'INTERNAL'].includes(access);
33
+ }
34
+ export function isKnownLWCTarget(target) {
35
+ const knownTargets = [
36
+ 'lightning__AppPage',
37
+ 'lightning__HomePage',
38
+ 'lightning__RecordPage',
39
+ 'lightning__RecordAction',
40
+ 'lightning__FlowScreen',
41
+ // Add all known targets
42
+ ];
43
+ return knownTargets.includes(target);
44
+ }
45
+ /**
46
+ * Validation helpers that log warnings for unknown values
47
+ * but don't throw errors
48
+ */
49
+ export function validateFlowMetadata(parsed) {
50
+ if (!isKnownFlowProcessType(parsed.processType)) {
51
+ // Note: In production, replace with proper logger
52
+ // logger.warn(`[FlowParser] Unknown processType: ${parsed.processType}. This might be a new Salesforce feature. Proceeding anyway...`);
53
+ }
54
+ if (parsed.status && !isKnownFlowStatus(parsed.status)) {
55
+ // Note: In production, replace with proper logger
56
+ // logger.warn(`[FlowParser] Unknown status: ${parsed.status}. Proceeding anyway...`);
57
+ }
58
+ // Cast to strict type after validation
59
+ return parsed;
60
+ }
61
+ export function validateLWCMetadata(parsed) {
62
+ if (parsed.targets?.target) {
63
+ const unknownTargets = parsed.targets.target.filter((t) => !isKnownLWCTarget(t));
64
+ if (unknownTargets.length > 0) {
65
+ // Note: In production, replace with proper logger
66
+ // logger.warn(`[LWCParser] Unknown targets: ${unknownTargets.join(', ')}. These might be new Salesforce features. Proceeding anyway...`);
67
+ }
68
+ }
69
+ return parsed;
70
+ }
71
+ export function parseUnknownMetadata(xmlContent, metadataType) {
72
+ // Note: In production, replace with proper logger
73
+ // logger.warn(`[Parser] No specific parser for metadata type: ${metadataType}. Parsing as generic metadata. Consider adding a parser for this type.`);
74
+ // Return a generic object that can hold any properties
75
+ return {
76
+ _metadataType: metadataType,
77
+ _rawContent: xmlContent,
78
+ };
79
+ }
80
+ //# sourceMappingURL=parser-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser-types.js","sourceRoot":"","sources":["../../../src/types/salesforce/parser-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAmEH;;GAEG;AAEH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,UAAU,GAAG;QACjB,kBAAkB;QAClB,MAAM;QACN,UAAU;QACV,aAAa;QACb,kBAAkB;QAClB,WAAW;QACX,YAAY;QACZ,sBAAsB;KACvB,CAAC;IACF,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,YAAY,GAAG;QACnB,oBAAoB;QACpB,qBAAqB;QACrB,uBAAuB;QACvB,yBAAyB;QACzB,uBAAuB;QACvB,wBAAwB;KACzB,CAAC;IACF,OAAO,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAED;;;GAGG;AAEH,MAAM,UAAU,oBAAoB,CAAC,MAA0B;IAC7D,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QAChD,kDAAkD;QAClD,wIAAwI;IAC1I,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,kDAAkD;QAClD,sFAAsF;IACxF,CAAC;IAED,uCAAuC;IACvC,OAAO,MAAiC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAyB;IAC3D,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,kDAAkD;YAClD,0IAA0I;QAC5I,CAAC;IACH,CAAC;IAED,OAAO,MAAgC,CAAC;AAC1C,CAAC;AAQD,MAAM,UAAU,oBAAoB,CAAC,UAAkB,EAAE,YAAoB;IAC3E,kDAAkD;IAClD,uJAAuJ;IAEvJ,uDAAuD;IACvD,OAAO;QACL,aAAa,EAAE,YAAY;QAC3B,WAAW,EAAE,UAAU;KACxB,CAAC;AACJ,CAAC"}