@cristiancorreau/forge 2.5.0 → 2.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -4,7 +4,7 @@ import { audit } from './commands/audit.js';
4
4
  import { generate } from './commands/generate.js';
5
5
  import { validate } from './commands/validate.js';
6
6
  import { doctor } from './commands/doctor.js';
7
- const VERSION = '2.5.0';
7
+ const VERSION = '2.6.2';
8
8
  const HELP = `forge v${VERSION} — Agentic development framework
9
9
 
10
10
  Usage: forge <command> [options]
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAuNA,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA+K1D"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AA6PA,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAwM1D"}
@@ -1,8 +1,49 @@
1
1
  import { existsSync, mkdirSync, writeFileSync, readFileSync, copyFileSync, readdirSync, statSync } from 'fs';
2
2
  import { join } from 'path';
3
+ import { spawnSync } from 'child_process';
3
4
  import { loadProjectYaml } from '../lib/yaml.js';
4
5
  import { runWizard } from '../lib/wizard.js';
5
6
  import { resolveForgeRoot } from '../lib/paths.js';
7
+ // OpenTUI panels require Bun runtime
8
+ const isBun = typeof globalThis.Bun !== 'undefined';
9
+ // Locate a usable `bun` binary: PATH first, then the standard install location.
10
+ function findBun() {
11
+ const candidates = [
12
+ 'bun',
13
+ join(process.env.HOME ?? '', '.bun', 'bin', 'bun'),
14
+ '/opt/homebrew/bin/bun',
15
+ '/usr/local/bin/bun',
16
+ ];
17
+ for (const bin of candidates) {
18
+ try {
19
+ const r = spawnSync(bin, ['--version'], { encoding: 'utf8', timeout: 2000 });
20
+ if (r.status === 0)
21
+ return bin;
22
+ }
23
+ catch { /* try next */ }
24
+ }
25
+ return null;
26
+ }
27
+ // If running under Node.js with a TTY, re-launch the CLI under Bun (if available)
28
+ // so the OpenTUI panel wizard can render. Returns without exiting if not possible.
29
+ function tryReLaunchWithBun(args) {
30
+ if (isBun)
31
+ return;
32
+ if (process.env.FORGE_NO_BUN === '1')
33
+ return; // explicit opt-out
34
+ if (!process.stdin.isTTY || !process.stdout.isTTY)
35
+ return; // panels need a real TTY
36
+ const bun = findBun();
37
+ if (!bun)
38
+ return; // Bun not installed → fall back to clack
39
+ // cli.js is one level up from dist/commands/init.js
40
+ const cliPath = new URL('../cli.js', import.meta.url).pathname;
41
+ const result = spawnSync(bun, [cliPath, 'init', ...args], {
42
+ stdio: 'inherit',
43
+ env: { ...process.env, FORGE_BUN_RELAUNCH: '1' },
44
+ });
45
+ process.exit(result.status ?? 0);
46
+ }
6
47
  import { buildManifest, saveManifest } from '../lib/lock.js';
7
48
  import { dim } from '../ui/colors.js';
8
49
  import { printHeader, printSection, printDetected, printAgentList } from '../ui/header.js';
@@ -214,19 +255,49 @@ export async function init(args) {
214
255
  const runtimeIdx = args.indexOf('--runtime');
215
256
  const runtimeOverride = runtimeIdx !== -1 ? (args[runtimeIdx + 1] ?? null) : null;
216
257
  const projectYamlPath = join(process.cwd(), 'project.yaml');
258
+ const hasProjectYaml = existsSync(projectYamlPath);
217
259
  let config;
218
- // Show header
219
- printHeader();
220
- if (!existsSync(projectYamlPath)) {
221
- // Run interactive wizard
222
- const result = await runWizard();
260
+ // The interactive wizard runs only when there's no project.yaml and we're not
261
+ // in dry-run. On Node.js with Bun installed, re-launch under Bun for the
262
+ // OpenTUI panel wizard; otherwise fall back to the @clack/prompts wizard.
263
+ if (!hasProjectYaml && !dryRun) {
264
+ tryReLaunchWithBun(args); // exits the process if it re-launches under Bun
265
+ }
266
+ // The OpenTUI wizard renders its own full-screen header. The static boxen
267
+ // header is only shown for the clack wizard, dry-run, and existing-config paths.
268
+ const usingOpenTUI = isBun && !hasProjectYaml && !dryRun;
269
+ if (!usingOpenTUI)
270
+ printHeader();
271
+ if (hasProjectYaml) {
272
+ config = loadProjectYaml(projectYamlPath);
273
+ }
274
+ else if (dryRun) {
275
+ // Dry-run without config: show what a default standard project would install
276
+ console.log(dim(' No project.yaml found — showing defaults for a "standard" project.') + '\n');
277
+ config = {
278
+ project: { name: 'My Project', slug: 'my-project', language: 'typescript', mode: 'standard', status: 'active' },
279
+ agents: { active: defaultAgentsForMode('standard'), compliance: [], profiles: [] },
280
+ runtimes: { active: [runtimeOverride ?? 'claude-code'] },
281
+ };
282
+ }
283
+ else {
284
+ // Run interactive wizard — OpenTUI (Bun) or @clack/prompts (Node.js)
285
+ let result;
286
+ if (isBun) {
287
+ const { runOpenTUIWizard } = await import('../tui/wizard.js');
288
+ result = await runOpenTUIWizard();
289
+ // OpenTUI restored the screen; now show the static header for install phase
290
+ printHeader();
291
+ }
292
+ else {
293
+ result = await runWizard();
294
+ }
223
295
  if (!result) {
224
296
  console.log('\nCancelado.');
225
297
  return 1;
226
298
  }
227
299
  const yamlContent = buildProjectYaml(result);
228
300
  writeFileSync(projectYamlPath, yamlContent, 'utf-8');
229
- // Build config from wizard result
230
301
  config = {
231
302
  project: { name: result.name, slug: result.slug, description: result.description, language: result.language, mode: result.mode, status: 'active' },
232
303
  stack: { backend: result.backend, frontend: result.frontend, database: result.database, orm: result.orm, package_manager: result.packageManager, testing: result.testing },
@@ -234,9 +305,6 @@ export async function init(args) {
234
305
  runtimes: { active: [runtimeOverride ?? result.runtime] },
235
306
  };
236
307
  }
237
- else {
238
- config = loadProjectYaml(projectYamlPath);
239
- }
240
308
  const forgeRoot = resolveForgeRoot();
241
309
  const projectRoot = process.cwd();
242
310
  const runtime = runtimeOverride ?? config.runtimes?.active?.[0] ?? 'claude-code';
@@ -341,7 +409,7 @@ export async function init(args) {
341
409
  ...allAgents.map(a => `.claude/agents/${a}.md`),
342
410
  ];
343
411
  const ts = new Date().toISOString();
344
- saveManifest(projectRoot, buildManifest(runtime, installedFiles, projectRoot, '2.5.0', ts));
412
+ saveManifest(projectRoot, buildManifest(runtime, installedFiles, projectRoot, '2.6.2', ts));
345
413
  },
346
414
  },
347
415
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC7G,OAAO,EAAE,IAAI,EAAY,MAAM,MAAM,CAAC;AACtC,OAAO,EAAmB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EACL,mBAAmB,EAAE,qBAAqB,EAC1C,kBAAkB,EAAE,oBAAoB,EAAE,2BAA2B,EACtE,MAAM,2BAA2B,CAAC;AAGnC,MAAM,IAAI,GAAG;;;;;;;;;;CAUZ,CAAC;AAEF,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,KAAK,CAAC,IAAY,EAAE,OAAe,EAAE,KAAc;IAC1D,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;QAAE,OAAO;IACvC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW,EAAE,IAAY,EAAE,KAAc;IACzD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;QAAE,OAAO;IACvC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,OAAO,CAAC,GAAW,EAAE,IAAY,EAAE,KAAc;IACxD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE;YAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;;YAClE,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA6C;IACrE,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/D,IAAI,MAAM,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClE,IAAI,MAAM,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClE,IAAI,MAAM,CAAC,GAAG;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IACnD,IAAI,MAAM,CAAC,cAAc;QAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;IACrF,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAC5D,CAAC,CAAC,gBAAgB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACrE,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAErD,OAAO;WACE,MAAM,CAAC,IAAI;WACX,MAAM,CAAC,IAAI;kBACJ,MAAM,CAAC,WAAW;cACtB,MAAM,CAAC,QAAQ;UACnB,MAAM,CAAC,IAAI;;;;EAInB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,wBAAwB;;;;EAI5C,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;EAE5C,QAAQ;;;;QAIF,MAAM,CAAC,OAAO;;;;;;CAMrB,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,GAAG,GAA2B;QAClC,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK;QAChF,mBAAmB,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,iBAAiB,EAAE,QAAQ;QACpF,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,qBAAqB,EAAE,YAAY;QACtF,kBAAkB,EAAE,UAAU,EAAE,oBAAoB,EAAE,WAAW;KAClE,CAAC;IACF,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC;AACrC,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,CAAC,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;IACzF,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,CAAC,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,aAAa,EAAE,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;IACvK,OAAO,CAAC,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB,EAAE,OAAe,EAAE,YAAsB,EAAE,QAAkB,EAAE,KAAc;IACvH,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExC,+BAA+B;IAC/B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxE,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,gBAAgB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC;YAC1C,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACpD,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB,EAAE,OAAe,EAAE,IAAY,EAAE,KAAc;IACpF,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO;IAElC,oCAAoC;IACpC,MAAM,SAAS,GAAG,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAEvC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACjC,IAAI,UAAU,CAAC,GAAG,CAAC;YAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QACjD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACjC,IAAI,UAAU,CAAC,GAAG,CAAC;gBAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAgB,EAAE,IAAY;IAC1D,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC9B,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAC/E,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;IACtF,CAAC;SAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC/B,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;IACpE,CAAC;SAAM,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC7B,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC9B,SAAS,CAAC,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;IACpD,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE9B,MAAM,KAAK,GAA8B;QACvC,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC,EAAE,CAAC;QAC9G,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC,EAAE,CAAC;KAC3F,CAAC;IACF,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAChD,KAAK,CAAC,UAA6C,CAAC,IAAI,CAAC;YACxD,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC;SAC9E,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,eAAe,CAAC,SAAiB,EAAE,OAAe,EAAE,KAAc;IACzE,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;IAC3E,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO;IACrC,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,WAAW,CAAC,SAAiB,EAAE,WAAmB,EAAE,MAAmB,EAAE,KAAc;IAC9F,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACrD,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IACvE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IACrE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,oBAAoB,EAAE,EAAE,KAAK,CAAC,CAAC;IACnE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,4BAA4B,CAAC,EAAE,2BAA2B,EAAE,EAAE,KAAK,CAAC,CAAC;AAC5F,CAAC;AAED,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAc;IACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAElF,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;IAC5D,IAAI,MAAmB,CAAC;IAExB,cAAc;IACd,WAAW,EAAE,CAAC;IAEd,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACjC,yBAAyB;QACzB,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAEvD,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7C,aAAa,CAAC,eAAe,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAErD,kCAAkC;QAClC,MAAM,GAAG;YACP,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE;YAClJ,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;YAC1K,MAAM,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;YAChG,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,eAAe,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE;SAC1D,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,eAAe,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC;IACjF,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC;IAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,YAAY,CAAC;IACzD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;IACjD,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC;IACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;IAC/C,MAAM,SAAS,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,gBAAgB,CAAC,CAAC;IAEzD,sBAAsB;IACtB,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,IAAI,QAAQ,IAAI,QAAQ,KAAK,YAAY;QAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpH,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO;QAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrE,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ;QAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtE,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ;QAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtE,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG;QAAO,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IACnG,IAAI,QAAQ,KAAK,YAAY;QAAE,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEnE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAE3D,kBAAkB;IAClB,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;QAAE,cAAc,CAAC,cAAc,CAAC,CAAC;IAE9D,0CAA0C;IAC1C,IAAI,MAAM,EAAE,CAAC;QACX,YAAY,CAAC,2BAA2B,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG;YACf,EAAE,KAAK,EAAE,qBAAqB,SAAS,CAAC,MAAM,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;YACxE,EAAE,KAAK,EAAE,uDAAuD,EAAE,IAAI,EAAE,WAAW,EAAE;YACrF,EAAE,KAAK,EAAE,uCAAuC,EAAE,IAAI,EAAE,KAAK,EAAE;YAC/D,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtC,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClD,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,UAAU,EAAE;SACpD,CAAC;QACF,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxG,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,mCAAmC,CAAC,GAAG,IAAI,CAAC,CAAC;QACpE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC/C,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1C,MAAM,QAAQ,CAAC,eAAe,EAAE;YAC9B;gBACE,KAAK,EAAE,WAAW,SAAS,CAAC,MAAM,GAAG;gBACrC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;gBACjE,IAAI,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC;aAChG;YACD;gBACE,KAAK,EAAE,8CAA8C;gBACrD,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC;aAC3E;YACD;gBACE,KAAK,EAAE,qBAAqB;gBAC5B,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC;aAC3E;YACD;gBACE,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;aACnF;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC;aACjG;YACD;gBACE,KAAK,EAAE,kCAAkC;gBACzC,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,GAAG,EAAE;oBACT,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACnE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzE,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;oBACjF,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;wBAChC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,KAAK,CAAC,CAAC;oBACvF,CAAC;oBACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,CAAC,CAAC;oBAClG,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;oBAC5D,IAAI,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;wBAChE,MAAM,OAAO,GAAG,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,aAAa,CAAC,CAAC;wBAC5H,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,sBAAsB;gBAC7B,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,GAAG,EAAE;oBACT,MAAM,cAAc,GAAG;wBACrB,WAAW,EAAE,uBAAuB,EAAE,4BAA4B;wBAClE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC;qBAChD,CAAC;oBACF,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBACpC,YAAY,CAAC,WAAW,EAAE,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC9F,CAAC;aACF;SACF,CAAC,CAAC;IAEL,CAAC;SAAM,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAClC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IAEzE,CAAC;SAAM,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IAE9E,CAAC;SAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QAC9B,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,oBAAoB;IACpB,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,SAAS,GACb,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,6BAA6B,EAAE,qCAAqC,CAAC,CAAC,CAAC;QACpG,OAAO,KAAK,UAAU,CAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC;YAC1D,OAAO,KAAK,MAAM,CAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC;gBAC9B,CAAC,iCAAiC,CAAC,CAAC;IAElE,MAAM,cAAc,GAClB,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,GAAG,MAAM;QACzE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QACxC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAElF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE;QAC/D,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;QACjD,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;KACjD,CAAC,GAAG,IAAI,CAAC,CAAC;IAEX,OAAO,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC7G,OAAO,EAAE,IAAI,EAAY,MAAM,MAAM,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAmB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,qCAAqC;AACrC,MAAM,KAAK,GAAG,OAAQ,UAAkB,CAAC,GAAG,KAAK,WAAW,CAAC;AAE7D,gFAAgF;AAChF,SAAS,OAAO;IACd,MAAM,UAAU,GAAG;QACjB,KAAK;QACL,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;QAClD,uBAAuB;QACvB,oBAAoB;KACrB,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7E,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,GAAG,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kFAAkF;AAClF,mFAAmF;AACnF,SAAS,kBAAkB,CAAC,IAAc;IACxC,IAAI,KAAK;QAAE,OAAO;IAClB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG;QAAE,OAAO,CAAC,mBAAmB;IACjE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,CAAC,yBAAyB;IACpF,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,IAAI,CAAC,GAAG;QAAE,OAAO,CAAC,yCAAyC;IAC3D,oDAAoD;IACpD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC/D,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE;QACxD,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE;KACjD,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AACnC,CAAC;AACD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EACL,mBAAmB,EAAE,qBAAqB,EAC1C,kBAAkB,EAAE,oBAAoB,EAAE,2BAA2B,EACtE,MAAM,2BAA2B,CAAC;AAGnC,MAAM,IAAI,GAAG;;;;;;;;;;CAUZ,CAAC;AAEF,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,KAAK,CAAC,IAAY,EAAE,OAAe,EAAE,KAAc;IAC1D,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;QAAE,OAAO;IACvC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW,EAAE,IAAY,EAAE,KAAc;IACzD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;QAAE,OAAO;IACvC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,OAAO,CAAC,GAAW,EAAE,IAAY,EAAE,KAAc;IACxD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE;YAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;;YAClE,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA6C;IACrE,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/D,IAAI,MAAM,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClE,IAAI,MAAM,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClE,IAAI,MAAM,CAAC,GAAG;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IACnD,IAAI,MAAM,CAAC,cAAc;QAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;IACrF,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAC5D,CAAC,CAAC,gBAAgB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACrE,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAErD,OAAO;WACE,MAAM,CAAC,IAAI;WACX,MAAM,CAAC,IAAI;kBACJ,MAAM,CAAC,WAAW;cACtB,MAAM,CAAC,QAAQ;UACnB,MAAM,CAAC,IAAI;;;;EAInB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,wBAAwB;;;;EAI5C,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;EAE5C,QAAQ;;;;QAIF,MAAM,CAAC,OAAO;;;;;;CAMrB,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,GAAG,GAA2B;QAClC,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK;QAChF,mBAAmB,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,iBAAiB,EAAE,QAAQ;QACpF,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,qBAAqB,EAAE,YAAY;QACtF,kBAAkB,EAAE,UAAU,EAAE,oBAAoB,EAAE,WAAW;KAClE,CAAC;IACF,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC;AACrC,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,CAAC,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;IACzF,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,CAAC,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,aAAa,EAAE,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;IACvK,OAAO,CAAC,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB,EAAE,OAAe,EAAE,YAAsB,EAAE,QAAkB,EAAE,KAAc;IACvH,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExC,+BAA+B;IAC/B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxE,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,gBAAgB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC;YAC1C,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACpD,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB,EAAE,OAAe,EAAE,IAAY,EAAE,KAAc;IACpF,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO;IAElC,oCAAoC;IACpC,MAAM,SAAS,GAAG,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAEvC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACjC,IAAI,UAAU,CAAC,GAAG,CAAC;YAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QACjD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACjC,IAAI,UAAU,CAAC,GAAG,CAAC;gBAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAgB,EAAE,IAAY;IAC1D,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC9B,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAC/E,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;IACtF,CAAC;SAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC/B,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;IACpE,CAAC;SAAM,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC7B,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC9B,SAAS,CAAC,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;IACpD,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE9B,MAAM,KAAK,GAA8B;QACvC,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC,EAAE,CAAC;QAC9G,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC,EAAE,CAAC;KAC3F,CAAC;IACF,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAChD,KAAK,CAAC,UAA6C,CAAC,IAAI,CAAC;YACxD,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC;SAC9E,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,eAAe,CAAC,SAAiB,EAAE,OAAe,EAAE,KAAc;IACzE,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;IAC3E,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO;IACrC,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,WAAW,CAAC,SAAiB,EAAE,WAAmB,EAAE,MAAmB,EAAE,KAAc;IAC9F,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACrD,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IACvE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IACrE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,oBAAoB,EAAE,EAAE,KAAK,CAAC,CAAC;IACnE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,4BAA4B,CAAC,EAAE,2BAA2B,EAAE,EAAE,KAAK,CAAC,CAAC;AAC5F,CAAC;AAED,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAc;IACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAElF,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IACnD,IAAI,MAAmB,CAAC;IAExB,8EAA8E;IAC9E,yEAAyE;IACzE,0EAA0E;IAC1E,IAAI,CAAC,cAAc,IAAI,CAAC,MAAM,EAAE,CAAC;QAC/B,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,gDAAgD;IAC5E,CAAC;IAED,0EAA0E;IAC1E,iFAAiF;IACjF,MAAM,YAAY,GAAG,KAAK,IAAI,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC;IACzD,IAAI,CAAC,YAAY;QAAE,WAAW,EAAE,CAAC;IAEjC,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;IAC5C,CAAC;SAAM,IAAI,MAAM,EAAE,CAAC;QAClB,6EAA6E;QAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,sEAAsE,CAAC,GAAG,IAAI,CAAC,CAAC;QAChG,MAAM,GAAG;YACP,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE;YAC/G,MAAM,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAClF,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,eAAe,IAAI,aAAa,CAAC,EAAE;SACzD,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,qEAAqE;QACrE,IAAI,MAAM,CAAC;QACX,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC9D,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;YAClC,4EAA4E;YAC5E,WAAW,EAAE,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAEvD,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7C,aAAa,CAAC,eAAe,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAErD,MAAM,GAAG;YACP,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE;YAClJ,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;YAC1K,MAAM,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;YAChG,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,eAAe,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE;SAC1D,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,eAAe,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC;IACjF,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC;IAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,YAAY,CAAC;IACzD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;IACjD,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC;IACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;IAC/C,MAAM,SAAS,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,gBAAgB,CAAC,CAAC;IAEzD,sBAAsB;IACtB,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,IAAI,QAAQ,IAAI,QAAQ,KAAK,YAAY;QAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpH,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO;QAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrE,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ;QAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtE,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ;QAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtE,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG;QAAO,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IACnG,IAAI,QAAQ,KAAK,YAAY;QAAE,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEnE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAE3D,kBAAkB;IAClB,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;QAAE,cAAc,CAAC,cAAc,CAAC,CAAC;IAE9D,0CAA0C;IAC1C,IAAI,MAAM,EAAE,CAAC;QACX,YAAY,CAAC,2BAA2B,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG;YACf,EAAE,KAAK,EAAE,qBAAqB,SAAS,CAAC,MAAM,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;YACxE,EAAE,KAAK,EAAE,uDAAuD,EAAE,IAAI,EAAE,WAAW,EAAE;YACrF,EAAE,KAAK,EAAE,uCAAuC,EAAE,IAAI,EAAE,KAAK,EAAE;YAC/D,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtC,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClD,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,UAAU,EAAE;SACpD,CAAC;QACF,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxG,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,mCAAmC,CAAC,GAAG,IAAI,CAAC,CAAC;QACpE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC/C,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1C,MAAM,QAAQ,CAAC,eAAe,EAAE;YAC9B;gBACE,KAAK,EAAE,WAAW,SAAS,CAAC,MAAM,GAAG;gBACrC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;gBACjE,IAAI,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC;aAChG;YACD;gBACE,KAAK,EAAE,8CAA8C;gBACrD,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC;aAC3E;YACD;gBACE,KAAK,EAAE,qBAAqB;gBAC5B,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC;aAC3E;YACD;gBACE,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;aACnF;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC;aACjG;YACD;gBACE,KAAK,EAAE,kCAAkC;gBACzC,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,GAAG,EAAE;oBACT,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACnE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzE,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;oBACjF,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;wBAChC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,KAAK,CAAC,CAAC;oBACvF,CAAC;oBACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,CAAC,CAAC;oBAClG,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;oBAC5D,IAAI,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;wBAChE,MAAM,OAAO,GAAG,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,aAAa,CAAC,CAAC;wBAC5H,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;aACF;YACD;gBACE,KAAK,EAAE,sBAAsB;gBAC7B,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,GAAG,EAAE;oBACT,MAAM,cAAc,GAAG;wBACrB,WAAW,EAAE,uBAAuB,EAAE,4BAA4B;wBAClE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC;qBAChD,CAAC;oBACF,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBACpC,YAAY,CAAC,WAAW,EAAE,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC9F,CAAC;aACF;SACF,CAAC,CAAC;IAEL,CAAC;SAAM,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAClC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IAEzE,CAAC;SAAM,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IAE9E,CAAC;SAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QAC9B,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,oBAAoB;IACpB,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,SAAS,GACb,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,6BAA6B,EAAE,qCAAqC,CAAC,CAAC,CAAC;QACpG,OAAO,KAAK,UAAU,CAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC;YAC1D,OAAO,KAAK,MAAM,CAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC;gBAC9B,CAAC,iCAAiC,CAAC,CAAC;IAElE,MAAM,cAAc,GAClB,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,GAAG,MAAM;QACzE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QACxC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAElF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE;QAC/D,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;QACjD,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;KACjD,CAAC,GAAG,IAAI,CAAC,CAAC;IAEX,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { WizardResult } from '../lib/wizard.js';
2
+ export declare function runOpenTUIWizard(): Promise<WizardResult | null>;
3
+ //# sourceMappingURL=wizard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../src/tui/wizard.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAiErD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAsPrE"}
@@ -0,0 +1,285 @@
1
+ /**
2
+ * forge interactive wizard — OpenTUI panels (Bun runtime only).
3
+ * Widgets are CHILDREN of panels (flex column layout), not absolute positioned.
4
+ */
5
+ // @ts-nocheck — OpenTUI types; Bun-only module
6
+ import { createCliRenderer, BoxRenderable, Text, SelectRenderable, InputRenderable, } from '@opentui/core';
7
+ import { detectStack } from '../lib/detect.js';
8
+ // ─── Palette ─────────────────────────────────────────────────────────────────
9
+ const C = {
10
+ cyan: '#00e5ff',
11
+ yellow: '#ffd740',
12
+ green: '#69ff47',
13
+ muted: '#546e7a',
14
+ dim: '#37474f',
15
+ bg: '#0d1117',
16
+ bgPanel: '#161b22',
17
+ bgInput: '#1f2937',
18
+ bgFocus: '#1e3a5f',
19
+ white: '#e6edf3',
20
+ };
21
+ const bold = (s) => `\x1b[1m${s}\x1b[0m`;
22
+ const col = (hex, s) => {
23
+ const r = parseInt(hex.slice(1, 3), 16), g = parseInt(hex.slice(3, 5), 16), b = parseInt(hex.slice(5, 7), 16);
24
+ return `\x1b[38;2;${r};${g};${b}m${s}\x1b[0m`;
25
+ };
26
+ const dim = (s) => `\x1b[2m${s}\x1b[0m`;
27
+ const STEPS = [
28
+ 'Project name', 'Language', 'Mode',
29
+ 'Backend', 'Frontend', 'Database', 'ORM',
30
+ 'Package manager', 'Testing', 'Runtime', 'Confirm',
31
+ ];
32
+ // ─── Options ─────────────────────────────────────────────────────────────────
33
+ const o = (name, value, description = '') => ({ name, value, description });
34
+ const BACKENDS = {
35
+ typescript: [o('Hono', 'hono', 'Edge-ready, ultralight'), o('Express', 'express', 'The classic'), o('NestJS', 'nestjs', 'Enterprise'), o('Fastify', 'fastify', 'High performance'), o('None', 'none', '')],
36
+ python: [o('FastAPI', 'fastapi', 'Async'), o('Django', 'django', 'Batteries included'), o('None', 'none', '')],
37
+ ruby: [o('Rails', 'rails', 'Full-stack'), o('None', 'none', '')],
38
+ go: [o('Gin', 'go-gin', 'Fast router'), o('None', 'none', '')],
39
+ php: [o('Laravel', 'laravel', 'Full-stack PHP'), o('None', 'none', '')],
40
+ };
41
+ const FRONTENDS = [o('Next.js', 'nextjs', 'Fullstack React'), o('Astro', 'astro', 'Content-first'), o('Nuxt', 'nuxt', 'Vue'), o('SvelteKit', 'sveltekit', 'Svelte'), o('None', 'none', '')];
42
+ const DATABASES = [o('PostgreSQL', 'postgresql', 'Recommended'), o('MySQL', 'mysql', ''), o('SQLite', 'sqlite', 'Dev/embedded'), o('None', 'none', '')];
43
+ const ORMS = {
44
+ typescript: [o('Drizzle ORM', 'drizzle', 'Lightweight, type-safe'), o('Prisma', 'prisma', 'Full ORM'), o('TypeORM', 'typeorm', ''), o('None', 'none', '')],
45
+ python: [o('SQLAlchemy', 'sqlalchemy', ''), o('None', 'none', '')],
46
+ ruby: [o('Active Record', 'active-record', ''), o('None', 'none', '')],
47
+ };
48
+ const PKG = {
49
+ typescript: [o('pnpm', 'pnpm', 'Recommended'), o('npm', 'npm', ''), o('yarn', 'yarn', ''), o('bun', 'bun', 'Ultra-fast')],
50
+ python: [o('pip', 'pip', ''), o('poetry', 'poetry', '')],
51
+ ruby: [o('bundler', 'bundler', '')],
52
+ go: [o('go modules', 'go', '')],
53
+ php: [o('composer', 'composer', '')],
54
+ };
55
+ const TESTING = {
56
+ typescript: [o('Vitest', 'vitest', 'Unit+integration'), o('Jest', 'jest', ''), o('Playwright', 'playwright', 'E2E'), o('Cypress', 'cypress', 'E2E'), o('None', 'none', 'Skip')],
57
+ python: [o('pytest', 'pytest', ''), o('None', 'none', 'Skip')],
58
+ ruby: [o('RSpec', 'rspec', ''), o('None', 'none', 'Skip')],
59
+ php: [o('PHPUnit', 'phpunit', ''), o('None', 'none', 'Skip')],
60
+ };
61
+ const RUNTIMES = [o('Claude Code', 'claude-code', 'Recommended'), o('OpenCode', 'opencode', ''), o('Codex CLI', 'codex', ''), o('Kiro IDE', 'kiro', '')];
62
+ const PROFILE_MAP = { hono: 'hono-drizzle', nextjs: 'nextjs-admin', astro: 'astro', fastapi: 'fastapi', rails: 'rails', laravel: 'laravel' };
63
+ const toSlug = (s) => s.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '');
64
+ // ─── Main ─────────────────────────────────────────────────────────────────────
65
+ export async function runOpenTUIWizard() {
66
+ const detected = detectStack(process.cwd());
67
+ const renderer = await createCliRenderer({ exitOnCtrlC: true });
68
+ const W = renderer.root.width ?? process.stdout.columns ?? 120;
69
+ const H = renderer.root.height ?? process.stdout.rows ?? 40;
70
+ const HEADER_H = 5;
71
+ const BOTTOM_H = 2;
72
+ const BODY_H = H - HEADER_H - BOTTOM_H - 2;
73
+ const LEFT_W = Math.max(24, Math.floor(W * 0.25));
74
+ const RIGHT_W = W - LEFT_W - 1;
75
+ // ── Header panel ──
76
+ const header = new BoxRenderable(renderer, {
77
+ id: 'hdr', position: 'absolute', left: 0, top: 0,
78
+ width: W, height: HEADER_H,
79
+ border: true, borderStyle: 'double', borderColor: C.cyan,
80
+ backgroundColor: C.bg,
81
+ flexDirection: 'column', paddingLeft: 1, paddingTop: 1,
82
+ });
83
+ header.add(Text({ id: 'hdr-t',
84
+ content: col(C.yellow, bold('forge')) + dim(' v2.6.2') + '\n' +
85
+ col(C.muted, 'Configure any project for AI agents') + '\n' +
86
+ dim('Claude Code · OpenCode · Codex · Kiro'),
87
+ }));
88
+ renderer.root.add(header);
89
+ // ── Steps panel (left) ──
90
+ const stepsPanel = new BoxRenderable(renderer, {
91
+ id: 'stp', position: 'absolute',
92
+ left: 0, top: HEADER_H + 1, width: LEFT_W, height: BODY_H,
93
+ border: true, borderStyle: 'single', borderColor: C.dim,
94
+ backgroundColor: C.bgPanel,
95
+ title: ' Steps ',
96
+ flexDirection: 'column', paddingLeft: 1, paddingTop: 1,
97
+ });
98
+ renderer.root.add(stepsPanel);
99
+ // ── Content panel (right) — flex column, widgets go here ──
100
+ const contentPanel = new BoxRenderable(renderer, {
101
+ id: 'cnt', position: 'absolute',
102
+ left: LEFT_W + 1, top: HEADER_H + 1, width: RIGHT_W, height: BODY_H,
103
+ border: true, borderStyle: 'single', borderColor: C.cyan,
104
+ backgroundColor: C.bg,
105
+ flexDirection: 'column', gap: 1, paddingLeft: 1, paddingRight: 1, paddingTop: 1,
106
+ });
107
+ renderer.root.add(contentPanel);
108
+ // ── Bottom hints ──
109
+ const bottom = new BoxRenderable(renderer, {
110
+ id: 'btm', position: 'absolute',
111
+ left: 0, top: H - BOTTOM_H, width: W, height: BOTTOM_H,
112
+ backgroundColor: C.bgPanel,
113
+ paddingLeft: 1,
114
+ });
115
+ bottom.add(Text({ id: 'btm-t', content: dim('[↑↓] Navigate [Enter] Confirm [Ctrl+C] Cancel') }));
116
+ renderer.root.add(bottom);
117
+ // ─── Helpers ─────────────────────────────────────────────────────────────────
118
+ let currentStep = 0;
119
+ function renderSteps() {
120
+ stepsPanel.remove('stp-list');
121
+ const lines = STEPS.map((s, i) => {
122
+ if (i < currentStep)
123
+ return col(C.green, `✔ ${i + 1}. ${s}`);
124
+ if (i === currentStep)
125
+ return col(C.cyan, `► ${bold(String(i + 1))}. ${bold(s)}`);
126
+ return col(C.muted, ` ${i + 1}. ${s}`);
127
+ }).join('\n');
128
+ stepsPanel.add(Text({ id: 'stp-list', content: lines }));
129
+ }
130
+ function clearContent() {
131
+ // Remove all children from content panel
132
+ for (const child of [...contentPanel.getChildren()]) {
133
+ try {
134
+ contentPanel.remove(child.id ?? '');
135
+ }
136
+ catch { }
137
+ }
138
+ }
139
+ // ─── askInput — widget as CHILD of contentPanel ───────────────────────────────
140
+ async function askInput(title, hint = '', defVal = '') {
141
+ return new Promise(resolve => {
142
+ renderSteps();
143
+ clearContent();
144
+ // Label
145
+ contentPanel.add(Text({ id: 'q-label',
146
+ content: col(C.white, bold(title)) + (hint ? '\n' + dim(hint) : ''),
147
+ }));
148
+ // Input widget — flex child, takes full width of content panel
149
+ const input = new InputRenderable(renderer, {
150
+ id: 'q-input',
151
+ width: RIGHT_W - 4,
152
+ backgroundColor: C.bgInput,
153
+ focusedBackgroundColor: C.bgFocus,
154
+ focusedTextColor: C.cyan,
155
+ placeholder: defVal || 'Type here and press Enter...',
156
+ placeholderColor: C.muted,
157
+ });
158
+ contentPanel.add(input);
159
+ renderer.focusRenderable(input);
160
+ input.on('enter', () => {
161
+ const val = input.value?.trim() || defVal;
162
+ resolve(val);
163
+ });
164
+ });
165
+ }
166
+ // ─── askSelect — SelectRenderable as CHILD of contentPanel ────────────────────
167
+ async function askSelect(title, hint, options, initialValue) {
168
+ return new Promise(resolve => {
169
+ renderSteps();
170
+ clearContent();
171
+ contentPanel.add(Text({ id: 'q-label',
172
+ content: col(C.white, bold(title)) + (hint ? '\n' + dim(hint) : ''),
173
+ }));
174
+ const initIdx = initialValue
175
+ ? Math.max(0, options.findIndex((o) => o.value === initialValue))
176
+ : 0;
177
+ const sel = new SelectRenderable(renderer, {
178
+ id: 'q-select',
179
+ width: RIGHT_W - 4,
180
+ height: Math.min(options.length + 2, BODY_H - 8),
181
+ options,
182
+ selectedIndex: initIdx,
183
+ backgroundColor: C.bgPanel,
184
+ focusedBackgroundColor: '#1c3a5e',
185
+ focusedTextColor: C.cyan,
186
+ selectedBackgroundColor: '#162032',
187
+ selectedTextColor: C.yellow,
188
+ showDescription: true,
189
+ descriptionColor: C.muted,
190
+ });
191
+ contentPanel.add(sel);
192
+ renderer.focusRenderable(sel);
193
+ sel.on('itemSelected', () => {
194
+ const val = sel.getSelectedOption()?.value ?? options[0].value;
195
+ resolve(val);
196
+ });
197
+ });
198
+ }
199
+ // ─── Wizard steps ─────────────────────────────────────────────────────────────
200
+ const ans = { testing: detected.testing ?? [], detected: !!(detected.language || detected.backend) };
201
+ ans.name = await askInput('Project name', 'Enter a name for your project');
202
+ if (!ans.name)
203
+ ans.name = 'My Project';
204
+ ans.slug = toSlug(ans.name);
205
+ currentStep = 1;
206
+ ans.language = await askSelect('Language', 'Primary programming language', [
207
+ o('TypeScript', 'typescript', 'Recommended'), o('Python', 'python', ''),
208
+ o('Ruby', 'ruby', ''), o('Go', 'go', ''), o('PHP', 'php', ''),
209
+ ], detected.language ?? 'typescript');
210
+ currentStep = 2;
211
+ ans.mode = await askSelect('Project mode', 'Determines agents and guardrails', [
212
+ o('startup', 'startup', 'Minimal — small team'),
213
+ o('standard', 'standard', 'CI/CD, code review, testing'),
214
+ o('enterprise', 'enterprise', 'Compliance, multi-team, audits'),
215
+ ], 'standard');
216
+ currentStep = 3;
217
+ const backendOpts = BACKENDS[ans.language] ?? [o('None', 'none', '')];
218
+ const backend = await askSelect('Backend framework', 'Select backend (or None)', backendOpts, detected.backend ?? 'none');
219
+ ans.backend = backend === 'none' ? undefined : backend;
220
+ currentStep = 4;
221
+ const frontend = await askSelect('Frontend framework', 'Select frontend (or None)', FRONTENDS, detected.frontend ?? 'none');
222
+ ans.frontend = frontend === 'none' ? undefined : frontend;
223
+ currentStep = 5;
224
+ const database = await askSelect('Database', 'Select primary database', DATABASES, detected.database ?? 'postgresql');
225
+ ans.database = database === 'none' ? undefined : database;
226
+ currentStep = 6;
227
+ if (ans.database) {
228
+ const ormOpts = ORMS[ans.language] ?? [o('None', 'none', '')];
229
+ const orm = await askSelect('ORM / query builder', 'Select ORM', ormOpts, detected.orm ?? 'none');
230
+ ans.orm = orm === 'none' ? undefined : orm;
231
+ }
232
+ currentStep = 7;
233
+ const pmOpts = PKG[ans.language] ?? [o('npm', 'npm', '')];
234
+ ans.packageManager = await askSelect('Package manager', 'Select package manager', pmOpts, detected.packageManager ?? 'pnpm');
235
+ currentStep = 8;
236
+ const testOpts = TESTING[ans.language] ?? [o('None', 'none', 'Skip')];
237
+ const test = await askSelect('Testing', 'Select primary testing framework', testOpts, (detected.testing ?? [])[0] ?? 'none');
238
+ ans.testing = test === 'none' ? [] : [test];
239
+ currentStep = 9;
240
+ ans.runtime = await askSelect('AI Runtime', 'Primary AI coding assistant', RUNTIMES, 'claude-code');
241
+ currentStep = 10;
242
+ // ── Confirm ──
243
+ renderSteps();
244
+ clearContent();
245
+ const summaryLines = [
246
+ col(C.white, bold('Configuration summary')), '',
247
+ ` ${col(C.muted, 'Name:')} ${col(C.yellow, ans.name)}`,
248
+ ` ${col(C.muted, 'Language:')} ${ans.language} ${col(C.muted, 'Mode:')} ${ans.mode}`,
249
+ ans.backend ? ` ${col(C.muted, 'Backend:')} ${ans.backend}` : '',
250
+ ans.frontend ? ` ${col(C.muted, 'Frontend:')} ${ans.frontend}` : '',
251
+ ans.database ? ` ${col(C.muted, 'DB:')} ${ans.database}${ans.orm ? ' + ' + ans.orm : ''}` : '',
252
+ ans.testing?.length ? ` ${col(C.muted, 'Testing:')} ${ans.testing.join(', ')}` : '',
253
+ ` ${col(C.muted, 'Runtime:')} ${ans.runtime}`,
254
+ ].filter(Boolean).join('\n');
255
+ contentPanel.add(Text({ id: 'q-label', content: summaryLines }));
256
+ const confirmed = await askSelect('', 'Install with this configuration?', [
257
+ o('✔ Yes, install forge', 'yes', ''),
258
+ o('✗ Cancel', 'no', ''),
259
+ ]) === 'yes';
260
+ if (!confirmed) {
261
+ renderer.destroy();
262
+ return null;
263
+ }
264
+ // Done
265
+ renderSteps();
266
+ clearContent();
267
+ contentPanel.add(Text({ id: 'q-label',
268
+ content: '\n\n' + col(C.green, bold(' ✔ Configuration complete')) + '\n' + dim(' Installing forge...'),
269
+ }));
270
+ await new Promise(r => setTimeout(r, 500));
271
+ renderer.destroy();
272
+ const profiles = [];
273
+ if (ans.backend && PROFILE_MAP[ans.backend])
274
+ profiles.push(PROFILE_MAP[ans.backend]);
275
+ if (ans.frontend && PROFILE_MAP[ans.frontend])
276
+ profiles.push(PROFILE_MAP[ans.frontend]);
277
+ return {
278
+ name: ans.name, slug: ans.slug, description: '', language: ans.language,
279
+ mode: ans.mode, backend: ans.backend, frontend: ans.frontend,
280
+ database: ans.database, orm: ans.orm, packageManager: ans.packageManager,
281
+ testing: ans.testing, profiles: [...new Set(profiles)],
282
+ runtime: ans.runtime, detected: ans.detected,
283
+ };
284
+ }
285
+ //# sourceMappingURL=wizard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/tui/wizard.ts"],"names":[],"mappings":"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"}
package/dist/ui/header.js CHANGED
@@ -2,7 +2,7 @@ import boxen from 'boxen';
2
2
  import chalk from 'chalk';
3
3
  const VERSION = '2.4.2';
4
4
  export function printHeader() {
5
- const content = chalk.yellow.bold('forge') + ' ' + chalk.dim('v' + '2.5.0') + '\n' +
5
+ const content = chalk.yellow.bold('forge') + ' ' + chalk.dim('v' + '2.6.2') + '\n' +
6
6
  chalk.dim('Configure any project for AI agents') + '\n' +
7
7
  chalk.dim('Claude Code · OpenCode · Codex · Kiro');
8
8
  const output = boxen(content, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cristiancorreau/forge",
3
- "version": "2.5.0",
3
+ "version": "2.6.2",
4
4
  "description": "Agentic development framework — multi-runtime support for Claude Code, OpenCode, Codex and Kiro",
5
5
  "author": "Cristian Correa <cristian@socialweb.cl>",
6
6
  "license": "Apache-2.0",
@@ -47,6 +47,7 @@
47
47
  },
48
48
  "dependencies": {
49
49
  "@clack/prompts": "^0.9.1",
50
+ "@opentui/core": "^0.3.1",
50
51
  "ajv": "^8.20.0",
51
52
  "ajv-formats": "^3.0.1",
52
53
  "boxen": "^8.0.1",