speccore 5.11.1 → 5.12.0

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 (56) hide show
  1. package/README.md +12 -7
  2. package/dist/cli.js +40 -3
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/analyze.d.ts +7 -0
  5. package/dist/commands/analyze.d.ts.map +1 -0
  6. package/dist/commands/analyze.js +369 -0
  7. package/dist/commands/analyze.js.map +1 -0
  8. package/dist/commands/change.d.ts +2 -0
  9. package/dist/commands/change.d.ts.map +1 -1
  10. package/dist/commands/change.js +72 -0
  11. package/dist/commands/change.js.map +1 -1
  12. package/dist/commands/done.d.ts +8 -0
  13. package/dist/commands/done.d.ts.map +1 -0
  14. package/dist/commands/done.js +97 -0
  15. package/dist/commands/done.js.map +1 -0
  16. package/dist/commands/execute.d.ts +1 -0
  17. package/dist/commands/execute.d.ts.map +1 -1
  18. package/dist/commands/execute.js +104 -0
  19. package/dist/commands/execute.js.map +1 -1
  20. package/dist/commands/init.d.ts.map +1 -1
  21. package/dist/commands/init.js +19 -7
  22. package/dist/commands/init.js.map +1 -1
  23. package/dist/commands/iteration/create.d.ts.map +1 -1
  24. package/dist/commands/iteration/create.js +6 -4
  25. package/dist/commands/iteration/create.js.map +1 -1
  26. package/dist/commands/iteration/split.d.ts +2 -0
  27. package/dist/commands/iteration/split.d.ts.map +1 -1
  28. package/dist/commands/iteration/split.js +492 -11
  29. package/dist/commands/iteration/split.js.map +1 -1
  30. package/dist/commands/lifecycle.d.ts +9 -0
  31. package/dist/commands/lifecycle.d.ts.map +1 -0
  32. package/dist/commands/lifecycle.js +223 -0
  33. package/dist/commands/lifecycle.js.map +1 -0
  34. package/dist/commands/word2spec.d.ts +1 -0
  35. package/dist/commands/word2spec.d.ts.map +1 -1
  36. package/dist/commands/word2spec.js +169 -12
  37. package/dist/commands/word2spec.js.map +1 -1
  38. package/dist/core/global-counters.d.ts +16 -0
  39. package/dist/core/global-counters.d.ts.map +1 -0
  40. package/dist/core/global-counters.js +44 -0
  41. package/dist/core/global-counters.js.map +1 -0
  42. package/dist/core/intent-recognition.d.ts +1 -1
  43. package/dist/core/intent-recognition.d.ts.map +1 -1
  44. package/dist/core/intent-recognition.js +9 -0
  45. package/dist/core/intent-recognition.js.map +1 -1
  46. package/dist/core/next-steps.d.ts +2 -0
  47. package/dist/core/next-steps.d.ts.map +1 -0
  48. package/dist/core/next-steps.js +69 -0
  49. package/dist/core/next-steps.js.map +1 -0
  50. package/dist/core/risk-scorer.d.ts +14 -0
  51. package/dist/core/risk-scorer.d.ts.map +1 -0
  52. package/dist/core/risk-scorer.js +61 -0
  53. package/dist/core/risk-scorer.js.map +1 -0
  54. package/dist/locales/en-US.json +19 -2
  55. package/dist/locales/zh-CN.json +19 -2
  56. package/package.json +1 -1
package/README.md CHANGED
@@ -62,7 +62,7 @@ speccore spec "进度怎么样了"
62
62
 
63
63
  - **🚀 快速初始化**:一行命令初始化完整 SpecCore 项目结构,自动集成 WorkBuddy
64
64
  - **📱 多平台支持**:`--platforms=web,h5,miniapp` 按端管理 Task,动态添加平台类型
65
- - **🧠 意图识别引擎**:35 种意图类型,200+ 关键词,自然语言自动匹配命令
65
+ - **🧠 意图识别引擎**:36 种意图类型,200+ 关键词,自然语言自动匹配命令
66
66
  - **🌐 多项目全量层**:GLOBAL/ 统一管理跨项目需求索引、架构和技术栈
67
67
  - **📊 实时进度追踪**:自动识别活跃期次,统计任务完成率,按平台/人员/类型统计
68
68
  - **✅ 自动合规检查**:扫描所有 Spec 文件,检查必填项和格式
@@ -111,7 +111,7 @@ SpecCore 采用**确定性逻辑与智能逻辑解耦**的架构:
111
111
  | 分类 | 命令 | 说明 |
112
112
  | :--- | :--- | :--- |
113
113
  | 🧠 智能入口 | `speccore spec "<query>"` | 自然语言意图识别 |
114
- | 🌐 初始化/导入 | `speccore init` / `import` | 项目初始化 + 多项目导入 |
114
+ | 🌐 初始化/导入 | `speccore init` / `import` / `word2spec` | 项目初始化 + 多项目导入 + Word 需求导入 |
115
115
  | 📐 计划 | `speccore iteration create/split` / `new-task` / `plan` | 期次管理 + Task 创建 |
116
116
  | | `speccore iteration-from-global` | 从全量层生成期次 |
117
117
  | ⚡ 执行 | `speccore execute` | 执行控制中心(--platform / --priority) |
@@ -126,22 +126,27 @@ SpecCore 采用**确定性逻辑与智能逻辑解耦**的架构:
126
126
 
127
127
  ## 🤖 AI 命令(Slash Command)对应关系
128
128
 
129
- > 在 AI 工具(WorkBuddy / Cursor / Claude Code 等)中输入 `/` + 命令。AI 命令在底层调用对应的 CLI 命令执行。
129
+ > 在 AI 工具(WorkBuddy / Cursor / Claude Code 等)中输入 `/` + 命令。AI 命令在底层调用对应的 CLI 命令执行。54 个 CLI 命令都有对应的 `/spec-*` 形式。
130
130
 
131
131
  | CLI 终端命令 | AI Slash Command | 用途 |
132
132
  | :--- | :--- | :--- |
133
133
  | `speccore init` | `/spec-init` | 项目初始化 |
134
134
  | `speccore import` | `/spec-import` | 导入项目到全量层 |
135
+ | `speccore word2spec` | `/spec-word2spec` | Word 文档导入 |
135
136
  | `speccore iteration create` | `/spec-iteration-create` | 创建期次 |
137
+ | `speccore iteration split` | `/spec-iteration-split` | 拆分需求为 Task |
136
138
  | `speccore new-task` | `/spec-new-task` | 创建多平台 Task |
137
139
  | `speccore execute` | `/spec-execute` | 执行开发任务 |
138
- | `speccore progress` | `/spec-progress` | 查看进度 |
140
+ | `speccore change` | `/spec-change` | 需求变更 |
141
+ | `speccore sync` | `/spec-sync` | Spec-代码同步 |
139
142
  | `speccore validate` | `/spec-validate` | 合规性检查 |
140
- | `speccore impact` | `/spec-impact` | 变更影响分析 |
143
+ | `speccore archive` | `/spec-archive` | 归档任务 |
144
+ | `speccore rollback` | `/spec-rollback` | 从备份恢复 |
145
+ | `speccore dashboard` | `/spec-dashboard` | 仪表盘总览 |
141
146
  | `speccore audit` | `/spec-ai-audit` | AI 智能审计 |
142
147
  | `speccore spec "查询"` | `/spec 查询` | 自然语言智能入口 |
143
148
 
144
- > 📋 完整命令参数见 [命令参考手册](docs/命令参考.md) | 🧠 31 种意图映射见 [意图映射表](docs/命令参考.md#自然语言意图映射35-种)
149
+ > 📋 完整命令参数见 [命令参考手册](docs/命令参考.md) | 🧠 36 种意图映射见 [意图映射表](docs/命令参考.md#自然语言意图映射36-种)
145
150
 
146
151
  ---
147
152
 
@@ -175,7 +180,7 @@ SpecCore 原生集成 WorkBuddy(`speccore init` 自动创建 `.workbuddy/` ski
175
180
 
176
181
  | 文档 | 内容 |
177
182
  | :--- | :--- |
178
- | [场景实战](docs/场景实战.md) | 22 个真实场景:从零启动→日常开发→CI/CD→变更处理等 |
183
+ | [场景实战](docs/场景实战.md) | 25 个真实场景:从零启动→日常开发→CI/CD→变更处理等 |
179
184
  | [SDD 方法论](docs/SDD方法论.md) | SDD 是什么、为什么、怎么做 |
180
185
  | [速查卡](docs/速查卡.md) | 一页掌握:常用命令 + 安全口诀 + CI 模板 |
181
186
  | [快速开始指南](docs/快速开始.md) | 安装 → 初始化 → 导入 → 多端 Task → 场景速查 |
package/dist/cli.js CHANGED
@@ -42,6 +42,9 @@ const impact_1 = require("./commands/impact");
42
42
  const baseline_1 = require("./commands/baseline");
43
43
  const dashboard_1 = require("./commands/dashboard");
44
44
  const audit_1 = require("./commands/audit");
45
+ const analyze_1 = require("./commands/analyze");
46
+ const lifecycle_1 = require("./commands/lifecycle");
47
+ const done_1 = require("./commands/done");
45
48
  // rename 命令
46
49
  const rename_1 = require("./commands/rename");
47
50
  // v4.0.0 新增命令
@@ -153,11 +156,13 @@ iterationCmd
153
156
  .command('split')
154
157
  .alias('sp')
155
158
  .description('Split requirements into tasks')
156
- .option('-f, --file <file>', 'Requirement file path', '00-需求文档/REQUIREMENT.md')
159
+ .option('-f, --file <file>', 'Requirement file path', 'REQUIREMENT.md')
157
160
  .option('-i, --iteration <iteration>', 'Target iteration')
158
161
  .option('--sections <sections>', 'Specific sections to split')
159
162
  .option('--target <target>', 'Merge into existing task')
163
+ .option('-p, --platforms <platforms>', 'Comma-separated platforms (auto-detected if omitted)')
160
164
  .option('--dry-run', 'Preview without creating')
165
+ .option('--strict', 'Review each section before creating tasks')
161
166
  .action(split_1.iterationSplitCommand);
162
167
  // ================================================================
163
168
  // 📝 任务管理
@@ -253,6 +258,7 @@ commander_1.program
253
258
  .option('--parallel <count>', 'Parallel execution count', '1')
254
259
  .option('-i, --iteration <iteration>', 'Target iteration')
255
260
  .option('--force', 'Skip preview and execute directly')
261
+ .option('--strict', 'Pre-flight check: review req/tech/test before code gen')
256
262
  .option('--hotfix', 'Emergency fix: skip reverse sync (30min grace, 24h mandatory)')
257
263
  .action(execute_1.executeCommand);
258
264
  // ================================================================
@@ -266,6 +272,8 @@ commander_1.program
266
272
  .option('-r, --req <req>', 'Requirement ID')
267
273
  .option('-d, --desc <desc>', 'Change description (required)')
268
274
  .option('--global', 'Global layer change (CONSTITUTION.md)')
275
+ .option('--requirement', 'Also update REQUIREMENT.md (iteration-level)')
276
+ .option('--analysis', 'Also update ANALYSIS.md (tech plan)')
269
277
  .option('-i, --iteration <iteration>', 'Target iteration')
270
278
  .option('--dry-run', 'Preview impact without modifying')
271
279
  .option('--force', 'Skip preview and apply directly')
@@ -414,9 +422,10 @@ commander_1.program
414
422
  .command('word2spec')
415
423
  .alias('w2s')
416
424
  .description('Convert Word (.docx/.doc) requirement docs to SpecCore Markdown')
417
- .option('-f, --file <path>', 'Source Word file path (required)')
425
+ .option('-f, --file <path>', 'Source Word file path')
418
426
  .option('-i, --iteration <name>', 'Target iteration name (required)')
419
- .option('-p, --platform <name>', 'Platform/end identifier (e.g. 后台/Web/小程序)')
427
+ .option('-p, --platform <name>', 'Platform identifier (e.g. 后台/Web/小程序)')
428
+ .option('--files <files>', 'Batch: "path1.docx=平台1,path2.docx=平台2"')
420
429
  .action(word2spec_1.word2specCommand);
421
430
  commander_1.program
422
431
  .command('sync-global')
@@ -495,6 +504,14 @@ commander_1.program
495
504
  .description('Generate visual dashboard (HTML + Chart.js)')
496
505
  .option('-o, --output <path>', 'Output file path', './speccore-dashboard.html')
497
506
  .action(dashboard_1.dashboardCommand);
507
+ commander_1.program
508
+ .command('analyze')
509
+ .alias('al')
510
+ .description('Analyze requirements: completeness + code mapping + architecture impact → ANALYSIS.md')
511
+ .option('-i, --iteration <iteration>', 'Target iteration')
512
+ .option('-o, --output <file>', 'Output filename', 'ANALYSIS.md')
513
+ .option('--auto', 'Non-interactive mode: generate report directly')
514
+ .action(analyze_1.analyzeCommand);
498
515
  commander_1.program
499
516
  .command('audit')
500
517
  .alias('ad')
@@ -565,6 +582,26 @@ commander_1.program
565
582
  .option('--format <format>', 'Output format: text or json', 'text')
566
583
  .action(validate_1.validateCommand);
567
584
  // v4.7.0 体验增强命令
585
+ commander_1.program;
586
+ commander_1.program
587
+ .command('lifecycle')
588
+ .alias('lc')
589
+ .description('Task lifecycle: pending → dev → test → review → done')
590
+ .option('-t, --task <task>', 'Target task')
591
+ .option('-s, --status <status>', 'Set status: pending/testing/review/done')
592
+ .option('-i, --iteration <iteration>', 'Target iteration')
593
+ .option('--check', 'Check TEST.md/REVIEW.md progress')
594
+ .option('--all', 'Show all tasks kanban board')
595
+ .action(lifecycle_1.lifecycleCommand);
596
+ commander_1.program
597
+ .command('done')
598
+ .alias('dn')
599
+ .description('Complete a task: validate → archive → sync-global')
600
+ .option('-t, --task <task>', 'Target task')
601
+ .option('-i, --iteration <iteration>', 'Target iteration')
602
+ .option('--skip-validate', 'Skip validation step')
603
+ .option('--skip-sync', 'Skip global sync step')
604
+ .action(done_1.doneCommand);
568
605
  commander_1.program
569
606
  .command('completion [shell]')
570
607
  .description('Generate shell completion script (bash/zsh)')
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;AAAA,yCAAoC;AACpC,kDAA0C;AAC1C,0CAA8C;AAC9C,8CAAkD;AAClD,kDAAsD;AACtD,gDAAoD;AACpD,kDAAsD;AACtD,8CAAkD;AAClD,8CAAkD;AAClD,8CAAkD;AAClD,8CAAkD;AAClD,wDAAqE;AACrE,sDAAmE;AACnE,6CAAqD;AACrD,0CAA8C;AAC9C,gDAAoD;AACpD,OAAO;AACP,0CAA8C;AAC9C,0CAA8C;AAC9C,8CAAkD;AAClD,kDAAsD;AACtD,8CAAkD;AAClD,0CAA8C;AAC9C,gDAAoD;AACpD,kDAAsD;AACtD,kDAAsD;AACtD,4CAAgD;AAChD,0DAA6D;AAC7D,0CAA8C;AAC9C,0CAA8C;AAC9C,gDAAoD;AACpD,oDAAwD;AACxD,QAAQ;AACR,4EAA8E;AAC9E,wDAA2D;AAC3D,4DAA+D;AAC/D,gDAAoD;AACpD,gBAAgB;AAChB,8CAAkD;AAClD,kDAAsD;AACtD,oDAAwD;AACxD,4CAAgD;AAChD,YAAY;AACZ,8CAAkD;AAClD,cAAc;AACd,kDAAqD;AACrD,0DAA6D;AAC7D,0DAA6D;AAC7D,gDAAoD;AACpD,cAAc;AACd,gDAAoD;AACpD,cAAc;AACd,sDAA0D;AAC1D,8CAAkD;AAClD,cAAc;AACd,4CAAgD;AAChD,gDAAoD;AACpD,YAAY;AACZ,8CAAkD;AAClD,YAAY;AACZ,0CAA8C;AAC9C,4CAAgD;AAChD,YAAY;AACZ,8CAAkD;AAClD,YAAY;AACZ,8CAAkD;AAClD,4CAAgD;AAChD,iCAA8B;AAE9B,mBAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,uCAAuC,CAAC;KACpD,OAAO,CAAC,sBAAO,EAAE,eAAe,EAAE,yBAAyB,CAAC;KAC5D,MAAM,CAAC,iBAAiB,EAAE,oCAAoC,EAAE,OAAO,CAAC;KACxE,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;IACjC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC;QAClE,WAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,mEAAmE;AACnE,UAAU;AACV,mEAAmE;AACnE,mBAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,CAAC,KAAe,EAAE,EAAE,CAAC,IAAA,kBAAW,EAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAEjE,mEAAmE;AACnE,WAAW;AACX,mEAAmE;AACnE,mBAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,SAAS,EAAE,yBAAyB,CAAC;KAC5C,MAAM,CAAC,wBAAc,CAAC,CAAC;AAE1B,mBAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,+BAA+B,CAAC;KAC5C,MAAM,CAAC,iBAAiB,EAAE,qCAAqC,EAAE,MAAM,CAAC;KACxE,MAAM,CAAC,QAAQ,EAAE,8BAA8B,CAAC;KAChD,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,mEAAmE;AACnE,aAAa;AACb,mEAAmE;AACnE,mBAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,eAAe,EAAE,yCAAyC,EAAE,OAAO,CAAC;KAC3E,MAAM,CAAC,SAAS,EAAE,wCAAwC,CAAC;KAC3D,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,mBAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,KAAK,CAAC;KACZ,WAAW,CAAC,0DAA0D,CAAC;KACvE,MAAM,CAAC,mBAAmB,EAAE,wCAAwC,EAAE,KAAK,CAAC;KAC5E,MAAM,CAAC,eAAe,EAAE,qBAAqB,EAAE,IAAI,CAAC;KACpD,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC;KACtC,MAAM,CAAC,6BAA6B,EAAE,uBAAuB,CAAC;KAC9D,MAAM,CAAC,kBAAkB,EAAE,sCAAsC,CAAC;KAClE,MAAM,CAAC,eAAe,EAAE,yCAAyC,EAAE,SAAS,CAAC;KAC7E,MAAM,CAAC,iBAAiB,EAAE,kCAAkC,EAAE,KAAK,CAAC;KACpE,MAAM,CAAC,qBAAqB,EAAE,4CAA4C,CAAC;KAC3E,MAAM,CAAC,UAAU,EAAE,uBAAuB,CAAC;KAC3C,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC;KACpC,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,mBAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,8CAA8C,CAAC;KAC3D,MAAM,CAAC,WAAW,EAAE,+BAA+B,CAAC;KACpD,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;KACtC,MAAM,CAAC,wBAAc,CAAC,CAAC;AAE1B,mEAAmE;AACnE,UAAU;AACV,mEAAmE;AACnE,MAAM,YAAY,GAAG,mBAAO;KACzB,OAAO,CAAC,WAAW,CAAC;KACpB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,+BAA+B,CAAC,CAAC;AAEhD,YAAY;KACT,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,CAAC;KACxD,MAAM,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KAC7E,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC;KACjC,MAAM,CAAC,+BAAsB,CAAC,CAAC;AAElC,YAAY;KACT,OAAO,CAAC,OAAO,CAAC;KAChB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,+BAA+B,CAAC;KAC5C,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,wBAAwB,CAAC;KAC9E,MAAM,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;KACzD,MAAM,CAAC,uBAAuB,EAAE,4BAA4B,CAAC;KAC7D,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC;KACvD,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;KAC/C,MAAM,CAAC,6BAAqB,CAAC,CAAC;AAEjC,mEAAmE;AACnE,UAAU;AACV,mEAAmE;AACnE,MAAM,OAAO,GAAG,mBAAO;KACpB,OAAO,CAAC,MAAM,CAAC;KACf,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,0BAA0B,CAAC,CAAC;AAE3C,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,KAAK,CAAC,KAAK,CAAC;KACZ,WAAW,CAAC,0BAA0B,CAAC;KACvC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;KACnD,MAAM,CAAC,mBAAmB,EAAE,yEAAyE,EAAE,SAAS,CAAC;KACjH,MAAM,CAAC,gBAAgB,EAAE,qCAAqC,CAAC;KAC/D,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;KAC/C,MAAM,CAAC,eAAe,EAAE,uBAAuB,CAAC;KAChD,MAAM,CAAC,uBAAuB,EAAE,+BAA+B,CAAC;KAChE,MAAM,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;KAC/C,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;KACjD,MAAM,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;KACzD,MAAM,CAAC,oBAAc,CAAC,CAAC;AAE1B,SAAS;AACT,mBAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,0DAA0D,CAAC;KACvE,MAAM,CAAC,mBAAmB,EAAE,cAAc,CAAC;KAC3C,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;KAClD,MAAM,CAAC,mBAAmB,EAAE,WAAW,EAAE,SAAS,CAAC;KACnD,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC;KACnC,MAAM,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;KACzD,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAAC;KACxC,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC;KAC1C,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,SAAS;AACT,mBAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,mBAAmB,EAAE,UAAU,CAAC;KACvC,MAAM,CAAC,mBAAmB,EAAE,iBAAiB,CAAC;KAC9C,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC;KACnC,MAAM,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;KACzD,MAAM,CAAC,wBAAwB,EAAE,8BAA8B,CAAC;KAChE,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,OAAO;AACP,mBAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,4DAA4D,CAAC;KACzE,MAAM,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;KAC7C,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;KACnD,MAAM,CAAC,qBAAqB,EAAE,mCAAmC,CAAC;KAClE,MAAM,CAAC,qBAAqB,EAAE,sCAAsC,CAAC;KACrE,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC;KACnC,MAAM,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;KACzD,MAAM,CAAC,0BAAe,CAAC,CAAC;AAE3B,mEAAmE;AACnE,UAAU;AACV,mEAAmE;AACnE,mBAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,oDAAoD,CAAC;KACjE,MAAM,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;KACzD,MAAM,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,GAAG,CAAC;KACtD,MAAM,CAAC,wBAAwB,EAAE,8CAA8C,CAAC;KAChF,MAAM,CAAC,aAAa,CAAC;KACnB,MAAM,CAAC,eAAe,EAAE,uBAAuB,CAAC;KAClD,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAAC;KAC9C,MAAM,CAAC,uBAAuB,EAAE,oBAAoB,CAAC;KACrD,MAAM,CAAC,eAAe,EAAE,kCAAkC,EAAE,MAAM,CAAC;KACnE,MAAM,CAAC,WAAW,EAAE,wBAAwB,CAAC;KAC7C,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,mBAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,OAAO,EAAE,2BAA2B,CAAC;KAC5C,MAAM,CAAC,2BAA2B,EAAE,oBAAoB,CAAC;KACzD,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;KACpD,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAAC;KAC9C,MAAM,CAAC,uBAAuB,EAAE,oBAAoB,CAAC;KACrD,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;KAC/C,MAAM,CAAC,WAAW,EAAE,oBAAoB,CAAC;KACzC,MAAM,CAAC,YAAY,EAAE,qBAAqB,CAAC;KAC3C,MAAM,CAAC,uBAAuB,EAAE,8CAA8C,CAAC;KAC/E,MAAM,CAAC,eAAe,EAAE,uBAAuB,CAAC;KAChD,MAAM,CAAC,WAAW,EAAE,wBAAwB,CAAC;KAC7C,MAAM,CAAC,UAAU,EAAE,+BAA+B,CAAC;KACnD,MAAM,CAAC,kBAAkB,EAAE,8CAA8C,CAAC;KAC1E,MAAM,CAAC,oBAAoB,EAAE,0BAA0B,EAAE,GAAG,CAAC;KAC7D,MAAM,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;KACzD,MAAM,CAAC,SAAS,EAAE,mCAAmC,CAAC;KACtD,MAAM,CAAC,UAAU,EAAE,+DAA+D,CAAC;KACnF,MAAM,CAAC,wBAAc,CAAC,CAAC;AAE1B,mEAAmE;AACnE,UAAU;AACV,mEAAmE;AACnE,mBAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,4DAA4D,CAAC;KACzE,MAAM,CAAC,mBAAmB,EAAE,aAAa,CAAC;KAC1C,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;KAC3C,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC;KAC5D,MAAM,CAAC,UAAU,EAAE,uCAAuC,CAAC;KAC3D,MAAM,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;KACzD,MAAM,CAAC,WAAW,EAAE,kCAAkC,CAAC;KACvD,MAAM,CAAC,SAAS,EAAE,iCAAiC,CAAC;KACpD,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,mBAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,uDAAuD,CAAC;KACpE,MAAM,CAAC,mBAAmB,EAAE,aAAa,CAAC;KAC1C,MAAM,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;KACzD,MAAM,CAAC,QAAQ,EAAE,sCAAsC,CAAC;KACxD,MAAM,CAAC,WAAW,EAAE,uCAAuC,CAAC;KAC5D,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC;KACjC,MAAM,CAAC,UAAU,EAAE,wDAAwD,CAAC;KAC5E,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,mEAAmE;AACnE,UAAU;AACV,mEAAmE;AACnE,mBAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;KACzD,MAAM,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;KACrD,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAAC;KAC9C,MAAM,CAAC,OAAO,EAAE,gCAAgC,CAAC;KACjD,MAAM,CAAC,UAAU,EAAE,wBAAwB,CAAC;KAC5C,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,CAAC;KAChE,MAAM,CAAC,0BAAe,CAAC,CAAC;AAE3B,mEAAmE;AACnE,WAAW;AACX,mEAAmE;AACnE,mBAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;KACzD,MAAM,CAAC,2BAA2B,EAAE,oBAAoB,CAAC;KACzD,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAAC;KAC9C,MAAM,CAAC,aAAa,CAAC;KACnB,MAAM,CAAC,eAAe,EAAE,6BAA6B,CAAC;KACxD,MAAM,CAAC,UAAU,EAAE,wBAAwB,CAAC;KAC5C,MAAM,CAAC,uBAAuB,EAAE,8CAA8C,CAAC;KAC/E,MAAM,CAAC,mBAAmB,EAAE,gCAAgC,EAAE,MAAM,CAAC;KACrE,MAAM,CAAC,0BAAe,CAAC,CAAC;AAE3B,mBAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;KACzD,MAAM,CAAC,2BAA2B,EAAE,oBAAoB,CAAC;KACzD,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAAC;KAC9C,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,mBAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;KACzD,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,CAAC;KAChE,MAAM,CAAC,SAAS,EAAE,0BAA0B,CAAC;KAC7C,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,mEAAmE;AACnE,WAAW;AACX,mEAAmE;AACnE,mBAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,yBAAyB,CAAC;KACtC,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;KACpD,MAAM,CAAC,OAAO,EAAE,6BAA6B,CAAC;KAC9C,MAAM,CAAC,6BAA6B,EAAE,0BAA0B,CAAC;KACjE,MAAM,CAAC,QAAQ,EAAE,qBAAqB,CAAC;KACvC,MAAM,CAAC,kBAAkB,EAAE,uBAAuB,CAAC;KACnD,MAAM,CAAC,SAAS,EAAE,mCAAmC,CAAC;KACtD,MAAM,CAAC,wBAAc,CAAC,CAAC;AAE1B,mBAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,uDAAuD,CAAC;KACpE,MAAM,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;KACzD,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;KACjD,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,IAAI,CAAC;KACtD,MAAM,CAAC,0BAAe,CAAC,CAAC;AAE3B,mBAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,gEAAgE,CAAC;KAC7E,MAAM,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;KACzD,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;KACjD,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExB,mEAAmE;AACnE,WAAW;AACX,mEAAmE;AACnE,mBAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,8CAA8C,CAAC;KAC3D,MAAM,CAAC,aAAa,EAAE,yBAAyB,CAAC;KAChD,MAAM,CAAC,mBAAmB,EAAE,uCAAuC,CAAC;KACpE,MAAM,CAAC,mBAAmB,EAAE,oCAAoC,CAAC;KACjE,MAAM,CAAC,qBAAqB,EAAE,uDAAuD,CAAC;KACtF,MAAM,CAAC,SAAS,EAAE,gCAAgC,CAAC;KACnD,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,mBAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,yBAAyB,CAAC;KACtC,MAAM,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;KACzD,MAAM,CAAC,mBAAmB,EAAE,qCAAqC,EAAE,UAAU,CAAC;KAC9E,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;KACjD,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;KACzC,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;KACzC,MAAM,CAAC,SAAS,EAAE,0BAA0B,CAAC;KAC7C,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,mBAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,iDAAiD,CAAC;KAC9D,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC;KACvD,MAAM,CAAC,mBAAmB,EAAE,2CAA2C,EAAE,MAAM,CAAC;KAChF,MAAM,CAAC,qBAAqB,EAAE,6CAA6C,CAAC;KAC5E,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;KACnD,MAAM,CAAC,iCAAkB,CAAC,CAAC;AAE9B,mEAAmE;AACnE,QAAQ;AACR,mEAAmE;AACnE,mBAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,iCAAiC,CAAC;KAC9C,MAAM,CAAC,qBAAqB,EAAE,yCAAyC,CAAC;KACxE,MAAM,CAAC,oBAAoB,EAAE,4BAA4B,CAAC;KAC1D,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,mEAAmE;AACnE,WAAW;AACX,mEAAmE;AACnE,mBAAO;KACJ,OAAO,CAAC,uBAAuB,CAAC;KAChC,KAAK,CAAC,KAAK,CAAC;KACZ,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,eAAe,EAAE,6CAA6C,CAAC;KACtE,MAAM,CAAC,eAAe,EAAE,2BAA2B,CAAC;KACpD,MAAM,CAAC,SAAS,EAAE,oCAAoC,CAAC;KACvD,MAAM,CAAC,kDAA0B,CAAC,CAAC;AAEtC,mBAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,KAAK,CAAC,KAAK,CAAC;KACZ,WAAW,CAAC,iEAAiE,CAAC;KAC9E,MAAM,CAAC,mBAAmB,EAAE,kCAAkC,CAAC;KAC/D,MAAM,CAAC,wBAAwB,EAAE,kCAAkC,CAAC;KACpE,MAAM,CAAC,uBAAuB,EAAE,2CAA2C,CAAC;KAC5E,MAAM,CAAC,4BAAgB,CAAC,CAAC;AAE5B,mBAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,uDAAuD,CAAC;KACpE,MAAM,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;KACzD,MAAM,CAAC,yBAAyB,EAAE,wCAAwC,EAAE,WAAW,CAAC;KACxF,MAAM,CAAC,QAAQ,EAAE,iCAAiC,CAAC;KACnD,MAAM,CAAC,WAAW,EAAE,kCAAkC,CAAC;KACvD,MAAM,CAAC,SAAS,EAAE,0BAA0B,CAAC;KAC7C,MAAM,CAAC,+BAAiB,CAAC,CAAC;AAE7B,mEAAmE;AACnE,UAAU;AACV,mEAAmE;AACnE,mBAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,gDAAgD,CAAC;KAC7D,MAAM,CAAC,mBAAmB,EAAE,cAAc,CAAC;KAC3C,MAAM,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;KAC7C,MAAM,CAAC,yBAAyB,EAAE,gBAAgB,CAAC;KACnD,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;KAClD,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;KAClD,MAAM,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;KACzD,MAAM,CAAC,SAAS,EAAE,4BAA4B,CAAC;KAC/C,MAAM,CAAC,wBAAc,CAAC,CAAC;AAE1B,mEAAmE;AACnE,QAAQ;AACR,mEAAmE;AACnE,mBAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,mBAAmB,EAAE,aAAa,CAAC;KAC1C,MAAM,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;KACzD,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;KACrD,MAAM,CAAC,WAAW,EAAE,uCAAuC,CAAC;KAC5D,MAAM,CAAC,0BAAe,CAAC,CAAC;AAE3B,mBAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,oEAAoE,CAAC;KACjF,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;KACpD,MAAM,CAAC,mCAAmB,CAAC,CAAC;AAE/B,mBAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,iCAAiC,CAAC;KAC9C,MAAM,CAAC,YAAY,EAAE,gCAAgC,CAAC;KACtD,MAAM,CAAC,wBAAc,CAAC,CAAC;AAE1B,mEAAmE;AACnE,mBAAmB;AACnB,mEAAmE;AACnE,mBAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,6EAA6E,CAAC;KAC1F,MAAM,CAAC,YAAY,EAAE,gCAAgC,CAAC;KACtD,MAAM,CAAC,aAAa,EAAE,0BAA0B,CAAC;KACjD,MAAM,CAAC,aAAa,EAAE,0BAA0B,EAAE,GAAG,CAAC;KACtD,MAAM,CAAC,mBAAmB,EAAE,8BAA8B,EAAE,QAAQ,CAAC;KACrE,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,mBAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,iEAAiE,CAAC;KAC9E,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC;KACxC,MAAM,CAAC,QAAQ,EAAE,oBAAoB,CAAC;KACtC,MAAM,CAAC,kBAAkB,EAAE,qCAAqC,CAAC;KACjE,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;KACjD,MAAM,CAAC,YAAY,EAAE,6BAA6B,CAAC;KACnD,MAAM,CAAC,0BAAe,CAAC,CAAC;AAE3B,mBAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,2BAA2B,CAAC;KAC9E,MAAM,CAAC,4BAAgB,CAAC,CAAC;AAE5B,mBAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,2EAA2E,CAAC;KACxF,MAAM,CAAC,OAAO,EAAE,yBAAyB,CAAC;KAC1C,MAAM,CAAC,UAAU,EAAE,wBAAwB,CAAC;KAC5C,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExB,MAAM;AACN,mBAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,sDAAsD,CAAC;KACnE,MAAM,CAAC,iBAAiB,EAAE,2CAA2C,CAAC;KACtE,MAAM,CAAC,mBAAmB,EAAE,uCAAuC,CAAC;KACpE,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;KACtC,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC;KACvD,MAAM,CAAC,6BAA6B,EAAE,0BAA0B,CAAC;KACjE,MAAM,CAAC,SAAS,EAAE,0BAA0B,CAAC;KAC7C,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,mEAAmE;AACnE,iBAAiB;AACjB,mEAAmE;AACnE,mBAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,4DAA4D,CAAC;KACzE,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC;KAC/C,MAAM,CAAC,eAAe,EAAE,yEAAyE,CAAC;KAClG,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC;KAC3C,MAAM,CAAC,yBAAyB,EAAE,6CAA6C,CAAC;KAChF,MAAM,CAAC,gBAAgB,EAAE,2BAA2B,CAAC;KACrD,MAAM,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;KACvD,MAAM,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;KACzD,MAAM,CAAC,yBAAc,CAAC,CAAC;AAE1B,mBAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,KAAK,CAAC,MAAM,CAAC;KACb,WAAW,CAAC,iDAAiD,CAAC;KAC9D,MAAM,CAAC,eAAe,EAAE,6CAA6C,CAAC;KACtE,MAAM,CAAC,sBAAsB,EAAE,uBAAuB,CAAC;KACvD,MAAM,CAAC,eAAe,EAAE,wBAAwB,CAAC;KACjD,MAAM,CAAC,WAAW,EAAE,gCAAgC,CAAC;KACrD,MAAM,CAAC,iCAAkB,CAAC,CAAC;AAE9B,mBAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,sDAAsD,CAAC;KACnE,MAAM,CAAC,WAAW,EAAE,iCAAiC,CAAC;KACtD,MAAM,CAAC,iCAAkB,CAAC,CAAC;AAE9B,mBAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,KAAK,CAAC,KAAK,CAAC;KACZ,WAAW,CAAC,8DAA8D,CAAC;KAC3E,MAAM,CAAC,aAAa,CAAC;KACnB,MAAM,CAAC,eAAe,EAAE,qCAAqC,CAAC;KAChE,MAAM,CAAC,wBAAc,CAAC,CAAC;AAE1B,mEAAmE;AACnE,aAAa;AACb,mEAAmE;AACnE,gBAAgB;AAChB,mBAAO;KACJ,OAAO,CAAC,IAAI,CAAC;KACb,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;KACzD,MAAM,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;KACrD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC;KACjC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;KAC3B,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,CAAC;KAClE,MAAM,CAAC,0BAAe,CAAC,CAAC;AAE3B,gBAAgB;AAChB,mBAAO;KACJ,OAAO,CAAC,oBAAoB,CAAC;KAC7B,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,8BAAiB,CAAC,CAAC;AAE7B,mBAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;KACzC,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;KACjD,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,cAAc;AACd,mBAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExB,mBAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,UAAU,EAAE,yBAAyB,CAAC;KAC7C,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC;KACzC,MAAM,CAAC,wBAAc,CAAC,CAAC;AAE1B,YAAY;AACZ,mBAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,+BAA+B,CAAC;KAC5C,MAAM,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;KACpD,MAAM,CAAC,mBAAmB,EAAE,+CAA+C,CAAC;KAC5E,MAAM,CAAC,uBAAuB,EAAE,2BAA2B,CAAC;KAC5D,MAAM,CAAC,mBAAmB,EAAE,eAAe,CAAC;KAC5C,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC;KACpC,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC;KACpD,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;KACtC,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,cAAc;AACd,mBAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,4CAA4C,CAAC;KACzD,cAAc,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;KAC9D,cAAc,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;KAC9D,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,mBAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,YAAY,EAAE,2BAA2B,CAAC;KACjD,MAAM,CAAC,aAAa,EAAE,oBAAoB,CAAC;KAC3C,MAAM,CAAC,QAAQ,EAAE,oBAAoB,CAAC;KACtC,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExB,cAAc;AACd,mBAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,wEAAwE,CAAC;KACrF,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;KAC1C,MAAM,CAAC,oBAAoB,EAAE,0BAA0B,CAAC;KACxD,MAAM,CAAC,SAAS,EAAE,0BAA0B,CAAC;KAC7C,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,cAAc;AACd,mBAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,aAAa,EAAE,wBAAwB,CAAC;KAC/C,MAAM,CAAC,oBAAoB,EAAE,8BAA8B,CAAC;KAC5D,MAAM,CAAC,CAAC,KAAa,EAAE,IAAS,EAAE,EAAE,CAAC,IAAA,sBAAa,EAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAE3E,mBAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,KAAK,CAAC,KAAK,CAAC;KACZ,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,aAAa,EAAE,uBAAuB,CAAC;KAC9C,MAAM,CAAC,oBAAoB,EAAE,4BAA4B,CAAC;KAC1D,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExB,kBAAkB;AAClB,mBAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface AnalyzeOptions {
2
+ iteration?: string;
3
+ output?: string;
4
+ auto?: boolean;
5
+ }
6
+ export declare function analyzeCommand(options: AnalyzeOptions): Promise<void>;
7
+ //# sourceMappingURL=analyze.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAgE3E"}
@@ -0,0 +1,369 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.analyzeCommand = analyzeCommand;
4
+ /**
5
+ * analyze — 需求分析 + 源码对标 + 技术方案确认
6
+ * 流程:读取 REQUIREMENT.md → 分析 CODE_INDEX/ARCHITECTURE → 产出 ANALYSIS.md
7
+ */
8
+ const fs_extra_1 = require("fs-extra");
9
+ const path_1 = require("path");
10
+ const logger_1 = require("../utils/logger");
11
+ const context_1 = require("../core/context");
12
+ const next_steps_1 = require("../core/next-steps");
13
+ async function analyzeCommand(options) {
14
+ let spinner = new logger_1.Spinner('正在分析需求...');
15
+ spinner.start();
16
+ try {
17
+ const iteration = await (0, context_1.getDefaultIteration)(options.iteration);
18
+ if (!iteration) {
19
+ spinner.fail('无效期次');
20
+ return;
21
+ }
22
+ const iterDir = `期次-${iteration}`;
23
+ const reqPath = (0, path_1.join)(iterDir, '00-需求文档', 'REQUIREMENT.md');
24
+ if (!(await (0, fs_extra_1.pathExists)(reqPath))) {
25
+ spinner.fail(`未找到需求文档: ${reqPath}`);
26
+ logger_1.logger.info('请先运行: speccore word2spec --files "..." -i ' + iteration);
27
+ return;
28
+ }
29
+ const reqContent = await (0, fs_extra_1.readFile)(reqPath, 'utf-8');
30
+ const cwd = process.cwd();
31
+ // ── 1. 需求完整性扫描 ──
32
+ spinner.stop();
33
+ spinner = new logger_1.Spinner('扫描需求完整性...');
34
+ spinner.start();
35
+ const issues = await scanCompleteness(reqContent);
36
+ // ── 2. 源码对标 ──
37
+ spinner.stop();
38
+ spinner = new logger_1.Spinner('对标现有源码...');
39
+ spinner.start();
40
+ const codeMatches = await matchCode(cwd, reqContent);
41
+ // ── 3. 架构分析 ──
42
+ spinner.stop();
43
+ spinner = new logger_1.Spinner('分析架构影响...');
44
+ spinner.start();
45
+ const archImpact = await analyzeArchitecture(cwd, reqContent);
46
+ // ── 4. 生成分析报告 ──
47
+ spinner.stop();
48
+ spinner = new logger_1.Spinner('生成分析报告...');
49
+ spinner.start();
50
+ const report = buildAnalysisReport(iteration, issues, codeMatches, archImpact);
51
+ const outputPath = (0, path_1.join)(iterDir, '00-需求文档', options.output || 'ANALYSIS.md');
52
+ await (0, fs_extra_1.writeFile)(outputPath, report);
53
+ spinner.stop(`✅ 分析完成 → ${outputPath}`);
54
+ // ── 5. 摘要输出 ──
55
+ logger_1.logger.info('');
56
+ logger_1.logger.info('📊 分析摘要:');
57
+ logger_1.logger.info(` 🔴 阻断问题: ${issues.filter(i => i.severity === 'blocker').length} 个`);
58
+ logger_1.logger.info(` 🟡 待确认: ${issues.filter(i => i.severity === 'warning').length} 个`);
59
+ logger_1.logger.info(` 📁 涉及仓库: ${codeMatches.length} 个`);
60
+ logger_1.logger.info(` ⚡ 影响模块: ${archImpact.modules.length} 个`);
61
+ if (issues.some(i => i.severity === 'blocker')) {
62
+ logger_1.logger.warn('\n⚠️ 存在阻断问题,建议解决后再拆分任务。');
63
+ logger_1.logger.info(` 详细报告: ${outputPath}`);
64
+ }
65
+ else {
66
+ logger_1.logger.info('\n✅ 未发现阻断问题,可以继续拆分任务。');
67
+ (0, next_steps_1.showNextSteps)('analyze');
68
+ }
69
+ }
70
+ catch (error) {
71
+ spinner.fail(`分析失败: ${error}`);
72
+ throw error;
73
+ }
74
+ }
75
+ async function scanCompleteness(content) {
76
+ const issues = [];
77
+ const lines = content.split('\n');
78
+ // 1. 检查接口表格是否完整
79
+ let inTable = false;
80
+ let tableRowCount = 0;
81
+ let incompleteRows = [];
82
+ for (const line of lines) {
83
+ if (line.match(/^\|.*\|.*\|.*\|$/)) {
84
+ if (line.includes(':---')) {
85
+ inTable = true;
86
+ continue;
87
+ }
88
+ if (inTable) {
89
+ tableRowCount++;
90
+ const cells = line.split('|').map(c => c.trim()).filter(Boolean);
91
+ if (cells.length < 3 || cells.some(c => !c)) {
92
+ incompleteRows.push(` - ${line.trim()}`);
93
+ }
94
+ }
95
+ }
96
+ else {
97
+ inTable = false;
98
+ }
99
+ }
100
+ if (tableRowCount === 0) {
101
+ issues.push({
102
+ severity: 'warning',
103
+ category: '接口定义',
104
+ message: '需求中未检测到接口表格。建议补充「方法 | 路径 | 说明」格式的接口定义。',
105
+ });
106
+ }
107
+ if (incompleteRows.length > 0) {
108
+ issues.push({
109
+ severity: 'blocker',
110
+ category: '接口定义',
111
+ message: `以下接口行缺少必填字段(方法/路径/说明):\n${incompleteRows.join('\n')}`,
112
+ });
113
+ }
114
+ // 2. 检查是否有空 section(只有标题,无内容)
115
+ const sections = content.match(/^(#{2,3})\s+(.+)$/gm) || [];
116
+ let prevIdx = 0;
117
+ for (let i = 0; i < sections.length; i++) {
118
+ const idx = content.indexOf(sections[i], prevIdx);
119
+ const nextIdx = i + 1 < sections.length
120
+ ? content.indexOf(sections[i + 1], idx + 1)
121
+ : content.length;
122
+ const sectionContent = content.substring(idx + sections[i].length, nextIdx).trim();
123
+ if (!sectionContent || sectionContent.length < 20) {
124
+ issues.push({
125
+ severity: 'warning',
126
+ category: '内容完整性',
127
+ message: `章节「${sections[i].replace(/^#+\s*/, '')}」内容过少(${sectionContent.length} 字符),可能需要补充`,
128
+ location: sections[i],
129
+ });
130
+ }
131
+ prevIdx = idx;
132
+ }
133
+ // 3. 检查是否缺少关键章节
134
+ const hasInterfaces = content.includes('接口') || content.includes('API');
135
+ const hasDataModel = content.includes('数据模型') || content.includes('数据表') || content.includes('数据库');
136
+ if (!hasInterfaces) {
137
+ issues.push({
138
+ severity: 'warning',
139
+ category: '内容完整性',
140
+ message: '未找到接口定义章节。建议添加「接口定义」部分。',
141
+ });
142
+ }
143
+ if (!hasDataModel) {
144
+ issues.push({
145
+ severity: 'info',
146
+ category: '内容完整性',
147
+ message: '未找到数据模型/数据表描述。如需数据库变更,建议补充。',
148
+ });
149
+ }
150
+ return issues;
151
+ }
152
+ async function matchCode(cwd, reqContent) {
153
+ const matches = [];
154
+ // 1. 读取 CODE_INDEX 获取所有仓库
155
+ const codeIndexPath = (0, path_1.join)(cwd, '.speccore', 'GLOBAL', 'CODE_INDEX.md');
156
+ let repos = [];
157
+ if (await (0, fs_extra_1.pathExists)(codeIndexPath)) {
158
+ const codeIndex = await (0, fs_extra_1.readFile)(codeIndexPath, 'utf-8');
159
+ const tableRows = codeIndex.match(/^\| .* \|.* \|.* \|/gm) || [];
160
+ for (const row of tableRows) {
161
+ const cells = row.split('|').map(c => c.trim()).filter(Boolean);
162
+ if (cells.length >= 3 && !cells[0].includes('---') && cells[0] !== '项目名') {
163
+ repos.push({ name: cells[0], url: cells[1] || '', branch: cells[2] || '' });
164
+ }
165
+ }
166
+ }
167
+ // 2. 提取需求中的关键词(路径、模块名、表名)
168
+ const keywords = extractKeywords(reqContent);
169
+ // 3. 读本地源代码目录匹配
170
+ const srcDirs = ['src', 'app', 'lib', 'services', 'controllers', 'models', 'routes'];
171
+ for (const dir of srcDirs) {
172
+ const dirPath = (0, path_1.join)(cwd, dir);
173
+ if (!(await (0, fs_extra_1.pathExists)(dirPath)))
174
+ continue;
175
+ const files = await (0, fs_extra_1.readdir)(dirPath);
176
+ for (const keyword of keywords) {
177
+ const matched = files.filter(f => f.toLowerCase().includes(keyword.toLowerCase()));
178
+ if (matched.length > 0) {
179
+ matches.push({
180
+ repo: `${dir}/`,
181
+ relevance: 'high',
182
+ reason: `匹配关键词「${keyword}」: ${matched.join(', ')}`,
183
+ files: matched,
184
+ });
185
+ }
186
+ }
187
+ }
188
+ // 4. 匹配 CODE_INDEX 中的仓库
189
+ for (const repo of repos) {
190
+ for (const keyword of keywords) {
191
+ if (repo.name.toLowerCase().includes(keyword.toLowerCase()) ||
192
+ repo.url.toLowerCase().includes(keyword.toLowerCase())) {
193
+ matches.push({
194
+ repo: repo.name,
195
+ relevance: 'high',
196
+ reason: `仓库名匹配关键词「${keyword}」`,
197
+ });
198
+ }
199
+ }
200
+ }
201
+ // 去重
202
+ const seen = new Set();
203
+ return matches.filter(m => {
204
+ const key = m.repo + m.reason;
205
+ if (seen.has(key))
206
+ return false;
207
+ seen.add(key);
208
+ return true;
209
+ });
210
+ }
211
+ function extractKeywords(content) {
212
+ // 从需求和接口路径中提取关键词
213
+ const keywords = [];
214
+ // 提取接口路径中的模块名
215
+ const pathMatches = content.match(/\/api\/\w+\/(\w+)/g) || [];
216
+ for (const path of pathMatches) {
217
+ const parts = path.split('/');
218
+ const module = parts[parts.length - 1] || parts[parts.length - 2];
219
+ if (module)
220
+ keywords.push(module);
221
+ }
222
+ // 提取英文模块名
223
+ const moduleMatches = content.match(/\b([A-Z][a-z]+(?:[A-Z][a-z]+)+)\b/g) || [];
224
+ keywords.push(...moduleMatches);
225
+ // 提取中文关键词(名词短语)
226
+ const cnMatches = content.match(/(?:用户|订单|支付|商品|消息|权限|日志|报表|配置|审计|通知|审批|工作流|搜索|推荐|统计|监控|调度|网关|缓存|队列)/g) || [];
227
+ keywords.push(...cnMatches);
228
+ return [...new Set(keywords)].slice(0, 20);
229
+ }
230
+ async function analyzeArchitecture(cwd, reqContent) {
231
+ const impact = { modules: [], newDependencies: [], risks: [] };
232
+ // 1. 读取架构文档
233
+ const archPath = (0, path_1.join)(cwd, '.speccore', 'GLOBAL', 'ARCHITECTURE.md');
234
+ if (await (0, fs_extra_1.pathExists)(archPath)) {
235
+ const archContent = await (0, fs_extra_1.readFile)(archPath, 'utf-8');
236
+ // 检查需求是否涉及现有模块
237
+ const moduleSection = archContent.match(/## 模块|## 系统边界|## 服务列表/);
238
+ if (moduleSection) {
239
+ impact.modules.push('⚠️ 需要对照 ARCHITECTURE.md 确认影响范围');
240
+ }
241
+ }
242
+ // 2. 检查跨模块依赖
243
+ const apiCalls = reqContent.match(/\/api\/[a-zA-Z0-9/-]+/g) || [];
244
+ const uniquePaths = [...new Set(apiCalls)];
245
+ impact.modules.push(...uniquePaths.map(p => `接口: ${p}`));
246
+ // 3. 新依赖检测
247
+ if (reqContent.includes('消息队列') || reqContent.includes('MQ') || reqContent.includes('Kafka')) {
248
+ impact.newDependencies.push('消息队列');
249
+ }
250
+ if (reqContent.includes('缓存') || reqContent.includes('Redis') || reqContent.includes('Cache')) {
251
+ impact.newDependencies.push('缓存服务 (Redis)');
252
+ }
253
+ if (reqContent.includes('OSS') || reqContent.includes('对象存储') || reqContent.includes('文件上传')) {
254
+ impact.newDependencies.push('对象存储 (OSS/S3)');
255
+ }
256
+ if (reqContent.includes('WebSocket') || reqContent.includes('实时') || reqContent.includes('推送')) {
257
+ impact.newDependencies.push('WebSocket 实时通信');
258
+ }
259
+ if (reqContent.includes('定时') || reqContent.includes('调度') || reqContent.includes('Cron')) {
260
+ impact.newDependencies.push('定时任务调度');
261
+ }
262
+ if (reqContent.includes('ES') || reqContent.includes('搜索') || reqContent.includes('全文')) {
263
+ impact.newDependencies.push('搜索引擎 (Elasticsearch)');
264
+ }
265
+ // 4. 风险检测
266
+ if (reqContent.includes('批量删除') || reqContent.includes('批量操作')) {
267
+ impact.risks.push('存在批量操作,需考虑事务一致性和性能');
268
+ }
269
+ if (reqContent.includes('导出') || reqContent.includes('报表')) {
270
+ impact.risks.push('存在导出/报表功能,需考虑大数据量时的内存和超时');
271
+ }
272
+ if (reqContent.includes('权限') || reqContent.includes('角色') || reqContent.includes('RBAC')) {
273
+ impact.risks.push('涉及权限变更,需确认 RBAC 模型兼容性');
274
+ }
275
+ return impact;
276
+ }
277
+ // ================================================================
278
+ // 生成分析报告
279
+ // ================================================================
280
+ function buildAnalysisReport(iteration, issues, codeMatches, archImpact) {
281
+ const now = new Date().toISOString().split('T')[0];
282
+ const blockerCount = issues.filter(i => i.severity === 'blocker').length;
283
+ const warningCount = issues.filter(i => i.severity === 'warning').length;
284
+ let report = `# 需求分析报告\n\n`;
285
+ report += `> 期次: ${iteration} | 分析时间: ${now} | 状态: ${blockerCount > 0 ? '🔴 有阻断' : '🟢 可拆分'}\n\n`;
286
+ report += `---\n\n`;
287
+ // 1. 完整性检查
288
+ report += `## 1. 需求完整性检查\n\n`;
289
+ report += `| 严重度 | 分类 | 问题 |\n`;
290
+ report += `| :--- | :--- | :--- |\n`;
291
+ for (const issue of issues) {
292
+ const icon = issue.severity === 'blocker' ? '🔴' : issue.severity === 'warning' ? '🟡' : 'ℹ️';
293
+ report += `| ${icon} ${issue.severity} | ${issue.category} | ${issue.message.replace(/\n/g, '<br>')} |\n`;
294
+ }
295
+ if (issues.length === 0) {
296
+ report += `| ✅ | - | 未发现明显问题 |\n`;
297
+ }
298
+ report += `\n`;
299
+ // 2. 源码对标
300
+ report += `## 2. 源码对标\n\n`;
301
+ if (codeMatches.length > 0) {
302
+ report += `| 仓库/目录 | 关联度 | 原因 |\n`;
303
+ report += `| :--- | :--- | :--- |\n`;
304
+ for (const m of codeMatches) {
305
+ report += `| ${m.repo} | ${m.relevance} | ${m.reason} |\n`;
306
+ }
307
+ }
308
+ else {
309
+ report += `> ⚠️ 未匹配到相关源码。请确认 CODE_INDEX.md 是否已配置。\n`;
310
+ }
311
+ report += `\n`;
312
+ // 3. 架构影响
313
+ report += `## 3. 架构影响\n\n`;
314
+ if (archImpact.modules.length > 0) {
315
+ report += `### 涉及模块\n`;
316
+ for (const m of archImpact.modules) {
317
+ report += `- ${m}\n`;
318
+ }
319
+ report += `\n`;
320
+ }
321
+ if (archImpact.newDependencies.length > 0) {
322
+ report += `### 新增依赖\n`;
323
+ for (const d of archImpact.newDependencies) {
324
+ report += `- [ ] ${d}\n`;
325
+ }
326
+ report += `\n`;
327
+ }
328
+ if (archImpact.risks.length > 0) {
329
+ report += `### ⚠️ 风险提示\n`;
330
+ for (const r of archImpact.risks) {
331
+ report += `- ${r}\n`;
332
+ }
333
+ report += `\n`;
334
+ }
335
+ // 4. 待确认清单
336
+ report += `## 4. 待确认清单\n\n`;
337
+ report += `> 以下问题需要团队在拆分任务前确认。\n\n`;
338
+ for (const issue of issues.filter(i => i.severity !== 'info')) {
339
+ report += `- [ ] ${issue.message.replace(/\n/g, ' ').slice(0, 100)}\n`;
340
+ }
341
+ for (const risk of archImpact.risks) {
342
+ report += `- [ ] ${risk}\n`;
343
+ }
344
+ if (archImpact.newDependencies.length > 0) {
345
+ report += `- [ ] 确认新增依赖的引入方案和排期\n`;
346
+ }
347
+ report += `\n---\n\n`;
348
+ report += `## 5. 技术方案(待填写)\n\n`;
349
+ report += `> 以下由技术负责人/开发团队填写,确认后执行 \`speccore iteration split\`。\n\n`;
350
+ report += `### 技术选型\n\n`;
351
+ report += `| 模块 | 技术方案 | 负责人 | 预计工时 |\n`;
352
+ report += `| :--- | :--- | :--- | :--- |\n`;
353
+ report += `| | | | |\n\n`;
354
+ report += `### 数据库变更\n\n`;
355
+ report += `| 表名 | 变更类型 | 说明 |\n`;
356
+ report += `| :--- | :--- | :--- |\n`;
357
+ report += `| | | |\n\n`;
358
+ report += `### 接口依赖\n\n`;
359
+ report += `| 调用方 | 被调用方 | 接口 | 说明 |\n`;
360
+ report += `| :--- | :--- | :--- | :--- |\n`;
361
+ report += `| | | | |\n\n`;
362
+ report += `### 确认签字\n\n`;
363
+ report += `- [ ] 需求确认无遗漏\n`;
364
+ report += `- [ ] 技术方案评审通过\n`;
365
+ report += `- [ ] 工时评估合理\n`;
366
+ report += `- [ ] 可以开始拆分任务\n`;
367
+ return report;
368
+ }
369
+ //# sourceMappingURL=analyze.js.map