specweave 0.28.14 → 0.28.17

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 (42) hide show
  1. package/bin/specweave.js +1 -1
  2. package/dist/src/cli/commands/import-external.d.ts.map +1 -1
  3. package/dist/src/cli/commands/import-external.js +128 -16
  4. package/dist/src/cli/commands/import-external.js.map +1 -1
  5. package/dist/src/cli/commands/init.js +5 -5
  6. package/dist/src/cli/commands/init.js.map +1 -1
  7. package/dist/src/cli/helpers/init/external-import.d.ts +3 -1
  8. package/dist/src/cli/helpers/init/external-import.d.ts.map +1 -1
  9. package/dist/src/cli/helpers/init/external-import.js +357 -32
  10. package/dist/src/cli/helpers/init/external-import.js.map +1 -1
  11. package/dist/src/cli/helpers/init/next-steps.d.ts.map +1 -1
  12. package/dist/src/cli/helpers/init/next-steps.js +77 -5
  13. package/dist/src/cli/helpers/init/next-steps.js.map +1 -1
  14. package/dist/src/cli/helpers/init/smart-reinit.d.ts +2 -0
  15. package/dist/src/cli/helpers/init/smart-reinit.d.ts.map +1 -1
  16. package/dist/src/cli/helpers/init/smart-reinit.js +371 -36
  17. package/dist/src/cli/helpers/init/smart-reinit.js.map +1 -1
  18. package/dist/src/cli/helpers/init/testing-config.d.ts +5 -2
  19. package/dist/src/cli/helpers/init/testing-config.d.ts.map +1 -1
  20. package/dist/src/cli/helpers/init/testing-config.js +322 -31
  21. package/dist/src/cli/helpers/init/testing-config.js.map +1 -1
  22. package/dist/src/core/qa/qa-runner.js +7 -10
  23. package/dist/src/core/qa/qa-runner.js.map +1 -1
  24. package/dist/src/importers/item-converter.d.ts.map +1 -1
  25. package/dist/src/importers/item-converter.js +18 -9
  26. package/dist/src/importers/item-converter.js.map +1 -1
  27. package/dist/src/living-docs/fs-id-allocator.d.ts +3 -2
  28. package/dist/src/living-docs/fs-id-allocator.d.ts.map +1 -1
  29. package/dist/src/living-docs/fs-id-allocator.js +12 -6
  30. package/dist/src/living-docs/fs-id-allocator.js.map +1 -1
  31. package/dist/src/sync/sync-metadata.d.ts.map +1 -1
  32. package/dist/src/sync/sync-metadata.js +31 -2
  33. package/dist/src/sync/sync-metadata.js.map +1 -1
  34. package/package.json +1 -1
  35. package/plugins/specweave/agents/AGENTS-INDEX.md +9 -16
  36. package/plugins/specweave/commands/specweave-qa.md +9 -9
  37. package/plugins/specweave/commands/specweave-save.md +531 -193
  38. package/plugins/specweave/commands/specweave-validate.md +8 -7
  39. package/plugins/specweave/skills/increment-quality-judge-v2/SKILL.md +18 -0
  40. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +24 -0
  41. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +36 -0
  42. package/plugins/specweave/agents/increment-quality-judge-v2/AGENT.md +0 -705
@@ -13,15 +13,233 @@ import { ItemConverter } from '../../../importers/item-converter.js';
13
13
  import { loadImportConfig } from '../../../config/import-config.js';
14
14
  import { selectRepositories } from '../github-repo-selector.js';
15
15
  import { detectAllConfigs } from './config-detection.js';
16
+ import { getGitHubAuth } from '../../../utils/auth-helpers.js';
17
+ /**
18
+ * Get translated strings for external import
19
+ */
20
+ function getExternalImportStrings(language) {
21
+ const strings = {
22
+ en: {
23
+ toolDetectionHeader: '🔍 External Tool Detection',
24
+ found: 'Found:',
25
+ ciSkipping: 'CI mode: Skipping import (can run manually later)',
26
+ skipImport: '✓ Skipping import',
27
+ useExistingProfiles: 'Using existing sync profiles:',
28
+ failedReadProfiles: '⚠️ Failed to read sync profiles:',
29
+ importQuestion: 'Import existing work items to living docs?',
30
+ importItems: '✨ Yes, import items',
31
+ skipForNow: '⏭️ Skip for now',
32
+ importComplete: 'Import complete!',
33
+ someImportsFailed: '⚠️ Some imports failed:',
34
+ largeDataset: '⚠️ Imported items (large dataset)',
35
+ largeDatasetHint: '→ Consider using time range filters for faster imports',
36
+ livingDocsCreated: '→ Living docs created with E suffix (US-001E, US-002E, ...)',
37
+ organizedIntoRepos: '→ Organized into project folders',
38
+ organizedIntoFeatures: '→ Organized into feature folder(s)',
39
+ autoArchived: '→ Auto-archived items older than 30 days',
40
+ location: '→ Location: .specweave/docs/internal/specs/',
41
+ nextStepsHeader: '💡 Next steps:',
42
+ nextStepReview: '→ Review imported User Stories in living docs',
43
+ nextStepCreate: '→ Create increments manually when ready: /specweave:increment "feature"',
44
+ },
45
+ ru: {
46
+ toolDetectionHeader: '🔍 Обнаружение внешних инструментов',
47
+ found: 'Найдено:',
48
+ ciSkipping: 'CI режим: Пропуск импорта (можно запустить позже)',
49
+ skipImport: '✓ Пропуск импорта',
50
+ useExistingProfiles: 'Использование существующих профилей синхронизации:',
51
+ failedReadProfiles: '⚠️ Не удалось прочитать профили синхронизации:',
52
+ importQuestion: 'Импортировать существующие рабочие элементы в living docs?',
53
+ importItems: '✨ Да, импортировать',
54
+ skipForNow: '⏭️ Пропустить',
55
+ importComplete: 'Импорт завершён!',
56
+ someImportsFailed: '⚠️ Некоторые импорты не удались:',
57
+ largeDataset: '⚠️ Импортировано элементов (большой набор данных)',
58
+ largeDatasetHint: '→ Рекомендуем использовать фильтры по времени для быстрого импорта',
59
+ livingDocsCreated: '→ Living docs созданы с суффиксом E (US-001E, US-002E, ...)',
60
+ organizedIntoRepos: '→ Организовано в папки проектов',
61
+ organizedIntoFeatures: '→ Организовано в папки фич',
62
+ autoArchived: '→ Автоархивированы элементы старше 30 дней',
63
+ location: '→ Расположение: .specweave/docs/internal/specs/',
64
+ nextStepsHeader: '💡 Следующие шаги:',
65
+ nextStepReview: '→ Просмотрите импортированные User Stories в living docs',
66
+ nextStepCreate: '→ Создайте инкременты когда будете готовы: /specweave:increment "feature"',
67
+ },
68
+ es: {
69
+ toolDetectionHeader: '🔍 Detección de herramientas externas',
70
+ found: 'Encontrado:',
71
+ ciSkipping: 'Modo CI: Omitiendo importación (puede ejecutarse manualmente después)',
72
+ skipImport: '✓ Omitiendo importación',
73
+ useExistingProfiles: 'Usando perfiles de sincronización existentes:',
74
+ failedReadProfiles: '⚠️ Error al leer perfiles de sincronización:',
75
+ importQuestion: '¿Importar elementos de trabajo existentes a living docs?',
76
+ importItems: '✨ Sí, importar elementos',
77
+ skipForNow: '⏭️ Omitir por ahora',
78
+ importComplete: '¡Importación completada!',
79
+ someImportsFailed: '⚠️ Algunas importaciones fallaron:',
80
+ largeDataset: '⚠️ Elementos importados (conjunto de datos grande)',
81
+ largeDatasetHint: '→ Considere usar filtros de rango de tiempo para importaciones más rápidas',
82
+ livingDocsCreated: '→ Living docs creados con sufijo E (US-001E, US-002E, ...)',
83
+ organizedIntoRepos: '→ Organizado en carpetas de proyectos',
84
+ organizedIntoFeatures: '→ Organizado en carpeta(s) de características',
85
+ autoArchived: '→ Auto-archivados elementos mayores a 30 días',
86
+ location: '→ Ubicación: .specweave/docs/internal/specs/',
87
+ nextStepsHeader: '💡 Próximos pasos:',
88
+ nextStepReview: '→ Revise las User Stories importadas en living docs',
89
+ nextStepCreate: '→ Cree incrementos cuando esté listo: /specweave:increment "feature"',
90
+ },
91
+ zh: {
92
+ toolDetectionHeader: '🔍 外部工具检测',
93
+ found: '已找到:',
94
+ ciSkipping: 'CI 模式:跳过导入(可稍后手动运行)',
95
+ skipImport: '✓ 跳过导入',
96
+ useExistingProfiles: '使用现有同步配置:',
97
+ failedReadProfiles: '⚠️ 读取同步配置失败:',
98
+ importQuestion: '将现有工作项导入到 living docs?',
99
+ importItems: '✨ 是的,导入项目',
100
+ skipForNow: '⏭️ 暂时跳过',
101
+ importComplete: '导入完成!',
102
+ someImportsFailed: '⚠️ 部分导入失败:',
103
+ largeDataset: '⚠️ 已导入项目(大数据集)',
104
+ largeDatasetHint: '→ 建议使用时间范围过滤器加快导入',
105
+ livingDocsCreated: '→ Living docs 已创建,带 E 后缀 (US-001E, US-002E, ...)',
106
+ organizedIntoRepos: '→ 已整理到项目文件夹',
107
+ organizedIntoFeatures: '→ 已整理到功能文件夹',
108
+ autoArchived: '→ 已自动归档超过30天的项目',
109
+ location: '→ 位置:.specweave/docs/internal/specs/',
110
+ nextStepsHeader: '💡 下一步:',
111
+ nextStepReview: '→ 在 living docs 中查看导入的用户故事',
112
+ nextStepCreate: '→ 准备好后创建增量:/specweave:increment "feature"',
113
+ },
114
+ de: {
115
+ toolDetectionHeader: '🔍 Externe Tool-Erkennung',
116
+ found: 'Gefunden:',
117
+ ciSkipping: 'CI-Modus: Import überspringen (kann später manuell ausgeführt werden)',
118
+ skipImport: '✓ Import überspringen',
119
+ useExistingProfiles: 'Verwende bestehende Sync-Profile:',
120
+ failedReadProfiles: '⚠️ Fehler beim Lesen der Sync-Profile:',
121
+ importQuestion: 'Bestehende Arbeitselemente in Living Docs importieren?',
122
+ importItems: '✨ Ja, Elemente importieren',
123
+ skipForNow: '⏭️ Vorerst überspringen',
124
+ importComplete: 'Import abgeschlossen!',
125
+ someImportsFailed: '⚠️ Einige Importe fehlgeschlagen:',
126
+ largeDataset: '⚠️ Importierte Elemente (großer Datensatz)',
127
+ largeDatasetHint: '→ Zeitbereichsfilter für schnellere Importe empfohlen',
128
+ livingDocsCreated: '→ Living Docs mit E-Suffix erstellt (US-001E, US-002E, ...)',
129
+ organizedIntoRepos: '→ In Projektordner organisiert',
130
+ organizedIntoFeatures: '→ In Feature-Ordner organisiert',
131
+ autoArchived: '→ Elemente älter als 30 Tage automatisch archiviert',
132
+ location: '→ Speicherort: .specweave/docs/internal/specs/',
133
+ nextStepsHeader: '💡 Nächste Schritte:',
134
+ nextStepReview: '→ Importierte User Stories in Living Docs überprüfen',
135
+ nextStepCreate: '→ Bei Bedarf Inkremente erstellen: /specweave:increment "feature"',
136
+ },
137
+ fr: {
138
+ toolDetectionHeader: '🔍 Détection des outils externes',
139
+ found: 'Trouvé :',
140
+ ciSkipping: 'Mode CI : Import ignoré (peut être exécuté manuellement plus tard)',
141
+ skipImport: '✓ Import ignoré',
142
+ useExistingProfiles: 'Utilisation des profils de synchronisation existants :',
143
+ failedReadProfiles: '⚠️ Échec de lecture des profils de synchronisation :',
144
+ importQuestion: 'Importer les éléments de travail existants vers living docs ?',
145
+ importItems: '✨ Oui, importer les éléments',
146
+ skipForNow: '⏭️ Passer pour l\'instant',
147
+ importComplete: 'Import terminé !',
148
+ someImportsFailed: '⚠️ Certains imports ont échoué :',
149
+ largeDataset: '⚠️ Éléments importés (grand ensemble de données)',
150
+ largeDatasetHint: '→ Envisagez d\'utiliser des filtres de plage de temps pour des imports plus rapides',
151
+ livingDocsCreated: '→ Living docs créés avec suffixe E (US-001E, US-002E, ...)',
152
+ organizedIntoRepos: '→ Organisé en dossiers de projets',
153
+ organizedIntoFeatures: '→ Organisé en dossier(s) de fonctionnalités',
154
+ autoArchived: '→ Éléments de plus de 30 jours auto-archivés',
155
+ location: '→ Emplacement : .specweave/docs/internal/specs/',
156
+ nextStepsHeader: '💡 Prochaines étapes :',
157
+ nextStepReview: '→ Examiner les User Stories importées dans living docs',
158
+ nextStepCreate: '→ Créer des incréments si prêt : /specweave:increment "feature"',
159
+ },
160
+ ja: {
161
+ toolDetectionHeader: '🔍 外部ツール検出',
162
+ found: '検出:',
163
+ ciSkipping: 'CIモード:インポートをスキップ(後で手動実行可能)',
164
+ skipImport: '✓ インポートをスキップ',
165
+ useExistingProfiles: '既存の同期プロファイルを使用:',
166
+ failedReadProfiles: '⚠️ 同期プロファイルの読み取りに失敗:',
167
+ importQuestion: '既存の作業項目をliving docsにインポートしますか?',
168
+ importItems: '✨ はい、インポート',
169
+ skipForNow: '⏭️ 今はスキップ',
170
+ importComplete: 'インポート完了!',
171
+ someImportsFailed: '⚠️ 一部のインポートが失敗:',
172
+ largeDataset: '⚠️ インポートされた項目(大規模データセット)',
173
+ largeDatasetHint: '→ より高速なインポートには時間範囲フィルターの使用を推奨',
174
+ livingDocsCreated: '→ Living docsがEサフィックスで作成されました (US-001E, US-002E, ...)',
175
+ organizedIntoRepos: '→ プロジェクトフォルダに整理',
176
+ organizedIntoFeatures: '→ 機能フォルダに整理',
177
+ autoArchived: '→ 30日以上前の項目を自動アーカイブ',
178
+ location: '→ 場所:.specweave/docs/internal/specs/',
179
+ nextStepsHeader: '💡 次のステップ:',
180
+ nextStepReview: '→ living docsでインポートされたユーザーストーリーを確認',
181
+ nextStepCreate: '→ 準備ができたらインクリメントを作成:/specweave:increment "feature"',
182
+ },
183
+ ko: {
184
+ toolDetectionHeader: '🔍 외부 도구 감지',
185
+ found: '발견:',
186
+ ciSkipping: 'CI 모드: 가져오기 건너뜀 (나중에 수동으로 실행 가능)',
187
+ skipImport: '✓ 가져오기 건너뜀',
188
+ useExistingProfiles: '기존 동기화 프로필 사용:',
189
+ failedReadProfiles: '⚠️ 동기화 프로필 읽기 실패:',
190
+ importQuestion: '기존 작업 항목을 living docs로 가져올까요?',
191
+ importItems: '✨ 예, 항목 가져오기',
192
+ skipForNow: '⏭️ 지금은 건너뛰기',
193
+ importComplete: '가져오기 완료!',
194
+ someImportsFailed: '⚠️ 일부 가져오기 실패:',
195
+ largeDataset: '⚠️ 가져온 항목 (대용량 데이터셋)',
196
+ largeDatasetHint: '→ 더 빠른 가져오기를 위해 시간 범위 필터 사용 권장',
197
+ livingDocsCreated: '→ Living docs가 E 접미사로 생성됨 (US-001E, US-002E, ...)',
198
+ organizedIntoRepos: '→ 프로젝트 폴더로 정리됨',
199
+ organizedIntoFeatures: '→ 기능 폴더로 정리됨',
200
+ autoArchived: '→ 30일 이상 된 항목 자동 보관',
201
+ location: '→ 위치: .specweave/docs/internal/specs/',
202
+ nextStepsHeader: '💡 다음 단계:',
203
+ nextStepReview: '→ living docs에서 가져온 사용자 스토리 검토',
204
+ nextStepCreate: '→ 준비되면 증분 생성: /specweave:increment "feature"',
205
+ },
206
+ pt: {
207
+ toolDetectionHeader: '🔍 Detecção de ferramentas externas',
208
+ found: 'Encontrado:',
209
+ ciSkipping: 'Modo CI: Pulando importação (pode ser executado manualmente depois)',
210
+ skipImport: '✓ Pulando importação',
211
+ useExistingProfiles: 'Usando perfis de sincronização existentes:',
212
+ failedReadProfiles: '⚠️ Falha ao ler perfis de sincronização:',
213
+ importQuestion: 'Importar itens de trabalho existentes para living docs?',
214
+ importItems: '✨ Sim, importar itens',
215
+ skipForNow: '⏭️ Pular por enquanto',
216
+ importComplete: 'Importação concluída!',
217
+ someImportsFailed: '⚠️ Algumas importações falharam:',
218
+ largeDataset: '⚠️ Itens importados (grande conjunto de dados)',
219
+ largeDatasetHint: '→ Considere usar filtros de intervalo de tempo para importações mais rápidas',
220
+ livingDocsCreated: '→ Living docs criados com sufixo E (US-001E, US-002E, ...)',
221
+ organizedIntoRepos: '→ Organizado em pastas de projetos',
222
+ organizedIntoFeatures: '→ Organizado em pasta(s) de recursos',
223
+ autoArchived: '→ Itens com mais de 30 dias auto-arquivados',
224
+ location: '→ Local: .specweave/docs/internal/specs/',
225
+ nextStepsHeader: '💡 Próximos passos:',
226
+ nextStepReview: '→ Revise as User Stories importadas em living docs',
227
+ nextStepCreate: '→ Crie incrementos quando estiver pronto: /specweave:increment "feature"',
228
+ },
229
+ };
230
+ return strings[language] || strings.en;
231
+ }
16
232
  /**
17
233
  * Prompt user and run external tool import
18
234
  * Detects GitHub/JIRA/ADO configuration and imports work items
19
235
  *
20
236
  * @param targetDir - Project directory
21
237
  * @param isCI - Whether running in CI mode
238
+ * @param language - Language for translations
22
239
  * @returns Import result
23
240
  */
24
- export async function promptAndRunExternalImport(targetDir, isCI) {
241
+ export async function promptAndRunExternalImport(targetDir, isCI, language = 'en') {
242
+ const strings = getExternalImportStrings(language);
25
243
  // Load import configuration
26
244
  const importConfig = loadImportConfig(targetDir);
27
245
  // Check if import is disabled via config
@@ -34,27 +252,42 @@ export async function promptAndRunExternalImport(targetDir, isCI) {
34
252
  if (availableTools.length === 0) {
35
253
  return emptyResult();
36
254
  }
37
- console.log(chalk.blue('\n🔍 External Tool Detection'));
38
- console.log(chalk.gray(` Found: ${availableTools.join(', ')}`));
255
+ console.log(chalk.blue('\n' + strings.toolDetectionHeader));
256
+ console.log(chalk.gray(` ${strings.found} ${availableTools.join(', ')}`));
39
257
  console.log('');
40
258
  // In CI mode, skip import without prompting
41
259
  if (isCI) {
42
- console.log(chalk.gray(' → CI mode: Skipping import (can run manually later)\n'));
260
+ console.log(chalk.gray(' → ' + strings.ciSkipping + '\n'));
43
261
  return emptyResult();
44
262
  }
45
263
  // Prompt user to import
46
264
  const shouldImport = await confirm({
47
- message: `Import existing work items from ${availableTools.join(', ')}?`,
265
+ message: `${strings.importQuestion} (${availableTools.join(', ')})`,
48
266
  default: false
49
267
  });
50
268
  if (!shouldImport) {
51
- console.log(chalk.gray(' Skipping import\n'));
269
+ console.log(chalk.gray(' ' + strings.skipImport + '\n'));
52
270
  return emptyResult();
53
271
  }
54
272
  // Handle multi-repo selection for GitHub
55
273
  let repoSelectionConfig = null;
56
- if (github && process.env.GITHUB_TOKEN) {
57
- repoSelectionConfig = await promptMultiRepoSelection(targetDir);
274
+ // Get GitHub token from all available sources (env vars, gh CLI, gh config file)
275
+ const githubAuth = getGitHubAuth();
276
+ const hasGitHubToken = githubAuth.source !== 'none';
277
+ if (github && hasGitHubToken) {
278
+ // First check if sync profiles already exist (from umbrella repo setup)
279
+ const existingProfiles = getExistingSyncProfiles(targetDir);
280
+ if (existingProfiles && existingProfiles.length > 0) {
281
+ console.log(chalk.gray(` Using existing sync profiles: ${existingProfiles.length} repositories`));
282
+ repoSelectionConfig = {
283
+ repositories: existingProfiles,
284
+ selectionStrategy: 'explicit'
285
+ };
286
+ }
287
+ else {
288
+ // No existing profiles - prompt for multi-repo selection
289
+ repoSelectionConfig = await promptMultiRepoSelection(targetDir);
290
+ }
58
291
  }
59
292
  // Map config timeRangeMonths to closest prompt option
60
293
  let defaultTimeRange = 3;
@@ -88,21 +321,21 @@ export async function promptAndRunExternalImport(targetDir, isCI) {
88
321
  projectRoot: targetDir
89
322
  };
90
323
  // Add GitHub config - prefer multi-repo if selected
91
- if (github) {
324
+ if (github && hasGitHubToken) {
92
325
  if (repoSelectionConfig && repoSelectionConfig.repositories.length > 0) {
93
326
  // Multi-repo mode: import from all selected repositories
94
327
  coordinatorConfig.githubRepositories = repoSelectionConfig.repositories.map(fullRepo => {
95
328
  const [owner, repo] = fullRepo.split('/');
96
329
  return { owner, repo };
97
330
  });
98
- coordinatorConfig.githubToken = process.env.GITHUB_TOKEN;
331
+ coordinatorConfig.githubToken = githubAuth.token;
99
332
  }
100
333
  else {
101
334
  // Single repo mode (backwards compatible)
102
335
  coordinatorConfig.github = {
103
336
  owner: github.owner,
104
337
  repo: github.repo,
105
- token: process.env.GITHUB_TOKEN
338
+ token: githubAuth.token
106
339
  };
107
340
  }
108
341
  }
@@ -125,6 +358,37 @@ export async function promptAndRunExternalImport(targetDir, isCI) {
125
358
  // Run import with progress tracking
126
359
  return await runImport(targetDir, coordinatorConfig);
127
360
  }
361
+ /**
362
+ * Get existing sync profiles from config.json
363
+ * Returns array of "owner/repo" strings if profiles exist
364
+ */
365
+ function getExistingSyncProfiles(targetDir) {
366
+ try {
367
+ const configPath = path.join(targetDir, '.specweave', 'config.json');
368
+ if (!fs.existsSync(configPath)) {
369
+ return null;
370
+ }
371
+ const config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
372
+ // Check for sync.profiles structure (umbrella repo setup)
373
+ if (config.sync?.profiles && typeof config.sync.profiles === 'object') {
374
+ const profiles = config.sync.profiles;
375
+ const repos = [];
376
+ for (const [profileId, profile] of Object.entries(profiles)) {
377
+ const p = profile;
378
+ if (p.config?.owner && p.config?.repo) {
379
+ repos.push(`${p.config.owner}/${p.config.repo}`);
380
+ }
381
+ }
382
+ return repos.length > 0 ? repos : null;
383
+ }
384
+ return null;
385
+ }
386
+ catch (error) {
387
+ // Log warning for debugging - config parsing errors shouldn't be silent
388
+ console.warn(chalk.yellow(` ⚠️ Failed to read sync profiles: ${error instanceof Error ? error.message : String(error)}`));
389
+ return null;
390
+ }
391
+ }
128
392
  /**
129
393
  * Prompt for multi-repository selection
130
394
  */
@@ -137,8 +401,14 @@ async function promptMultiRepoSelection(targetDir) {
137
401
  if (!useMultiRepo) {
138
402
  return null;
139
403
  }
140
- const octokit = new Octokit({ auth: process.env.GITHUB_TOKEN });
141
- const repoSelectionConfig = await selectRepositories(octokit, process.env.GITHUB_TOKEN);
404
+ // Use auth helper to get token from all available sources
405
+ const auth = getGitHubAuth();
406
+ if (auth.source === 'none') {
407
+ console.log(chalk.yellow(' ⚠️ No GitHub token found. Skipping multi-repo selection.'));
408
+ return null;
409
+ }
410
+ const octokit = new Octokit({ auth: auth.token });
411
+ const repoSelectionConfig = await selectRepositories(octokit, auth.token);
142
412
  if (repoSelectionConfig) {
143
413
  // Save to config
144
414
  try {
@@ -260,28 +530,50 @@ async function convertToLivingDocs(targetDir, result, spinner) {
260
530
  spinner.start('Converting to living docs...');
261
531
  try {
262
532
  const specsDir = path.join(targetDir, '.specweave', 'docs', 'internal', 'specs');
263
- // Track archived items count
533
+ // Track counts
264
534
  let archivedCount = 0;
265
- // Enable feature allocation for proper folder structure (FS-XXX/US-XXXE)
266
- const converter = new ItemConverter({
267
- specsDir,
268
- projectRoot: targetDir,
269
- enableFeatureAllocation: true,
270
- projectId: 'default',
271
- autoArchiveAfterDays: 30, // Archive items older than 1 month
272
- onFeatureCreated: (featureId, featurePath) => {
273
- spinner.text = `Created feature folder: ${featureId}`;
274
- },
275
- onItemArchived: (usId, reason) => {
276
- archivedCount++;
277
- spinner.text = `Archived ${usId} (${reason})`;
278
- }
279
- });
280
- const convertedStories = await converter.convertItems(result.allItems);
535
+ let totalConverted = 0;
536
+ const allConvertedStories = [];
537
+ // Group items by sourceRepo for proper multi-repo folder allocation
538
+ const itemsByRepo = groupItemsBySourceRepo(result.allItems);
539
+ const repoCount = itemsByRepo.size;
540
+ for (const [repoKey, items] of itemsByRepo.entries()) {
541
+ // Determine project ID:
542
+ // - For multi-repo: use repo name (e.g., "sw-thumbnail-ab-be")
543
+ // - For single-repo/no sourceRepo: null (items go directly to specs/)
544
+ const projectId = repoKey === '_default' ? null : repoKey;
545
+ spinner.text = projectId
546
+ ? `Converting items from ${projectId}...`
547
+ : 'Converting items to living docs...';
548
+ // Create converter for this project/repo
549
+ const converter = new ItemConverter({
550
+ specsDir,
551
+ projectRoot: targetDir,
552
+ enableFeatureAllocation: true,
553
+ // For multi-repo: use repo name as project folder
554
+ // For single-repo: undefined means direct to specs/ (no project subfolder)
555
+ projectId: projectId || undefined,
556
+ autoArchiveAfterDays: 30,
557
+ onFeatureCreated: (featureId, featurePath) => {
558
+ const label = projectId ? `${projectId}/${featureId}` : featureId;
559
+ spinner.text = `Created feature folder: ${label}`;
560
+ },
561
+ onItemArchived: (usId, reason) => {
562
+ archivedCount++;
563
+ spinner.text = `Archived ${usId} (${reason})`;
564
+ }
565
+ });
566
+ const convertedStories = await converter.convertItems(items);
567
+ allConvertedStories.push(...convertedStories);
568
+ totalConverted += convertedStories.length;
569
+ }
281
570
  // Count unique features created
282
- const uniqueFeatures = new Set(convertedStories.map(s => s.featureId).filter(Boolean));
283
- spinner.succeed(`Converted ${convertedStories.length} User Stories to living docs`);
571
+ const uniqueFeatures = new Set(allConvertedStories.map(s => s.featureId).filter(Boolean));
572
+ spinner.succeed(`Converted ${totalConverted} User Stories to living docs`);
284
573
  console.log(chalk.gray(' → Living docs created with E suffix (US-001E, US-002E, ...)'));
574
+ if (repoCount > 1) {
575
+ console.log(chalk.gray(` → Organized into ${repoCount} project folders`));
576
+ }
285
577
  if (uniqueFeatures.size > 0) {
286
578
  console.log(chalk.gray(` → Organized into ${uniqueFeatures.size} feature folder(s)`));
287
579
  }
@@ -309,6 +601,39 @@ async function convertToLivingDocs(targetDir, result, spinner) {
309
601
  throw conversionError;
310
602
  }
311
603
  }
604
+ /**
605
+ * Group items by their source repository
606
+ * Items without sourceRepo go into '_default' group
607
+ */
608
+ function groupItemsBySourceRepo(items) {
609
+ const groups = new Map();
610
+ for (const item of items) {
611
+ // Extract repo name from sourceRepo (e.g., "owner/repo" -> "repo")
612
+ let repoKey = '_default';
613
+ if (item.sourceRepo) {
614
+ // sourceRepo is "owner/repo", we want just "repo"
615
+ const parts = item.sourceRepo.split('/');
616
+ const rawRepoName = parts.length > 1 ? parts[1] : item.sourceRepo;
617
+ // Sanitize repo name to prevent path injection:
618
+ // - Allow only alphanumeric, hyphens, underscores
619
+ // - Trim leading/trailing hyphens
620
+ // - Limit to 100 chars
621
+ repoKey = rawRepoName
622
+ .replace(/[^a-zA-Z0-9-_]/g, '-')
623
+ .replace(/^-+|-+$/g, '')
624
+ .slice(0, 100);
625
+ // Fall back to _default if sanitization results in empty string
626
+ if (!repoKey) {
627
+ repoKey = '_default';
628
+ }
629
+ }
630
+ if (!groups.has(repoKey)) {
631
+ groups.set(repoKey, []);
632
+ }
633
+ groups.get(repoKey).push(item);
634
+ }
635
+ return groups;
636
+ }
312
637
  /**
313
638
  * Create empty result object
314
639
  */
@@ -1 +1 @@
1
- {"version":3,"file":"external-import.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/external-import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external-import.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/external-import.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAsD,MAAM,0CAA0C,CAAC;AACjI,OAAO,EAAE,aAAa,EAAsB,MAAM,sCAAsC,CAAC;AAEzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAA4B,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D;;GAEG;AACH,SAAS,wBAAwB,CAAC,QAA2B;IAuB3D,MAAM,OAAO,GAA2E;QACtF,EAAE,EAAE;YACF,mBAAmB,EAAE,4BAA4B;YACjD,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE,mDAAmD;YAC/D,UAAU,EAAE,mBAAmB;YAC/B,mBAAmB,EAAE,+BAA+B;YACpD,kBAAkB,EAAE,mCAAmC;YACvD,cAAc,EAAE,4CAA4C;YAC5D,WAAW,EAAE,qBAAqB;YAClC,UAAU,EAAE,kBAAkB;YAC9B,cAAc,EAAE,kBAAkB;YAClC,iBAAiB,EAAE,0BAA0B;YAC7C,YAAY,EAAE,oCAAoC;YAClD,gBAAgB,EAAE,wDAAwD;YAC1E,iBAAiB,EAAE,6DAA6D;YAChF,kBAAkB,EAAE,kCAAkC;YACtD,qBAAqB,EAAE,oCAAoC;YAC3D,YAAY,EAAE,0CAA0C;YACxD,QAAQ,EAAE,6CAA6C;YACvD,eAAe,EAAE,gBAAgB;YACjC,cAAc,EAAE,+CAA+C;YAC/D,cAAc,EAAE,yEAAyE;SAC1F;QACD,EAAE,EAAE;YACF,mBAAmB,EAAE,qCAAqC;YAC1D,KAAK,EAAE,UAAU;YACjB,UAAU,EAAE,mDAAmD;YAC/D,UAAU,EAAE,mBAAmB;YAC/B,mBAAmB,EAAE,oDAAoD;YACzE,kBAAkB,EAAE,iDAAiD;YACrE,cAAc,EAAE,4DAA4D;YAC5E,WAAW,EAAE,qBAAqB;YAClC,UAAU,EAAE,gBAAgB;YAC5B,cAAc,EAAE,kBAAkB;YAClC,iBAAiB,EAAE,mCAAmC;YACtD,YAAY,EAAE,oDAAoD;YAClE,gBAAgB,EAAE,oEAAoE;YACtF,iBAAiB,EAAE,6DAA6D;YAChF,kBAAkB,EAAE,iCAAiC;YACrD,qBAAqB,EAAE,4BAA4B;YACnD,YAAY,EAAE,4CAA4C;YAC1D,QAAQ,EAAE,iDAAiD;YAC3D,eAAe,EAAE,oBAAoB;YACrC,cAAc,EAAE,0DAA0D;YAC1E,cAAc,EAAE,2EAA2E;SAC5F;QACD,EAAE,EAAE;YACF,mBAAmB,EAAE,uCAAuC;YAC5D,KAAK,EAAE,aAAa;YACpB,UAAU,EAAE,uEAAuE;YACnF,UAAU,EAAE,yBAAyB;YACrC,mBAAmB,EAAE,+CAA+C;YACpE,kBAAkB,EAAE,+CAA+C;YACnE,cAAc,EAAE,0DAA0D;YAC1E,WAAW,EAAE,0BAA0B;YACvC,UAAU,EAAE,sBAAsB;YAClC,cAAc,EAAE,0BAA0B;YAC1C,iBAAiB,EAAE,qCAAqC;YACxD,YAAY,EAAE,qDAAqD;YACnE,gBAAgB,EAAE,4EAA4E;YAC9F,iBAAiB,EAAE,4DAA4D;YAC/E,kBAAkB,EAAE,uCAAuC;YAC3D,qBAAqB,EAAE,+CAA+C;YACtE,YAAY,EAAE,+CAA+C;YAC7D,QAAQ,EAAE,8CAA8C;YACxD,eAAe,EAAE,oBAAoB;YACrC,cAAc,EAAE,qDAAqD;YACrE,cAAc,EAAE,sEAAsE;SACvF;QACD,EAAE,EAAE;YACF,mBAAmB,EAAE,WAAW;YAChC,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,qBAAqB;YACjC,UAAU,EAAE,QAAQ;YACpB,mBAAmB,EAAE,WAAW;YAChC,kBAAkB,EAAE,eAAe;YACnC,cAAc,EAAE,wBAAwB;YACxC,WAAW,EAAE,WAAW;YACxB,UAAU,EAAE,UAAU;YACtB,cAAc,EAAE,OAAO;YACvB,iBAAiB,EAAE,aAAa;YAChC,YAAY,EAAE,iBAAiB;YAC/B,gBAAgB,EAAE,mBAAmB;YACrC,iBAAiB,EAAE,kDAAkD;YACrE,kBAAkB,EAAE,aAAa;YACjC,qBAAqB,EAAE,aAAa;YACpC,YAAY,EAAE,iBAAiB;YAC/B,QAAQ,EAAE,sCAAsC;YAChD,eAAe,EAAE,SAAS;YAC1B,cAAc,EAAE,4BAA4B;YAC5C,cAAc,EAAE,2CAA2C;SAC5D;QACD,EAAE,EAAE;YACF,mBAAmB,EAAE,2BAA2B;YAChD,KAAK,EAAE,WAAW;YAClB,UAAU,EAAE,uEAAuE;YACnF,UAAU,EAAE,uBAAuB;YACnC,mBAAmB,EAAE,mCAAmC;YACxD,kBAAkB,EAAE,yCAAyC;YAC7D,cAAc,EAAE,wDAAwD;YACxE,WAAW,EAAE,4BAA4B;YACzC,UAAU,EAAE,0BAA0B;YACtC,cAAc,EAAE,uBAAuB;YACvC,iBAAiB,EAAE,oCAAoC;YACvD,YAAY,EAAE,6CAA6C;YAC3D,gBAAgB,EAAE,uDAAuD;YACzE,iBAAiB,EAAE,6DAA6D;YAChF,kBAAkB,EAAE,gCAAgC;YACpD,qBAAqB,EAAE,iCAAiC;YACxD,YAAY,EAAE,qDAAqD;YACnE,QAAQ,EAAE,gDAAgD;YAC1D,eAAe,EAAE,sBAAsB;YACvC,cAAc,EAAE,sDAAsD;YACtE,cAAc,EAAE,mEAAmE;SACpF;QACD,EAAE,EAAE;YACF,mBAAmB,EAAE,kCAAkC;YACvD,KAAK,EAAE,UAAU;YACjB,UAAU,EAAE,oEAAoE;YAChF,UAAU,EAAE,iBAAiB;YAC7B,mBAAmB,EAAE,wDAAwD;YAC7E,kBAAkB,EAAE,uDAAuD;YAC3E,cAAc,EAAE,+DAA+D;YAC/E,WAAW,EAAE,8BAA8B;YAC3C,UAAU,EAAE,4BAA4B;YACxC,cAAc,EAAE,kBAAkB;YAClC,iBAAiB,EAAE,mCAAmC;YACtD,YAAY,EAAE,mDAAmD;YACjE,gBAAgB,EAAE,qFAAqF;YACvG,iBAAiB,EAAE,4DAA4D;YAC/E,kBAAkB,EAAE,mCAAmC;YACvD,qBAAqB,EAAE,6CAA6C;YACpE,YAAY,EAAE,8CAA8C;YAC5D,QAAQ,EAAE,iDAAiD;YAC3D,eAAe,EAAE,wBAAwB;YACzC,cAAc,EAAE,wDAAwD;YACxE,cAAc,EAAE,iEAAiE;SAClF;QACD,EAAE,EAAE;YACF,mBAAmB,EAAE,YAAY;YACjC,KAAK,EAAE,KAAK;YACZ,UAAU,EAAE,4BAA4B;YACxC,UAAU,EAAE,cAAc;YAC1B,mBAAmB,EAAE,iBAAiB;YACtC,kBAAkB,EAAE,uBAAuB;YAC3C,cAAc,EAAE,gCAAgC;YAChD,WAAW,EAAE,YAAY;YACzB,UAAU,EAAE,YAAY;YACxB,cAAc,EAAE,UAAU;YAC1B,iBAAiB,EAAE,kBAAkB;YACrC,YAAY,EAAE,2BAA2B;YACzC,gBAAgB,EAAE,+BAA+B;YACjD,iBAAiB,EAAE,uDAAuD;YAC1E,kBAAkB,EAAE,iBAAiB;YACrC,qBAAqB,EAAE,aAAa;YACpC,YAAY,EAAE,qBAAqB;YACnC,QAAQ,EAAE,sCAAsC;YAChD,eAAe,EAAE,YAAY;YAC7B,cAAc,EAAE,oCAAoC;YACpD,cAAc,EAAE,oDAAoD;SACrE;QACD,EAAE,EAAE;YACF,mBAAmB,EAAE,aAAa;YAClC,KAAK,EAAE,KAAK;YACZ,UAAU,EAAE,kCAAkC;YAC9C,UAAU,EAAE,YAAY;YACxB,mBAAmB,EAAE,gBAAgB;YACrC,kBAAkB,EAAE,oBAAoB;YACxC,cAAc,EAAE,+BAA+B;YAC/C,WAAW,EAAE,cAAc;YAC3B,UAAU,EAAE,cAAc;YAC1B,cAAc,EAAE,UAAU;YAC1B,iBAAiB,EAAE,iBAAiB;YACpC,YAAY,EAAE,uBAAuB;YACrC,gBAAgB,EAAE,gCAAgC;YAClD,iBAAiB,EAAE,mDAAmD;YACtE,kBAAkB,EAAE,gBAAgB;YACpC,qBAAqB,EAAE,cAAc;YACrC,YAAY,EAAE,qBAAqB;YACnC,QAAQ,EAAE,uCAAuC;YACjD,eAAe,EAAE,WAAW;YAC5B,cAAc,EAAE,gCAAgC;YAChD,cAAc,EAAE,8CAA8C;SAC/D;QACD,EAAE,EAAE;YACF,mBAAmB,EAAE,qCAAqC;YAC1D,KAAK,EAAE,aAAa;YACpB,UAAU,EAAE,qEAAqE;YACjF,UAAU,EAAE,sBAAsB;YAClC,mBAAmB,EAAE,4CAA4C;YACjE,kBAAkB,EAAE,2CAA2C;YAC/D,cAAc,EAAE,yDAAyD;YACzE,WAAW,EAAE,uBAAuB;YACpC,UAAU,EAAE,wBAAwB;YACpC,cAAc,EAAE,uBAAuB;YACvC,iBAAiB,EAAE,mCAAmC;YACtD,YAAY,EAAE,iDAAiD;YAC/D,gBAAgB,EAAE,8EAA8E;YAChG,iBAAiB,EAAE,4DAA4D;YAC/E,kBAAkB,EAAE,oCAAoC;YACxD,qBAAqB,EAAE,sCAAsC;YAC7D,YAAY,EAAE,6CAA6C;YAC3D,QAAQ,EAAE,0CAA0C;YACpD,eAAe,EAAE,qBAAqB;YACtC,cAAc,EAAE,oDAAoD;YACpE,cAAc,EAAE,0EAA0E;SAC3F;KACF,CAAC;IACF,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,EAAE,CAAC;AACzC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,SAAiB,EACjB,IAAa,EACb,WAA8B,IAAI;IAElC,MAAM,OAAO,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAEnD,4BAA4B;IAC5B,MAAM,YAAY,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAEjD,yCAAyC;IACzC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC1B,OAAO,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,kCAAkC;IAClC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAE1E,oCAAoC;IACpC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,KAAK,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,4CAA4C;IAC5C,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC;QAC7D,OAAO,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,wBAAwB;IACxB,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC;QACjC,OAAO,EAAE,GAAG,OAAO,CAAC,cAAc,KAAK,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACnE,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC;QAC3D,OAAO,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,yCAAyC;IACzC,IAAI,mBAAmB,GAA+B,IAAI,CAAC;IAE3D,iFAAiF;IACjF,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC;IAEpD,IAAI,MAAM,IAAI,cAAc,EAAE,CAAC;QAC7B,wEAAwE;QACxE,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oCAAoC,gBAAgB,CAAC,MAAM,eAAe,CAAC,CAAC,CAAC;YACpG,mBAAmB,GAAG;gBACpB,YAAY,EAAE,gBAAgB;gBAC9B,iBAAiB,EAAE,UAAU;aAC9B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,yDAAyD;YACzD,mBAAmB,GAAG,MAAM,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,YAAY,CAAC,eAAe,KAAK,CAAC;QAAE,gBAAgB,GAAG,CAAC,CAAC;SACxD,IAAI,YAAY,CAAC,eAAe,IAAI,CAAC;QAAE,gBAAgB,GAAG,CAAC,CAAC;SAC5D,IAAI,YAAY,CAAC,eAAe,IAAI,CAAC;QAAE,gBAAgB,GAAG,CAAC,CAAC;;QAC5D,gBAAgB,GAAG,GAAG,CAAC;IAE5B,wBAAwB;IACxB,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC;QAC7B,OAAO,EAAE,gCAAgC;QACzC,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,CAAC,EAAE;YACjD,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE;YAC5C,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,CAAC,EAAE;YAC9C,EAAE,IAAI,EAAE,iCAAiC,EAAE,KAAK,EAAE,GAAG,EAAE;SACxD;QACD,OAAO,EAAE,gBAAgB;KAC1B,CAAC,CAAC;IAEH,kCAAkC;IAClC,MAAM,iBAAiB,GAAsB;QAC3C,YAAY,EAAE;YACZ,eAAe,EAAE,SAAS;YAC1B,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,YAAY,CAAC,QAAQ;SAChC;QACD,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,SAAS;KACvB,CAAC;IAEF,oDAAoD;IACpD,IAAI,MAAM,IAAI,cAAc,EAAE,CAAC;QAC7B,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvE,yDAAyD;YACzD,iBAAiB,CAAC,kBAAkB,GAAG,mBAAmB,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBACrF,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC1C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC;YACH,iBAAiB,CAAC,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,0CAA0C;YAC1C,iBAAiB,CAAC,MAAM,GAAG;gBACzB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,UAAU,CAAC,KAAK;aACxB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,IAAI,IAAI,EAAE,CAAC;QACT,iBAAiB,CAAC,IAAI,GAAG;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,IAAI,GAAG,EAAE,CAAC;QACR,iBAAiB,CAAC,GAAG,GAAG;YACtB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,GAAG,EAAE,GAAG,CAAC,GAAG;SACb,CAAC;IACJ,CAAC;IAED,oCAAoC;IACpC,OAAO,MAAM,SAAS,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB,CAAC,SAAiB;IAChD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;QACrE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QAEhE,0DAA0D;QAC1D,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACtE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;YACtC,MAAM,KAAK,GAAa,EAAE,CAAC;YAE3B,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5D,MAAM,CAAC,GAAG,OAAyD,CAAC;gBACpE,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;oBACtC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACzC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,wEAAwE;QACxE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,wCAAwC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7H,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,wBAAwB,CAAC,SAAiB;IACvD,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC;YACjC,OAAO,EAAE,mDAAmD;YAC5D,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,0DAA0D;QAC1D,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,8DAA8D,CAAC,CAAC,CAAC;YAC1F,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAClD,MAAM,mBAAmB,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAE1E,IAAI,mBAAmB,EAAE,CAAC;YACxB,iBAAiB;YACjB,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;gBACrE,IAAI,MAAM,GAA4B,EAAE,CAAC;gBACzC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC5D,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACnB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;gBACrB,CAAC;gBAED,MAAM,YAAY,GAAG,MAAM,CAAC,MAAiC,CAAC;gBAC9D,YAAY,CAAC,YAAY,GAAG,mBAAmB,CAAC,YAAY,CAAC;gBAC7D,YAAY,CAAC,iBAAiB,GAAG,mBAAmB,CAAC,iBAAiB,CAAC;gBACvE,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC;oBAChC,YAAY,CAAC,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC;gBACrD,CAAC;gBACD,IAAI,mBAAmB,CAAC,gBAAgB,EAAE,CAAC;oBACzC,YAAY,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,gBAAgB,CAAC;gBACvE,CAAC;gBAED,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC3C,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAChE,CAAC;YAAC,MAAM,CAAC;gBACP,uCAAuC;YACzC,CAAC;QACH,CAAC;QAED,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,SAAS,CACtB,SAAiB,EACjB,iBAAoC;IAEpC,MAAM,OAAO,GAAG,GAAG,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;IAClD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,qDAAqD;IACrD,iBAAiB,CAAC,kBAAkB,GAAG,CAAC,IAAkB,EAAE,EAAE;QAC5D,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,wCAAwC;QACxC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YACpD,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAEjE,wBAAwB;QACxB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,QAAQ,CAAC,CAAC;QACtC,CAAC;QAED,wBAAwB;QACxB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;YAC9B,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,QAAQ,OAAO,KAAK,OAAO,GAAG,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,QAAQ,OAAO,GAAG,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,OAAO,CAAC,IAAI,GAAG,kBAAkB,IAAI,CAAC,QAAQ,GAAG,SAAS,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACvF,CAAC,CAAC;IAEF,sCAAsC;IACtC,iBAAiB,CAAC,UAAU,GAAG,CAAC,QAAgB,EAAE,KAAa,EAAE,KAAc,EAAE,EAAE;QACjF,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,IAAI,GAAG,kBAAkB,QAAQ,QAAQ,KAAK,GAAG,QAAQ,SAAS,CAAC;QAC7E,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,CAAC;QAE7C,OAAO,CAAC,OAAO,CAAC,YAAY,MAAM,CAAC,UAAU,QAAQ,CAAC,CAAC;QAEvD,6BAA6B;QAC7B,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;gBACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,cAAc,CAAC,QAAQ,KAAK,cAAc,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;YAC5F,CAAC,CAAC,CAAC;QACL,CAAC;QAED,qBAAqB;QACrB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACzD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE;gBAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC;QACL,CAAC;QAED,8BAA8B;QAC9B,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,MAAM,CAAC,UAAU,wBAAwB,CAAC,CAAC,CAAC;YACxF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC,CAAC;QACvF,CAAC;QAED,qDAAqD;QACrD,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9B,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAChC,SAAiB,EACjB,MAAyB,EACzB,OAA+B;IAE/B,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAEjF,eAAe;QACf,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,MAAM,mBAAmB,GAAyB,EAAE,CAAC;QAErD,oEAAoE;QACpE,MAAM,WAAW,GAAG,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC;QAEnC,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,wBAAwB;YACxB,+DAA+D;YAC/D,sEAAsE;YACtE,MAAM,SAAS,GAAG,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;YAE1D,OAAO,CAAC,IAAI,GAAG,SAAS;gBACtB,CAAC,CAAC,yBAAyB,SAAS,KAAK;gBACzC,CAAC,CAAC,oCAAoC,CAAC;YAEzC,yCAAyC;YACzC,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC;gBAClC,QAAQ;gBACR,WAAW,EAAE,SAAS;gBACtB,uBAAuB,EAAE,IAAI;gBAC7B,kDAAkD;gBAClD,2EAA2E;gBAC3E,SAAS,EAAE,SAAS,IAAI,SAAS;gBACjC,oBAAoB,EAAE,EAAE;gBACxB,gBAAgB,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE;oBAC3C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;oBAClE,OAAO,CAAC,IAAI,GAAG,2BAA2B,KAAK,EAAE,CAAC;gBACpD,CAAC;gBACD,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;oBAC/B,aAAa,EAAE,CAAC;oBAChB,OAAO,CAAC,IAAI,GAAG,YAAY,IAAI,KAAK,MAAM,GAAG,CAAC;gBAChD,CAAC;aACF,CAAC,CAAC;YAEH,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC7D,mBAAmB,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;YAC9C,cAAc,IAAI,gBAAgB,CAAC,MAAM,CAAC;QAC5C,CAAC;QAED,gCAAgC;QAChC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAE1F,OAAO,CAAC,OAAO,CAAC,aAAa,cAAc,8BAA8B,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC,CAAC;QAC1F,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,SAAS,kBAAkB,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,cAAc,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,aAAa,2BAA2B,CAAC,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,gDAAgD;QAChD,IAAI,CAAC;YACH,aAAa,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,eAAe,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,mBAAmB,eAAe,YAAY,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI;gBAC3G,uDAAuD,CACxD,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC,CAAC;QACtG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,eAAe,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACjD,MAAM,eAAe,CAAC;IACxB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,KAAqB;IACnD,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;IAEjD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,mEAAmE;QACnE,IAAI,OAAO,GAAG,UAAU,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,kDAAkD;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAElE,gDAAgD;YAChD,kDAAkD;YAClD,kCAAkC;YAClC,uBAAuB;YACvB,OAAO,GAAG,WAAW;iBAClB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC;iBAC/B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;iBACvB,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAEjB,gEAAgE;YAChE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,GAAG,UAAU,CAAC;YACvB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC1B,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,WAAW;IAClB,OAAO;QACL,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"next-steps.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/next-steps.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,eAAe,GAAE,OAAe,EAChC,mBAAmB,GAAE,OAAe,GACnC,IAAI,CA8DN"}
1
+ {"version":3,"file":"next-steps.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/next-steps.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAgFrE;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,eAAe,GAAE,OAAe,EAChC,mBAAmB,GAAE,OAAe,GACnC,IAAI,CA+DN"}