specweave 0.30.9 → 0.30.11
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/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts.map +1 -1
- package/dist/plugins/specweave-ado/lib/ado-client-v2.js +46 -12
- package/dist/plugins/specweave-ado/lib/ado-client-v2.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-feature-sync.js +14 -4
- package/dist/plugins/specweave-github/lib/github-feature-sync.js.map +1 -1
- package/dist/plugins/specweave-github/lib/user-story-content-builder.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/user-story-content-builder.js +5 -1
- package/dist/plugins/specweave-github/lib/user-story-content-builder.js.map +1 -1
- package/dist/plugins/specweave-github/lib/user-story-issue-builder.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/user-story-issue-builder.js +9 -2
- package/dist/plugins/specweave-github/lib/user-story-issue-builder.js.map +1 -1
- package/dist/src/cli/helpers/init/repository-setup.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/repository-setup.js +64 -2
- package/dist/src/cli/helpers/init/repository-setup.js.map +1 -1
- package/dist/src/cli/helpers/project-count-fetcher.js +33 -2
- package/dist/src/cli/helpers/project-count-fetcher.js.map +1 -1
- package/dist/src/core/living-docs/living-docs-sync.d.ts +9 -0
- package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
- package/dist/src/core/living-docs/living-docs-sync.js +170 -6
- package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
- package/dist/src/integrations/ado/ado-client.d.ts +22 -0
- package/dist/src/integrations/ado/ado-client.d.ts.map +1 -1
- package/dist/src/integrations/ado/ado-client.js +89 -37
- package/dist/src/integrations/ado/ado-client.js.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave/commands/specweave-sync-specs.md +46 -37
- package/plugins/specweave-ado/lib/ado-client-v2.js +43 -8
- package/plugins/specweave-ado/lib/ado-client-v2.ts +52 -12
- package/plugins/specweave-github/lib/github-feature-sync.js +11 -3
- package/plugins/specweave-github/lib/github-feature-sync.ts +16 -4
- package/plugins/specweave-github/lib/user-story-content-builder.js +3 -1
- package/plugins/specweave-github/lib/user-story-content-builder.ts +5 -1
- package/plugins/specweave-github/lib/user-story-issue-builder.js +6 -2
- package/plugins/specweave-github/lib/user-story-issue-builder.ts +10 -2
- package/plugins/specweave-github/skills/github-issue-standard/SKILL.md +10 -8
|
@@ -60,6 +60,70 @@ export class AdoClient {
|
|
|
60
60
|
const auth = Buffer.from(`:${this.credentials.pat}`).toString('base64');
|
|
61
61
|
return `Basic ${auth}`;
|
|
62
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Safely parse JSON response with HTML detection
|
|
65
|
+
*
|
|
66
|
+
* Azure DevOps may return HTML error pages instead of JSON when:
|
|
67
|
+
* - PAT is invalid/expired
|
|
68
|
+
* - Organization name is wrong
|
|
69
|
+
* - Corporate proxy/firewall intercepts the request
|
|
70
|
+
* - SSO redirect occurs
|
|
71
|
+
*
|
|
72
|
+
* @param response - Fetch response object (body must not be consumed)
|
|
73
|
+
* @returns Parsed JSON data
|
|
74
|
+
* @throws Error with helpful message if response is not valid JSON
|
|
75
|
+
*/
|
|
76
|
+
async safeParseJson(response) {
|
|
77
|
+
const contentType = response.headers.get('content-type') || '';
|
|
78
|
+
const responseText = await response.text();
|
|
79
|
+
// Check if response looks like HTML
|
|
80
|
+
const looksLikeHtml = responseText.trim().startsWith('<!DOCTYPE') ||
|
|
81
|
+
responseText.trim().startsWith('<html') ||
|
|
82
|
+
responseText.trim().startsWith('<HTML') ||
|
|
83
|
+
(!contentType.includes('application/json') && responseText.includes('<'));
|
|
84
|
+
if (looksLikeHtml) {
|
|
85
|
+
const possibleCauses = [
|
|
86
|
+
'Invalid or expired Personal Access Token (PAT)',
|
|
87
|
+
`Incorrect organization name "${this.credentials.organization}"`,
|
|
88
|
+
'Corporate firewall or proxy intercepting the request',
|
|
89
|
+
'SSO/authentication redirect (try accessing Azure DevOps in browser first)',
|
|
90
|
+
'Network connectivity issues'
|
|
91
|
+
];
|
|
92
|
+
throw new Error(`Azure DevOps returned HTML instead of JSON.\n` +
|
|
93
|
+
`This usually indicates an authentication or configuration issue.\n\n` +
|
|
94
|
+
`Possible causes:\n` +
|
|
95
|
+
possibleCauses.map(cause => `• ${cause}`).join('\n'));
|
|
96
|
+
}
|
|
97
|
+
// Try to parse as JSON
|
|
98
|
+
try {
|
|
99
|
+
return JSON.parse(responseText);
|
|
100
|
+
}
|
|
101
|
+
catch (parseError) {
|
|
102
|
+
const preview = responseText.substring(0, 200);
|
|
103
|
+
throw new Error(`Azure DevOps returned invalid JSON.\n` +
|
|
104
|
+
`Response preview: ${preview}${responseText.length > 200 ? '...' : ''}`);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Handle non-OK response with helpful error messages
|
|
109
|
+
*
|
|
110
|
+
* @param response - Fetch response with !response.ok
|
|
111
|
+
* @param context - Context for error message (e.g., "querying work items")
|
|
112
|
+
* @throws Error with details
|
|
113
|
+
*/
|
|
114
|
+
async handleErrorResponse(response, context) {
|
|
115
|
+
const errorText = await response.text();
|
|
116
|
+
const looksLikeHtml = errorText.trim().startsWith('<!DOCTYPE') ||
|
|
117
|
+
errorText.trim().startsWith('<html');
|
|
118
|
+
if (looksLikeHtml) {
|
|
119
|
+
throw new Error(`ADO API Error (${response.status}) while ${context}.\n` +
|
|
120
|
+
`Azure DevOps returned an HTML error page, which typically indicates:\n` +
|
|
121
|
+
`• Invalid or expired PAT\n` +
|
|
122
|
+
`• Incorrect organization/project name\n` +
|
|
123
|
+
`• Corporate proxy or SSO redirect`);
|
|
124
|
+
}
|
|
125
|
+
throw new Error(`ADO API Error (${response.status}): ${errorText}`);
|
|
126
|
+
}
|
|
63
127
|
/**
|
|
64
128
|
* List work items with filtering
|
|
65
129
|
*/
|
|
@@ -77,10 +141,9 @@ export class AdoClient {
|
|
|
77
141
|
body: JSON.stringify({ query: wiql })
|
|
78
142
|
});
|
|
79
143
|
if (!response.ok) {
|
|
80
|
-
|
|
81
|
-
throw new Error(`ADO API Error (${response.status}): ${error}`);
|
|
144
|
+
await this.handleErrorResponse(response, 'querying work items');
|
|
82
145
|
}
|
|
83
|
-
const queryResult = await
|
|
146
|
+
const queryResult = await this.safeParseJson(response);
|
|
84
147
|
const workItemIds = queryResult.workItems?.map((wi) => wi.id) || [];
|
|
85
148
|
if (workItemIds.length === 0) {
|
|
86
149
|
moduleLogger.info('✅ No work items found matching the filter');
|
|
@@ -154,10 +217,9 @@ export class AdoClient {
|
|
|
154
217
|
}
|
|
155
218
|
});
|
|
156
219
|
if (!response.ok) {
|
|
157
|
-
|
|
158
|
-
throw new Error(`ADO API Error (${response.status}): ${error}`);
|
|
220
|
+
await this.handleErrorResponse(response, 'fetching work items');
|
|
159
221
|
}
|
|
160
|
-
const data = await
|
|
222
|
+
const data = await this.safeParseJson(response);
|
|
161
223
|
allWorkItems.push(...(data.value || []));
|
|
162
224
|
}
|
|
163
225
|
moduleLogger.info(`✅ Retrieved ${allWorkItems.length} work items from Azure DevOps`);
|
|
@@ -245,10 +307,9 @@ export class AdoClient {
|
|
|
245
307
|
body: JSON.stringify(operations)
|
|
246
308
|
});
|
|
247
309
|
if (!response.ok) {
|
|
248
|
-
|
|
249
|
-
throw new Error(`ADO API Error (${response.status}): ${error}`);
|
|
310
|
+
await this.handleErrorResponse(response, `creating ${item.workItemType}`);
|
|
250
311
|
}
|
|
251
|
-
const workItem = await
|
|
312
|
+
const workItem = await this.safeParseJson(response);
|
|
252
313
|
moduleLogger.info(`✅ Created ${item.workItemType} #${workItem.id}: ${item.title}`);
|
|
253
314
|
// Link to parent if specified
|
|
254
315
|
if (item.parentId) {
|
|
@@ -325,10 +386,9 @@ export class AdoClient {
|
|
|
325
386
|
body: JSON.stringify(operations)
|
|
326
387
|
});
|
|
327
388
|
if (!response.ok) {
|
|
328
|
-
|
|
329
|
-
throw new Error(`ADO API Error (${response.status}): ${error}`);
|
|
389
|
+
await this.handleErrorResponse(response, `updating work item #${update.id}`);
|
|
330
390
|
}
|
|
331
|
-
const workItem = await
|
|
391
|
+
const workItem = await this.safeParseJson(response);
|
|
332
392
|
moduleLogger.info(`✅ Updated work item #${update.id}`);
|
|
333
393
|
return workItem;
|
|
334
394
|
}
|
|
@@ -379,10 +439,9 @@ export class AdoClient {
|
|
|
379
439
|
}
|
|
380
440
|
});
|
|
381
441
|
if (!response.ok) {
|
|
382
|
-
|
|
383
|
-
throw new Error(`ADO API Error (${response.status}): ${error}`);
|
|
442
|
+
await this.handleErrorResponse(response, 'fetching current iteration');
|
|
384
443
|
}
|
|
385
|
-
const data = await
|
|
444
|
+
const data = await this.safeParseJson(response);
|
|
386
445
|
const iterations = data.value || [];
|
|
387
446
|
if (iterations.length === 0) {
|
|
388
447
|
moduleLogger.warn('⚠️ No current iteration found');
|
|
@@ -402,10 +461,9 @@ export class AdoClient {
|
|
|
402
461
|
}
|
|
403
462
|
});
|
|
404
463
|
if (!response.ok) {
|
|
405
|
-
|
|
406
|
-
throw new Error(`ADO API Error (${response.status}): ${error}`);
|
|
464
|
+
await this.handleErrorResponse(response, 'fetching iterations');
|
|
407
465
|
}
|
|
408
|
-
const data = await
|
|
466
|
+
const data = await this.safeParseJson(response);
|
|
409
467
|
return data.value || [];
|
|
410
468
|
}
|
|
411
469
|
/**
|
|
@@ -420,10 +478,9 @@ export class AdoClient {
|
|
|
420
478
|
}
|
|
421
479
|
});
|
|
422
480
|
if (!response.ok) {
|
|
423
|
-
|
|
424
|
-
throw new Error(`ADO API Error (${response.status}): ${error}`);
|
|
481
|
+
await this.handleErrorResponse(response, 'fetching projects');
|
|
425
482
|
}
|
|
426
|
-
const data = await
|
|
483
|
+
const data = await this.safeParseJson(response);
|
|
427
484
|
return data.value || [];
|
|
428
485
|
}
|
|
429
486
|
/**
|
|
@@ -442,10 +499,9 @@ export class AdoClient {
|
|
|
442
499
|
}
|
|
443
500
|
});
|
|
444
501
|
if (!response.ok) {
|
|
445
|
-
|
|
446
|
-
throw new Error(`ADO API Error (${response.status}): ${error}`);
|
|
502
|
+
await this.handleErrorResponse(response, 'searching projects');
|
|
447
503
|
}
|
|
448
|
-
const data = await
|
|
504
|
+
const data = await this.safeParseJson(response);
|
|
449
505
|
return {
|
|
450
506
|
value: data.value || [],
|
|
451
507
|
count: data.count || 0,
|
|
@@ -467,10 +523,9 @@ export class AdoClient {
|
|
|
467
523
|
}
|
|
468
524
|
});
|
|
469
525
|
if (!response.ok) {
|
|
470
|
-
|
|
471
|
-
throw new Error(`ADO API Error (${response.status}): ${error}`);
|
|
526
|
+
await this.handleErrorResponse(response, `fetching area paths for ${project}`);
|
|
472
527
|
}
|
|
473
|
-
return
|
|
528
|
+
return this.safeParseJson(response);
|
|
474
529
|
}
|
|
475
530
|
/**
|
|
476
531
|
* Get teams for a project
|
|
@@ -487,10 +542,9 @@ export class AdoClient {
|
|
|
487
542
|
}
|
|
488
543
|
});
|
|
489
544
|
if (!response.ok) {
|
|
490
|
-
|
|
491
|
-
throw new Error(`ADO API Error (${response.status}): ${error}`);
|
|
545
|
+
await this.handleErrorResponse(response, `fetching teams for ${project}`);
|
|
492
546
|
}
|
|
493
|
-
const data = await
|
|
547
|
+
const data = await this.safeParseJson(response);
|
|
494
548
|
return data.value || [];
|
|
495
549
|
}
|
|
496
550
|
/**
|
|
@@ -556,10 +610,9 @@ export class AdoClient {
|
|
|
556
610
|
}
|
|
557
611
|
});
|
|
558
612
|
if (!response.ok) {
|
|
559
|
-
|
|
560
|
-
throw new Error(`ADO API Error (${response.status}): ${error}`);
|
|
613
|
+
await this.handleErrorResponse(response, `fetching updates for work item #${workItemId}`);
|
|
561
614
|
}
|
|
562
|
-
const data = await
|
|
615
|
+
const data = await this.safeParseJson(response);
|
|
563
616
|
return data.value || [];
|
|
564
617
|
}
|
|
565
618
|
/**
|
|
@@ -582,10 +635,9 @@ export class AdoClient {
|
|
|
582
635
|
}
|
|
583
636
|
});
|
|
584
637
|
if (!projectResponse.ok) {
|
|
585
|
-
|
|
586
|
-
throw new Error(`ADO API Error (${projectResponse.status}): ${error}`);
|
|
638
|
+
await this.handleErrorResponse(projectResponse, `detecting process template for ${projectName}`);
|
|
587
639
|
}
|
|
588
|
-
const projectData = await
|
|
640
|
+
const projectData = await this.safeParseJson(projectResponse);
|
|
589
641
|
const templateName = projectData.capabilities?.processTemplate?.templateName || 'Agile';
|
|
590
642
|
// Step 2: Get work item types to check for Capability
|
|
591
643
|
const witUrl = `https://dev.azure.com/${this.credentials.organization}/${projectName}/_apis/wit/workitemtypes?api-version=${this.apiVersion}`;
|
|
@@ -598,7 +650,7 @@ export class AdoClient {
|
|
|
598
650
|
let workItemTypes = [];
|
|
599
651
|
let hasCapability = false;
|
|
600
652
|
if (witResponse.ok) {
|
|
601
|
-
const witData = await
|
|
653
|
+
const witData = await this.safeParseJson(witResponse);
|
|
602
654
|
workItemTypes = (witData.value || []).map((wit) => wit.name);
|
|
603
655
|
hasCapability = workItemTypes.some(wit => wit.toLowerCase() === 'capability');
|
|
604
656
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ado-client.js","sourceRoot":"","sources":["../../../../src/integrations/ado/ado-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ado-client.js","sourceRoot":"","sources":["../../../../src/integrations/ado/ado-client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "specweave",
|
|
3
|
-
"version": "0.30.
|
|
3
|
+
"version": "0.30.11",
|
|
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",
|
|
@@ -102,17 +102,23 @@ await syncSpecs(args);
|
|
|
102
102
|
```
|
|
103
103
|
|
|
104
104
|
**This will**:
|
|
105
|
-
1.
|
|
106
|
-
2. **
|
|
107
|
-
-
|
|
108
|
-
-
|
|
109
|
-
-
|
|
105
|
+
1. **Derive feature ID from increment number** (e.g., 0040 → FS-040, 0002 → FS-002)
|
|
106
|
+
2. **Smart project matching** from (priority order):
|
|
107
|
+
- `**Project**:` field in spec.md (explicit)
|
|
108
|
+
- `multiProject.activeProject` in config.json
|
|
109
|
+
- ADO area path / JIRA board mapping
|
|
110
|
+
- Git remote (repo name)
|
|
111
|
+
- **ASK USER if unsure** (multi-project mode)
|
|
110
112
|
3. Parse spec.md for user stories and acceptance criteria
|
|
111
113
|
4. Create living docs structure:
|
|
112
|
-
- `.specweave/docs/internal/specs/
|
|
113
|
-
- `.specweave/docs/internal/specs/{project}/FS-XXX/README.md`
|
|
114
|
+
- `.specweave/docs/internal/specs/{project}/FS-XXX/FEATURE.md`
|
|
114
115
|
- `.specweave/docs/internal/specs/{project}/FS-XXX/us-*.md`
|
|
115
116
|
|
|
117
|
+
**CRITICAL**: Feature ID is DERIVED from increment number (ADR-0187)
|
|
118
|
+
- Increment 0002-user-authentication → FS-002
|
|
119
|
+
- Increment 0040-some-feature → FS-040
|
|
120
|
+
- NO date-based patterns like FS-YY-MM-DD-name
|
|
121
|
+
|
|
116
122
|
---
|
|
117
123
|
|
|
118
124
|
## STEP 4: Report Distribution Results
|
|
@@ -169,37 +175,39 @@ Title: {title from spec.md}
|
|
|
169
175
|
{/if}
|
|
170
176
|
|
|
171
177
|
───────────────────────────────────────────────────────
|
|
172
|
-
📂 FILE STRUCTURE
|
|
178
|
+
📂 FILE STRUCTURE (v5.0.0+)
|
|
173
179
|
───────────────────────────────────────────────────────
|
|
174
180
|
|
|
175
|
-
**
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
181
|
+
**NO _features folder** - Features live directly in project folders!
|
|
182
|
+
|
|
183
|
+
**Project folder detection** (priority order):
|
|
184
|
+
1. `**Project**:` field in spec.md (explicit)
|
|
185
|
+
2. `multiProject.activeProject` in config.json
|
|
186
|
+
3. ADO area path mapping / JIRA board mapping
|
|
187
|
+
4. Git remote (repo name)
|
|
188
|
+
5. **ASK USER if multi-project mode and unsure**
|
|
179
189
|
|
|
180
190
|
.specweave/docs/internal/specs/
|
|
181
|
-
├──
|
|
182
|
-
│ └──
|
|
191
|
+
├── {project}/ ← Features + stories together
|
|
192
|
+
│ └── FS-XXX/ ← Feature ID derived from increment (0002 → FS-002)
|
|
193
|
+
│ ├── FEATURE.md ← Feature overview
|
|
194
|
+
│ ├── us-001-{title}.md ← User story 1
|
|
195
|
+
│ ├── us-002-{title}.md ← User story 2
|
|
196
|
+
│ └── ...
|
|
197
|
+
├── _epics/ ← Optional (SAFe/large orgs only)
|
|
198
|
+
│ └── EP-XXX/
|
|
183
199
|
│ └── EPIC.md
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
│ └── FEATURE.md ← Cross-project feature
|
|
187
|
-
└── {project}/ ← Per-project stories (auto-detected!)
|
|
188
|
-
└── {FS-ID}/
|
|
189
|
-
├── README.md ← Project context
|
|
190
|
-
├── us-001-{title}.md ← User story 1
|
|
191
|
-
├── us-002-{title}.md ← User story 2
|
|
192
|
-
└── ...
|
|
200
|
+
└── _archive/ ← Archived features
|
|
201
|
+
└── {project}/FS-XXX/
|
|
193
202
|
|
|
194
203
|
───────────────────────────────────────────────────────
|
|
195
204
|
🎯 WHAT THIS SYNC DID
|
|
196
205
|
───────────────────────────────────────────────────────
|
|
197
206
|
|
|
198
207
|
✅ Parsed increment spec.md
|
|
199
|
-
✅
|
|
200
|
-
✅ Detected
|
|
201
|
-
✅
|
|
202
|
-
✅ Generated hierarchical structure
|
|
208
|
+
✅ Derived Feature ID from increment number (e.g., 0002 → FS-002)
|
|
209
|
+
✅ Detected project folder (or asked user if unsure)
|
|
210
|
+
✅ Generated hierarchical structure in {project}/FS-XXX/
|
|
203
211
|
✅ Created bidirectional links (if tasks.md exists)
|
|
204
212
|
✅ Preserved external tool links (GitHub/Jira/ADO)
|
|
205
213
|
|
|
@@ -306,14 +314,14 @@ Output:
|
|
|
306
314
|
🔍 DRY RUN MODE - No files will be modified
|
|
307
315
|
|
|
308
316
|
Would create/update:
|
|
309
|
-
•
|
|
310
|
-
•
|
|
311
|
-
•
|
|
312
|
-
• User story: backend/FS-25-11-14/us-001-api-sync.md
|
|
313
|
-
• User story: backend/FS-25-11-14/us-002-status-mapping.md
|
|
317
|
+
• Feature: specweave/FS-031/FEATURE.md
|
|
318
|
+
• User story: specweave/FS-031/us-001-api-sync.md
|
|
319
|
+
• User story: specweave/FS-031/us-002-status-mapping.md
|
|
314
320
|
• Tasks.md: Would add 5 user story links
|
|
315
321
|
|
|
316
|
-
Total:
|
|
322
|
+
Total: 4 files would be affected
|
|
323
|
+
|
|
324
|
+
Note: Feature ID FS-031 derived from increment number 0031
|
|
317
325
|
```
|
|
318
326
|
|
|
319
327
|
### --force
|
|
@@ -334,13 +342,14 @@ User: /specweave:sync-specs
|
|
|
334
342
|
Output:
|
|
335
343
|
🎯 Target increment: 0031-external-tool-status-sync
|
|
336
344
|
📁 Increment path: .specweave/increments/0031-external-tool-status-sync
|
|
337
|
-
🔄 Mode: Specs-only sync
|
|
345
|
+
🔄 Mode: Specs-only sync
|
|
338
346
|
|
|
339
347
|
Processing...
|
|
340
348
|
✅ Distribution successful!
|
|
341
349
|
📊 Total stories: 7
|
|
342
350
|
📁 Total files created: 10
|
|
343
|
-
🎯 Feature ID: FS-
|
|
351
|
+
🎯 Feature ID: FS-031 (derived from increment 0031)
|
|
352
|
+
📁 Project folder: specweave/FS-031/
|
|
344
353
|
```
|
|
345
354
|
|
|
346
355
|
### Example 2: Sync Specific Increment
|
|
@@ -366,8 +375,8 @@ Output:
|
|
|
366
375
|
🔍 DRY RUN MODE - No files will be modified
|
|
367
376
|
|
|
368
377
|
Would sync increment: 0031-external-tool-status-sync
|
|
369
|
-
Would create feature: FS-
|
|
370
|
-
Would
|
|
378
|
+
Would create feature: FS-031 (derived from increment 0031)
|
|
379
|
+
Would use project folder: specweave/FS-031/
|
|
371
380
|
Would create 7 user stories
|
|
372
381
|
Would update tasks.md with bidirectional links
|
|
373
382
|
|
|
@@ -402,16 +402,51 @@ class AdoClientV2 {
|
|
|
402
402
|
data += chunk;
|
|
403
403
|
});
|
|
404
404
|
res.on("end", () => {
|
|
405
|
-
|
|
406
|
-
try {
|
|
407
|
-
parsed = data ? JSON.parse(data) : {};
|
|
408
|
-
} catch {
|
|
409
|
-
parsed = { raw: data };
|
|
410
|
-
}
|
|
405
|
+
const looksLikeHtml = data.trim().startsWith("<!DOCTYPE") || data.trim().startsWith("<html") || data.trim().startsWith("<HTML");
|
|
411
406
|
if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
|
|
412
|
-
|
|
407
|
+
if (looksLikeHtml) {
|
|
408
|
+
reject(new Error(
|
|
409
|
+
`Azure DevOps returned HTML instead of JSON (HTTP ${res.statusCode}).
|
|
410
|
+
This usually indicates an authentication or configuration issue.
|
|
411
|
+
|
|
412
|
+
Possible causes:
|
|
413
|
+
\u2022 Invalid or expired Personal Access Token (PAT)
|
|
414
|
+
\u2022 Incorrect organization name "${this.organization}"
|
|
415
|
+
\u2022 Corporate firewall or proxy intercepting the request
|
|
416
|
+
\u2022 SSO/authentication redirect (try accessing Azure DevOps in browser first)`
|
|
417
|
+
));
|
|
418
|
+
return;
|
|
419
|
+
}
|
|
420
|
+
try {
|
|
421
|
+
const parsed = data ? JSON.parse(data) : {};
|
|
422
|
+
resolve(parsed);
|
|
423
|
+
} catch {
|
|
424
|
+
reject(new Error(
|
|
425
|
+
`Azure DevOps returned invalid JSON.
|
|
426
|
+
Response preview: ${data.substring(0, 200)}${data.length > 200 ? "..." : ""}`
|
|
427
|
+
));
|
|
428
|
+
}
|
|
413
429
|
} else {
|
|
414
|
-
|
|
430
|
+
if (looksLikeHtml) {
|
|
431
|
+
reject(new Error(
|
|
432
|
+
`Azure DevOps returned an error page (HTTP ${res.statusCode}).
|
|
433
|
+
This usually indicates an authentication or configuration issue.
|
|
434
|
+
|
|
435
|
+
Possible causes:
|
|
436
|
+
\u2022 Invalid or expired Personal Access Token (PAT)
|
|
437
|
+
\u2022 Incorrect organization name "${this.organization}"
|
|
438
|
+
\u2022 Corporate firewall or proxy intercepting the request
|
|
439
|
+
\u2022 SSO/authentication redirect`
|
|
440
|
+
));
|
|
441
|
+
return;
|
|
442
|
+
}
|
|
443
|
+
let errorMsg = `HTTP ${res.statusCode}`;
|
|
444
|
+
try {
|
|
445
|
+
const parsed = JSON.parse(data);
|
|
446
|
+
errorMsg = parsed.message || `HTTP ${res.statusCode}: ${data.substring(0, 200)}`;
|
|
447
|
+
} catch {
|
|
448
|
+
errorMsg = `HTTP ${res.statusCode}: ${data.substring(0, 200)}`;
|
|
449
|
+
}
|
|
415
450
|
reject(new Error(errorMsg));
|
|
416
451
|
}
|
|
417
452
|
});
|
|
@@ -624,21 +624,61 @@ export class AdoClientV2 {
|
|
|
624
624
|
});
|
|
625
625
|
|
|
626
626
|
res.on('end', () => {
|
|
627
|
-
//
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
} catch {
|
|
632
|
-
parsed = { raw: data };
|
|
633
|
-
}
|
|
627
|
+
// Check for HTML response (indicates auth/config issue)
|
|
628
|
+
const looksLikeHtml = data.trim().startsWith('<!DOCTYPE') ||
|
|
629
|
+
data.trim().startsWith('<html') ||
|
|
630
|
+
data.trim().startsWith('<HTML');
|
|
634
631
|
|
|
635
|
-
// Check status code
|
|
632
|
+
// Check status code first
|
|
636
633
|
if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
|
|
637
|
-
|
|
634
|
+
// Success response
|
|
635
|
+
if (looksLikeHtml) {
|
|
636
|
+
// 200 OK but returned HTML - this is a config issue
|
|
637
|
+
reject(new Error(
|
|
638
|
+
`Azure DevOps returned HTML instead of JSON (HTTP ${res.statusCode}).\n` +
|
|
639
|
+
`This usually indicates an authentication or configuration issue.\n\n` +
|
|
640
|
+
`Possible causes:\n` +
|
|
641
|
+
`• Invalid or expired Personal Access Token (PAT)\n` +
|
|
642
|
+
`• Incorrect organization name "${this.organization}"\n` +
|
|
643
|
+
`• Corporate firewall or proxy intercepting the request\n` +
|
|
644
|
+
`• SSO/authentication redirect (try accessing Azure DevOps in browser first)`
|
|
645
|
+
));
|
|
646
|
+
return;
|
|
647
|
+
}
|
|
648
|
+
|
|
649
|
+
// Parse JSON response
|
|
650
|
+
try {
|
|
651
|
+
const parsed = data ? JSON.parse(data) : {};
|
|
652
|
+
resolve(parsed as T);
|
|
653
|
+
} catch {
|
|
654
|
+
reject(new Error(
|
|
655
|
+
`Azure DevOps returned invalid JSON.\n` +
|
|
656
|
+
`Response preview: ${data.substring(0, 200)}${data.length > 200 ? '...' : ''}`
|
|
657
|
+
));
|
|
658
|
+
}
|
|
638
659
|
} else {
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
660
|
+
// Error response
|
|
661
|
+
if (looksLikeHtml) {
|
|
662
|
+
reject(new Error(
|
|
663
|
+
`Azure DevOps returned an error page (HTTP ${res.statusCode}).\n` +
|
|
664
|
+
`This usually indicates an authentication or configuration issue.\n\n` +
|
|
665
|
+
`Possible causes:\n` +
|
|
666
|
+
`• Invalid or expired Personal Access Token (PAT)\n` +
|
|
667
|
+
`• Incorrect organization name "${this.organization}"\n` +
|
|
668
|
+
`• Corporate firewall or proxy intercepting the request\n` +
|
|
669
|
+
`• SSO/authentication redirect`
|
|
670
|
+
));
|
|
671
|
+
return;
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
// Try to parse error message
|
|
675
|
+
let errorMsg = `HTTP ${res.statusCode}`;
|
|
676
|
+
try {
|
|
677
|
+
const parsed = JSON.parse(data);
|
|
678
|
+
errorMsg = parsed.message || `HTTP ${res.statusCode}: ${data.substring(0, 200)}`;
|
|
679
|
+
} catch {
|
|
680
|
+
errorMsg = `HTTP ${res.statusCode}: ${data.substring(0, 200)}`;
|
|
681
|
+
}
|
|
642
682
|
reject(new Error(errorMsg));
|
|
643
683
|
}
|
|
644
684
|
});
|
|
@@ -152,9 +152,17 @@ const _GitHubFeatureSync = class _GitHubFeatureSync {
|
|
|
152
152
|
* Find Feature folder in specs directory
|
|
153
153
|
*/
|
|
154
154
|
async findFeatureFolder(featureId) {
|
|
155
|
-
const
|
|
156
|
-
|
|
157
|
-
|
|
155
|
+
const projectFolders = await this.findProjectFolders();
|
|
156
|
+
for (const projectFolder of projectFolders) {
|
|
157
|
+
const featureFolder = path.join(projectFolder, featureId);
|
|
158
|
+
if (existsSync(featureFolder) && existsSync(path.join(featureFolder, "FEATURE.md"))) {
|
|
159
|
+
return featureFolder;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
const legacyFolder = path.join(this.specsDir, "_features", featureId);
|
|
163
|
+
if (existsSync(legacyFolder)) {
|
|
164
|
+
console.log(` \u26A0\uFE0F Found feature in legacy _features folder - consider migrating to project folder`);
|
|
165
|
+
return legacyFolder;
|
|
158
166
|
}
|
|
159
167
|
return null;
|
|
160
168
|
}
|