@fnd-platform/cli 1.0.0-alpha.3 → 1.0.0-alpha.30

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 (237) hide show
  1. package/LICENSE +21 -0
  2. package/lib/bin/fnd.js +101 -4
  3. package/lib/bin/fnd.js.map +1 -1
  4. package/lib/commands/add.d.ts.map +1 -1
  5. package/lib/commands/add.js +134 -67
  6. package/lib/commands/add.js.map +1 -1
  7. package/lib/commands/build.js +29 -34
  8. package/lib/commands/build.js.map +1 -1
  9. package/lib/commands/deploy.d.ts +34 -9
  10. package/lib/commands/deploy.d.ts.map +1 -1
  11. package/lib/commands/deploy.js +246 -52
  12. package/lib/commands/deploy.js.map +1 -1
  13. package/lib/commands/destroy.d.ts +69 -0
  14. package/lib/commands/destroy.d.ts.map +1 -0
  15. package/lib/commands/destroy.js +172 -0
  16. package/lib/commands/destroy.js.map +1 -0
  17. package/lib/commands/index.d.ts +2 -0
  18. package/lib/commands/index.d.ts.map +1 -1
  19. package/lib/commands/index.js +7 -13
  20. package/lib/commands/index.js.map +1 -1
  21. package/lib/commands/new.js +46 -50
  22. package/lib/commands/new.js.map +1 -1
  23. package/lib/commands/synth.d.ts +8 -1
  24. package/lib/commands/synth.d.ts.map +1 -1
  25. package/lib/commands/synth.js +82 -22
  26. package/lib/commands/synth.js.map +1 -1
  27. package/lib/commands/test.d.ts +73 -0
  28. package/lib/commands/test.d.ts.map +1 -0
  29. package/lib/commands/test.js +193 -0
  30. package/lib/commands/test.js.map +1 -0
  31. package/lib/index.d.ts +11 -2
  32. package/lib/index.d.ts.map +1 -1
  33. package/lib/index.js +31 -15
  34. package/lib/index.js.map +1 -1
  35. package/lib/lib/deploy-utils.d.ts +190 -0
  36. package/lib/lib/deploy-utils.d.ts.map +1 -0
  37. package/lib/lib/deploy-utils.js +372 -0
  38. package/lib/lib/deploy-utils.js.map +1 -0
  39. package/lib/lib/infra-generator.d.ts +118 -0
  40. package/lib/lib/infra-generator.d.ts.map +1 -1
  41. package/lib/lib/infra-generator.js +1051 -59
  42. package/lib/lib/infra-generator.js.map +1 -1
  43. package/lib/lib/logger.js +23 -29
  44. package/lib/lib/logger.js.map +1 -1
  45. package/lib/lib/nx-stats.js +12 -18
  46. package/lib/lib/nx-stats.js.map +1 -1
  47. package/lib/lib/project.js +7 -11
  48. package/lib/lib/project.js.map +1 -1
  49. package/lib/lib/templates.js +2 -6
  50. package/lib/lib/templates.js.map +1 -1
  51. package/lib/lib/timer.js +2 -7
  52. package/lib/lib/timer.js.map +1 -1
  53. package/lib/lib/validation.d.ts +135 -0
  54. package/lib/lib/validation.d.ts.map +1 -0
  55. package/lib/lib/validation.js +233 -0
  56. package/lib/lib/validation.js.map +1 -0
  57. package/lib/tui/App.d.ts +11 -0
  58. package/lib/tui/App.d.ts.map +1 -0
  59. package/lib/tui/App.js +98 -0
  60. package/lib/tui/App.js.map +1 -0
  61. package/lib/tui/components/branding/AsciiBanner.d.ts +21 -0
  62. package/lib/tui/components/branding/AsciiBanner.d.ts.map +1 -0
  63. package/lib/tui/components/branding/AsciiBanner.js +15 -0
  64. package/lib/tui/components/branding/AsciiBanner.js.map +1 -0
  65. package/lib/tui/components/branding/index.d.ts +5 -0
  66. package/lib/tui/components/branding/index.d.ts.map +1 -0
  67. package/lib/tui/components/branding/index.js +5 -0
  68. package/lib/tui/components/branding/index.js.map +1 -0
  69. package/lib/tui/components/feedback/Notification.d.ts +51 -0
  70. package/lib/tui/components/feedback/Notification.d.ts.map +1 -0
  71. package/lib/tui/components/feedback/Notification.js +89 -0
  72. package/lib/tui/components/feedback/Notification.js.map +1 -0
  73. package/lib/tui/components/feedback/ProgressBar.d.ts +46 -0
  74. package/lib/tui/components/feedback/ProgressBar.d.ts.map +1 -0
  75. package/lib/tui/components/feedback/ProgressBar.js +30 -0
  76. package/lib/tui/components/feedback/ProgressBar.js.map +1 -0
  77. package/lib/tui/components/feedback/ProgressSteps.d.ts +35 -0
  78. package/lib/tui/components/feedback/ProgressSteps.d.ts.map +1 -0
  79. package/lib/tui/components/feedback/ProgressSteps.js +37 -0
  80. package/lib/tui/components/feedback/ProgressSteps.js.map +1 -0
  81. package/lib/tui/components/feedback/Spinner.d.ts +18 -0
  82. package/lib/tui/components/feedback/Spinner.d.ts.map +1 -0
  83. package/lib/tui/components/feedback/Spinner.js +28 -0
  84. package/lib/tui/components/feedback/Spinner.js.map +1 -0
  85. package/lib/tui/components/feedback/index.d.ts +8 -0
  86. package/lib/tui/components/feedback/index.d.ts.map +1 -0
  87. package/lib/tui/components/feedback/index.js +8 -0
  88. package/lib/tui/components/feedback/index.js.map +1 -0
  89. package/lib/tui/components/index.d.ts +8 -0
  90. package/lib/tui/components/index.d.ts.map +1 -0
  91. package/lib/tui/components/index.js +8 -0
  92. package/lib/tui/components/index.js.map +1 -0
  93. package/lib/tui/components/input/Checkbox.d.ts +26 -0
  94. package/lib/tui/components/input/Checkbox.d.ts.map +1 -0
  95. package/lib/tui/components/input/Checkbox.js +20 -0
  96. package/lib/tui/components/input/Checkbox.js.map +1 -0
  97. package/lib/tui/components/input/SelectInput.d.ts +41 -0
  98. package/lib/tui/components/input/SelectInput.d.ts.map +1 -0
  99. package/lib/tui/components/input/SelectInput.js +53 -0
  100. package/lib/tui/components/input/SelectInput.js.map +1 -0
  101. package/lib/tui/components/input/TextInput.d.ts +30 -0
  102. package/lib/tui/components/input/TextInput.d.ts.map +1 -0
  103. package/lib/tui/components/input/TextInput.js +48 -0
  104. package/lib/tui/components/input/TextInput.js.map +1 -0
  105. package/lib/tui/components/input/index.d.ts +7 -0
  106. package/lib/tui/components/input/index.d.ts.map +1 -0
  107. package/lib/tui/components/input/index.js +7 -0
  108. package/lib/tui/components/input/index.js.map +1 -0
  109. package/lib/tui/components/layout/Breadcrumbs.d.ts +11 -0
  110. package/lib/tui/components/layout/Breadcrumbs.d.ts.map +1 -0
  111. package/lib/tui/components/layout/Breadcrumbs.js +34 -0
  112. package/lib/tui/components/layout/Breadcrumbs.js.map +1 -0
  113. package/lib/tui/components/layout/Footer.d.ts +11 -0
  114. package/lib/tui/components/layout/Footer.d.ts.map +1 -0
  115. package/lib/tui/components/layout/Footer.js +20 -0
  116. package/lib/tui/components/layout/Footer.js.map +1 -0
  117. package/lib/tui/components/layout/Header.d.ts +21 -0
  118. package/lib/tui/components/layout/Header.d.ts.map +1 -0
  119. package/lib/tui/components/layout/Header.js +21 -0
  120. package/lib/tui/components/layout/Header.js.map +1 -0
  121. package/lib/tui/components/layout/Screen.d.ts +27 -0
  122. package/lib/tui/components/layout/Screen.d.ts.map +1 -0
  123. package/lib/tui/components/layout/Screen.js +11 -0
  124. package/lib/tui/components/layout/Screen.js.map +1 -0
  125. package/lib/tui/components/layout/index.d.ts +8 -0
  126. package/lib/tui/components/layout/index.d.ts.map +1 -0
  127. package/lib/tui/components/layout/index.js +8 -0
  128. package/lib/tui/components/layout/index.js.map +1 -0
  129. package/lib/tui/hooks/index.d.ts +20 -0
  130. package/lib/tui/hooks/index.d.ts.map +1 -0
  131. package/lib/tui/hooks/index.js +18 -0
  132. package/lib/tui/hooks/index.js.map +1 -0
  133. package/lib/tui/hooks/useAddPackage.d.ts +120 -0
  134. package/lib/tui/hooks/useAddPackage.d.ts.map +1 -0
  135. package/lib/tui/hooks/useAddPackage.js +357 -0
  136. package/lib/tui/hooks/useAddPackage.js.map +1 -0
  137. package/lib/tui/hooks/useCreateProject.d.ts +66 -0
  138. package/lib/tui/hooks/useCreateProject.d.ts.map +1 -0
  139. package/lib/tui/hooks/useCreateProject.js +158 -0
  140. package/lib/tui/hooks/useCreateProject.js.map +1 -0
  141. package/lib/tui/hooks/useDeploy.d.ts +93 -0
  142. package/lib/tui/hooks/useDeploy.d.ts.map +1 -0
  143. package/lib/tui/hooks/useDeploy.js +254 -0
  144. package/lib/tui/hooks/useDeploy.js.map +1 -0
  145. package/lib/tui/hooks/useKeyboard.d.ts +66 -0
  146. package/lib/tui/hooks/useKeyboard.d.ts.map +1 -0
  147. package/lib/tui/hooks/useKeyboard.js +101 -0
  148. package/lib/tui/hooks/useKeyboard.js.map +1 -0
  149. package/lib/tui/hooks/useNavigation.d.ts +33 -0
  150. package/lib/tui/hooks/useNavigation.d.ts.map +1 -0
  151. package/lib/tui/hooks/useNavigation.js +27 -0
  152. package/lib/tui/hooks/useNavigation.js.map +1 -0
  153. package/lib/tui/hooks/useProject.d.ts +36 -0
  154. package/lib/tui/hooks/useProject.d.ts.map +1 -0
  155. package/lib/tui/hooks/useProject.js +47 -0
  156. package/lib/tui/hooks/useProject.js.map +1 -0
  157. package/lib/tui/index.d.ts +15 -0
  158. package/lib/tui/index.d.ts.map +1 -0
  159. package/lib/tui/index.js +16 -0
  160. package/lib/tui/index.js.map +1 -0
  161. package/lib/tui/lib/add-package-tui.d.ts +130 -0
  162. package/lib/tui/lib/add-package-tui.d.ts.map +1 -0
  163. package/lib/tui/lib/add-package-tui.js +492 -0
  164. package/lib/tui/lib/add-package-tui.js.map +1 -0
  165. package/lib/tui/lib/create-project-tui.d.ts +92 -0
  166. package/lib/tui/lib/create-project-tui.d.ts.map +1 -0
  167. package/lib/tui/lib/create-project-tui.js +181 -0
  168. package/lib/tui/lib/create-project-tui.js.map +1 -0
  169. package/lib/tui/lib/deploy-tui.d.ts +131 -0
  170. package/lib/tui/lib/deploy-tui.d.ts.map +1 -0
  171. package/lib/tui/lib/deploy-tui.js +347 -0
  172. package/lib/tui/lib/deploy-tui.js.map +1 -0
  173. package/lib/tui/screens/AddPackageScreen.d.ts +12 -0
  174. package/lib/tui/screens/AddPackageScreen.d.ts.map +1 -0
  175. package/lib/tui/screens/AddPackageScreen.js +436 -0
  176. package/lib/tui/screens/AddPackageScreen.js.map +1 -0
  177. package/lib/tui/screens/CreateProjectScreen.d.ts +12 -0
  178. package/lib/tui/screens/CreateProjectScreen.d.ts.map +1 -0
  179. package/lib/tui/screens/CreateProjectScreen.js +261 -0
  180. package/lib/tui/screens/CreateProjectScreen.js.map +1 -0
  181. package/lib/tui/screens/DeployScreen.d.ts +11 -0
  182. package/lib/tui/screens/DeployScreen.d.ts.map +1 -0
  183. package/lib/tui/screens/DeployScreen.js +224 -0
  184. package/lib/tui/screens/DeployScreen.js.map +1 -0
  185. package/lib/tui/screens/ProjectDashboard.d.ts +11 -0
  186. package/lib/tui/screens/ProjectDashboard.d.ts.map +1 -0
  187. package/lib/tui/screens/ProjectDashboard.js +42 -0
  188. package/lib/tui/screens/ProjectDashboard.js.map +1 -0
  189. package/lib/tui/screens/WelcomeScreen.d.ts +11 -0
  190. package/lib/tui/screens/WelcomeScreen.d.ts.map +1 -0
  191. package/lib/tui/screens/WelcomeScreen.js +26 -0
  192. package/lib/tui/screens/WelcomeScreen.js.map +1 -0
  193. package/lib/tui/screens/index.d.ts +9 -0
  194. package/lib/tui/screens/index.d.ts.map +1 -0
  195. package/lib/tui/screens/index.js +9 -0
  196. package/lib/tui/screens/index.js.map +1 -0
  197. package/lib/tui/services/ConfigService.d.ts +133 -0
  198. package/lib/tui/services/ConfigService.d.ts.map +1 -0
  199. package/lib/tui/services/ConfigService.js +221 -0
  200. package/lib/tui/services/ConfigService.js.map +1 -0
  201. package/lib/tui/services/ProjectService.d.ts +55 -0
  202. package/lib/tui/services/ProjectService.d.ts.map +1 -0
  203. package/lib/tui/services/ProjectService.js +179 -0
  204. package/lib/tui/services/ProjectService.js.map +1 -0
  205. package/lib/tui/services/index.d.ts +6 -0
  206. package/lib/tui/services/index.d.ts.map +1 -0
  207. package/lib/tui/services/index.js +6 -0
  208. package/lib/tui/services/index.js.map +1 -0
  209. package/lib/tui/state/AppContext.d.ts +58 -0
  210. package/lib/tui/state/AppContext.d.ts.map +1 -0
  211. package/lib/tui/state/AppContext.js +75 -0
  212. package/lib/tui/state/AppContext.js.map +1 -0
  213. package/lib/tui/state/index.d.ts +7 -0
  214. package/lib/tui/state/index.d.ts.map +1 -0
  215. package/lib/tui/state/index.js +7 -0
  216. package/lib/tui/state/index.js.map +1 -0
  217. package/lib/tui/state/reducer.d.ts +13 -0
  218. package/lib/tui/state/reducer.d.ts.map +1 -0
  219. package/lib/tui/state/reducer.js +136 -0
  220. package/lib/tui/state/reducer.js.map +1 -0
  221. package/lib/tui/state/types.d.ts +132 -0
  222. package/lib/tui/state/types.d.ts.map +1 -0
  223. package/lib/tui/state/types.js +38 -0
  224. package/lib/tui/state/types.js.map +1 -0
  225. package/lib/tui/utils/ascii.d.ts +42 -0
  226. package/lib/tui/utils/ascii.d.ts.map +1 -0
  227. package/lib/tui/utils/ascii.js +63 -0
  228. package/lib/tui/utils/ascii.js.map +1 -0
  229. package/lib/tui/utils/colors.d.ts +65 -0
  230. package/lib/tui/utils/colors.d.ts.map +1 -0
  231. package/lib/tui/utils/colors.js +65 -0
  232. package/lib/tui/utils/colors.js.map +1 -0
  233. package/lib/tui/utils/index.d.ts +6 -0
  234. package/lib/tui/utils/index.d.ts.map +1 -0
  235. package/lib/tui/utils/index.js +6 -0
  236. package/lib/tui/utils/index.js.map +1 -0
  237. package/package.json +23 -14
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 fnd-platform contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/lib/bin/fnd.js CHANGED
@@ -1,8 +1,105 @@
1
1
  #!/usr/bin/env node
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- const index_js_1 = require("../index.js");
5
- (0, index_js_1.run)().catch((error) => {
2
+ import { runCommander } from '../index.js';
3
+ /**
4
+ * Known traditional CLI commands that should bypass the TUI.
5
+ */
6
+ const TRADITIONAL_COMMANDS = [
7
+ 'new',
8
+ 'add',
9
+ 'synth',
10
+ 'build',
11
+ 'deploy',
12
+ 'destroy',
13
+ 'test',
14
+ 'lint',
15
+ 'help',
16
+ '-h',
17
+ '--help',
18
+ '-v',
19
+ '--version',
20
+ ];
21
+ /**
22
+ * CI environment variable names to check.
23
+ */
24
+ const CI_ENVIRONMENT_VARS = [
25
+ 'CI',
26
+ 'GITHUB_ACTIONS',
27
+ 'GITLAB_CI',
28
+ 'CIRCLECI',
29
+ 'TRAVIS',
30
+ 'JENKINS_URL',
31
+ 'BUILDKITE',
32
+ 'TEAMCITY_VERSION',
33
+ 'TF_BUILD',
34
+ 'BITBUCKET_BUILD_NUMBER',
35
+ 'CODEBUILD_BUILD_ID',
36
+ ];
37
+ /**
38
+ * Detects whether the CLI should run in interactive (TUI) or non-interactive mode.
39
+ *
40
+ * @returns 'interactive' or 'non-interactive'
41
+ */
42
+ function detectMode() {
43
+ const args = process.argv.slice(2);
44
+ // 1. Explicit flags take precedence
45
+ if (args.includes('--interactive') || args.includes('-i')) {
46
+ return 'interactive';
47
+ }
48
+ if (args.includes('--no-tui') || args.includes('--non-interactive')) {
49
+ return 'non-interactive';
50
+ }
51
+ // 2. No TTY = non-interactive (piped input/output)
52
+ if (!process.stdin.isTTY || !process.stdout.isTTY) {
53
+ return 'non-interactive';
54
+ }
55
+ // 3. CI environment detection
56
+ const isCI = CI_ENVIRONMENT_VARS.some((envVar) => process.env[envVar]);
57
+ if (isCI) {
58
+ return 'non-interactive';
59
+ }
60
+ // 4. Traditional commands should use Commander.js
61
+ const hasTraditionalCommand = args.some((arg) => {
62
+ // Check if arg is a known command (not a flag)
63
+ return TRADITIONAL_COMMANDS.includes(arg.toLowerCase());
64
+ });
65
+ if (hasTraditionalCommand) {
66
+ return 'non-interactive';
67
+ }
68
+ // 5. Any arguments at all (except our flags) = assume traditional usage
69
+ const nonFlagArgs = args.filter((arg) => !arg.startsWith('-') || arg === '-i');
70
+ if (nonFlagArgs.length > 0 && !args.includes('-i')) {
71
+ return 'non-interactive';
72
+ }
73
+ // 6. Default to interactive TUI when running `fnd` with no args
74
+ return 'interactive';
75
+ }
76
+ /**
77
+ * Main entry point.
78
+ */
79
+ async function main() {
80
+ const mode = detectMode();
81
+ if (mode === 'interactive') {
82
+ try {
83
+ // Dynamically import TUI to avoid loading React in non-interactive mode
84
+ const { runTui } = await import('../tui/index.js');
85
+ await runTui();
86
+ }
87
+ catch (error) {
88
+ // If TUI fails to load (e.g., missing dependencies), fall back to Commander
89
+ if (error.code === 'ERR_MODULE_NOT_FOUND') {
90
+ console.error('TUI dependencies not available. Running in CLI mode.');
91
+ await runCommander();
92
+ }
93
+ else {
94
+ throw error;
95
+ }
96
+ }
97
+ }
98
+ else {
99
+ await runCommander();
100
+ }
101
+ }
102
+ main().catch((error) => {
6
103
  console.error('Fatal error:', error.message);
7
104
  process.exit(1);
8
105
  });
@@ -1 +1 @@
1
- {"version":3,"file":"fnd.js","sourceRoot":"","sources":["../../src/bin/fnd.ts"],"names":[],"mappings":";;;AAEA,0CAAkC;AAElC,IAAA,cAAG,GAAE,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;IAC3B,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"fnd.js","sourceRoot":"","sources":["../../src/bin/fnd.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmDpC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAwDpC"}
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0FpC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAwDpC"}
@@ -1,12 +1,43 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addCommand = addCommand;
4
- const commander_1 = require("commander");
5
- const fs_1 = require("fs");
6
- const path_1 = require("path");
7
- const logger_js_1 = require("../lib/logger.js");
8
- const project_js_1 = require("../lib/project.js");
9
- const infra_generator_js_1 = require("../lib/infra-generator.js");
1
+ import { Command } from 'commander';
2
+ import { readFileSync, writeFileSync } from 'fs';
3
+ import { execSync } from 'child_process';
4
+ import { join } from 'path';
5
+ import { logger } from '../lib/logger.js';
6
+ import { requireProjectRoot } from '../lib/project.js';
7
+ import { generateInfraPackage, generateFrontendStack, generateCmsStack, } from '../lib/infra-generator.js';
8
+ /**
9
+ * Package version to use for @fnd-platform dependencies.
10
+ */
11
+ const FND_PACKAGE_VERSION = '^1.0.0-alpha.1';
12
+ /**
13
+ * Adds a devDependency to the root package.json using pnpm.
14
+ *
15
+ * @param projectRoot - Root directory of the project
16
+ * @param packageName - npm package name to add
17
+ */
18
+ function addDevDependency(projectRoot, packageName) {
19
+ const fullPackageName = `${packageName}@${FND_PACKAGE_VERSION}`;
20
+ logger.info(`Adding ${fullPackageName} to devDependencies...`);
21
+ try {
22
+ execSync(`pnpm add -D -w ${fullPackageName}`, {
23
+ cwd: projectRoot,
24
+ stdio: 'inherit',
25
+ });
26
+ }
27
+ catch {
28
+ // If pnpm fails, try npm
29
+ try {
30
+ execSync(`npm install --save-dev ${fullPackageName}`, {
31
+ cwd: projectRoot,
32
+ stdio: 'inherit',
33
+ });
34
+ }
35
+ catch {
36
+ logger.warn(`Could not automatically add ${packageName}. Please add it manually:`);
37
+ console.log(` pnpm add -D -w ${fullPackageName}`);
38
+ }
39
+ }
40
+ }
10
41
  /**
11
42
  * Creates the `fnd add` command with subcommands.
12
43
  *
@@ -32,8 +63,8 @@ const infra_generator_js_1 = require("../lib/infra-generator.js");
32
63
  * program.parse(['node', 'fnd', 'add', 'component-library', '--name=ui']);
33
64
  * ```
34
65
  */
35
- function addCommand() {
36
- const cmd = new commander_1.Command('add').description('Add a package to the project');
66
+ export function addCommand() {
67
+ const cmd = new Command('add').description('Add a package to the project');
37
68
  // Add api subcommand
38
69
  cmd
39
70
  .command('api')
@@ -90,41 +121,43 @@ function addCommand() {
90
121
  * @param options - Command options
91
122
  */
92
123
  async function addApiPackage(options) {
93
- const projectRoot = (0, project_js_1.requireProjectRoot)();
94
- const projenrcPath = (0, path_1.join)(projectRoot, '.projenrc.ts');
95
- logger_js_1.logger.info(`Adding API package '${options.name}' to project...`);
124
+ const projectRoot = requireProjectRoot();
125
+ const projenrcPath = join(projectRoot, '.projenrc.ts');
126
+ logger.info(`Adding API package '${options.name}' to project...`);
96
127
  try {
97
128
  // Read existing .projenrc.ts
98
- const existingContent = (0, fs_1.readFileSync)(projenrcPath, 'utf-8');
129
+ const existingContent = readFileSync(projenrcPath, 'utf-8');
99
130
  // Check if FndApiProject is already imported
100
131
  if (existingContent.includes('FndApiProject')) {
101
- logger_js_1.logger.warn('FndApiProject is already imported in .projenrc.ts');
102
- logger_js_1.logger.info('If you want to add another API package, manually add it to .projenrc.ts');
132
+ logger.warn('FndApiProject is already imported in .projenrc.ts');
133
+ logger.info('If you want to add another API package, manually add it to .projenrc.ts');
103
134
  return;
104
135
  }
105
136
  // Generate the new content
106
137
  const newContent = modifyProjenrc(existingContent, options);
107
138
  // Write updated .projenrc.ts
108
- (0, fs_1.writeFileSync)(projenrcPath, newContent);
109
- logger_js_1.logger.success(`API package '${options.name}' added to .projenrc.ts`);
139
+ writeFileSync(projenrcPath, newContent);
140
+ logger.success(`API package '${options.name}' added to .projenrc.ts`);
141
+ // Add @fnd-platform/api to devDependencies
142
+ addDevDependency(projectRoot, '@fnd-platform/api');
110
143
  // Extract project name from .projenrc.ts
111
144
  const projectName = extractProjectName(existingContent);
112
145
  // Generate infrastructure package
113
- (0, infra_generator_js_1.generateInfraPackage)({
146
+ generateInfraPackage({
114
147
  projectRoot,
115
148
  projectName,
116
149
  apiPackageName: options.name,
117
150
  });
118
- logger_js_1.logger.info('');
119
- logger_js_1.logger.info('Next steps:');
151
+ logger.info('');
152
+ logger.info('Next steps:');
120
153
  console.log(' 1. Run `fnd synth` to generate the package files');
121
154
  console.log(' 2. Run `pnpm install` to install dependencies');
122
155
  console.log(` 3. Start developing in packages/${options.name}/src/handlers/`);
123
156
  console.log(' 4. Deploy with `cd packages/infra && pnpm deploy --context stage=dev`');
124
- logger_js_1.logger.info('');
157
+ logger.info('');
125
158
  }
126
159
  catch (error) {
127
- logger_js_1.logger.error(`Failed to add API package: ${error.message}`);
160
+ logger.error(`Failed to add API package: ${error.message}`);
128
161
  process.exit(1);
129
162
  }
130
163
  }
@@ -226,40 +259,56 @@ function extractProjectName(content) {
226
259
  * @param options - Command options
227
260
  */
228
261
  async function addFrontendPackage(options) {
229
- const projectRoot = (0, project_js_1.requireProjectRoot)();
230
- const projenrcPath = (0, path_1.join)(projectRoot, '.projenrc.ts');
231
- logger_js_1.logger.info(`Adding frontend package '${options.name}' to project...`);
262
+ const projectRoot = requireProjectRoot();
263
+ const projenrcPath = join(projectRoot, '.projenrc.ts');
264
+ logger.info(`Adding frontend package '${options.name}' to project...`);
232
265
  try {
233
266
  // Read existing .projenrc.ts
234
- const existingContent = (0, fs_1.readFileSync)(projenrcPath, 'utf-8');
267
+ const existingContent = readFileSync(projenrcPath, 'utf-8');
235
268
  // Check if FndFrontendProject is already imported
236
269
  if (existingContent.includes('FndFrontendProject')) {
237
- logger_js_1.logger.warn('FndFrontendProject is already imported in .projenrc.ts');
238
- logger_js_1.logger.info('If you want to add another frontend package, manually add it to .projenrc.ts');
270
+ logger.warn('FndFrontendProject is already imported in .projenrc.ts');
271
+ logger.info('If you want to add another frontend package, manually add it to .projenrc.ts');
239
272
  return;
240
273
  }
241
274
  // Check if the API package exists in .projenrc.ts
242
275
  const apiVarPattern = new RegExp(`const\\s+${options.api}\\s*=\\s*new\\s+FndApiProject`);
243
276
  if (!apiVarPattern.test(existingContent)) {
244
- logger_js_1.logger.error(`API package '${options.api}' not found in .projenrc.ts`);
245
- logger_js_1.logger.info(`Make sure you have added the API package first: fnd add api --name=${options.api}`);
277
+ logger.error(`API package '${options.api}' not found in .projenrc.ts`);
278
+ logger.info(`Make sure you have added the API package first: fnd add api --name=${options.api}`);
246
279
  process.exit(1);
247
280
  }
248
281
  // Generate the new content
249
282
  const newContent = modifyProjenrcForFrontend(existingContent, options);
250
283
  // Write updated .projenrc.ts
251
- (0, fs_1.writeFileSync)(projenrcPath, newContent);
252
- logger_js_1.logger.success(`Frontend package '${options.name}' added to .projenrc.ts`);
253
- logger_js_1.logger.info('');
254
- logger_js_1.logger.info('Next steps:');
284
+ writeFileSync(projenrcPath, newContent);
285
+ logger.success(`Frontend package '${options.name}' added to .projenrc.ts`);
286
+ // Add @fnd-platform/frontend to devDependencies
287
+ addDevDependency(projectRoot, '@fnd-platform/frontend');
288
+ // Extract project name for infrastructure generation
289
+ const projectName = extractProjectName(existingContent);
290
+ // Generate frontend infrastructure stack
291
+ try {
292
+ await generateFrontendStack({
293
+ projectPath: projectRoot,
294
+ projectName,
295
+ apiName: options.api,
296
+ });
297
+ }
298
+ catch (infraError) {
299
+ logger.warn(`Could not generate frontend infrastructure: ${infraError.message}`);
300
+ logger.info('You may need to manually add the frontend stack to packages/infra');
301
+ }
302
+ logger.info('');
303
+ logger.info('Next steps:');
255
304
  console.log(' 1. Run `fnd synth` to generate the package files');
256
305
  console.log(' 2. Run `pnpm install` to install dependencies');
257
306
  console.log(` 3. Start developing in packages/${options.name}/app/routes/`);
258
307
  console.log(` 4. Run dev server with \`cd packages/${options.name} && pnpm dev\``);
259
- logger_js_1.logger.info('');
308
+ logger.info('');
260
309
  }
261
310
  catch (error) {
262
- logger_js_1.logger.error(`Failed to add frontend package: ${error.message}`);
311
+ logger.error(`Failed to add frontend package: ${error.message}`);
263
312
  process.exit(1);
264
313
  }
265
314
  }
@@ -324,7 +373,7 @@ function generateFrontendProjectCode(parentVar, options) {
324
373
  const authLine = !options.auth ? '\n auth: false,' : '';
325
374
  const portLine = options.port !== '3000' ? `\n port: ${options.port},` : '';
326
375
  const themeLine = options.theme !== 'zinc' ? `\n shadcnTheme: '${options.theme}',` : '';
327
- return `const ${options.name} = new FndFrontendProject({
376
+ return `new FndFrontendProject({
328
377
  parent: ${parentVar},
329
378
  name: '${options.name}',
330
379
  api: ${options.api},${outdirLine}${authLine}${portLine}${themeLine}
@@ -336,40 +385,56 @@ function generateFrontendProjectCode(parentVar, options) {
336
385
  * @param options - Command options
337
386
  */
338
387
  async function addCmsPackage(options) {
339
- const projectRoot = (0, project_js_1.requireProjectRoot)();
340
- const projenrcPath = (0, path_1.join)(projectRoot, '.projenrc.ts');
341
- logger_js_1.logger.info(`Adding CMS package '${options.name}' to project...`);
388
+ const projectRoot = requireProjectRoot();
389
+ const projenrcPath = join(projectRoot, '.projenrc.ts');
390
+ logger.info(`Adding CMS package '${options.name}' to project...`);
342
391
  try {
343
392
  // Read existing .projenrc.ts
344
- const existingContent = (0, fs_1.readFileSync)(projenrcPath, 'utf-8');
393
+ const existingContent = readFileSync(projenrcPath, 'utf-8');
345
394
  // Check if FndCmsProject is already imported
346
395
  if (existingContent.includes('FndCmsProject')) {
347
- logger_js_1.logger.warn('FndCmsProject is already imported in .projenrc.ts');
348
- logger_js_1.logger.info('If you want to add another CMS package, manually add it to .projenrc.ts');
396
+ logger.warn('FndCmsProject is already imported in .projenrc.ts');
397
+ logger.info('If you want to add another CMS package, manually add it to .projenrc.ts');
349
398
  return;
350
399
  }
351
400
  // Check if the API package exists in .projenrc.ts
352
401
  const apiVarPattern = new RegExp(`const\\s+${options.api}\\s*=\\s*new\\s+FndApiProject`);
353
402
  if (!apiVarPattern.test(existingContent)) {
354
- logger_js_1.logger.error(`API package '${options.api}' not found in .projenrc.ts`);
355
- logger_js_1.logger.info(`Make sure you have added the API package first: fnd add api --name=${options.api}`);
403
+ logger.error(`API package '${options.api}' not found in .projenrc.ts`);
404
+ logger.info(`Make sure you have added the API package first: fnd add api --name=${options.api}`);
356
405
  process.exit(1);
357
406
  }
358
407
  // Generate the new content
359
408
  const newContent = modifyProjenrcForCms(existingContent, options);
360
409
  // Write updated .projenrc.ts
361
- (0, fs_1.writeFileSync)(projenrcPath, newContent);
362
- logger_js_1.logger.success(`CMS package '${options.name}' added to .projenrc.ts`);
363
- logger_js_1.logger.info('');
364
- logger_js_1.logger.info('Next steps:');
410
+ writeFileSync(projenrcPath, newContent);
411
+ logger.success(`CMS package '${options.name}' added to .projenrc.ts`);
412
+ // Add @fnd-platform/cms to devDependencies
413
+ addDevDependency(projectRoot, '@fnd-platform/cms');
414
+ // Extract project name for infrastructure generation
415
+ const projectName = extractProjectName(existingContent);
416
+ // Generate CMS infrastructure stack
417
+ try {
418
+ await generateCmsStack({
419
+ projectPath: projectRoot,
420
+ projectName,
421
+ apiName: options.api,
422
+ });
423
+ }
424
+ catch (infraError) {
425
+ logger.warn(`Could not generate CMS infrastructure: ${infraError.message}`);
426
+ logger.info('You may need to manually add the CMS stack to packages/infra');
427
+ }
428
+ logger.info('');
429
+ logger.info('Next steps:');
365
430
  console.log(' 1. Run `fnd synth` to generate the package files');
366
431
  console.log(' 2. Run `pnpm install` to install dependencies');
367
432
  console.log(` 3. Start developing in packages/${options.name}/app/routes/`);
368
433
  console.log(` 4. Run dev server with \`cd packages/${options.name} && pnpm dev\``);
369
- logger_js_1.logger.info('');
434
+ logger.info('');
370
435
  }
371
436
  catch (error) {
372
- logger_js_1.logger.error(`Failed to add CMS package: ${error.message}`);
437
+ logger.error(`Failed to add CMS package: ${error.message}`);
373
438
  process.exit(1);
374
439
  }
375
440
  }
@@ -436,7 +501,7 @@ function generateCmsProjectCode(parentVar, options) {
436
501
  const mediaUploadLine = !options.mediaUpload ? '\n mediaUpload: false,' : '';
437
502
  const richTextEditorLine = options.richTextEditor !== 'tiptap' ? `\n richTextEditor: '${options.richTextEditor}',` : '';
438
503
  const themeLine = options.theme !== 'zinc' ? `\n shadcnTheme: '${options.theme}',` : '';
439
- return `const ${options.name} = new FndCmsProject({
504
+ return `new FndCmsProject({
440
505
  parent: ${parentVar},
441
506
  name: '${options.name}',
442
507
  api: ${options.api},${outdirLine}${portLine}${mediaUploadLine}${richTextEditorLine}${themeLine}
@@ -448,33 +513,35 @@ function generateCmsProjectCode(parentVar, options) {
448
513
  * @param options - Command options
449
514
  */
450
515
  async function addComponentLibraryPackage(options) {
451
- const projectRoot = (0, project_js_1.requireProjectRoot)();
452
- const projenrcPath = (0, path_1.join)(projectRoot, '.projenrc.ts');
453
- logger_js_1.logger.info(`Adding component library package '${options.name}' to project...`);
516
+ const projectRoot = requireProjectRoot();
517
+ const projenrcPath = join(projectRoot, '.projenrc.ts');
518
+ logger.info(`Adding component library package '${options.name}' to project...`);
454
519
  try {
455
520
  // Read existing .projenrc.ts
456
- const existingContent = (0, fs_1.readFileSync)(projenrcPath, 'utf-8');
521
+ const existingContent = readFileSync(projenrcPath, 'utf-8');
457
522
  // Check if FndComponentLibraryProject is already imported
458
523
  if (existingContent.includes('FndComponentLibraryProject')) {
459
- logger_js_1.logger.warn('FndComponentLibraryProject is already imported in .projenrc.ts');
460
- logger_js_1.logger.info('If you want to add another component library package, manually add it to .projenrc.ts');
524
+ logger.warn('FndComponentLibraryProject is already imported in .projenrc.ts');
525
+ logger.info('If you want to add another component library package, manually add it to .projenrc.ts');
461
526
  return;
462
527
  }
463
528
  // Generate the new content
464
529
  const newContent = modifyProjenrcForComponentLibrary(existingContent, options);
465
530
  // Write updated .projenrc.ts
466
- (0, fs_1.writeFileSync)(projenrcPath, newContent);
467
- logger_js_1.logger.success(`Component library package '${options.name}' added to .projenrc.ts`);
468
- logger_js_1.logger.info('');
469
- logger_js_1.logger.info('Next steps:');
531
+ writeFileSync(projenrcPath, newContent);
532
+ logger.success(`Component library package '${options.name}' added to .projenrc.ts`);
533
+ // Add @fnd-platform/component-library to devDependencies
534
+ addDevDependency(projectRoot, '@fnd-platform/component-library');
535
+ logger.info('');
536
+ logger.info('Next steps:');
470
537
  console.log(' 1. Run `fnd synth` to generate the package files');
471
538
  console.log(' 2. Run `pnpm install` to install dependencies');
472
539
  console.log(` 3. Start Storybook with \`cd packages/${options.name} && pnpm storybook\``);
473
540
  console.log(` 4. Add components in packages/${options.name}/src/components/`);
474
- logger_js_1.logger.info('');
541
+ logger.info('');
475
542
  }
476
543
  catch (error) {
477
- logger_js_1.logger.error(`Failed to add component library package: ${error.message}`);
544
+ logger.error(`Failed to add component library package: ${error.message}`);
478
545
  process.exit(1);
479
546
  }
480
547
  }
@@ -539,7 +606,7 @@ function modifyProjenrcForComponentLibrary(content, options) {
539
606
  function generateComponentLibraryProjectCode(parentVar, options) {
540
607
  const outdirLine = options.outdir ? `\n outdir: '${options.outdir}',` : '';
541
608
  const portLine = options.port !== '6006' ? `\n storybookPort: ${options.port},` : '';
542
- return `const ${options.name} = new FndComponentLibraryProject({
609
+ return `new FndComponentLibraryProject({
543
610
  parent: ${parentVar},
544
611
  name: '${options.name}',${outdirLine}${portLine}
545
612
  });`;
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":";;AA4EA,gCAwDC;AApID,yCAAoC;AACpC,2BAAiD;AACjD,+BAA4B;AAC5B,gDAA0C;AAC1C,kDAAuD;AACvD,kEAAiE;AA8CjE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAgB,UAAU;IACxB,MAAM,GAAG,GAAG,IAAI,mBAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC;IAE3E,qBAAqB;IACrB,GAAG;SACA,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,yCAAyC,CAAC;SACtD,cAAc,CAAC,eAAe,EAAE,4BAA4B,CAAC;SAC7D,MAAM,CAAC,iBAAiB,EAAE,6CAA6C,CAAC;SACxE,MAAM,CAAC,eAAe,EAAE,8BAA8B,CAAC;SACvD,MAAM,CAAC,cAAc,EAAE,kCAAkC,CAAC;SAC1D,MAAM,CAAC,KAAK,EAAE,OAAsB,EAAE,EAAE;QACvC,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEL,0BAA0B;IAC1B,GAAG;SACA,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,6CAA6C,CAAC;SAC1D,cAAc,CAAC,eAAe,EAAE,iCAAiC,CAAC;SAClE,cAAc,CAAC,aAAa,EAAE,wCAAwC,CAAC;SACvE,MAAM,CAAC,iBAAiB,EAAE,6CAA6C,CAAC;SACxE,MAAM,CAAC,WAAW,EAAE,oCAAoC,CAAC;SACzD,MAAM,CAAC,eAAe,EAAE,yBAAyB,EAAE,MAAM,CAAC;SAC1D,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,CAAC;SAC1D,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC5C,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEL,qBAAqB;IACrB,GAAG;SACA,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,wCAAwC,CAAC;SACrD,cAAc,CAAC,eAAe,EAAE,4BAA4B,CAAC;SAC7D,cAAc,CAAC,aAAa,EAAE,wCAAwC,CAAC;SACvE,MAAM,CAAC,iBAAiB,EAAE,6CAA6C,CAAC;SACxE,MAAM,CAAC,eAAe,EAAE,yBAAyB,EAAE,MAAM,CAAC;SAC1D,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC;SAC5D,MAAM,CAAC,6BAA6B,EAAE,mCAAmC,EAAE,QAAQ,CAAC;SACpF,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,CAAC;SAC1D,MAAM,CAAC,KAAK,EAAE,OAAsB,EAAE,EAAE;QACvC,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEL,mCAAmC;IACnC,GAAG;SACA,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,gDAAgD,CAAC;SAC7D,cAAc,CAAC,eAAe,EAAE,2BAA2B,CAAC;SAC5D,MAAM,CAAC,iBAAiB,EAAE,6CAA6C,CAAC;SACxE,MAAM,CAAC,eAAe,EAAE,2BAA2B,EAAE,MAAM,CAAC;SAC5D,MAAM,CAAC,KAAK,EAAE,OAAmC,EAAE,EAAE;QACpD,MAAM,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEL,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,aAAa,CAAC,OAAsB;IACjD,MAAM,WAAW,GAAG,IAAA,+BAAkB,GAAE,CAAC;IACzC,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAEvD,kBAAM,CAAC,IAAI,CAAC,uBAAuB,OAAO,CAAC,IAAI,iBAAiB,CAAC,CAAC;IAElE,IAAI,CAAC;QACH,6BAA6B;QAC7B,MAAM,eAAe,GAAG,IAAA,iBAAY,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAE5D,6CAA6C;QAC7C,IAAI,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YAC9C,kBAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YACjE,kBAAM,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;YACvF,OAAO;QACT,CAAC;QAED,2BAA2B;QAC3B,MAAM,UAAU,GAAG,cAAc,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAE5D,6BAA6B;QAC7B,IAAA,kBAAa,EAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAExC,kBAAM,CAAC,OAAO,CAAC,gBAAgB,OAAO,CAAC,IAAI,yBAAyB,CAAC,CAAC;QAEtE,yCAAyC;QACzC,MAAM,WAAW,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAExD,kCAAkC;QAClC,IAAA,yCAAoB,EAAC;YACnB,WAAW;YACX,WAAW;YACX,cAAc,EAAE,OAAO,CAAC,IAAI;SAC7B,CAAC,CAAC;QAEH,kBAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,kBAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,qCAAqC,OAAO,CAAC,IAAI,gBAAgB,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;QACvF,kBAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kBAAM,CAAC,KAAK,CAAC,8BAA+B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,OAAe,EAAE,OAAsB;IAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAE/B,sCAAsC;IACtC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACnF,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAElE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,2DAA2D;QAC3D,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC;YAClE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YAClE,cAAc,GAAG,IAAI,CAAC;YACtB,eAAe,GAAG,IAAI,CAAC;YACvB,SAAS;QACX,CAAC;QAED,uDAAuD;QACvD,IAAI,CAAC,eAAe,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5E,wCAAwC;YACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;gBAClE,cAAc,GAAG,IAAI,CAAC;gBACtB,SAAS;YACX,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACrD,4CAA4C;YAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,kBAAkB,GAAG,IAAI,CAAC;QAC5B,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,+CAA+C;IAC/C,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAC,SAAiB,EAAE,OAAsB;IACvE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;IAElE,OAAO,SAAS,OAAO,CAAC,IAAI;YAClB,SAAS;WACV,OAAO,CAAC,IAAI,KAAK,UAAU,GAAG,YAAY,GAAG,WAAW;IAC/D,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,OAAe;IACzC,iDAAiD;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAC7B,kEAAkE,CACnE,CAAC;IACF,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,uCAAuC;IACvC,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChE,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,mBAAmB;IACnB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,kBAAkB,CAAC,OAA2B;IAC3D,MAAM,WAAW,GAAG,IAAA,+BAAkB,GAAE,CAAC;IACzC,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAEvD,kBAAM,CAAC,IAAI,CAAC,4BAA4B,OAAO,CAAC,IAAI,iBAAiB,CAAC,CAAC;IAEvE,IAAI,CAAC;QACH,6BAA6B;QAC7B,MAAM,eAAe,GAAG,IAAA,iBAAY,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAE5D,kDAAkD;QAClD,IAAI,eAAe,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACnD,kBAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YACtE,kBAAM,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;YAC5F,OAAO;QACT,CAAC;QAED,kDAAkD;QAClD,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,YAAY,OAAO,CAAC,GAAG,+BAA+B,CAAC,CAAC;QACzF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YACzC,kBAAM,CAAC,KAAK,CAAC,gBAAgB,OAAO,CAAC,GAAG,6BAA6B,CAAC,CAAC;YACvE,kBAAM,CAAC,IAAI,CACT,sEAAsE,OAAO,CAAC,GAAG,EAAE,CACpF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,2BAA2B;QAC3B,MAAM,UAAU,GAAG,yBAAyB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAEvE,6BAA6B;QAC7B,IAAA,kBAAa,EAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAExC,kBAAM,CAAC,OAAO,CAAC,qBAAqB,OAAO,CAAC,IAAI,yBAAyB,CAAC,CAAC;QAE3E,kBAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,kBAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,qCAAqC,OAAO,CAAC,IAAI,cAAc,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,0CAA0C,OAAO,CAAC,IAAI,gBAAgB,CAAC,CAAC;QACpF,kBAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kBAAM,CAAC,KAAK,CAAC,mCAAoC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,yBAAyB,CAAC,OAAe,EAAE,OAA2B;IAC7E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,IAAI,uBAAuB,GAAG,KAAK,CAAC;IAEpC,sCAAsC;IACtC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACnF,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAElE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,2EAA2E;QAC3E,qCAAqC;QACrC,IACE,CAAC,mBAAmB;YACpB,CAAC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,EACzF,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,0DAA0D;YAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;gBAC5E,mBAAmB,GAAG,IAAI,CAAC;YAC7B,CAAC;YACD,SAAS;QACX,CAAC;QAED,8CAA8C;QAC9C,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1D,iDAAiD;YACjD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;YAClE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,uBAAuB,GAAG,IAAI,CAAC;QACjC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,+CAA+C;IAC/C,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;GAMG;AACH,SAAS,2BAA2B,CAAC,SAAiB,EAAE,OAA2B;IACjF,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,qBAAqB,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzF,OAAO,SAAS,OAAO,CAAC,IAAI;YAClB,SAAS;WACV,OAAO,CAAC,IAAI;SACd,OAAO,CAAC,GAAG,IAAI,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS;IAChE,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,aAAa,CAAC,OAAsB;IACjD,MAAM,WAAW,GAAG,IAAA,+BAAkB,GAAE,CAAC;IACzC,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAEvD,kBAAM,CAAC,IAAI,CAAC,uBAAuB,OAAO,CAAC,IAAI,iBAAiB,CAAC,CAAC;IAElE,IAAI,CAAC;QACH,6BAA6B;QAC7B,MAAM,eAAe,GAAG,IAAA,iBAAY,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAE5D,6CAA6C;QAC7C,IAAI,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YAC9C,kBAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YACjE,kBAAM,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;YACvF,OAAO;QACT,CAAC;QAED,kDAAkD;QAClD,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,YAAY,OAAO,CAAC,GAAG,+BAA+B,CAAC,CAAC;QACzF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YACzC,kBAAM,CAAC,KAAK,CAAC,gBAAgB,OAAO,CAAC,GAAG,6BAA6B,CAAC,CAAC;YACvE,kBAAM,CAAC,IAAI,CACT,sEAAsE,OAAO,CAAC,GAAG,EAAE,CACpF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,2BAA2B;QAC3B,MAAM,UAAU,GAAG,oBAAoB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAElE,6BAA6B;QAC7B,IAAA,kBAAa,EAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAExC,kBAAM,CAAC,OAAO,CAAC,gBAAgB,OAAO,CAAC,IAAI,yBAAyB,CAAC,CAAC;QAEtE,kBAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,kBAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,qCAAqC,OAAO,CAAC,IAAI,cAAc,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,0CAA0C,OAAO,CAAC,IAAI,gBAAgB,CAAC,CAAC;QACpF,kBAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kBAAM,CAAC,KAAK,CAAC,8BAA+B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,OAAe,EAAE,OAAsB;IACnE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAE/B,sCAAsC;IACtC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACnF,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAElE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,+DAA+D;QAC/D,IACE,CAAC,cAAc;YACf,CAAC,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC;gBAC7C,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC;gBACzC,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,EAC7C,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,0DAA0D;YAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;gBAClE,cAAc,GAAG,IAAI,CAAC;YACxB,CAAC;YACD,SAAS;QACX,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACrD,4CAA4C;YAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,kBAAkB,GAAG,IAAI,CAAC;QAC5B,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,+CAA+C;IAC/C,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAC,SAAiB,EAAE,OAAsB;IACvE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,MAAM,kBAAkB,GACtB,OAAO,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,wBAAwB,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAChG,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,qBAAqB,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzF,OAAO,SAAS,OAAO,CAAC,IAAI;YAClB,SAAS;WACV,OAAO,CAAC,IAAI;SACd,OAAO,CAAC,GAAG,IAAI,UAAU,GAAG,QAAQ,GAAG,eAAe,GAAG,kBAAkB,GAAG,SAAS;IAC5F,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,0BAA0B,CAAC,OAAmC;IAC3E,MAAM,WAAW,GAAG,IAAA,+BAAkB,GAAE,CAAC;IACzC,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAEvD,kBAAM,CAAC,IAAI,CAAC,qCAAqC,OAAO,CAAC,IAAI,iBAAiB,CAAC,CAAC;IAEhF,IAAI,CAAC;QACH,6BAA6B;QAC7B,MAAM,eAAe,GAAG,IAAA,iBAAY,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAE5D,0DAA0D;QAC1D,IAAI,eAAe,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,CAAC;YAC3D,kBAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;YAC9E,kBAAM,CAAC,IAAI,CACT,uFAAuF,CACxF,CAAC;YACF,OAAO;QACT,CAAC;QAED,2BAA2B;QAC3B,MAAM,UAAU,GAAG,iCAAiC,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAE/E,6BAA6B;QAC7B,IAAA,kBAAa,EAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAExC,kBAAM,CAAC,OAAO,CAAC,8BAA8B,OAAO,CAAC,IAAI,yBAAyB,CAAC,CAAC;QAEpF,kBAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,kBAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,2CAA2C,OAAO,CAAC,IAAI,sBAAsB,CAAC,CAAC;QAC3F,OAAO,CAAC,GAAG,CAAC,mCAAmC,OAAO,CAAC,IAAI,kBAAkB,CAAC,CAAC;QAC/E,kBAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kBAAM,CAAC,KAAK,CAAC,4CAA6C,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iCAAiC,CACxC,OAAe,EACf,OAAmC;IAEnC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,2BAA2B,GAAG,KAAK,CAAC;IACxC,IAAI,+BAA+B,GAAG,KAAK,CAAC;IAE5C,sCAAsC;IACtC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACnF,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAElE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,4EAA4E;QAC5E,IACE,CAAC,2BAA2B;YAC5B,CAAC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC;gBACxC,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC;gBAC9C,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC;gBACzC,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,EAC7C,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,0DAA0D;YAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBAC/C,MAAM,CAAC,IAAI,CACT,+EAA+E,CAChF,CAAC;gBACF,2BAA2B,GAAG,IAAI,CAAC;YACrC,CAAC;YACD,SAAS;QACX,CAAC;QAED,uDAAuD;QACvD,IAAI,CAAC,+BAA+B,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAClE,0DAA0D;YAC1D,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;YAC1E,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,+BAA+B,GAAG,IAAI,CAAC;QACzC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,+CAA+C;IAC/C,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mCAAmC,CAC1C,SAAiB,EACjB,OAAmC;IAEnC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,sBAAsB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtF,OAAO,SAAS,OAAO,CAAC,IAAI;YAClB,SAAS;WACV,OAAO,CAAC,IAAI,KAAK,UAAU,GAAG,QAAQ;IAC7C,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}