@swovohq/fuel 0.2.2-alpha.87 → 0.2.2-alpha.89

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 (190) hide show
  1. package/README.md +65 -2
  2. package/dist/bin/fuel.js +10 -31
  3. package/dist/bin/fuel.js.map +1 -1
  4. package/dist/commands/config-verify.d.ts.map +1 -1
  5. package/dist/commands/config-verify.js +14 -6
  6. package/dist/commands/config-verify.js.map +1 -1
  7. package/dist/commands/create-app.d.ts.map +1 -1
  8. package/dist/commands/create-app.js +10 -3
  9. package/dist/commands/create-app.js.map +1 -1
  10. package/dist/commands/infra-deploy.d.ts +4 -0
  11. package/dist/commands/infra-deploy.d.ts.map +1 -1
  12. package/dist/commands/infra-deploy.js +75 -43
  13. package/dist/commands/infra-deploy.js.map +1 -1
  14. package/dist/commands/infra-destroy.js +3 -3
  15. package/dist/commands/infra-destroy.js.map +1 -1
  16. package/dist/commands/infra-init.d.ts +91 -0
  17. package/dist/commands/infra-init.d.ts.map +1 -1
  18. package/dist/commands/infra-init.js +510 -80
  19. package/dist/commands/infra-init.js.map +1 -1
  20. package/dist/commands/infra-pull.d.ts.map +1 -1
  21. package/dist/commands/infra-pull.js +6 -5
  22. package/dist/commands/infra-pull.js.map +1 -1
  23. package/dist/infra/azure-defaults.d.ts +49 -0
  24. package/dist/infra/azure-defaults.d.ts.map +1 -0
  25. package/dist/infra/azure-defaults.js +52 -0
  26. package/dist/infra/azure-defaults.js.map +1 -0
  27. package/dist/infra/azure-keyvault-client.d.ts +4 -0
  28. package/dist/infra/azure-keyvault-client.d.ts.map +1 -0
  29. package/dist/infra/azure-keyvault-client.js +57 -0
  30. package/dist/infra/azure-keyvault-client.js.map +1 -0
  31. package/dist/infra/azure-rbac.d.ts +11 -0
  32. package/dist/infra/azure-rbac.d.ts.map +1 -0
  33. package/dist/infra/azure-rbac.js +47 -0
  34. package/dist/infra/azure-rbac.js.map +1 -0
  35. package/dist/infra/azure-state-storage.d.ts +20 -0
  36. package/dist/infra/azure-state-storage.d.ts.map +1 -0
  37. package/dist/infra/azure-state-storage.js +229 -0
  38. package/dist/infra/azure-state-storage.js.map +1 -0
  39. package/dist/infra/credentials.d.ts +2 -2
  40. package/dist/infra/credentials.d.ts.map +1 -1
  41. package/dist/infra/credentials.js +8 -4
  42. package/dist/infra/credentials.js.map +1 -1
  43. package/dist/infra/deployment-detect.d.ts +9 -0
  44. package/dist/infra/deployment-detect.d.ts.map +1 -0
  45. package/dist/infra/deployment-detect.js +53 -0
  46. package/dist/infra/deployment-detect.js.map +1 -0
  47. package/dist/infra/github-client.d.ts +6 -0
  48. package/dist/infra/github-client.d.ts.map +1 -1
  49. package/dist/infra/github-client.js +31 -4
  50. package/dist/infra/github-client.js.map +1 -1
  51. package/dist/infra/github-token-link.d.ts +4 -0
  52. package/dist/infra/github-token-link.d.ts.map +1 -0
  53. package/dist/infra/github-token-link.js +28 -0
  54. package/dist/infra/github-token-link.js.map +1 -0
  55. package/dist/infra/orchestrator.d.ts +4 -1
  56. package/dist/infra/orchestrator.d.ts.map +1 -1
  57. package/dist/infra/orchestrator.js +203 -66
  58. package/dist/infra/orchestrator.js.map +1 -1
  59. package/dist/infra/preflight.d.ts.map +1 -1
  60. package/dist/infra/preflight.js +17 -9
  61. package/dist/infra/preflight.js.map +1 -1
  62. package/dist/infra/remote-secret.d.ts +14 -0
  63. package/dist/infra/remote-secret.d.ts.map +1 -0
  64. package/dist/infra/remote-secret.js +42 -0
  65. package/dist/infra/remote-secret.js.map +1 -0
  66. package/dist/infra/template-engine.d.ts +13 -4
  67. package/dist/infra/template-engine.d.ts.map +1 -1
  68. package/dist/infra/template-engine.js +141 -49
  69. package/dist/infra/template-engine.js.map +1 -1
  70. package/dist/infra/tofu-runner.d.ts +4 -3
  71. package/dist/infra/tofu-runner.d.ts.map +1 -1
  72. package/dist/infra/tofu-runner.js +36 -27
  73. package/dist/infra/tofu-runner.js.map +1 -1
  74. package/dist/infra/types.d.ts +239 -16
  75. package/dist/infra/types.d.ts.map +1 -1
  76. package/dist/infra/types.js +206 -18
  77. package/dist/infra/types.js.map +1 -1
  78. package/dist/infra-templates/TODO-azure-prod.md +119 -0
  79. package/dist/infra-templates/modules/azure-container-app/main.tf +124 -0
  80. package/dist/infra-templates/modules/azure-container-app/outputs.tf +24 -0
  81. package/dist/infra-templates/modules/azure-container-app/variables.tf +80 -0
  82. package/dist/infra-templates/modules/azure-container-apps-environment/main.tf +18 -0
  83. package/dist/infra-templates/modules/azure-container-apps-environment/outputs.tf +14 -0
  84. package/dist/infra-templates/modules/azure-container-apps-environment/variables.tf +24 -0
  85. package/dist/infra-templates/modules/azure-container-registry/main.tf +10 -0
  86. package/dist/infra-templates/modules/azure-container-registry/outputs.tf +14 -0
  87. package/dist/infra-templates/modules/azure-container-registry/variables.tf +20 -0
  88. package/dist/infra-templates/modules/azure-front-door/main.tf +80 -0
  89. package/dist/infra-templates/modules/azure-front-door/outputs.tf +20 -0
  90. package/dist/infra-templates/modules/azure-front-door/variables.tf +26 -0
  91. package/dist/infra-templates/modules/azure-github-oidc/main.tf +48 -0
  92. package/dist/infra-templates/modules/azure-github-oidc/outputs.tf +9 -0
  93. package/dist/infra-templates/modules/azure-github-oidc/variables.tf +69 -0
  94. package/dist/infra-templates/modules/azure-key-vault/main.tf +21 -0
  95. package/dist/infra-templates/modules/azure-key-vault/outputs.tf +11 -0
  96. package/dist/infra-templates/modules/azure-key-vault/variables.tf +43 -0
  97. package/dist/infra-templates/modules/azure-monitor/main.tf +29 -0
  98. package/dist/infra-templates/modules/azure-monitor/outputs.tf +17 -0
  99. package/dist/infra-templates/modules/azure-monitor/variables.tf +32 -0
  100. package/dist/infra-templates/modules/azure-network/main.tf +134 -0
  101. package/dist/infra-templates/modules/azure-network/outputs.tf +44 -0
  102. package/dist/infra-templates/modules/azure-network/variables.tf +56 -0
  103. package/dist/infra-templates/modules/azure-postgresql-flexible/main.tf +34 -0
  104. package/dist/infra-templates/modules/azure-postgresql-flexible/outputs.tf +20 -0
  105. package/dist/infra-templates/modules/azure-postgresql-flexible/variables.tf +54 -0
  106. package/dist/infra-templates/modules/azure-redis-cache/main.tf +32 -0
  107. package/dist/infra-templates/modules/azure-redis-cache/outputs.tf +15 -0
  108. package/dist/infra-templates/modules/azure-redis-cache/variables.tf +30 -0
  109. package/dist/infra-templates/modules/azure-resource-group/main.tf +5 -0
  110. package/dist/infra-templates/modules/azure-resource-group/outputs.tf +11 -0
  111. package/dist/infra-templates/modules/azure-resource-group/variables.tf +16 -0
  112. package/dist/infra-templates/modules/azure-sql-database/main.tf +63 -0
  113. package/dist/infra-templates/modules/azure-sql-database/outputs.tf +20 -0
  114. package/dist/infra-templates/modules/azure-sql-database/variables.tf +78 -0
  115. package/dist/infra-templates/modules/azure-storage-account/main.tf +13 -0
  116. package/dist/infra-templates/modules/azure-storage-account/outputs.tf +16 -0
  117. package/dist/infra-templates/modules/azure-storage-account/variables.tf +38 -0
  118. package/dist/infra-templates/modules/cloud-watch/event-bridge.tf +15 -0
  119. package/dist/infra-templates/modules/cloud-watch/lambda.tf +84 -0
  120. package/dist/infra-templates/modules/cloud-watch/lambda_function.zip +0 -0
  121. package/dist/infra-templates/modules/cloud-watch/lambda_function_deploy.zip +0 -0
  122. package/dist/infra-templates/modules/cloud-watch/main.tf +156 -0
  123. package/dist/infra-templates/modules/cloud-watch/sns.tf +3 -0
  124. package/dist/infra-templates/modules/cloud-watch/variables.tf +38 -0
  125. package/dist/infra-templates/modules/ecs-core/alb.tf +126 -0
  126. package/dist/infra-templates/modules/ecs-core/cloudwatch.tf +48 -0
  127. package/dist/infra-templates/modules/ecs-core/iam.tf +95 -0
  128. package/dist/infra-templates/modules/ecs-core/main.tf +12 -0
  129. package/dist/infra-templates/modules/ecs-core/outputs.tf +44 -0
  130. package/dist/infra-templates/modules/ecs-core/secrets.tf +9 -0
  131. package/dist/infra-templates/modules/ecs-core/security_groups.tf +73 -0
  132. package/dist/infra-templates/modules/ecs-core/variables.tf +96 -0
  133. package/dist/infra-templates/modules/ecs-service/ecs_autoscaling.tf +51 -0
  134. package/dist/infra-templates/modules/ecs-service/ecs_service.tf +39 -0
  135. package/dist/infra-templates/modules/ecs-service/ecs_task_definition.tf +56 -0
  136. package/dist/infra-templates/modules/ecs-service/variables.tf +170 -0
  137. package/dist/infra-templates/modules/elastic-container-registry/main.tf +32 -0
  138. package/dist/infra-templates/modules/elastic-container-registry/outputs.tf +9 -0
  139. package/dist/infra-templates/modules/elastic-container-registry/variables.tf +25 -0
  140. package/dist/infra-templates/modules/github-oidc-role/main.tf +46 -0
  141. package/dist/infra-templates/modules/github-oidc-role/outputs.tf +4 -0
  142. package/dist/infra-templates/modules/github-oidc-role/variables.tf +11 -0
  143. package/dist/infra-templates/modules/guardduty/main.tf +8 -0
  144. package/dist/infra-templates/modules/iam/main.tf +205 -0
  145. package/dist/infra-templates/modules/iam/outputs.tf +3 -0
  146. package/dist/infra-templates/modules/iam/variables.tf +4 -0
  147. package/dist/infra-templates/modules/random-key/main.tf +11 -0
  148. package/dist/infra-templates/modules/random-key/outputs.tf +4 -0
  149. package/dist/infra-templates/modules/random-key/variables.tf +10 -0
  150. package/dist/infra-templates/modules/redis/main.tf +47 -0
  151. package/dist/infra-templates/modules/redis/outputs.tf +8 -0
  152. package/dist/infra-templates/modules/redis/variables.tf +20 -0
  153. package/dist/infra-templates/modules/relational-database-service/main.tf +44 -0
  154. package/dist/infra-templates/modules/relational-database-service/outputs.tf +13 -0
  155. package/dist/infra-templates/modules/relational-database-service/security-group.tf +15 -0
  156. package/dist/infra-templates/modules/relational-database-service/variables.tf +50 -0
  157. package/dist/infra-templates/modules/secret/main.tf +14 -0
  158. package/dist/infra-templates/modules/secret/outputs.tf +3 -0
  159. package/dist/infra-templates/modules/secret/variables.tf +8 -0
  160. package/dist/infra-templates/modules/simple-storage-service/main.tf +28 -0
  161. package/dist/infra-templates/modules/simple-storage-service/variables.tf +4 -0
  162. package/dist/infra-templates/modules/vpc/data.tf +2 -0
  163. package/dist/infra-templates/modules/vpc/main.tf +76 -0
  164. package/dist/infra-templates/modules/vpc/outputs.tf +23 -0
  165. package/dist/infra-templates/modules/vpc/variables.tf +5 -0
  166. package/dist/infra-templates/package.json +6 -0
  167. package/dist/infra-templates/templates/azure/MANUAL_DEPLOY.md +168 -0
  168. package/dist/infra-templates/templates/azure/backend.tf +8 -0
  169. package/dist/infra-templates/templates/azure/data.tf +21 -0
  170. package/dist/infra-templates/templates/azure/default.tfvars +0 -0
  171. package/dist/infra-templates/templates/azure/locals.tf +116 -0
  172. package/dist/infra-templates/templates/azure/main.tf +421 -0
  173. package/dist/infra-templates/templates/azure/outputs.tf +40 -0
  174. package/dist/infra-templates/templates/azure/providers.tf +65 -0
  175. package/dist/infra-templates/templates/azure/variables.tf +69 -0
  176. package/dist/infra-templates/templates/azure/workflows/build_and_deploy.yml +155 -0
  177. package/dist/infra-templates/templates/azure/workflows/tests.yml +63 -0
  178. package/dist/infra-templates/templates/ecs/README.md +225 -0
  179. package/dist/infra-templates/templates/ecs/backend.tf +7 -0
  180. package/dist/infra-templates/templates/ecs/data.tf +6 -0
  181. package/dist/infra-templates/templates/ecs/default.tfvars +1 -0
  182. package/dist/infra-templates/templates/ecs/locals.tf +97 -0
  183. package/dist/infra-templates/templates/ecs/main.tf +185 -0
  184. package/dist/infra-templates/templates/ecs/outputs.tf +42 -0
  185. package/dist/infra-templates/templates/ecs/providers.tf +21 -0
  186. package/dist/infra-templates/templates/ecs/variables.tf +105 -0
  187. package/dist/infra-templates/templates/ecs/workflows/build_and_deploy.yml +188 -0
  188. package/dist/infra-templates/templates/ecs/workflows/tests.yml +65 -0
  189. package/package.json +10 -2
  190. package/schema/fuel.schema.json +570 -91
@@ -44,38 +44,36 @@ const fs = __importStar(require("fs-extra"));
44
44
  const chalk_1 = __importDefault(require("chalk"));
45
45
  const config_loader_1 = require("../infra/config-loader");
46
46
  const credentials_1 = require("../infra/credentials");
47
- const secrets_manager_client_1 = require("../infra/secrets-manager-client");
47
+ const remote_secret_1 = require("../infra/remote-secret");
48
+ const github_client_1 = require("../infra/github-client");
48
49
  const preflight_1 = require("../infra/preflight");
49
50
  const template_engine_1 = require("../infra/template-engine");
50
51
  const orchestrator_1 = require("../infra/orchestrator");
51
52
  const config_writer_1 = require("../infra/config-writer");
52
53
  const s3_state_bucket_1 = require("../infra/s3-state-bucket");
54
+ const azure_state_storage_1 = require("../infra/azure-state-storage");
55
+ const deployment_detect_1 = require("../infra/deployment-detect");
56
+ const azure_defaults_1 = require("../infra/azure-defaults");
53
57
  const tofu_runner_1 = require("../infra/tofu-runner");
58
+ const template_source_1 = require("../engines/template-source");
54
59
  function diffInfraConfigs(existing, incoming) {
55
60
  const diffs = [];
56
- for (const key of ['name', 'ssl']) {
57
- if (existing[key] !== incoming[key]) {
58
- diffs.push({ path: key, oldValue: existing[key] ?? '(not set)', newValue: incoming[key] });
59
- }
61
+ const { apps: existingAppsRaw, ...existingRest } = existing;
62
+ const { apps: _incomingApps, ...incomingRest } = incoming;
63
+ // Only walk keys the incoming config actually has — `existing` (the remote secret) carries
64
+ // orchestrator-managed metadata (e.g. seed, aws_region, github_org) that never round-trips
65
+ // through fuel.yml/InfraConfig, so comparing the union would flag it as "removed" every time.
66
+ for (const key of Object.keys(incomingRest)) {
67
+ diffValue(diffs, key, existingRest[key], incomingRest[key]);
60
68
  }
61
- const existingApps = existing.apps ?? [];
69
+ const existingApps = existingAppsRaw ?? [];
62
70
  for (const newApp of incoming.apps) {
63
71
  const oldApp = existingApps.find((a) => a.name === newApp.name);
64
72
  if (!oldApp) {
65
73
  diffs.push({ path: `apps.${newApp.name}`, oldValue: '(not present)', newValue: '(new app)' });
66
74
  continue;
67
75
  }
68
- for (const field of ['dockerfile', 'domain', 'port', 'branch']) {
69
- if (oldApp[field] !== newApp[field]) {
70
- diffs.push({
71
- path: `apps.${newApp.name}.${field}`,
72
- oldValue: oldApp[field] ?? '(not set)',
73
- newValue: newApp[field],
74
- });
75
- }
76
- }
77
- diffRecord(diffs, `apps.${newApp.name}.variables`, oldApp.variables ?? {}, newApp.variables ?? {});
78
- diffRecord(diffs, `apps.${newApp.name}.build_env`, oldApp.build_env ?? {}, newApp.build_env ?? {});
76
+ diffValue(diffs, `apps.${newApp.name}`, oldApp, newApp);
79
77
  }
80
78
  for (const oldApp of existingApps) {
81
79
  const name = oldApp.name;
@@ -85,16 +83,26 @@ function diffInfraConfigs(existing, incoming) {
85
83
  }
86
84
  return diffs;
87
85
  }
88
- function diffRecord(diffs, prefix, oldRec, newRec) {
89
- const keys = new Set([...Object.keys(oldRec), ...Object.keys(newRec)]);
90
- for (const key of keys) {
91
- if (oldRec[key] !== newRec[key]) {
92
- diffs.push({
93
- path: `${prefix}.${key}`,
94
- oldValue: oldRec[key] ?? '(not set)',
95
- newValue: newRec[key] ?? '(removed)',
96
- });
86
+ function isPlainObject(value) {
87
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
88
+ }
89
+ /** Recursively diffs two values field-by-field, so nested provider-specific blocks
90
+ * (database, redis, container_app, static_web_app, ...) surface changes instead of
91
+ * only the hand-picked fields a flat comparison would have to enumerate. */
92
+ function diffValue(diffs, path, oldVal, newVal) {
93
+ if (isPlainObject(oldVal) && isPlainObject(newVal)) {
94
+ const keys = new Set([...Object.keys(oldVal), ...Object.keys(newVal)]);
95
+ for (const key of keys) {
96
+ diffValue(diffs, path ? `${path}.${key}` : key, oldVal[key], newVal[key]);
97
97
  }
98
+ return;
99
+ }
100
+ if (JSON.stringify(oldVal ?? null) !== JSON.stringify(newVal ?? null)) {
101
+ diffs.push({
102
+ path,
103
+ oldValue: oldVal ?? '(not set)',
104
+ newValue: newVal ?? '(removed)',
105
+ });
98
106
  }
99
107
  }
100
108
  async function confirmConfigOverwrite(diffs, yes, askFn) {
@@ -177,9 +185,14 @@ async function infraDeploy(opts) {
177
185
  }
178
186
  const tofuVersion = (0, preflight_1.checkTofuVersion)();
179
187
  console.log(chalk_1.default.green(' \u2713') + ` tofu ${tofuVersion}`);
180
- const credentials = await (0, credentials_1.resolveCredentials)(projectRoot);
188
+ // Deployment isn't known yet when fuel.yml is absent (infra/ exists from a prior run) \u2014
189
+ // detect it from the generated /infra folder so the right credentials/secret store are used.
190
+ const deployment = config?.deployment ?? (await (0, deployment_detect_1.detectDeploymentFromInfraDir)(infraDir));
191
+ const credentials = await (0, credentials_1.resolveCredentials)(projectRoot, credOverrides, deployment);
181
192
  console.log(chalk_1.default.green(' \u2713') + ' Credentials resolved');
182
- // No fuel.yml — fetch config from Secrets Manager using project_name from default.tfvars
193
+ await (0, github_client_1.validateGitHubToken)(credentials.GITHUB_TOKEN);
194
+ console.log(chalk_1.default.green(' \u2713') + ' GitHub token has required permissions');
195
+ // No fuel.yml — fetch config from the provider's secret store using project_name from default.tfvars
183
196
  if (!config) {
184
197
  const tfvarsPath = path.join(infraDir, 'default.tfvars');
185
198
  const tfvarsContent = await fs.readFile(tfvarsPath, 'utf-8');
@@ -188,17 +201,15 @@ async function infraDeploy(opts) {
188
201
  throw new Error('Could not read project_name from infra/default.tfvars');
189
202
  }
190
203
  const projectName = projectNameMatch[1];
191
- const secretName = `${projectName}-infrastructure-variables`;
192
- console.log(chalk_1.default.cyan(` No fuel.yml \u2014 reading config from Secrets Manager...`));
193
- const raw = await (0, secrets_manager_client_1.getSecret)(credentials, secretName);
204
+ console.log(chalk_1.default.cyan(` No fuel.yml \u2014 reading config from remote secret store...`));
205
+ const raw = await (0, remote_secret_1.fetchRemoteConfigSecret)(deployment, credentials, projectName);
194
206
  config = (0, config_loader_1.parseInfraConfig)(raw);
195
- console.log(chalk_1.default.green(' \u2713') + ` Config loaded from Secrets Manager \u2014 ${config.apps.length} app(s)`);
207
+ console.log(chalk_1.default.green(' \u2713') + ` Config loaded from remote secret store \u2014 ${config.apps.length} app(s)`);
196
208
  }
197
- // When --config is provided, diff against existing AWS secret and confirm if changed
209
+ // When --config is provided, diff against the existing remote secret and confirm if changed
198
210
  if (opts.config) {
199
- const secretName = `${config.name}-infrastructure-variables`;
200
211
  try {
201
- const existingSecret = await (0, secrets_manager_client_1.getSecret)(credentials, secretName);
212
+ const existingSecret = await (0, remote_secret_1.fetchRemoteConfigSecret)(config.deployment, credentials, config.name);
202
213
  const diffs = diffInfraConfigs(existingSecret, config);
203
214
  if (diffs.length > 0) {
204
215
  const confirmed = await confirmConfigOverwrite(diffs, opts.yes ?? false, opts._askFn);
@@ -208,11 +219,11 @@ async function infraDeploy(opts) {
208
219
  }
209
220
  }
210
221
  else {
211
- console.log(chalk_1.default.green(' ✓') + ' Config matches current AWS secret — no changes detected');
222
+ console.log(chalk_1.default.green(' ✓') + ' Config matches current remote secret — no changes detected');
212
223
  }
213
224
  }
214
225
  catch (e) {
215
- if (e.name === 'ResourceNotFoundException') {
226
+ if ((0, remote_secret_1.isSecretNotFoundError)(e)) {
216
227
  // No existing secret — first deploy, skip check
217
228
  }
218
229
  else {
@@ -230,7 +241,16 @@ async function infraDeploy(opts) {
230
241
  console.log(chalk_1.default.yellow('\n /infra folder not found, generating...'));
231
242
  }
232
243
  console.log(' Generating infra folder...');
233
- await (0, template_engine_1.generateInfra)(projectRoot, config, credentials);
244
+ const resolution = await (0, template_source_1.resolveSourceRoot)({
245
+ source: opts.source,
246
+ githubToken: opts.credentialOverrides?.GITHUB_TOKEN,
247
+ });
248
+ try {
249
+ await (0, template_engine_1.generateInfra)(projectRoot, config, credentials, path.join(resolution.sourceRoot, 'packages', 'infra'));
250
+ }
251
+ finally {
252
+ await resolution.cleanup?.();
253
+ }
234
254
  }
235
255
  else {
236
256
  console.log(chalk_1.default.green(' \u2713') + ' Existing /infra folder will be reused');
@@ -252,9 +272,10 @@ async function infraOnlyDeploy(projectRoot, opts) {
252
272
  console.log(chalk_1.default.cyan(' ' + '\u2500'.repeat(40)));
253
273
  const tofuVersion = (0, preflight_1.checkTofuVersion)();
254
274
  console.log(chalk_1.default.green(' \u2713') + ` tofu ${tofuVersion}`);
255
- const credentials = await (0, credentials_1.resolveCredentials)(projectRoot, opts.credentialOverrides);
275
+ const deployment = await (0, deployment_detect_1.detectDeploymentFromInfraDir)(infraDir);
276
+ const credentials = await (0, credentials_1.resolveCredentials)(projectRoot, opts.credentialOverrides, deployment);
256
277
  console.log(chalk_1.default.green(' \u2713') + ' Credentials resolved');
257
- // Derive bucket name from default.tfvars project_name
278
+ // Derive project name from default.tfvars
258
279
  const tfvarsPath = path.join(infraDir, 'default.tfvars');
259
280
  const tfvarsContent = await fs.readFile(tfvarsPath, 'utf-8');
260
281
  const projectNameMatch = tfvarsContent.match(/^project_name\s*=\s*"([^"]+)"/m);
@@ -263,13 +284,24 @@ async function infraOnlyDeploy(projectRoot, opts) {
263
284
  }
264
285
  const projectName = projectNameMatch[1];
265
286
  const suffix = (0, s3_state_bucket_1.deriveSuffix)(projectName);
266
- const bucketName = (0, s3_state_bucket_1.buildStateBucketName)(projectName, suffix);
267
287
  console.log(` Project: ${projectName}`);
268
- console.log(` State bucket: ${bucketName}`);
269
- await (0, s3_state_bucket_1.ensureStateBucket)(credentials, bucketName);
288
+ if (deployment === 'azure') {
289
+ const resourceGroupName = (0, azure_state_storage_1.buildResourceGroupName)(projectName);
290
+ const storageAccountName = (0, azure_state_storage_1.buildStateStorageAccountName)(projectName, suffix);
291
+ const locationMatch = tfvarsContent.match(/^location\s*=\s*"([^"]+)"/m);
292
+ console.log(` State storage account: ${storageAccountName}`);
293
+ await (0, azure_state_storage_1.ensureResourceGroup)(credentials, resourceGroupName, locationMatch?.[1] ?? azure_defaults_1.AZURE_DEFAULTS.location);
294
+ await (0, azure_state_storage_1.ensureStateStorage)(credentials, resourceGroupName, storageAccountName, locationMatch?.[1] ?? azure_defaults_1.AZURE_DEFAULTS.location);
295
+ }
296
+ else {
297
+ const bucketName = (0, s3_state_bucket_1.buildStateBucketName)(projectName, suffix);
298
+ console.log(` State bucket: ${bucketName}`);
299
+ await (0, s3_state_bucket_1.ensureStateBucket)(credentials, bucketName);
300
+ }
270
301
  console.log('');
271
302
  await (0, tofu_runner_1.runTofuApply)(infraDir, credentials, undefined, {
272
303
  planOnly: opts.planOnly,
304
+ deployment,
273
305
  });
274
306
  if (opts.planOnly) {
275
307
  console.log(chalk_1.default.green('\n Plan complete — no resources were created.\n'));
@@ -1 +1 @@
1
- {"version":3,"file":"infra-deploy.js","sourceRoot":"","sources":["../../src/commands/infra-deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"infra-deploy.js","sourceRoot":"","sources":["../../src/commands/infra-deploy.ts"],"names":[],"mappings":"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"}
@@ -67,18 +67,18 @@ async function infraDestroy(opts) {
67
67
  ` fuel.yml valid \u2014 ${config.apps.length} app(s)`);
68
68
  const tofuVersion = (0, preflight_1.checkTofuVersion)();
69
69
  console.log(chalk_1.default.green(' \u2713') + ` tofu ${tofuVersion}`);
70
- const credentials = await (0, credentials_1.resolveCredentials)(projectRoot, opts.credentialOverrides);
70
+ const credentials = await (0, credentials_1.resolveCredentials)(projectRoot, opts.credentialOverrides, config.deployment);
71
71
  console.log(chalk_1.default.green(' \u2713') + ' Credentials resolved');
72
72
  // TofuVars — db values are only needed to satisfy variable declarations,
73
73
  // the actual values don't matter for destroy.
74
74
  const tofuVars = {
75
75
  db_username: slugify(config.name),
76
76
  db_name: slugify(config.name),
77
- github_repo_name: `${config.name}-monorepo`,
77
+ github_repo_name: config.github_repo_name ?? `${config.name}-monorepo`,
78
78
  };
79
79
  console.log(chalk_1.default.yellow('\n WARNING: This will destroy ALL infrastructure resources.\n'));
80
80
  console.log('');
81
- await (0, tofu_runner_1.runTofuDestroy)(infraDir, credentials, tofuVars);
81
+ await (0, tofu_runner_1.runTofuDestroy)(infraDir, credentials, tofuVars, config.deployment);
82
82
  console.log(chalk_1.default.green('\n Infrastructure has been destroyed.\n'));
83
83
  }
84
84
  //# sourceMappingURL=infra-destroy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"infra-destroy.js","sourceRoot":"","sources":["../../src/commands/infra-destroy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,oCAgDC;AAnED,2CAA4B;AAC5B,6CAA8B;AAC9B,kDAAyB;AACzB,0DAAwD;AACxD,sDAAyD;AACzD,kDAAqD;AACrD,sDAA+D;AAS/D,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;AACvD,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,IAAyB;IAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;IAEvE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;IACzD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,yBAAyB,cAAc,KAAK;YAC1C,qFAAqF,CACxF,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAChD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,8BAA8B,WAAW,KAAK;YAC5C,gDAAgD;YAChD,+DAA+D,CAClE,CAAA;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAA;IAC/C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAEnD,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAe,EAAC,cAAc,CAAC,CAAA;IACpD,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,KAAK,CAAC,UAAU,CAAC;QACrB,0BAA0B,MAAM,CAAC,IAAI,CAAC,MAAM,SAAS,CACxD,CAAA;IAED,MAAM,WAAW,GAAG,IAAA,4BAAgB,GAAE,CAAA;IACtC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,SAAS,WAAW,EAAE,CAAC,CAAA;IAE7D,MAAM,WAAW,GAAG,MAAM,IAAA,gCAAkB,EAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAA;IACnF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,uBAAuB,CAAC,CAAA;IAE9D,yEAAyE;IACzE,8CAA8C;IAC9C,MAAM,QAAQ,GAAa;QACzB,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QACjC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7B,gBAAgB,EAAE,GAAG,MAAM,CAAC,IAAI,WAAW;KAC5C,CAAA;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,gEAAgE,CAAC,CAAC,CAAA;IAC3F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,MAAM,IAAA,4BAAc,EAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;IAErD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAA;AACtE,CAAC"}
1
+ {"version":3,"file":"infra-destroy.js","sourceRoot":"","sources":["../../src/commands/infra-destroy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,oCAgDC;AAnED,2CAA4B;AAC5B,6CAA8B;AAC9B,kDAAyB;AACzB,0DAAwD;AACxD,sDAAyD;AACzD,kDAAqD;AACrD,sDAA+D;AAS/D,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;AACvD,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,IAAyB;IAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;IAEvE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;IACzD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,yBAAyB,cAAc,KAAK;YAC1C,qFAAqF,CACxF,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAChD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,8BAA8B,WAAW,KAAK;YAC5C,gDAAgD;YAChD,+DAA+D,CAClE,CAAA;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAA;IAC/C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAEnD,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAe,EAAC,cAAc,CAAC,CAAA;IACpD,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,KAAK,CAAC,UAAU,CAAC;QACrB,0BAA0B,MAAM,CAAC,IAAI,CAAC,MAAM,SAAS,CACxD,CAAA;IAED,MAAM,WAAW,GAAG,IAAA,4BAAgB,GAAE,CAAA;IACtC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,SAAS,WAAW,EAAE,CAAC,CAAA;IAE7D,MAAM,WAAW,GAAG,MAAM,IAAA,gCAAkB,EAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IACtG,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,uBAAuB,CAAC,CAAA;IAE9D,yEAAyE;IACzE,8CAA8C;IAC9C,MAAM,QAAQ,GAAa;QACzB,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QACjC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,GAAG,MAAM,CAAC,IAAI,WAAW;KACvE,CAAA;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,gEAAgE,CAAC,CAAC,CAAA;IAC3F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,MAAM,IAAA,4BAAc,EAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IAExE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAA;AACtE,CAAC"}
@@ -41,6 +41,73 @@ export declare const CONFIG_TEMPLATE: {
41
41
  workers?: undefined;
42
42
  })[];
43
43
  };
44
+ export declare const CONFIG_TEMPLATE_AZURE: {
45
+ name: string;
46
+ deployment: string;
47
+ slack_webhook_url: string;
48
+ location: string;
49
+ monitor: {
50
+ daily_data_cap_gb: number;
51
+ retention_days: number;
52
+ dashboard_count: number;
53
+ };
54
+ front_door: {
55
+ sku_name: string;
56
+ };
57
+ storage_account: {
58
+ account_kind: string;
59
+ account_tier: string;
60
+ account_replication_type: string;
61
+ access_tier: string;
62
+ };
63
+ key_vault: {
64
+ sku_name: string;
65
+ };
66
+ apps: ({
67
+ name: string;
68
+ technology: string;
69
+ dockerfile: string;
70
+ health_check_path: string;
71
+ domain: string;
72
+ port: number;
73
+ branch: string;
74
+ database: {
75
+ enabled: boolean;
76
+ engine: string;
77
+ sku_name: string;
78
+ };
79
+ redis: {
80
+ enabled: boolean;
81
+ sku_name: string;
82
+ };
83
+ container_app: {
84
+ cpu: number;
85
+ memory: string;
86
+ concurrent_requests: number;
87
+ min_replicas: number;
88
+ max_replicas: number;
89
+ };
90
+ variables: {};
91
+ workers: never[];
92
+ build_env?: undefined;
93
+ } | {
94
+ name: string;
95
+ technology: string;
96
+ dockerfile: string;
97
+ health_check_path: string;
98
+ domain: string;
99
+ port: number;
100
+ branch: string;
101
+ build_env: {
102
+ NEXT_PUBLIC_API_HOST: string;
103
+ };
104
+ database?: undefined;
105
+ redis?: undefined;
106
+ container_app?: undefined;
107
+ variables?: undefined;
108
+ workers?: undefined;
109
+ })[];
110
+ };
44
111
  export interface InfraInitAnswers {
45
112
  credentials: Record<string, string>;
46
113
  projectName: string;
@@ -65,12 +132,36 @@ export interface InfraInitAnswers {
65
132
  baseDomain: string;
66
133
  domains: Record<string, Record<string, string>>;
67
134
  }
135
+ export interface AzureInfraInitAnswers {
136
+ credentials: Record<string, string>;
137
+ projectName: string;
138
+ slackWebhookUrl: string;
139
+ location: string;
140
+ /** api is always NestJS; web is always React/Next.js */
141
+ appTypes: Array<{
142
+ suffix: 'api' | 'web';
143
+ dockerfile: string;
144
+ port: number;
145
+ healthCheckPath: string;
146
+ databaseEnabled: boolean;
147
+ databaseEngine: 'mssql' | 'postgres';
148
+ redisEnabled: boolean;
149
+ variables: Record<string, Record<string, string>>;
150
+ }>;
151
+ environments: string[];
152
+ baseDomain: string;
153
+ domains: Record<string, Record<string, string>>;
154
+ }
68
155
  export declare function applyInfraInitAnswers(answers: InfraInitAnswers, opts: {
69
156
  output?: string;
70
157
  }): Promise<void>;
158
+ export declare function applyAzureInfraInitAnswers(answers: AzureInfraInitAnswers, opts: {
159
+ output?: string;
160
+ }): Promise<void>;
71
161
  export declare function infraInit(opts: {
72
162
  output?: string;
73
163
  template?: boolean;
74
164
  credentialsOnly?: boolean;
165
+ azure?: boolean;
75
166
  }): Promise<void>;
76
167
  //# sourceMappingURL=infra-init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"infra-init.d.ts","sourceRoot":"","sources":["../../src/commands/infra-init.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsC3B,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,eAAe,EAAE,MAAM,CAAA;IACvB,wDAAwD;IACxD,QAAQ,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,KAAK,GAAG,KAAK,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,IAAI,EAAE,MAAM,CAAA;QACZ,eAAe,EAAE,MAAM,CAAA;QAEvB,QAAQ,EAAE,OAAO,CAAA;QACjB,KAAK,EAAE,OAAO,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;QAChB,WAAW,EAAE,MAAM,CAAA;QACnB,cAAc,EAAE,MAAM,CAAA;QACtB,kBAAkB,EAAE,MAAM,CAAA;QAC1B,iBAAiB,EAAE,MAAM,CAAA;QACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;KAClD,CAAC,CAAA;IACF,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAChD;AA2ZD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACxB,OAAO,CAAC,IAAI,CAAC,CA8Ff;AAID,wBAAsB,SAAS,CAAC,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0GvH"}
1
+ {"version":3,"file":"infra-init.d.ts","sourceRoot":"","sources":["../../src/commands/infra-init.ts"],"names":[],"mappings":"AA4BA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsC3B,CAAA;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCjC,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,eAAe,EAAE,MAAM,CAAA;IACvB,wDAAwD;IACxD,QAAQ,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,KAAK,GAAG,KAAK,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,IAAI,EAAE,MAAM,CAAA;QACZ,eAAe,EAAE,MAAM,CAAA;QAEvB,QAAQ,EAAE,OAAO,CAAA;QACjB,KAAK,EAAE,OAAO,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;QAChB,WAAW,EAAE,MAAM,CAAA;QACnB,cAAc,EAAE,MAAM,CAAA;QACtB,kBAAkB,EAAE,MAAM,CAAA;QAC1B,iBAAiB,EAAE,MAAM,CAAA;QACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;KAClD,CAAC,CAAA;IACF,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAChD;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,wDAAwD;IACxD,QAAQ,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,KAAK,GAAG,KAAK,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,IAAI,EAAE,MAAM,CAAA;QACZ,eAAe,EAAE,MAAM,CAAA;QAEvB,eAAe,EAAE,OAAO,CAAA;QACxB,cAAc,EAAE,OAAO,GAAG,UAAU,CAAA;QACpC,YAAY,EAAE,OAAO,CAAA;QACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;KAClD,CAAC,CAAA;IACF,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAChD;AA6rBD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACxB,OAAO,CAAC,IAAI,CAAC,CA8Ff;AAID,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACxB,OAAO,CAAC,IAAI,CAAC,CA8Ff;AA8FD,wBAAsB,SAAS,CAAC,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCxI"}