specweave 1.0.454 → 1.0.460

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.
Files changed (32) hide show
  1. package/dist/plugins/specweave-ado/lib/ado-ac-checkbox-sync.d.ts +37 -0
  2. package/dist/plugins/specweave-ado/lib/ado-ac-checkbox-sync.d.ts.map +1 -0
  3. package/dist/plugins/specweave-ado/lib/ado-ac-checkbox-sync.js +240 -0
  4. package/dist/plugins/specweave-ado/lib/ado-ac-checkbox-sync.js.map +1 -0
  5. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts +9 -0
  6. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts.map +1 -1
  7. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js +58 -4
  8. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js.map +1 -1
  9. package/dist/plugins/specweave-jira/lib/content-format-adapter.d.ts.map +1 -1
  10. package/dist/plugins/specweave-jira/lib/content-format-adapter.js +26 -0
  11. package/dist/plugins/specweave-jira/lib/content-format-adapter.js.map +1 -1
  12. package/dist/plugins/specweave-jira/lib/jira-ac-checkbox-sync.d.ts +48 -0
  13. package/dist/plugins/specweave-jira/lib/jira-ac-checkbox-sync.d.ts.map +1 -0
  14. package/dist/plugins/specweave-jira/lib/jira-ac-checkbox-sync.js +274 -0
  15. package/dist/plugins/specweave-jira/lib/jira-ac-checkbox-sync.js.map +1 -0
  16. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts +6 -1
  17. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts.map +1 -1
  18. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js +25 -17
  19. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js.map +1 -1
  20. package/package.json +1 -1
  21. package/plugins/specweave/lib/hooks/update-ac-status.js +63 -0
  22. package/plugins/specweave/lib/hooks/update-ac-status.ts +106 -0
  23. package/plugins/specweave-ado/lib/ado-ac-checkbox-sync.js +244 -0
  24. package/plugins/specweave-ado/lib/ado-ac-checkbox-sync.ts +309 -0
  25. package/plugins/specweave-ado/lib/ado-spec-sync.js +51 -4
  26. package/plugins/specweave-ado/lib/ado-spec-sync.ts +62 -4
  27. package/plugins/specweave-jira/lib/content-format-adapter.js +24 -0
  28. package/plugins/specweave-jira/lib/content-format-adapter.ts +26 -0
  29. package/plugins/specweave-jira/lib/jira-ac-checkbox-sync.js +269 -0
  30. package/plugins/specweave-jira/lib/jira-ac-checkbox-sync.ts +344 -0
  31. package/plugins/specweave-jira/lib/jira-spec-sync.js +21 -16
  32. package/plugins/specweave-jira/lib/jira-spec-sync.ts +27 -18
@@ -0,0 +1,37 @@
1
+ /**
2
+ * ADO AC Checkbox Sync
3
+ *
4
+ * When ACs are marked complete in spec.md, updates the HTML description
5
+ * of the linked ADO work item (☐ → ☑) and posts a progress comment.
6
+ *
7
+ * Mirrors jira-ac-checkbox-sync.ts pattern for ADO.
8
+ * The ADO description is HTML — we use regex to flip ☐/☑ by AC ID.
9
+ */
10
+ import { Logger } from '../../../src/utils/logger.js';
11
+ import type { SpecWeaveConfig } from '../../../src/core/config/types.js';
12
+ export interface AdoACCheckboxSyncResult {
13
+ success: boolean;
14
+ updated: number;
15
+ issues: number[];
16
+ }
17
+ export declare class AdoACCheckboxSync {
18
+ private projectRoot;
19
+ private incrementId;
20
+ private projectId;
21
+ private logger;
22
+ constructor(options: {
23
+ projectRoot: string;
24
+ incrementId: string;
25
+ logger?: Logger;
26
+ });
27
+ syncACCheckboxesToAdo(config: SpecWeaveConfig): Promise<AdoACCheckboxSyncResult>;
28
+ /**
29
+ * Fetch current HTML description, regex-flip ☐/☑ for matching ACs, PATCH back.
30
+ * Posts a comment listing all AC statuses when any AC changed.
31
+ */
32
+ private updateStoryCheckboxes;
33
+ private buildClient;
34
+ private resolveAdoConfig;
35
+ private loadUserStoriesForIncrement;
36
+ }
37
+ //# sourceMappingURL=ado-ac-checkbox-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ado-ac-checkbox-sync.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-ado/lib/ado-ac-checkbox-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAE,MAAM,EAAiB,MAAM,8BAA8B,CAAC;AAIrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAGzE,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,EAAE;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;IAOK,qBAAqB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA2FtF;;;OAGG;YACW,qBAAqB;IA2DnC,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,gBAAgB;YA8BV,2BAA2B;CAoE1C"}
@@ -0,0 +1,240 @@
1
+ /**
2
+ * ADO AC Checkbox Sync
3
+ *
4
+ * When ACs are marked complete in spec.md, updates the HTML description
5
+ * of the linked ADO work item (☐ → ☑) and posts a progress comment.
6
+ *
7
+ * Mirrors jira-ac-checkbox-sync.ts pattern for ADO.
8
+ * The ADO description is HTML — we use regex to flip ☐/☑ by AC ID.
9
+ */
10
+ import { promises as fs, existsSync } from 'fs';
11
+ import path from 'path';
12
+ import yaml from 'yaml';
13
+ import axios from 'axios';
14
+ import { consoleLogger } from '../../../src/utils/logger.js';
15
+ import { autoDetectProjectIdSync } from '../../../src/utils/project-detection.js';
16
+ import { deriveFeatureId } from '../../../src/utils/feature-id-derivation.js';
17
+ import { GitHubACCheckboxSync } from '../../specweave-github/lib/github-ac-checkbox-sync.js';
18
+ export class AdoACCheckboxSync {
19
+ constructor(options) {
20
+ this.projectRoot = options.projectRoot;
21
+ this.incrementId = options.incrementId;
22
+ this.logger = options.logger ?? consoleLogger;
23
+ this.projectId = autoDetectProjectIdSync(this.projectRoot) || 'default';
24
+ }
25
+ async syncACCheckboxesToAdo(config) {
26
+ const result = { success: true, updated: 0, issues: [] };
27
+ try {
28
+ const adoConfig = this.resolveAdoConfig(config);
29
+ if (!adoConfig) {
30
+ this.logger.log('ℹ️ ADO sync not configured — skipping AC checkbox sync');
31
+ return result;
32
+ }
33
+ const client = this.buildClient(adoConfig);
34
+ const specPath = path.join(this.projectRoot, '.specweave/increments', this.incrementId, 'spec.md');
35
+ if (!existsSync(specPath)) {
36
+ this.logger.log('⚠️ spec.md not found');
37
+ return result;
38
+ }
39
+ const specContent = await fs.readFile(specPath, 'utf-8');
40
+ const acStatus = GitHubACCheckboxSync.parseACStatusFromSpec(specContent);
41
+ if (acStatus.size === 0) {
42
+ this.logger.log('ℹ️ No ACs found in spec.md');
43
+ return result;
44
+ }
45
+ this.logger.log(`\n📊 Syncing AC checkboxes to ADO (${acStatus.size} ACs found)...`);
46
+ const userStories = await this.loadUserStoriesForIncrement();
47
+ if (userStories.length === 0) {
48
+ this.logger.log('ℹ️ No user stories found for increment');
49
+ return result;
50
+ }
51
+ for (const usFile of userStories) {
52
+ const adoInfo = usFile.external_tools?.ado;
53
+ const storyId = adoInfo?.id ?? adoInfo?.workItemId;
54
+ if (!storyId) {
55
+ this.logger.log(` ⏭️ ${usFile.id} — no ADO work item ID linked`);
56
+ continue;
57
+ }
58
+ const acPrefix = GitHubACCheckboxSync.buildACPrefix(usFile.id);
59
+ const usAcStatus = new Map();
60
+ for (const [acId, completed] of acStatus) {
61
+ if (acId.startsWith(acPrefix))
62
+ usAcStatus.set(acId, completed);
63
+ }
64
+ if (usAcStatus.size === 0) {
65
+ this.logger.log(` ⏭️ ${usFile.id} — no matching ACs`);
66
+ continue;
67
+ }
68
+ try {
69
+ const updated = await this.updateStoryCheckboxes(client, adoConfig, Number(storyId), usAcStatus);
70
+ if (updated > 0) {
71
+ result.updated += updated;
72
+ result.issues.push(Number(storyId));
73
+ this.logger.log(` ✅ ${usFile.id} #${storyId} — updated ${updated} checkbox(es) + posted comment`);
74
+ }
75
+ else {
76
+ this.logger.log(` ⏭️ ${usFile.id} #${storyId} — no changes needed`);
77
+ }
78
+ }
79
+ catch (err) {
80
+ this.logger.log(` ⚠️ ${usFile.id} #${storyId} — update failed: ${err}`);
81
+ result.success = false;
82
+ }
83
+ }
84
+ this.logger.log(`\n📊 ADO AC Sync: updated ${result.updated} checkbox(es) in ${result.issues.length} work item(s)`);
85
+ return result;
86
+ }
87
+ catch (error) {
88
+ this.logger.error('❌ ADO AC checkbox sync failed:', error);
89
+ result.success = false;
90
+ return result;
91
+ }
92
+ }
93
+ /**
94
+ * Fetch current HTML description, regex-flip ☐/☑ for matching ACs, PATCH back.
95
+ * Posts a comment listing all AC statuses when any AC changed.
96
+ */
97
+ async updateStoryCheckboxes(client, adoConfig, storyId, acStatus) {
98
+ const resp = await client.get(`/wit/workitems/${storyId}?fields=System.Description&api-version=7.0`);
99
+ let description = resp.data?.fields?.['System.Description'] ?? '';
100
+ const original = description;
101
+ let updatedCount = 0;
102
+ for (const [acId, completed] of acStatus) {
103
+ const escaped = acId.replace(/-/g, '\\-');
104
+ // Pattern: ☐ AC-US1-01: or ☑ AC-US1-01:
105
+ const beforeRegex = new RegExp(`(☐|☑)\\s+(${escaped}:)`, 'g');
106
+ const newCheckbox = completed ? '☑' : '☐';
107
+ const replaced = description.replace(beforeRegex, `${newCheckbox} $2`);
108
+ if (replaced !== description) {
109
+ updatedCount++;
110
+ description = replaced;
111
+ }
112
+ }
113
+ if (description === original)
114
+ return 0;
115
+ // PATCH description
116
+ await client.patch(`/wit/workitems/${storyId}?api-version=7.0`, [{ op: 'replace', path: '/fields/System.Description', value: description }], { headers: { 'Content-Type': 'application/json-patch+json' } });
117
+ // Post progress comment
118
+ const completedCount = [...acStatus.values()].filter(Boolean).length;
119
+ const totalCount = acStatus.size;
120
+ const percentage = Math.round((completedCount / totalCount) * 100);
121
+ const acLines = [...acStatus.entries()]
122
+ .map(([id, done]) => `<li>${done ? '✅' : '⬜'} ${id}</li>`)
123
+ .join('\n');
124
+ const commentHtml = `<h3>📊 AC Progress Update</h3>
125
+ <p><strong>Acceptance Criteria</strong>: ${completedCount}/${totalCount} (${percentage}%)</p>
126
+ <ul>
127
+ ${acLines}
128
+ </ul>
129
+ <p>🤖 Auto-updated by SpecWeave AC Completion Gate</p>`;
130
+ await client.post(`/wit/workItems/${storyId}/comments?api-version=7.1-preview.3`, { text: commentHtml });
131
+ return updatedCount;
132
+ }
133
+ buildClient(adoConfig) {
134
+ const token = Buffer.from(`:${adoConfig.pat}`).toString('base64');
135
+ return axios.create({
136
+ baseURL: `https://dev.azure.com/${adoConfig.organization}/${adoConfig.project}/_apis`,
137
+ headers: {
138
+ Authorization: `Basic ${token}`,
139
+ 'Content-Type': 'application/json',
140
+ Accept: 'application/json',
141
+ },
142
+ });
143
+ }
144
+ resolveAdoConfig(config) {
145
+ // Try sync.profiles with provider=ado
146
+ const profiles = config.sync?.profiles;
147
+ if (profiles) {
148
+ for (const profile of Object.values(profiles)) {
149
+ if (profile?.provider === 'ado' && profile?.organization) {
150
+ const pat = profile.personalAccessToken || profile.pat || process.env.AZURE_DEVOPS_PAT || '';
151
+ if (pat)
152
+ return { organization: profile.organization, project: profile.project, pat };
153
+ }
154
+ }
155
+ }
156
+ // Try sync.ado
157
+ const ado = config.sync?.ado;
158
+ if (ado?.organization) {
159
+ const pat = ado.personalAccessToken || ado.pat || process.env.AZURE_DEVOPS_PAT || '';
160
+ if (pat)
161
+ return { organization: ado.organization, project: ado.project, pat };
162
+ }
163
+ // Fallback: env vars
164
+ const pat = process.env.AZURE_DEVOPS_PAT || '';
165
+ const org = process.env.AZURE_DEVOPS_ORG || '';
166
+ const proj = process.env.AZURE_DEVOPS_PROJECT || '';
167
+ if (pat && org && proj)
168
+ return { organization: org, project: proj, pat };
169
+ return null;
170
+ }
171
+ async loadUserStoriesForIncrement() {
172
+ const specFile = path.join(this.projectRoot, '.specweave/increments', this.incrementId, 'spec.md');
173
+ if (!existsSync(specFile))
174
+ return [];
175
+ const content = await fs.readFile(specFile, 'utf-8');
176
+ const frontmatterMatch = content.match(/^---\n([\s\S]*?)\n---/);
177
+ if (!frontmatterMatch)
178
+ return [];
179
+ const frontmatter = yaml.parse(frontmatterMatch[1]);
180
+ let featureId = frontmatter.feature_id || frontmatter.epic || frontmatter.feature;
181
+ if (!featureId) {
182
+ const metadataFile = path.join(this.projectRoot, '.specweave/increments', this.incrementId, 'metadata.json');
183
+ if (existsSync(metadataFile)) {
184
+ try {
185
+ const metadata = JSON.parse(await fs.readFile(metadataFile, 'utf-8'));
186
+ featureId = metadata.feature_id || metadata.epic_id;
187
+ }
188
+ catch { /* ignore */ }
189
+ }
190
+ }
191
+ if (!featureId) {
192
+ try {
193
+ featureId = deriveFeatureId(this.incrementId);
194
+ }
195
+ catch {
196
+ return [];
197
+ }
198
+ }
199
+ const specsRoot = path.join(this.projectRoot, '.specweave/docs/internal/specs');
200
+ const usFiles = [];
201
+ const projectDirs = [];
202
+ const primary = path.join(specsRoot, this.projectId, featureId);
203
+ if (existsSync(primary))
204
+ projectDirs.push(primary);
205
+ if (existsSync(specsRoot)) {
206
+ try {
207
+ for (const proj of await fs.readdir(specsRoot)) {
208
+ if (proj === this.projectId)
209
+ continue;
210
+ const p = path.join(specsRoot, proj, featureId);
211
+ if (existsSync(p))
212
+ projectDirs.push(p);
213
+ }
214
+ }
215
+ catch { /* ignore */ }
216
+ }
217
+ for (const featurePath of projectDirs) {
218
+ for (const file of await fs.readdir(featurePath)) {
219
+ if (!file.startsWith('us-') || !file.endsWith('.md'))
220
+ continue;
221
+ const fileContent = await fs.readFile(path.join(featurePath, file), 'utf-8');
222
+ const match = fileContent.match(/^---\n([\s\S]*?)\n---/);
223
+ if (match) {
224
+ const fm = yaml.parse(match[1]);
225
+ usFiles.push({
226
+ id: fm.id, title: fm.title,
227
+ format_preservation: fm.format_preservation,
228
+ external_title: fm.external_title,
229
+ external_source: fm.external_source,
230
+ external_id: fm.external_id, external_url: fm.external_url,
231
+ imported_at: fm.imported_at, origin: fm.origin,
232
+ external_tools: fm.external_tools || fm.external,
233
+ });
234
+ }
235
+ }
236
+ }
237
+ return usFiles;
238
+ }
239
+ }
240
+ //# sourceMappingURL=ado-ac-checkbox-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ado-ac-checkbox-sync.js","sourceRoot":"","sources":["../../../../plugins/specweave-ado/lib/ado-ac-checkbox-sync.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,15 @@ export declare class AdoSpecSync {
55
55
  * Feature → Epic (Basic process), User Story → Issue (Basic process)
56
56
  */
57
57
  private resolveWorkItemType;
58
+ /**
59
+ * Resolve a work item state name for the given type.
60
+ * Basic process (Issue type) uses: "To Do", "Doing", "Done"
61
+ * Agile/Scrum process uses: "New", "Active", "Closed" / "Resolved" / "Done"
62
+ *
63
+ * Maps canonical states: 'New' → todo, 'Active' → in-progress, 'Closed' → done
64
+ */
65
+ private stateCache;
66
+ private resolveWorkItemState;
58
67
  /**
59
68
  * Sync spec to ADO Feature (CREATE or UPDATE)
60
69
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ado-spec-sync.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-ado/lib/ado-spec-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAGL,cAAc,EAEf,MAAM,0CAA0C,CAAC;AAIlD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE;QACN,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE;QACN,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,cAAc,CAA4B;gBAEtC,MAAM,EAAE,SAAS,EAAE,WAAW,GAAE,MAAsB,EAAE,SAAS,CAAC,EAAE,MAAM;IAoBtF;;;OAGG;YACW,oBAAoB;IAYlC;;;OAGG;YACW,mBAAmB;IAiBjC;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IA+D5D;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAsE1D;;OAEG;YACW,gBAAgB;IAqD9B;;OAEG;YACW,gBAAgB;IAkD9B;;OAEG;YACW,eAAe;IAoD7B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA8BlC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAuBhC;;OAEG;YACW,eAAe;IAwB7B;;OAEG;YACW,gBAAgB;IAiB9B;;OAEG;YACW,eAAe;IAW7B;;OAEG;YACW,gBAAgB;IAgC9B;;OAEG;YACW,WAAW;IAiEzB;;OAEG;YACW,WAAW;IA2DzB;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;;;OAIG;IACH,OAAO,CAAC,YAAY;CAgBrB"}
1
+ {"version":3,"file":"ado-spec-sync.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-ado/lib/ado-spec-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAGL,cAAc,EAEf,MAAM,0CAA0C,CAAC;AAIlD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE;QACN,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE;QACN,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,cAAc,CAA4B;gBAEtC,MAAM,EAAE,SAAS,EAAE,WAAW,GAAE,MAAsB,EAAE,SAAS,CAAC,EAAE,MAAM;IAoBtF;;;OAGG;YACW,oBAAoB;IAYlC;;;OAGG;YACW,mBAAmB;IAiBjC;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,CAAkC;YACtC,oBAAoB;IA+BlC;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IA+D5D;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAsE1D;;OAEG;YACW,gBAAgB;IAqD9B;;OAEG;YACW,gBAAgB;IAkD9B;;OAEG;YACW,eAAe;IAsE7B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA4BlC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAuBhC;;OAEG;YACW,eAAe;IAwB7B;;OAEG;YACW,gBAAgB;IAiB9B;;OAEG;YACW,eAAe;IAW7B;;OAEG;YACW,gBAAgB;IAmC9B;;OAEG;YACW,WAAW;IAiEzB;;OAEG;YACW,WAAW;IA2DzB;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;;;OAIG;IACH,OAAO,CAAC,YAAY;CAgBrB"}
@@ -18,6 +18,14 @@ import axios from 'axios';
18
18
  export class AdoSpecSync {
19
19
  constructor(config, projectRoot = process.cwd(), projectId) {
20
20
  this.availableTypes = null;
21
+ /**
22
+ * Resolve a work item state name for the given type.
23
+ * Basic process (Issue type) uses: "To Do", "Doing", "Done"
24
+ * Agile/Scrum process uses: "New", "Active", "Closed" / "Resolved" / "Done"
25
+ *
26
+ * Maps canonical states: 'New' → todo, 'Active' → in-progress, 'Closed' → done
27
+ */
28
+ this.stateCache = new Map();
21
29
  this.specManager = new SpecMetadataManager(projectRoot, projectId);
22
30
  this.config = config;
23
31
  // Create ADO API client
@@ -72,6 +80,33 @@ export class AdoSpecSync {
72
80
  }
73
81
  return desiredType; // Let ADO reject if truly unavailable
74
82
  }
83
+ async resolveWorkItemState(workItemType, canonicalState) {
84
+ if (!this.stateCache.has(workItemType)) {
85
+ try {
86
+ const resp = await this.client.get(`/wit/workitemtypes/${encodeURIComponent(workItemType)}/states?api-version=7.0`, { headers: { 'Accept': 'application/json' } });
87
+ const states = new Set(resp.data.value.map((s) => s.name));
88
+ this.stateCache.set(workItemType, states);
89
+ }
90
+ catch {
91
+ // Fallback: assume Agile states
92
+ this.stateCache.set(workItemType, new Set(['New', 'Active', 'Resolved', 'Closed']));
93
+ }
94
+ }
95
+ const validStates = this.stateCache.get(workItemType);
96
+ // Preferred state names per canonical state, in priority order
97
+ const candidates = {
98
+ 'New': ['To Do', 'New', 'Open'],
99
+ 'Active': ['Doing', 'Active', 'In Progress', 'In-Progress'],
100
+ 'Closed': ['Done', 'Closed', 'Resolved', 'Completed'],
101
+ };
102
+ for (const candidate of candidates[canonicalState]) {
103
+ if (validStates.has(candidate))
104
+ return candidate;
105
+ }
106
+ // Last resort: return first available state for 'New', last for 'Closed'
107
+ const arr = [...validStates];
108
+ return canonicalState === 'Closed' ? (arr[arr.length - 1] ?? canonicalState) : (arr[0] ?? canonicalState);
109
+ }
75
110
  /**
76
111
  * Sync spec to ADO Feature (CREATE or UPDATE)
77
112
  */
@@ -304,11 +339,14 @@ export class AdoSpecSync {
304
339
  // Check if story already exists (by searching for US-ID in title)
305
340
  const existingStory = await this.findStoryByTitle(us.id);
306
341
  if (existingStory) {
342
+ const resolvedStoryType = await this.resolveWorkItemType('User Story');
343
+ const canonicalState = us.status === 'done' ? 'Closed' : us.status === 'in-progress' ? 'Active' : 'New';
344
+ const resolvedState = await this.resolveWorkItemState(resolvedStoryType, canonicalState);
307
345
  // UPDATE existing story (also re-apply parent to fix orphaned stories)
308
346
  await this.updateStory(existingStory.id, {
309
347
  title: storyTitle,
310
348
  description: storyDescription,
311
- state: us.status === 'done' ? 'Closed' : us.status === 'in-progress' ? 'Active' : 'New',
349
+ state: resolvedState,
312
350
  parentId: featureId
313
351
  });
314
352
  updated.push(us.id);
@@ -327,6 +365,21 @@ export class AdoSpecSync {
327
365
  console.log(` ✅ Created ${us.id} → User Story #${newStory.id}`);
328
366
  }
329
367
  }
368
+ // Auto-close parent Epic when all user stories are done
369
+ const allDone = spec.metadata.userStories.every(us => us.status === 'done');
370
+ if (allDone && spec.metadata.userStories.length > 0 && created.length === 0) {
371
+ try {
372
+ const epicType = await this.resolveWorkItemType('Feature');
373
+ const epicClosedState = await this.resolveWorkItemState(epicType, 'Closed');
374
+ await this.client.patch(`/wit/workitems/${featureId}?api-version=7.0`, [
375
+ { op: 'replace', path: '/fields/System.State', value: epicClosedState }
376
+ ], { headers: { 'Content-Type': 'application/json-patch+json' } });
377
+ console.log(` ✅ All stories done — closed parent Epic #${featureId} (state: ${epicClosedState})`);
378
+ }
379
+ catch {
380
+ // Non-blocking — state transition may not be valid for all ADO project configs
381
+ }
382
+ }
330
383
  return { created, updated, deleted };
331
384
  }
332
385
  /**
@@ -356,8 +409,6 @@ ${SpecParser.extractOverview(spec.markdown).replace(/\n/g, '<br>')}
356
409
  <p>${spec.metadata.userStories?.length || 0} user stories tracked in this feature.</p>
357
410
 
358
411
  <hr>
359
-
360
- <p>Last updated: ${new Date().toISOString()}</p>
361
412
  `.trim();
362
413
  }
363
414
  /**
@@ -436,11 +487,14 @@ ${acList}
436
487
  * Find story by title pattern
437
488
  */
438
489
  async findStoryByTitle(usId) {
490
+ // Use the resolved type ('Issue' for Basic process, 'User Story' for Agile) so the
491
+ // WIQL query matches exactly what createStory() created — prevents duplicate creation.
492
+ const resolvedType = await this.resolveWorkItemType('User Story');
439
493
  const wiql = `
440
494
  SELECT [System.Id], [System.Title], [System.Description], [System.State]
441
495
  FROM WorkItems
442
496
  WHERE [System.TeamProject] = '${this.config.project}'
443
- AND [System.WorkItemType] = 'User Story'
497
+ AND [System.WorkItemType] = '${resolvedType}'
444
498
  AND [System.Title] CONTAINS '[${usId}]'
445
499
  `;
446
500
  const response = await this.client.post('/wit/wiql?api-version=7.0', {
@@ -1 +1 @@
1
- {"version":3,"file":"ado-spec-sync.js","sourceRoot":"","sources":["../../../../plugins/specweave-ado/lib/ado-spec-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ado-spec-sync.js","sourceRoot":"","sources":["../../../../plugins/specweave-ado/lib/ado-spec-sync.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"content-format-adapter.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/content-format-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,wBAAwB;AACxB,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,KAAK,CAAC;IACZ,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,OAAO,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC,CAAC;CAC9D;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAgH/C;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAMhF;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAEhF;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAEhF"}
1
+ {"version":3,"file":"content-format-adapter.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/content-format-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,wBAAwB;AACxB,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,KAAK,CAAC;IACZ,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,OAAO,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC,CAAC;CAC9D;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CA0I/C;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAMhF;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAEhF;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAEhF"}
@@ -69,6 +69,32 @@ export function toADF(text) {
69
69
  }
70
70
  continue;
71
71
  }
72
+ // Task item: [ ] text or [x] text → ADF taskList/taskItem (native JIRA checkboxes)
73
+ const taskMatch = line.match(/^\[( |x)\]\s+(.+)$/i);
74
+ if (taskMatch) {
75
+ flushParagraph();
76
+ const isDone = taskMatch[1].toLowerCase() === 'x';
77
+ const taskItem = {
78
+ type: 'taskItem',
79
+ attrs: {
80
+ localId: `task-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`,
81
+ state: isDone ? 'DONE' : 'TODO',
82
+ },
83
+ content: [{ type: 'text', text: taskMatch[2] }],
84
+ };
85
+ const lastNode = content[content.length - 1];
86
+ if (lastNode && lastNode.type === 'taskList' && lastNode.content) {
87
+ lastNode.content.push(taskItem);
88
+ }
89
+ else {
90
+ content.push({
91
+ type: 'taskList',
92
+ attrs: { localId: `list-${Date.now()}-${Math.random().toString(36).slice(2, 7)}` },
93
+ content: [taskItem],
94
+ });
95
+ }
96
+ continue;
97
+ }
72
98
  // Empty line = paragraph break
73
99
  if (line.trim() === '') {
74
100
  flushParagraph();
@@ -1 +1 @@
1
- {"version":3,"file":"content-format-adapter.js","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/content-format-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-format-adapter.js","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/content-format-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * JIRA AC Checkbox Sync
3
+ *
4
+ * Mirrors github-ac-checkbox-sync.ts — updates native JIRA taskItem checkbox
5
+ * states when ACs are marked complete in spec.md.
6
+ *
7
+ * Strategy: fetch current ADF description from JIRA → walk taskItem nodes →
8
+ * update state (TODO/DONE) based on current spec.md AC status → PUT back.
9
+ * This preserves any manual edits made directly in JIRA.
10
+ *
11
+ * No comments are posted — only the description checkboxes are updated.
12
+ */
13
+ import { Logger } from '../../../src/utils/logger.js';
14
+ import type { SpecWeaveConfig } from '../../../src/core/config/types.js';
15
+ export interface JiraACCheckboxSyncResult {
16
+ success: boolean;
17
+ updated: number;
18
+ issues: string[];
19
+ }
20
+ export declare class JiraACCheckboxSync {
21
+ private projectRoot;
22
+ private incrementId;
23
+ private projectId;
24
+ private logger;
25
+ constructor(options: {
26
+ projectRoot: string;
27
+ incrementId: string;
28
+ logger?: Logger;
29
+ });
30
+ syncACCheckboxesToJira(config: SpecWeaveConfig): Promise<JiraACCheckboxSyncResult>;
31
+ /**
32
+ * Fetch the current ADF description from JIRA, walk taskItem nodes,
33
+ * update state based on acStatus map, then PUT back.
34
+ */
35
+ private updateStoryCheckboxes;
36
+ /** Recursively walk ADF nodes calling visitor for each */
37
+ private walkAdf;
38
+ /** Extract plain text from an ADF node (concat all text leaves) */
39
+ private extractText;
40
+ private buildClient;
41
+ private resolveJiraConfig;
42
+ /**
43
+ * Load user stories from living docs for the increment.
44
+ * Reuses the same logic as GitHubACCheckboxSync.
45
+ */
46
+ private loadUserStoriesForIncrement;
47
+ }
48
+ //# sourceMappingURL=jira-ac-checkbox-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-ac-checkbox-sync.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/jira-ac-checkbox-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,EAAE,MAAM,EAAiB,MAAM,8BAA8B,CAAC;AAIrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAIzE,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,EAAE;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;IAOK,sBAAsB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAiGxF;;;OAGG;YACW,qBAAqB;IAyCnC,0DAA0D;IAC1D,OAAO,CAAC,OAAO;IASf,mEAAmE;IACnE,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,iBAAiB;IAuCzB;;;OAGG;YACW,2BAA2B;CAkF1C"}