specweave 0.26.3 → 0.26.5

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 (64) hide show
  1. package/CLAUDE.md +261 -1382
  2. package/dist/src/cli/commands/plan/plan-orchestrator.js +2 -2
  3. package/dist/src/cli/commands/plan/plan-orchestrator.js.map +1 -1
  4. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.d.ts.map +1 -1
  5. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js +147 -55
  6. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js.map +1 -1
  7. package/dist/src/config/types.d.ts +203 -1208
  8. package/dist/src/config/types.d.ts.map +1 -1
  9. package/dist/src/core/increment/completion-validator.d.ts +4 -0
  10. package/dist/src/core/increment/completion-validator.d.ts.map +1 -1
  11. package/dist/src/core/increment/completion-validator.js +36 -0
  12. package/dist/src/core/increment/completion-validator.js.map +1 -1
  13. package/dist/src/core/increment/increment-reopener.d.ts.map +1 -1
  14. package/dist/src/core/increment/increment-reopener.js +13 -14
  15. package/dist/src/core/increment/increment-reopener.js.map +1 -1
  16. package/dist/src/core/increment/metadata-manager.d.ts.map +1 -1
  17. package/dist/src/core/increment/metadata-manager.js +16 -0
  18. package/dist/src/core/increment/metadata-manager.js.map +1 -1
  19. package/dist/src/core/increment/status-change-sync-trigger.d.ts +85 -0
  20. package/dist/src/core/increment/status-change-sync-trigger.d.ts.map +1 -0
  21. package/dist/src/core/increment/status-change-sync-trigger.js +137 -0
  22. package/dist/src/core/increment/status-change-sync-trigger.js.map +1 -0
  23. package/dist/src/core/increment/sync-circuit-breaker.d.ts +64 -0
  24. package/dist/src/core/increment/sync-circuit-breaker.d.ts.map +1 -0
  25. package/dist/src/core/increment/sync-circuit-breaker.js +95 -0
  26. package/dist/src/core/increment/sync-circuit-breaker.js.map +1 -0
  27. package/dist/src/core/living-docs/living-docs-sync.d.ts +12 -0
  28. package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
  29. package/dist/src/core/living-docs/living-docs-sync.js +161 -31
  30. package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
  31. package/dist/src/core/us-sync-throttle.d.ts +113 -0
  32. package/dist/src/core/us-sync-throttle.d.ts.map +1 -0
  33. package/dist/src/core/us-sync-throttle.js +195 -0
  34. package/dist/src/core/us-sync-throttle.js.map +1 -0
  35. package/dist/src/init/architecture/types.d.ts +33 -140
  36. package/dist/src/init/architecture/types.d.ts.map +1 -1
  37. package/dist/src/init/compliance/types.d.ts +30 -27
  38. package/dist/src/init/compliance/types.d.ts.map +1 -1
  39. package/dist/src/init/repo/types.d.ts +11 -34
  40. package/dist/src/init/repo/types.d.ts.map +1 -1
  41. package/dist/src/init/research/src/config/types.d.ts +15 -82
  42. package/dist/src/init/research/src/config/types.d.ts.map +1 -1
  43. package/dist/src/init/research/types.d.ts +38 -93
  44. package/dist/src/init/research/types.d.ts.map +1 -1
  45. package/dist/src/init/team/types.d.ts +4 -42
  46. package/dist/src/init/team/types.d.ts.map +1 -1
  47. package/dist/src/utils/external-tool-drift-detector.d.ts +76 -0
  48. package/dist/src/utils/external-tool-drift-detector.d.ts.map +1 -0
  49. package/dist/src/utils/external-tool-drift-detector.js +235 -0
  50. package/dist/src/utils/external-tool-drift-detector.js.map +1 -0
  51. package/package.json +5 -5
  52. package/plugins/specweave/hooks/post-task-completion.sh +6 -6
  53. package/plugins/specweave/hooks/pre-increment-start.sh +6 -1
  54. package/plugins/specweave/lib/hooks/us-completion-orchestrator.js +62 -89
  55. package/plugins/specweave/lib/hooks/us-completion-orchestrator.ts +215 -0
  56. package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js +16 -0
  57. package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js.map +1 -1
  58. package/plugins/specweave/skills/brownfield-analyzer/SKILL.md +267 -868
  59. package/plugins/specweave/skills/increment-planner/SKILL.md +337 -1253
  60. package/plugins/specweave/skills/role-orchestrator/SKILL.md +293 -969
  61. package/plugins/specweave-docs/skills/technical-writing/SKILL.md +333 -839
  62. package/plugins/specweave-release/hooks/post-task-completion.sh +5 -1
  63. package/plugins/specweave-testing/skills/tdd-expert/SKILL.md +269 -749
  64. package/plugins/specweave-testing/skills/unit-testing-expert/SKILL.md +318 -810
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Sync Circuit Breaker
3
+ *
4
+ * Prevents sync storms when external services (GitHub, JIRA, ADO) are down.
5
+ *
6
+ * Pattern: Circuit Breaker (Microservices pattern)
7
+ * States:
8
+ * - CLOSED: Normal operation, syncs allowed
9
+ * - OPEN: Too many failures, syncs blocked
10
+ * - HALF_OPEN: Testing if service recovered
11
+ *
12
+ * Thresholds:
13
+ * - Opens after 3 consecutive failures
14
+ * - Auto-resets after 5 minutes
15
+ * - Closes on first success in HALF_OPEN state
16
+ */
17
+ export type CircuitState = 'closed' | 'open' | 'half-open';
18
+ export interface CircuitBreakerState {
19
+ state: CircuitState;
20
+ failures: number;
21
+ lastFailure?: Date;
22
+ }
23
+ export declare class SyncCircuitBreaker {
24
+ private failures;
25
+ private lastFailure?;
26
+ private state;
27
+ private readonly FAILURE_THRESHOLD;
28
+ private readonly RESET_TIMEOUT_MS;
29
+ /**
30
+ * Check if sync is allowed
31
+ *
32
+ * @returns true if sync should proceed, false if circuit is open
33
+ */
34
+ canSync(): boolean;
35
+ /**
36
+ * Record successful sync
37
+ *
38
+ * Resets failure count and closes circuit
39
+ */
40
+ recordSuccess(): void;
41
+ /**
42
+ * Record failed sync
43
+ *
44
+ * Increments failure count and opens circuit if threshold exceeded
45
+ */
46
+ recordFailure(): void;
47
+ /**
48
+ * Check if circuit should reset
49
+ *
50
+ * @returns true if timeout elapsed
51
+ */
52
+ private shouldReset;
53
+ /**
54
+ * Get current circuit state
55
+ *
56
+ * @returns Circuit state info
57
+ */
58
+ getState(): CircuitBreakerState;
59
+ /**
60
+ * Manually reset circuit (for testing/admin)
61
+ */
62
+ reset(): void;
63
+ }
64
+ //# sourceMappingURL=sync-circuit-breaker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-circuit-breaker.d.ts","sourceRoot":"","sources":["../../../../src/core/increment/sync-circuit-breaker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,WAAW,CAAC,CAAO;IAC3B,OAAO,CAAC,KAAK,CAA0B;IAEvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAK;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiB;IAElD;;;;OAIG;IACH,OAAO,IAAI,OAAO;IAYlB;;;;OAIG;IACH,aAAa,IAAI,IAAI;IAKrB;;;;OAIG;IACH,aAAa,IAAI,IAAI;IAWrB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAMnB;;;;OAIG;IACH,QAAQ,IAAI,mBAAmB;IAQ/B;;OAEG;IACH,KAAK,IAAI,IAAI;CAKd"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Sync Circuit Breaker
3
+ *
4
+ * Prevents sync storms when external services (GitHub, JIRA, ADO) are down.
5
+ *
6
+ * Pattern: Circuit Breaker (Microservices pattern)
7
+ * States:
8
+ * - CLOSED: Normal operation, syncs allowed
9
+ * - OPEN: Too many failures, syncs blocked
10
+ * - HALF_OPEN: Testing if service recovered
11
+ *
12
+ * Thresholds:
13
+ * - Opens after 3 consecutive failures
14
+ * - Auto-resets after 5 minutes
15
+ * - Closes on first success in HALF_OPEN state
16
+ */
17
+ export class SyncCircuitBreaker {
18
+ constructor() {
19
+ this.failures = 0;
20
+ this.state = 'closed';
21
+ this.FAILURE_THRESHOLD = 3;
22
+ this.RESET_TIMEOUT_MS = 5 * 60 * 1000; // 5 minutes
23
+ }
24
+ /**
25
+ * Check if sync is allowed
26
+ *
27
+ * @returns true if sync should proceed, false if circuit is open
28
+ */
29
+ canSync() {
30
+ if (this.state === 'open') {
31
+ // Check if timeout passed
32
+ if (this.shouldReset()) {
33
+ this.state = 'half-open';
34
+ return true;
35
+ }
36
+ return false;
37
+ }
38
+ return true;
39
+ }
40
+ /**
41
+ * Record successful sync
42
+ *
43
+ * Resets failure count and closes circuit
44
+ */
45
+ recordSuccess() {
46
+ this.failures = 0;
47
+ this.state = 'closed';
48
+ }
49
+ /**
50
+ * Record failed sync
51
+ *
52
+ * Increments failure count and opens circuit if threshold exceeded
53
+ */
54
+ recordFailure() {
55
+ this.failures++;
56
+ this.lastFailure = new Date();
57
+ if (this.failures >= this.FAILURE_THRESHOLD) {
58
+ this.state = 'open';
59
+ console.error(`🔴 Circuit breaker OPEN after ${this.failures} failures`);
60
+ console.log(`⏰ Auto-reset in ${this.RESET_TIMEOUT_MS / 60000} minutes`);
61
+ }
62
+ }
63
+ /**
64
+ * Check if circuit should reset
65
+ *
66
+ * @returns true if timeout elapsed
67
+ */
68
+ shouldReset() {
69
+ if (!this.lastFailure)
70
+ return false;
71
+ const elapsed = Date.now() - this.lastFailure.getTime();
72
+ return elapsed > this.RESET_TIMEOUT_MS;
73
+ }
74
+ /**
75
+ * Get current circuit state
76
+ *
77
+ * @returns Circuit state info
78
+ */
79
+ getState() {
80
+ return {
81
+ state: this.state,
82
+ failures: this.failures,
83
+ lastFailure: this.lastFailure
84
+ };
85
+ }
86
+ /**
87
+ * Manually reset circuit (for testing/admin)
88
+ */
89
+ reset() {
90
+ this.failures = 0;
91
+ this.state = 'closed';
92
+ this.lastFailure = undefined;
93
+ }
94
+ }
95
+ //# sourceMappingURL=sync-circuit-breaker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-circuit-breaker.js","sourceRoot":"","sources":["../../../../src/core/increment/sync-circuit-breaker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAUH,MAAM,OAAO,kBAAkB;IAA/B;QACU,aAAQ,GAAG,CAAC,CAAC;QAEb,UAAK,GAAiB,QAAQ,CAAC;QAEtB,sBAAiB,GAAG,CAAC,CAAC;QACtB,qBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;IA6EjE,CAAC;IA3EC;;;;OAIG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC1B,0BAA0B;YAC1B,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;gBACzB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,aAAa;QACX,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,aAAa;QACX,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAE9B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,iCAAiC,IAAI,CAAC,QAAQ,WAAW,CAAC,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,gBAAgB,GAAG,KAAK,UAAU,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,WAAW;QACjB,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACxD,OAAO,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IAC/B,CAAC;CACF"}
@@ -144,6 +144,18 @@ export declare class LivingDocsSync {
144
144
  *
145
145
  * Returns: Array of tool names (['github'], ['github', 'jira'], or [])
146
146
  */
147
+ /**
148
+ * Detect external tools configured for this increment
149
+ *
150
+ * ADR-0134: Enhanced detection checks BOTH levels:
151
+ * - Level 1 (metadata.json): Increment-specific configuration (cached links)
152
+ * - Level 2 (config.json): Global project configuration (active profiles)
153
+ *
154
+ * Precedence: Level 1 > Level 2 (increment metadata takes priority)
155
+ *
156
+ * @param incrementId - Increment ID (e.g., "0056-auto-github-sync")
157
+ * @returns Array of tool names (['github'], ['github', 'jira'], or [])
158
+ */
147
159
  private detectExternalTools;
148
160
  /**
149
161
  * Sync to GitHub Issues
@@ -1 +1 @@
1
- {"version":3,"file":"living-docs-sync.d.ts","sourceRoot":"","sources":["../../../../src/core/living-docs/living-docs-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"living-docs-sync.d.ts","sourceRoot":"","sources":["../../../../src/core/living-docs/living-docs-sync.ts"],"names":[],"mappings":"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"}
@@ -60,18 +60,26 @@ export class LivingDocsSync {
60
60
  errors: []
61
61
  };
62
62
  try {
63
- // CRITICAL: Skip sync for archived increments (prevents recreating archived folders)
63
+ // P0-3: CRITICAL FIX - Atomic check to prevent TOCTOU race condition
64
+ // Instead of checking if archived, check if increment exists in ACTIVE folder
65
+ // This is atomic and prevents race where increment moves to archive between check and use
64
66
  // See: ULTRATHINK-ARCHIVE-REORGANIZATION-BUG.md for full analysis
65
- const isArchived = await this.isIncrementArchived(incrementId);
66
- if (isArchived) {
67
- this.logger.log(`⏭️ Skipping sync for archived increment ${incrementId}`);
67
+ const activeIncrementPath = path.join(this.projectRoot, '.specweave/increments', incrementId);
68
+ // Atomic existence check for active increment
69
+ try {
70
+ await fs.access(activeIncrementPath);
71
+ // If we reach here, increment exists in active folder - proceed with sync
72
+ }
73
+ catch {
74
+ // Increment not in active folder (archived, moved, or doesn't exist)
75
+ this.logger.log(`⏭️ Skipping sync for non-active increment ${incrementId}`);
68
76
  return {
69
77
  success: true,
70
78
  featureId: '',
71
79
  incrementId,
72
80
  filesCreated: [],
73
81
  filesUpdated: [],
74
- errors: ['Increment is archived - sync skipped to prevent folder recreation']
82
+ errors: ['Increment not in active folder - sync skipped to prevent issues']
75
83
  };
76
84
  }
77
85
  // Step 1: Build feature registry (auto-generates IDs for greenfield)
@@ -151,9 +159,17 @@ export class LivingDocsSync {
151
159
  await this.syncTasksToUserStories(incrementId, featureId, parsed.userStories, projectPath);
152
160
  }
153
161
  // Step 7: Sync to external tools (GitHub, JIRA, ADO)
154
- if (!options.dryRun) {
162
+ // CRITICAL (v0.25.1): Check SKIP_EXTERNAL_SYNC to prevent recursion cascade
163
+ // P1-3 FIX: Proper boolean parsing (handles "false" string correctly)
164
+ // See: ADR-0129 (US Sync Guard Rails), TODOWRITE-CRASH-RECOVERY.md
165
+ const skipExternalSync = ['true', '1', 'yes'].includes((process.env.SKIP_EXTERNAL_SYNC || '').toLowerCase().trim());
166
+ if (!options.dryRun && !skipExternalSync) {
155
167
  await this.syncToExternalTools(incrementId, featureId, projectPath);
156
168
  }
169
+ else if (skipExternalSync) {
170
+ this.logger.log(` ⏭️ External tool sync skipped (SKIP_EXTERNAL_SYNC=${process.env.SKIP_EXTERNAL_SYNC})`);
171
+ this.logger.log(` ℹ️ Run /specweave:sync-progress to manually sync when ready`);
172
+ }
157
173
  // Step 8: Final cleanup (remove any temp files created during sync)
158
174
  if (!options.dryRun) {
159
175
  await this.cleanupTempFiles(projectPath);
@@ -189,22 +205,26 @@ export class LivingDocsSync {
189
205
  const metadata = await readJson(metadataPath);
190
206
  // Check if brownfield (imported from external tool)
191
207
  const isBrownfield = metadata.imported === true || metadata.source === 'external';
192
- if (metadata.feature) {
208
+ // CRITICAL (v0.26.2): Check for feature_id field (primary) or feature (legacy)
209
+ // Bug fix: metadata.json uses "feature_id" not "feature"
210
+ // See: Living docs sync bug report (2025-11-24)
211
+ const featureId = metadata.feature_id || metadata.feature;
212
+ if (featureId) {
193
213
  // Validate format matches increment type
194
- const isDateFormat = /^FS-\d{2}-\d{2}-\d{2}/.test(metadata.feature);
195
- const isIncrementFormat = /^FS-\d{3}$/.test(metadata.feature);
214
+ const isDateFormat = /^FS-\d{2}-\d{2}-\d{2}/.test(featureId);
215
+ const isIncrementFormat = /^FS-\d{3}$/.test(featureId);
196
216
  if (isBrownfield && isDateFormat) {
197
217
  // ✅ Brownfield with correct date format
198
- return metadata.feature;
218
+ return featureId;
199
219
  }
200
220
  else if (!isBrownfield && isIncrementFormat) {
201
221
  // ✅ Greenfield with correct increment format
202
- return metadata.feature;
222
+ return featureId;
203
223
  }
204
224
  else {
205
225
  // ⚠️ Format mismatch - log warning and auto-generate correct format
206
226
  this.logger.warn(`⚠️ Feature ID format mismatch for ${incrementId}:`);
207
- this.logger.warn(` Found: ${metadata.feature}`);
227
+ this.logger.warn(` Found: ${featureId}`);
208
228
  this.logger.warn(` Expected: ${isBrownfield ? 'FS-YY-MM-DD-name (brownfield)' : 'FS-XXX (greenfield)'}`);
209
229
  this.logger.warn(` Auto-generating correct format...`);
210
230
  // Fall through to auto-generation
@@ -224,6 +244,20 @@ export class LivingDocsSync {
224
244
  if (!await pathExists(specPath)) {
225
245
  throw new Error(`Spec file not found: ${specPath}`);
226
246
  }
247
+ // CRITICAL (v0.26.2): Read metadata.json for source-of-truth status
248
+ // spec.md frontmatter status is NOT updated when increment completes
249
+ // See: Living docs sync bug report (2025-11-24)
250
+ const metadataPath = path.join(this.projectRoot, '.specweave/increments', incrementId, 'metadata.json');
251
+ let incrementStatus = 'planning'; // Default fallback
252
+ if (await pathExists(metadataPath)) {
253
+ try {
254
+ const metadata = await readJson(metadataPath);
255
+ incrementStatus = metadata.status || 'planning';
256
+ }
257
+ catch (error) {
258
+ this.logger.warn(`Failed to read metadata.json for ${incrementId}, using fallback status`);
259
+ }
260
+ }
227
261
  const content = await fs.readFile(specPath, 'utf-8');
228
262
  // Extract frontmatter
229
263
  let frontmatter = {};
@@ -274,7 +308,7 @@ export class LivingDocsSync {
274
308
  return {
275
309
  title,
276
310
  overview,
277
- status: frontmatter.status || 'planning',
311
+ status: incrementStatus, // FIXED (v0.26.2): Use metadata.json status (source of truth)
278
312
  priority: frontmatter.priority || 'P1',
279
313
  created: frontmatter.created || new Date().toISOString().split('T')[0],
280
314
  userStories,
@@ -642,32 +676,128 @@ export class LivingDocsSync {
642
676
  *
643
677
  * Returns: Array of tool names (['github'], ['github', 'jira'], or [])
644
678
  */
679
+ /**
680
+ * Detect external tools configured for this increment
681
+ *
682
+ * ADR-0134: Enhanced detection checks BOTH levels:
683
+ * - Level 1 (metadata.json): Increment-specific configuration (cached links)
684
+ * - Level 2 (config.json): Global project configuration (active profiles)
685
+ *
686
+ * Precedence: Level 1 > Level 2 (increment metadata takes priority)
687
+ *
688
+ * @param incrementId - Increment ID (e.g., "0056-auto-github-sync")
689
+ * @returns Array of tool names (['github'], ['github', 'jira'], or [])
690
+ */
645
691
  async detectExternalTools(incrementId) {
692
+ const tools = [];
693
+ // LEVEL 1: Check metadata.json (increment-specific configuration)
646
694
  const metadataPath = path.join(this.projectRoot, '.specweave', 'increments', incrementId, 'metadata.json');
647
- if (!existsSync(metadataPath)) {
648
- return [];
695
+ if (existsSync(metadataPath)) {
696
+ try {
697
+ const metadata = await readJson(metadataPath);
698
+ // Check GitHub configuration (both old and new formats)
699
+ if (metadata.github && (metadata.github.milestone || metadata.github.user_story_issues)) {
700
+ tools.push('github');
701
+ }
702
+ else if (metadata.external_links?.github) {
703
+ tools.push('github');
704
+ }
705
+ // Check JIRA configuration
706
+ if (metadata.jira) {
707
+ tools.push('jira');
708
+ }
709
+ // Check ADO configuration
710
+ if (metadata.ado || metadata.azure_devops) {
711
+ tools.push('ado');
712
+ }
713
+ }
714
+ catch (error) {
715
+ this.logger.warn(` ⚠️ Failed to read metadata.json: ${error}`);
716
+ // Fall through to Level 2 check
717
+ }
649
718
  }
650
- try {
651
- const metadata = await readJson(metadataPath);
652
- const tools = [];
653
- // Check for GitHub configuration
654
- if (metadata.github && (metadata.github.milestone || metadata.github.user_story_issues)) {
655
- tools.push('github');
719
+ // LEVEL 2: Check config.json (global project configuration)
720
+ // ADR-0134 ENHANCED: Check multiple config locations for GitHub/JIRA/ADO
721
+ const configPath = path.join(this.projectRoot, '.specweave/config.json');
722
+ if (existsSync(configPath)) {
723
+ try {
724
+ const config = await readJson(configPath);
725
+ // GitHub detection (4 methods in order of preference)
726
+ if (!tools.includes('github')) {
727
+ // Method 1: sync.github section (most common)
728
+ if (config.sync?.github?.enabled && config.sync?.github?.owner && config.sync?.github?.repo) {
729
+ this.logger.log(` ✅ GitHub sync enabled (config.sync.github, owner: ${config.sync.github.owner})`);
730
+ tools.push('github');
731
+ }
732
+ // Method 2: sync.profiles[activeProfile] (multi-profile setup)
733
+ else if (config.sync?.activeProfile && config.sync?.profiles?.[config.sync.activeProfile]?.provider === 'github') {
734
+ const profile = config.sync.profiles[config.sync.activeProfile];
735
+ if (profile.config?.owner && profile.config?.repo) {
736
+ this.logger.log(` ✅ GitHub sync enabled (active profile: ${config.sync.activeProfile})`);
737
+ tools.push('github');
738
+ }
739
+ }
740
+ // Method 3: multiProject.projects[activeProject].externalTools.github
741
+ else if (config.multiProject?.enabled && config.multiProject?.activeProject) {
742
+ const activeProject = config.multiProject.activeProject;
743
+ const projectConfig = config.multiProject.projects?.[activeProject];
744
+ if (projectConfig?.externalTools?.github?.repository) {
745
+ this.logger.log(` ✅ GitHub sync enabled (multiProject, repo: ${projectConfig.externalTools.github.repository})`);
746
+ tools.push('github');
747
+ }
748
+ }
749
+ // Method 4: Legacy plugins.settings (backward compatibility)
750
+ else if (config.plugins?.settings?.['specweave-github']?.activeProfile) {
751
+ this.logger.log(` ✅ GitHub sync enabled (legacy plugins.settings)`);
752
+ tools.push('github');
753
+ }
754
+ }
755
+ // Jira detection
756
+ if (!tools.includes('jira')) {
757
+ if (config.sync?.jira?.enabled) {
758
+ this.logger.log(` ✅ Jira sync enabled (config.sync.jira)`);
759
+ tools.push('jira');
760
+ }
761
+ else if (config.sync?.activeProfile && config.sync?.profiles?.[config.sync.activeProfile]?.provider === 'jira') {
762
+ this.logger.log(` ✅ Jira sync enabled (active profile: ${config.sync.activeProfile})`);
763
+ tools.push('jira');
764
+ }
765
+ }
766
+ // ADO detection
767
+ if (!tools.includes('ado')) {
768
+ if (config.sync?.ado?.enabled) {
769
+ this.logger.log(` ✅ ADO sync enabled (config.sync.ado)`);
770
+ tools.push('ado');
771
+ }
772
+ else if (config.sync?.activeProfile && config.sync?.profiles?.[config.sync.activeProfile]?.provider === 'ado') {
773
+ this.logger.log(` ✅ ADO sync enabled (active profile: ${config.sync.activeProfile})`);
774
+ tools.push('ado');
775
+ }
776
+ }
656
777
  }
657
- // Check for JIRA configuration
658
- if (metadata.jira) {
659
- tools.push('jira');
778
+ catch (error) {
779
+ this.logger.warn(` ⚠️ Failed to read config.json: ${error}`);
780
+ // Continue with whatever we detected from metadata
660
781
  }
661
- // Check for ADO configuration
662
- if (metadata.ado || metadata.azure_devops) {
663
- tools.push('ado');
782
+ }
783
+ // LEVEL 3: Check environment variables (fallback for simple setups)
784
+ // Useful for CI/CD or when config.json is minimal
785
+ if (!tools.includes('github')) {
786
+ if (process.env.GITHUB_TOKEN && (process.env.GITHUB_OWNER || process.env.GITHUB_REPOSITORY)) {
787
+ this.logger.log(` ✅ GitHub sync enabled (environment variables)`);
788
+ tools.push('github');
664
789
  }
665
- return tools;
666
790
  }
667
- catch (error) {
668
- this.logger.warn(` ⚠️ Failed to read metadata.json: ${error}`);
669
- return [];
791
+ // Enhanced logging for debugging
792
+ if (tools.length === 0) {
793
+ this.logger.log(` ℹ️ No external tools detected for ${incrementId}`);
794
+ this.logger.log(` - Checked metadata.json: ${existsSync(metadataPath) ? 'exists' : 'missing'}`);
795
+ this.logger.log(` - Checked config.json: ${existsSync(configPath) ? 'exists' : 'missing'}`);
796
+ }
797
+ else {
798
+ this.logger.log(` 📡 External tools detected: ${tools.join(', ')}`);
670
799
  }
800
+ return tools;
671
801
  }
672
802
  /**
673
803
  * Sync to GitHub Issues
@@ -1 +1 @@
1
- {"version":3,"file":"living-docs-sync.js","sourceRoot":"","sources":["../../../../src/core/living-docs/living-docs-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAU,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE9D,8CAA8C;AAC9C,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,QAAgB;IACtC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,OAAe;IACtC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/C,CAAC;AAsDD,MAAM,OAAO,cAAc;IAKzB,YAAY,WAAmB,EAAE,UAA+B,EAAE;QAChE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,mBAAmB,CAAC,WAAmB;QACnD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC3B,IAAI,CAAC,WAAW,EAChB,gCAAgC,EAChC,WAAW,CACZ,CAAC;QACF,OAAO,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,WAAmB,EAAE,UAAuB,EAAE;QAChE,MAAM,MAAM,GAAe;YACzB,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,EAAE;YACb,WAAW;YACX,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,EAAE;SACX,CAAC;QAEF,IAAI,CAAC;YACH,qFAAqF;YACrF,kEAAkE;YAClE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAC/D,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4CAA4C,WAAW,EAAE,CAAC,CAAC;gBAC3E,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,EAAE;oBACb,WAAW;oBACX,YAAY,EAAE,EAAE;oBAChB,YAAY,EAAE,EAAE;oBAChB,MAAM,EAAE,CAAC,mEAAmE,CAAC;iBAC9E,CAAC;YACJ,CAAC;YAED,qEAAqE;YACrE,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC;YAE5C,gCAAgC;YAChC,2EAA2E;YAC3E,IAAI,SAAiB,CAAC;YACtB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAC9B,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8CAA8C,SAAS,EAAE,CAAC,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;gBAC7D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iCAAiC,SAAS,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;YAE7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,WAAW,MAAM,SAAS,KAAK,CAAC,CAAC;YAE/D,+BAA+B;YAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAE1D,uCAAuC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gCAAgC,CAAC,CAAC;YAE/E,qCAAqC;YACrC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;YAChE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAEzD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC;gBAC7B,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;gBAChF,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;gBACzD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC;YACvD,CAAC;YAED,oCAAoC;YACpC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;YAChE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAEvD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC;gBAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;gBAC9E,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;gBACvD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC;YACtD,CAAC;YAED,0BAA0B;YAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACvC,oEAAoE;gBACpE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBAEjF,IAAI,SAAiB,CAAC;gBACtB,IAAI,YAAY,EAAE,CAAC;oBACjB,mDAAmD;oBACnD,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;oBACjD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;gBACnE,CAAC;qBAAM,CAAC;oBACN,2CAA2C;oBAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;oBACxE,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,SAAS,KAAK,CAAC,CAAC;gBAClF,CAAC;gBAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACpB,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;oBACvF,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;oBACrD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;YAED,kEAAkE;YAClE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBACzD,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAC3C,CAAC;YAED,oDAAoD;YACpD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAC7F,CAAC;YAED,qDAAqD;YACrD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YACtE,CAAC;YAED,oEAAoE;YACpE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAC3C,CAAC;YAED,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,WAAW,MAAM,SAAS,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,YAAY,CAAC,MAAM,QAAQ,CAAC,CAAC;YAEnE,OAAO,MAAM,CAAC;QAEhB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,WAAW,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9D,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,wBAAwB,CAAC,WAAmB;QACxD,oDAAoD;QACpD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEnC,6CAA6C;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,IAAI,CAAC,WAAW,EAChB,uBAAuB,EACvB,WAAW,EACX,eAAe,CAChB,CAAC;QAEF,IAAI,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;YAE9C,oDAAoD;YACpD,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,CAAC;YAElF,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,yCAAyC;gBACzC,MAAM,YAAY,GAAG,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACpE,MAAM,iBAAiB,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAE9D,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;oBACjC,wCAAwC;oBACxC,OAAO,QAAQ,CAAC,OAAO,CAAC;gBAC1B,CAAC;qBAAM,IAAI,CAAC,YAAY,IAAI,iBAAiB,EAAE,CAAC;oBAC9C,6CAA6C;oBAC7C,OAAO,QAAQ,CAAC,OAAO,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACN,oEAAoE;oBACpE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,WAAW,GAAG,CAAC,CAAC;oBACtE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;oBAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,YAAY,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC;oBAC3G,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;oBAEzD,kCAAkC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;QAC5D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAAC,WAAmB;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,IAAI,CAAC,WAAW,EAChB,uBAAuB,EACvB,WAAW,EACX,SAAS,CACV,CAAC;QAEF,IAAI,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAErD,sBAAsB;QACtB,IAAI,WAAW,GAAwB,EAAE,CAAC;QAC1C,IAAI,WAAW,GAAG,OAAO,CAAC;QAE1B,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAChE,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpD,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,WAAW,EAAE,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,IAAI,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACtD,IAAI,YAAY,EAAE,CAAC;gBACjB,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,kCAAkC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACjF,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC1D,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACvC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACd,CAAC;QAED,mBAAmB;QACnB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;QAC1H,IAAI,aAAa,EAAE,CAAC;YAClB,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,uBAAuB;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAEzD,8BAA8B;QAC9B,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;QAEvE,8DAA8D;QAC9D,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,8DAA8D;YAC9D,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC;YAEpC,0CAA0C;YAC1C,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,kBAAkB;iBACf,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,KAAK,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC;iBACzD,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CACpB,CAAC;YACF,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC;YAEzC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAChE,CAAC;QAED,OAAO;YACL,KAAK;YACL,QAAQ;YACR,MAAM,EAAE,WAAW,CAAC,MAAM,IAAI,UAAU;YACxC,QAAQ,EAAE,WAAW,CAAC,QAAQ,IAAI,IAAI;YACtC,OAAO,EAAE,WAAW,CAAC,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtE,WAAW;YACX,kBAAkB;YAClB,WAAW;SACZ,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACK,iBAAiB,CAAC,QAAgB,EAAE,YAAoB;QAC9D,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,aAAa,CAAC,CAAC,qBAAqB;QAC7C,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;QAEnD,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,aAAa,CAAC;QACvB,CAAC;aAAM,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;YAC9B,OAAO,WAAW,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,OAAO,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,OAAe;QACxC,MAAM,OAAO,GAAoB,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAChE,IAAI,CAAC,YAAY;gBAAE,SAAS;YAE5B,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAE9B,iDAAiD;YACjD,MAAM,UAAU,GAAa,EAAE,CAAC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBACtC,MAAM,CAAC,wBAAwB;gBACjC,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC;YAED,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE3C,sBAAsB;YACtB,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,uFAAuF,CAAC,CAAC;YAC9H,IAAI,SAAS,EAAE,CAAC;gBACd,WAAW,GAAG,YAAY,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,gBAAgB,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,iBAAiB,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACzH,CAAC;YAED,kCAAkC;YAClC,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,eAAe,CAAC;YAClC,IAAI,OAAO,CAAC;YACZ,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACzD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;YAED,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE;gBACF,KAAK;gBACL,WAAW;gBACX,kBAAkB,EAAE,KAAK;gBACzB,4DAA4D;gBAC5D,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,OAAe;QAC/C,MAAM,QAAQ,GAA8B,EAAE,CAAC;QAE/C,wCAAwC;QACxC,2EAA2E;QAC3E,MAAM,SAAS,GAAG,+DAA+D,CAAC;QAElF,IAAI,KAAK,CAAC;QACV,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;YACnC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAE7B,6CAA6C;YAC7C,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAEvE,QAAQ,CAAC,IAAI,CAAC;gBACZ,EAAE;gBACF,WAAW;gBACX,WAAW;gBACX,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,mBAAmB,CACzB,SAAiB,EACjB,MAAkB,EAClB,WAAmB;QAEnB,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,cAAc;QACd,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,OAAO,SAAS,EAAE,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,QAAQ;QACR,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,WAAW;QACX,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,yBAAyB;QACzB,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9D,KAAK,CAAC,IAAI,CAAC,MAAM,WAAW,4BAA4B,WAAW,eAAe,WAAW,IAAI,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACxI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,eAAe;QACf,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACvC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;gBACxE,MAAM,SAAS,GAAG,mBAAmB,SAAS,IAAI,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,SAAS,KAAK,CAAC;gBAC3F,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,KAAK,SAAS,GAAG,CAAC,CAAC;YAC9D,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,kBAAkB,CACxB,SAAiB,EACjB,MAAkB,EAClB,WAAmB;QAEnB,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,OAAO,SAAS,YAAY,CAAC,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,KAAK,8BAA8B,CAAC,CAAC;QAClE,KAAK,CAAC,IAAI,CAAC,YAAY,SAAS,EAAE,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,SAAS,qBAAqB,SAAS,cAAc,CAAC,CAAC;QACnF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,qBAAqB,CAC3B,KAAoB,EACpB,SAAiB,EACjB,WAAmB,EACnB,MAAkB;QAElB,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,cAAc;QACd,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,YAAY,SAAS,EAAE,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QACtC,qEAAqE;QACrE,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAEzC,wCAAwC;QACxC,IAAI,KAAK,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,wBAAwB,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACxC,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,QAAQ;QACR,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,eAAe;QACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,SAAS,qBAAqB,SAAS,cAAc,CAAC,CAAC;QACnF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,cAAc;QACd,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,sBAAsB;QACtB,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,MAAM,aAAa,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CACpD,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,KAAK,KAAK,CAAC,EAAE,CAClC,CAAC;QAEF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC9C,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,iBAAiB;QACjB,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,mBAAmB,WAAW,4BAA4B,WAAW,WAAW,CAAC,CAAC;QAC7F,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;QAC5E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,sBAAsB,CAClC,WAAmB,EACnB,SAAiB,EACjB,WAA4B,EAC5B,WAAmB;QAEnB,MAAM,aAAa,GAAG,IAAI,4BAA4B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEzE,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,sDAAsD;gBACtD,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,4BAA4B,CAC5D,WAAW,EACX,KAAK,CAAC,EAAE,EAAG,iBAAiB;gBAC5B,SAAS,CAAE,8DAA8D;iBAC1E,CAAC;gBAEF,2BAA2B;gBAC3B,MAAM,aAAa,GAAG,aAAa,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBAEjE,yBAAyB;gBACzB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;gBACxE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,SAAS,KAAK,CAAC,CAAC;gBAEtF,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;gBAExD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,MAAM,aAAa,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACtE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBACzE,qDAAqD;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAC9B,aAAqB,EACrB,aAAqB;QAErB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAE1D,oCAAoC;QACpC,MAAM,UAAU,GAAG,mCAAmC,CAAC;QAEvD,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,2BAA2B;YAC3B,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CACpC,UAAU,EACV,eAAe,aAAa,IAAI,CACjC,CAAC;YACF,MAAM,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,yDAAyD;YACzD,MAAM,YAAY,GAAG,2BAA2B,CAAC;YAEjD,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,kCAAkC;gBAClC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CACpC,YAAY,EACZ,mBAAmB,aAAa,yBAAyB,CAC1D,CAAC;gBACF,MAAM,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,oBAAoB;gBACpB,MAAM,cAAc,GAAG,OAAO,GAAG,mBAAmB,aAAa,IAAI,CAAC;gBACtE,MAAM,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,mBAAmB,CAC/B,WAAmB,EACnB,SAAiB,EACjB,WAAmB;QAEnB,IAAI,CAAC;YACH,2DAA2D;YAC3D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAElE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,gDAAgD;gBAChD,OAAO;YACT,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE/E,2CAA2C;YAC3C,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,QAAQ,IAAI,EAAE,CAAC;wBACb,KAAK,QAAQ;4BACX,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;4BAChD,MAAM;wBACR,KAAK,MAAM;4BACT,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;4BAC9C,MAAM;wBACR,KAAK,KAAK;4BACR,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;4BAC7C,MAAM;wBACR;4BACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;oBAC9D,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,gFAAgF;oBAChF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;oBAC9D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iEAAiE;YACjE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC9D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAClG,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,mBAAmB,CAAC,WAAmB;QACnD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,IAAI,CAAC,WAAW,EAChB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,CAChB,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAa,EAAE,CAAC;YAE3B,iCAAiC;YACjC,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACxF,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,CAAC;YAED,+BAA+B;YAC/B,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;YAED,8BAA8B;YAC9B,IAAI,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAC1C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YAED,OAAO,KAAK,CAAC;QAEf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,KAAK,EAAE,CAAC,CAAC;YAClE,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,YAAY,CAAC,SAAiB,EAAE,WAAmB;QAC/D,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAE9C,gDAAgD;YAChD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,2DAA2D,CAAC,CAAC;YACrG,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,8DAA8D,CAAC,CAAC;YAE3G,sCAAsC;YACtC,MAAM,OAAO,GAAG;gBACd,QAAQ,EAAE,QAAiB;gBAC3B,WAAW,EAAE,QAAQ;gBACrB,MAAM,EAAE;oBACN,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE;oBACrC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE;oBACnC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE;iBACtC;gBACD,SAAS,EAAE;oBACT,OAAO,EAAE,IAAa,EAAG,UAAU;oBACnC,GAAG,EAAE,IAAa,CAAO,WAAW;iBACrC;aACF,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC3E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;gBACvG,OAAO;YACT,CAAC;YAED,oCAAoC;YACpC,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gCAAgC,CAAC,CAAC;YAC/E,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAEvE,mEAAmE;YACnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAEzD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0BAA0B,MAAM,CAAC,aAAa,aAAa,MAAM,CAAC,aAAa,UAAU,CAAC,CAAC;QAE7G,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC3E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YAChF,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU,CAAC,SAAiB,EAAE,WAAmB;QAC7D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QACnE,oEAAoE;IACtE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,SAAS,CAAC,SAAiB,EAAE,WAAmB;QAC5D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAClE,kEAAkE;IACpE,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,yBAAyB,CACrC,WAAmB,EACnB,WAAmB;QAEnB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAE5C,yDAAyD;YACzD,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS;YACtD,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACrC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACpC,OAAO,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;YACzC,CAAC,CAAC,CAAC;YAEH,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC,CAAC,yBAAyB;YACxC,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B;YACtD,CAAC;YAED,4CAA4C;YAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,aAAa,CAAC,MAAM,cAAc,WAAW,qBAAqB,CAAC,CAAC;YACrG,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9B,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE;aAClE,CAAC,CAAC,CACJ,CAAC;YACF,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe;YAC5D,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,2CAA2C;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,qBAAqB,CACjC,SAAiB,EACjB,WAAmB;QAEnB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE5C,+BAA+B;QAC/B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;QAEjD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,0CAA0C;YAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACvC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS;gBACjD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC/B,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAChC,CAAC;gBACD,YAAY,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAC,MAAM,wBAAwB,OAAO,EAAE,CAAC,CAAC;gBAErF,4BAA4B;gBAC5B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC3B,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE;iBAClE,CAAC,CAAC,CACJ,CAAC;gBAEF,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe;gBAC5D,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnC,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAExD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,QAAQ,gBAAgB,CAAC,CAAC;gBAE/D,qBAAqB;gBACrB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;oBAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;oBAC9C,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACxD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,gBAAgB,CAAC,WAAmB;QAChD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBAC9C,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"living-docs-sync.js","sourceRoot":"","sources":["../../../../src/core/living-docs/living-docs-sync.ts"],"names":[],"mappings":"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"}