specweave 0.28.49 → 0.28.50

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.
@@ -1 +1 @@
1
- {"version":3,"file":"config-detection.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/config-detection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEtE;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CA2BzE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA8BrE;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAgEnE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG;IACnD,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;IACtB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAWA"}
1
+ {"version":3,"file":"config-detection.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/config-detection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEtE;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CA2BzE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA8BrE;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAyEnE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG;IACnD,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;IACtB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAWA"}
@@ -104,15 +104,22 @@ export function detectADOConfig(targetDir) {
104
104
  const profiles = config.sync?.profiles || {};
105
105
  const adoProfile = Object.values(profiles).find((p) => p.provider === 'ado');
106
106
  if (adoProfile?.config) {
107
- const { organization, project, teams, areaPaths, strategy } = adoProfile.config;
108
- if (organization && project) {
107
+ const { organization, project, projects, teams, areaPaths, strategy } = adoProfile.config;
108
+ // Handle both single-project (project) and multi-project (projects) modes
109
+ // For multi-project, use first project as the "primary" for backwards compatibility
110
+ const primaryProject = project || (Array.isArray(projects) && projects.length > 0
111
+ ? (projects[0]?.name || projects[0])
112
+ : null);
113
+ if (organization && primaryProject) {
109
114
  return {
110
115
  orgUrl: `https://dev.azure.com/${organization}`,
111
- project,
116
+ project: primaryProject,
112
117
  pat,
113
118
  teams,
114
119
  areaPaths,
115
- strategy
120
+ strategy,
121
+ // Pass the full projects array for multi-project support
122
+ projects: Array.isArray(projects) ? projects : undefined
116
123
  };
117
124
  }
118
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config-detection.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/config-detection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-detection.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/config-detection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"repository-setup.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/repository-setup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAoLD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAsF5G"}
1
+ {"version":3,"file":"repository-setup.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/repository-setup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGrE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAoLD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAsF5G"}
@@ -1 +1 @@
1
- {"version":3,"file":"repository-setup.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/repository-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository-setup.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/repository-setup.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,14 @@ export interface JiraConfig {
46
46
  email?: string;
47
47
  apiToken?: string;
48
48
  }
49
+ /**
50
+ * Azure DevOps project configuration for multi-project mode
51
+ */
52
+ export interface ADOProjectConfig {
53
+ name: string;
54
+ areaPaths?: string[];
55
+ isDefault?: boolean;
56
+ }
49
57
  /**
50
58
  * Azure DevOps configuration detection result
51
59
  */
@@ -56,6 +64,7 @@ export interface ADOConfig {
56
64
  teams?: string[];
57
65
  areaPaths?: string[];
58
66
  strategy?: string;
67
+ projects?: ADOProjectConfig[];
59
68
  }
60
69
  /**
61
70
  * Testing mode configuration
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Unified Selection Strategy Helper
3
+ *
4
+ * Provides consistent selection UI across all platforms (GitHub, JIRA, Azure DevOps)
5
+ * for selecting repositories, projects, area paths, etc.
6
+ *
7
+ * Strategies:
8
+ * - all: Select everything
9
+ * - pattern-glob: Glob pattern matching (e.g., "sw-*", "*-backend")
10
+ * - pattern-regex: Regular expression matching (e.g., "^sw-.*$")
11
+ * - select-specific: Checkbox selection from list
12
+ * - manual-entry: Comma-separated text input
13
+ *
14
+ * Pattern Shortcuts:
15
+ * - "starts: prefix" → "prefix*"
16
+ * - "ends: suffix" → "*suffix"
17
+ * - "contains: text" → "*text*"
18
+ *
19
+ * @module cli/helpers/selection-strategy
20
+ */
21
+ import type { SupportedLanguage } from '../../core/i18n/types.js';
22
+ /**
23
+ * Selection strategy options
24
+ */
25
+ export type SelectionStrategy = 'all' | 'pattern-glob' | 'pattern-regex' | 'select-specific' | 'manual-entry';
26
+ /**
27
+ * Generic selectable item interface
28
+ */
29
+ export interface SelectableItem {
30
+ /** Display name for the item */
31
+ name: string;
32
+ /** Unique identifier/value */
33
+ value: string;
34
+ /** Optional: full path or additional context */
35
+ path?: string;
36
+ /** Optional: additional metadata */
37
+ metadata?: Record<string, unknown>;
38
+ }
39
+ /**
40
+ * Selection result
41
+ */
42
+ export interface SelectionResult<T extends SelectableItem = SelectableItem> {
43
+ /** Selected strategy */
44
+ strategy: SelectionStrategy;
45
+ /** Selected items */
46
+ items: T[];
47
+ /** Pattern used (for pattern strategies) */
48
+ pattern?: string;
49
+ /** Whether selection was cancelled */
50
+ cancelled: boolean;
51
+ }
52
+ /**
53
+ * Options for the selection prompt
54
+ */
55
+ export interface SelectionPromptOptions<T extends SelectableItem = SelectableItem> {
56
+ /** All available items to select from */
57
+ items: T[];
58
+ /** Type of items being selected (for display) */
59
+ itemType: 'repositories' | 'projects' | 'area paths' | 'boards' | 'items';
60
+ /** Optional: source/context name (e.g., org name, project name) */
61
+ sourceName?: string;
62
+ /** Language for i18n */
63
+ language?: SupportedLanguage;
64
+ /** Whether to show "All" option (default: true) */
65
+ showAllOption?: boolean;
66
+ /** Whether to show preview before confirmation (default: true) */
67
+ showPreview?: boolean;
68
+ /** Maximum items to show in preview (default: 20) */
69
+ previewLimit?: number;
70
+ /** Custom validator for manual entry */
71
+ manualEntryValidator?: (value: string) => boolean | string;
72
+ /** Whether to transform manual entry to uppercase (for JIRA keys) */
73
+ uppercaseManualEntry?: boolean;
74
+ /** Field to match patterns against (default: 'name') */
75
+ matchField?: keyof T;
76
+ }
77
+ /**
78
+ * Parse pattern shortcuts into glob/regex patterns
79
+ *
80
+ * Shortcuts:
81
+ * - "starts: prefix" → "prefix*" (glob)
82
+ * - "ends: suffix" → "*suffix" (glob)
83
+ * - "contains: text" → "*text*" (glob)
84
+ * - Raw patterns are passed through as-is
85
+ *
86
+ * @param input - User input (may contain shortcuts)
87
+ * @returns Parsed pattern
88
+ */
89
+ export declare function parsePatternShortcut(input: string): string;
90
+ /**
91
+ * Match items by glob pattern
92
+ *
93
+ * @param items - Items to filter
94
+ * @param pattern - Glob pattern (e.g., "sw-*", "*-backend")
95
+ * @param field - Field to match against (default: 'name')
96
+ * @returns Matching items
97
+ */
98
+ export declare function matchByGlob<T extends SelectableItem>(items: T[], pattern: string, field?: keyof T): T[];
99
+ /**
100
+ * Match items by regular expression
101
+ *
102
+ * @param items - Items to filter
103
+ * @param pattern - Regex pattern (e.g., "^sw-.*$")
104
+ * @param field - Field to match against (default: 'name')
105
+ * @returns Object with matching items or error
106
+ */
107
+ export declare function matchByRegex<T extends SelectableItem>(items: T[], pattern: string, field?: keyof T): {
108
+ items: T[];
109
+ error?: string;
110
+ };
111
+ /**
112
+ * Validate regex pattern
113
+ *
114
+ * @param pattern - Pattern to validate
115
+ * @returns True if valid, error message if invalid
116
+ */
117
+ export declare function validateRegex(pattern: string): true | string;
118
+ /**
119
+ * Main selection prompt - unified across all platforms
120
+ *
121
+ * @param options - Selection options
122
+ * @returns Selection result
123
+ */
124
+ export declare function promptSelection<T extends SelectableItem>(options: SelectionPromptOptions<T>): Promise<SelectionResult<T>>;
125
+ /**
126
+ * Convert array of strings to SelectableItem array
127
+ */
128
+ export declare function toSelectableItems(items: string[]): SelectableItem[];
129
+ /**
130
+ * Convert array of objects with name/value to SelectableItem array
131
+ */
132
+ export declare function toSelectableItemsFromObjects<T extends {
133
+ name: string;
134
+ [key: string]: unknown;
135
+ }>(items: T[], valueField?: keyof T): SelectableItem[];
136
+ //# sourceMappingURL=selection-strategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection-strategy.d.ts","sourceRoot":"","sources":["../../../../src/cli/helpers/selection-strategy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,684 @@
1
+ /**
2
+ * Unified Selection Strategy Helper
3
+ *
4
+ * Provides consistent selection UI across all platforms (GitHub, JIRA, Azure DevOps)
5
+ * for selecting repositories, projects, area paths, etc.
6
+ *
7
+ * Strategies:
8
+ * - all: Select everything
9
+ * - pattern-glob: Glob pattern matching (e.g., "sw-*", "*-backend")
10
+ * - pattern-regex: Regular expression matching (e.g., "^sw-.*$")
11
+ * - select-specific: Checkbox selection from list
12
+ * - manual-entry: Comma-separated text input
13
+ *
14
+ * Pattern Shortcuts:
15
+ * - "starts: prefix" → "prefix*"
16
+ * - "ends: suffix" → "*suffix"
17
+ * - "contains: text" → "*text*"
18
+ *
19
+ * @module cli/helpers/selection-strategy
20
+ */
21
+ import { select, input, checkbox, confirm } from '@inquirer/prompts';
22
+ import chalk from 'chalk';
23
+ import { minimatch } from 'minimatch';
24
+ function getSelectionStrings(language) {
25
+ const strings = {
26
+ en: {
27
+ header: 'Selection',
28
+ strategyQuestion: 'How do you want to select',
29
+ allOption: 'All',
30
+ allDescription: 'Import everything',
31
+ patternGlobOption: 'Pattern (glob)',
32
+ patternGlobDescription: 'Match by pattern (e.g., "sw-*", "*-backend")',
33
+ patternRegexOption: 'Pattern (regex)',
34
+ patternRegexDescription: 'Regular expression (e.g., "^sw-.*$")',
35
+ selectSpecificOption: 'Select specific',
36
+ selectSpecificDescription: 'Choose from list (checkbox)',
37
+ manualEntryOption: 'Manual entry',
38
+ manualEntryDescription: 'Enter names directly (comma-separated)',
39
+ patternPrompt: 'Enter pattern',
40
+ patternGlobHint: 'Examples: "sw-*", "*-backend", "api-*-service"',
41
+ patternRegexHint: 'Examples: "^sw-", ".*-backend$", "^api-\\d+-service$"',
42
+ patternShortcutsHint: 'Shortcuts: "starts: sw-", "ends: -api", "contains: core"',
43
+ manualEntryPrompt: 'Enter names (comma-separated)',
44
+ manualEntryHint: 'Example: "repo1, repo2, repo3"',
45
+ checkboxPrompt: 'Select items (space to toggle, enter to confirm)',
46
+ previewHeader: 'Preview',
47
+ previewMore: 'and {count} more',
48
+ confirmSelection: 'Confirm selection of {count} {itemType}?',
49
+ noMatches: 'No items match pattern "{pattern}"',
50
+ tryAgain: 'Try a different pattern?',
51
+ cancelled: 'Selection cancelled',
52
+ selected: 'Selected {count} {itemType}',
53
+ invalidPattern: 'Invalid pattern format',
54
+ invalidRegex: 'Invalid regular expression: {error}',
55
+ patternRequired: 'Pattern is required',
56
+ entryRequired: 'At least one entry is required',
57
+ available: 'Available',
58
+ source: 'Source',
59
+ },
60
+ ru: {
61
+ header: 'Выбор',
62
+ strategyQuestion: 'Как вы хотите выбрать',
63
+ allOption: 'Все',
64
+ allDescription: 'Импортировать всё',
65
+ patternGlobOption: 'Шаблон (glob)',
66
+ patternGlobDescription: 'Сопоставление по шаблону (напр., "sw-*", "*-backend")',
67
+ patternRegexOption: 'Шаблон (regex)',
68
+ patternRegexDescription: 'Регулярное выражение (напр., "^sw-.*$")',
69
+ selectSpecificOption: 'Выбрать конкретные',
70
+ selectSpecificDescription: 'Выбрать из списка (чекбоксы)',
71
+ manualEntryOption: 'Ручной ввод',
72
+ manualEntryDescription: 'Ввести имена напрямую (через запятую)',
73
+ patternPrompt: 'Введите шаблон',
74
+ patternGlobHint: 'Примеры: "sw-*", "*-backend", "api-*-service"',
75
+ patternRegexHint: 'Примеры: "^sw-", ".*-backend$", "^api-\\d+-service$"',
76
+ patternShortcutsHint: 'Сокращения: "starts: sw-", "ends: -api", "contains: core"',
77
+ manualEntryPrompt: 'Введите имена (через запятую)',
78
+ manualEntryHint: 'Пример: "repo1, repo2, repo3"',
79
+ checkboxPrompt: 'Выберите элементы (пробел - переключить, enter - подтвердить)',
80
+ previewHeader: 'Предпросмотр',
81
+ previewMore: 'и ещё {count}',
82
+ confirmSelection: 'Подтвердить выбор {count} {itemType}?',
83
+ noMatches: 'Нет элементов, соответствующих шаблону "{pattern}"',
84
+ tryAgain: 'Попробовать другой шаблон?',
85
+ cancelled: 'Выбор отменён',
86
+ selected: 'Выбрано {count} {itemType}',
87
+ invalidPattern: 'Неверный формат шаблона',
88
+ invalidRegex: 'Неверное регулярное выражение: {error}',
89
+ patternRequired: 'Шаблон обязателен',
90
+ entryRequired: 'Требуется хотя бы одна запись',
91
+ available: 'Доступно',
92
+ source: 'Источник',
93
+ },
94
+ es: {
95
+ header: 'Selección',
96
+ strategyQuestion: 'Cómo desea seleccionar',
97
+ allOption: 'Todos',
98
+ allDescription: 'Importar todo',
99
+ patternGlobOption: 'Patrón (glob)',
100
+ patternGlobDescription: 'Coincidir por patrón (ej., "sw-*", "*-backend")',
101
+ patternRegexOption: 'Patrón (regex)',
102
+ patternRegexDescription: 'Expresión regular (ej., "^sw-.*$")',
103
+ selectSpecificOption: 'Seleccionar específicos',
104
+ selectSpecificDescription: 'Elegir de lista (casillas)',
105
+ manualEntryOption: 'Entrada manual',
106
+ manualEntryDescription: 'Ingresar nombres directamente (separados por coma)',
107
+ patternPrompt: 'Ingrese patrón',
108
+ patternGlobHint: 'Ejemplos: "sw-*", "*-backend", "api-*-service"',
109
+ patternRegexHint: 'Ejemplos: "^sw-", ".*-backend$", "^api-\\d+-service$"',
110
+ patternShortcutsHint: 'Atajos: "starts: sw-", "ends: -api", "contains: core"',
111
+ manualEntryPrompt: 'Ingrese nombres (separados por coma)',
112
+ manualEntryHint: 'Ejemplo: "repo1, repo2, repo3"',
113
+ checkboxPrompt: 'Seleccione elementos (espacio para alternar, enter para confirmar)',
114
+ previewHeader: 'Vista previa',
115
+ previewMore: 'y {count} más',
116
+ confirmSelection: '¿Confirmar selección de {count} {itemType}?',
117
+ noMatches: 'Ningún elemento coincide con el patrón "{pattern}"',
118
+ tryAgain: '¿Intentar con otro patrón?',
119
+ cancelled: 'Selección cancelada',
120
+ selected: 'Seleccionado {count} {itemType}',
121
+ invalidPattern: 'Formato de patrón inválido',
122
+ invalidRegex: 'Expresión regular inválida: {error}',
123
+ patternRequired: 'El patrón es requerido',
124
+ entryRequired: 'Se requiere al menos una entrada',
125
+ available: 'Disponible',
126
+ source: 'Fuente',
127
+ },
128
+ zh: {
129
+ header: '选择',
130
+ strategyQuestion: '您想如何选择',
131
+ allOption: '全部',
132
+ allDescription: '导入所有内容',
133
+ patternGlobOption: '模式 (glob)',
134
+ patternGlobDescription: '按模式匹配(例如 "sw-*"、"*-backend")',
135
+ patternRegexOption: '模式 (正则)',
136
+ patternRegexDescription: '正则表达式(例如 "^sw-.*$")',
137
+ selectSpecificOption: '选择特定项',
138
+ selectSpecificDescription: '从列表中选择(复选框)',
139
+ manualEntryOption: '手动输入',
140
+ manualEntryDescription: '直接输入名称(逗号分隔)',
141
+ patternPrompt: '输入模式',
142
+ patternGlobHint: '示例:"sw-*"、"*-backend"、"api-*-service"',
143
+ patternRegexHint: '示例:"^sw-"、".*-backend$"、"^api-\\d+-service$"',
144
+ patternShortcutsHint: '快捷方式:"starts: sw-"、"ends: -api"、"contains: core"',
145
+ manualEntryPrompt: '输入名称(逗号分隔)',
146
+ manualEntryHint: '示例:"repo1, repo2, repo3"',
147
+ checkboxPrompt: '选择项目(空格切换,回车确认)',
148
+ previewHeader: '预览',
149
+ previewMore: '还有 {count} 个',
150
+ confirmSelection: '确认选择 {count} 个{itemType}?',
151
+ noMatches: '没有项目匹配模式 "{pattern}"',
152
+ tryAgain: '尝试其他模式?',
153
+ cancelled: '选择已取消',
154
+ selected: '已选择 {count} 个{itemType}',
155
+ invalidPattern: '无效的模式格式',
156
+ invalidRegex: '无效的正则表达式:{error}',
157
+ patternRequired: '模式是必需的',
158
+ entryRequired: '至少需要一个条目',
159
+ available: '可用',
160
+ source: '来源',
161
+ },
162
+ de: {
163
+ header: 'Auswahl',
164
+ strategyQuestion: 'Wie möchten Sie auswählen',
165
+ allOption: 'Alle',
166
+ allDescription: 'Alles importieren',
167
+ patternGlobOption: 'Muster (glob)',
168
+ patternGlobDescription: 'Nach Muster filtern (z.B. "sw-*", "*-backend")',
169
+ patternRegexOption: 'Muster (regex)',
170
+ patternRegexDescription: 'Regulärer Ausdruck (z.B. "^sw-.*$")',
171
+ selectSpecificOption: 'Spezifische auswählen',
172
+ selectSpecificDescription: 'Aus Liste wählen (Kontrollkästchen)',
173
+ manualEntryOption: 'Manuelle Eingabe',
174
+ manualEntryDescription: 'Namen direkt eingeben (kommagetrennt)',
175
+ patternPrompt: 'Muster eingeben',
176
+ patternGlobHint: 'Beispiele: "sw-*", "*-backend", "api-*-service"',
177
+ patternRegexHint: 'Beispiele: "^sw-", ".*-backend$", "^api-\\d+-service$"',
178
+ patternShortcutsHint: 'Abkürzungen: "starts: sw-", "ends: -api", "contains: core"',
179
+ manualEntryPrompt: 'Namen eingeben (kommagetrennt)',
180
+ manualEntryHint: 'Beispiel: "repo1, repo2, repo3"',
181
+ checkboxPrompt: 'Elemente auswählen (Leertaste zum Umschalten, Enter zum Bestätigen)',
182
+ previewHeader: 'Vorschau',
183
+ previewMore: 'und {count} weitere',
184
+ confirmSelection: 'Auswahl von {count} {itemType} bestätigen?',
185
+ noMatches: 'Keine Elemente entsprechen dem Muster "{pattern}"',
186
+ tryAgain: 'Anderes Muster versuchen?',
187
+ cancelled: 'Auswahl abgebrochen',
188
+ selected: '{count} {itemType} ausgewählt',
189
+ invalidPattern: 'Ungültiges Musterformat',
190
+ invalidRegex: 'Ungültiger regulärer Ausdruck: {error}',
191
+ patternRequired: 'Muster ist erforderlich',
192
+ entryRequired: 'Mindestens ein Eintrag ist erforderlich',
193
+ available: 'Verfügbar',
194
+ source: 'Quelle',
195
+ },
196
+ fr: {
197
+ header: 'Sélection',
198
+ strategyQuestion: 'Comment voulez-vous sélectionner',
199
+ allOption: 'Tous',
200
+ allDescription: 'Tout importer',
201
+ patternGlobOption: 'Modèle (glob)',
202
+ patternGlobDescription: 'Correspondance par modèle (ex., "sw-*", "*-backend")',
203
+ patternRegexOption: 'Modèle (regex)',
204
+ patternRegexDescription: 'Expression régulière (ex., "^sw-.*$")',
205
+ selectSpecificOption: 'Sélection spécifique',
206
+ selectSpecificDescription: 'Choisir dans la liste (cases à cocher)',
207
+ manualEntryOption: 'Entrée manuelle',
208
+ manualEntryDescription: 'Entrer les noms directement (séparés par virgule)',
209
+ patternPrompt: 'Entrez le modèle',
210
+ patternGlobHint: 'Exemples: "sw-*", "*-backend", "api-*-service"',
211
+ patternRegexHint: 'Exemples: "^sw-", ".*-backend$", "^api-\\d+-service$"',
212
+ patternShortcutsHint: 'Raccourcis: "starts: sw-", "ends: -api", "contains: core"',
213
+ manualEntryPrompt: 'Entrez les noms (séparés par virgule)',
214
+ manualEntryHint: 'Exemple: "repo1, repo2, repo3"',
215
+ checkboxPrompt: 'Sélectionnez les éléments (espace pour basculer, entrée pour confirmer)',
216
+ previewHeader: 'Aperçu',
217
+ previewMore: 'et {count} de plus',
218
+ confirmSelection: 'Confirmer la sélection de {count} {itemType}?',
219
+ noMatches: 'Aucun élément ne correspond au modèle "{pattern}"',
220
+ tryAgain: 'Essayer un autre modèle?',
221
+ cancelled: 'Sélection annulée',
222
+ selected: '{count} {itemType} sélectionné(s)',
223
+ invalidPattern: 'Format de modèle invalide',
224
+ invalidRegex: 'Expression régulière invalide: {error}',
225
+ patternRequired: 'Le modèle est requis',
226
+ entryRequired: 'Au moins une entrée est requise',
227
+ available: 'Disponible',
228
+ source: 'Source',
229
+ },
230
+ ja: {
231
+ header: '選択',
232
+ strategyQuestion: '選択方法を選んでください',
233
+ allOption: 'すべて',
234
+ allDescription: 'すべてインポート',
235
+ patternGlobOption: 'パターン (glob)',
236
+ patternGlobDescription: 'パターンでマッチ(例: "sw-*", "*-backend")',
237
+ patternRegexOption: 'パターン (正規表現)',
238
+ patternRegexDescription: '正規表現(例: "^sw-.*$")',
239
+ selectSpecificOption: '特定を選択',
240
+ selectSpecificDescription: 'リストから選択(チェックボックス)',
241
+ manualEntryOption: '手動入力',
242
+ manualEntryDescription: '名前を直接入力(カンマ区切り)',
243
+ patternPrompt: 'パターンを入力',
244
+ patternGlobHint: '例: "sw-*", "*-backend", "api-*-service"',
245
+ patternRegexHint: '例: "^sw-", ".*-backend$", "^api-\\d+-service$"',
246
+ patternShortcutsHint: 'ショートカット: "starts: sw-", "ends: -api", "contains: core"',
247
+ manualEntryPrompt: '名前を入力(カンマ区切り)',
248
+ manualEntryHint: '例: "repo1, repo2, repo3"',
249
+ checkboxPrompt: '項目を選択(スペースで切替、Enterで確認)',
250
+ previewHeader: 'プレビュー',
251
+ previewMore: '他 {count} 件',
252
+ confirmSelection: '{count} 件の{itemType}の選択を確認しますか?',
253
+ noMatches: 'パターン "{pattern}" に一致する項目がありません',
254
+ tryAgain: '別のパターンを試しますか?',
255
+ cancelled: '選択がキャンセルされました',
256
+ selected: '{count} 件の{itemType}を選択しました',
257
+ invalidPattern: '無効なパターン形式',
258
+ invalidRegex: '無効な正規表現: {error}',
259
+ patternRequired: 'パターンは必須です',
260
+ entryRequired: '少なくとも1つのエントリが必要です',
261
+ available: '利用可能',
262
+ source: 'ソース',
263
+ },
264
+ ko: {
265
+ header: '선택',
266
+ strategyQuestion: '선택 방법을 고르세요',
267
+ allOption: '모두',
268
+ allDescription: '모두 가져오기',
269
+ patternGlobOption: '패턴 (glob)',
270
+ patternGlobDescription: '패턴으로 매칭 (예: "sw-*", "*-backend")',
271
+ patternRegexOption: '패턴 (정규식)',
272
+ patternRegexDescription: '정규 표현식 (예: "^sw-.*$")',
273
+ selectSpecificOption: '특정 항목 선택',
274
+ selectSpecificDescription: '목록에서 선택 (체크박스)',
275
+ manualEntryOption: '수동 입력',
276
+ manualEntryDescription: '이름 직접 입력 (쉼표로 구분)',
277
+ patternPrompt: '패턴 입력',
278
+ patternGlobHint: '예: "sw-*", "*-backend", "api-*-service"',
279
+ patternRegexHint: '예: "^sw-", ".*-backend$", "^api-\\d+-service$"',
280
+ patternShortcutsHint: '단축키: "starts: sw-", "ends: -api", "contains: core"',
281
+ manualEntryPrompt: '이름 입력 (쉼표로 구분)',
282
+ manualEntryHint: '예: "repo1, repo2, repo3"',
283
+ checkboxPrompt: '항목 선택 (스페이스로 전환, Enter로 확인)',
284
+ previewHeader: '미리보기',
285
+ previewMore: '외 {count}개',
286
+ confirmSelection: '{count}개의 {itemType} 선택을 확인하시겠습니까?',
287
+ noMatches: '패턴 "{pattern}"과 일치하는 항목이 없습니다',
288
+ tryAgain: '다른 패턴을 시도하시겠습니까?',
289
+ cancelled: '선택이 취소되었습니다',
290
+ selected: '{count}개의 {itemType} 선택됨',
291
+ invalidPattern: '잘못된 패턴 형식',
292
+ invalidRegex: '잘못된 정규 표현식: {error}',
293
+ patternRequired: '패턴이 필요합니다',
294
+ entryRequired: '최소 하나의 항목이 필요합니다',
295
+ available: '사용 가능',
296
+ source: '소스',
297
+ },
298
+ pt: {
299
+ header: 'Seleção',
300
+ strategyQuestion: 'Como você quer selecionar',
301
+ allOption: 'Todos',
302
+ allDescription: 'Importar tudo',
303
+ patternGlobOption: 'Padrão (glob)',
304
+ patternGlobDescription: 'Corresponder por padrão (ex., "sw-*", "*-backend")',
305
+ patternRegexOption: 'Padrão (regex)',
306
+ patternRegexDescription: 'Expressão regular (ex., "^sw-.*$")',
307
+ selectSpecificOption: 'Selecionar específicos',
308
+ selectSpecificDescription: 'Escolher da lista (caixas de seleção)',
309
+ manualEntryOption: 'Entrada manual',
310
+ manualEntryDescription: 'Digitar nomes diretamente (separados por vírgula)',
311
+ patternPrompt: 'Digite o padrão',
312
+ patternGlobHint: 'Exemplos: "sw-*", "*-backend", "api-*-service"',
313
+ patternRegexHint: 'Exemplos: "^sw-", ".*-backend$", "^api-\\d+-service$"',
314
+ patternShortcutsHint: 'Atalhos: "starts: sw-", "ends: -api", "contains: core"',
315
+ manualEntryPrompt: 'Digite os nomes (separados por vírgula)',
316
+ manualEntryHint: 'Exemplo: "repo1, repo2, repo3"',
317
+ checkboxPrompt: 'Selecione itens (espaço para alternar, enter para confirmar)',
318
+ previewHeader: 'Visualização',
319
+ previewMore: 'e mais {count}',
320
+ confirmSelection: 'Confirmar seleção de {count} {itemType}?',
321
+ noMatches: 'Nenhum item corresponde ao padrão "{pattern}"',
322
+ tryAgain: 'Tentar outro padrão?',
323
+ cancelled: 'Seleção cancelada',
324
+ selected: '{count} {itemType} selecionado(s)',
325
+ invalidPattern: 'Formato de padrão inválido',
326
+ invalidRegex: 'Expressão regular inválida: {error}',
327
+ patternRequired: 'Padrão é obrigatório',
328
+ entryRequired: 'Pelo menos uma entrada é necessária',
329
+ available: 'Disponível',
330
+ source: 'Fonte',
331
+ },
332
+ };
333
+ return strings[language] || strings.en;
334
+ }
335
+ // ============================================================================
336
+ // Pattern Utilities
337
+ // ============================================================================
338
+ /**
339
+ * Parse pattern shortcuts into glob/regex patterns
340
+ *
341
+ * Shortcuts:
342
+ * - "starts: prefix" → "prefix*" (glob)
343
+ * - "ends: suffix" → "*suffix" (glob)
344
+ * - "contains: text" → "*text*" (glob)
345
+ * - Raw patterns are passed through as-is
346
+ *
347
+ * @param input - User input (may contain shortcuts)
348
+ * @returns Parsed pattern
349
+ */
350
+ export function parsePatternShortcut(input) {
351
+ const trimmed = input.trim();
352
+ // Check for shortcuts (case-insensitive)
353
+ const startsMatch = trimmed.match(/^starts?:\s*(.+)$/i);
354
+ if (startsMatch) {
355
+ return `${startsMatch[1].trim()}*`;
356
+ }
357
+ const endsMatch = trimmed.match(/^ends?:\s*(.+)$/i);
358
+ if (endsMatch) {
359
+ return `*${endsMatch[1].trim()}`;
360
+ }
361
+ const containsMatch = trimmed.match(/^contains?:\s*(.+)$/i);
362
+ if (containsMatch) {
363
+ return `*${containsMatch[1].trim()}*`;
364
+ }
365
+ // No shortcut, return as-is
366
+ return trimmed;
367
+ }
368
+ /**
369
+ * Match items by glob pattern
370
+ *
371
+ * @param items - Items to filter
372
+ * @param pattern - Glob pattern (e.g., "sw-*", "*-backend")
373
+ * @param field - Field to match against (default: 'name')
374
+ * @returns Matching items
375
+ */
376
+ export function matchByGlob(items, pattern, field = 'name') {
377
+ const parsedPattern = parsePatternShortcut(pattern);
378
+ return items.filter(item => {
379
+ const value = String(item[field] || '');
380
+ return minimatch(value, parsedPattern, { nocase: true });
381
+ });
382
+ }
383
+ /**
384
+ * Match items by regular expression
385
+ *
386
+ * @param items - Items to filter
387
+ * @param pattern - Regex pattern (e.g., "^sw-.*$")
388
+ * @param field - Field to match against (default: 'name')
389
+ * @returns Object with matching items or error
390
+ */
391
+ export function matchByRegex(items, pattern, field = 'name') {
392
+ try {
393
+ const regex = new RegExp(pattern, 'i'); // Case-insensitive
394
+ const matched = items.filter(item => {
395
+ const value = String(item[field] || '');
396
+ return regex.test(value);
397
+ });
398
+ return { items: matched };
399
+ }
400
+ catch (error) {
401
+ return {
402
+ items: [],
403
+ error: error instanceof Error ? error.message : String(error),
404
+ };
405
+ }
406
+ }
407
+ /**
408
+ * Validate regex pattern
409
+ *
410
+ * @param pattern - Pattern to validate
411
+ * @returns True if valid, error message if invalid
412
+ */
413
+ export function validateRegex(pattern) {
414
+ try {
415
+ new RegExp(pattern);
416
+ return true;
417
+ }
418
+ catch (error) {
419
+ return error instanceof Error ? error.message : 'Invalid regex';
420
+ }
421
+ }
422
+ // ============================================================================
423
+ // Preview & Display
424
+ // ============================================================================
425
+ /**
426
+ * Show selection preview table
427
+ *
428
+ * @param items - Items to preview
429
+ * @param strings - I18n strings
430
+ * @param limit - Maximum items to show
431
+ */
432
+ function showPreview(items, strings, limit = 20) {
433
+ console.log(chalk.blue(`\n📋 ${strings.previewHeader}:\n`));
434
+ const header = `${chalk.bold('Name')}${' '.repeat(45)}${chalk.bold('Value/Path')}`;
435
+ console.log(header);
436
+ console.log('-'.repeat(80));
437
+ items.slice(0, limit).forEach(item => {
438
+ const name = (item.name.length > 45
439
+ ? item.name.slice(0, 42) + '...'
440
+ : item.name).padEnd(50);
441
+ const value = item.path || item.value;
442
+ console.log(`${name}${value}`);
443
+ });
444
+ if (items.length > limit) {
445
+ const moreText = strings.previewMore.replace('{count}', String(items.length - limit));
446
+ console.log(chalk.gray(`\n... ${moreText}\n`));
447
+ }
448
+ else {
449
+ console.log('');
450
+ }
451
+ }
452
+ // ============================================================================
453
+ // Main Selection Prompt
454
+ // ============================================================================
455
+ /**
456
+ * Main selection prompt - unified across all platforms
457
+ *
458
+ * @param options - Selection options
459
+ * @returns Selection result
460
+ */
461
+ export async function promptSelection(options) {
462
+ const { items, itemType, sourceName, language = 'en', showAllOption = true, showPreview: shouldShowPreview = true, previewLimit = 20, manualEntryValidator, uppercaseManualEntry = false, matchField = 'name', } = options;
463
+ const strings = getSelectionStrings(language);
464
+ // Header
465
+ console.log(chalk.blue(`\n🔗 ${strings.header}\n`));
466
+ if (sourceName) {
467
+ console.log(chalk.gray(` ${strings.source}: ${sourceName}`));
468
+ }
469
+ console.log(chalk.gray(` ${strings.available}: ${items.length} ${itemType}\n`));
470
+ if (items.length === 0) {
471
+ console.log(chalk.yellow(`⚠️ No ${itemType} found.\n`));
472
+ return { strategy: 'all', items: [], cancelled: true };
473
+ }
474
+ // Build strategy choices
475
+ const strategyChoices = [];
476
+ if (showAllOption) {
477
+ strategyChoices.push({
478
+ name: `${chalk.green('✓')} ${strings.allOption} ${chalk.gray(`- ${strings.allDescription}`)}`,
479
+ value: 'all',
480
+ });
481
+ }
482
+ strategyChoices.push({
483
+ name: `${strings.patternGlobOption} ${chalk.gray(`- ${strings.patternGlobDescription}`)}`,
484
+ value: 'pattern-glob',
485
+ }, {
486
+ name: `${strings.patternRegexOption} ${chalk.gray(`- ${strings.patternRegexDescription}`)}`,
487
+ value: 'pattern-regex',
488
+ }, {
489
+ name: `${strings.selectSpecificOption} ${chalk.gray(`- ${strings.selectSpecificDescription}`)}`,
490
+ value: 'select-specific',
491
+ }, {
492
+ name: `${strings.manualEntryOption} ${chalk.gray(`- ${strings.manualEntryDescription}`)}`,
493
+ value: 'manual-entry',
494
+ });
495
+ // Prompt for strategy
496
+ const strategy = await select({
497
+ message: `${strings.strategyQuestion} ${itemType}?`,
498
+ choices: strategyChoices,
499
+ default: showAllOption ? 'all' : 'pattern-glob',
500
+ });
501
+ let selectedItems = [];
502
+ let pattern;
503
+ // Execute strategy
504
+ switch (strategy) {
505
+ case 'all': {
506
+ selectedItems = [...items];
507
+ break;
508
+ }
509
+ case 'pattern-glob': {
510
+ // Show example items for context
511
+ const exampleNames = items.slice(0, 3).map(i => i.name);
512
+ const exampleHint = exampleNames.length > 0
513
+ ? ` (examples: ${exampleNames.join(', ')}...)`
514
+ : '';
515
+ console.log(chalk.gray(`\n💡 ${strings.patternGlobHint}`));
516
+ console.log(chalk.gray(` ${strings.patternShortcutsHint}\n`));
517
+ pattern = await input({
518
+ message: `${strings.patternPrompt}${exampleHint}:`,
519
+ validate: (value) => {
520
+ if (!value.trim())
521
+ return strings.patternRequired;
522
+ return true;
523
+ },
524
+ });
525
+ selectedItems = matchByGlob(items, pattern.trim(), matchField);
526
+ if (selectedItems.length === 0) {
527
+ console.log(chalk.yellow(`\n⚠️ ${strings.noMatches.replace('{pattern}', pattern)}\n`));
528
+ const retry = await confirm({
529
+ message: strings.tryAgain,
530
+ default: true,
531
+ });
532
+ if (retry) {
533
+ return promptSelection(options); // Recursive retry
534
+ }
535
+ return { strategy, items: [], pattern, cancelled: true };
536
+ }
537
+ break;
538
+ }
539
+ case 'pattern-regex': {
540
+ console.log(chalk.gray(`\n💡 ${strings.patternRegexHint}\n`));
541
+ pattern = await input({
542
+ message: `${strings.patternPrompt}:`,
543
+ validate: (value) => {
544
+ if (!value.trim())
545
+ return strings.patternRequired;
546
+ const validation = validateRegex(value.trim());
547
+ if (validation !== true) {
548
+ return strings.invalidRegex.replace('{error}', validation);
549
+ }
550
+ return true;
551
+ },
552
+ });
553
+ const regexResult = matchByRegex(items, pattern.trim(), matchField);
554
+ if (regexResult.error) {
555
+ console.log(chalk.red(`\n❌ ${strings.invalidRegex.replace('{error}', regexResult.error)}\n`));
556
+ return { strategy, items: [], pattern, cancelled: true };
557
+ }
558
+ selectedItems = regexResult.items;
559
+ if (selectedItems.length === 0) {
560
+ console.log(chalk.yellow(`\n⚠️ ${strings.noMatches.replace('{pattern}', pattern)}\n`));
561
+ const retry = await confirm({
562
+ message: strings.tryAgain,
563
+ default: true,
564
+ });
565
+ if (retry) {
566
+ return promptSelection(options); // Recursive retry
567
+ }
568
+ return { strategy, items: [], pattern, cancelled: true };
569
+ }
570
+ break;
571
+ }
572
+ case 'select-specific': {
573
+ const checkboxChoices = items.map(item => ({
574
+ name: item.path ? `${item.name} ${chalk.gray(`(${item.path})`)}` : item.name,
575
+ value: item,
576
+ checked: false, // User explicitly selects
577
+ }));
578
+ selectedItems = await checkbox({
579
+ message: strings.checkboxPrompt,
580
+ choices: checkboxChoices,
581
+ pageSize: 15,
582
+ required: true,
583
+ });
584
+ if (selectedItems.length === 0) {
585
+ console.log(chalk.yellow(`\n⚠️ No ${itemType} selected.\n`));
586
+ return { strategy, items: [], cancelled: true };
587
+ }
588
+ break;
589
+ }
590
+ case 'manual-entry': {
591
+ console.log(chalk.gray(`\n💡 ${strings.manualEntryHint}\n`));
592
+ const entryInput = await input({
593
+ message: strings.manualEntryPrompt,
594
+ validate: (value) => {
595
+ if (!value.trim())
596
+ return strings.entryRequired;
597
+ if (manualEntryValidator) {
598
+ return manualEntryValidator(value);
599
+ }
600
+ return true;
601
+ },
602
+ });
603
+ // Parse comma-separated entries
604
+ let entries = entryInput.split(',').map(s => s.trim()).filter(Boolean);
605
+ if (uppercaseManualEntry) {
606
+ entries = entries.map(e => e.toUpperCase());
607
+ }
608
+ // Match against available items
609
+ const entrySet = new Set(entries.map(e => e.toLowerCase()));
610
+ selectedItems = items.filter(item => {
611
+ const name = String(item[matchField] || item.name).toLowerCase();
612
+ return entrySet.has(name);
613
+ });
614
+ // Also create items for entries not found (for manual entry flexibility)
615
+ const foundNames = new Set(selectedItems.map(i => String(i[matchField] || i.name).toLowerCase()));
616
+ const notFoundEntries = entries.filter(e => !foundNames.has(e.toLowerCase()));
617
+ if (notFoundEntries.length > 0) {
618
+ console.log(chalk.yellow(`\n⚠️ Not found in list: ${notFoundEntries.join(', ')}`));
619
+ console.log(chalk.gray(` These will be used as-is (if valid).\n`));
620
+ // Add not-found entries as new items (for flexibility)
621
+ for (const entry of notFoundEntries) {
622
+ selectedItems.push({
623
+ name: entry,
624
+ value: entry,
625
+ });
626
+ }
627
+ }
628
+ if (selectedItems.length === 0) {
629
+ console.log(chalk.yellow(`\n⚠️ No valid ${itemType} found.\n`));
630
+ return { strategy, items: [], cancelled: true };
631
+ }
632
+ break;
633
+ }
634
+ }
635
+ // Show preview
636
+ if (shouldShowPreview && selectedItems.length > 0) {
637
+ showPreview(selectedItems, strings, previewLimit);
638
+ }
639
+ // Confirm selection
640
+ const confirmMessage = strings.confirmSelection
641
+ .replace('{count}', String(selectedItems.length))
642
+ .replace('{itemType}', itemType);
643
+ const confirmed = await confirm({
644
+ message: confirmMessage,
645
+ default: true,
646
+ });
647
+ if (!confirmed) {
648
+ console.log(chalk.gray(`\n✓ ${strings.cancelled}\n`));
649
+ return { strategy, items: [], pattern, cancelled: true };
650
+ }
651
+ const selectedMessage = strings.selected
652
+ .replace('{count}', String(selectedItems.length))
653
+ .replace('{itemType}', itemType);
654
+ console.log(chalk.green(`\n✅ ${selectedMessage}\n`));
655
+ return {
656
+ strategy,
657
+ items: selectedItems,
658
+ pattern,
659
+ cancelled: false,
660
+ };
661
+ }
662
+ // ============================================================================
663
+ // Convenience Functions for Specific Platforms
664
+ // ============================================================================
665
+ /**
666
+ * Convert array of strings to SelectableItem array
667
+ */
668
+ export function toSelectableItems(items) {
669
+ return items.map(item => ({
670
+ name: item,
671
+ value: item,
672
+ }));
673
+ }
674
+ /**
675
+ * Convert array of objects with name/value to SelectableItem array
676
+ */
677
+ export function toSelectableItemsFromObjects(items, valueField = 'name') {
678
+ return items.map(item => ({
679
+ name: item.name,
680
+ value: String(item[valueField]),
681
+ metadata: item,
682
+ }));
683
+ }
684
+ //# sourceMappingURL=selection-strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection-strategy.js","sourceRoot":"","sources":["../../../../src/cli/helpers/selection-strategy.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "0.28.49",
3
+ "version": "0.28.50",
4
4
  "description": "Spec-driven development framework for Claude Code. AI-native workflow with living documentation, intelligent agents, and multilingual support (9 languages). Enterprise-grade traceability with permanent specs and temporary increments.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",