openfeel 1.1.1 → 1.1.3

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 (196) hide show
  1. package/README.en.md +41 -11
  2. package/README.md +8 -3
  3. package/README.zh-CN.md +42 -12
  4. package/bin/openfeel.js +5 -0
  5. package/dist/cli/index.d.ts +15 -3
  6. package/dist/cli/index.d.ts.map +1 -1
  7. package/dist/cli/index.js +59 -15
  8. package/dist/cli/index.js.map +1 -1
  9. package/dist/cli/output-encoding.d.ts +32 -0
  10. package/dist/cli/output-encoding.d.ts.map +1 -0
  11. package/dist/cli/output-encoding.js +120 -0
  12. package/dist/cli/output-encoding.js.map +1 -0
  13. package/dist/cli/repl.d.ts +2 -2
  14. package/dist/cli/repl.d.ts.map +1 -1
  15. package/dist/cli/repl.js +46 -25
  16. package/dist/cli/repl.js.map +1 -1
  17. package/dist/commands/config.d.ts.map +1 -1
  18. package/dist/commands/config.js +56 -9
  19. package/dist/commands/config.js.map +1 -1
  20. package/dist/commands/flow.d.ts.map +1 -1
  21. package/dist/commands/flow.js +827 -138
  22. package/dist/commands/flow.js.map +1 -1
  23. package/dist/commands/init.d.ts.map +1 -1
  24. package/dist/commands/init.js +56 -42
  25. package/dist/commands/init.js.map +1 -1
  26. package/dist/commands/knowledge.d.ts.map +1 -1
  27. package/dist/commands/knowledge.js +69 -0
  28. package/dist/commands/knowledge.js.map +1 -1
  29. package/dist/commands/lint.d.ts.map +1 -1
  30. package/dist/commands/lint.js +17 -5
  31. package/dist/commands/lint.js.map +1 -1
  32. package/dist/commands/migrate.d.ts.map +1 -1
  33. package/dist/commands/migrate.js +6 -1
  34. package/dist/commands/migrate.js.map +1 -1
  35. package/dist/commands/model.d.ts.map +1 -1
  36. package/dist/commands/model.js +18 -1
  37. package/dist/commands/model.js.map +1 -1
  38. package/dist/commands/plan.d.ts.map +1 -1
  39. package/dist/commands/plan.js +185 -7
  40. package/dist/commands/plan.js.map +1 -1
  41. package/dist/commands/project.js +2 -2
  42. package/dist/commands/project.js.map +1 -1
  43. package/dist/commands/roadmap.d.ts.map +1 -1
  44. package/dist/commands/roadmap.js +20 -5
  45. package/dist/commands/roadmap.js.map +1 -1
  46. package/dist/commands/setup.d.ts +1 -1
  47. package/dist/commands/setup.d.ts.map +1 -1
  48. package/dist/commands/setup.js +8 -2
  49. package/dist/commands/setup.js.map +1 -1
  50. package/dist/commands/shared/errors.d.ts +22 -0
  51. package/dist/commands/shared/errors.d.ts.map +1 -0
  52. package/dist/commands/shared/errors.js +45 -0
  53. package/dist/commands/shared/errors.js.map +1 -0
  54. package/dist/commands/stage.d.ts.map +1 -1
  55. package/dist/commands/stage.js +133 -23
  56. package/dist/commands/stage.js.map +1 -1
  57. package/dist/commands/view.d.ts +1 -1
  58. package/dist/commands/view.d.ts.map +1 -1
  59. package/dist/commands/view.js +4 -26
  60. package/dist/commands/view.js.map +1 -1
  61. package/dist/core/archive/merge.d.ts.map +1 -1
  62. package/dist/core/archive/merge.js +9 -5
  63. package/dist/core/archive/merge.js.map +1 -1
  64. package/dist/core/artifact-graph/graph.d.ts +7 -2
  65. package/dist/core/artifact-graph/graph.d.ts.map +1 -1
  66. package/dist/core/artifact-graph/graph.js +25 -18
  67. package/dist/core/artifact-graph/graph.js.map +1 -1
  68. package/dist/core/artifact-graph/instruction-loader.d.ts.map +1 -1
  69. package/dist/core/artifact-graph/instruction-loader.js +4 -33
  70. package/dist/core/artifact-graph/instruction-loader.js.map +1 -1
  71. package/dist/core/backup.d.ts +28 -0
  72. package/dist/core/backup.d.ts.map +1 -0
  73. package/dist/core/backup.js +118 -0
  74. package/dist/core/backup.js.map +1 -0
  75. package/dist/core/config.d.ts +30 -19
  76. package/dist/core/config.d.ts.map +1 -1
  77. package/dist/core/config.js +86 -26
  78. package/dist/core/config.js.map +1 -1
  79. package/dist/core/flow-manager.d.ts +256 -5
  80. package/dist/core/flow-manager.d.ts.map +1 -1
  81. package/dist/core/flow-manager.js +908 -68
  82. package/dist/core/flow-manager.js.map +1 -1
  83. package/dist/core/fs/atomic-write.d.ts +3 -0
  84. package/dist/core/fs/atomic-write.d.ts.map +1 -1
  85. package/dist/core/fs/atomic-write.js +3 -0
  86. package/dist/core/fs/atomic-write.js.map +1 -1
  87. package/dist/core/fs/safe-read.d.ts +11 -0
  88. package/dist/core/fs/safe-read.d.ts.map +1 -0
  89. package/dist/core/fs/safe-read.js +31 -0
  90. package/dist/core/fs/safe-read.js.map +1 -0
  91. package/dist/core/global-paths.d.ts +16 -7
  92. package/dist/core/global-paths.d.ts.map +1 -1
  93. package/dist/core/global-paths.js +23 -8
  94. package/dist/core/global-paths.js.map +1 -1
  95. package/dist/core/i18n-data/en.d.ts +2 -0
  96. package/dist/core/i18n-data/en.d.ts.map +1 -1
  97. package/dist/core/i18n-data/en.js +259 -23
  98. package/dist/core/i18n-data/en.js.map +1 -1
  99. package/dist/core/i18n-data/zh-CN.d.ts +2 -0
  100. package/dist/core/i18n-data/zh-CN.d.ts.map +1 -1
  101. package/dist/core/i18n-data/zh-CN.js +265 -23
  102. package/dist/core/i18n-data/zh-CN.js.map +1 -1
  103. package/dist/core/i18n.d.ts +8 -0
  104. package/dist/core/i18n.d.ts.map +1 -1
  105. package/dist/core/i18n.js +14 -4
  106. package/dist/core/i18n.js.map +1 -1
  107. package/dist/core/init.d.ts +4 -2
  108. package/dist/core/init.d.ts.map +1 -1
  109. package/dist/core/init.js +38 -13
  110. package/dist/core/init.js.map +1 -1
  111. package/dist/core/managed-region.d.ts +1 -1
  112. package/dist/core/managed-region.js +1 -1
  113. package/dist/core/metrics.d.ts +16 -4
  114. package/dist/core/metrics.d.ts.map +1 -1
  115. package/dist/core/metrics.js +31 -11
  116. package/dist/core/metrics.js.map +1 -1
  117. package/dist/core/migrate.d.ts.map +1 -1
  118. package/dist/core/migrate.js +53 -19
  119. package/dist/core/migrate.js.map +1 -1
  120. package/dist/core/model-config.d.ts.map +1 -1
  121. package/dist/core/model-config.js +4 -2
  122. package/dist/core/model-config.js.map +1 -1
  123. package/dist/core/opencode-config.d.ts +4 -4
  124. package/dist/core/opencode-config.d.ts.map +1 -1
  125. package/dist/core/opencode-config.js +6 -5
  126. package/dist/core/opencode-config.js.map +1 -1
  127. package/dist/core/plan/path.d.ts +40 -0
  128. package/dist/core/plan/path.d.ts.map +1 -1
  129. package/dist/core/plan/path.js +108 -1
  130. package/dist/core/plan/path.js.map +1 -1
  131. package/dist/core/plan/roadmap.js +2 -2
  132. package/dist/core/plan/roadmap.js.map +1 -1
  133. package/dist/core/plan/scheme.d.ts +74 -2
  134. package/dist/core/plan/scheme.d.ts.map +1 -1
  135. package/dist/core/plan/scheme.js +311 -26
  136. package/dist/core/plan/scheme.js.map +1 -1
  137. package/dist/core/plan/stage.d.ts +34 -3
  138. package/dist/core/plan/stage.d.ts.map +1 -1
  139. package/dist/core/plan/stage.js +90 -6
  140. package/dist/core/plan/stage.js.map +1 -1
  141. package/dist/core/public-logger.d.ts +18 -5
  142. package/dist/core/public-logger.d.ts.map +1 -1
  143. package/dist/core/public-logger.js +62 -23
  144. package/dist/core/public-logger.js.map +1 -1
  145. package/dist/core/runtime-log.d.ts +25 -0
  146. package/dist/core/runtime-log.d.ts.map +1 -0
  147. package/dist/core/runtime-log.js +94 -0
  148. package/dist/core/runtime-log.js.map +1 -0
  149. package/dist/core/setup.d.ts.map +1 -1
  150. package/dist/core/setup.js +47 -19
  151. package/dist/core/setup.js.map +1 -1
  152. package/dist/core/template-loader.d.ts.map +1 -1
  153. package/dist/core/template-loader.js +672 -288
  154. package/dist/core/template-loader.js.map +1 -1
  155. package/dist/core/templates.d.ts +2 -2
  156. package/dist/core/templates.d.ts.map +1 -1
  157. package/dist/core/templates.js +13 -9
  158. package/dist/core/templates.js.map +1 -1
  159. package/dist/core/update-infos.d.ts +14 -3
  160. package/dist/core/update-infos.d.ts.map +1 -1
  161. package/dist/core/update-infos.js +67 -15
  162. package/dist/core/update-infos.js.map +1 -1
  163. package/dist/core/update-state.d.ts.map +1 -1
  164. package/dist/core/update-state.js +7 -4
  165. package/dist/core/update-state.js.map +1 -1
  166. package/dist/core/update.d.ts +2 -1
  167. package/dist/core/update.d.ts.map +1 -1
  168. package/dist/core/update.js +253 -61
  169. package/dist/core/update.js.map +1 -1
  170. package/dist/core/view/entry.d.ts +53 -1
  171. package/dist/core/view/entry.d.ts.map +1 -1
  172. package/dist/core/view/entry.js +71 -2
  173. package/dist/core/view/entry.js.map +1 -1
  174. package/dist/core/workspace/identity.d.ts.map +1 -1
  175. package/dist/core/workspace/identity.js +15 -5
  176. package/dist/core/workspace/identity.js.map +1 -1
  177. package/dist/core/workspace/knowledge.d.ts.map +1 -1
  178. package/dist/core/workspace/knowledge.js +125 -19
  179. package/dist/core/workspace/knowledge.js.map +1 -1
  180. package/dist/core/workspace/structure.d.ts.map +1 -1
  181. package/dist/core/workspace/structure.js +6 -2
  182. package/dist/core/workspace/structure.js.map +1 -1
  183. package/dist/index.d.ts +0 -1
  184. package/dist/index.d.ts.map +1 -1
  185. package/dist/index.js +1 -2
  186. package/dist/index.js.map +1 -1
  187. package/dist/utils/kb-dedup.d.ts +5 -1
  188. package/dist/utils/kb-dedup.d.ts.map +1 -1
  189. package/dist/utils/kb-dedup.js +11 -5
  190. package/dist/utils/kb-dedup.js.map +1 -1
  191. package/package.json +6 -6
  192. package/dist/utils/path.d.ts +0 -22
  193. package/dist/utils/path.d.ts.map +0 -1
  194. package/dist/utils/path.js +0 -37
  195. package/dist/utils/path.js.map +0 -1
  196. package/scripts/patch-inquirer.js +0 -70
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * setup 命令注册
3
- * openfeel setup [--lang <lang>] — 纯全局部署(全局 AGENTS.md + agent + skill + opencode.jsonc),不建项目 .openfeel/
3
+ * openfeel setup [--lang <lang>] — 纯全局部署(全局 AGENTS.md + agent + skill + 平台适配器配置(opencode.jsonc)),不建项目 .openfeel/
4
4
  */
5
5
  import { Command } from 'commander';
6
6
  export declare function registerSetupCommand(program: Command): void;
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAe3D"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiB3D"}
@@ -3,7 +3,7 @@ import { t, getCliLang } from '../core/i18n.js';
3
3
  export function registerSetupCommand(program) {
4
4
  program
5
5
  .command('setup')
6
- .description('部署全局 OpenFeel 框架配置(全局 AGENTS.md + agent + skill + opencode.jsonc),不建立项目 .openfeel/')
6
+ .description('部署全局 OpenFeel 框架配置(全局 AGENTS.md + agent + skill + 平台适配器配置:opencode.jsonc),不建立项目 .openfeel/')
7
7
  .option('--lang <lang>', 'Agent 提示词语言(zh-CN 或 en),默认 zh-CN')
8
8
  .action((options) => {
9
9
  const lang = getCliLang(process.cwd());
@@ -24,8 +24,14 @@ export function registerSetupCommand(program) {
24
24
  for (const f of r.appended)
25
25
  console.log(` ⚠ ${f}`);
26
26
  }
27
+ // 跳过项(内容一致未写入):对齐 init/update 口径,复用既有 i18n 键(T24)
28
+ if (r.skipped.length) {
29
+ console.log(t('update.skipped', lang));
30
+ for (const f of r.skipped)
31
+ console.log(` - ${f}`);
32
+ }
27
33
  console.log(t('setup.complete', lang));
28
- console.log(lang === 'en' ? 'Restart opencode to load the new global configuration.' : '请重启 opencode 以加载新的全局配置。');
34
+ console.log(lang === 'en' ? 'Restart the harness (opencode) to load the new global configuration.' : '请重启当前 harness(opencode)以加载新的全局配置。');
29
35
  });
30
36
  }
31
37
  //# sourceMappingURL=setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,oFAAoF,CAAC;SACjG,MAAM,CAAC,eAAe,EAAE,kCAAkC,CAAC;SAC3D,MAAM,CAAC,CAAC,OAA0B,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,IAAI,IAAI,OAAO,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;QAClG,MAAM,CAAC,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;YAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;QACpH,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;YAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;QACpH,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;YAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;QACvH,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,wDAAwD,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;IACpH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,4FAA4F,CAAC;SACzG,MAAM,CAAC,eAAe,EAAE,kCAAkC,CAAC;SAC3D,MAAM,CAAC,CAAC,OAA0B,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,IAAI,IAAI,OAAO,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;QAClG,MAAM,CAAC,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;YAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;QACpH,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;YAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;QACpH,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;YAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;QACvH,kDAAkD;QAClD,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;YAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;QACrH,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,sEAAsE,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC;IAC5I,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * 并发写冲突退出码(与 cli/index.ts EXIT_CONCURRENT 同值)。
3
+ * 此处独立定义以避免命令层 → cli 的循环依赖。
4
+ */
5
+ export declare const EXIT_CONCURRENT = 2;
6
+ /**
7
+ * 并发写冲突统一处理:输出唯一 i18n 文案并退出码 2(不返回)。
8
+ * @param err 并发写冲突错误(含 expectedRevision / actualRevision)
9
+ * @param lang 语言标识
10
+ */
11
+ export declare function handleConcurrentConflict(err: {
12
+ expectedRevision: number;
13
+ actualRevision: number;
14
+ }, lang: string): never;
15
+ /**
16
+ * addStage 失败统一处理(T42):并发写冲突 / 阶段目录冲突 / 其他错误三类分流。
17
+ * `stage create` 与 `flow stage add` 共用,保证两入口输出一致(不返回)。
18
+ * @param err 捕获到的错误
19
+ * @param lang 语言标识
20
+ */
21
+ export declare function handleAddStageError(err: unknown, lang: string): never;
22
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/errors.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE;IAAE,gBAAgB,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,EACzD,IAAI,EAAE,MAAM,GACX,KAAK,CAMP;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,CAcrE"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * 命令层共享错误处理(stage-50 op-004)
3
+ * 收敛「并发写冲突」与「addStage 失败」两类逐行复制逻辑到单点(T38 / T42)。
4
+ */
5
+ import { isFlowConcurrentError, StageDirConflictError } from '../../core/flow-manager.js';
6
+ import { t } from '../../core/i18n.js';
7
+ /**
8
+ * 并发写冲突退出码(与 cli/index.ts EXIT_CONCURRENT 同值)。
9
+ * 此处独立定义以避免命令层 → cli 的循环依赖。
10
+ */
11
+ export const EXIT_CONCURRENT = 2;
12
+ /**
13
+ * 并发写冲突统一处理:输出唯一 i18n 文案并退出码 2(不返回)。
14
+ * @param err 并发写冲突错误(含 expectedRevision / actualRevision)
15
+ * @param lang 语言标识
16
+ */
17
+ export function handleConcurrentConflict(err, lang) {
18
+ console.error(t('common.concurrentConflict', lang, {
19
+ expected: String(err.expectedRevision),
20
+ actual: String(err.actualRevision),
21
+ }));
22
+ process.exit(EXIT_CONCURRENT);
23
+ }
24
+ /**
25
+ * addStage 失败统一处理(T42):并发写冲突 / 阶段目录冲突 / 其他错误三类分流。
26
+ * `stage create` 与 `flow stage add` 共用,保证两入口输出一致(不返回)。
27
+ * @param err 捕获到的错误
28
+ * @param lang 语言标识
29
+ */
30
+ export function handleAddStageError(err, lang) {
31
+ // 并发写冲突:本次未写入 flow.json,输出可重试提示并退出码 2
32
+ if (isFlowConcurrentError(err)) {
33
+ handleConcurrentConflict(err, lang);
34
+ }
35
+ // 阶段目录冲突:按类型分流走 i18n 模板(cli/BUG-002 死键消除)
36
+ if (err instanceof StageDirConflictError) {
37
+ console.error(t('common.stageDirConflictTmpl', lang, { stage: err.stage, other: err.other }));
38
+ process.exit(1);
39
+ }
40
+ // 其他错误:通用错误模板
41
+ const msg = err instanceof Error ? err.message : String(err);
42
+ console.error(t('common.errorTmpl', lang, { msg }));
43
+ process.exit(1);
44
+ }
45
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/commands/shared/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AAEvC;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AAEjC;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,GAAyD,EACzD,IAAY;IAEZ,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,2BAA2B,EAAE,IAAI,EAAE;QACjD,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;QACtC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;KACnC,CAAC,CAAC,CAAC;IACJ,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAY,EAAE,IAAY;IAC5D,sCAAsC;IACtC,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,wBAAwB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,0CAA0C;IAC1C,IAAI,GAAG,YAAY,qBAAqB,EAAE,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,6BAA6B,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,cAAc;IACd,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7D,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../../src/commands/stage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuQpC;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwJ3D"}
1
+ {"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../../src/commands/stage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmSpC;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkP3D"}
@@ -4,8 +4,10 @@ import { atomicWriteFileSync } from '../core/fs/atomic-write.js';
4
4
  import { withFileLock, projectLockPath } from '../core/fs/file-lock.js';
5
5
  import fastGlob from 'fast-glob';
6
6
  import { t, getCliLang } from '../core/i18n.js';
7
- import { FlowManager, isFlowConcurrentError } from '../core/flow-manager.js';
8
- import { findStageStatusPath, planDirToStageId, parseStageId } from '../core/plan/path.js';
7
+ import { FlowManager } from '../core/flow-manager.js';
8
+ import { handleAddStageError } from './shared/errors.js';
9
+ import { findStageStatusPath, planDirToStageId, parseStageId, validateStageId, suggestStageId } from '../core/plan/path.js';
10
+ import { appendStatusTask } from '../core/plan/stage.js';
9
11
  /**
10
12
  * 根据 stageId 解析 status.md 文件路径
11
13
  * 三级回退:plan/{series}/ 精确 → plan 递归 → stages 兜底(委托 path.ts)
@@ -166,6 +168,24 @@ function setStatusField(projectPath, statusPath, key, newValue) {
166
168
  return true;
167
169
  });
168
170
  }
171
+ /**
172
+ * 探测字段写入结果(纯读,不写盘,N5-1)。
173
+ * - `not-found`:status.md 中不存在该字段行
174
+ * - `unchanged`:字段存在且值逐字符相同(同值 → no-op 成功)
175
+ * - `will-change`:字段存在且值不同(将发生变更)
176
+ * @param statusPath status.md 绝对路径
177
+ * @param field 字段名(如「状态」「执行模式」)
178
+ * @param value 目标值
179
+ */
180
+ function probeStatusField(statusPath, field, value) {
181
+ const content = readFileSync(statusPath, 'utf-8');
182
+ const fieldRegex = new RegExp(`^(-\\s*(?:\\*\\*)?${escapeRegex(field)}(?:\\*\\*)?[::]\\s*)(.*)$`, 'm');
183
+ const m = content.match(fieldRegex);
184
+ if (!m) {
185
+ return 'not-found';
186
+ }
187
+ return m[2] === value ? 'unchanged' : 'will-change';
188
+ }
169
189
  /**
170
190
  * 切换任务的 checkbox 状态
171
191
  * 读-改-写整体在 status-{stageDir}.lock 临界区内完成
@@ -241,12 +261,15 @@ export function registerStageCommand(program) {
241
261
  }
242
262
  showStageStatus(statusPath, stageId);
243
263
  });
244
- // ═══ stage set <stageId> --status <value> ═══
264
+ // ═══ stage set <stageId> [--status|--exec-mode|--auto-advance|--review-agent] ═══
245
265
  stage
246
266
  .command('set')
247
267
  .description('设置阶段状态字段(原子更新,保留其余内容不变)')
248
268
  .argument('<stageId>', '阶段 ID(如 v4-stage-04)')
249
- .requiredOption('--status <value>', '状态值(如 exec_running)')
269
+ .option('--status <value>', '状态值(如 exec_running)')
270
+ .option('--exec-mode <mode>', '执行模式(manual | auto)')
271
+ .option('--auto-advance <value>', '自动推进(enabled | disabled)')
272
+ .option('--review-agent <agent>', '当前责任 Agent(如 openfeel-executor)')
250
273
  .action((stageId, options) => {
251
274
  const projectPath = process.cwd();
252
275
  const lang = getCliLang(projectPath);
@@ -255,21 +278,75 @@ export function registerStageCommand(program) {
255
278
  console.error(t('stage.errorStageNotFoundTmpl', lang, { stageId }));
256
279
  process.exit(1);
257
280
  }
258
- // 写操作前备份
259
- backupStatus(statusPath, stageId);
260
- const ok = setStatusField(projectPath, statusPath, '状态', options.status);
261
- if (!ok) {
262
- console.error(t('stage.set.errorFieldNotFoundTmpl', lang, { stageId }));
281
+ // N7-1:字段白名单(A4)+ 固定写入顺序(状态 → 执行模式 → 自动推进 → 当前责任 Agent)
282
+ const jobs = [];
283
+ if (options.status !== undefined) {
284
+ jobs.push({ field: '状态', value: options.status });
285
+ }
286
+ if (options.execMode !== undefined) {
287
+ jobs.push({ field: '执行模式', value: options.execMode, allowed: ['manual', 'auto'] });
288
+ }
289
+ if (options.autoAdvance !== undefined) {
290
+ jobs.push({ field: '自动推进', value: options.autoAdvance, allowed: ['enabled', 'disabled'] });
291
+ }
292
+ if (options.reviewAgent !== undefined) {
293
+ const agent = options.reviewAgent.trim();
294
+ if (!agent) {
295
+ // 空 agent:非法值 → exit 1 且不写盘
296
+ console.error(t('stage.set.invalidValueTmpl', lang, { field: '当前责任 Agent', value: options.reviewAgent, allowed: 'non-empty' }));
297
+ process.exit(1);
298
+ return;
299
+ }
300
+ jobs.push({ field: '当前责任 Agent', value: agent });
301
+ }
302
+ if (jobs.length === 0) {
303
+ console.error(t('stage.set.noOptionTmpl', lang));
263
304
  process.exit(1);
305
+ return;
306
+ }
307
+ // 枚举校验:任一非法 → exit 1 且不写盘
308
+ for (const job of jobs) {
309
+ if (job.allowed && !job.allowed.includes(job.value)) {
310
+ console.error(t('stage.set.invalidValueTmpl', lang, { field: job.field, value: job.value, allowed: job.allowed.join(' / ') }));
311
+ process.exit(1);
312
+ return;
313
+ }
314
+ }
315
+ // N5-2:先探测后写(同值 no-op 成功;`.bak` 仅在确认变更后生成)
316
+ const applied = [];
317
+ for (const job of jobs) {
318
+ const probe = probeStatusField(statusPath, job.field, job.value);
319
+ if (probe === 'not-found') {
320
+ if (applied.length > 0) {
321
+ console.error(t('stage.set.multiPartialTmpl', lang, { done: applied.join(', '), field: job.field }));
322
+ }
323
+ console.error(t('stage.set.errorFieldNotFoundTmpl', lang, { stageId, field: job.field }));
324
+ process.exit(1);
325
+ return;
326
+ }
327
+ if (probe === 'unchanged') {
328
+ console.log(t('stage.set.noopTmpl', lang, { field: job.field }));
329
+ continue;
330
+ }
331
+ // will-change:备份 → 原子写
332
+ backupStatus(statusPath, stageId);
333
+ const ok = setStatusField(projectPath, statusPath, job.field, job.value);
334
+ if (!ok) {
335
+ console.error(t('stage.set.errorFieldNotFoundTmpl', lang, { stageId, field: job.field }));
336
+ process.exit(1);
337
+ return;
338
+ }
339
+ applied.push(job.field);
340
+ console.log(t('stage.set.updatedTmpl', lang, { stageId, field: job.field, value: job.value }));
264
341
  }
265
- console.log(t('stage.set.updatedTmpl', lang, { stageId, status: options.status }));
266
342
  });
267
- // ═══ stage task <stageId> <taskNo> --done|--undone ═══
343
+ // ═══ stage task <stageId> [taskNo] [--done|--undone] | --add <desc> ═══
268
344
  stage
269
345
  .command('task')
270
- .description('勾选或取消任务 checkbox')
346
+ .description('勾选/取消任务 checkbox,或追加任务')
271
347
  .argument('<stageId>', '阶段 ID(如 v4-stage-04)')
272
- .argument('<taskNo>', '任务编号(如 1)')
348
+ .argument('[taskNo]', '任务编号(如 1;--add 模式下可省略)')
349
+ .option('--add <desc>', '追加一条任务(与 --done/--undone 互斥)')
273
350
  .option('--done', '标记任务为已完成')
274
351
  .option('--undone', '标记任务为未完成')
275
352
  .action((stageId, taskNoStr, options) => {
@@ -280,6 +357,35 @@ export function registerStageCommand(program) {
280
357
  console.error(t('stage.errorStageNotFoundTmpl', lang, { stageId }));
281
358
  process.exit(1);
282
359
  }
360
+ // N6-1:--add 模式(与 --done/--undone 互斥)
361
+ if (options.add !== undefined) {
362
+ if (options.done || options.undone) {
363
+ console.error(t('stage.task.addMutualExclusiveTmpl', lang));
364
+ process.exit(1);
365
+ return;
366
+ }
367
+ try {
368
+ const no = appendStatusTask(projectPath, stageId, options.add);
369
+ console.log(t('stage.task.addOkTmpl', lang, { no: String(no), desc: options.add.trim() }));
370
+ }
371
+ catch (err) {
372
+ const msg = err instanceof Error ? err.message : String(err);
373
+ if (msg === 'TASK_SECTION_MISSING') {
374
+ console.error(t('stage.task.sectionMissingTmpl', lang));
375
+ }
376
+ else {
377
+ console.error(t('common.errorTmpl', lang, { msg }));
378
+ }
379
+ process.exit(1);
380
+ }
381
+ return;
382
+ }
383
+ // 既有勾选路径:缺 taskNo → 提示 --add 用法
384
+ if (!taskNoStr) {
385
+ console.error(t('stage.task.addUsageTmpl', lang));
386
+ process.exit(1);
387
+ return;
388
+ }
283
389
  // 互斥校验
284
390
  if (options.done === options.undone) {
285
391
  console.error(t('stage.task.errorMutualExclusive', lang));
@@ -304,7 +410,7 @@ export function registerStageCommand(program) {
304
410
  // ═══ stage create <stageId> ═══
305
411
  stage
306
412
  .command('create')
307
- .description(t('stage.create.desc', getCliLang(process.cwd())))
413
+ .description(t('help.stage.create', getCliLang(process.cwd())))
308
414
  .argument('<stageId>', '阶段 ID(如 v1.0.0-stage-30)')
309
415
  .action((stageId) => {
310
416
  const projectPath = process.cwd();
@@ -314,21 +420,25 @@ export function registerStageCommand(program) {
314
420
  console.error(t('common.errorNoInit', lang));
315
421
  process.exit(1);
316
422
  }
423
+ // 弃用提示:仅 TTY 输出到 stderr,非 TTY 静默(避免污染 CI,对齐 init/update 对称静默惯例)
424
+ if (process.stdout.isTTY) {
425
+ console.error(t('stage.create.deprecated', lang));
426
+ }
427
+ // 非法 stageId 统一报错 + 建议名(op-002 校验底座)
428
+ const v = validateStageId(stageId);
429
+ if (!v.ok) {
430
+ console.error(t('common.stageIdInvalidTmpl', lang, { input: stageId }));
431
+ console.error(t('common.stageIdSuggestTmpl', lang, { suggest: suggestStageId(projectPath, stageId) }));
432
+ process.exit(1);
433
+ }
317
434
  try {
318
435
  mgr.addStage(stageId);
319
436
  mgr.save();
320
437
  console.log(t('stage.create.addedTmpl', lang, { stage: stageId }));
321
438
  }
322
439
  catch (err) {
323
- // 并发冲突:本次未写入 flow.json,输出可重试提示并退出码 2(R3.2)
324
- if (isFlowConcurrentError(err)) {
325
- console.error(`[并发冲突] flow.json 已被其它进程修改(期望 revision=${err.expectedRevision},磁盘=${err.actualRevision})。`);
326
- console.error('本次修改未写入。请重新执行该命令重试。');
327
- process.exit(2);
328
- }
329
- const msg = err instanceof Error ? err.message : String(err);
330
- console.error(t('common.errorTmpl', lang, { msg }));
331
- process.exit(1);
440
+ // addStage 错误统一处理(与 flow stage add 共用单点,T42)
441
+ handleAddStageError(err, lang);
332
442
  }
333
443
  });
334
444
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stage.js","sourceRoot":"","sources":["../../src/commands/stage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stage.js","sourceRoot":"","sources":["../../src/commands/stage.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5H,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAiBzD;;;GAGG;AACH,SAAS,iBAAiB,CAAC,WAAmB,EAAE,OAAe;IAC7D,OAAO,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED,0DAA0D;AAC1D,SAAS,cAAc,CAAC,WAAmB,EAAE,UAAkB;IAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,kDAAkD;IAClG,OAAO,eAAe,CAAC,WAAW,EAAE,UAAU,QAAQ,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,UAAkB,EAAE,OAAe;IACvD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAC1D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,UAAU,OAAO,MAAM,CAAC,CAAC;IAC5D,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACxC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,4CAA4C,CAAC;IAChE,IAAI,KAA6B,CAAC;IAElC,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACnD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,OAAe;IACjC,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,kCAAkC,CAAC;IACrD,IAAI,KAA6B,CAAC;IAElC,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC;YACT,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC9B,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;YACtB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;SACf,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,WAAmB;IACxC,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1D,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,oBAAoB;IACpB,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE;QAChD,GAAG,EAAE,OAAO;QACZ,SAAS,EAAE,IAAI;QACf,kBAAkB,EAAE,IAAI;KACzB,CAAC,CAAC;IAEH,MAAM,OAAO,GAA8D,EAAE,CAAC;IAE9E,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,4DAA4D;QAC5D,gFAAgF;QAChF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtE,oDAAoD;QACpD,IAAI,OAAe,CAAC;QACpB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC5D,OAAO,GAAG,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,cAAc;QACtD,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAAM,CAAC,CAAC,cAAc;QAClC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO;gBACP,UAAU,EAAE,kBAAkB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;gBACxD,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS;aAClC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;IAED,eAAe;IACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,UAAkB,EAAE,OAAe;IAC1D,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAElC,OAAO,CAAC,GAAG,CAAC,QAAQ,OAAO,OAAO,CAAC,CAAC;IAEpC,OAAO;IACP,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3I,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,SAAS;IACT,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,yBAAyB,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1G,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACnC,kCAAkC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACtD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,GAAG,CAAC,CAAC,yBAAyB,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1G,CAAC;IACH,CAAC;IAED,SAAS;IACT,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC1E,IAAI,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,0BAA0B,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CACrB,WAAmB,EACnB,UAAkB,EAClB,GAAW,EACX,QAAgB;IAEhB,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACzD,OAAO,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE;QACjC,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAElD,0DAA0D;QAC1D,MAAM,UAAU,GAAG,IAAI,MAAM,CAC3B,qBAAqB,WAAW,CAAC,GAAG,CAAC,2BAA2B,EAChE,IAAI,CACL,CAAC;QAEF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,QAAQ,EAAE,CAAC,CAAC;QAC7D,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC,CAAC,UAAU;QAC1B,CAAC;QAED,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CACvB,UAAkB,EAClB,KAAa,EACb,KAAa;IAEb,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,IAAI,MAAM,CAC3B,qBAAqB,WAAW,CAAC,KAAK,CAAC,2BAA2B,EAClE,GAAG,CACJ,CAAC;IACF,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CACjB,WAAmB,EACnB,UAAkB,EAClB,MAAc,EACd,MAAe;IAEf,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACzD,OAAO,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE;QACjC,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAElD,6CAA6C;QAC7C,MAAM,SAAS,GAAG,IAAI,MAAM,CAC1B,wBAAwB,MAAM,UAAU,EACxC,IAAI,CACL,CAAC;QAEF,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;YAC7E,KAAK,GAAG,IAAI,CAAC;YACb,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACrC,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QAED,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,KAAK,GAAG,OAAO;SAClB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,0BAA0B,CAAC,CAAC;IAE3C,mCAAmC;IACnC,KAAK;SACF,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,oBAAoB,CAAC;SACjC,QAAQ,CAAC,WAAW,EAAE,sBAAsB,CAAC;SAC7C,MAAM,CAAC,CAAC,OAAgB,EAAE,EAAE;QAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QAErC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,aAAa;YACb,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;YAE1C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC9C,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,wBAAwB,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7E,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM;oBACpC,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ;wBACvB,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS;4BACxB,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,IAAI,CAAC;gBACT,OAAO,CAAC,GAAG,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QAED,iBAAiB;QACjB,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,8BAA8B,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YACpE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEL,mFAAmF;IACnF,KAAK;SACF,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,yBAAyB,CAAC;SACtC,QAAQ,CAAC,WAAW,EAAE,sBAAsB,CAAC;SAC7C,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;SACjD,MAAM,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;SACnD,MAAM,CAAC,wBAAwB,EAAE,0BAA0B,CAAC;SAC5D,MAAM,CAAC,wBAAwB,EAAE,iCAAiC,CAAC;SACnE,MAAM,CAAC,CAAC,OAAe,EAAE,OAA2F,EAAE,EAAE;QACvH,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAE3D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,8BAA8B,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,wDAAwD;QACxD,MAAM,IAAI,GAA2D,EAAE,CAAC;QACxE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,4BAA4B;gBAC5B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,4BAA4B,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;gBAChI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,OAAO;YACT,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QAED,0BAA0B;QAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,4BAA4B,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/H,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,OAAO;YACT,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACjE,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;gBAC1B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,4BAA4B,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACvG,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,kCAAkC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,OAAO;YACT,CAAC;YACD,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,oBAAoB,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACjE,SAAS;YACX,CAAC;YACD,uBAAuB;YACvB,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAClC,MAAM,EAAE,GAAG,cAAc,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACzE,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,kCAAkC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,OAAO;YACT,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,uBAAuB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACjG,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,yEAAyE;IACzE,KAAK;SACF,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,wBAAwB,CAAC;SACrC,QAAQ,CAAC,WAAW,EAAE,sBAAsB,CAAC;SAC7C,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;SAC9C,MAAM,CAAC,cAAc,EAAE,8BAA8B,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC;SAC5B,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC;SAC9B,MAAM,CAAC,CAAC,OAAe,EAAE,SAA6B,EAAE,OAA2D,EAAE,EAAE;QACtH,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAE3D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,8BAA8B,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,sCAAsC;QACtC,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,mCAAmC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,gBAAgB,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC/D,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAsB,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7F,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,IAAI,GAAG,KAAK,sBAAsB,EAAE,CAAC;oBACnC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,+BAA+B,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBACtD,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,OAAO;QACT,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QAED,OAAO;QACP,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,+BAA+B,EAAE,IAAI,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,SAAS;QACT,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAElC,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QAC9B,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAE/D,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,kCAAkC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAChG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,4BAA4B,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9G,CAAC,CAAC,CAAC;IAEL,iCAAiC;IACjC,KAAK;SACF,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,CAAC,CAAC,mBAAmB,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;SAC9D,QAAQ,CAAC,WAAW,EAAE,0BAA0B,CAAC;SACjD,MAAM,CAAC,CAAC,OAAe,EAAE,EAAE;QAC1B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,gEAAgE;QAChE,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,qCAAqC;QACrC,MAAM,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,2BAA2B,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YACxE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,2BAA2B,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YACvG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC;YACH,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtB,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,wBAAwB,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,6CAA6C;YAC7C,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * view 命令组注册
3
- * openfeel view list|add|accept — 审查条目管理(openfeel-reviewer 操作)
3
+ * openfeel view list|accept — 审查条目管理(openfeel-reviewer 操作)
4
4
  */
5
5
  import { Command } from 'commander';
6
6
  export declare function registerViewCommand(program: Command): void;
@@ -1 +1 @@
1
- {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../src/commands/view.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkF1D"}
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../src/commands/view.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqD1D"}
@@ -1,10 +1,12 @@
1
- import { createReviewEntry, listReviews, acceptReview } from '../core/view/entry.js';
1
+ import { listReviews, acceptReview } from '../core/view/entry.js';
2
2
  import { normalizeAgentName } from '../core/flow-manager.js';
3
3
  import { t, getCliLang } from '../core/i18n.js';
4
4
  export function registerViewCommand(program) {
5
5
  const view = program
6
6
  .command('view')
7
- .description('审查条目管理');
7
+ .description('审查条目管理')
8
+ // N2-3:审查条目管理的唯一入口指引(本组不新增 update/remove,避免第二套实现)
9
+ .addHelpText('after', '\n' + t('help.view.note', getCliLang(process.cwd())) + '\n');
8
10
  // view list [--op <id>] — 列出审查条目
9
11
  view
10
12
  .command('list')
@@ -28,30 +30,6 @@ export function registerViewCommand(program) {
28
30
  process.exit(1);
29
31
  }
30
32
  });
31
- // view add --op <id> --title "..." [--priority high|medium|low]
32
- view
33
- .command('add')
34
- .description('添加审查条目')
35
- .requiredOption('--op <id>', '操作 ID(如 stage-01.op-001)')
36
- .requiredOption('--title <title>', '审查标题')
37
- .option('--priority <priority>', '优先级(high/medium/low,默认 medium)', 'medium')
38
- .action((options) => {
39
- const lang = getCliLang(process.cwd());
40
- try {
41
- // 校验 priority 值有效性
42
- const validPriorities = ['high', 'medium', 'low'];
43
- if (!validPriorities.includes(options.priority)) {
44
- console.error(t('view.add.errorInvalidPriorityTmpl', lang, { priority: options.priority }));
45
- process.exit(1);
46
- }
47
- const review = createReviewEntry(process.cwd(), options.op, options.title, options.priority);
48
- console.log(t('view.add.okTmpl', lang, { id: review.id, op: review.op, title: review.title }));
49
- }
50
- catch (err) {
51
- console.error(t('common.errorTmpl', lang, { msg: err instanceof Error ? err.message : String(err) }));
52
- process.exit(1);
53
- }
54
- });
55
33
  // view accept <rev-id>
56
34
  view
57
35
  .command('accept')
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/commands/view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/commands/view.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../src/core/archive/merge.ts"],"names":[],"mappings":"AAUA,WAAW;AACX,MAAM,WAAW,aAAa;IAC5B,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB;IACnB,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAqHzF"}
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../src/core/archive/merge.ts"],"names":[],"mappings":"AAWA,WAAW;AACX,MAAM,WAAW,aAAa;IAC5B,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB;IACnB,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAwHzF"}
@@ -3,6 +3,7 @@
3
3
  * 负责汇总阶段产出、生成归档摘要、提取知识条目,通过 FlowManager 操作 flow.json
4
4
  */
5
5
  import { FlowManager } from '../flow-manager.js';
6
+ import { normalizeStageId } from '../plan/path.js';
6
7
  import { existsSync, mkdirSync } from 'node:fs';
7
8
  import { join } from 'node:path';
8
9
  import { atomicWriteFileSync } from '../fs/atomic-write.js';
@@ -26,7 +27,9 @@ export function archiveStage(projectPath, stageName) {
26
27
  return null;
27
28
  }
28
29
  // 查找 stageName 对应的阶段
29
- const stage = data.stages[stageName];
30
+ // REV-009:短名归一化 + 双键回退(openfeel archive <stage> 的 help 示例为短名)
31
+ const key = normalizeStageId(stageName) ?? stageName;
32
+ const stage = data.stages[key] ?? data.stages[stageName];
30
33
  if (!stage) {
31
34
  return null;
32
35
  }
@@ -34,14 +37,15 @@ export function archiveStage(projectPath, stageName) {
34
37
  const ops = Object.values(stage.ops);
35
38
  const opsCount = ops.length;
36
39
  // 收集该阶段相关审查条目:op 字段格式为 "stageName.opXxx"
37
- // 提取 op 的 stage 部分('.' 前),与 stageName 比较
40
+ // 用 lastIndexOf 分割:stageId 自身可含 '.'(如 v1.0.0-stage-04),indexOf 会取错段(T3)
38
41
  const relatedReviews = data.reviews.filter((r) => {
39
- const dotIdx = r.op.indexOf('.');
42
+ const dotIdx = r.op.lastIndexOf('.');
40
43
  if (dotIdx === -1) {
41
44
  return false;
42
45
  }
43
46
  const opStage = r.op.substring(0, dotIdx);
44
- return opStage === stageName;
47
+ // 双键归属比较:归一化键优先,短名(原始输入)键回退,兼容存量短名键数据
48
+ return opStage === key || opStage === stageName;
45
49
  });
46
50
  const reviewsCount = relatedReviews.length;
47
51
  // 生成操作产出表格行
@@ -60,7 +64,7 @@ export function archiveStage(projectPath, stageName) {
60
64
  - **归档时间**:${archivedAt}
61
65
  - **阶段名称**:${stageName}
62
66
  - **阶段状态**:${stage.status}
63
- - **依赖阶段**:${stage.deps.length > 0 ? stage.deps.join(', ') : '无'}
67
+ - **依赖阶段**:${Array.isArray(stage.deps) && stage.deps.length > 0 ? stage.deps.join(', ') : '无'}
64
68
 
65
69
  ## 操作产出
66
70
 
@@ -1 +1 @@
1
- {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../src/core/archive/merge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../src/core/archive/merge.ts"],"names":[],"mappings":"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"}
@@ -12,8 +12,13 @@
12
12
  * - requires 中 type='hard'(默认)的视为 hard 依赖
13
13
  * - requires 中 type='soft' 的不影响拓扑排序和就绪判断
14
14
  */
15
- import type { Schema } from '../schema.js';
15
+ import type { Schema, Artifact } from '../schema.js';
16
16
  import type { BuildOrder, BlockedArtifacts } from './types.js';
17
+ /**
18
+ * 收集 artifact 的所有 hard 依赖 ID(唯一实现,公开导出供 instruction-loader 复用,T7)
19
+ * 来源:dependsOn 字段(全 hard)+ requires 中 type='hard' 的条目
20
+ */
21
+ export declare function collectHardDeps(artifact: Artifact): string[];
17
22
  export declare class ArtifactGraph {
18
23
  /** artifact ID → Artifact 对象的映射 */
19
24
  private artifacts;
@@ -23,7 +28,7 @@ export declare class ArtifactGraph {
23
28
  private inDegree;
24
29
  constructor(schema: Schema);
25
30
  /**
26
- * 收集 artifact 的所有 hard 依赖 ID
31
+ * 收集 artifact 的所有 hard 依赖 ID(委托模块级 collectHardDeps,单一实现)
27
32
  * 来源:dependsOn 字段(全 hard)+ requires 中 type='hard' 的条目
28
33
  */
29
34
  private collectHardDeps;
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/core/artifact-graph/graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,MAAM,EAAwB,MAAM,cAAc,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAe,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE5E,qBAAa,aAAa;IACxB,mCAAmC;IACnC,OAAO,CAAC,SAAS,CAAwB;IAEzC,uCAAuC;IACvC,OAAO,CAAC,SAAS,CAAwB;IAEzC,qCAAqC;IACrC,OAAO,CAAC,QAAQ,CAAsB;gBAE1B,MAAM,EAAE,MAAM;IA8B1B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAsBvB;;;;OAIG;IACH,aAAa,IAAI,UAAU;IA2C3B;;;;OAIG;IACH,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE;IAkBlD;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,WAAW,CAA2B;IAE9C;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO;IAY3C;;;;OAIG;IACH,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,gBAAgB;CAiCrD"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/core/artifact-graph/graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAc,MAAM,cAAc,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAe,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE5E;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAAE,CAoB5D;AAED,qBAAa,aAAa;IACxB,mCAAmC;IACnC,OAAO,CAAC,SAAS,CAAwB;IAEzC,uCAAuC;IACvC,OAAO,CAAC,SAAS,CAAwB;IAEzC,qCAAqC;IACrC,OAAO,CAAC,QAAQ,CAAsB;gBAE1B,MAAM,EAAE,MAAM;IA8B1B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAIvB;;;;OAIG;IACH,aAAa,IAAI,UAAU;IA2C3B;;;;OAIG;IACH,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE;IAkBlD;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,WAAW,CAA2B;IAE9C;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO;IAY3C;;;;OAIG;IACH,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,gBAAgB;CAiCrD"}