specweave 0.28.57 → 0.28.61
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/bin/specweave.js +36 -0
- package/dist/src/cli/commands/init.d.ts.map +1 -1
- package/dist/src/cli/commands/init.js +13 -1
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/jobs.d.ts +20 -0
- package/dist/src/cli/commands/jobs.d.ts.map +1 -0
- package/dist/src/cli/commands/jobs.js +448 -0
- package/dist/src/cli/commands/jobs.js.map +1 -0
- package/dist/src/cli/helpers/init/ado-repo-cloning.d.ts +32 -0
- package/dist/src/cli/helpers/init/ado-repo-cloning.d.ts.map +1 -0
- package/dist/src/cli/helpers/init/ado-repo-cloning.js +161 -0
- package/dist/src/cli/helpers/init/ado-repo-cloning.js.map +1 -0
- package/dist/src/cli/helpers/init/external-import.d.ts +18 -1
- package/dist/src/cli/helpers/init/external-import.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/external-import.js +61 -21
- package/dist/src/cli/helpers/init/external-import.js.map +1 -1
- package/dist/src/cli/helpers/selection-strategy.d.ts +28 -0
- package/dist/src/cli/helpers/selection-strategy.d.ts.map +1 -1
- package/dist/src/cli/helpers/selection-strategy.js +48 -0
- package/dist/src/cli/helpers/selection-strategy.js.map +1 -1
- package/dist/src/cli/workers/import-worker.d.ts +18 -0
- package/dist/src/cli/workers/import-worker.d.ts.map +1 -0
- package/dist/src/cli/workers/import-worker.js +268 -0
- package/dist/src/cli/workers/import-worker.js.map +1 -0
- package/dist/src/core/background/index.d.ts +8 -0
- package/dist/src/core/background/index.d.ts.map +1 -1
- package/dist/src/core/background/index.js +8 -0
- package/dist/src/core/background/index.js.map +1 -1
- package/dist/src/core/background/job-launcher.d.ts +54 -0
- package/dist/src/core/background/job-launcher.d.ts.map +1 -0
- package/dist/src/core/background/job-launcher.js +206 -0
- package/dist/src/core/background/job-launcher.js.map +1 -0
- package/dist/src/core/repo-structure/providers/azure-devops-provider.d.ts +15 -0
- package/dist/src/core/repo-structure/providers/azure-devops-provider.d.ts.map +1 -1
- package/dist/src/core/repo-structure/providers/azure-devops-provider.js +56 -0
- package/dist/src/core/repo-structure/providers/azure-devops-provider.js.map +1 -1
- package/dist/src/importers/ado-importer.d.ts +7 -1
- package/dist/src/importers/ado-importer.d.ts.map +1 -1
- package/dist/src/importers/ado-importer.js +108 -61
- package/dist/src/importers/ado-importer.js.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave/commands/specweave-jobs.md +133 -29
- package/plugins/specweave-ado/commands/specweave-ado-clone-repos.md +379 -0
- package/plugins/specweave-release/commands/specweave-release-npm.md +51 -14
|
@@ -681,4 +681,52 @@ export function toSelectableItemsFromObjects(items, valueField = 'name') {
|
|
|
681
681
|
metadata: item,
|
|
682
682
|
}));
|
|
683
683
|
}
|
|
684
|
+
/**
|
|
685
|
+
* Filter repositories by clone pattern
|
|
686
|
+
*
|
|
687
|
+
* Used during init to filter ADO/GitHub repos before cloning.
|
|
688
|
+
*
|
|
689
|
+
* @param repos - Array of repositories with name field
|
|
690
|
+
* @param clonePattern - Clone pattern configuration
|
|
691
|
+
* @returns Filtered repositories
|
|
692
|
+
*
|
|
693
|
+
* @example
|
|
694
|
+
* ```typescript
|
|
695
|
+
* const repos = [{ name: 'sw-fe' }, { name: 'sw-be' }, { name: 'other' }];
|
|
696
|
+
* const pattern = { strategy: 'pattern-glob', pattern: 'sw-*' };
|
|
697
|
+
* const filtered = filterRepositoriesByPattern(repos, pattern);
|
|
698
|
+
* // Result: [{ name: 'sw-fe' }, { name: 'sw-be' }]
|
|
699
|
+
* ```
|
|
700
|
+
*/
|
|
701
|
+
export function filterRepositoriesByPattern(repos, clonePattern) {
|
|
702
|
+
switch (clonePattern.strategy) {
|
|
703
|
+
case 'all':
|
|
704
|
+
return repos;
|
|
705
|
+
case 'skip':
|
|
706
|
+
return [];
|
|
707
|
+
case 'pattern-glob': {
|
|
708
|
+
if (!clonePattern.pattern)
|
|
709
|
+
return repos;
|
|
710
|
+
const selectableItems = repos.map(r => ({ name: r.name, value: r.name }));
|
|
711
|
+
const matched = matchByGlob(selectableItems, clonePattern.pattern);
|
|
712
|
+
const matchedNames = new Set(matched.map(m => m.name));
|
|
713
|
+
return repos.filter(r => matchedNames.has(r.name));
|
|
714
|
+
}
|
|
715
|
+
case 'pattern-regex': {
|
|
716
|
+
if (!clonePattern.pattern)
|
|
717
|
+
return repos;
|
|
718
|
+
const selectableItems = repos.map(r => ({ name: r.name, value: r.name }));
|
|
719
|
+
const result = matchByRegex(selectableItems, clonePattern.pattern);
|
|
720
|
+
if (result.error) {
|
|
721
|
+
// Log error but don't crash - return empty array
|
|
722
|
+
console.error(`Invalid regex pattern "${clonePattern.pattern}": ${result.error}`);
|
|
723
|
+
return [];
|
|
724
|
+
}
|
|
725
|
+
const matchedNames = new Set(result.items.map(m => m.name));
|
|
726
|
+
return repos.filter(r => matchedNames.has(r.name));
|
|
727
|
+
}
|
|
728
|
+
default:
|
|
729
|
+
return repos;
|
|
730
|
+
}
|
|
731
|
+
}
|
|
684
732
|
//# sourceMappingURL=selection-strategy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selection-strategy.js","sourceRoot":"","sources":["../../../../src/cli/helpers/selection-strategy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"selection-strategy.js","sourceRoot":"","sources":["../../../../src/cli/helpers/selection-strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Background Import Worker
|
|
4
|
+
*
|
|
5
|
+
* Standalone script that runs import in a detached process.
|
|
6
|
+
* Survives terminal close - progress tracked via job state file.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* node import-worker.js <jobId> <projectPath>
|
|
10
|
+
*
|
|
11
|
+
* The worker reads job configuration from:
|
|
12
|
+
* .specweave/state/jobs/<jobId>/config.json
|
|
13
|
+
*
|
|
14
|
+
* And updates progress to:
|
|
15
|
+
* .specweave/state/background-jobs.json
|
|
16
|
+
*/
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=import-worker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-worker.d.ts","sourceRoot":"","sources":["../../../../src/cli/workers/import-worker.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;GAcG"}
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Background Import Worker
|
|
4
|
+
*
|
|
5
|
+
* Standalone script that runs import in a detached process.
|
|
6
|
+
* Survives terminal close - progress tracked via job state file.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* node import-worker.js <jobId> <projectPath>
|
|
10
|
+
*
|
|
11
|
+
* The worker reads job configuration from:
|
|
12
|
+
* .specweave/state/jobs/<jobId>/config.json
|
|
13
|
+
*
|
|
14
|
+
* And updates progress to:
|
|
15
|
+
* .specweave/state/background-jobs.json
|
|
16
|
+
*/
|
|
17
|
+
import * as fs from 'fs';
|
|
18
|
+
import * as path from 'path';
|
|
19
|
+
import { fileURLToPath } from 'url';
|
|
20
|
+
// Worker-specific imports (loaded dynamically to reduce startup time)
|
|
21
|
+
let ImportCoordinator;
|
|
22
|
+
let getJobManager;
|
|
23
|
+
let ItemConverter;
|
|
24
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
25
|
+
const __dirname = path.dirname(__filename);
|
|
26
|
+
/**
|
|
27
|
+
* Main worker entry point
|
|
28
|
+
*/
|
|
29
|
+
async function main() {
|
|
30
|
+
const args = process.argv.slice(2);
|
|
31
|
+
if (args.length < 2) {
|
|
32
|
+
console.error('Usage: import-worker.js <jobId> <projectPath>');
|
|
33
|
+
process.exit(1);
|
|
34
|
+
}
|
|
35
|
+
const jobId = args[0];
|
|
36
|
+
const projectPath = args[1];
|
|
37
|
+
// Write PID file for process management
|
|
38
|
+
const pidFile = path.join(projectPath, '.specweave', 'state', 'jobs', jobId, 'worker.pid');
|
|
39
|
+
fs.mkdirSync(path.dirname(pidFile), { recursive: true });
|
|
40
|
+
fs.writeFileSync(pidFile, process.pid.toString());
|
|
41
|
+
// Setup cleanup on exit
|
|
42
|
+
const cleanup = () => {
|
|
43
|
+
try {
|
|
44
|
+
if (fs.existsSync(pidFile)) {
|
|
45
|
+
fs.unlinkSync(pidFile);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
// Ignore cleanup errors
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
process.on('exit', cleanup);
|
|
53
|
+
process.on('SIGTERM', () => {
|
|
54
|
+
cleanup();
|
|
55
|
+
process.exit(0);
|
|
56
|
+
});
|
|
57
|
+
process.on('SIGINT', () => {
|
|
58
|
+
cleanup();
|
|
59
|
+
process.exit(0);
|
|
60
|
+
});
|
|
61
|
+
try {
|
|
62
|
+
// Load job configuration
|
|
63
|
+
const configPath = path.join(projectPath, '.specweave', 'state', 'jobs', jobId, 'config.json');
|
|
64
|
+
if (!fs.existsSync(configPath)) {
|
|
65
|
+
throw new Error(`Job config not found: ${configPath}`);
|
|
66
|
+
}
|
|
67
|
+
const jobConfig = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
|
|
68
|
+
// Log to worker-specific log file
|
|
69
|
+
const logPath = path.join(projectPath, '.specweave', 'state', 'jobs', jobId, 'worker.log');
|
|
70
|
+
const log = (msg) => {
|
|
71
|
+
const timestamp = new Date().toISOString();
|
|
72
|
+
fs.appendFileSync(logPath, `[${timestamp}] ${msg}\n`);
|
|
73
|
+
};
|
|
74
|
+
log(`Worker started for job ${jobId}`);
|
|
75
|
+
log(`Project path: ${projectPath}`);
|
|
76
|
+
log(`PID: ${process.pid}`);
|
|
77
|
+
// Dynamically import heavy dependencies
|
|
78
|
+
const importCoordinatorModule = await import('../../importers/import-coordinator.js');
|
|
79
|
+
ImportCoordinator = importCoordinatorModule.ImportCoordinator;
|
|
80
|
+
const jobManagerModule = await import('../../core/background/job-manager.js');
|
|
81
|
+
getJobManager = jobManagerModule.getJobManager;
|
|
82
|
+
const itemConverterModule = await import('../../importers/item-converter.js');
|
|
83
|
+
ItemConverter = itemConverterModule.ItemConverter;
|
|
84
|
+
// Get job manager and mark as running
|
|
85
|
+
const jobManager = getJobManager(projectPath);
|
|
86
|
+
jobManager.startJob(jobId);
|
|
87
|
+
log('Dependencies loaded, starting import...');
|
|
88
|
+
// Setup progress tracking
|
|
89
|
+
const coordinatorConfig = jobConfig.coordinatorConfig;
|
|
90
|
+
let totalEstimate = 0;
|
|
91
|
+
let currentCount = 0;
|
|
92
|
+
coordinatorConfig.onProgressEnhanced = (info) => {
|
|
93
|
+
currentCount = info.current || currentCount;
|
|
94
|
+
if (info.total && info.total > totalEstimate) {
|
|
95
|
+
totalEstimate = info.total;
|
|
96
|
+
}
|
|
97
|
+
// Update job progress
|
|
98
|
+
jobManager.updateProgress(jobId, currentCount, info.sourceRepo || info.platform, undefined, undefined);
|
|
99
|
+
// Update total estimate if we now know more
|
|
100
|
+
const job = jobManager.getJob(jobId);
|
|
101
|
+
if (job && totalEstimate > job.progress.total) {
|
|
102
|
+
job.progress.total = totalEstimate;
|
|
103
|
+
// Force save with new total
|
|
104
|
+
jobManager.updateProgress(jobId, currentCount, info.sourceRepo || info.platform);
|
|
105
|
+
}
|
|
106
|
+
log(`Progress: ${currentCount}/${totalEstimate} - ${info.platform} ${info.sourceRepo || ''}`);
|
|
107
|
+
};
|
|
108
|
+
// Rate limit handling
|
|
109
|
+
coordinatorConfig.onRateLimitPause = (platform, seconds) => {
|
|
110
|
+
log(`Rate limited by ${platform}, pausing for ${seconds}s`);
|
|
111
|
+
jobManager.pauseJob(jobId);
|
|
112
|
+
// Set resume time
|
|
113
|
+
const job = jobManager.getJob(jobId);
|
|
114
|
+
if (job) {
|
|
115
|
+
job.resumeAfter = new Date(Date.now() + seconds * 1000);
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
// Execute import
|
|
119
|
+
const coordinator = new ImportCoordinator(coordinatorConfig);
|
|
120
|
+
const result = await coordinator.importAll();
|
|
121
|
+
log(`Import complete: ${result.totalCount} items fetched`);
|
|
122
|
+
// CRITICAL: Convert imported items to living docs
|
|
123
|
+
// Without this, items are fetched but NOT saved to specs folder!
|
|
124
|
+
if (result.totalCount > 0 && result.allItems.length > 0) {
|
|
125
|
+
log('Converting items to living docs...');
|
|
126
|
+
const specsDir = path.join(projectPath, '.specweave', 'docs', 'internal', 'specs');
|
|
127
|
+
// Group items by source for proper folder structure
|
|
128
|
+
const groups = groupItemsByExternalContainer(result.allItems);
|
|
129
|
+
let totalConverted = 0;
|
|
130
|
+
for (const group of groups) {
|
|
131
|
+
const { projectId, items, externalContainer } = group;
|
|
132
|
+
log(`Converting ${items.length} items for project: ${projectId}`);
|
|
133
|
+
const converter = new ItemConverter({
|
|
134
|
+
specsDir,
|
|
135
|
+
projectRoot: projectPath,
|
|
136
|
+
enableFeatureAllocation: true,
|
|
137
|
+
projectId,
|
|
138
|
+
enableGlobalCollisionDetection: false,
|
|
139
|
+
autoArchiveAfterDays: 30,
|
|
140
|
+
externalContainer,
|
|
141
|
+
onFeatureCreated: (featureId, featurePath) => {
|
|
142
|
+
log(`Created feature folder: ${projectId}/${featureId}`);
|
|
143
|
+
},
|
|
144
|
+
onItemArchived: (usId, reason) => {
|
|
145
|
+
log(`Archived ${usId} (${reason})`);
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
const convertedStories = await converter.convertItems(items);
|
|
149
|
+
totalConverted += convertedStories.length;
|
|
150
|
+
// Update progress
|
|
151
|
+
jobManager.updateProgress(jobId, totalConverted, `Converting: ${projectId}`);
|
|
152
|
+
}
|
|
153
|
+
log(`Converted ${totalConverted} User Stories to living docs`);
|
|
154
|
+
}
|
|
155
|
+
// Mark job as complete
|
|
156
|
+
jobManager.completeJob(jobId);
|
|
157
|
+
// Write result summary
|
|
158
|
+
const resultPath = path.join(projectPath, '.specweave', 'state', 'jobs', jobId, 'result.json');
|
|
159
|
+
fs.writeFileSync(resultPath, JSON.stringify({
|
|
160
|
+
totalCount: result.totalCount,
|
|
161
|
+
completedAt: new Date().toISOString(),
|
|
162
|
+
platforms: result.platforms || [],
|
|
163
|
+
errors: result.errors || {}
|
|
164
|
+
}, null, 2));
|
|
165
|
+
log('Worker finished successfully');
|
|
166
|
+
process.exit(0);
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
// Log error
|
|
170
|
+
const logPath = path.join(projectPath, '.specweave', 'state', 'jobs', jobId, 'worker.log');
|
|
171
|
+
fs.appendFileSync(logPath, `[${new Date().toISOString()}] ERROR: ${error.message}\n`);
|
|
172
|
+
fs.appendFileSync(logPath, `${error.stack}\n`);
|
|
173
|
+
// Mark job as failed
|
|
174
|
+
try {
|
|
175
|
+
const jobManagerModule = await import('../../core/background/job-manager.js');
|
|
176
|
+
const jobManager = jobManagerModule.getJobManager(projectPath);
|
|
177
|
+
jobManager.completeJob(jobId, error.message);
|
|
178
|
+
}
|
|
179
|
+
catch {
|
|
180
|
+
// Ignore if can't update job
|
|
181
|
+
}
|
|
182
|
+
console.error(`Worker error: ${error.message}`);
|
|
183
|
+
process.exit(1);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
function groupItemsByExternalContainer(items) {
|
|
187
|
+
const groups = new Map();
|
|
188
|
+
// Import normalizeToProjectId dynamically would be complex, so inline the logic
|
|
189
|
+
const normalize = (name) => {
|
|
190
|
+
return name
|
|
191
|
+
.toLowerCase()
|
|
192
|
+
.replace(/[^a-z0-9]+/g, '-')
|
|
193
|
+
.replace(/-+/g, '-')
|
|
194
|
+
.replace(/^-|-$/g, '');
|
|
195
|
+
};
|
|
196
|
+
for (const item of items) {
|
|
197
|
+
let groupKey;
|
|
198
|
+
let containerType = null;
|
|
199
|
+
let containerId;
|
|
200
|
+
let projectId;
|
|
201
|
+
let externalContainer;
|
|
202
|
+
// Check for JIRA container context
|
|
203
|
+
if (item.jiraProjectKey) {
|
|
204
|
+
containerType = 'jira';
|
|
205
|
+
containerId = item.jiraProjectKey;
|
|
206
|
+
projectId = item.jiraBoardName
|
|
207
|
+
? normalize(item.jiraBoardName) || 'default'
|
|
208
|
+
: 'default';
|
|
209
|
+
groupKey = `jira:${containerId}:${projectId}`;
|
|
210
|
+
externalContainer = {
|
|
211
|
+
type: 'jira-project',
|
|
212
|
+
containerId,
|
|
213
|
+
containerName: containerId,
|
|
214
|
+
boardId: item.jiraBoardId,
|
|
215
|
+
boardName: item.jiraBoardName
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
// Check for ADO container context
|
|
219
|
+
else if (item.adoProjectName) {
|
|
220
|
+
containerType = 'ado';
|
|
221
|
+
containerId = item.adoProjectName;
|
|
222
|
+
if (item.adoAreaPath) {
|
|
223
|
+
const areaSegments = item.adoAreaPath.split('\\');
|
|
224
|
+
const lastSegment = areaSegments[areaSegments.length - 1];
|
|
225
|
+
projectId = normalize(lastSegment) || 'default';
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
projectId = 'default';
|
|
229
|
+
}
|
|
230
|
+
groupKey = `ado:${containerId}:${projectId}`;
|
|
231
|
+
externalContainer = {
|
|
232
|
+
type: 'ado-project',
|
|
233
|
+
containerId,
|
|
234
|
+
containerName: containerId,
|
|
235
|
+
areaPath: item.adoAreaPath
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
// GitHub or default
|
|
239
|
+
else {
|
|
240
|
+
if (item.sourceRepo) {
|
|
241
|
+
const parts = item.sourceRepo.split('/');
|
|
242
|
+
const rawRepoName = parts.length > 1 ? parts[1] : item.sourceRepo;
|
|
243
|
+
projectId = normalize(rawRepoName) || '_default';
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
projectId = '_default';
|
|
247
|
+
}
|
|
248
|
+
groupKey = `gh:${projectId}`;
|
|
249
|
+
}
|
|
250
|
+
if (!groups.has(groupKey)) {
|
|
251
|
+
groups.set(groupKey, {
|
|
252
|
+
containerId: containerId || projectId,
|
|
253
|
+
containerType,
|
|
254
|
+
projectId,
|
|
255
|
+
items: [],
|
|
256
|
+
externalContainer
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
groups.get(groupKey).items.push(item);
|
|
260
|
+
}
|
|
261
|
+
return Array.from(groups.values());
|
|
262
|
+
}
|
|
263
|
+
// Run worker
|
|
264
|
+
main().catch((error) => {
|
|
265
|
+
console.error('Fatal worker error:', error);
|
|
266
|
+
process.exit(1);
|
|
267
|
+
});
|
|
268
|
+
//# sourceMappingURL=import-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-worker.js","sourceRoot":"","sources":["../../../../src/cli/workers/import-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,15 @@
|
|
|
5
5
|
* - Repository cloning (multi-repo setup)
|
|
6
6
|
* - Issue import (10K+ items from GitHub/JIRA/ADO)
|
|
7
7
|
* - External sync operations
|
|
8
|
+
*
|
|
9
|
+
* ASYNC ARCHITECTURE (2025-12-01):
|
|
10
|
+
* - Jobs spawn as detached processes that survive terminal close
|
|
11
|
+
* - Progress tracked via filesystem (.specweave/state/jobs/)
|
|
12
|
+
* - Check status: /specweave:jobs
|
|
13
|
+
* - Resume: /specweave:jobs --resume <jobId>
|
|
14
|
+
* - Kill: /specweave:jobs --kill <jobId>
|
|
8
15
|
*/
|
|
9
16
|
export * from './types.js';
|
|
10
17
|
export * from './job-manager.js';
|
|
18
|
+
export * from './job-launcher.js';
|
|
11
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/background/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/background/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
|
|
@@ -5,7 +5,15 @@
|
|
|
5
5
|
* - Repository cloning (multi-repo setup)
|
|
6
6
|
* - Issue import (10K+ items from GitHub/JIRA/ADO)
|
|
7
7
|
* - External sync operations
|
|
8
|
+
*
|
|
9
|
+
* ASYNC ARCHITECTURE (2025-12-01):
|
|
10
|
+
* - Jobs spawn as detached processes that survive terminal close
|
|
11
|
+
* - Progress tracked via filesystem (.specweave/state/jobs/)
|
|
12
|
+
* - Check status: /specweave:jobs
|
|
13
|
+
* - Resume: /specweave:jobs --resume <jobId>
|
|
14
|
+
* - Kill: /specweave:jobs --kill <jobId>
|
|
8
15
|
*/
|
|
9
16
|
export * from './types.js';
|
|
10
17
|
export * from './job-manager.js';
|
|
18
|
+
export * from './job-launcher.js';
|
|
11
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/background/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/background/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Background Job Launcher
|
|
3
|
+
*
|
|
4
|
+
* Spawns import workers as detached processes that survive terminal close.
|
|
5
|
+
* Progress tracked via file system - check with /specweave:jobs
|
|
6
|
+
*/
|
|
7
|
+
import type { BackgroundJob, JobType } from './types.js';
|
|
8
|
+
export interface LaunchOptions {
|
|
9
|
+
/** Job type */
|
|
10
|
+
type: JobType;
|
|
11
|
+
/** Project path */
|
|
12
|
+
projectPath: string;
|
|
13
|
+
/** Coordinator config for import */
|
|
14
|
+
coordinatorConfig: any;
|
|
15
|
+
/** Estimated total items (can be updated by worker) */
|
|
16
|
+
estimatedTotal?: number;
|
|
17
|
+
/** Run in foreground (blocking) instead of background */
|
|
18
|
+
foreground?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface LaunchResult {
|
|
21
|
+
job: BackgroundJob;
|
|
22
|
+
/** PID of background process (undefined if foreground) */
|
|
23
|
+
pid?: number;
|
|
24
|
+
/** Whether running in background */
|
|
25
|
+
isBackground: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Launch an import job
|
|
29
|
+
*
|
|
30
|
+
* @param options Launch configuration
|
|
31
|
+
* @returns Job info and process details
|
|
32
|
+
*/
|
|
33
|
+
export declare function launchImportJob(options: LaunchOptions): Promise<LaunchResult>;
|
|
34
|
+
/**
|
|
35
|
+
* Check if a background job is still running
|
|
36
|
+
*/
|
|
37
|
+
export declare function isJobRunning(projectPath: string, jobId: string): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Kill a background job
|
|
40
|
+
*/
|
|
41
|
+
export declare function killJob(projectPath: string, jobId: string): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Get worker log output
|
|
44
|
+
*/
|
|
45
|
+
export declare function getJobLog(projectPath: string, jobId: string, tailLines?: number): string;
|
|
46
|
+
/**
|
|
47
|
+
* Get job result (after completion)
|
|
48
|
+
*/
|
|
49
|
+
export declare function getJobResult(projectPath: string, jobId: string): any | null;
|
|
50
|
+
/**
|
|
51
|
+
* Clean up old job directories
|
|
52
|
+
*/
|
|
53
|
+
export declare function cleanupOldJobs(projectPath: string, keepDays?: number): void;
|
|
54
|
+
//# sourceMappingURL=job-launcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job-launcher.d.ts","sourceRoot":"","sources":["../../../../src/core/background/job-launcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAmB,MAAM,YAAY,CAAC;AAE1E,MAAM,WAAW,aAAa;IAC5B,eAAe;IACf,IAAI,EAAE,OAAO,CAAC;IACd,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,iBAAiB,EAAE,GAAG,CAAC;IACvB,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,aAAa,CAAC;IACnB,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAiFnF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAiBxE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAqBnE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAexF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAY3E;AA0BD;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,IAAI,CA8B9E"}
|