ai-dev-analytics 1.1.0 → 1.1.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.
Files changed (92) hide show
  1. package/README.md +30 -12
  2. package/README.zh-CN.md +30 -12
  3. package/dist/cli/commands/build.d.ts.map +1 -1
  4. package/dist/cli/commands/build.js +3 -18
  5. package/dist/cli/commands/build.js.map +1 -1
  6. package/dist/cli/commands/import.d.ts.map +1 -1
  7. package/dist/cli/commands/import.js +45 -3
  8. package/dist/cli/commands/import.js.map +1 -1
  9. package/dist/cli/commands/init.d.ts.map +1 -1
  10. package/dist/cli/commands/init.js +18 -86
  11. package/dist/cli/commands/init.js.map +1 -1
  12. package/dist/cli/commands/log.d.ts.map +1 -1
  13. package/dist/cli/commands/log.js +4 -3
  14. package/dist/cli/commands/log.js.map +1 -1
  15. package/dist/cli/commands/memory.d.ts +2 -0
  16. package/dist/cli/commands/memory.d.ts.map +1 -0
  17. package/dist/cli/commands/memory.js +197 -0
  18. package/dist/cli/commands/memory.js.map +1 -0
  19. package/dist/cli/commands/merge.d.ts.map +1 -1
  20. package/dist/cli/commands/merge.js +2 -0
  21. package/dist/cli/commands/merge.js.map +1 -1
  22. package/dist/cli/commands/migrate-dir.d.ts +4 -0
  23. package/dist/cli/commands/migrate-dir.d.ts.map +1 -1
  24. package/dist/cli/commands/migrate-dir.js +50 -12
  25. package/dist/cli/commands/migrate-dir.js.map +1 -1
  26. package/dist/cli/commands/migrate-legacy.d.ts +2 -0
  27. package/dist/cli/commands/migrate-legacy.d.ts.map +1 -0
  28. package/dist/cli/commands/migrate-legacy.js +113 -0
  29. package/dist/cli/commands/migrate-legacy.js.map +1 -0
  30. package/dist/cli/commands/rules.d.ts.map +1 -1
  31. package/dist/cli/commands/rules.js +12 -15
  32. package/dist/cli/commands/rules.js.map +1 -1
  33. package/dist/cli/commands/skills.d.ts.map +1 -1
  34. package/dist/cli/commands/skills.js +7 -7
  35. package/dist/cli/commands/skills.js.map +1 -1
  36. package/dist/cli/commands/start.d.ts.map +1 -1
  37. package/dist/cli/commands/start.js +9 -23
  38. package/dist/cli/commands/start.js.map +1 -1
  39. package/dist/cli/commands/update.d.ts.map +1 -1
  40. package/dist/cli/commands/update.js +15 -109
  41. package/dist/cli/commands/update.js.map +1 -1
  42. package/dist/cli/index.js +12 -0
  43. package/dist/cli/index.js.map +1 -1
  44. package/dist/mcp/server.d.ts.map +1 -1
  45. package/dist/mcp/server.js +266 -3
  46. package/dist/mcp/server.js.map +1 -1
  47. package/dist/schemas/aida-project.d.ts +73 -0
  48. package/dist/schemas/aida-project.d.ts.map +1 -0
  49. package/dist/schemas/aida-project.js +2 -0
  50. package/dist/schemas/aida-project.js.map +1 -0
  51. package/dist/utils/ai-build.d.ts +7 -3
  52. package/dist/utils/ai-build.d.ts.map +1 -1
  53. package/dist/utils/ai-build.js +131 -24
  54. package/dist/utils/ai-build.js.map +1 -1
  55. package/dist/utils/guide.d.ts.map +1 -1
  56. package/dist/utils/guide.js +17 -11
  57. package/dist/utils/guide.js.map +1 -1
  58. package/dist/utils/import.d.ts +21 -8
  59. package/dist/utils/import.d.ts.map +1 -1
  60. package/dist/utils/import.js +100 -15
  61. package/dist/utils/import.js.map +1 -1
  62. package/dist/utils/memory.d.ts +49 -0
  63. package/dist/utils/memory.d.ts.map +1 -0
  64. package/dist/utils/memory.js +657 -0
  65. package/dist/utils/memory.js.map +1 -0
  66. package/dist/utils/paths.d.ts +22 -0
  67. package/dist/utils/paths.d.ts.map +1 -1
  68. package/dist/utils/paths.js +48 -1
  69. package/dist/utils/paths.js.map +1 -1
  70. package/dist/utils/prompt.d.ts +15 -0
  71. package/dist/utils/prompt.d.ts.map +1 -0
  72. package/dist/utils/prompt.js +193 -0
  73. package/dist/utils/prompt.js.map +1 -0
  74. package/dist/utils/rules.d.ts +5 -2
  75. package/dist/utils/rules.d.ts.map +1 -1
  76. package/dist/utils/rules.js +54 -48
  77. package/dist/utils/rules.js.map +1 -1
  78. package/dist/utils/skills.d.ts +6 -0
  79. package/dist/utils/skills.d.ts.map +1 -1
  80. package/dist/utils/skills.js +10 -3
  81. package/dist/utils/skills.js.map +1 -1
  82. package/package.json +1 -1
  83. package/src/assets/skills/audit.md +6 -6
  84. package/src/assets/skills/bug-fixer.md +3 -3
  85. package/src/assets/skills/code-generator.md +3 -3
  86. package/src/assets/skills/dev-flower.md +2 -2
  87. package/src/assets/skills/deviation-recorder.md +5 -5
  88. package/src/assets/skills/requirement-analyzer.md +2 -2
  89. package/src/assets/skills/rules-evolver.md +5 -5
  90. package/src/assets/skills/self-reviewer.md +3 -3
  91. package/src/assets/skills/task-splitter.md +2 -2
  92. package/src/assets/skills/workflow-orchestrator.md +9 -9
package/README.md CHANGED
@@ -14,7 +14,7 @@ One line to integrate. Zero workflow changes.
14
14
  { "mcpServers": { "aida": { "command": "npx", "args": ["-y", "ai-dev-analytics", "mcp"] } } }
15
15
  ```
16
16
 
17
- [![npm version](https://img.shields.io/badge/npm-v1.1.0-0066ff)](https://www.npmjs.com/package/ai-dev-analytics)
17
+ [![npm version](https://img.shields.io/badge/npm-v1.1.1-0066ff)](https://www.npmjs.com/package/ai-dev-analytics)
18
18
  [![license](https://img.shields.io/github/license/LWTlong/ai-dev-analytics?color=%23333)](./LICENSE)
19
19
  [![node](https://img.shields.io/node/v/ai-dev-analytics?color=%23339933)](https://nodejs.org)
20
20
  [![tests](https://img.shields.io/badge/tests-passing-brightgreen)](#testing)
@@ -60,7 +60,7 @@ Vibe Coding Session
60
60
  "9 deviations → 56% hallucination, 44% rule-missing"
61
61
 
62
62
  Deviation patterns identified → AI suggests rules → user confirms → sedimented
63
- .aida/rules/ ← your AI's growing knowledge base
63
+ .aida/rules.json ← your AI's growing knowledge base
64
64
 
65
65
  AI reads rules next session → same mistakes eliminated
66
66
 
@@ -86,7 +86,7 @@ Vibe Coding Session
86
86
 
87
87
  ![Deviation & Rule Trend](https://raw.githubusercontent.com/LWTlong/ai-dev-analytics/main/docs/deviation-rule-trend.png)
88
88
 
89
- The `.aida/rules/` directory is your **project-specific AI knowledge base**. It grows with every run. The more you use AI, the smarter it gets at *your* project.
89
+ The `.aida/rules.json` file is your **project-specific AI knowledge base**. It grows with every run. The more you use AI, the smarter it gets at *your* project.
90
90
 
91
91
  ---
92
92
 
@@ -267,7 +267,7 @@ flowchart LR
267
267
  A["Your AI Tool\nClaude Code / Cursor"] -->|Vibe Coding| B{"AIDA MCP Server\n10 Tools"}
268
268
  B -->|Silent Data Collection| C[".aida/run.json"]
269
269
  C -->|Visualization| D["Dashboard\nlocalhost:2375"]
270
- C -->|Pattern Analysis| E[".aida/rules/"]
270
+ C -->|Pattern Analysis| E[".aida/rules.json"]
271
271
  E -->|AI Reads Rules| A
272
272
  ```
273
273
 
@@ -300,7 +300,7 @@ All data is local JSON. No database, no cloud.
300
300
  | **Run** | `.aida/runs/{branch}/{dev}/run.json` | Every task, bug, deviation, review, file change |
301
301
  | **Branch** | `.aida/runs/{branch}/requirement.json` | Aggregated stats per requirement |
302
302
  | **Project** | `.aida/index.json` | Cross-branch overview for team leads |
303
- | **Rules** | `.aida/rules/` | Sedimented project rules — your AI's growing knowledge base |
303
+ | **Rules** | `.aida/rules.json` | Sedimented project rules — your AI's growing knowledge base |
304
304
 
305
305
  All structured JSON — ready for export, analysis, or feeding into reports.
306
306
 
@@ -345,12 +345,14 @@ Every step produces structured data. Every deviation can become a rule. The SOP
345
345
 
346
346
  ```bash
347
347
  aida init # Interactive project setup
348
+ aida migrate-legacy # Upgrade legacy .aidevos project in one command
348
349
  aida start # Create a new development run
349
350
  aida status # Show current run status
350
351
  aida dashboard # Launch dashboard (default port 2375)
351
352
  aida dashboard --port 3000 # Custom port
352
353
  aida mcp # Start MCP server (for AI tool config)
353
354
  aida log <subcommand> # Write structured data (task, bug, review, etc.)
355
+ aida memory <subcommand> # Rebuild/search/show project memory
354
356
  aida reindex # Rebuild project-level index
355
357
  aida report # Generate performance report
356
358
  aida rules build # Generate rule view files from registry
@@ -360,6 +362,8 @@ aida update # Update skills to latest version
360
362
  aida migrate # Migrate old data to current schema
361
363
  ```
362
364
 
365
+ `aida init` and `aida build` now use interactive multi-select prompts in TTY terminals, with automatic fallback to comma-separated numeric input in non-interactive environments.
366
+
363
367
  </details>
364
368
 
365
369
  <details>
@@ -369,7 +373,7 @@ AIDA uses [Model Context Protocol](https://modelcontextprotocol.io/) — the sta
369
373
 
370
374
  **What happens when you add the config:**
371
375
 
372
- 1. Your AI tool discovers AIDA's 10 tools via MCP
376
+ 1. Your AI tool discovers AIDA's data + memory tools via MCP
373
377
  2. As the AI works, it naturally calls `aida_task_start`, `aida_log_files`, etc.
374
378
  3. Data flows into `run.json` silently
375
379
  4. Deviation patterns emerge → AI suggests rules → user confirms → sedimented
@@ -389,15 +393,29 @@ Rules are the compounding asset of AIDA. Here's how they work in a team setting.
389
393
 
390
394
  ```
391
395
  .aida/rules.json ← source of truth, committed to git
396
+ .aida/skills.json ← source of truth, committed to git
397
+ .aida/tool-configs.json ← source of truth for imported tool configs, gitignored
398
+ .aida/memories/index.json ← module memory index, committed to git
399
+ .aida/memories/modules/*.json ← module memory source, committed to git
400
+ .aida/runs/*/context.json ← branch context source, committed to git
392
401
 
393
- aida rules build
402
+ aida build
394
403
 
395
- .aida/rules/*.md auto-generated views, gitignored
404
+ .aida/memories/modules/*.md + .aida/runs/*/context.md ← generated views, gitignored
405
+ .claude/.cursor/.codex/.lingma tool artifacts ← generated locally, gitignored
396
406
 
397
- AI reads rules next session
407
+ AI reads its own tool files next session
398
408
  ```
399
409
 
400
- `aida init` automatically adds `.aida/rules/*.md` to your `.gitignore`. Never edit the `.md` files manually they are always regenerated from `rules.json`.
410
+ `aida build` writes generated rules, skills, memory views, and MCP config into each configured AI tool directory or AIDA view directory. Never edit generated `.md` files manually.
411
+
412
+ Legacy migration note:
413
+ - `aida migrate-legacy` now also migrates historical `run.json`, `requirement.json`, and `analysis.md` into `.aida/runs/*/context.json` and `.aida/memories/modules/*.json`
414
+ - old `report` files remain derived output; new context recovery uses the migrated JSON memory source
415
+
416
+ Runtime recovery note:
417
+ - before coding, search module memory and prefer the branch-level `.aida/runs/*/memory.md` pack or MCP `aida_memory_pack`
418
+ - if the branch context is missing or stale, rebuild it with `aida memory rebuild` or MCP `aida_context_rebuild`
401
419
 
402
420
  ### Daily workflow
403
421
 
@@ -405,7 +423,7 @@ After pulling changes that include new rules:
405
423
 
406
424
  ```bash
407
425
  git pull
408
- aida rules build # regenerate local rule views from updated rules.json
426
+ aida build # regenerate local AI tool artifacts from updated JSON sources
409
427
  ```
410
428
 
411
429
  ### Merge conflict resolution
@@ -415,7 +433,7 @@ When two developers add rules on separate branches and merge, `rules.json` may g
415
433
  ```bash
416
434
  # After git merge produces a conflict in rules.json:
417
435
  aida rules merge # fingerprint union — no duplicates, no lost rules
418
- aida rules build # rebuild .md views
436
+ aida build # rebuild local AI tool artifacts
419
437
  git add .aida/rules.json
420
438
  git commit -m "merge: resolve rules conflict"
421
439
  ```
package/README.zh-CN.md CHANGED
@@ -14,7 +14,7 @@
14
14
  { "mcpServers": { "aida": { "command": "npx", "args": ["-y", "ai-dev-analytics", "mcp"] } } }
15
15
  ```
16
16
 
17
- [![npm version](https://img.shields.io/badge/npm-v1.1.0-0066ff)](https://www.npmjs.com/package/ai-dev-analytics)
17
+ [![npm version](https://img.shields.io/badge/npm-v1.1.1-0066ff)](https://www.npmjs.com/package/ai-dev-analytics)
18
18
  [![license](https://img.shields.io/github/license/LWTlong/ai-dev-analytics?color=%23333)](./LICENSE)
19
19
  [![node](https://img.shields.io/node/v/ai-dev-analytics?color=%23339933)](https://nodejs.org)
20
20
  [![tests](https://img.shields.io/badge/tests-passing-brightgreen)](#测试)
@@ -60,7 +60,7 @@ Vibe Coding 过程
60
60
  "9 个偏差 → 56% 幻觉, 44% 规则缺失"
61
61
 
62
62
  发现偏差规律 → AI 建议沉淀规则 → 用户确认 → 写入规则库
63
- .aida/rules/ ← 你的 AI 知识库在成长
63
+ .aida/rules.json ← 你的 AI 知识库在成长
64
64
 
65
65
  AI 下次读取规则 → 同样的错误被消除
66
66
 
@@ -86,7 +86,7 @@ Vibe Coding 过程
86
86
 
87
87
  ![偏差与规则趋势](https://raw.githubusercontent.com/LWTlong/ai-dev-analytics/main/docs/deviation-rule-trend.png)
88
88
 
89
- `.aida/rules/` 目录就是你的**项目专属 AI 知识库**。用 AI 写得越多,它对*你的项目*就越懂。
89
+ `.aida/rules.json` 就是你的**项目专属 AI 知识库**。用 AI 写得越多,它对*你的项目*就越懂。
90
90
 
91
91
  ---
92
92
 
@@ -267,7 +267,7 @@ flowchart LR
267
267
  A["你的 AI 工具\nClaude Code / Cursor"] -->|Vibe Coding| B{"AIDA MCP Server\n10 个工具"}
268
268
  B -->|静默采集| C[".aida/run.json"]
269
269
  C -->|可视化| D["数据看板\nlocalhost:2375"]
270
- C -->|模式分析| E[".aida/rules/"]
270
+ C -->|模式分析| E[".aida/rules.json"]
271
271
  E -->|AI 读取规则| A
272
272
  ```
273
273
 
@@ -300,7 +300,7 @@ AI 工具在工作时自动调用 MCP 工具。你不需要手动操作 ——
300
300
  | **运行** | `.aida/runs/{分支}/{开发者}/run.json` | 每个任务、Bug、偏差、审查、文件变更 |
301
301
  | **分支** | `.aida/runs/{分支}/requirement.json` | 分支聚合统计 |
302
302
  | **项目** | `.aida/index.json` | 跨分支总览 |
303
- | **规则** | `.aida/rules/` | 沉淀的项目规则 —— AI 持续增长的知识库 |
303
+ | **规则** | `.aida/rules.json` | 沉淀的项目规则 —— AI 持续增长的知识库 |
304
304
 
305
305
  全是结构化 JSON —— 随时可导出、可分析、可生成汇报。
306
306
 
@@ -345,12 +345,14 @@ PRD 接入 → 需求分析 → 任务拆分
345
345
 
346
346
  ```bash
347
347
  aida init # 交互式初始化
348
+ aida migrate-legacy # 一条命令升级旧 .aidevos 项目
348
349
  aida start # 创建新的开发运行
349
350
  aida status # 查看当前运行状态
350
351
  aida dashboard # 启动数据看板(默认端口 2375)
351
352
  aida dashboard --port 3000 # 自定义端口
352
353
  aida mcp # 启动 MCP 服务(供 AI 工具配置)
353
354
  aida log <子命令> # 写入结构化数据(task, bug, review 等)
355
+ aida memory <子命令> # 重建 / 检索 / 查看项目记忆
354
356
  aida reindex # 重建项目级索引
355
357
  aida report # 生成效能报告
356
358
  aida rules build # 从注册表生成规则视图文件
@@ -360,6 +362,8 @@ aida update # 更新 Skills 到最新版本
360
362
  aida migrate # 迁移旧数据到当前 schema
361
363
  ```
362
364
 
365
+ `aida init` 和 `aida build` 现在在 TTY 终端中使用真正的多选交互;在非交互环境里会自动回退为逗号分隔数字输入,便于脚本和 CI 使用。
366
+
363
367
  </details>
364
368
 
365
369
  <details>
@@ -369,7 +373,7 @@ AIDA 使用 [Model Context Protocol](https://modelcontextprotocol.io/) —— AI
369
373
 
370
374
  **加完配置后发生了什么:**
371
375
 
372
- 1. 你的 AI 工具通过 MCP 发现 AIDA 的 10 个工具
376
+ 1. 你的 AI 工具通过 MCP 发现 AIDA 的数据采集和记忆恢复工具
373
377
  2. AI 工作时自然地调用 `aida_task_start`、`aida_log_files` 等
374
378
  3. 数据静默写入 `run.json`
375
379
  4. 偏差模式浮现 → AI 建议沉淀规则 → 用户确认 → 写入规则库
@@ -389,15 +393,29 @@ AIDA 使用 [Model Context Protocol](https://modelcontextprotocol.io/) —— AI
389
393
 
390
394
  ```
391
395
  .aida/rules.json ← 唯一数据源,提交到 git
396
+ .aida/skills.json ← 唯一数据源,提交到 git
397
+ .aida/tool-configs.json ← 导入后的工具配置源,加入 gitignore
398
+ .aida/memories/index.json ← 模块记忆索引,提交到 git
399
+ .aida/memories/modules/*.json ← 模块记忆真源,提交到 git
400
+ .aida/runs/*/context.json ← 分支上下文真源,提交到 git
392
401
 
393
- aida rules build
402
+ aida build
394
403
 
395
- .aida/rules/*.md 自动生成的视图文件,加入 gitignore
404
+ .aida/memories/modules/*.md + .aida/runs/*/context.md 自动生成的阅读视图,加入 gitignore
405
+ .claude/.cursor/.codex/.lingma 下的本地工具产物 ← 自动生成,加入 gitignore
396
406
 
397
- AI 下次读取规则
407
+ AI 下次直接读取自己工具目录中的文件
398
408
  ```
399
409
 
400
- `aida init` 会自动将 `.aida/rules/*.md` 写入 `.gitignore`。不要手动编辑 `.md` 文件——它们始终由 `rules.json` 重新生成。
410
+ `aida build` 会把规则、skills、记忆阅读视图、MCP 配置分发到各 AI 工具目录或 `.aida` 视图目录。不要手动编辑这些生成的 `.md` 文件。
411
+
412
+ 旧项目迁移说明:
413
+ - `aida migrate-legacy` 现在会把历史 `run.json`、`requirement.json`、`analysis.md` 一起迁成 `.aida/runs/*/context.json` 和 `.aida/memories/modules/*.json`
414
+ - 旧 `report` 文件仍然只是派生输出;新的上下文恢复依赖迁移后的 JSON 记忆真源
415
+
416
+ 运行时恢复说明:
417
+ - 编码前先检索模块记忆,优先读取分支级 `.aida/runs/*/memory.md` 聚合视图或 MCP `aida_memory_pack`
418
+ - 如果分支上下文缺失或过旧,使用 `aida memory rebuild` 或 MCP `aida_context_rebuild` 重建
401
419
 
402
420
  ### 日常流程
403
421
 
@@ -405,7 +423,7 @@ AI 下次读取规则
405
423
 
406
424
  ```bash
407
425
  git pull
408
- aida rules build # 从更新后的 rules.json 重新生成本地规则视图
426
+ aida build # 从更新后的 JSON 数据源重新生成本地 AI 工具产物
409
427
  ```
410
428
 
411
429
  ### 合并冲突处理
@@ -415,7 +433,7 @@ aida rules build # 从更新后的 rules.json 重新生成本地规则视图
415
433
  ```bash
416
434
  # git merge 在 rules.json 产生冲突后执行:
417
435
  aida rules merge # 按 fingerprint 做并集——不丢规则,不产生重复
418
- aida rules build # 重建 .md 视图
436
+ aida build # 重建本地 AI 工具产物
419
437
  git add .aida/rules.json
420
438
  git commit -m "merge: resolve rules conflict"
421
439
  ```
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAoCA,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAoC3C"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAsBA,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAoC3C"}
@@ -1,9 +1,8 @@
1
- import * as readline from 'node:readline/promises';
2
- import { stdin, stdout } from 'node:process';
3
1
  import { green, red, yellow } from '../../utils/display.js';
4
2
  import { buildProjectArtifacts, readConfiguredTools } from '../../utils/ai-build.js';
5
3
  import { configPath } from '../../utils/paths.js';
6
4
  import { fileExists } from '../../utils/fs.js';
5
+ import { promptMultiSelect } from '../../utils/prompt.js';
7
6
  function requestedTools() {
8
7
  return process.argv.slice(3);
9
8
  }
@@ -11,21 +10,7 @@ async function selectTools(configured) {
11
10
  const requested = requestedTools();
12
11
  if (requested.length > 0)
13
12
  return requested;
14
- console.log('\n Select AI tools to build (comma-separated numbers, Enter = all):\n');
15
- configured.forEach((tool, index) => {
16
- console.log(` ${index + 1}) ${tool}`);
17
- });
18
- console.log('');
19
- const rl = readline.createInterface({ input: stdin, output: stdout });
20
- const answer = (await rl.question(' > ')).trim();
21
- rl.close();
22
- if (!answer)
23
- return configured;
24
- const indices = answer
25
- .split(',')
26
- .map((item) => parseInt(item.trim(), 10))
27
- .filter((num) => num >= 1 && num <= configured.length);
28
- const selected = [...new Set(indices.map((num) => configured[num - 1]))];
13
+ const selected = await promptMultiSelect('Select AI tools to build:', configured.map((tool) => ({ value: tool, label: tool })), { required: false });
29
14
  return selected.length > 0 ? selected : configured;
30
15
  }
31
16
  export async function build() {
@@ -42,7 +27,7 @@ export async function build() {
42
27
  const targets = await selectTools(configured);
43
28
  const result = buildProjectArtifacts(projectRoot, targets);
44
29
  console.log(green('\n ✓ AIDA build completed') +
45
- `: ${result.ruleViews} rule views, ${result.skillViews} skill views, ${result.commandFiles} tool command files\n`);
30
+ `: ${result.ruleFiles} rule files, ${result.skillFiles} skill files, ${result.commandFiles} tool command files\n`);
46
31
  if (result.tools.length > 0) {
47
32
  console.log(` Targets: ${result.tools.join(', ')}`);
48
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/import.ts"],"names":[],"mappings":"AAMA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA8BnD"}
1
+ {"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/import.ts"],"names":[],"mappings":"AAwBA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA+DnD"}
@@ -1,15 +1,57 @@
1
1
  import { green, red, yellow } from '../../utils/display.js';
2
2
  import { configPath } from '../../utils/paths.js';
3
3
  import { fileExists } from '../../utils/fs.js';
4
- import { importProjectSources } from '../../utils/import.js';
4
+ import { importProjectSources, importProjectSourcesWithBaseline } from '../../utils/import.js';
5
5
  import { buildProjectArtifacts } from '../../utils/ai-build.js';
6
+ function requestedBaseline() {
7
+ const value = process.argv[3]?.trim();
8
+ if (!value)
9
+ return null;
10
+ if (['claude-code', 'cursor', 'vscode-copilot', 'windsurf', 'lingma', 'codex'].includes(value)) {
11
+ return value;
12
+ }
13
+ return 'invalid';
14
+ }
15
+ function importOptions() {
16
+ const args = process.argv.slice(3);
17
+ return {
18
+ includeExternalSkills: !args.includes('--skip-external-skills'),
19
+ includeExternalMcp: !args.includes('--skip-external-mcp'),
20
+ };
21
+ }
6
22
  export async function importSources() {
7
23
  const projectRoot = process.cwd();
8
24
  if (!fileExists(configPath(projectRoot))) {
9
25
  console.log(red('\n AIDA not initialized. Run `npx aida init` first.\n'));
10
26
  return;
11
27
  }
12
- const imported = importProjectSources(projectRoot);
28
+ const baseline = requestedBaseline();
29
+ const options = importOptions();
30
+ if (baseline === 'invalid') {
31
+ console.log(red(`\n Unknown baseline tool: ${process.argv[3]?.trim()}\n`));
32
+ return;
33
+ }
34
+ if (baseline) {
35
+ const imported = importProjectSourcesWithBaseline(projectRoot, baseline, options);
36
+ const result = buildProjectArtifacts(projectRoot, imported.tools);
37
+ console.log(green('\n ✓ Existing project sources imported') +
38
+ `: ${imported.rulesImported} rules, ${imported.skillsImported} skills\n`);
39
+ console.log(` Baseline: ${baseline}`);
40
+ console.log(` Baseline imported: ${imported.baseline.rulesImported} rules, ${imported.baseline.skillsImported} skills`);
41
+ if (imported.tools.length === 0) {
42
+ console.log(yellow(' No existing AI tool configs were discovered.\n'));
43
+ return;
44
+ }
45
+ console.log(` Tools: ${imported.tools.join(', ')}`);
46
+ console.log(` Tool config snapshot: ${imported.snapshotPath}`);
47
+ console.log(` Rebuilt: ${result.ruleFiles} rule files, ${result.skillFiles} skill files, ${result.commandFiles} tool command files`);
48
+ if (imported.gitignoreAdded.length > 0) {
49
+ console.log(` .gitignore: added ${imported.gitignoreAdded.join(', ')}`);
50
+ }
51
+ console.log('');
52
+ return;
53
+ }
54
+ const imported = importProjectSources(projectRoot, options);
13
55
  const result = buildProjectArtifacts(projectRoot, imported.tools);
14
56
  console.log(green('\n ✓ Existing project sources imported') +
15
57
  `: ${imported.rulesImported} rules, ${imported.skillsImported} skills\n`);
@@ -19,7 +61,7 @@ export async function importSources() {
19
61
  }
20
62
  console.log(` Tools: ${imported.tools.join(', ')}`);
21
63
  console.log(` Tool config snapshot: ${imported.snapshotPath}`);
22
- console.log(` Rebuilt: ${result.ruleViews} rule views, ${result.skillViews} skill views, ${result.commandFiles} tool command files`);
64
+ console.log(` Rebuilt: ${result.ruleFiles} rule files, ${result.skillFiles} skill files, ${result.commandFiles} tool command files`);
23
65
  if (imported.gitignoreAdded.length > 0) {
24
66
  console.log(` .gitignore: added ${imported.gitignoreAdded.join(', ')}`);
25
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"import.js","sourceRoot":"","sources":["../../../src/cli/commands/import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAElC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,yCAAyC,CAAC;QAChD,KAAK,QAAQ,CAAC,aAAa,WAAW,QAAQ,CAAC,cAAc,WAAW,CACzE,CAAC;IAEF,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,kDAAkD,CAAC,CAAC,CAAC;QACxE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,2BAA2B,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CACT,cAAc,MAAM,CAAC,SAAS,gBAAgB,MAAM,CAAC,UAAU,iBAAiB,MAAM,CAAC,YAAY,qBAAqB,CACzH,CAAC;IACF,IAAI,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../../../src/cli/commands/import.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AA0GA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA6R1C"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AA4GA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAsO1C"}
@@ -8,6 +8,7 @@ import { ensureGuide, syncGuideReference, updateGuide, updateGuideReferences } f
8
8
  import { ensureBundledSkills, seedBundledSkillRegistry, getSkillContent } from '../../utils/skills.js';
9
9
  import { buildProjectArtifacts } from '../../utils/ai-build.js';
10
10
  import { detectImportableTools, importExistingToolConfigs, importFromTool, mergeConfiguredTools } from '../../utils/import.js';
11
+ import { promptMultiSelect, promptSingleSelect } from '../../utils/prompt.js';
11
12
  const QUICK_COMMANDS = [
12
13
  { name: 'workflow', skill: 'workflow-orchestrator' },
13
14
  { name: 'audit', skill: 'audit' },
@@ -56,6 +57,9 @@ function toolLabel(tool) {
56
57
  };
57
58
  return labels[tool];
58
59
  }
60
+ function toolOptions(tools) {
61
+ return tools.map((tool) => ({ value: tool, label: toolLabel(tool) }));
62
+ }
59
63
  function copyOptionalCommands(projectRoot, tools, commands) {
60
64
  let copied = 0;
61
65
  if (tools.includes('claude-code')) {
@@ -107,7 +111,6 @@ export async function init() {
107
111
  // ── Option 2: Repair missing files ──────────────────
108
112
  if (choice === '2') {
109
113
  console.log('\n Repairing...\n');
110
- ensureDir(resolve(aidevos, 'rules'));
111
114
  ensureDir(resolve(aidevos, 'runs'));
112
115
  const repaired = buildProjectArtifacts(projectRoot, existingTools);
113
116
  updateGuide(projectRoot);
@@ -117,33 +120,13 @@ export async function init() {
117
120
  return;
118
121
  }
119
122
  // ── Option 1: Add a new AI tool ──────────────────────
120
- const rl3 = readline.createInterface({ input: stdin, output: stdout });
121
- console.log('\n ? Which AI tool do you want to add? (comma-separated numbers):\n');
122
- console.log(' 1) Claude Code');
123
- console.log(' 2) Cursor');
124
- console.log(' 3) VS Code + Copilot');
125
- console.log(' 4) Windsurf');
126
- console.log(' 5) Lingma (通义灵码)\n');
127
- console.log(' 6) Codex\n');
128
- const toolMap2 = {
129
- '1': 'claude-code', '2': 'cursor', '3': 'vscode-copilot', '4': 'windsurf', '5': 'lingma', '6': 'codex',
130
- };
131
- let newTools = [];
132
- while (newTools.length === 0) {
133
- const ans = (await rl3.question(' > ')).trim();
134
- const nums = ans.split(',').map(s => s.trim());
135
- for (const n of nums) {
136
- if (toolMap2[n] && !existingTools.includes(toolMap2[n])) {
137
- newTools.push(toolMap2[n]);
138
- }
139
- else if (toolMap2[n] && existingTools.includes(toolMap2[n])) {
140
- console.log(yellow(` ${toolMap2[n]} is already configured, skipping.`));
141
- }
142
- }
143
- if (newTools.length === 0)
144
- console.log(yellow(' No new tools selected. Please try again.'));
123
+ const candidates = ['claude-code', 'cursor', 'vscode-copilot', 'windsurf', 'lingma', 'codex']
124
+ .filter((tool) => !existingTools.includes(tool));
125
+ if (candidates.length === 0) {
126
+ console.log(yellow('\n All supported AI tools are already configured.\n'));
127
+ return;
145
128
  }
146
- rl3.close();
129
+ const newTools = await promptMultiSelect('Select AI tool(s) to add:', toolOptions(candidates), { required: true });
147
130
  // Update config.json
148
131
  existingConfig.aiTools = [...existingTools, ...newTools];
149
132
  writeJson(resolve(aidevos, 'config.json'), existingConfig);
@@ -174,54 +157,11 @@ export async function init() {
174
157
  console.log(yellow(' Please enter 1 or 2'));
175
158
  }
176
159
  // Step 2: Select AI tools (multi-select)
177
- console.log('\n ? Which AI tools do you use? (comma-separated numbers):\n');
178
- console.log(' 1) Claude Code');
179
- console.log(' 2) Cursor');
180
- console.log(' 3) VS Code + Copilot');
181
- console.log(' 4) Windsurf');
182
- console.log(' 5) Lingma (通义灵码)');
183
- console.log(' 6) Codex');
184
- console.log(' 7) All of the above\n');
185
- const toolMap = {
186
- '1': 'claude-code',
187
- '2': 'cursor',
188
- '3': 'vscode-copilot',
189
- '4': 'windsurf',
190
- '5': 'lingma',
191
- '6': 'codex',
192
- };
193
- let selectedTools = [];
194
- while (selectedTools.length === 0) {
195
- const answer = (await rl.question(' > ')).trim();
196
- if (answer === '7') {
197
- selectedTools = ['claude-code', 'cursor', 'vscode-copilot', 'windsurf', 'lingma', 'codex'];
198
- }
199
- else {
200
- const nums = answer.split(',').map(s => s.trim());
201
- for (const n of nums) {
202
- if (toolMap[n])
203
- selectedTools.push(toolMap[n]);
204
- }
205
- }
206
- if (selectedTools.length === 0)
207
- console.log(yellow(' Please select at least one tool'));
208
- }
160
+ const selectedTools = await promptMultiSelect('Which AI tools do you use?', toolOptions(['claude-code', 'cursor', 'vscode-copilot', 'windsurf', 'lingma', 'codex']), { required: true });
209
161
  const importableTools = detectImportableTools(projectRoot, selectedTools);
210
162
  let baselineTool = null;
211
163
  if (importableTools.length > 0) {
212
- console.log('\n ? Found existing tool rules/skills/config in this project.');
213
- console.log(' Choose one baseline tool to import into AIDA JSON (press Enter to skip):\n');
214
- importableTools.forEach((tool, index) => {
215
- console.log(` ${index + 1}) ${toolLabel(tool)}`);
216
- });
217
- console.log('');
218
- const answer = (await rl.question(' > ')).trim();
219
- if (answer) {
220
- const idx = parseInt(answer, 10);
221
- if (idx >= 1 && idx <= importableTools.length) {
222
- baselineTool = importableTools[idx - 1];
223
- }
224
- }
164
+ baselineTool = await promptSingleSelect('Found existing tool rules/skills/config. Choose one baseline tool to import into AIDA JSON:', toolOptions(importableTools), { allowSkip: true });
225
165
  }
226
166
  // Step 3: AI model (only for full mode)
227
167
  let aiModel = '';
@@ -233,23 +173,15 @@ export async function init() {
233
173
  // Step 4: Optional tools (only for full mode)
234
174
  const selectedOptional = [];
235
175
  if (mode === 'full') {
236
- console.log('\n ? Optional tools (comma-separated numbers, or press Enter to skip):\n');
237
- OPTIONAL_COMMANDS.forEach((cmd, i) => {
238
- console.log(` ${i + 1}) ${cmd.name} - ${cmd.desc}`);
239
- });
240
- console.log('');
241
- const optionsInput = (await rl.question(' > ')).trim();
242
- if (optionsInput) {
243
- const indices = optionsInput.split(',').map((s) => parseInt(s.trim())).filter(n => n > 0 && n <= OPTIONAL_COMMANDS.length);
244
- for (const idx of indices) {
245
- selectedOptional.push(OPTIONAL_COMMANDS[idx - 1]);
246
- }
176
+ const optionalValues = await promptMultiSelect('Optional tools:', OPTIONAL_COMMANDS.map((cmd) => ({ value: cmd.name, label: cmd.name, hint: cmd.desc })), { required: false });
177
+ for (const cmd of OPTIONAL_COMMANDS) {
178
+ if (optionalValues.includes(cmd.name))
179
+ selectedOptional.push(cmd);
247
180
  }
248
181
  }
249
182
  rl.close();
250
183
  console.log(`\n Initializing AIDevOS...\n`);
251
184
  // 1. Create directory structure
252
- ensureDir(resolve(aidevos, 'rules'));
253
185
  ensureDir(resolve(aidevos, 'runs'));
254
186
  console.log(green(' ✓ Created') + ' .aida/');
255
187
  // 3. Seed iron rules into rules.json registry
@@ -360,8 +292,8 @@ function syncIronRules(projectRoot, tool) {
360
292
  }
361
293
  }
362
294
  else {
363
- // Cursor: write to .cursor/rules/aidevos/iron-rules.md
364
- const rulesDir = resolve(projectRoot, '.cursor', 'rules', 'aidevos');
295
+ // Cursor: write to .cursor/rules/aida/iron-rules.md
296
+ const rulesDir = resolve(projectRoot, '.cursor', 'rules', 'aida');
365
297
  ensureDir(rulesDir);
366
298
  const file = resolve(rulesDir, 'iron-rules.md');
367
299
  if (fileExists(file)) {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EACL,SAAS,EACT,SAAS,EACT,QAAQ,EACR,UAAU,EACV,cAAc,EACd,SAAS,GACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAkB,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC3G,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACvG,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE/H,MAAM,cAAc,GAAsC;IACxD,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,uBAAuB,EAAE;IACpD,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IACjC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAE;IAClD,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE;IACjD,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IACzC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE;CAClD,CAAC;AAEF,MAAM,iBAAiB,GAAoD;IACzE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,sBAAsB,EAAE;IAC3E,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE;CAC1F,CAAC;AAEF,MAAM,UAAU,GAAG;IACjB,uBAAuB;IACvB,sBAAsB;IACtB,eAAe;IACf,gBAAgB;IAChB,eAAe;IACf,WAAW;IACX,oBAAoB;IACpB,qBAAqB;IACrB,aAAa;IACb,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,YAAY;IACZ,OAAO;CACR,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;;;;;CAQzB,CAAC;AAMF,SAAS,SAAS,CAAC,IAAkB;IACnC,MAAM,MAAM,GAAiC;QAC3C,aAAa,EAAE,aAAa;QAC5B,MAAM,EAAE,QAAQ;QAChB,gBAAgB,EAAE,mBAAmB;QACrC,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,OAAO;KACf,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAmB,EAAE,KAAqB,EAAE,QAA2C;IACnH,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAC3D,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,eAAe,CAAC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACxD,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;YACtD,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,eAAe,CAAC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACxD,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACpE,SAAS,CAAC,OAAO,CAAC,CAAC;YACnB,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,4DAA4D;AAE5D,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAE9C,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAC;IAE7E,+BAA+B;IAC/B,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,kDAAkD,CAAC,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAE7B,MAAM,GAAG,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnD,GAAG,CAAC,KAAK,EAAE,CAAC;QAEZ,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,uBAAuB;QACvB,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,aAAa,GAAmB,cAAc,CAAC,OAAO,IAAI,EAAE,CAAC;QAEnE,uDAAuD;QACvD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YACrC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;YACnE,WAAW,CAAC,WAAW,CAAC,CAAC;YACzB,qBAAqB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,uBAAuB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;YAE7G,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,uCAAuC,CAAC,CAAC;YAC5E,OAAO;QACT,CAAC;QAED,wDAAwD;QACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAE9B,MAAM,QAAQ,GAAiC;YAC7C,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO;SACvG,CAAC;QACF,IAAI,QAAQ,GAAmB,EAAE,CAAC;QAClC,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7B,CAAC;qBAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAC,CAAC;QAC/F,CAAC;QACD,GAAG,CAAC,KAAK,EAAE,CAAC;QAEZ,qBAAqB;QACrB,cAAc,CAAC,OAAO,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,QAAQ,CAAC,CAAC;QACzD,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,cAAc,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,qBAAqB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC3D,IAAI,cAAc,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACnC,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,oCAAoC,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IAED,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAEtE,sBAAsB;IACtB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;IACrF,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IAEtE,IAAI,IAAwB,CAAC;IAC7B,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YAAC,IAAI,GAAG,SAAS,CAAC;YAAC,MAAM;QAAC,CAAC;QAChD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YAAC,IAAI,GAAG,MAAM,CAAC;YAAC,MAAM;QAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,yCAAyC;IACzC,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAEzC,MAAM,OAAO,GAAiC;QAC5C,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,QAAQ;QACb,GAAG,EAAE,gBAAgB;QACrB,GAAG,EAAE,UAAU;QACf,GAAG,EAAE,QAAQ;QACb,GAAG,EAAE,OAAO;KACb,CAAC;IACF,IAAI,aAAa,GAAmB,EAAE,CAAC;IACvC,OAAO,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,aAAa,GAAG,CAAC,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC7F,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAClD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,OAAO,CAAC,CAAC,CAAC;oBAAE,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,eAAe,GAAG,qBAAqB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAC1E,IAAI,YAAY,GAAwB,IAAI,CAAC;IAC7C,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;QAC9F,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACtC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,KAAK,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACjC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;gBAC9C,YAAY,GAAG,eAAe,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC,CAAC;QACrE,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED,8CAA8C;IAC9C,MAAM,gBAAgB,GAA6B,EAAE,CAAC;IACtD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;QACzF,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACnC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC3H,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;IAED,EAAE,CAAC,KAAK,EAAE,CAAC;IAEX,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAE7C,gCAAgC;IAChC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACrC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,CAAC;IAE9C,8CAA8C;IAC9C,MAAM,SAAS,GAAG;QAChB,mBAAmB;QACnB,4BAA4B;QAC5B,gCAAgC;KACjC,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,WAAW,EAAE;YACnB,OAAO;YACP,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,aAAa,CAAC,GAAG,6CAA6C,CACrE,CAAC;IAEF,6CAA6C;IAC7C,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,YAAY,CAAC,GAAG,sCAAsC,OAAO,CAAC,KAAK,GAAG,CAC7E,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,wBAAwB,CAAC,WAAW,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,aAAa,CAAC,GAAG,iDAAiD,CACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,UAAU,GAAwB;QACtC,aAAa,EAAE,KAAK;QACpB,IAAI;QACJ,OAAO,EAAE,aAAa;QACtB,OAAO,EAAE,WAAW;KACrB,CAAC;IACF,IAAI,OAAO;QAAE,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAC1C,IAAI,YAAY;QAAE,UAAU,CAAC,YAAY,GAAG,YAAY,CAAC;IACzD,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,UAAU,CAAC,CAAC;IAEvD,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;QACxD,oBAAoB,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjG,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,cAAc,CAAC;YACrB,kBAAkB,SAAS,CAAC,YAAY,CAAC,MAAM,QAAQ,CAAC,aAAa,WAAW,QAAQ,CAAC,cAAc,SAAS,CACjH,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,qBAAqB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAChE,WAAW,CAAC,WAAW,CAAC,CAAC;IACzB,kBAAkB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,uBAAuB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAElF,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,cAAc,GAAG,oBAAoB,CAAC,WAAW,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;QAC1F,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI,cAAc,yBAAyB,CAAC,CAAC;QACjF,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;YAChC,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;QACrF,IAAI,WAAW,KAAK,aAAa,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC9D,aAAa,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,OAAO;IACP,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC;IACZ,KAAK,CAAC,SAAS,CAAC;;;;;yBAKK,IAAI,CAAC,gBAAgB,CAAC;CAC9C,CAAC,CAAC;IACD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC;IACZ,KAAK,CAAC,SAAS,CAAC;;aAEP,IAAI,CAAC,QAAQ,CAAC;;aAEd,IAAI,CAAC,WAAW,CAAC;oBACV,IAAI,CAAC,gBAAgB,CAAC;CACzC,CAAC,CAAC;IACD,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,WAAmB,EACnB,IAA8B;IAE9B,MAAM,MAAM,GAAG,uBAAuB,CAAC;IAEvC,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC/C,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO;YACrC,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,uDAAuD;QACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACrE,SAAS,CAAC,QAAQ,CAAC,CAAC;QACpB,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAChD,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO;YACrC,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}