specweave 0.28.0 → 0.28.1
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/README.md +64 -72
- package/dist/plugins/specweave-github/lib/github-client-v2.d.ts +6 -2
- package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-client-v2.js +28 -8
- package/dist/plugins/specweave-github/lib/github-client-v2.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-feature-sync-cli.d.ts +21 -0
- package/dist/plugins/specweave-github/lib/github-feature-sync-cli.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/github-feature-sync-cli.js +166 -0
- package/dist/plugins/specweave-github/lib/github-feature-sync-cli.js.map +1 -0
- package/dist/src/core/repo-structure/repo-structure-manager.d.ts +1 -1
- package/dist/src/core/repo-structure/repo-structure-manager.d.ts.map +1 -1
- package/dist/src/core/repo-structure/repo-structure-manager.js +5 -11
- package/dist/src/core/repo-structure/repo-structure-manager.js.map +1 -1
- package/dist/src/core/sync/label-detector.d.ts.map +1 -1
- package/dist/src/core/sync/label-detector.js +22 -9
- package/dist/src/core/sync/label-detector.js.map +1 -1
- package/dist/src/metrics/calculators/deployment-frequency.d.ts +12 -8
- package/dist/src/metrics/calculators/deployment-frequency.d.ts.map +1 -1
- package/dist/src/metrics/calculators/deployment-frequency.js +16 -12
- package/dist/src/metrics/calculators/deployment-frequency.js.map +1 -1
- package/dist/src/metrics/dora-calculator.d.ts +2 -1
- package/dist/src/metrics/dora-calculator.d.ts.map +1 -1
- package/dist/src/metrics/dora-calculator.js +9 -4
- package/dist/src/metrics/dora-calculator.js.map +1 -1
- package/dist/src/metrics/github-client.d.ts +12 -0
- package/dist/src/metrics/github-client.d.ts.map +1 -1
- package/dist/src/metrics/github-client.js +30 -0
- package/dist/src/metrics/github-client.js.map +1 -1
- package/dist/src/sync/sync-coordinator.d.ts +33 -0
- package/dist/src/sync/sync-coordinator.d.ts.map +1 -1
- package/dist/src/sync/sync-coordinator.js +203 -2
- package/dist/src/sync/sync-coordinator.js.map +1 -1
- package/dist/src/utils/env-file-generator.d.ts +8 -23
- package/dist/src/utils/env-file-generator.d.ts.map +1 -1
- package/dist/src/utils/env-file-generator.js +31 -71
- package/dist/src/utils/env-file-generator.js.map +1 -1
- package/package.json +7 -2
- package/plugins/specweave/agents/architect/AGENT.md +2 -2
- package/plugins/specweave/agents/docs-writer/AGENT.md +2 -2
- package/plugins/specweave/agents/pm/AGENT.md +2 -2
- package/plugins/specweave/agents/qa-lead/AGENT.md +2 -2
- package/plugins/specweave/agents/security/AGENT.md +2 -2
- package/plugins/specweave/agents/tdd-orchestrator/AGENT.md +2 -2
- package/plugins/specweave/agents/tech-lead/AGENT.md +2 -2
- package/plugins/specweave/agents/test-aware-planner/AGENT.md +2 -2
- package/plugins/specweave/hooks/post-increment-completion.sh +84 -0
- package/plugins/specweave/hooks/post-increment-planning.sh +114 -7
- package/plugins/specweave/lib/hooks/sync-increment-closure.js +66 -0
- package/plugins/specweave/lib/hooks/sync-increment-closure.ts +111 -0
- package/plugins/specweave-github/lib/github-client-v2.js +32 -8
- package/plugins/specweave-github/lib/github-client-v2.ts +31 -9
- package/plugins/specweave-github/lib/github-feature-sync-cli.js +135 -0
- package/plugins/specweave-github/lib/github-feature-sync-cli.ts +194 -0
- package/plugins/specweave-github/skills/github-issue-standard/SKILL.md +43 -0
- package/plugins/specweave-infrastructure/agents/devops/AGENT.md +2 -2
- package/src/templates/.env.example +9 -26
|
@@ -62,8 +62,17 @@ export class SyncCoordinator {
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
if (!featureId) {
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
// AUTO-GENERATE feature ID from increment number (ADR-0139)
|
|
66
|
+
const incrementMatch = this.incrementId.match(/^(\d+)/);
|
|
67
|
+
if (incrementMatch) {
|
|
68
|
+
featureId = `FS-${incrementMatch[1]}`;
|
|
69
|
+
this.logger.log(`📝 Auto-generated feature ID: ${featureId} (no epic/feature_id in spec.md)`);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
this.logger.log('⚠️ No feature ID found and could not auto-generate - skipping GitHub sync');
|
|
73
|
+
this.logger.log(' 💡 Add epic: FS-XXX or feature_id: FS-XXX to spec.md frontmatter');
|
|
74
|
+
return createdIssues;
|
|
75
|
+
}
|
|
67
76
|
}
|
|
68
77
|
// Try to find or create milestone for the feature
|
|
69
78
|
let milestoneNumber = null;
|
|
@@ -204,6 +213,198 @@ export class SyncCoordinator {
|
|
|
204
213
|
throw error;
|
|
205
214
|
}
|
|
206
215
|
}
|
|
216
|
+
/**
|
|
217
|
+
* Close GitHub issues for all User Stories when increment completes (NEW in v0.28.1)
|
|
218
|
+
*
|
|
219
|
+
* This is the CRITICAL missing feature that was causing GitHub issues to remain
|
|
220
|
+
* open after increments were closed.
|
|
221
|
+
*
|
|
222
|
+
* Called by: syncIncrementClosure() when increment status changes to "completed"
|
|
223
|
+
*
|
|
224
|
+
* Flow:
|
|
225
|
+
* 1. Get feature ID from increment spec
|
|
226
|
+
* 2. Load all user stories for that feature
|
|
227
|
+
* 3. For each user story with a GitHub issue, close it with completion comment
|
|
228
|
+
*
|
|
229
|
+
* @param config - Project configuration
|
|
230
|
+
* @returns Array of closed issue numbers
|
|
231
|
+
*/
|
|
232
|
+
async closeGitHubIssuesForUserStories(config) {
|
|
233
|
+
const closedIssues = [];
|
|
234
|
+
try {
|
|
235
|
+
// Load user stories for this increment
|
|
236
|
+
const userStories = await this.loadUserStoriesForIncrement();
|
|
237
|
+
if (userStories.length === 0) {
|
|
238
|
+
this.logger.log('📚 No user stories found for this increment');
|
|
239
|
+
return closedIssues;
|
|
240
|
+
}
|
|
241
|
+
this.logger.log(`📚 Found ${userStories.length} user story/stories for GitHub issue closure`);
|
|
242
|
+
// Get GitHub config
|
|
243
|
+
const githubConfig = config.sync?.github || {};
|
|
244
|
+
const repoInfo = await this.detectGitHubRepo(githubConfig);
|
|
245
|
+
if (!repoInfo) {
|
|
246
|
+
throw new Error('GitHub repository not configured');
|
|
247
|
+
}
|
|
248
|
+
const client = GitHubClientV2.fromRepo(repoInfo.owner, repoInfo.repo);
|
|
249
|
+
// Get feature ID from increment spec
|
|
250
|
+
const specFile = path.join(this.projectRoot, '.specweave/increments', this.incrementId, 'spec.md');
|
|
251
|
+
let featureId = '';
|
|
252
|
+
if (existsSync(specFile)) {
|
|
253
|
+
const content = await fs.readFile(specFile, 'utf-8');
|
|
254
|
+
const frontmatterMatch = content.match(/^---\n([\s\S]*?)\n---/);
|
|
255
|
+
if (frontmatterMatch) {
|
|
256
|
+
const frontmatter = yaml.parse(frontmatterMatch[1]);
|
|
257
|
+
featureId = frontmatter.feature_id || frontmatter.epic || frontmatter.feature || '';
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
if (!featureId) {
|
|
261
|
+
// AUTO-GENERATE feature ID from increment number (same logic as create)
|
|
262
|
+
const incrementMatch = this.incrementId.match(/^(\d+)/);
|
|
263
|
+
if (incrementMatch) {
|
|
264
|
+
featureId = `FS-${incrementMatch[1]}`;
|
|
265
|
+
this.logger.log(`📝 Auto-generated feature ID: ${featureId}`);
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
this.logger.log('⚠️ No feature ID found - skipping GitHub issue closure');
|
|
269
|
+
return closedIssues;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
// Close issue for each user story
|
|
273
|
+
for (const usFile of userStories) {
|
|
274
|
+
try {
|
|
275
|
+
// Search for the GitHub issue by title pattern
|
|
276
|
+
const searchTitle = `[${featureId}][${usFile.id}]`;
|
|
277
|
+
const existingIssue = await client.searchIssueByTitle(searchTitle);
|
|
278
|
+
if (!existingIssue) {
|
|
279
|
+
this.logger.log(` ⏭️ ${usFile.id} - No GitHub issue found (skipping)`);
|
|
280
|
+
continue;
|
|
281
|
+
}
|
|
282
|
+
// Check if already closed (GitHub returns lowercase state)
|
|
283
|
+
if (existingIssue.state === 'closed') {
|
|
284
|
+
this.logger.log(` ⏭️ ${usFile.id} - Issue #${existingIssue.number} already closed`);
|
|
285
|
+
continue;
|
|
286
|
+
}
|
|
287
|
+
// Close the issue with completion comment
|
|
288
|
+
this.logger.log(` 🔒 Closing GitHub issue #${existingIssue.number} for ${usFile.id}...`);
|
|
289
|
+
const completionComment = `## ✅ User Story Complete
|
|
290
|
+
|
|
291
|
+
Increment \`${this.incrementId}\` has been marked as **completed**.
|
|
292
|
+
|
|
293
|
+
**User Story**: ${usFile.id} - ${usFile.title || 'N/A'}
|
|
294
|
+
|
|
295
|
+
### Completion Details
|
|
296
|
+
- ✅ All acceptance criteria satisfied
|
|
297
|
+
- ✅ All related tasks completed
|
|
298
|
+
- ✅ Tests passing
|
|
299
|
+
- ✅ Documentation updated
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
🤖 Auto-closed by SpecWeave on increment completion`;
|
|
303
|
+
await client.closeIssue(existingIssue.number, completionComment);
|
|
304
|
+
closedIssues.push(existingIssue.number);
|
|
305
|
+
this.logger.log(` ✅ Closed issue #${existingIssue.number}`);
|
|
306
|
+
}
|
|
307
|
+
catch (error) {
|
|
308
|
+
this.logger.error(` ❌ Failed to close issue for ${usFile.id}:`, error);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
if (closedIssues.length > 0) {
|
|
312
|
+
this.logger.log(`\n✅ Closed ${closedIssues.length} GitHub issue(s) for ${featureId}`);
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
this.logger.log('\n✅ No GitHub issues needed closing (all already closed or not found)');
|
|
316
|
+
}
|
|
317
|
+
return closedIssues;
|
|
318
|
+
}
|
|
319
|
+
catch (error) {
|
|
320
|
+
this.logger.error('❌ Failed to close GitHub issues:', error);
|
|
321
|
+
throw error;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Sync increment closure to external tools (NEW in v0.28.1)
|
|
326
|
+
*
|
|
327
|
+
* This method is called when an increment is marked as "completed".
|
|
328
|
+
* It handles the complete closure flow including:
|
|
329
|
+
* - Creating any missing GitHub issues (idempotent)
|
|
330
|
+
* - Closing all User Story GitHub issues
|
|
331
|
+
* - Syncing final status to external tools
|
|
332
|
+
*
|
|
333
|
+
* CRITICAL: This was the missing piece causing issues to stay open!
|
|
334
|
+
*
|
|
335
|
+
* @returns SyncResult with closure details
|
|
336
|
+
*/
|
|
337
|
+
async syncIncrementClosure() {
|
|
338
|
+
const result = {
|
|
339
|
+
success: false,
|
|
340
|
+
userStoriesSynced: 0,
|
|
341
|
+
syncMode: 'read-only',
|
|
342
|
+
errors: [],
|
|
343
|
+
closedIssues: []
|
|
344
|
+
};
|
|
345
|
+
try {
|
|
346
|
+
this.logger.log(`\n🔒 Syncing increment CLOSURE for ${this.incrementId}...`);
|
|
347
|
+
// 1. Load config
|
|
348
|
+
const config = await this.loadConfig();
|
|
349
|
+
// Check gates (same as syncIncrementCompletion)
|
|
350
|
+
const canUpdateExternal = config.sync?.settings?.canUpdateExternalItems ?? false;
|
|
351
|
+
const githubEnabled = config.sync?.github?.enabled ?? false;
|
|
352
|
+
const autoSync = config.sync?.settings?.autoSyncOnCompletion ?? true;
|
|
353
|
+
if (!canUpdateExternal) {
|
|
354
|
+
this.logger.log('ℹ️ External tool sync disabled (canUpdateExternalItems=false)');
|
|
355
|
+
this.logger.log(' GitHub issues will NOT be closed automatically');
|
|
356
|
+
result.syncMode = 'living-docs-only';
|
|
357
|
+
result.success = true;
|
|
358
|
+
return result;
|
|
359
|
+
}
|
|
360
|
+
if (!autoSync) {
|
|
361
|
+
this.logger.log('⚠️ Automatic external sync disabled (autoSyncOnCompletion=false)');
|
|
362
|
+
this.logger.log(' GitHub issues will NOT be closed automatically');
|
|
363
|
+
this.logger.log(' Run /specweave-github:sync to close issues manually');
|
|
364
|
+
result.syncMode = 'manual-only';
|
|
365
|
+
result.success = true;
|
|
366
|
+
return result;
|
|
367
|
+
}
|
|
368
|
+
if (!githubEnabled) {
|
|
369
|
+
this.logger.log('ℹ️ GitHub sync disabled (sync.github.enabled=false)');
|
|
370
|
+
result.syncMode = 'external-disabled';
|
|
371
|
+
result.success = true;
|
|
372
|
+
return result;
|
|
373
|
+
}
|
|
374
|
+
this.logger.log('✅ All gates passed - closing GitHub issues for user stories');
|
|
375
|
+
// 2. First, ensure all issues exist (idempotent creation)
|
|
376
|
+
this.logger.log('\n🔹 Step 1: Ensuring all GitHub issues exist...');
|
|
377
|
+
try {
|
|
378
|
+
await this.createGitHubIssuesForUserStories(config);
|
|
379
|
+
}
|
|
380
|
+
catch (error) {
|
|
381
|
+
this.logger.error('⚠️ GitHub issue creation failed (non-blocking):', error);
|
|
382
|
+
result.errors.push(`GitHub issue creation error: ${error}`);
|
|
383
|
+
}
|
|
384
|
+
// 3. Close all User Story issues
|
|
385
|
+
this.logger.log('\n🔹 Step 2: Closing GitHub issues for completed user stories...');
|
|
386
|
+
try {
|
|
387
|
+
result.closedIssues = await this.closeGitHubIssuesForUserStories(config);
|
|
388
|
+
}
|
|
389
|
+
catch (error) {
|
|
390
|
+
this.logger.error('⚠️ GitHub issue closure failed:', error);
|
|
391
|
+
result.errors.push(`GitHub issue closure error: ${error}`);
|
|
392
|
+
}
|
|
393
|
+
result.success = result.errors.length === 0;
|
|
394
|
+
result.syncMode = 'full-sync';
|
|
395
|
+
this.logger.log(`\n✅ Increment closure sync complete`);
|
|
396
|
+
this.logger.log(` Issues closed: ${result.closedIssues.length}`);
|
|
397
|
+
if (result.errors.length > 0) {
|
|
398
|
+
this.logger.log(` ⚠️ ${result.errors.length} error(s) occurred`);
|
|
399
|
+
}
|
|
400
|
+
return result;
|
|
401
|
+
}
|
|
402
|
+
catch (error) {
|
|
403
|
+
result.errors.push(`Sync closure error: ${error}`);
|
|
404
|
+
this.logger.error('❌ Increment closure sync failed:', error);
|
|
405
|
+
return result;
|
|
406
|
+
}
|
|
407
|
+
}
|
|
207
408
|
/**
|
|
208
409
|
* Format user story content for GitHub issue body
|
|
209
410
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-coordinator.js","sourceRoot":"","sources":["../../../src/sync/sync-coordinator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,UAAU,EAAgB,MAAM,IAAI,CAAC;AAC9D,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAoB,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,6BAA6B,EAAyB,MAAM,+BAA+B,CAAC;AACrG,OAAO,EAAE,cAAc,EAAE,MAAM,wDAAwD,CAAC;AAExF,OAAO,EAAU,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAe9D,MAAM,OAAO,eAAe;IAM1B,YAAY,OAA+B;QACzC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC;QAC9C,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,gCAAgC,CAAC,MAAW;QAChD,MAAM,aAAa,GAAkB,EAAE,CAAC;QAExC,IAAI,CAAC;YACH,uCAAuC;YACvC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;YAE7D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;gBAC/D,OAAO,aAAa,CAAC;YACvB,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,WAAW,CAAC,MAAM,qCAAqC,CAAC,CAAC;YAErF,oBAAoB;YACpB,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAE3D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YAED,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEtE,qCAAqC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,IAAI,CAAC,WAAW,EAChB,uBAAuB,EACvB,IAAI,CAAC,WAAW,EAChB,SAAS,CACV,CAAC;YAEF,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACrD,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAChE,IAAI,gBAAgB,EAAE,CAAC;oBACrB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpD,SAAS,GAAG,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC;gBACtF,CAAC;YACH,CAAC;YAED,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;gBACpF,OAAO,aAAa,CAAC;YACvB,CAAC;YAED,kDAAkD;YAClD,IAAI,eAAe,GAAkB,IAAI,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,oBAAoB,CACjD,GAAG,SAAS,yBAAyB,EACrC,yBAAyB,SAAS,EAAE,EACpC,EAAE,CAAC,mBAAmB;iBACvB,CAAC;gBACF,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,SAAS,CAAC,KAAK,MAAM,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YACnF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;YAC/E,CAAC;YAED,sDAAsD;YACtD,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,kEAAkE;oBAClE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,6BAA6B,CAC7E,IAAI,CAAC,WAAW,EAChB,SAAS,EACT,MAAM,CAAC,EAAE,CACV,CAAC;oBAEF,IAAI,WAAW,EAAE,CAAC;wBAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,EAAE,aAAa,WAAW,CAAC,MAAM,yCAAyC,CAAC,CAAC;wBAC5G,SAAS;oBACX,CAAC;oBAED,yCAAyC;oBACzC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,IAAI,CAAC,WAAW,EAChB,uBAAuB,EACvB,IAAI,CAAC,WAAW,EAChB,eAAe,CAChB,CAAC;oBAEF,IAAI,aAAa,GAAkB,IAAI,CAAC;oBACxC,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;wBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;wBACtE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;wBACnD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;wBACvE,IAAI,KAAK,EAAE,CAAC;4BACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,EAAE,aAAa,KAAK,CAAC,MAAM,sCAAsC,CAAC,CAAC;4BACnG,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;4BAC7B,yDAAyD;4BACzD,SAAS;wBACX,CAAC;oBACH,CAAC;oBAED,wDAAwD;oBACxD,MAAM,WAAW,GAAG,IAAI,SAAS,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC;oBACnD,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;oBAEtE,IAAI,gBAAgB,EAAE,CAAC;wBACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,EAAE,aAAa,gBAAgB,CAAC,MAAM,2BAA2B,CAAC,CAAC;wBAEnG,wDAAwD;wBACxD,MAAM,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,CAAC;4BACvD,WAAW,EAAE,IAAI,CAAC,WAAW;4BAC7B,SAAS;4BACT,WAAW,EAAE,MAAM,CAAC,EAAE;4BACtB,WAAW,EAAE;gCACX,MAAM,EAAE,gBAAgB,CAAC,MAAM;gCAC/B,GAAG,EAAE,gBAAgB,CAAC,QAAQ;gCAC9B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;6BACpC;yBACF,CAAC,CAAC;wBAEH,mCAAmC;wBACnC,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;4BAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;4BACtE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gCACrB,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC;4BACvB,CAAC;4BACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gCAC5B,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;4BAC9B,CAAC;4BAED,mCAAmC;4BACnC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAClD,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,EAAE,CACtC,CAAC;4BACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;gCACtB,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oCAC1B,SAAS,EAAE,MAAM,CAAC,EAAE;oCACpB,MAAM,EAAE,gBAAgB,CAAC,MAAM;oCAC/B,GAAG,EAAE,gBAAgB,CAAC,QAAQ;oCAC9B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iCACpC,CAAC,CAAC;gCACH,QAAQ,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gCACpD,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;4BAC/E,CAAC;wBACH,CAAC;wBAED,SAAS;oBACX,CAAC;oBAED,uCAAuC;oBACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;oBAElE,oBAAoB;oBACpB,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;oBAEnD,eAAe;oBACf,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC;wBAC9C,SAAS;wBACT,WAAW,EAAE,MAAM,CAAC,EAAE;wBACtB,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,IAAI,EAAE,SAAS;wBACf,MAAM,EAAE,EAAE;wBACV,SAAS,EAAE,eAAe;qBAC3B,CAAC,CAAC;oBAEH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACzE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAE1B,2CAA2C;oBAC3C,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;wBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;wBACtE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;4BACrB,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC;wBACvB,CAAC;wBACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;4BAC5B,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;wBAC9B,CAAC;wBACD,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;4BAC1B,SAAS,EAAE,MAAM,CAAC,EAAE;4BACpB,MAAM,EAAE,KAAK,CAAC,MAAM;4BACpB,GAAG,EAAE,KAAK,CAAC,QAAQ;4BACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;yBACpC,CAAC,CAAC;wBACH,QAAQ,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;wBACpD,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC/E,CAAC;oBAED,mDAAmD;oBACnD,MAAM,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,CAAC;wBACvD,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,SAAS;wBACT,WAAW,EAAE,MAAM,CAAC,EAAE;wBACtB,WAAW,EAAE;4BACX,MAAM,EAAE,KAAK,CAAC,MAAM;4BACpB,GAAG,EAAE,KAAK,CAAC,QAAQ;4BACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;yBACpC;qBACF,CAAC,CAAC;gBAEL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,aAAa,CAAC,MAAM,wBAAwB,SAAS,EAAE,CAAC,CAAC;gBACxF,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACpE,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;YAChF,CAAC;YAED,OAAO,aAAa,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC9D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,MAAwB;QAClD,8CAA8C;QAC9C,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,+GAA+G,CAAC,CAAC;QAE5H,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB;QAC3B,MAAM,MAAM,GAAe;YACzB,OAAO,EAAE,KAAK;YACd,iBAAiB,EAAE,CAAC;YACpB,QAAQ,EAAE,WAAW;YACrB,MAAM,EAAE,EAAE;SACX,CAAC;QAEF,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,WAAW,8BAA8B,CAAC,CAAC;YAE1F,iBAAiB;YACjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAEvC,wEAAwE;YACxE,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,sBAAsB,IAAI,IAAI,CAAC;YAChF,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;gBAChF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yFAAyF,CAAC,CAAC;gBAC3G,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC;gBAC9B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBACtB,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,qEAAqE;YACrE,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,sBAAsB,IAAI,KAAK,CAAC;YACjF,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;gBAC5E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;gBAClF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2FAA2F,CAAC,CAAC;gBAC7G,MAAM,CAAC,QAAQ,GAAG,kBAAkB,CAAC;gBACrC,wDAAwD;gBACxD,+DAA+D;YACjE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;gBAC5E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;YAChF,CAAC;YAED,+EAA+E;YAC/E,uDAAuD;YACvD,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,oBAAoB,IAAI,IAAI,CAAC;gBACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;oBACrF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;oBAC1F,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;oBAC1F,MAAM,CAAC,QAAQ,GAAG,aAAa,CAAC;oBAChC,uDAAuD;gBACzD,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;oBAEjF,+DAA+D;oBAC/D,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,IAAI,KAAK,CAAC;oBAC5D,IAAI,aAAa,EAAE,CAAC;wBAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;wBACpE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;wBACnE,IAAI,CAAC;4BACH,MAAM,IAAI,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC;wBACtD,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,EAAE,KAAK,CAAC,CAAC;4BAC7E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;4BAClD,kDAAkD;wBACpD,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;wBACxE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;wBAC7F,MAAM,CAAC,QAAQ,GAAG,mBAAmB,CAAC;oBACxC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,sDAAsD;YACtD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;YAE7D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;gBAChE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBACtB,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,WAAW,CAAC,MAAM,qBAAqB,CAAC,CAAC;YAErE,6BAA6B;YAC7B,MAAM,WAAW,GAAG,IAAI,6BAA6B,CACnD;gBACE,sBAAsB,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,sBAAsB,IAAI,KAAK;gBAC9E,eAAe,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,IAAI,KAAK;aACjE,EACD,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CACxB,CAAC;YAEF,0BAA0B;YAC1B,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;oBACtD,MAAM,CAAC,iBAAiB,EAAE,CAAC;oBAE3B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;oBACjC,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;wBAC1B,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC;oBAChC,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,QAAQ,GAAG,kBAAkB,MAAM,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;oBACzD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAC5B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;YAED,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;YAE5C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,iBAAiB,IAAI,WAAW,CAAC,MAAM,SAAS,CAAC,CAAC;YAC/F,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,oBAAoB,CAAC,CAAC;YACnE,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YAC3C,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CACzB,MAAwB,EACxB,WAA0C,EAC1C,MAAW;QAEX,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,EAAE,KAAK,MAAM,GAAG,CAAC,CAAC;QAEnD,uBAAuB;QACvB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAE7D,4CAA4C;QAC5C,MAAM,cAAc,GAAG,MAAM,CAAC,eAAe,IAAI,QAAQ,CAAC,CAAC,oBAAoB;QAE/E,gDAAgD;QAChD,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,IAAI,KAAK,CAAC;YAC5D,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;gBAC3E,OAAO;YACT,CAAC;YAED,oDAAoD;YACpD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAE3D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YAED,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtE,MAAM,WAAW,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAClE,CAAC;aAAM,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;YACrC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC;YACxD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;gBACvE,OAAO;YACT,CAAC;YAED,4BAA4B;YAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;aAAM,IAAI,cAAc,KAAK,KAAK,IAAI,cAAc,KAAK,cAAc,EAAE,CAAC;YACzE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,IAAI,KAAK,CAAC;YACtD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;gBAC9E,OAAO;YACT,CAAC;YAED,2BAA2B;YAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;YACrE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,cAAc,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAAC,MAAwB;QACvD,sCAAsC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CACzB,IAAI,CAAC,WAAW,EAChB,uBAAuB,EACvB,IAAI,CAAC,WAAW,EAChB,UAAU,CACX,CAAC;QAEF,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,EAAE,CAAC;QAEf,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAEtD,0DAA0D;YAC1D,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YACvD,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,IAAI,EAAE,CAAC;YAEjF,6EAA6E;YAC7E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,KAAK,CAAC,IAAI,CAAC;oBACT,MAAM,EAAE,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBAC7C,KAAK,EAAE,YAAY;oBACnB,SAAS,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM;iBACvC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,IAAI,CAAC,WAAW,EAChB,uBAAuB,EACvB,IAAI,CAAC,WAAW,EAChB,SAAS,CACV,CAAC;QAEF,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAErD,YAAY;YACZ,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,IAAI,EAAE,CAAC;YAEpE,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAChD,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;oBACjB,WAAW,EAAE,gBAAgB;oBAC7B,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;QAChC,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;QAC7D,MAAM,kBAAkB,GAAG,UAAU,GAAG,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;YACjD,CAAC,CAAC,CAAC,CAAC;QAEN,OAAO;YACL,KAAK;YACL,kBAAkB,EAAE,GAAG;YACvB,kBAAkB;YAClB,aAAa,EAAE,GAAG,IAAI,CAAC,WAAW,6CAA6C,MAAM,CAAC,EAAE,GAAG;SAC5F,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,2BAA2B;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,IAAI,CAAC,WAAW,EAChB,uBAAuB,EACvB,IAAI,CAAC,WAAW,EAChB,SAAS,CACV,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAErD,sCAAsC;QACtC,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAChE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,CAAC;QAEpF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,oCAAoC;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC3B,IAAI,CAAC,WAAW,EAChB,0CAA0C,EAC1C,SAAS,CACV,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,oBAAoB;QACpB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAuB,EAAE,CAAC;QAEvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBAC9C,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAEzD,oBAAoB;gBACpB,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACzD,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChC,OAAO,CAAC,IAAI,CAAC;wBACX,EAAE,EAAE,EAAE,CAAC,EAAE;wBACT,KAAK,EAAE,EAAE,CAAC,KAAK;wBACf,mBAAmB,EAAE,EAAE,CAAC,mBAAmB;wBAC3C,cAAc,EAAE,EAAE,CAAC,cAAc;wBACjC,eAAe,EAAE,EAAE,CAAC,eAAe;wBACnC,WAAW,EAAE,EAAE,CAAC,WAAW;wBAC3B,YAAY,EAAE,EAAE,CAAC,YAAY;wBAC7B,WAAW,EAAE,EAAE,CAAC,WAAW;wBAC3B,MAAM,EAAE,EAAE,CAAC,MAAM;wBACjB,cAAc,EAAE,EAAE,CAAC,cAAc,CAAE,8CAA8C;qBAClF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;QAEzE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,YAAiB;QAC9C,qBAAqB;QACrB,IAAI,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;YAC5C,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC;QAChE,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,2BAA2B,EAAE;gBACnD,GAAG,EAAE,IAAI,CAAC,WAAW;gBACrB,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC,IAAI,EAAE,CAAC;YAEV,uFAAuF;YACvF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAC9D,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACjE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,oBAAoB;QACtB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"sync-coordinator.js","sourceRoot":"","sources":["../../../src/sync/sync-coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Environment File Generator
|
|
3
3
|
*
|
|
4
|
-
* Generates .env files
|
|
5
|
-
*
|
|
4
|
+
* Generates minimal .env files containing ONLY secrets (tokens).
|
|
5
|
+
* All configuration is stored in config.json.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* - Add .env to .gitignore automatically
|
|
10
|
-
* - Create .env.example for team sharing
|
|
11
|
-
* - Multi-provider support (GitHub, JIRA, ADO)
|
|
7
|
+
* gh CLI is the recommended authentication method.
|
|
8
|
+
* GITHUB_TOKEN in .env is only needed when gh CLI is not available.
|
|
12
9
|
*
|
|
13
10
|
* @module env-file-generator
|
|
14
11
|
*/
|
|
15
12
|
/**
|
|
16
|
-
*
|
|
17
|
-
*/
|
|
18
|
-
export interface RepoMapping {
|
|
19
|
-
id: string;
|
|
20
|
-
repo: string;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Environment configuration
|
|
13
|
+
* Environment configuration (secrets only)
|
|
24
14
|
*/
|
|
25
15
|
export interface EnvConfig {
|
|
26
16
|
githubToken?: string;
|
|
27
|
-
githubOwner?: string;
|
|
28
|
-
repos?: RepoMapping[];
|
|
29
|
-
syncEnabled?: boolean;
|
|
30
|
-
autoCreateIssue?: boolean;
|
|
31
|
-
syncDirection?: 'bidirectional' | 'export' | 'import';
|
|
32
17
|
}
|
|
33
18
|
/**
|
|
34
|
-
* Generate .env file with GitHub
|
|
19
|
+
* Generate .env file with GitHub token (only when gh CLI not available)
|
|
35
20
|
*
|
|
36
21
|
* @param projectRoot - Project root directory
|
|
37
22
|
* @param config - Environment configuration
|
|
@@ -45,10 +30,10 @@ export declare function generateEnvFile(projectRoot: string, config: EnvConfig):
|
|
|
45
30
|
*/
|
|
46
31
|
export declare function envFileExists(projectRoot: string): Promise<boolean>;
|
|
47
32
|
/**
|
|
48
|
-
* Load
|
|
33
|
+
* Load GitHub token from .env file
|
|
49
34
|
*
|
|
50
35
|
* @param projectRoot - Project root directory
|
|
51
|
-
* @returns
|
|
36
|
+
* @returns GitHub token or null
|
|
52
37
|
*/
|
|
53
38
|
export declare function loadEnvConfig(projectRoot: string): Promise<EnvConfig | null>;
|
|
54
39
|
//# sourceMappingURL=env-file-generator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-file-generator.d.ts","sourceRoot":"","sources":["../../../src/utils/env-file-generator.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"env-file-generator.d.ts","sourceRoot":"","sources":["../../../src/utils/env-file-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,IAAI,CAAC,CAqBf;AAgGD;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGzE;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CA+BlF"}
|
|
@@ -1,21 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Environment File Generator
|
|
3
3
|
*
|
|
4
|
-
* Generates .env files
|
|
5
|
-
*
|
|
4
|
+
* Generates minimal .env files containing ONLY secrets (tokens).
|
|
5
|
+
* All configuration is stored in config.json.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* - Add .env to .gitignore automatically
|
|
10
|
-
* - Create .env.example for team sharing
|
|
11
|
-
* - Multi-provider support (GitHub, JIRA, ADO)
|
|
7
|
+
* gh CLI is the recommended authentication method.
|
|
8
|
+
* GITHUB_TOKEN in .env is only needed when gh CLI is not available.
|
|
12
9
|
*
|
|
13
10
|
* @module env-file-generator
|
|
14
11
|
*/
|
|
15
12
|
import * as fs from '../utils/fs-native.js';
|
|
16
13
|
import path from 'path';
|
|
17
14
|
/**
|
|
18
|
-
* Generate .env file with GitHub
|
|
15
|
+
* Generate .env file with GitHub token (only when gh CLI not available)
|
|
19
16
|
*
|
|
20
17
|
* @param projectRoot - Project root directory
|
|
21
18
|
* @param config - Environment configuration
|
|
@@ -38,45 +35,29 @@ export async function generateEnvFile(projectRoot, config) {
|
|
|
38
35
|
await updateGitignore(projectRoot);
|
|
39
36
|
}
|
|
40
37
|
/**
|
|
41
|
-
* Build .env file content
|
|
38
|
+
* Build .env file content (secrets only)
|
|
42
39
|
*
|
|
43
40
|
* @param config - Environment configuration
|
|
44
41
|
* @returns .env content
|
|
45
42
|
*/
|
|
46
43
|
function buildEnvContent(config) {
|
|
47
44
|
const lines = [];
|
|
48
|
-
lines.push('# GitHub
|
|
45
|
+
lines.push('# GitHub Token (Auto-generated by SpecWeave)');
|
|
49
46
|
lines.push(`# Created: ${new Date().toISOString()}`);
|
|
47
|
+
lines.push('#');
|
|
48
|
+
lines.push('# NOTE: gh CLI authentication is recommended over tokens.');
|
|
49
|
+
lines.push('# Run: gh auth login');
|
|
50
|
+
lines.push('# This file is only needed if gh CLI is not available.');
|
|
50
51
|
lines.push('');
|
|
51
|
-
// GitHub token
|
|
52
|
+
// GitHub token - the ONLY secret
|
|
52
53
|
if (config.githubToken) {
|
|
53
54
|
lines.push(`GITHUB_TOKEN=${config.githubToken}`);
|
|
54
55
|
}
|
|
55
56
|
else {
|
|
56
57
|
lines.push('GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxx');
|
|
57
58
|
}
|
|
58
|
-
// GitHub owner
|
|
59
|
-
if (config.githubOwner) {
|
|
60
|
-
lines.push(`GITHUB_OWNER=${config.githubOwner}`);
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
lines.push('GITHUB_OWNER=myorg');
|
|
64
|
-
}
|
|
65
|
-
lines.push('');
|
|
66
|
-
lines.push('# Repository Mapping (id:repo-name)');
|
|
67
|
-
// Repos
|
|
68
|
-
if (config.repos && config.repos.length > 0) {
|
|
69
|
-
const repoMappings = config.repos.map(r => `${r.id}:${r.repo}`).join(',');
|
|
70
|
-
lines.push(`GITHUB_REPOS=${repoMappings}`);
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
lines.push('GITHUB_REPOS=parent:my-project-parent,frontend:my-project-frontend,backend:my-project-backend');
|
|
74
|
-
}
|
|
75
59
|
lines.push('');
|
|
76
|
-
lines.push('#
|
|
77
|
-
lines.push(`GITHUB_SYNC_ENABLED=${config.syncEnabled !== false ? 'true' : 'false'}`);
|
|
78
|
-
lines.push(`GITHUB_AUTO_CREATE_ISSUE=${config.autoCreateIssue !== false ? 'true' : 'false'}`);
|
|
79
|
-
lines.push(`GITHUB_SYNC_DIRECTION=${config.syncDirection || 'bidirectional'}`);
|
|
60
|
+
lines.push('# All other configuration is in .specweave/config.json');
|
|
80
61
|
return lines.join('\n') + '\n';
|
|
81
62
|
}
|
|
82
63
|
/**
|
|
@@ -87,21 +68,19 @@ function buildEnvContent(config) {
|
|
|
87
68
|
function buildEnvExampleContent() {
|
|
88
69
|
const lines = [];
|
|
89
70
|
lines.push('# GitHub Configuration');
|
|
90
|
-
lines.push('#
|
|
71
|
+
lines.push('#');
|
|
72
|
+
lines.push('# RECOMMENDED: Use gh CLI instead of tokens');
|
|
73
|
+
lines.push('# gh auth login');
|
|
74
|
+
lines.push('#');
|
|
75
|
+
lines.push('# Only use this file if gh CLI is not available.');
|
|
76
|
+
lines.push('# Copy to .env and fill in your token.');
|
|
91
77
|
lines.push('');
|
|
92
|
-
lines.push('# GitHub Personal Access Token
|
|
78
|
+
lines.push('# GitHub Personal Access Token');
|
|
79
|
+
lines.push('# Get from: https://github.com/settings/tokens');
|
|
80
|
+
lines.push('# Scopes: repo, read:org');
|
|
93
81
|
lines.push('GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxx');
|
|
94
82
|
lines.push('');
|
|
95
|
-
lines.push('#
|
|
96
|
-
lines.push('GITHUB_OWNER=your-username-or-org');
|
|
97
|
-
lines.push('');
|
|
98
|
-
lines.push('# Repository Mapping (id:repo-name,id:repo-name,...)');
|
|
99
|
-
lines.push('GITHUB_REPOS=parent:my-project-parent,frontend:my-project-frontend,backend:my-project-backend');
|
|
100
|
-
lines.push('');
|
|
101
|
-
lines.push('# Sync Configuration');
|
|
102
|
-
lines.push('GITHUB_SYNC_ENABLED=true');
|
|
103
|
-
lines.push('GITHUB_AUTO_CREATE_ISSUE=true');
|
|
104
|
-
lines.push('GITHUB_SYNC_DIRECTION=bidirectional');
|
|
83
|
+
lines.push('# All other configuration is in .specweave/config.json');
|
|
105
84
|
return lines.join('\n') + '\n';
|
|
106
85
|
}
|
|
107
86
|
/**
|
|
@@ -145,10 +124,10 @@ export async function envFileExists(projectRoot) {
|
|
|
145
124
|
return fs.pathExists(envPath);
|
|
146
125
|
}
|
|
147
126
|
/**
|
|
148
|
-
* Load
|
|
127
|
+
* Load GitHub token from .env file
|
|
149
128
|
*
|
|
150
129
|
* @param projectRoot - Project root directory
|
|
151
|
-
* @returns
|
|
130
|
+
* @returns GitHub token or null
|
|
152
131
|
*/
|
|
153
132
|
export async function loadEnvConfig(projectRoot) {
|
|
154
133
|
const envPath = path.join(projectRoot, '.env');
|
|
@@ -163,32 +142,13 @@ export async function loadEnvConfig(projectRoot) {
|
|
|
163
142
|
if (trimmed.startsWith('#') || !trimmed) {
|
|
164
143
|
continue;
|
|
165
144
|
}
|
|
166
|
-
const
|
|
167
|
-
if (
|
|
145
|
+
const eqIndex = trimmed.indexOf('=');
|
|
146
|
+
if (eqIndex === -1)
|
|
168
147
|
continue;
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
break;
|
|
174
|
-
case 'GITHUB_OWNER':
|
|
175
|
-
config.githubOwner = value.trim();
|
|
176
|
-
break;
|
|
177
|
-
case 'GITHUB_REPOS':
|
|
178
|
-
config.repos = value.trim().split(',').map(mapping => {
|
|
179
|
-
const [id, repo] = mapping.split(':');
|
|
180
|
-
return { id: id.trim(), repo: repo.trim() };
|
|
181
|
-
});
|
|
182
|
-
break;
|
|
183
|
-
case 'GITHUB_SYNC_ENABLED':
|
|
184
|
-
config.syncEnabled = value.trim() === 'true';
|
|
185
|
-
break;
|
|
186
|
-
case 'GITHUB_AUTO_CREATE_ISSUE':
|
|
187
|
-
config.autoCreateIssue = value.trim() === 'true';
|
|
188
|
-
break;
|
|
189
|
-
case 'GITHUB_SYNC_DIRECTION':
|
|
190
|
-
config.syncDirection = value.trim();
|
|
191
|
-
break;
|
|
148
|
+
const key = trimmed.slice(0, eqIndex).trim();
|
|
149
|
+
const value = trimmed.slice(eqIndex + 1).trim();
|
|
150
|
+
if (key === 'GITHUB_TOKEN') {
|
|
151
|
+
config.githubToken = value;
|
|
192
152
|
}
|
|
193
153
|
}
|
|
194
154
|
return config;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-file-generator.js","sourceRoot":"","sources":["../../../src/utils/env-file-generator.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"env-file-generator.js","sourceRoot":"","sources":["../../../src/utils/env-file-generator.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.
|
|
3
|
+
"version": "0.28.1",
|
|
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",
|
|
@@ -34,7 +34,12 @@
|
|
|
34
34
|
"docs:build": "cd docs-site && npm run build",
|
|
35
35
|
"docs:install": "cd docs-site && npm install --legacy-peer-deps",
|
|
36
36
|
"docs:internal": "mkdocs serve -f docs-site/mkdocs-internal.yml",
|
|
37
|
-
"docs:internal:build": "mkdocs build -f docs-site/mkdocs-internal.yml"
|
|
37
|
+
"docs:internal:build": "mkdocs build -f docs-site/mkdocs-internal.yml",
|
|
38
|
+
"release:patch": "bash scripts/bump-version.sh patch",
|
|
39
|
+
"release:minor": "bash scripts/bump-version.sh minor",
|
|
40
|
+
"release:major": "bash scripts/bump-version.sh major",
|
|
41
|
+
"release": "bash scripts/bump-version.sh",
|
|
42
|
+
"setup:hooks": "bash scripts/install-git-hooks.sh"
|
|
38
43
|
},
|
|
39
44
|
"keywords": [
|
|
40
45
|
"specweave",
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
name: architect
|
|
3
3
|
description: System Architect and technical design expert. Creates system architecture, technical specifications, Architecture Decision Records (ADRs), component designs, API contracts, data models, and deployment architectures. Handles design patterns, scalability planning, technology stack decisions, microservices architecture, event-driven systems, CQRS, domain-driven design. Activates for: architecture, system design, technical design, ADR, architecture decision record, design patterns, microservices, API design, data model, database schema, scalability, performance architecture, technology stack, tech stack selection, distributed systems, event-driven, CQRS, DDD, domain model, component architecture, integration patterns, CAP theorem, consistency, availability, partition tolerance.
|
|
4
4
|
tools: Read, Write, Edit
|
|
5
|
-
model: claude-
|
|
6
|
-
model_preference:
|
|
5
|
+
model: claude-opus-4-5-20251101
|
|
6
|
+
model_preference: opus
|
|
7
7
|
cost_profile: planning
|
|
8
8
|
fallback_behavior: strict
|
|
9
9
|
max_response_tokens: 2000
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
name: docs-writer
|
|
3
3
|
description: Technical documentation writer that generates docs ONE SECTION AT A TIME (Installation → Usage → API → Examples) to prevent crashes. Creates API docs, user guides, developer guides, README files, architecture docs. **CRITICAL CHUNKING RULE - Prevents 3000+ line doc crashes.** Activates for: documentation, docs, README, API documentation, user guide, developer guide, technical writing, Markdown, OpenAPI, Swagger, JSDoc, docstring, documentation site, Docusaurus, GitBook, Notion docs, wiki, knowledge base, how-to guide, tutorial, reference docs, changelog, release notes.
|
|
4
4
|
tools: Read, Write, Edit
|
|
5
|
-
model: claude-
|
|
6
|
-
model_preference:
|
|
5
|
+
model: claude-opus-4-5-20251101
|
|
6
|
+
model_preference: opus
|
|
7
7
|
cost_profile: hybrid
|
|
8
8
|
fallback_behavior: auto
|
|
9
9
|
max_response_tokens: 2000
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
name: pm
|
|
3
3
|
description: Product Manager AI agent that works in PHASES (Research → Spec → Architect → Plan → Validate) to prevent crashes. Creates product strategy, requirements, user stories, prioritization. **CRITICAL CHUNKING RULE - Large specs (6+ US) generated in chunks.** Activates for product planning, roadmap creation, requirement analysis, user research, business case development. Keywords: product strategy, chunked planning, user stories, requirements, roadmap, prioritization, MVP, feature planning, stakeholders, business case, product vision, RICE, MoSCoW, Kano, product-market fit.
|
|
4
4
|
tools: Read, Write, Grep, Glob
|
|
5
|
-
model: claude-
|
|
6
|
-
model_preference:
|
|
5
|
+
model: claude-opus-4-5-20251101
|
|
6
|
+
model_preference: opus
|
|
7
7
|
cost_profile: planning
|
|
8
8
|
fallback_behavior: strict
|
|
9
9
|
max_response_tokens: 2000
|