@prd-improve/cli 1.2.0 → 1.6.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 (72) hide show
  1. package/dist/changelog.d.ts +13 -7
  2. package/dist/changelog.js +12 -15
  3. package/dist/changelog.js.map +1 -1
  4. package/dist/cli.js +44 -7
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/_prdSource.d.ts +35 -0
  7. package/dist/commands/_prdSource.js +110 -0
  8. package/dist/commands/_prdSource.js.map +1 -0
  9. package/dist/commands/closeout.d.ts +2 -0
  10. package/dist/commands/closeout.js +60 -12
  11. package/dist/commands/closeout.js.map +1 -1
  12. package/dist/commands/context.js +11 -117
  13. package/dist/commands/context.js.map +1 -1
  14. package/dist/commands/export.d.ts +8 -0
  15. package/dist/commands/export.js +179 -0
  16. package/dist/commands/export.js.map +1 -0
  17. package/dist/commands/freeze.d.ts +2 -0
  18. package/dist/commands/freeze.js +63 -13
  19. package/dist/commands/freeze.js.map +1 -1
  20. package/dist/commands/init.js +3 -2
  21. package/dist/commands/init.js.map +1 -1
  22. package/dist/commands/migrate-yaml.js +6 -0
  23. package/dist/commands/migrate-yaml.js.map +1 -1
  24. package/dist/commands/reopen.d.ts +4 -0
  25. package/dist/commands/reopen.js +76 -0
  26. package/dist/commands/reopen.js.map +1 -0
  27. package/dist/commands/resolve.d.ts +8 -0
  28. package/dist/commands/resolve.js +127 -0
  29. package/dist/commands/resolve.js.map +1 -0
  30. package/dist/commands/skill.d.ts +4 -0
  31. package/dist/commands/skill.js +16 -1
  32. package/dist/commands/skill.js.map +1 -1
  33. package/dist/commands/validate.d.ts +2 -0
  34. package/dist/commands/validate.js +4 -2
  35. package/dist/commands/validate.js.map +1 -1
  36. package/dist/i18n/en.js +45 -1
  37. package/dist/i18n/en.js.map +1 -1
  38. package/dist/i18n/help.en.d.ts +22 -0
  39. package/dist/i18n/help.en.js +22 -0
  40. package/dist/i18n/help.en.js.map +1 -1
  41. package/dist/i18n/help.zh.d.ts +22 -0
  42. package/dist/i18n/help.zh.js +22 -0
  43. package/dist/i18n/help.zh.js.map +1 -1
  44. package/dist/i18n/helpGroups.js +1 -1
  45. package/dist/i18n/helpGroups.js.map +1 -1
  46. package/dist/i18n/peekLang.d.ts +1 -0
  47. package/dist/i18n/peekLang.js +19 -0
  48. package/dist/i18n/peekLang.js.map +1 -1
  49. package/dist/i18n/zh.d.ts +112 -1
  50. package/dist/i18n/zh.js +45 -1
  51. package/dist/i18n/zh.js.map +1 -1
  52. package/dist/renderer/context-md.d.ts +13 -2
  53. package/dist/renderer/context-md.js +12 -12
  54. package/dist/renderer/context-md.js.map +1 -1
  55. package/dist/renderer/spec-md.d.ts +19 -0
  56. package/dist/renderer/spec-md.js +206 -0
  57. package/dist/renderer/spec-md.js.map +1 -0
  58. package/dist/schema/prd.js +15 -0
  59. package/dist/schema/prd.js.map +1 -1
  60. package/dist/skill/prd-improve-forge/SKILL.md +94 -7
  61. package/dist/skill/prd-improve-forge/checklists/batch-import.md +1 -0
  62. package/dist/skill/prd-improve-forge/checklists/dimensions/integration-seam.md +131 -0
  63. package/dist/skill/prd-improve-forge/checklists/dimensions/state-machine-counter.md +130 -0
  64. package/dist/skill/prd-improve-forge/examples/import-history-prds.prd.yaml +6 -1
  65. package/dist/skill/prd-improve-forge/templates/prd.yaml +8 -7
  66. package/dist/workspace.d.ts +8 -1
  67. package/dist/workspace.js +12 -1
  68. package/dist/workspace.js.map +1 -1
  69. package/dist/yamlPatch.d.ts +5 -0
  70. package/dist/yamlPatch.js +16 -4
  71. package/dist/yamlPatch.js.map +1 -1
  72. package/package.json +1 -1
@@ -1,9 +1,15 @@
1
1
  /**
2
- * Promote the [Unreleased] (or [未发布]) H2 section to a versioned H2,
3
- * and insert a new empty [Unreleased] section right after the H1 (if any).
4
- *
5
- * If no [Unreleased] / [未发布] section is found, returns content unchanged
6
- * (degraded fallback — user's CHANGELOG may use non-Keep-a-Changelog format).
7
- * --- separators and other user formatting are preserved verbatim.
2
+ * [Unreleased]/[未发布] H2 检测与 promote(v1.22:前缀匹配,允许标题尾随后缀——
3
+ * dogfood 实证人手标题 `## [Unreleased](目标 v1.1…)` 在旧的行尾精确锚定下三层失真)
4
+ * 本文件是 Unreleased 检测的单一真相源:closeout.ts 检查同走 findUnreleasedIndex。
8
5
  */
9
- export declare function promoteUnreleasedSection(content: string, version: string, frozenAt: string): string;
6
+ /** 返回首个 [Unreleased]/[未发布] H2 行号,无则 -1。前缀匹配,`]` 后允许任意后缀。 */
7
+ export declare function findUnreleasedIndex(lines: string[]): number;
8
+ export interface PromoteResult {
9
+ text: string;
10
+ /** false = 未找到 Unreleased 段,原文返回(降级,调用方决定 warn) */
11
+ promoted: boolean;
12
+ /** promote 时整行替换为标准 versioned 标题;被丢弃的标题后缀(trim 后非空才报) */
13
+ droppedSuffix: string | null;
14
+ }
15
+ export declare function promoteUnreleasedSection(content: string, version: string, frozenAt: string): PromoteResult;
package/dist/changelog.js CHANGED
@@ -1,34 +1,31 @@
1
1
  /**
2
- * Promote the [Unreleased] (or [未发布]) H2 section to a versioned H2,
3
- * and insert a new empty [Unreleased] section right after the H1 (if any).
4
- *
5
- * If no [Unreleased] / [未发布] section is found, returns content unchanged
6
- * (degraded fallback — user's CHANGELOG may use non-Keep-a-Changelog format).
7
- * --- separators and other user formatting are preserved verbatim.
2
+ * [Unreleased]/[未发布] H2 检测与 promote(v1.22:前缀匹配,允许标题尾随后缀——
3
+ * dogfood 实证人手标题 `## [Unreleased](目标 v1.1…)` 在旧的行尾精确锚定下三层失真)
4
+ * 本文件是 Unreleased 检测的单一真相源:closeout.ts 检查同走 findUnreleasedIndex。
8
5
  */
6
+ const UNRELEASED_PREFIX = /^##\s+\[(Unreleased|未发布)\]/;
7
+ /** 返回首个 [Unreleased]/[未发布] H2 行号,无则 -1。前缀匹配,`]` 后允许任意后缀。 */
8
+ export function findUnreleasedIndex(lines) {
9
+ return lines.findIndex((l) => UNRELEASED_PREFIX.test(l));
10
+ }
9
11
  export function promoteUnreleasedSection(content, version, frozenAt) {
10
12
  const lines = content.split("\n");
11
- // [Unreleased] 或 [未发布] H2
12
- const unreleasedIdx = lines.findIndex((l) => /^##\s+\[Unreleased\]\s*$/.test(l) || /^##\s+\[未发布\]\s*$/.test(l));
13
+ const unreleasedIdx = findUnreleasedIndex(lines);
13
14
  if (unreleasedIdx < 0)
14
- return content; // 降级:找不到不动
15
- // promote
15
+ return { text: content, promoted: false, droppedSuffix: null };
16
+ const suffix = lines[unreleasedIdx].replace(UNRELEASED_PREFIX, "").trim();
16
17
  lines[unreleasedIdx] = `## [${version}] - ${frozenAt}`;
17
- // 找 H1(`# `开头),在其后第一个非空行前插新 [Unreleased] 段
18
18
  const h1Idx = lines.findIndex((l) => /^#\s+/.test(l));
19
19
  const insertSegment = ["## [Unreleased]", ""];
20
20
  if (h1Idx >= 0) {
21
- // 跳过 H1 后的连续空行
22
21
  let insertAt = h1Idx + 1;
23
22
  while (insertAt < lines.length && lines[insertAt].trim() === "")
24
23
  insertAt++;
25
- // 在 insertAt 之前插:[Unreleased] 段 + 一个空行
26
24
  lines.splice(insertAt, 0, ...insertSegment, "");
27
25
  }
28
26
  else {
29
- // 没 H1,塞最顶
30
27
  lines.unshift(...insertSegment, "");
31
28
  }
32
- return lines.join("\n");
29
+ return { text: lines.join("\n"), promoted: true, droppedSuffix: suffix === "" ? null : suffix };
33
30
  }
34
31
  //# sourceMappingURL=changelog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"changelog.js","sourceRoot":"","sources":["../src/changelog.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAe,EACf,OAAe,EACf,QAAgB;IAEhB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,4BAA4B;IAC5B,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CACzE,CAAC;IACF,IAAI,aAAa,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,WAAW;IAElD,UAAU;IACV,KAAK,CAAC,aAAa,CAAC,GAAG,OAAO,OAAO,OAAO,QAAQ,EAAE,CAAC;IAEvD,2CAA2C;IAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC9C,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,eAAe;QACf,IAAI,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC;QACzB,OAAO,QAAQ,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,QAAQ,EAAE,CAAC;QAC5E,uCAAuC;QACvC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,aAAa,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,WAAW;QACX,KAAK,CAAC,OAAO,CAAC,GAAG,aAAa,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"changelog.js","sourceRoot":"","sources":["../src/changelog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AAEvD,4DAA4D;AAC5D,MAAM,UAAU,mBAAmB,CAAC,KAAe;IACjD,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAUD,MAAM,UAAU,wBAAwB,CACtC,OAAe,EACf,OAAe,EACf,QAAgB;IAEhB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,aAAa,GAAG,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IAEtF,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1E,KAAK,CAAC,aAAa,CAAC,GAAG,OAAO,OAAO,OAAO,QAAQ,EAAE,CAAC;IAEvD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC9C,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,IAAI,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC;QACzB,OAAO,QAAQ,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,QAAQ,EAAE,CAAC;QAC5E,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,aAAa,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,OAAO,CAAC,GAAG,aAAa,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AAClG,CAAC"}
package/dist/cli.js CHANGED
@@ -4,7 +4,10 @@ import { runValidateCommand } from "./commands/validate.js";
4
4
  import { runInitCommand } from "./commands/init.js";
5
5
  import { runFreezeCommand } from "./commands/freeze.js";
6
6
  import { runCloseoutCommand } from "./commands/closeout.js";
7
+ import { runResolveCommand } from "./commands/resolve.js";
8
+ import { runReopenCommand } from "./commands/reopen.js";
7
9
  import { runContextCommand } from "./commands/context.js";
10
+ import { runExportCommand } from "./commands/export.js";
8
11
  import { runDiffCommand } from "./commands/diff.js";
9
12
  import { runRefreshCommand } from "./commands/refresh.js";
10
13
  import { adminCommand } from "./commands/admin/index.js";
@@ -20,7 +23,7 @@ import { runTeamListCommand } from "./commands/team.js";
20
23
  import { runProjectListCommand } from "./commands/project.js";
21
24
  import { runSkillInstallCommand, runSkillPrintCommand, runSkillPathCommand } from "./commands/skill.js";
22
25
  import { setLocale, readLocale } from "./i18n/index.js";
23
- import { peekLangArg } from "./i18n/peekLang.js";
26
+ import { peekLangArg, stripLangArg } from "./i18n/peekLang.js";
24
27
  import { getHelp } from "./i18n/help.js";
25
28
  import { makeGroupedHelp } from "./i18n/helpFormat.js";
26
29
  import { CLI_VERSION } from "./pkgVersion.js";
@@ -33,10 +36,9 @@ const program = new Command("prd")
33
36
  .option("--lang <code>", h.program_lang_opt)
34
37
  // 必需:阻止根级 --version 截获 `freeze --version <v>` 的子命令选项
35
38
  .enablePositionalOptions()
36
- .hook("preAction", (thisCmd, actionCmd) => {
37
- const lang = actionCmd.optsWithGlobals().lang
38
- ?? thisCmd.opts().lang;
39
- setLocale(lang);
39
+ .hook("preAction", () => {
40
+ // argv 已在 parse 前剥离 --lang,故从原始 process.argv peek(位置无关)
41
+ setLocale(peekLangArg(process.argv));
40
42
  })
41
43
  .configureHelp(makeGroupedHelp());
42
44
  program
@@ -61,8 +63,9 @@ program
61
63
  .description(h.cmd.freeze.desc)
62
64
  .option("--version <version>", h.cmd.freeze.opts.version)
63
65
  .option("--auto", h.cmd.freeze.opts.auto)
66
+ .option("--allow-no-changelog", h.cmd.freeze.opts.allowNoChangelog)
64
67
  .action((slug, opts) => {
65
- const code = runFreezeCommand({ feature: slug, version: opts.version, auto: opts.auto }, process.cwd());
68
+ const code = runFreezeCommand({ feature: slug, version: opts.version, auto: opts.auto, allowNoChangelog: opts.allowNoChangelog }, process.cwd());
66
69
  process.exit(code);
67
70
  });
68
71
  program
@@ -75,6 +78,23 @@ program
75
78
  const code = runCloseoutCommand({ feature: slug, commit: opts.commit, version: opts.version, auto: opts.auto }, process.cwd());
76
79
  process.exit(code);
77
80
  });
81
+ program
82
+ .command("resolve <slug> <qid>")
83
+ .description(h.cmd.resolve.desc)
84
+ .option("--text <text>", h.cmd.resolve.opts.text)
85
+ .option("--defer <target>", h.cmd.resolve.opts.defer)
86
+ .option("--force", h.cmd.resolve.opts.force)
87
+ .action((slug, qid, opts) => {
88
+ const code = runResolveCommand({ feature: slug, qid, text: opts.text, defer: opts.defer, force: opts.force }, process.cwd());
89
+ process.exit(code);
90
+ });
91
+ program
92
+ .command("reopen <slug>")
93
+ .description(h.cmd.reopen.desc)
94
+ .action((slug) => {
95
+ const code = runReopenCommand({ feature: slug }, process.cwd());
96
+ process.exit(code);
97
+ });
78
98
  program
79
99
  .command("context")
80
100
  .description(h.cmd.context.desc)
@@ -93,6 +113,23 @@ program
93
113
  }, process.cwd());
94
114
  process.exit(code);
95
115
  });
116
+ program
117
+ .command("export <slug>")
118
+ .description(h.cmd.export.desc)
119
+ .option("--version <version>", h.cmd.export.opts.version)
120
+ .option("--working", h.cmd.export.opts.working)
121
+ .option("--out <path>", h.cmd.export.opts.out)
122
+ .option("--force", h.cmd.export.opts.force)
123
+ .action((slug, opts) => {
124
+ const code = runExportCommand({
125
+ feature: slug,
126
+ version: opts.version,
127
+ working: opts.working,
128
+ out: opts.out,
129
+ force: opts.force,
130
+ }, process.cwd());
131
+ process.exit(code);
132
+ });
96
133
  program
97
134
  .command("diff")
98
135
  .description(h.cmd.diff.desc)
@@ -280,5 +317,5 @@ skillCmd
280
317
  .command("path")
281
318
  .description(h.cmd.skill.sub.path)
282
319
  .action(() => { process.exit(runSkillPathCommand()); });
283
- program.parse(process.argv);
320
+ program.parse(stripLangArg(process.argv));
284
321
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACxG,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,iDAAiD;AACjD,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACrC,MAAM,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;AAEhC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;KAC/B,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;KAC3B,OAAO,CAAC,WAAW,CAAC;KACpB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,gBAAgB,CAAC;IAC5C,qDAAqD;KACpD,uBAAuB,EAAE;KACzB,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;IACtB,yDAAyD;IACzD,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC;KACD,aAAa,CAAC,eAAe,EAAE,CAAC,CAAC;AAEpC,OAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;KAC5B,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;KACvD,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;KAC7C,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;KACnD,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;KACnD,MAAM,CACL,CACE,IAAwB,EACxB,IAA+E,EAC/E,EAAE;IACF,MAAM,IAAI,GAAG,cAAc,CACzB;QACE,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,IAAI;QACJ,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,EACD,OAAO,CAAC,GAAG,EAAE,CACd,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CACF,CAAC;AAEJ,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;KAC9B,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;KACxD,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;KACxC,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;KAClE,MAAM,CAAC,CAAC,IAAY,EAAE,IAAsE,EAAE,EAAE;IAC/F,MAAM,IAAI,GAAG,gBAAgB,CAC3B,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAClG,OAAO,CAAC,GAAG,EAAE,CACd,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;KAChC,cAAc,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;KAC7D,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;KAC1D,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;KAC1C,MAAM,CACL,CAAC,IAAY,EAAE,IAA0D,EAAE,EAAE;IAC3E,MAAM,IAAI,GAAG,kBAAkB,CAC7B,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAC9E,OAAO,CAAC,GAAG,EAAE,CACd,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CACF,CAAC;AAEJ,OAAO;KACJ,OAAO,CAAC,sBAAsB,CAAC;KAC/B,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;KAC/B,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;KAChD,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;KACpD,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;KAC3C,MAAM,CAAC,CAAC,IAAY,EAAE,GAAW,EAAE,IAAwD,EAAE,EAAE;IAC9F,MAAM,IAAI,GAAG,iBAAiB,CAC5B,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAC7E,OAAO,CAAC,GAAG,EAAE,CACd,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;KAC9B,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;IACvB,MAAM,IAAI,GAAG,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;KAC/B,cAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;KAC9D,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;KACzD,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;KAC/C,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC;KAClE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;KAC9C,MAAM,CACL,CAAC,IAMA,EAAE,EAAE;IACH,MAAM,IAAI,GAAG,iBAAiB,CAC5B;QACE,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,EACD,OAAO,CAAC,GAAG,EAAE,CACd,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CACF,CAAC;AAEJ,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;KAC9B,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;KACxD,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;KAC9C,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;KAC7C,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;KAC1C,MAAM,CACL,CACE,IAAY,EACZ,IAA4E,EAC5E,EAAE;IACF,MAAM,IAAI,GAAG,gBAAgB,CAC3B;QACE,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,EACD,OAAO,CAAC,GAAG,EAAE,CACd,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CACF,CAAC;AAEJ,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;KAC5B,cAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;KAC3D,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;KAC5C,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;KACxC,MAAM,CAAC,CAAC,IAAqD,EAAE,EAAE;IAChE,MAAM,IAAI,GAAG,cAAc,CACzB,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EACvD,OAAO,CAAC,GAAG,EAAE,CACd,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;KAC/B,cAAc,CAAC,sBAAsB,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;KAClE,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;KACrD,MAAM,CAAC,wBAAwB,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;KAC9D,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;KAC/D,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;KAClD,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;KACzD,MAAM,CACL,CAAC,IAOA,EAAE,EAAE;IACH,MAAM,IAAI,GAAG,iBAAiB,CAC5B;QACE,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,EACD,OAAO,CAAC,GAAG,EAAE,CACd,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CACF,CAAC;AAEJ,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;KAChC,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;KACvD,MAAM,CAAC,CAAC,IAAwB,EAAE,IAA0B,EAAE,EAAE;IAC/D,MAAM,IAAI,GAAG,kBAAkB,CAC7B,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,EAC/B,OAAO,CAAC,GAAG,EAAE,CACd,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC;KACvC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;KACxD,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;KAC9D,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;KACtE,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;KAC9D,MAAM,CACL,KAAK,EACH,IAAwB,EACxB,IAKC,EACD,EAAE;IACF,MAAM,IAAI,GAAG,MAAM,qBAAqB,CACtC;QACE,IAAI;QACJ,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,EACD,OAAO,CAAC,GAAG,EAAE,CACd,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CACF,CAAC;AAEJ,qEAAqE;AACrE,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;AAChC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACvC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAE7B,2BAA2B;AAC3B,OAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;KAC5B,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;KACnD,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;KACrD,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;KACnD,MAAM,CACL,KAAK,EACH,IAAY,EACZ,IAAuE,EACvE,EAAE;IACF,MAAM,IAAI,GAAG,MAAM,cAAc,CAC/B;QACE,IAAI;QACJ,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,EACD,OAAO,CAAC,GAAG,EAAE,CACd,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CACF,CAAC;AAEJ,OAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;KAC5B,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;KACnD,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;KACxC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;KACxC,MAAM,CACL,KAAK,EAAE,IAAY,EAAE,IAA4D,EAAE,EAAE;IACnF,MAAM,IAAI,GAAG,MAAM,cAAc,CAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EACrE,OAAO,CAAC,GAAG,EAAE,CACd,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CACF,CAAC;AAEJ,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;KAC9B,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;KACrD,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,IAA0B,EAAE,EAAE;IACrE,MAAM,IAAI,GAAG,MAAM,gBAAgB,CACjC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAC/B,OAAO,CAAC,GAAG,EAAE,CACd,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;KAC7B,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;KACpD,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;KAC3C,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;KACjD,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;KACzC,MAAM,CACL,KAAK,EAAE,IAKN,EAAE,EAAE;IACH,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CACF,CAAC;AAEJ,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;KAC9B,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;KACrD,MAAM,CAAC,KAAK,EAAE,IAA0B,EAAE,EAAE;IAC3C,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;KAC9B,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;KACrD,MAAM,CAAC,KAAK,EAAE,IAA0B,EAAE,EAAE;IAC3C,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEL,6CAA6C;AAC7C,+DAA+D;AAC/D,8DAA8D;AAC9D,mBAAmB;AACnB,MAAM,OAAO,GAAG,OAAO;KACpB,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;KAChC,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;KACnD,MAAM,CAAC,KAAK,EAAE,IAA0B,EAAE,EAAE;IAC3C,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEL,MAAM,UAAU,GAAG,OAAO;KACvB,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnC,UAAU;KACP,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;KACnC,cAAc,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;KAC5D,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;KACtD,MAAM,CAAC,KAAK,EAAE,IAAwC,EAAE,EAAE;IACzD,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEL,yEAAyE;AACzE,sEAAsE;AACtE,MAAM,SAAS,GAAG,OAAO;KACtB,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,SAAS;KACN,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;KAClC,MAAM,CAAC,GAAG,EAAE;IACX,MAAM,IAAI,GAAG,gBAAgB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACrE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AACL,SAAS;KACN,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;KACjC,MAAM,CAAC,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE;IACrC,MAAM,IAAI,GAAG,gBAAgB,CAC3B,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EACjC,OAAO,CAAC,GAAG,EAAE,CACd,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AACL,SAAS;KACN,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;KACjC,MAAM,CAAC,CAAC,OAAe,EAAE,EAAE;IAC1B,MAAM,IAAI,GAAG,gBAAgB,CAC3B,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EACnC,OAAO,CAAC,GAAG,EAAE,CACd,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEL,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACxE,QAAQ;KACL,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;KACpC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;KAC5C,MAAM,CAAC,CAAC,IAAsB,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF,QAAQ;KACL,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;KAClC,MAAM,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,QAAQ;KACL,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;KACjC,MAAM,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1D,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { type Manifest } from "../workspace.js";
2
+ /** 解析出的 yaml 源(working 或某 frozen 版本)。 */
3
+ export interface ResolvedSource {
4
+ path: string;
5
+ version: string;
6
+ frozenAt?: string;
7
+ sourceHash?: string;
8
+ }
9
+ /** 源解析失败原因(driver 各自映射到自己的 i18n key 族)。 */
10
+ export type PrdSourceFailReason = "working_not_found" | "invalid_version" | "version_not_found" | "feature_not_frozen" | "manifest_disk_mismatch";
11
+ export interface PrdSourceFail {
12
+ reason: PrdSourceFailReason;
13
+ details?: Record<string, unknown>;
14
+ exitCode: 1 | 2;
15
+ }
16
+ export interface PrdSourceOpts {
17
+ feature: string;
18
+ version?: string;
19
+ working?: boolean;
20
+ }
21
+ /**
22
+ * 解析输入源:--working / --version <v> / 默认 latest_frozen。
23
+ * 不做 i18n / 不写 stderr —— 失败返回 reason code,由 driver 翻译。
24
+ */
25
+ export declare function resolvePrdSource(opts: PrdSourceOpts, cwd: string, manifest: Manifest): {
26
+ ok: true;
27
+ src: ResolvedSource;
28
+ } | {
29
+ ok: false;
30
+ fail: PrdSourceFail;
31
+ };
32
+ export declare function readSnapshot(snapshotPath: string): {
33
+ frozen_at?: string;
34
+ source_hash?: string;
35
+ };
@@ -0,0 +1,110 @@
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { VERSION_REGEX, listExistingVersions, } from "../workspace.js";
4
+ /**
5
+ * 解析输入源:--working / --version <v> / 默认 latest_frozen。
6
+ * 不做 i18n / 不写 stderr —— 失败返回 reason code,由 driver 翻译。
7
+ */
8
+ export function resolvePrdSource(opts, cwd, manifest) {
9
+ const slug = opts.feature;
10
+ const featureDir = join(cwd, ".prd/features", slug);
11
+ // --working
12
+ if (opts.working) {
13
+ const path = join(featureDir, "working/prd.yaml");
14
+ if (!existsSync(path)) {
15
+ return {
16
+ ok: false,
17
+ fail: { reason: "working_not_found", details: { slug }, exitCode: 1 },
18
+ };
19
+ }
20
+ return { ok: true, src: { path, version: "working" } };
21
+ }
22
+ // --version <v>
23
+ if (typeof opts.version === "string" && opts.version !== "") {
24
+ if (!VERSION_REGEX.test(opts.version)) {
25
+ return {
26
+ ok: false,
27
+ fail: {
28
+ reason: "invalid_version",
29
+ details: { value: opts.version },
30
+ exitCode: 1,
31
+ },
32
+ };
33
+ }
34
+ const versionDir = join(featureDir, "frozen", opts.version);
35
+ const path = join(versionDir, "prd.yaml");
36
+ if (!existsSync(path)) {
37
+ const existing = listExistingVersions(join(featureDir, "frozen"));
38
+ return {
39
+ ok: false,
40
+ fail: {
41
+ reason: "version_not_found",
42
+ details: {
43
+ version: opts.version,
44
+ existing: existing.length === 0 ? "(无)" : existing.join(", "),
45
+ },
46
+ exitCode: 1,
47
+ },
48
+ };
49
+ }
50
+ const snapshot = readSnapshot(join(versionDir, "snapshot.json"));
51
+ return {
52
+ ok: true,
53
+ src: {
54
+ path,
55
+ version: opts.version,
56
+ frozenAt: snapshot.frozen_at,
57
+ sourceHash: snapshot.source_hash,
58
+ },
59
+ };
60
+ }
61
+ // 默认:从 manifest 取 latest_frozen_version
62
+ const featureEntry = manifest.features.find((f) => f.slug === slug);
63
+ if (!featureEntry || !isString(featureEntry.latest_frozen_version)) {
64
+ return {
65
+ ok: false,
66
+ fail: { reason: "feature_not_frozen", details: { slug }, exitCode: 1 },
67
+ };
68
+ }
69
+ const version = featureEntry.latest_frozen_version;
70
+ const versionDir = join(featureDir, "frozen", version);
71
+ const path = join(versionDir, "prd.yaml");
72
+ if (!existsSync(path)) {
73
+ return {
74
+ ok: false,
75
+ fail: {
76
+ reason: "manifest_disk_mismatch",
77
+ details: { slug, version },
78
+ exitCode: 2,
79
+ },
80
+ };
81
+ }
82
+ const snapshot = readSnapshot(join(versionDir, "snapshot.json"));
83
+ return {
84
+ ok: true,
85
+ src: {
86
+ path,
87
+ version,
88
+ frozenAt: snapshot.frozen_at,
89
+ sourceHash: snapshot.source_hash,
90
+ },
91
+ };
92
+ }
93
+ function isString(v) {
94
+ return typeof v === "string" && v !== "";
95
+ }
96
+ export function readSnapshot(snapshotPath) {
97
+ if (!existsSync(snapshotPath))
98
+ return {};
99
+ try {
100
+ const data = JSON.parse(readFileSync(snapshotPath, "utf8"));
101
+ return {
102
+ frozen_at: typeof data.frozen_at === "string" ? data.frozen_at : undefined,
103
+ source_hash: typeof data.source_hash === "string" ? data.source_hash : undefined,
104
+ };
105
+ }
106
+ catch {
107
+ return {};
108
+ }
109
+ }
110
+ //# sourceMappingURL=_prdSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_prdSource.js","sourceRoot":"","sources":["../../src/commands/_prdSource.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,7 @@ export interface CloseoutOptions {
3
3
  commit?: string;
4
4
  version?: string;
5
5
  auto?: boolean;
6
+ /** v1.22 内部测试 seam:覆盖已装 skill 的 parent 目录(缺省 ~/.claude/skills)。CLI 不暴露。 */
7
+ skillParentDir?: string;
6
8
  }
7
9
  export declare function runCloseoutCommand(opts: CloseoutOptions, cwd: string): number;
@@ -11,9 +11,11 @@ import { getMessages, readLocale } from "../i18n/index.js";
11
11
  import * as c from "../formatter/colors.js";
12
12
  import { runValidateCommand } from "./validate.js";
13
13
  import { runFreezeCommand, resolveVersion } from "./freeze.js";
14
- import { readManifest, listExistingVersions } from "../workspace.js";
14
+ import { readManifest, listExistingVersions, writeManifest } from "../workspace.js";
15
+ import { resolveBundledSkillDir, readSkillVersion, installedSkillDir } from "./skill.js";
15
16
  import { patchYamlText } from "../yamlPatch.js";
16
17
  import { SCHEMA_VERSION_CURRENT } from "../schema/prd.js";
18
+ import { findUnreleasedIndex } from "../changelog.js";
17
19
  /** M-a 判定口径:resolved_at 是收口痕迹门;resolution 非空 ⇒ resolved(忽略 deferred_to 占位);否则 deferred_to 非空 ⇒ carry-over。 */
18
20
  function classifyQuestion(q) {
19
21
  const has = (s) => typeof s === "string" && s.trim() !== "";
@@ -37,6 +39,23 @@ export function runCloseoutCommand(opts, cwd) {
37
39
  process.stderr.write(c.fail("✗ ") + m.closeout_commit_required + "\n");
38
40
  return 1;
39
41
  }
42
+ // skill/CLI 版本耦合自检(v1.22 §3.2,warn 不阻断;best-effort,任何读取/解析失败静默跳过)
43
+ const bundledDir = resolveBundledSkillDir();
44
+ const bundledVer = bundledDir ? readSkillVersion(bundledDir) : null;
45
+ if (bundledVer !== null) {
46
+ const installedVer = readSkillVersion(installedSkillDir(opts.skillParentDir));
47
+ if (installedVer === null) {
48
+ process.stderr.write(c.warn(m.closeout_skill_not_installed) + "\n");
49
+ }
50
+ else {
51
+ const num = (v) => v.slice(1).split(".").map(Number);
52
+ const [bMaj, bMin] = num(bundledVer);
53
+ const [iMaj, iMin] = num(installedVer);
54
+ if (iMaj < bMaj || (iMaj === bMaj && iMin < bMin)) {
55
+ process.stderr.write(c.warn(m.closeout_skill_outdated({ installed: installedVer, bundled: bundledVer })) + "\n");
56
+ }
57
+ }
58
+ }
40
59
  // workspace 已 init?(同 freeze 步骤 2)
41
60
  const manifestPath = join(cwd, ".prd/manifest.json");
42
61
  const manifestRead = readManifest(manifestPath);
@@ -109,7 +128,7 @@ export function runCloseoutCommand(opts, cwd) {
109
128
  }
110
129
  return 1;
111
130
  }
112
- // 门禁 5:pre-validate(freeze 内部还会跑一次,双输出接受)
131
+ // 门禁 5:pre-validate(freeze 内部 quiet 复跑,v1.22 消音;v1.21 M2 决议被 dogfood 推翻)
113
132
  const validateCode = runValidateCommand({ feature: opts.feature }, cwd);
114
133
  if (validateCode !== 0) {
115
134
  process.stderr.write(c.fail("✗ ") + m.closeout_prevalidate_fail + "\n");
@@ -135,21 +154,52 @@ export function runCloseoutCommand(opts, cwd) {
135
154
  process.stderr.write(c.warn(m.closeout_commit_not_found_warn({ commit: opts.commit })) + "\n");
136
155
  }
137
156
  }
138
- // CHANGELOG 检查(仅 warning 不阻断)
157
+ // 决议统计(报告 + CHANGELOG 骨架条目共用,v1.22 上移)
158
+ const resolved = questions.filter((q) => classifyQuestion(q) === "resolved").length;
159
+ const carryOver = questions.filter((q) => classifyQuestion(q) === "carry_over").length;
160
+ // CHANGELOG 四态检查(v1.22 §2.1)+ 缺位自动建(§2.2)
139
161
  const workingChangelogPath = join(featureDir, "working/CHANGELOG.md");
140
162
  let changelogOk = false;
141
- if (existsSync(workingChangelogPath)) {
163
+ if (!existsSync(workingChangelogPath)) {
164
+ // ① 缺位 → 自动建骨架(本命令第一笔写盘;失败 exit 2,此刻 working/prd.yaml 未动无需回滚)
165
+ const skeleton = "# CHANGELOG\n\n## [Unreleased]\n\n- " +
166
+ m.closeout_changelog_skeleton_entry({
167
+ commit: opts.commit,
168
+ resolved,
169
+ carry_over: carryOver,
170
+ }) +
171
+ "\n";
172
+ try {
173
+ writeFileSync(workingChangelogPath, skeleton, "utf8");
174
+ }
175
+ catch (e) {
176
+ process.stderr.write(c.fail("✗ ") +
177
+ m.closeout_fs_error({
178
+ operation: "write working/CHANGELOG.md",
179
+ message: e.message,
180
+ }) +
181
+ "\n");
182
+ return 2;
183
+ }
184
+ process.stdout.write(c.pass("✓ ") + m.closeout_changelog_created + "\n");
185
+ changelogOk = true;
186
+ }
187
+ else {
142
188
  try {
143
189
  const content = readFileSync(workingChangelogPath, "utf8");
144
- changelogOk = /^##\s+\[(Unreleased|未发布)\]\s*$/m.test(content);
190
+ if (findUnreleasedIndex(content.split("\n")) >= 0) {
191
+ changelogOk = true; // ② 可读且有有效段
192
+ }
193
+ else {
194
+ // ③ 可读但无段:warn,不建不覆盖(用户文件优先)
195
+ process.stderr.write(c.warn(m.closeout_changelog_no_unreleased_warn) + "\n");
196
+ }
145
197
  }
146
198
  catch {
147
- changelogOk = false;
199
+ // 存在但读失败:不裁决内容
200
+ process.stderr.write(c.warn(m.closeout_changelog_unreadable_warn) + "\n");
148
201
  }
149
202
  }
150
- if (!changelogOk) {
151
- process.stderr.write(c.warn(m.closeout_changelog_missing_warn) + "\n");
152
- }
153
203
  // 步骤 1:working lifecycle 回填(patch 失败 → 零写盘)
154
204
  const backup = yamlText;
155
205
  const today = new Date().toISOString().slice(0, 10);
@@ -216,7 +266,7 @@ export function runCloseoutCommand(opts, cwd) {
216
266
  });
217
267
  }
218
268
  try {
219
- writeFileSync(manifestPath, JSON.stringify(manifestAfter.data, null, 2) + "\n", "utf8");
269
+ writeManifest(manifestPath, manifestAfter.data);
220
270
  }
221
271
  catch (e) {
222
272
  process.stderr.write(c.fail("✗ ") +
@@ -228,8 +278,6 @@ export function runCloseoutCommand(opts, cwd) {
228
278
  return 2;
229
279
  }
230
280
  // 收口报告
231
- const resolved = questions.filter((q) => classifyQuestion(q) === "resolved").length;
232
- const carryOver = questions.filter((q) => classifyQuestion(q) === "carry_over").length;
233
281
  process.stdout.write("\n" +
234
282
  c.pass("✓ ") +
235
283
  m.closeout_success({
@@ -1 +1 @@
1
- {"version":3,"file":"closeout.js","sourceRoot":"","sources":["../../src/commands/closeout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"closeout.js","sourceRoot":"","sources":["../../src/commands/closeout.ts"],"names":[],"mappings":"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"}