specweave 1.0.253 → 1.0.255

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 (138) hide show
  1. package/CLAUDE.md +24 -24
  2. package/README.md +163 -1
  3. package/dist/src/adapters/agents-md-generator.d.ts.map +1 -1
  4. package/dist/src/adapters/agents-md-generator.js +0 -1
  5. package/dist/src/adapters/agents-md-generator.js.map +1 -1
  6. package/dist/src/adapters/claude/README.md +0 -1
  7. package/dist/src/adapters/claude-md-generator.d.ts.map +1 -1
  8. package/dist/src/adapters/claude-md-generator.js +0 -1
  9. package/dist/src/adapters/claude-md-generator.js.map +1 -1
  10. package/dist/src/cli/commands/docs.d.ts.map +1 -1
  11. package/dist/src/cli/commands/docs.js +59 -55
  12. package/dist/src/cli/commands/docs.js.map +1 -1
  13. package/dist/src/cli/helpers/init/smart-defaults.d.ts.map +1 -1
  14. package/dist/src/cli/helpers/init/smart-defaults.js +7 -1
  15. package/dist/src/cli/helpers/init/smart-defaults.js.map +1 -1
  16. package/dist/src/core/config/types.d.ts +2 -0
  17. package/dist/src/core/config/types.d.ts.map +1 -1
  18. package/dist/src/core/config/types.js.map +1 -1
  19. package/dist/src/core/discrepancy/analyzers/api-route-analyzer.d.ts.map +1 -1
  20. package/dist/src/core/discrepancy/analyzers/api-route-analyzer.js +5 -0
  21. package/dist/src/core/discrepancy/analyzers/api-route-analyzer.js.map +1 -1
  22. package/dist/src/core/lazy-loading/llm-plugin-detector.d.ts +21 -0
  23. package/dist/src/core/lazy-loading/llm-plugin-detector.d.ts.map +1 -1
  24. package/dist/src/core/lazy-loading/llm-plugin-detector.js +61 -107
  25. package/dist/src/core/lazy-loading/llm-plugin-detector.js.map +1 -1
  26. package/dist/src/core/living-docs/enterprise/history-analyzer.d.ts.map +1 -1
  27. package/dist/src/core/living-docs/enterprise/history-analyzer.js +1 -3
  28. package/dist/src/core/living-docs/enterprise/history-analyzer.js.map +1 -1
  29. package/dist/src/core/living-docs/governance/java-standards-parser.d.ts.map +1 -1
  30. package/dist/src/core/living-docs/governance/java-standards-parser.js +37 -18
  31. package/dist/src/core/living-docs/governance/java-standards-parser.js.map +1 -1
  32. package/dist/src/core/living-docs/operations/ops-generator.js +2 -2
  33. package/dist/src/core/living-docs/operations/ops-generator.js.map +1 -1
  34. package/dist/src/core/reflection/index.d.ts +1 -1
  35. package/dist/src/core/reflection/index.d.ts.map +1 -1
  36. package/dist/src/core/reflection/index.js +1 -1
  37. package/dist/src/core/reflection/index.js.map +1 -1
  38. package/dist/src/core/reflection/reflect-handler.d.ts.map +1 -1
  39. package/dist/src/core/reflection/reflect-handler.js +1 -2
  40. package/dist/src/core/reflection/reflect-handler.js.map +1 -1
  41. package/dist/src/core/reflection/skill-memories.d.ts +13 -1
  42. package/dist/src/core/reflection/skill-memories.d.ts.map +1 -1
  43. package/dist/src/core/reflection/skill-memories.js +55 -10
  44. package/dist/src/core/reflection/skill-memories.js.map +1 -1
  45. package/dist/src/core/repo-structure/prefix-validator.d.ts +25 -0
  46. package/dist/src/core/repo-structure/prefix-validator.d.ts.map +1 -0
  47. package/dist/src/core/repo-structure/prefix-validator.js +47 -0
  48. package/dist/src/core/repo-structure/prefix-validator.js.map +1 -0
  49. package/dist/src/core/repo-structure/repo-structure-manager.d.ts +4 -0
  50. package/dist/src/core/repo-structure/repo-structure-manager.d.ts.map +1 -1
  51. package/dist/src/core/repo-structure/repo-structure-manager.js.map +1 -1
  52. package/dist/src/core/repo-structure/role-prefix-collector.d.ts +45 -0
  53. package/dist/src/core/repo-structure/role-prefix-collector.d.ts.map +1 -0
  54. package/dist/src/core/repo-structure/role-prefix-collector.js +106 -0
  55. package/dist/src/core/repo-structure/role-prefix-collector.js.map +1 -0
  56. package/dist/src/hooks/session-start.js +7 -0
  57. package/dist/src/hooks/session-start.js.map +1 -1
  58. package/dist/src/sync/story-router.d.ts +36 -0
  59. package/dist/src/sync/story-router.d.ts.map +1 -0
  60. package/dist/src/sync/story-router.js +56 -0
  61. package/dist/src/sync/story-router.js.map +1 -0
  62. package/dist/src/utils/agents-md-compiler.d.ts.map +1 -1
  63. package/dist/src/utils/agents-md-compiler.js +0 -1
  64. package/dist/src/utils/agents-md-compiler.js.map +1 -1
  65. package/dist/src/utils/state-cleanup.d.ts +19 -0
  66. package/dist/src/utils/state-cleanup.d.ts.map +1 -0
  67. package/dist/src/utils/state-cleanup.js +61 -0
  68. package/dist/src/utils/state-cleanup.js.map +1 -0
  69. package/package.json +1 -1
  70. package/plugins/specweave/PLUGIN.md +0 -1
  71. package/plugins/specweave/commands/brownfield-analyzer.md +0 -10
  72. package/plugins/specweave/commands/brownfield-onboarder.md +0 -10
  73. package/plugins/specweave/commands/export-skills.md +0 -10
  74. package/plugins/specweave/commands/plugin-validator.md +0 -10
  75. package/plugins/specweave/hooks/stop-reflect.sh +4 -2
  76. package/plugins/specweave/hooks/user-prompt-submit.sh +29 -68
  77. package/plugins/specweave/hooks/v2/dispatchers/session-start.sh +0 -3
  78. package/plugins/specweave/skills/architect/SKILL.md +2 -6
  79. package/plugins/specweave/skills/archive-increments/SKILL.md +0 -10
  80. package/plugins/specweave/skills/auto/SKILL.md +4 -0
  81. package/plugins/specweave/skills/cancel-auto/SKILL.md +5 -1
  82. package/plugins/specweave/skills/code-review/SKILL.md +1 -11
  83. package/plugins/specweave/skills/code-simplifier/SKILL.md +3 -7
  84. package/plugins/specweave/skills/do/SKILL.md +6 -2
  85. package/plugins/specweave/skills/docs/SKILL.md +5 -8
  86. package/plugins/specweave/skills/docs-updater/SKILL.md +4 -10
  87. package/plugins/specweave/skills/done/SKILL.md +6 -3
  88. package/plugins/specweave/skills/framework/SKILL.md +4 -10
  89. package/plugins/specweave/skills/grill/SKILL.md +7 -12
  90. package/plugins/specweave/skills/increment/SKILL.md +5 -0
  91. package/plugins/specweave/skills/increment-planner/SKILL.md +4 -7
  92. package/plugins/specweave/skills/increment-work-router/SKILL.md +0 -10
  93. package/plugins/specweave/skills/judge-llm/SKILL.md +0 -11
  94. package/plugins/specweave/skills/lsp/SKILL.md +4 -10
  95. package/plugins/specweave/skills/multi-project-spec-mapper/SKILL.md +0 -10
  96. package/plugins/specweave/skills/next/SKILL.md +1 -1
  97. package/plugins/specweave/skills/plan/SKILL.md +1 -1
  98. package/plugins/specweave/skills/pm/SKILL.md +6 -11
  99. package/plugins/specweave/skills/pm-closure-validation/SKILL.md +0 -10
  100. package/plugins/specweave/skills/progress/SKILL.md +5 -1
  101. package/plugins/specweave/skills/progress-sync/SKILL.md +2 -11
  102. package/plugins/specweave/skills/save/SKILL.md +6 -1
  103. package/plugins/specweave/skills/security/SKILL.md +2 -6
  104. package/plugins/specweave/skills/security-patterns/SKILL.md +4 -10
  105. package/plugins/specweave/skills/smart-reopen-detector/SKILL.md +0 -10
  106. package/plugins/specweave/skills/spec-generator/SKILL.md +0 -10
  107. package/plugins/specweave/skills/tdd-cycle/SKILL.md +5 -1
  108. package/plugins/specweave/skills/tdd-green/SKILL.md +5 -1
  109. package/plugins/specweave/skills/tdd-orchestrator/SKILL.md +4 -10
  110. package/plugins/specweave/skills/tdd-red/SKILL.md +5 -1
  111. package/plugins/specweave/skills/tdd-refactor/SKILL.md +1 -1
  112. package/plugins/specweave/skills/team-build/SKILL.md +1 -1
  113. package/plugins/specweave/skills/team-lead/SKILL.md +3 -3
  114. package/plugins/specweave/skills/test-aware-planner/SKILL.md +0 -10
  115. package/plugins/specweave/skills/umbrella-repo-detector/SKILL.md +0 -10
  116. package/plugins/specweave/skills/update-instructions/SKILL.md +0 -10
  117. package/plugins/specweave/skills/validate/SKILL.md +6 -1
  118. package/plugins/specweave-github/commands/close.md +2 -2
  119. package/src/templates/CLAUDE.md.template +1 -1
  120. package/src/templates/docs/adr-template.md +1 -1
  121. package/src/templates/docs/hld-template.md +1 -1
  122. package/src/templates/docs/lld-template.md +2 -2
  123. package/src/templates/docs/rfc-template.md +1 -1
  124. package/src/templates/docs/spec-template.md +1 -1
  125. package/dist/src/core/reflection/skill-memory-injector.d.ts +0 -42
  126. package/dist/src/core/reflection/skill-memory-injector.d.ts.map +0 -1
  127. package/dist/src/core/reflection/skill-memory-injector.js +0 -67
  128. package/dist/src/core/reflection/skill-memory-injector.js.map +0 -1
  129. package/plugins/specweave/commands/skill.md +0 -620
  130. package/plugins/specweave/skills/tech-lead/SKILL.md +0 -25
  131. package/plugins/specweave/templates/coding-standards.md.template +0 -535
  132. package/plugins/specweave/templates/hookify/README.md +0 -47
  133. package/plugins/specweave/templates/hookify/hookify.block-force-push.local.md +0 -19
  134. package/plugins/specweave/templates/hookify/hookify.block-metadata-status.local.md +0 -18
  135. package/plugins/specweave/templates/hookify/hookify.block-secrets.local.md +0 -26
  136. package/plugins/specweave/templates/hookify/hookify.require-tests.local.md +0 -22
  137. package/plugins/specweave/templates/hookify/hookify.warn-dangerous-rm.local.md +0 -23
  138. package/plugins/specweave/templates/hookify/hookify.warn-root-files.local.md +0 -21
@@ -12,9 +12,27 @@
12
12
  import * as fs from 'fs';
13
13
  import * as path from 'path';
14
14
  /**
15
- * Directory for skill-specific memory files (relative to project root)
15
+ * Default directory for skill-specific memory files (relative to project root)
16
16
  */
17
17
  export const SKILL_MEMORY_DIR = '.specweave/skill-memories';
18
+ /**
19
+ * Resolve the skill memory directory for a project.
20
+ *
21
+ * Cascading priority (first existing dir wins):
22
+ * 1. .specweave/skill-memories/ — SpecWeave project level
23
+ * 2. .claude/skill-memories/ — Claude Code project level
24
+ *
25
+ * For writes, returns the first path whose parent dir exists
26
+ * (.specweave/ or .claude/). Falls back to .claude/skill-memories/
27
+ * so the feature works without SpecWeave.
28
+ */
29
+ export function getSkillMemoryDir(projectRoot) {
30
+ const specweaveDir = path.join(projectRoot, '.specweave');
31
+ if (fs.existsSync(specweaveDir)) {
32
+ return '.specweave/skill-memories';
33
+ }
34
+ return '.claude/skill-memories';
35
+ }
18
36
  /**
19
37
  * Generate the content for a skill memory file
20
38
  */
@@ -47,7 +65,8 @@ export function generateSkillMemoryContent(skillName, learnings) {
47
65
  * Read existing learnings from a skill memory file
48
66
  */
49
67
  export function readSkillMemoryFile(projectRoot, skillName) {
50
- const filePath = path.join(projectRoot, SKILL_MEMORY_DIR, `${skillName}.md`);
68
+ const memDir = getSkillMemoryDir(projectRoot);
69
+ const filePath = path.join(projectRoot, memDir, `${skillName}.md`);
51
70
  if (!fs.existsSync(filePath)) {
52
71
  return [];
53
72
  }
@@ -88,7 +107,8 @@ function isDuplicate(existing, newLearning) {
88
107
  * Deduplicates learnings.
89
108
  */
90
109
  export function writeSkillMemoryFile(projectRoot, learning) {
91
- const dirPath = path.join(projectRoot, SKILL_MEMORY_DIR);
110
+ const memDir = getSkillMemoryDir(projectRoot);
111
+ const dirPath = path.join(projectRoot, memDir);
92
112
  const filePath = path.join(dirPath, `${learning.skill}.md`);
93
113
  // Ensure directory exists
94
114
  if (!fs.existsSync(dirPath)) {
@@ -102,9 +122,20 @@ export function writeSkillMemoryFile(projectRoot, learning) {
102
122
  }
103
123
  // Add new learning
104
124
  const allLearnings = [...existingLearnings, learning.learning];
105
- // Generate and write content
125
+ // Generate and write content atomically (temp file + rename)
106
126
  const content = generateSkillMemoryContent(learning.skill, allLearnings);
107
- fs.writeFileSync(filePath, content);
127
+ const tempFile = `${filePath}.tmp.${Date.now()}`;
128
+ try {
129
+ fs.writeFileSync(tempFile, content);
130
+ fs.renameSync(tempFile, filePath);
131
+ }
132
+ catch (err) {
133
+ try {
134
+ fs.unlinkSync(tempFile);
135
+ }
136
+ catch { /* ignore cleanup failure */ }
137
+ throw err;
138
+ }
108
139
  return { written: true };
109
140
  }
110
141
  /**
@@ -130,7 +161,8 @@ export function writeSkillMemories(projectRoot, learnings) {
130
161
  * Get all skill memory files in a project
131
162
  */
132
163
  export function listSkillMemoryFiles(projectRoot) {
133
- const dirPath = path.join(projectRoot, SKILL_MEMORY_DIR);
164
+ const memDir = getSkillMemoryDir(projectRoot);
165
+ const dirPath = path.join(projectRoot, memDir);
134
166
  if (!fs.existsSync(dirPath)) {
135
167
  return [];
136
168
  }
@@ -147,7 +179,8 @@ export function readAllSkillMemories(projectRoot) {
147
179
  const skills = listSkillMemoryFiles(projectRoot);
148
180
  const allLearnings = [];
149
181
  for (const skill of skills) {
150
- const filePath = path.join(projectRoot, SKILL_MEMORY_DIR, `${skill}.md`);
182
+ const memDir = getSkillMemoryDir(projectRoot);
183
+ const filePath = path.join(projectRoot, memDir, `${skill}.md`);
151
184
  if (!fs.existsSync(filePath))
152
185
  continue;
153
186
  const content = fs.readFileSync(filePath, 'utf-8');
@@ -195,7 +228,8 @@ export function pruneSkillMemories(projectRoot, config = {}) {
195
228
  cutoffDate.setDate(cutoffDate.getDate() - fullConfig.retentionDays);
196
229
  const cutoffDateStr = cutoffDate.toISOString().split('T')[0];
197
230
  for (const skill of skills) {
198
- const filePath = path.join(projectRoot, SKILL_MEMORY_DIR, `${skill}.md`);
231
+ const memDir = getSkillMemoryDir(projectRoot);
232
+ const filePath = path.join(projectRoot, memDir, `${skill}.md`);
199
233
  try {
200
234
  const content = fs.readFileSync(filePath, 'utf-8');
201
235
  const lines = content.split('\n');
@@ -221,9 +255,20 @@ export function pruneSkillMemories(projectRoot, config = {}) {
221
255
  filtered.sort((a, b) => a.date.localeCompare(b.date));
222
256
  const prunedInSkill = originalCount - filtered.length;
223
257
  if (prunedInSkill > 0) {
224
- // Regenerate file content
258
+ // Regenerate file content atomically (temp file + rename)
225
259
  const newContent = generateSkillMemoryContent(skill, filtered.map((l) => `**${l.date}**: ${l.learning}`));
226
- fs.writeFileSync(filePath, newContent);
260
+ const tempFile = `${filePath}.tmp.${Date.now()}`;
261
+ try {
262
+ fs.writeFileSync(tempFile, newContent);
263
+ fs.renameSync(tempFile, filePath);
264
+ }
265
+ catch (writeErr) {
266
+ try {
267
+ fs.unlinkSync(tempFile);
268
+ }
269
+ catch { /* ignore cleanup failure */ }
270
+ throw writeErr;
271
+ }
227
272
  result.prunedCount += prunedInSkill;
228
273
  result.skillsAffected.push(skill);
229
274
  }
@@ -1 +1 @@
1
- {"version":3,"file":"skill-memories.js","sourceRoot":"","sources":["../../../../src/core/reflection/skill-memories.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-memories.js","sourceRoot":"","sources":["../../../../src/core/reflection/skill-memories.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Prefix Validator
3
+ *
4
+ * Validates user story prefixes for multi-repo setups.
5
+ * Checks format (2-6 uppercase letters), reserved words, and uniqueness.
6
+ */
7
+ /** SpecWeave-reserved prefixes that cannot be used as repo prefixes */
8
+ export declare const RESERVED_PREFIXES: readonly ["US", "FS", "EP", "T", "AC"];
9
+ /** Default prefix suggestions per role */
10
+ export declare const ROLE_PREFIX_DEFAULTS: Record<string, string>;
11
+ export interface PrefixValidationResult {
12
+ valid: boolean;
13
+ /** Normalized prefix (uppercase) — only set when valid */
14
+ normalized?: string;
15
+ /** Error message — only set when invalid */
16
+ error?: string;
17
+ }
18
+ /**
19
+ * Validate a story prefix for format, reserved words, and uniqueness.
20
+ *
21
+ * @param prefix - Prefix to validate (case-insensitive)
22
+ * @param usedPrefixes - Set of already-assigned prefixes (uppercase)
23
+ */
24
+ export declare function validatePrefix(prefix: string, usedPrefixes: Set<string>): PrefixValidationResult;
25
+ //# sourceMappingURL=prefix-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prefix-validator.d.ts","sourceRoot":"","sources":["../../../../src/core/repo-structure/prefix-validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,uEAAuE;AACvE,eAAO,MAAM,iBAAiB,wCAAyC,CAAC;AAExE,0CAA0C;AAC1C,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAOvD,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,sBAAsB,CA4BhG"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Prefix Validator
3
+ *
4
+ * Validates user story prefixes for multi-repo setups.
5
+ * Checks format (2-6 uppercase letters), reserved words, and uniqueness.
6
+ */
7
+ /** SpecWeave-reserved prefixes that cannot be used as repo prefixes */
8
+ export const RESERVED_PREFIXES = ['US', 'FS', 'EP', 'T', 'AC'];
9
+ /** Default prefix suggestions per role */
10
+ export const ROLE_PREFIX_DEFAULTS = {
11
+ frontend: 'FE',
12
+ backend: 'BE',
13
+ mobile: 'MOB',
14
+ infra: 'INFRA',
15
+ shared: 'SHARED',
16
+ other: 'MISC',
17
+ };
18
+ /**
19
+ * Validate a story prefix for format, reserved words, and uniqueness.
20
+ *
21
+ * @param prefix - Prefix to validate (case-insensitive)
22
+ * @param usedPrefixes - Set of already-assigned prefixes (uppercase)
23
+ */
24
+ export function validatePrefix(prefix, usedPrefixes) {
25
+ const trimmed = prefix.trim();
26
+ if (!trimmed) {
27
+ return { valid: false, error: 'Prefix is required' };
28
+ }
29
+ const upper = trimmed.toUpperCase();
30
+ // Format: 2-6 uppercase letters only
31
+ if (!/^[A-Za-z]{2,6}$/.test(trimmed)) {
32
+ if (trimmed.length < 2 || trimmed.length > 6) {
33
+ return { valid: false, error: 'Prefix must be 2-6 letters' };
34
+ }
35
+ return { valid: false, error: 'Prefix must contain only letters (A-Z)' };
36
+ }
37
+ // Reserved words
38
+ if (RESERVED_PREFIXES.includes(upper)) {
39
+ return { valid: false, error: `"${upper}" is reserved by SpecWeave. Use a different prefix.` };
40
+ }
41
+ // Uniqueness
42
+ if (usedPrefixes.has(upper)) {
43
+ return { valid: false, error: `"${upper}" is already used. Choose a different prefix.` };
44
+ }
45
+ return { valid: true, normalized: upper };
46
+ }
47
+ //# sourceMappingURL=prefix-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prefix-validator.js","sourceRoot":"","sources":["../../../../src/core/repo-structure/prefix-validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,uEAAuE;AACvE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAU,CAAC;AAExE,0CAA0C;AAC1C,MAAM,CAAC,MAAM,oBAAoB,GAA2B;IAC1D,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,MAAM;CACd,CAAC;AAUF;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,YAAyB;IACtE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAE9B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;IACvD,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAEpC,qCAAqC;IACrC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC;QAC/D,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAC;IAC3E,CAAC;IAED,iBAAiB;IACjB,IAAK,iBAAuC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,KAAK,qDAAqD,EAAE,CAAC;IACjG,CAAC;IAED,aAAa;IACb,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,KAAK,+CAA+C,EAAE,CAAC;IAC3F,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AAC5C,CAAC"}
@@ -41,7 +41,11 @@ export interface RepoStructureConfig {
41
41
  visibility: 'private' | 'public';
42
42
  createOnGitHub: boolean;
43
43
  isNested: boolean;
44
+ role?: string;
45
+ storyPrefix?: string;
44
46
  }>;
47
+ /** Parent repo ID for centralized issue tracking (set during role/prefix collection) */
48
+ parentRepoId?: string;
45
49
  monorepoProjects?: string[];
46
50
  }
47
51
  export declare class RepoStructureManager {
@@ -1 +1 @@
1
- {"version":3,"file":"repo-structure-manager.d.ts","sourceRoot":"","sources":["../../../../src/core/repo-structure/repo-structure-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAWH,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAStE,wEAAwE;AACxE,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE/E,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,gBAAgB,CAAC;IAC/B,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC;IACzB,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,WAAW,CAAC;IACtB,0FAA0F;IAC1F,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC;QACjC,cAAc,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,YAAY,EAAE,KAAK,CAAC;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC;QACjC,cAAc,EAAE,OAAO,CAAC;QACxB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAoB;gBAE5B,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IASrD;;;;;;OAMG;IACG,eAAe,CACnB,uBAAuB,CAAC,EAAE,kBAAkB,EAC5C,mBAAmB,CAAC,EAAE,eAAe,EACrC,kBAAkB,CAAC,EAAE,KAAK,GAAG,OAAO,GACnC,OAAO,CAAC,mBAAmB,CAAC;IAqI/B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B;IAWpC;;OAEG;YACW,WAAW;IAqCzB;;OAEG;YACW,mBAAmB;IAyIjC;;OAEG;YACW,iBAAiB;IAmF/B;;OAEG;IACG,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuDpE;;OAEG;YACW,eAAe;IAuC7B;;OAEG;YACW,gBAAgB;IA+B9B;;OAEG;YACW,gBAAgB;IAmC9B;;OAEG;YACW,oBAAoB;IAoBlC;;;OAGG;IACG,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE;;;OAGG;IACG,wBAAwB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3E"}
1
+ {"version":3,"file":"repo-structure-manager.d.ts","sourceRoot":"","sources":["../../../../src/core/repo-structure/repo-structure-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAWH,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAStE,wEAAwE;AACxE,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE/E,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,gBAAgB,CAAC;IAC/B,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC;IACzB,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,WAAW,CAAC;IACtB,0FAA0F;IAC1F,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC;QACjC,cAAc,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,YAAY,EAAE,KAAK,CAAC;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC;QACjC,cAAc,EAAE,OAAO,CAAC;QACxB,QAAQ,EAAE,OAAO,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;IACH,wFAAwF;IACxF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAoB;gBAE5B,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IASrD;;;;;;OAMG;IACG,eAAe,CACnB,uBAAuB,CAAC,EAAE,kBAAkB,EAC5C,mBAAmB,CAAC,EAAE,eAAe,EACrC,kBAAkB,CAAC,EAAE,KAAK,GAAG,OAAO,GACnC,OAAO,CAAC,mBAAmB,CAAC;IAqI/B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B;IAWpC;;OAEG;YACW,WAAW;IAqCzB;;OAEG;YACW,mBAAmB;IAyIjC;;OAEG;YACW,iBAAiB;IAmF/B;;OAEG;IACG,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuDpE;;OAEG;YACW,eAAe;IAuC7B;;OAEG;YACW,gBAAgB;IA+B9B;;OAEG;YACW,gBAAgB;IAmC9B;;OAEG;YACW,oBAAoB;IAoBlC;;;OAGG;IACG,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE;;;OAGG;IACG,wBAAwB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3E"}
@@ -1 +1 @@
1
- {"version":3,"file":"repo-structure-manager.js","sourceRoot":"","sources":["../../../../src/core/repo-structure/repo-structure-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAsC,MAAM,0BAA0B,CAAC;AACjG,OAAO,EAAE,eAAe,EAAkB,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAEjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,4DAA4D;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EACL,oBAAoB,IAAI,cAAc,EACtC,wBAAwB,IAAI,qBAAqB,EAClD,MAAM,uBAAuB,CAAC;AA+B/B,MAAM,OAAO,oBAAoB;IAK/B,YAAY,WAAmB,EAAE,WAAoB;QACnD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAEvD,4CAA4C;QAC5C,mBAAmB,EAAE,CAAC;IACxB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CACnB,uBAA4C,EAC5C,mBAAqC,EACrC,kBAAoC;QAEpC,iGAAiG;QACjG,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC,CAAC;QACpG,CAAC;QAED,0BAA0B;QAC1B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC;QACpE,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;YAE3F,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC;gBACjC,OAAO,EAAE,wBAAwB;gBACjC,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,mCAAmC;gBACnC,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YACxC,CAAC;QACH,CAAC;QAED,gFAAgF;QAChF,IAAI,YAAgC,CAAC;QAErC,IAAI,uBAAuB,EAAE,CAAC;YAC5B,wDAAwD;YACxD,YAAY,GAAG,uBAAuB,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,4BAA4B,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QACnG,CAAC;aAAM,CAAC;YACN,mCAAmC;YACnC,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;YAC3C,YAAY,GAAG,MAAM,MAAM,CAAqB;gBAC9C,OAAO,EAAE,UAAU,CAAC,QAAQ;gBAC5B,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACtC,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;oBAC/E,KAAK,EAAE,GAAG,CAAC,KAA2B;iBACvC,CAAC,CAAC;gBACH,OAAO,EAAE,QAAQ;aAClB,CAAC,CAAC;QACL,CAAC;QAED,yEAAyE;QACzE,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;QACvC,IAAI,QAAyB,CAAC;QAC9B,IAAI,QAAqB,CAAC;QAE1B,IAAI,mBAAmB,EAAE,CAAC;YACxB,kFAAkF;YAClF,QAAQ,GAAG,mBAAmB,CAAC;YAC/B,MAAM,gBAAgB,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACxD,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,4CAA4C,CAAC,CAAC;YACpF,CAAC;YACD,QAAQ,GAAG,gBAAgB,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,QAAQ,CAAC,MAAM,CAAC,IAAI,4BAA4B,CAAC,CAAC,CAAC;QACxF,CAAC;aAAM,CAAC;YACN,+BAA+B;YAC/B,MAAM,eAAe,GAAG,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,gCAAgC;YAC3F,MAAM,kBAAkB,GAAG,0BAA0B,EAAE,CAAC;YAExD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;YAE3D,QAAQ,GAAG,MAAM,MAAM,CAAC;gBACtB,OAAO,EAAE,kBAAkB,CAAC,QAAQ;gBACpC,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACnC,IAAI,EAAE,GAAG,CAAC,QAAQ;wBAChB,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE;wBACvF,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;oBACjD,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;iBAC9C,CAAC,CAAC;gBACH,OAAO,EAAE,QAAQ;aAClB,CAAoB,CAAC;YAEtB,wBAAwB;YACxB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACxD,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,4CAA4C,CAAC,CAAC;YACpF,CAAC;YACD,QAAQ,GAAG,gBAAgB,CAAC;YAE5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,QAAQ,CAAC,MAAM,CAAC,IAAI,4BAA4B,CAAC,CAAC,CAAC;QAC1F,CAAC;QAED,0EAA0E;QAC1E,IAAI,OAAwB,CAAC;QAE7B,IAAI,kBAAkB,EAAE,CAAC;YACvB,4BAA4B;YAC5B,OAAO,GAAG,kBAAkB,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,+BAA+B;YAC/B,MAAM,iBAAiB,GAAG,gBAAgB,EAAE,CAAC;YAC7C,OAAO,GAAG,MAAM,MAAM,CAAC;gBACrB,OAAO,EAAE,iBAAiB,CAAC,QAAQ;gBACnC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC7C,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;oBACpD,KAAK,EAAE,GAAG,CAAC,KAAK;iBACjB,CAAC,CAAC;gBACH,OAAO,EAAE,iBAAiB,CAAC,OAAO;aACnC,CAAoB,CAAC;YAEtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC/E,CAAC;QAED,kDAAkD;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAkC,CAAC,CAAC;QAElF,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAA2B,EAAE,QAAQ,CAAC,CAAC;YAClF,KAAK,YAAY;gBACf,oDAAoD;gBACpD,OAAO,kBAAkB,CAAC;oBACxB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,OAAO;oBACP,QAAQ,EAAE,QAA2B;oBACrC,QAAQ;iBACT,CAAC,CAAC;YACL;gBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAAC,MAA0B;QACtD,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,QAAQ;gBACX,OAAO,QAAQ,CAAC;YAClB,KAAK,eAAe;gBAClB,OAAO,YAAY,CAAC,CAAC,8CAA8C;YACrE;gBACE,OAAO,QAAQ,CAAC;QACpB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,4BAA4B,CAAC,MAA0B;QAC7D,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,QAAQ;gBACX,OAAO,mBAAmB,CAAC;YAC7B,KAAK,eAAe;gBAClB,OAAO,iDAAiD,CAAC;YAC3D;gBACE,OAAO,MAAM,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,KAAiB;QACzC,yEAAyE;QACzE,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QAED,4CAA4C;QAC5C,yDAAyD;QACzD,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;QACjF,MAAM,MAAM,GAAwB;YAClC,YAAY,EAAE,IAAwB;YACtC,OAAO,EAAE,KAAK,EAAG,oCAAoC;YACrD,QAAQ,EAAE,QAAQ,EAAG,+CAA+C;YACpE,QAAQ,EAAE,QAAQ;YAClB,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAClC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,WAAW,EAAE,EAAE,EAAE,qBAAqB;gBACtC,2DAA2D;gBAC3D,6EAA6E;gBAC7E,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,YAAY,IAAI,KAAK,CAAC,YAAY,KAAK,QAAQ;oBACrF,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,EAAE;oBACrC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACT,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,cAAc,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI;gBAClC,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;SACzC,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAC;QACpE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAC/B,UAA2B,KAAK,EAChC,WAA4B,QAAQ,EACpC,QAAqB;QAErB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAC;QAElE,+BAA+B;QAC/B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QAE/D,IAAI,MAAM,EAAE,CAAC;YACX,gCAAgC;YAChC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,QAAQ,CAAC,2BAA2B,EAAE;oBACnD,GAAG,EAAE,IAAI,CAAC,WAAW;oBACrB,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC,IAAI,EAAE,CAAC;gBAEV,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBACrE,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACvB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAEtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mCAAmC,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;oBAE7E,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC;wBAChC,OAAO,EAAE,0BAA0B;wBACnC,OAAO,EAAE,IAAI;qBACd,CAAC,CAAC;oBAEH,IAAI,WAAW,EAAE,CAAC;wBAChB,mDAAmD;wBACnD,IAAI,WAAW,GAAG,GAAG,IAAI,sBAAsB,CAAC;wBAChD,IAAI,UAAU,GAAyB,SAAS,CAAC;wBACjD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;4BACrB,IAAI,CAAC;gCACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,gCAAgC,KAAK,IAAI,IAAI,EAAE,EAAE;oCAC5E,OAAO,EAAE;wCACP,eAAe,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;wCAC7C,QAAQ,EAAE,6BAA6B;qCACxC;iCACF,CAAC,CAAC;gCACH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;oCAChB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;oCAC1C,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC;oCAC9C,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;gCACnD,CAAC;4BACH,CAAC;4BAAC,MAAM,CAAC;gCACP,8BAA8B;4BAChC,CAAC;wBACH,CAAC;wBAED,OAAO;4BACL,YAAY,EAAE,QAAQ;4BACtB,OAAO;4BACP,QAAQ;4BACR,QAAQ;4BACR,YAAY,EAAE,CAAC;oCACb,EAAE,EAAE,MAAM;oCACV,IAAI,EAAE,IAAI;oCACV,KAAK,EAAE,KAAK;oCACZ,WAAW,EAAE,WAAW;oCACxB,IAAI,EAAE,GAAG;oCACT,UAAU,EAAE,UAAU,EAAE,0BAA0B;oCAClD,cAAc,EAAE,KAAK;oCACrB,QAAQ,EAAE,KAAK;iCAChB,CAAC;yBACH,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,kDAAkD;YACpD,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC;YAC9B,OAAO,EAAE,4BAA4B;YACrC,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,mBAAmB;SAC/D,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC;YAC7B,OAAO,EAAE,kBAAkB;YAC3B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;YACxC,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,6BAA6B;SACzE,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,MAAM,KAAK,CAAC;YACpC,OAAO,EAAE,yBAAyB;YAClC,OAAO,EAAE,sBAAsB;SAChC,CAAC,CAAC;QAEH,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC;YACzC,OAAO,EAAE,8BAA8B;YACvC,OAAO,EAAE,CAAC,MAAM;SACjB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG;YACd,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iBAAiB;YAC9B,cAAc,EAAE,oBAAoB;SACrC,CAAC;QAEF,yDAAyD;QACzD,IAAI,UAAU,GAAyB,SAAS,CAAC;QACjD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3D,UAAU,GAAG,MAAM,MAAM,CAAC;gBACxB,OAAO,EAAE,gBAAgB,CAAC,QAAQ;gBAClC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC5C,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;oBACpD,KAAK,EAAE,GAAG,CAAC,KAA6B;iBACzC,CAAC,CAAC;gBACH,OAAO,EAAE,gBAAgB,CAAC,OAAO;aAClC,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,YAAY,EAAE,QAAQ;YACtB,OAAO;YACP,QAAQ;YACR,QAAQ;YACR,YAAY,EAAE,CAAC;oBACb,EAAE,EAAE,MAAM;oBACV,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,IAAI,EAAE,GAAG;oBACT,UAAU,EAAE,UAAU;oBACtB,cAAc,EAAE,OAAO,CAAC,cAAc;oBACtC,QAAQ,EAAE,KAAK;iBAChB,CAAC;SACH,CAAC;IACJ,CAAC;IAGD;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAC7B,UAA2B,KAAK,EAChC,WAA4B,QAAQ,EACpC,QAAqB;QAErB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC,CAAC;QAEhF,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC;YAC5B,OAAO,EAAE,4BAA4B;YACrC,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,mBAAmB;SAC/D,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC;YAC3B,OAAO,EAAE,kBAAkB;YAC3B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;YACxC,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,6BAA6B;SACzE,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC;YAClC,OAAO,EAAE,yBAAyB;YAClC,OAAO,EAAE,kBAAkB;SAC5B,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC;YAC/B,OAAO,EAAE,iEAAiE;YAC1E,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE;gBACxB,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACnE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,OAAO,0CAA0C,CAAC;gBACpD,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC;YACvC,OAAO,EAAE,8BAA8B;YACvC,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;SAC1D,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG;YACd,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,eAAe;YAC5B,QAAQ,EAAE,YAAY;YACtB,cAAc,EAAE,kBAAkB;SACnC,CAAC;QAEF,yDAAyD;QACzD,IAAI,UAAU,GAAyB,SAAS,CAAC;QACjD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3D,UAAU,GAAG,MAAM,MAAM,CAAC;gBACxB,OAAO,EAAE,gBAAgB,CAAC,QAAQ;gBAClC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC5C,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;oBACpD,KAAK,EAAE,GAAG,CAAC,KAA6B;iBACzC,CAAC,CAAC;gBACH,OAAO,EAAE,gBAAgB,CAAC,OAAO;aAClC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAE1E,OAAO;YACL,YAAY,EAAE,UAAU;YACxB,OAAO;YACP,QAAQ;YACR,QAAQ;YACR,YAAY,EAAE,CAAC;oBACb,EAAE,EAAE,MAAM;oBACV,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,IAAI,EAAE,GAAG;oBACT,UAAU,EAAE,UAAU;oBACtB,cAAc,EAAE,OAAO,CAAC,cAAc;oBACtC,QAAQ,EAAE,KAAK;iBAChB,CAAC;YACF,gBAAgB,EAAE,QAAQ;SAC3B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,MAA2B;QAClD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,sBAAsB,CAAC,CAAC,CAAC;YAC1F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;QACvF,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,oEAAoE;QACpE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;wBACrC,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;qBAC5B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;oBACrB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC7C,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,IAAI,EAAE,CAAC;QAEf,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;YAChD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,8BAA8B;QAC9B,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAEnC,qBAAqB;QACrB,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEpC,qCAAqC;QACrC,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IACxC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,MAA2B;QACvD,MAAM,OAAO,GAAG,GAAG,CAAC,kCAAkC,CAAC,CAAC,KAAK,EAAE,CAAC;QAEhE,IAAI,CAAC;YACH,yCAAyC;YACzC,uCAAuC;YACvC,MAAM,SAAS,GAAc;gBAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC;YAEF,MAAM,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAEnD,OAAO,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sDAAsD,CAAC,CAAC,CAAC;YAElF,0BAA0B;YAC1B,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;gBAChC,OAAO,EAAE,OAAO;gBAChB,YAAY,EAAE,MAAM,CAAC,YAAiC;gBACtD,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACnC,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,WAAW,EAAE,CAAC,CAAC,IAAI;oBACnB,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC;gBACH,WAAW,EAAE,aAAa;gBAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,MAA2B;QACxD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEpD,MAAM,KAAK,GAAe;YACxB,OAAO,EAAE,OAAO;YAChB,YAAY,EAAE,MAAM,CAAC,YAAiC;YACtD,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,WAAW,EAAE,CAAC,CAAC,IAAI;gBACnB,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC;gBAClE,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YACH,WAAW,EAAE,UAAU;YACvB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,UAAU,EAAE,IAAI;SACjB,CAAC;QAEF,MAAM,OAAO,GAAG,oBAAoB,CAAC;YACnC,WAAW;YACX,KAAK;YACL,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SACtD,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,KAAa,EAAE,IAAY,EAAE,WAAmB,EAAE,aAAmC,SAAS;QAC3H,wCAAwC;QACxC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,KAAK;YACpB,CAAC,CAAC,+BAA+B,KAAK,QAAQ;YAC9C,CAAC,CAAC,mCAAmC,CAAC;QAExC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;YACrC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;gBAC7C,QAAQ,EAAE,6BAA6B;gBACvC,sBAAsB,EAAE,YAAY;aACrC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,IAAI;gBACJ,WAAW;gBACX,OAAO,EAAE,UAAU,KAAK,SAAS;gBACjC,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE,IAAI;gBAChB,YAAY,EAAE,IAAI;gBAClB,QAAQ,EAAE,KAAK;aAChB,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;YAC3C,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC3D,0CAA0C;gBAC1C,OAAO;YACT,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,gCAAgC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,oBAAoB,CAAC,OAAe;QAChD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,gCAAgC,OAAO,EAAE,EAAE;gBACtE,OAAO,EAAE;oBACP,eAAe,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;oBAC7C,QAAQ,EAAE,6BAA6B;iBACxC;aACF,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;gBAC1C,OAAO,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC;YACtC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,oCAAoC;QACtC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAGD;;;OAGG;IACH,KAAK,CAAC,oBAAoB,CAAC,MAA2B;QACpD,OAAO,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,wBAAwB,CAAC,MAA2B;QACxD,OAAO,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;CACF"}
1
+ {"version":3,"file":"repo-structure-manager.js","sourceRoot":"","sources":["../../../../src/core/repo-structure/repo-structure-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Role & Prefix Collector
3
+ *
4
+ * Interactive flow that runs AFTER repo discovery (manual, bulk, or greenfield).
5
+ * Asks the user to assign a role and story prefix to each repository,
6
+ * then optionally designate a parent repo for centralized tracking.
7
+ */
8
+ /** Repo with role and prefix assigned */
9
+ export interface RepoWithRolePrefix {
10
+ id: string;
11
+ name: string;
12
+ owner: string;
13
+ role: string;
14
+ storyPrefix: string;
15
+ [key: string]: unknown;
16
+ }
17
+ /** Minimal repo info needed for collection */
18
+ interface RepoInput {
19
+ id: string;
20
+ name: string;
21
+ owner: string;
22
+ [key: string]: unknown;
23
+ }
24
+ /**
25
+ * Collect role and story prefix for each discovered repo.
26
+ *
27
+ * Runs AFTER repos are discovered/configured. Asks per-repo:
28
+ * 1. What is this repo for? (role)
29
+ * 2. Story prefix? (with role-based default, validated for uniqueness)
30
+ */
31
+ export declare function collectRolesAndPrefixes(repos: RepoInput[]): Promise<RepoWithRolePrefix[]>;
32
+ /**
33
+ * Ask if user wants a parent repo for centralized issue tracking.
34
+ *
35
+ * Only offered when 2+ repos exist. Shows clear explanation of what
36
+ * a parent repo means and when to use it.
37
+ *
38
+ * @returns Selected parent repo ID, or undefined if declined
39
+ */
40
+ export declare function promptParentRepo(repos: Array<{
41
+ id: string;
42
+ name: string;
43
+ }>): Promise<string | undefined>;
44
+ export {};
45
+ //# sourceMappingURL=role-prefix-collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-prefix-collector.d.ts","sourceRoot":"","sources":["../../../../src/core/repo-structure/role-prefix-collector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,yCAAyC;AACzC,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,8CAA8C;AAC9C,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAWD;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA4C/F;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GACzC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAuC7B"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Role & Prefix Collector
3
+ *
4
+ * Interactive flow that runs AFTER repo discovery (manual, bulk, or greenfield).
5
+ * Asks the user to assign a role and story prefix to each repository,
6
+ * then optionally designate a parent repo for centralized tracking.
7
+ */
8
+ import chalk from 'chalk';
9
+ import { select, input, confirm } from '@inquirer/prompts';
10
+ import { validatePrefix, ROLE_PREFIX_DEFAULTS } from './prefix-validator.js';
11
+ const ROLE_CHOICES = [
12
+ { name: 'Frontend (web, mobile UI)', value: 'frontend' },
13
+ { name: 'Backend (API, services)', value: 'backend' },
14
+ { name: 'Mobile (iOS, Android app)', value: 'mobile' },
15
+ { name: 'Infrastructure (Terraform, K8s)', value: 'infra' },
16
+ { name: 'Shared (libraries, utilities)', value: 'shared' },
17
+ { name: 'Other', value: 'other' },
18
+ ];
19
+ /**
20
+ * Collect role and story prefix for each discovered repo.
21
+ *
22
+ * Runs AFTER repos are discovered/configured. Asks per-repo:
23
+ * 1. What is this repo for? (role)
24
+ * 2. Story prefix? (with role-based default, validated for uniqueness)
25
+ */
26
+ export async function collectRolesAndPrefixes(repos) {
27
+ if (repos.length === 0)
28
+ return [];
29
+ console.log(chalk.cyan('\nšŸ·ļø Repository Roles & Prefixes\n'));
30
+ console.log(chalk.gray('Each repo gets a role and a prefix for user stories (e.g., US-FE-001).\n'));
31
+ const result = [];
32
+ const usedPrefixes = new Set();
33
+ for (const repo of repos) {
34
+ console.log(chalk.white(`\n${repo.name}:`));
35
+ const role = await select({
36
+ message: 'What is this repository for?',
37
+ choices: ROLE_CHOICES,
38
+ });
39
+ const defaultPrefix = ROLE_PREFIX_DEFAULTS[role] || 'MISC';
40
+ const prefix = await input({
41
+ message: 'Story prefix (e.g., US-FE-001):',
42
+ default: defaultPrefix,
43
+ validate: (val) => {
44
+ const validation = validatePrefix(val, usedPrefixes);
45
+ if (!validation.valid)
46
+ return validation.error;
47
+ return true;
48
+ },
49
+ });
50
+ // Normalize and track
51
+ const validation = validatePrefix(prefix, usedPrefixes);
52
+ const normalized = validation.normalized || prefix.toUpperCase();
53
+ usedPrefixes.add(normalized);
54
+ console.log(chalk.green(` āœ“ ${repo.name} → ${normalized} stories\n`));
55
+ result.push({
56
+ ...repo,
57
+ role,
58
+ storyPrefix: normalized,
59
+ });
60
+ }
61
+ return result;
62
+ }
63
+ /**
64
+ * Ask if user wants a parent repo for centralized issue tracking.
65
+ *
66
+ * Only offered when 2+ repos exist. Shows clear explanation of what
67
+ * a parent repo means and when to use it.
68
+ *
69
+ * @returns Selected parent repo ID, or undefined if declined
70
+ */
71
+ export async function promptParentRepo(repos) {
72
+ if (repos.length < 2)
73
+ return undefined;
74
+ console.log(chalk.cyan('\nšŸ“¦ Issue Tracking Strategy\n'));
75
+ const wantParent = await confirm({
76
+ message: [
77
+ 'Do you want a parent/coordination repository?\n',
78
+ chalk.gray(' A parent repo tracks ALL work items in one place (issues, milestones).'),
79
+ chalk.gray(' It typically contains only docs/specs, no application code.\n'),
80
+ chalk.gray(' Use a parent repo if:'),
81
+ chalk.gray(' āœ“ You have 3+ microservices and want one place for all work'),
82
+ chalk.gray(' āœ“ Your team uses a central "specs" or "planning" repo\n'),
83
+ chalk.gray(' Skip parent repo if:'),
84
+ chalk.gray(' āœ— You only have 1-2 repos (just use the main repo for issues)'),
85
+ chalk.gray(' āœ— Each service has its own PM/team\n'),
86
+ chalk.gray(' Examples:'),
87
+ chalk.gray(' • WITH parent: acme-specs (tracks), acme-frontend, acme-api (code)'),
88
+ chalk.gray(' • WITHOUT parent: my-frontend (tracks + code), my-api (tracks + code)\n'),
89
+ ].join('\n'),
90
+ default: false,
91
+ });
92
+ if (!wantParent) {
93
+ console.log(chalk.gray(' → First repository will be default for issues\n'));
94
+ return undefined;
95
+ }
96
+ const parentId = await select({
97
+ message: 'Which repo should be the parent for issue tracking?',
98
+ choices: repos.map(r => ({
99
+ name: r.name,
100
+ value: r.id,
101
+ })),
102
+ });
103
+ console.log(chalk.green(`\n āœ“ Using "${parentId}" as parent for all work items\n`));
104
+ return parentId;
105
+ }
106
+ //# sourceMappingURL=role-prefix-collector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-prefix-collector.js","sourceRoot":"","sources":["../../../../src/core/repo-structure/role-prefix-collector.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ import * as path from 'path';
16
16
  import * as fs from 'fs';
17
17
  import { fileURLToPath } from 'url';
18
18
  import { findProjectRoot, spawnNodeBackground, outputHookResult, consumeStdin, appendLog, } from './platform.js';
19
+ import { cleanOrphanedStateFiles } from '../utils/state-cleanup.js';
19
20
  // Proper cross-platform URL-to-path conversion
20
21
  const __filename = fileURLToPath(import.meta.url);
21
22
  const __dirname = path.dirname(__filename);
@@ -43,6 +44,12 @@ async function main() {
43
44
  // Consume stdin (required by hook protocol)
44
45
  await consumeStdin();
45
46
  const logFile = path.join(projectRoot, '.specweave', 'logs', 'session-start.log');
47
+ // v1.0.254: Clean up orphaned state files on session start
48
+ const stateDir = path.join(projectRoot, '.specweave', 'state');
49
+ const cleaned = cleanOrphanedStateFiles(stateDir);
50
+ if (cleaned > 0) {
51
+ appendLog(logFile, `Cleaned ${cleaned} orphaned state files`);
52
+ }
46
53
  const distHooksDir = path.join(projectRoot, 'node_modules', 'specweave', 'dist', 'hooks');
47
54
  // Check for processor script
48
55
  // First try: built hooks in dist (production)
@@ -1 +1 @@
1
- {"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../../src/hooks/session-start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../../src/hooks/session-start.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Story Router
3
+ *
4
+ * Routes user stories to repos by prefix matching.
5
+ * Format: US-{PREFIX}-{NUM} → matches repo with that prefix.
6
+ * Falls back to first repo (or custom default) when no match.
7
+ */
8
+ import type { ChildRepoConfig } from '../core/config/types.js';
9
+ export interface StoryRoutingResult {
10
+ /** Matched repo ID, or null if no repos available */
11
+ repoId: string | null;
12
+ /** Whether routing was an explicit prefix match */
13
+ matched: boolean;
14
+ /** Reason for routing decision (useful for debugging) */
15
+ reason: string;
16
+ }
17
+ /**
18
+ * Extract prefix from a user story ID.
19
+ *
20
+ * Supports: US-FE-001, US-SHARED-042, us-be-007 (case-insensitive)
21
+ * Returns null for: US-001 (no prefix), STORY-123 (wrong format)
22
+ *
23
+ * @param storyId - The story identifier (e.g., "US-FE-001")
24
+ * @returns Extracted prefix in uppercase, or null
25
+ */
26
+ export declare function extractPrefix(storyId: string): string | null;
27
+ /**
28
+ * Route a user story to a repo by prefix matching.
29
+ *
30
+ * @param storyId - Story identifier (e.g., "US-FE-001")
31
+ * @param childRepos - Available repos with prefix config
32
+ * @param defaultRepoId - Optional explicit default repo ID
33
+ * @returns Routing result with repoId, matched flag, and reason
34
+ */
35
+ export declare function routeByPrefix(storyId: string, childRepos: ChildRepoConfig[], defaultRepoId?: string): StoryRoutingResult;
36
+ //# sourceMappingURL=story-router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"story-router.d.ts","sourceRoot":"","sources":["../../../src/sync/story-router.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,qDAAqD;IACrD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ5D;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,eAAe,EAAE,EAC7B,aAAa,CAAC,EAAE,MAAM,GACrB,kBAAkB,CA0BpB"}