specweave 0.23.10 → 0.23.14
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.
- package/.claude-plugin/marketplace.json +7 -7
- package/CLAUDE.md +384 -1449
- package/dist/src/cli/commands/cleanup-cache.d.ts +14 -0
- package/dist/src/cli/commands/cleanup-cache.d.ts.map +1 -0
- package/dist/src/cli/commands/cleanup-cache.js +63 -0
- package/dist/src/cli/commands/cleanup-cache.js.map +1 -0
- package/dist/src/cli/commands/init.js +40 -0
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/helpers/async-project-loader.d.ts +148 -0
- package/dist/src/cli/helpers/async-project-loader.d.ts.map +1 -0
- package/dist/src/cli/helpers/async-project-loader.js +351 -0
- package/dist/src/cli/helpers/async-project-loader.js.map +1 -0
- package/dist/src/cli/helpers/cancelation-handler.d.ts +123 -0
- package/dist/src/cli/helpers/cancelation-handler.d.ts.map +1 -0
- package/dist/src/cli/helpers/cancelation-handler.js +187 -0
- package/dist/src/cli/helpers/cancelation-handler.js.map +1 -0
- package/dist/src/cli/helpers/import-strategy-prompter.d.ts +43 -0
- package/dist/src/cli/helpers/import-strategy-prompter.d.ts.map +1 -0
- package/dist/src/cli/helpers/import-strategy-prompter.js +136 -0
- package/dist/src/cli/helpers/import-strategy-prompter.js.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/ado.d.ts +5 -2
- package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/ado.js +90 -40
- package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/jira.d.ts +2 -1
- package/dist/src/cli/helpers/issue-tracker/jira.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/jira.js +120 -35
- package/dist/src/cli/helpers/issue-tracker/jira.js.map +1 -1
- package/dist/src/cli/helpers/progress-tracker.d.ts +121 -0
- package/dist/src/cli/helpers/progress-tracker.d.ts.map +1 -0
- package/dist/src/cli/helpers/progress-tracker.js +202 -0
- package/dist/src/cli/helpers/progress-tracker.js.map +1 -0
- package/dist/src/cli/helpers/project-count-fetcher.d.ts +69 -0
- package/dist/src/cli/helpers/project-count-fetcher.d.ts.map +1 -0
- package/dist/src/cli/helpers/project-count-fetcher.js +173 -0
- package/dist/src/cli/helpers/project-count-fetcher.js.map +1 -0
- package/dist/src/config/types.d.ts +14 -14
- package/dist/src/core/cache/cache-manager.d.ts +119 -0
- package/dist/src/core/cache/cache-manager.d.ts.map +1 -0
- package/dist/src/core/cache/cache-manager.js +304 -0
- package/dist/src/core/cache/cache-manager.js.map +1 -0
- package/dist/src/core/cache/rate-limit-checker.d.ts +92 -0
- package/dist/src/core/cache/rate-limit-checker.d.ts.map +1 -0
- package/dist/src/core/cache/rate-limit-checker.js +160 -0
- package/dist/src/core/cache/rate-limit-checker.js.map +1 -0
- package/dist/src/core/progress/cancelation-handler.d.ts +79 -0
- package/dist/src/core/progress/cancelation-handler.d.ts.map +1 -0
- package/dist/src/core/progress/cancelation-handler.js +111 -0
- package/dist/src/core/progress/cancelation-handler.js.map +1 -0
- package/dist/src/core/progress/error-logger.d.ts +58 -0
- package/dist/src/core/progress/error-logger.d.ts.map +1 -0
- package/dist/src/core/progress/error-logger.js +99 -0
- package/dist/src/core/progress/error-logger.js.map +1 -0
- package/dist/src/core/progress/import-state.d.ts +71 -0
- package/dist/src/core/progress/import-state.d.ts.map +1 -0
- package/dist/src/core/progress/import-state.js +96 -0
- package/dist/src/core/progress/import-state.js.map +1 -0
- package/dist/src/core/progress/progress-tracker.d.ts +139 -0
- package/dist/src/core/progress/progress-tracker.d.ts.map +1 -0
- package/dist/src/core/progress/progress-tracker.js +223 -0
- package/dist/src/core/progress/progress-tracker.js.map +1 -0
- package/dist/src/init/architecture/types.d.ts +6 -6
- package/dist/src/integrations/ado/ado-client.d.ts +25 -0
- package/dist/src/integrations/ado/ado-client.d.ts.map +1 -1
- package/dist/src/integrations/ado/ado-client.js +67 -0
- package/dist/src/integrations/ado/ado-client.js.map +1 -1
- package/dist/src/integrations/ado/ado-dependency-loader.d.ts +99 -0
- package/dist/src/integrations/ado/ado-dependency-loader.d.ts.map +1 -0
- package/dist/src/integrations/ado/ado-dependency-loader.js +207 -0
- package/dist/src/integrations/ado/ado-dependency-loader.js.map +1 -0
- package/dist/src/integrations/jira/jira-client.d.ts +32 -0
- package/dist/src/integrations/jira/jira-client.d.ts.map +1 -1
- package/dist/src/integrations/jira/jira-client.js +81 -0
- package/dist/src/integrations/jira/jira-client.js.map +1 -1
- package/dist/src/integrations/jira/jira-dependency-loader.d.ts +101 -0
- package/dist/src/integrations/jira/jira-dependency-loader.d.ts.map +1 -0
- package/dist/src/integrations/jira/jira-dependency-loader.js +200 -0
- package/dist/src/integrations/jira/jira-dependency-loader.js.map +1 -0
- package/package.json +1 -1
- package/plugins/specweave/.claude-plugin/plugin.json +20 -0
- package/plugins/specweave/agents/architect/AGENT.md +100 -602
- package/plugins/specweave/agents/pm/AGENT.md +96 -597
- package/plugins/specweave/agents/pm/AGENT.md.bak +1893 -0
- package/plugins/specweave/agents/pm/AGENT.md.bak2 +1754 -0
- package/plugins/specweave/commands/check-hooks.md +257 -0
- package/plugins/specweave/hooks/docs-changed.sh +9 -1
- package/plugins/specweave/hooks/docs-changed.sh.backup +79 -0
- package/plugins/specweave/hooks/human-input-required.sh +9 -1
- package/plugins/specweave/hooks/human-input-required.sh.backup +75 -0
- package/plugins/specweave/hooks/post-edit-spec.sh +202 -31
- package/plugins/specweave/hooks/post-first-increment.sh.backup +61 -0
- package/plugins/specweave/hooks/post-increment-change.sh +6 -1
- package/plugins/specweave/hooks/post-increment-change.sh.backup +98 -0
- package/plugins/specweave/hooks/post-increment-completion.sh +6 -1
- package/plugins/specweave/hooks/post-increment-completion.sh.backup +231 -0
- package/plugins/specweave/hooks/post-increment-planning.sh +6 -1
- package/plugins/specweave/hooks/post-increment-planning.sh.backup +1048 -0
- package/plugins/specweave/hooks/post-increment-status-change.sh +6 -1
- package/plugins/specweave/hooks/post-increment-status-change.sh.backup +147 -0
- package/plugins/specweave/hooks/post-metadata-change.sh +7 -1
- package/plugins/specweave/hooks/post-spec-update.sh.backup +158 -0
- package/plugins/specweave/hooks/post-task-completion.sh +225 -228
- package/plugins/specweave/hooks/post-user-story-complete.sh.backup +179 -0
- package/plugins/specweave/hooks/post-write-spec.sh +207 -31
- package/plugins/specweave/hooks/pre-command-deduplication.sh.backup +83 -0
- package/plugins/specweave/hooks/pre-edit-spec.sh +151 -0
- package/plugins/specweave/hooks/pre-implementation.sh +9 -1
- package/plugins/specweave/hooks/pre-implementation.sh.backup +67 -0
- package/plugins/specweave/hooks/pre-task-completion.sh +14 -8
- package/plugins/specweave/hooks/pre-task-completion.sh.backup +194 -0
- package/plugins/specweave/hooks/pre-tool-use.sh +9 -1
- package/plugins/specweave/hooks/pre-tool-use.sh.backup +133 -0
- package/plugins/specweave/hooks/pre-write-spec.sh +151 -0
- package/plugins/specweave/hooks/test-pretooluse-env.sh +72 -0
- package/plugins/specweave/hooks/user-prompt-submit.sh.backup +386 -0
- package/plugins/specweave/skills/compliance-architecture/SKILL.md +374 -0
- package/plugins/specweave/skills/external-sync-wizard/SKILL.md +610 -0
- package/plugins/specweave/skills/pm-closure-validation/SKILL.md +541 -0
- package/plugins/specweave/skills/roadmap-planner/SKILL.md +473 -0
- package/plugins/specweave-ado/commands/refresh-cache.js +25 -0
- package/plugins/specweave-ado/commands/refresh-cache.ts +40 -0
- package/plugins/specweave-ado/hooks/post-living-docs-update.sh +9 -2
- package/plugins/specweave-ado/hooks/post-living-docs-update.sh.backup +353 -0
- package/plugins/specweave-ado/hooks/post-task-completion.sh +10 -2
- package/plugins/specweave-ado/hooks/post-task-completion.sh.backup +172 -0
- package/plugins/specweave-github/hooks/post-task-completion.sh +10 -2
- package/plugins/specweave-github/hooks/post-task-completion.sh.backup +258 -0
- package/plugins/specweave-jira/commands/refresh-cache.js +25 -0
- package/plugins/specweave-jira/commands/refresh-cache.ts +40 -0
- package/plugins/specweave-jira/hooks/post-task-completion.sh +10 -2
- package/plugins/specweave-jira/hooks/post-task-completion.sh.backup +172 -0
- package/plugins/specweave-kafka-streams/commands/topology.md +437 -0
- package/plugins/specweave-n8n/commands/workflow-template.md +262 -0
- package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +252 -6465
- package/plugins/specweave-release/hooks/post-task-completion.sh.backup +110 -0
|
@@ -50,54 +50,138 @@ export async function checkExistingJiraCredentials(projectPath) {
|
|
|
50
50
|
return null;
|
|
51
51
|
}
|
|
52
52
|
/**
|
|
53
|
-
* Auto-discover Jira projects via API
|
|
53
|
+
* Auto-discover Jira projects via API with CLI-first smart pagination and cache support
|
|
54
|
+
*
|
|
55
|
+
* NEW (v0.24.0): Uses ProjectCountFetcher + ImportStrategyPrompter + AsyncProjectLoader + CacheManager
|
|
56
|
+
* - Checks cache first (24-hour TTL)
|
|
57
|
+
* - Counts projects first (< 1 second) if cache miss
|
|
58
|
+
* - Prompts for import strategy (import-all is default)
|
|
59
|
+
* - Uses smart pagination (50-project batches) for large imports
|
|
60
|
+
* - Caches results for future use
|
|
54
61
|
*
|
|
55
62
|
* @param credentials - Partial credentials (domain, email, token)
|
|
63
|
+
* @param projectRoot - Project root path (for cache manager)
|
|
56
64
|
* @returns Array of selected project keys
|
|
57
65
|
*/
|
|
58
|
-
async function autoDiscoverJiraProjects(credentials) {
|
|
59
|
-
|
|
66
|
+
async function autoDiscoverJiraProjects(credentials, projectRoot) {
|
|
67
|
+
// Step 0: Check cache first (NEW in v0.24.0)
|
|
68
|
+
if (projectRoot) {
|
|
69
|
+
const { CacheManager } = await import('../../../core/cache/cache-manager.js');
|
|
70
|
+
const cacheManager = new CacheManager(projectRoot);
|
|
71
|
+
const cacheKey = `jira-projects-${credentials.domain}`;
|
|
72
|
+
const cachedProjects = await cacheManager.get(cacheKey);
|
|
73
|
+
if (cachedProjects && cachedProjects.length > 0) {
|
|
74
|
+
console.log(chalk.cyan('✨ Using cached project list (24h TTL)\n'));
|
|
75
|
+
return cachedProjects;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
// Step 1: Count check (< 1 second)
|
|
79
|
+
const { getProjectCount } = await import('../project-count-fetcher.js');
|
|
80
|
+
const countSpinner = ora('Checking accessible Jira projects...').start();
|
|
60
81
|
try {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
// Fetch all projects
|
|
69
|
-
const response = await fetch(projectsEndpoint, {
|
|
70
|
-
headers: {
|
|
71
|
-
'Authorization': `Basic ${auth}`,
|
|
72
|
-
'Accept': 'application/json'
|
|
82
|
+
const countResult = await getProjectCount({
|
|
83
|
+
provider: 'jira',
|
|
84
|
+
credentials: {
|
|
85
|
+
domain: credentials.domain,
|
|
86
|
+
email: credentials.email,
|
|
87
|
+
token: credentials.token,
|
|
88
|
+
instanceType: credentials.instanceType
|
|
73
89
|
}
|
|
74
90
|
});
|
|
75
|
-
if (
|
|
76
|
-
|
|
77
|
-
|
|
91
|
+
if (countResult.error) {
|
|
92
|
+
countSpinner.fail('Failed to check project count');
|
|
93
|
+
console.error(chalk.red(` Error: ${countResult.error}\n`));
|
|
94
|
+
throw new Error(countResult.error);
|
|
78
95
|
}
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
if (
|
|
96
|
+
const totalCount = countResult.accessible;
|
|
97
|
+
countSpinner.succeed(`Found ${totalCount} accessible project(s)`);
|
|
98
|
+
if (totalCount === 0) {
|
|
82
99
|
console.log(chalk.yellow('\n⚠️ No accessible projects found.'));
|
|
83
100
|
console.log(chalk.gray(' Please check your permissions or create a project first.\n'));
|
|
84
101
|
return [];
|
|
85
102
|
}
|
|
86
|
-
//
|
|
87
|
-
const {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
choices: allProjects.map((p) => ({
|
|
92
|
-
name: `${p.key} - ${p.name}`,
|
|
93
|
-
value: p.key,
|
|
94
|
-
checked: false // User must explicitly select
|
|
95
|
-
}))
|
|
103
|
+
// Step 2: Prompt for import strategy (CLI-first: "Import all" is default)
|
|
104
|
+
const { promptImportStrategy } = await import('../import-strategy-prompter.js');
|
|
105
|
+
const strategyResult = await promptImportStrategy({
|
|
106
|
+
totalCount,
|
|
107
|
+
provider: 'jira'
|
|
96
108
|
});
|
|
109
|
+
// Step 3: Execute based on strategy
|
|
110
|
+
let selectedProjects = [];
|
|
111
|
+
if (strategyResult.strategy === 'manual-entry') {
|
|
112
|
+
// Manual entry: return provided keys
|
|
113
|
+
selectedProjects = strategyResult.projectKeys || [];
|
|
114
|
+
}
|
|
115
|
+
else if (strategyResult.strategy === 'import-all') {
|
|
116
|
+
// Import all: use AsyncProjectLoader with smart pagination
|
|
117
|
+
const { AsyncProjectLoader } = await import('../async-project-loader.js');
|
|
118
|
+
const loader = new AsyncProjectLoader({
|
|
119
|
+
domain: credentials.domain,
|
|
120
|
+
email: credentials.email,
|
|
121
|
+
token: credentials.token,
|
|
122
|
+
instanceType: credentials.instanceType
|
|
123
|
+
}, 'jira', {
|
|
124
|
+
batchSize: 50,
|
|
125
|
+
updateFrequency: 5,
|
|
126
|
+
showEta: true
|
|
127
|
+
});
|
|
128
|
+
const result = await loader.fetchAllProjects(totalCount);
|
|
129
|
+
if (result.canceled) {
|
|
130
|
+
console.log(chalk.yellow('\n⚠️ Import canceled by user. Returning partial results.\n'));
|
|
131
|
+
}
|
|
132
|
+
if (result.failed > 0) {
|
|
133
|
+
console.log(chalk.yellow(`\n⚠️ ${result.failed} project(s) failed to load. Check logs for details.\n`));
|
|
134
|
+
console.log(chalk.gray(' Error log: .specweave/logs/import-errors.log\n'));
|
|
135
|
+
}
|
|
136
|
+
// Get project keys
|
|
137
|
+
selectedProjects = result.projects.map(p => p.key);
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
// Select specific: load first 50 projects, show checkbox with all pre-checked
|
|
141
|
+
const spinner = ora('Loading first 50 projects...').start();
|
|
142
|
+
try {
|
|
143
|
+
const { AsyncProjectLoader } = await import('../async-project-loader.js');
|
|
144
|
+
const loader = new AsyncProjectLoader({
|
|
145
|
+
domain: credentials.domain,
|
|
146
|
+
email: credentials.email,
|
|
147
|
+
token: credentials.token,
|
|
148
|
+
instanceType: credentials.instanceType
|
|
149
|
+
}, 'jira');
|
|
150
|
+
// Load first 50 projects
|
|
151
|
+
const firstBatch = await loader.fetchBatch(0, Math.min(50, totalCount));
|
|
152
|
+
spinner.succeed(`Loaded ${firstBatch.length} project(s)`);
|
|
153
|
+
// Show checkbox with ALL pre-checked (CLI-first: deselection workflow)
|
|
154
|
+
const { selectedProjects: selected } = await inquirer.prompt({
|
|
155
|
+
type: 'checkbox',
|
|
156
|
+
name: 'selectedProjects',
|
|
157
|
+
message: 'Select Jira projects to sync (Space to deselect, Enter to confirm):',
|
|
158
|
+
choices: firstBatch.map((p) => ({
|
|
159
|
+
name: `${p.key} - ${p.name}`,
|
|
160
|
+
value: p.key,
|
|
161
|
+
checked: true // CLI-first: all pre-checked by default
|
|
162
|
+
}))
|
|
163
|
+
});
|
|
164
|
+
selectedProjects = selected;
|
|
165
|
+
}
|
|
166
|
+
catch (error) {
|
|
167
|
+
spinner.fail('Failed to load projects');
|
|
168
|
+
console.error(chalk.red(` Error: ${error.message}\n`));
|
|
169
|
+
throw error;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
// Step 4: Cache the results (NEW in v0.24.0)
|
|
173
|
+
if (projectRoot && selectedProjects.length > 0) {
|
|
174
|
+
const { CacheManager } = await import('../../../core/cache/cache-manager.js');
|
|
175
|
+
const cacheManager = new CacheManager(projectRoot);
|
|
176
|
+
const cacheKey = `jira-projects-${credentials.domain}`;
|
|
177
|
+
await cacheManager.set(cacheKey, selectedProjects);
|
|
178
|
+
}
|
|
97
179
|
return selectedProjects;
|
|
98
180
|
}
|
|
99
181
|
catch (error) {
|
|
100
|
-
|
|
182
|
+
if (countSpinner.isSpinning) {
|
|
183
|
+
countSpinner.fail('Failed to discover projects');
|
|
184
|
+
}
|
|
101
185
|
console.error(chalk.red(` Error: ${error.message}\n`));
|
|
102
186
|
throw error;
|
|
103
187
|
}
|
|
@@ -110,9 +194,10 @@ async function autoDiscoverJiraProjects(credentials) {
|
|
|
110
194
|
* - Jira Server/Data Center (self-hosted)
|
|
111
195
|
*
|
|
112
196
|
* @param language - User's language
|
|
197
|
+
* @param projectRoot - Project root path (optional, for cache manager)
|
|
113
198
|
* @returns Credentials or null if skipped
|
|
114
199
|
*/
|
|
115
|
-
export async function promptJiraCredentials(language) {
|
|
200
|
+
export async function promptJiraCredentials(language, projectRoot) {
|
|
116
201
|
const locale = getLocaleManager(language);
|
|
117
202
|
console.log(chalk.white('\n📋 Jira Integration Setup\n'));
|
|
118
203
|
console.log(chalk.gray('SpecWeave will sync increments with Jira Issues.\n'));
|
|
@@ -200,13 +285,13 @@ export async function promptJiraCredentials(language) {
|
|
|
200
285
|
];
|
|
201
286
|
// Get basic credentials first
|
|
202
287
|
const answers = await inquirer.prompt(questions);
|
|
203
|
-
// Auto-discover projects using the credentials
|
|
288
|
+
// Auto-discover projects using the credentials (with cache support)
|
|
204
289
|
const selectedProjects = await autoDiscoverJiraProjects({
|
|
205
290
|
domain: answers.domain,
|
|
206
291
|
email: answers.email,
|
|
207
292
|
token: answers.token,
|
|
208
293
|
instanceType: instanceType
|
|
209
|
-
});
|
|
294
|
+
}, projectRoot);
|
|
210
295
|
if (selectedProjects.length === 0) {
|
|
211
296
|
console.log(chalk.yellow('⏭️ No projects selected. Jira setup cancelled.\n'));
|
|
212
297
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jira.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/issue-tracker/jira.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jira.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/issue-tracker/jira.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Progress Tracker
|
|
3
|
+
*
|
|
4
|
+
* Real-time progress tracking with percentage, ETA estimation, and final summary.
|
|
5
|
+
* Optimized for CLI workflows with throttled updates to prevent console spam.
|
|
6
|
+
*
|
|
7
|
+
* @module cli/helpers/progress-tracker
|
|
8
|
+
*/
|
|
9
|
+
import { Logger } from '../../utils/logger.js';
|
|
10
|
+
/**
|
|
11
|
+
* Progress tracker options
|
|
12
|
+
*/
|
|
13
|
+
export interface ProgressOptions {
|
|
14
|
+
total: number;
|
|
15
|
+
updateFrequency?: number;
|
|
16
|
+
showEta?: boolean;
|
|
17
|
+
progressBarWidth?: number;
|
|
18
|
+
logger?: Logger;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Item status for progress tracking
|
|
22
|
+
*/
|
|
23
|
+
export type ItemStatus = 'success' | 'failure' | 'skip';
|
|
24
|
+
/**
|
|
25
|
+
* Progress summary
|
|
26
|
+
*/
|
|
27
|
+
export interface ProgressSummary {
|
|
28
|
+
total: number;
|
|
29
|
+
completed: number;
|
|
30
|
+
succeeded: number;
|
|
31
|
+
failed: number;
|
|
32
|
+
skipped: number;
|
|
33
|
+
elapsed: number;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Progress Tracker
|
|
37
|
+
*
|
|
38
|
+
* Tracks batch operation progress with:
|
|
39
|
+
* - Real-time percentage updates
|
|
40
|
+
* - ETA estimation (rolling average of last 10 items)
|
|
41
|
+
* - Throttled console updates (every N items)
|
|
42
|
+
* - Final summary (succeeded/failed/skipped counts)
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* const tracker = new ProgressTracker({ total: 127, updateFrequency: 5 });
|
|
47
|
+
*
|
|
48
|
+
* for (const project of projects) {
|
|
49
|
+
* try {
|
|
50
|
+
* await importProject(project);
|
|
51
|
+
* tracker.update(project.key, 'success');
|
|
52
|
+
* } catch (error) {
|
|
53
|
+
* tracker.update(project.key, 'failure');
|
|
54
|
+
* }
|
|
55
|
+
* }
|
|
56
|
+
*
|
|
57
|
+
* tracker.finish();
|
|
58
|
+
* // Output: ✅ Imported 125/127 projects (2 failed, 0 skipped) in 28s
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export declare class ProgressTracker {
|
|
62
|
+
private total;
|
|
63
|
+
private updateFrequency;
|
|
64
|
+
private showEta;
|
|
65
|
+
private progressBarWidth;
|
|
66
|
+
private logger;
|
|
67
|
+
private completed;
|
|
68
|
+
private succeeded;
|
|
69
|
+
private failed;
|
|
70
|
+
private skipped;
|
|
71
|
+
private startTime;
|
|
72
|
+
private lastUpdateTime;
|
|
73
|
+
private itemTimestamps;
|
|
74
|
+
private lastRenderedProgress;
|
|
75
|
+
constructor(options: ProgressOptions);
|
|
76
|
+
/**
|
|
77
|
+
* Update progress with item result
|
|
78
|
+
*
|
|
79
|
+
* @param item - Item identifier (e.g., project key)
|
|
80
|
+
* @param status - Item status (success, failure, skip)
|
|
81
|
+
*/
|
|
82
|
+
update(item: string, status: ItemStatus): void;
|
|
83
|
+
/**
|
|
84
|
+
* Render progress bar to console
|
|
85
|
+
*/
|
|
86
|
+
private render;
|
|
87
|
+
/**
|
|
88
|
+
* Generate ASCII progress bar
|
|
89
|
+
*
|
|
90
|
+
* @param percentage - Completion percentage (0-100)
|
|
91
|
+
* @returns ASCII progress bar string
|
|
92
|
+
*/
|
|
93
|
+
private getProgressBar;
|
|
94
|
+
/**
|
|
95
|
+
* Calculate ETA using rolling average
|
|
96
|
+
*
|
|
97
|
+
* @returns ETA string (e.g., "~2m remaining") or empty if not enough data
|
|
98
|
+
*/
|
|
99
|
+
private getEta;
|
|
100
|
+
/**
|
|
101
|
+
* Finish tracking and show final summary
|
|
102
|
+
*/
|
|
103
|
+
finish(): void;
|
|
104
|
+
/**
|
|
105
|
+
* Cancel tracking (for use with cancelation)
|
|
106
|
+
*/
|
|
107
|
+
cancel(): void;
|
|
108
|
+
/**
|
|
109
|
+
* Get current progress summary
|
|
110
|
+
*
|
|
111
|
+
* @returns Progress summary object
|
|
112
|
+
*/
|
|
113
|
+
getSummary(): ProgressSummary;
|
|
114
|
+
/**
|
|
115
|
+
* Get current percentage (for testing)
|
|
116
|
+
*
|
|
117
|
+
* @returns Completion percentage (0-100)
|
|
118
|
+
*/
|
|
119
|
+
getPercentage(): number;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=progress-tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-tracker.d.ts","sourceRoot":"","sources":["../../../../src/cli/helpers/progress-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,MAAM,EAAiB,MAAM,uBAAuB,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,OAAO,CAAK;IAEpB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,cAAc,CAAgB;IAEtC,OAAO,CAAC,oBAAoB,CAAM;gBAEtB,OAAO,EAAE,eAAe;IAWpC;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IA0B9C;;OAEG;IACH,OAAO,CAAC,MAAM;IAgBd;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAUtB;;;;OAIG;IACH,OAAO,CAAC,MAAM;IA+Bd;;OAEG;IACH,MAAM,IAAI,IAAI;IA2Bd;;OAEG;IACH,MAAM,IAAI,IAAI;IAgBd;;;;OAIG;IACH,UAAU,IAAI,eAAe;IAW7B;;;;OAIG;IACH,aAAa,IAAI,MAAM;CAGxB"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Progress Tracker
|
|
3
|
+
*
|
|
4
|
+
* Real-time progress tracking with percentage, ETA estimation, and final summary.
|
|
5
|
+
* Optimized for CLI workflows with throttled updates to prevent console spam.
|
|
6
|
+
*
|
|
7
|
+
* @module cli/helpers/progress-tracker
|
|
8
|
+
*/
|
|
9
|
+
import chalk from 'chalk';
|
|
10
|
+
import { consoleLogger } from '../../utils/logger.js';
|
|
11
|
+
/**
|
|
12
|
+
* Progress Tracker
|
|
13
|
+
*
|
|
14
|
+
* Tracks batch operation progress with:
|
|
15
|
+
* - Real-time percentage updates
|
|
16
|
+
* - ETA estimation (rolling average of last 10 items)
|
|
17
|
+
* - Throttled console updates (every N items)
|
|
18
|
+
* - Final summary (succeeded/failed/skipped counts)
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* const tracker = new ProgressTracker({ total: 127, updateFrequency: 5 });
|
|
23
|
+
*
|
|
24
|
+
* for (const project of projects) {
|
|
25
|
+
* try {
|
|
26
|
+
* await importProject(project);
|
|
27
|
+
* tracker.update(project.key, 'success');
|
|
28
|
+
* } catch (error) {
|
|
29
|
+
* tracker.update(project.key, 'failure');
|
|
30
|
+
* }
|
|
31
|
+
* }
|
|
32
|
+
*
|
|
33
|
+
* tracker.finish();
|
|
34
|
+
* // Output: ✅ Imported 125/127 projects (2 failed, 0 skipped) in 28s
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export class ProgressTracker {
|
|
38
|
+
constructor(options) {
|
|
39
|
+
this.completed = 0;
|
|
40
|
+
this.succeeded = 0;
|
|
41
|
+
this.failed = 0;
|
|
42
|
+
this.skipped = 0;
|
|
43
|
+
this.itemTimestamps = []; // For ETA calculation (rolling average)
|
|
44
|
+
this.lastRenderedProgress = ''; // For clearing previous output
|
|
45
|
+
this.total = options.total;
|
|
46
|
+
this.updateFrequency = options.updateFrequency ?? 5;
|
|
47
|
+
this.showEta = options.showEta ?? true;
|
|
48
|
+
this.progressBarWidth = options.progressBarWidth ?? 30;
|
|
49
|
+
this.logger = options.logger ?? consoleLogger;
|
|
50
|
+
this.startTime = Date.now();
|
|
51
|
+
this.lastUpdateTime = this.startTime;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Update progress with item result
|
|
55
|
+
*
|
|
56
|
+
* @param item - Item identifier (e.g., project key)
|
|
57
|
+
* @param status - Item status (success, failure, skip)
|
|
58
|
+
*/
|
|
59
|
+
update(item, status) {
|
|
60
|
+
this.completed++;
|
|
61
|
+
if (status === 'success') {
|
|
62
|
+
this.succeeded++;
|
|
63
|
+
}
|
|
64
|
+
else if (status === 'failure') {
|
|
65
|
+
this.failed++;
|
|
66
|
+
}
|
|
67
|
+
else if (status === 'skip') {
|
|
68
|
+
this.skipped++;
|
|
69
|
+
}
|
|
70
|
+
// Track timestamp for ETA calculation
|
|
71
|
+
const now = Date.now();
|
|
72
|
+
this.itemTimestamps.push(now);
|
|
73
|
+
// Keep only last 10 timestamps (rolling average)
|
|
74
|
+
if (this.itemTimestamps.length > 10) {
|
|
75
|
+
this.itemTimestamps.shift();
|
|
76
|
+
}
|
|
77
|
+
// Throttle updates: only render every N items
|
|
78
|
+
if (this.completed % this.updateFrequency === 0 || this.completed === this.total) {
|
|
79
|
+
this.render();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Render progress bar to console
|
|
84
|
+
*/
|
|
85
|
+
render() {
|
|
86
|
+
const percentage = Math.floor((this.completed / this.total) * 100);
|
|
87
|
+
const progressBar = this.getProgressBar(percentage);
|
|
88
|
+
const eta = this.showEta ? this.getEta() : '';
|
|
89
|
+
const message = `Fetching projects... ${this.completed}/${this.total} (${percentage}%) ${progressBar}${eta}`;
|
|
90
|
+
// Clear previous line if needed (terminal overwrite)
|
|
91
|
+
if (this.lastRenderedProgress) {
|
|
92
|
+
process.stdout.write('\r\x1b[K'); // Clear line
|
|
93
|
+
}
|
|
94
|
+
process.stdout.write(chalk.cyan(message));
|
|
95
|
+
this.lastRenderedProgress = message;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Generate ASCII progress bar
|
|
99
|
+
*
|
|
100
|
+
* @param percentage - Completion percentage (0-100)
|
|
101
|
+
* @returns ASCII progress bar string
|
|
102
|
+
*/
|
|
103
|
+
getProgressBar(percentage) {
|
|
104
|
+
const filledWidth = Math.floor((percentage / 100) * this.progressBarWidth);
|
|
105
|
+
const emptyWidth = this.progressBarWidth - filledWidth;
|
|
106
|
+
const filled = '='.repeat(Math.max(0, filledWidth - 1)) + (filledWidth > 0 ? '>' : '');
|
|
107
|
+
const empty = ' '.repeat(emptyWidth);
|
|
108
|
+
return `[${filled}${empty}]`;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Calculate ETA using rolling average
|
|
112
|
+
*
|
|
113
|
+
* @returns ETA string (e.g., "~2m remaining") or empty if not enough data
|
|
114
|
+
*/
|
|
115
|
+
getEta() {
|
|
116
|
+
if (this.itemTimestamps.length < 2) {
|
|
117
|
+
return ''; // Not enough data yet
|
|
118
|
+
}
|
|
119
|
+
// Calculate average time per item (rolling average of last 10)
|
|
120
|
+
const timestamps = this.itemTimestamps;
|
|
121
|
+
const intervals = [];
|
|
122
|
+
for (let i = 1; i < timestamps.length; i++) {
|
|
123
|
+
intervals.push(timestamps[i] - timestamps[i - 1]);
|
|
124
|
+
}
|
|
125
|
+
const avgTimePerItem = intervals.reduce((sum, interval) => sum + interval, 0) / intervals.length;
|
|
126
|
+
// Calculate remaining time
|
|
127
|
+
const remaining = this.total - this.completed;
|
|
128
|
+
const estimatedMs = remaining * avgTimePerItem;
|
|
129
|
+
// Format ETA
|
|
130
|
+
const estimatedSec = Math.ceil(estimatedMs / 1000);
|
|
131
|
+
const elapsed = Math.floor((Date.now() - this.startTime) / 1000);
|
|
132
|
+
if (estimatedSec < 60) {
|
|
133
|
+
return ` [${elapsed}s elapsed, ~${estimatedSec}s remaining]`;
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
const estimatedMin = Math.ceil(estimatedSec / 60);
|
|
137
|
+
return ` [${elapsed}s elapsed, ~${estimatedMin}m remaining]`;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Finish tracking and show final summary
|
|
142
|
+
*/
|
|
143
|
+
finish() {
|
|
144
|
+
// Clear progress line
|
|
145
|
+
if (this.lastRenderedProgress) {
|
|
146
|
+
process.stdout.write('\r\x1b[K');
|
|
147
|
+
}
|
|
148
|
+
const elapsed = Math.ceil((Date.now() - this.startTime) / 1000);
|
|
149
|
+
const elapsedStr = elapsed < 60 ? `${elapsed}s` : `${Math.ceil(elapsed / 60)}m`;
|
|
150
|
+
if (this.failed === 0 && this.skipped === 0) {
|
|
151
|
+
// Perfect success
|
|
152
|
+
this.logger.log(chalk.green(`✅ Imported ${this.succeeded}/${this.total} projects in ${elapsedStr}`));
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
// Partial success
|
|
156
|
+
const summary = `✅ Imported ${this.succeeded}/${this.total}`;
|
|
157
|
+
const failures = this.failed > 0 ? chalk.red(`, ${this.failed} failed`) : '';
|
|
158
|
+
const skips = this.skipped > 0 ? chalk.yellow(`, ${this.skipped} skipped`) : '';
|
|
159
|
+
this.logger.log(`${summary}${failures}${skips} in ${elapsedStr}`);
|
|
160
|
+
// Suggest checking error log if failures exist
|
|
161
|
+
if (this.failed > 0) {
|
|
162
|
+
this.logger.log(chalk.yellow('⚠️ Check .specweave/logs/import-errors.log for details'));
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Cancel tracking (for use with cancelation)
|
|
168
|
+
*/
|
|
169
|
+
cancel() {
|
|
170
|
+
// Clear progress line
|
|
171
|
+
if (this.lastRenderedProgress) {
|
|
172
|
+
process.stdout.write('\r\x1b[K');
|
|
173
|
+
}
|
|
174
|
+
const elapsed = Math.ceil((Date.now() - this.startTime) / 1000);
|
|
175
|
+
const percentage = Math.floor((this.completed / this.total) * 100);
|
|
176
|
+
this.logger.log(chalk.yellow(`⚠️ Operation canceled. Imported ${this.completed}/${this.total} projects (${percentage}% complete) in ${elapsed}s`));
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Get current progress summary
|
|
180
|
+
*
|
|
181
|
+
* @returns Progress summary object
|
|
182
|
+
*/
|
|
183
|
+
getSummary() {
|
|
184
|
+
return {
|
|
185
|
+
total: this.total,
|
|
186
|
+
completed: this.completed,
|
|
187
|
+
succeeded: this.succeeded,
|
|
188
|
+
failed: this.failed,
|
|
189
|
+
skipped: this.skipped,
|
|
190
|
+
elapsed: Date.now() - this.startTime
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Get current percentage (for testing)
|
|
195
|
+
*
|
|
196
|
+
* @returns Completion percentage (0-100)
|
|
197
|
+
*/
|
|
198
|
+
getPercentage() {
|
|
199
|
+
return Math.floor((this.completed / this.total) * 100);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
//# sourceMappingURL=progress-tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-tracker.js","sourceRoot":"","sources":["../../../../src/cli/helpers/progress-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project Count Fetcher
|
|
3
|
+
*
|
|
4
|
+
* Lightweight query to get project count without fetching full metadata.
|
|
5
|
+
* Optimized for < 1 second response time with retry logic.
|
|
6
|
+
*
|
|
7
|
+
* @module cli/helpers/project-count-fetcher
|
|
8
|
+
*/
|
|
9
|
+
import { Logger } from '../../utils/logger.js';
|
|
10
|
+
/**
|
|
11
|
+
* Supported issue tracker providers
|
|
12
|
+
*/
|
|
13
|
+
export type ProjectProvider = 'jira' | 'ado';
|
|
14
|
+
/**
|
|
15
|
+
* Jira instance type (Cloud vs Server/Data Center)
|
|
16
|
+
*/
|
|
17
|
+
export type JiraInstanceType = 'cloud' | 'server';
|
|
18
|
+
/**
|
|
19
|
+
* Jira credentials
|
|
20
|
+
*/
|
|
21
|
+
export interface JiraCredentials {
|
|
22
|
+
domain: string;
|
|
23
|
+
email: string;
|
|
24
|
+
token: string;
|
|
25
|
+
instanceType: JiraInstanceType;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Azure DevOps credentials
|
|
29
|
+
*/
|
|
30
|
+
export interface AdoCredentials {
|
|
31
|
+
organization: string;
|
|
32
|
+
pat: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Project count options
|
|
36
|
+
*/
|
|
37
|
+
export interface ProjectCountOptions {
|
|
38
|
+
credentials: JiraCredentials | AdoCredentials;
|
|
39
|
+
provider: ProjectProvider;
|
|
40
|
+
logger?: Logger;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Project count result
|
|
44
|
+
*/
|
|
45
|
+
export interface ProjectCountResult {
|
|
46
|
+
total: number;
|
|
47
|
+
accessible: number;
|
|
48
|
+
error?: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Get project count from issue tracker
|
|
52
|
+
*
|
|
53
|
+
* Performs lightweight count-only query (no metadata fetched).
|
|
54
|
+
* Target response time: < 1 second
|
|
55
|
+
*
|
|
56
|
+
* @param options - Project count options
|
|
57
|
+
* @returns Project count result
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* const result = await getProjectCount({
|
|
62
|
+
* credentials: { domain: 'example.atlassian.net', email: 'user@example.com', token: 'xyz', instanceType: 'cloud' },
|
|
63
|
+
* provider: 'jira'
|
|
64
|
+
* });
|
|
65
|
+
* console.log(`Found ${result.total} projects`);
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export declare function getProjectCount(options: ProjectCountOptions): Promise<ProjectCountResult>;
|
|
69
|
+
//# sourceMappingURL=project-count-fetcher.d.ts.map
|