@mcp-consultant-tools/azure-devops 27.0.0-beta.1 → 27.0.0-beta.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.
Files changed (40) hide show
  1. package/build/AzureDevOpsService.d.ts +64 -0
  2. package/build/AzureDevOpsService.d.ts.map +1 -1
  3. package/build/AzureDevOpsService.js +424 -2
  4. package/build/AzureDevOpsService.js.map +1 -1
  5. package/build/index.d.ts.map +1 -1
  6. package/build/index.js +991 -13
  7. package/build/index.js.map +1 -1
  8. package/build/sync/file-utils.d.ts +86 -0
  9. package/build/sync/file-utils.d.ts.map +1 -0
  10. package/build/sync/file-utils.js +224 -0
  11. package/build/sync/file-utils.js.map +1 -0
  12. package/build/sync/git-utils.d.ts +31 -0
  13. package/build/sync/git-utils.d.ts.map +1 -0
  14. package/build/sync/git-utils.js +116 -0
  15. package/build/sync/git-utils.js.map +1 -0
  16. package/build/sync/html-converter.d.ts +32 -0
  17. package/build/sync/html-converter.d.ts.map +1 -0
  18. package/build/sync/html-converter.js +91 -0
  19. package/build/sync/html-converter.js.map +1 -0
  20. package/build/sync/html-detection.d.ts +93 -0
  21. package/build/sync/html-detection.d.ts.map +1 -0
  22. package/build/sync/html-detection.js +169 -0
  23. package/build/sync/html-detection.js.map +1 -0
  24. package/build/sync/index.d.ts +12 -0
  25. package/build/sync/index.d.ts.map +1 -0
  26. package/build/sync/index.js +12 -0
  27. package/build/sync/index.js.map +1 -0
  28. package/build/sync/markdown-serializer.d.ts +136 -0
  29. package/build/sync/markdown-serializer.d.ts.map +1 -0
  30. package/build/sync/markdown-serializer.js +646 -0
  31. package/build/sync/markdown-serializer.js.map +1 -0
  32. package/build/sync/task-serializer.d.ts +93 -0
  33. package/build/sync/task-serializer.d.ts.map +1 -0
  34. package/build/sync/task-serializer.js +395 -0
  35. package/build/sync/task-serializer.js.map +1 -0
  36. package/build/tool-examples.d.ts +56 -0
  37. package/build/tool-examples.d.ts.map +1 -0
  38. package/build/tool-examples.js +142 -0
  39. package/build/tool-examples.js.map +1 -0
  40. package/package.json +3 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-serializer.js","sourceRoot":"","sources":["../../src/sync/markdown-serializer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Task Serialization Utilities
3
+ *
4
+ * Convert between ADO Task work items and local markdown files.
5
+ * Tasks are stored in a single file per parent User Story: {parentId}-tasks.md
6
+ * Supports upsert: update existing tasks or create new ones.
7
+ */
8
+ /**
9
+ * Task field names in ADO API
10
+ */
11
+ export declare const TASK_FIELDS: {
12
+ readonly title: "System.Title";
13
+ readonly description: "System.Description";
14
+ readonly state: "System.State";
15
+ readonly assignedTo: "System.AssignedTo";
16
+ readonly originalEstimate: "Microsoft.VSTS.Scheduling.OriginalEstimate";
17
+ readonly remainingWork: "Microsoft.VSTS.Scheduling.RemainingWork";
18
+ readonly completedWork: "Microsoft.VSTS.Scheduling.CompletedWork";
19
+ readonly effort: "Microsoft.VSTS.Scheduling.Effort";
20
+ readonly parent: "System.Parent";
21
+ readonly areaPath: "System.AreaPath";
22
+ readonly iterationPath: "System.IterationPath";
23
+ };
24
+ /**
25
+ * Parsed task from markdown
26
+ */
27
+ export interface ParsedTask {
28
+ id: number | null;
29
+ title: string;
30
+ state: string;
31
+ assignedTo?: string;
32
+ originalEstimate?: number;
33
+ remainingWork?: number;
34
+ completedWork?: number;
35
+ effort?: number;
36
+ revision?: number;
37
+ description?: string;
38
+ }
39
+ /**
40
+ * Tasks file frontmatter
41
+ */
42
+ export interface TasksFileFrontmatter {
43
+ parentId: number;
44
+ parentTitle: string;
45
+ project: string;
46
+ lastSyncedAt: string;
47
+ }
48
+ /**
49
+ * Parsed tasks file
50
+ */
51
+ export interface ParsedTasksFile {
52
+ frontmatter: TasksFileFrontmatter;
53
+ tasks: ParsedTask[];
54
+ rawContent: string;
55
+ }
56
+ /**
57
+ * Convert ADO tasks to markdown file content
58
+ *
59
+ * @param parentWorkItem - The parent work item (User Story)
60
+ * @param tasks - Array of task work items
61
+ * @param project - Project name
62
+ * @returns Markdown content
63
+ */
64
+ export declare function tasksToMarkdown(parentWorkItem: any, tasks: any[], project: string): string;
65
+ /**
66
+ * Parse a tasks markdown file to extract frontmatter and tasks
67
+ */
68
+ export declare function parseTasksMarkdown(content: string): ParsedTasksFile;
69
+ /**
70
+ * Build patch operations for updating a task in ADO
71
+ */
72
+ export declare function buildTaskPatchOperations(parsedTask: ParsedTask, currentTask: any, skipAutoConvert?: boolean): {
73
+ operations: any[];
74
+ fieldsUpdated: string[];
75
+ convertedFields: string[];
76
+ };
77
+ /**
78
+ * Build fields object for creating a new task in ADO
79
+ */
80
+ export declare function buildNewTaskFields(parsedTask: ParsedTask, areaPath?: string, iterationPath?: string): Record<string, any>;
81
+ /**
82
+ * Get the file path for a tasks file
83
+ */
84
+ export declare function getTasksFilePath(folder: string, parentId: number): string;
85
+ /**
86
+ * Update the tasks file after creating new tasks
87
+ * Replaces "## NEW TASK" sections with "## Task #ID" after creation
88
+ */
89
+ export declare function updateTasksFileAfterCreate(content: string, createdTasks: {
90
+ title: string;
91
+ id: number;
92
+ }[]): string;
93
+ //# sourceMappingURL=task-serializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-serializer.d.ts","sourceRoot":"","sources":["../../src/sync/task-serializer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;CAYd,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,oBAAoB,CAAC;IAClC,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AA6ED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,cAAc,EAAE,GAAG,EACnB,KAAK,EAAE,GAAG,EAAE,EACZ,OAAO,EAAE,MAAM,GACd,MAAM,CA0DR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAgDnE;AA4DD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,GAAG,EAChB,eAAe,GAAE,OAAe,GAC/B;IAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,CA8E3E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,UAAU,EACtB,QAAQ,CAAC,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAmCrB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,GAC5C,MAAM,CAiCR"}
@@ -0,0 +1,395 @@
1
+ /**
2
+ * Task Serialization Utilities
3
+ *
4
+ * Convert between ADO Task work items and local markdown files.
5
+ * Tasks are stored in a single file per parent User Story: {parentId}-tasks.md
6
+ * Supports upsert: update existing tasks or create new ones.
7
+ */
8
+ import { isHtmlContent } from './html-detection.js';
9
+ /**
10
+ * Task field names in ADO API
11
+ */
12
+ export const TASK_FIELDS = {
13
+ title: 'System.Title',
14
+ description: 'System.Description',
15
+ state: 'System.State',
16
+ assignedTo: 'System.AssignedTo',
17
+ originalEstimate: 'Microsoft.VSTS.Scheduling.OriginalEstimate',
18
+ remainingWork: 'Microsoft.VSTS.Scheduling.RemainingWork',
19
+ completedWork: 'Microsoft.VSTS.Scheduling.CompletedWork',
20
+ effort: 'Microsoft.VSTS.Scheduling.Effort',
21
+ parent: 'System.Parent',
22
+ areaPath: 'System.AreaPath',
23
+ iterationPath: 'System.IterationPath',
24
+ };
25
+ /**
26
+ * Simple YAML serializer for frontmatter
27
+ */
28
+ function serializeFrontmatter(data) {
29
+ const lines = ['---'];
30
+ for (const [key, value] of Object.entries(data)) {
31
+ if (value === undefined || value === null)
32
+ continue;
33
+ if (typeof value === 'string') {
34
+ // Quote strings that might be parsed as other types or contain special chars
35
+ if (value.includes(':') || value.includes('#') || value.includes('\n') ||
36
+ value.match(/^[\d.]+$/) || value === 'true' || value === 'false' ||
37
+ value === 'null' || value === '') {
38
+ lines.push(`${key}: "${value.replace(/"/g, '\\"')}"`);
39
+ }
40
+ else {
41
+ lines.push(`${key}: ${value}`);
42
+ }
43
+ }
44
+ else if (typeof value === 'number' || typeof value === 'boolean') {
45
+ lines.push(`${key}: ${value}`);
46
+ }
47
+ }
48
+ lines.push('---');
49
+ return lines.join('\n');
50
+ }
51
+ /**
52
+ * Simple YAML parser for frontmatter
53
+ */
54
+ function parseFrontmatter(yamlContent) {
55
+ const result = {};
56
+ const lines = yamlContent.split('\n');
57
+ for (const line of lines) {
58
+ if (!line.trim())
59
+ continue;
60
+ const match = line.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\s*:\s*(.*)?$/);
61
+ if (match) {
62
+ const key = match[1];
63
+ const rawValue = match[2]?.trim();
64
+ if (rawValue) {
65
+ result[key] = parseYamlValue(rawValue);
66
+ }
67
+ }
68
+ }
69
+ return result;
70
+ }
71
+ /**
72
+ * Parse a YAML value string to appropriate type
73
+ */
74
+ function parseYamlValue(value) {
75
+ // Remove quotes
76
+ if ((value.startsWith('"') && value.endsWith('"')) ||
77
+ (value.startsWith("'") && value.endsWith("'"))) {
78
+ return value.slice(1, -1).replace(/\\"/g, '"');
79
+ }
80
+ // Boolean
81
+ if (value === 'true')
82
+ return true;
83
+ if (value === 'false')
84
+ return false;
85
+ // Null
86
+ if (value === 'null' || value === '~')
87
+ return null;
88
+ // Number
89
+ if (value.match(/^-?\d+$/))
90
+ return parseInt(value, 10);
91
+ if (value.match(/^-?\d+\.\d+$/))
92
+ return parseFloat(value);
93
+ return value;
94
+ }
95
+ /**
96
+ * Convert ADO tasks to markdown file content
97
+ *
98
+ * @param parentWorkItem - The parent work item (User Story)
99
+ * @param tasks - Array of task work items
100
+ * @param project - Project name
101
+ * @returns Markdown content
102
+ */
103
+ export function tasksToMarkdown(parentWorkItem, tasks, project) {
104
+ const parentFields = parentWorkItem.fields || {};
105
+ const frontmatter = {
106
+ parentId: parentWorkItem.id,
107
+ parentTitle: parentFields['System.Title'] || '',
108
+ project,
109
+ lastSyncedAt: new Date().toISOString(),
110
+ };
111
+ let content = serializeFrontmatter(frontmatter);
112
+ content += `\n\n# Tasks for User Story #${parentWorkItem.id}\n\n`;
113
+ content += `> **Note**: This file supports upsert - edit existing tasks or add new ones below.\n\n`;
114
+ if (tasks.length === 0) {
115
+ content += `_No tasks found for this User Story._\n\n`;
116
+ content += `---\n\n`;
117
+ content += `## NEW TASK\n`;
118
+ content += `**Title**: \n`;
119
+ content += `**State**: New\n`;
120
+ content += `**Assigned To**: \n`;
121
+ content += `**Original Estimate**: \n`;
122
+ content += `**Remaining Work**: \n`;
123
+ content += `**Completed Work**: 0\n`;
124
+ content += `**Effort**: \n\n`;
125
+ content += `### Description\n\n`;
126
+ content += `_Add task description here_\n`;
127
+ }
128
+ else {
129
+ for (const task of tasks) {
130
+ const fields = task.fields || {};
131
+ const taskId = task.id;
132
+ const revision = task.rev || task._rev || 1;
133
+ content += `---\n\n`;
134
+ content += `## Task #${taskId}\n`;
135
+ content += `**Title**: ${fields['System.Title'] || ''}\n`;
136
+ content += `**State**: ${fields['System.State'] || 'New'}\n`;
137
+ content += `**Assigned To**: ${fields['System.AssignedTo']?.displayName || ''}\n`;
138
+ content += `**Original Estimate**: ${fields['Microsoft.VSTS.Scheduling.OriginalEstimate'] ?? ''}\n`;
139
+ content += `**Remaining Work**: ${fields['Microsoft.VSTS.Scheduling.RemainingWork'] ?? ''}\n`;
140
+ content += `**Completed Work**: ${fields['Microsoft.VSTS.Scheduling.CompletedWork'] ?? ''}\n`;
141
+ content += `**Effort**: ${fields['Microsoft.VSTS.Scheduling.Effort'] ?? ''}\n`;
142
+ content += `**Revision**: ${revision}\n\n`;
143
+ content += `### Description\n\n`;
144
+ const description = fields['System.Description'] || '';
145
+ if (description && !isHtmlContent(description)) {
146
+ content += description.trim();
147
+ }
148
+ else if (description && isHtmlContent(description)) {
149
+ content += `_Description is HTML format - not displayed_`;
150
+ }
151
+ else {
152
+ content += `_No description_`;
153
+ }
154
+ content += `\n\n`;
155
+ }
156
+ }
157
+ return content;
158
+ }
159
+ /**
160
+ * Parse a tasks markdown file to extract frontmatter and tasks
161
+ */
162
+ export function parseTasksMarkdown(content) {
163
+ // Extract frontmatter between ---
164
+ const frontmatterMatch = content.match(/^---\n([\s\S]*?)\n---/);
165
+ if (!frontmatterMatch) {
166
+ throw new Error('Invalid tasks markdown file: missing YAML frontmatter');
167
+ }
168
+ const frontmatterRaw = frontmatterMatch[1];
169
+ const frontmatterData = parseFrontmatter(frontmatterRaw);
170
+ // Validate required fields
171
+ if (!frontmatterData.parentId || typeof frontmatterData.parentId !== 'number') {
172
+ throw new Error('Invalid tasks markdown file: missing or invalid "parentId" in frontmatter');
173
+ }
174
+ const frontmatter = {
175
+ parentId: frontmatterData.parentId,
176
+ parentTitle: frontmatterData.parentTitle || '',
177
+ project: frontmatterData.project || '',
178
+ lastSyncedAt: frontmatterData.lastSyncedAt || '',
179
+ };
180
+ // Extract content after frontmatter
181
+ const contentAfterFrontmatter = content.slice(frontmatterMatch[0].length);
182
+ // Parse all task sections
183
+ const tasks = [];
184
+ // Match task sections: either ## Task #NNNNN or ## NEW TASK
185
+ const taskSectionRegex = /##\s+(Task\s+#(\d+)|NEW\s+TASK)\s*\n([\s\S]*?)(?=\n---|\n##\s+(?:Task|NEW)|$)/gi;
186
+ let match;
187
+ while ((match = taskSectionRegex.exec(contentAfterFrontmatter)) !== null) {
188
+ const isNewTask = match[1].toUpperCase().startsWith('NEW');
189
+ const taskId = isNewTask ? null : parseInt(match[2], 10);
190
+ const taskContent = match[3];
191
+ const task = parseTaskSection(taskContent, taskId);
192
+ if (task.title) { // Only include tasks with a title
193
+ tasks.push(task);
194
+ }
195
+ }
196
+ return {
197
+ frontmatter,
198
+ tasks,
199
+ rawContent: content,
200
+ };
201
+ }
202
+ /**
203
+ * Parse a single task section
204
+ */
205
+ function parseTaskSection(content, taskId) {
206
+ const task = {
207
+ id: taskId,
208
+ title: '',
209
+ state: 'New',
210
+ };
211
+ // Extract field values using regex
212
+ const extractField = (fieldName) => {
213
+ const regex = new RegExp(`\\*\\*${fieldName}\\*\\*:\\s*(.*)`, 'i');
214
+ const match = content.match(regex);
215
+ return match ? match[1].trim() : undefined;
216
+ };
217
+ const extractNumericField = (fieldName) => {
218
+ const value = extractField(fieldName);
219
+ if (!value || value === '')
220
+ return undefined;
221
+ const num = parseFloat(value);
222
+ return isNaN(num) ? undefined : num;
223
+ };
224
+ task.title = extractField('Title') || '';
225
+ task.state = extractField('State') || 'New';
226
+ const assignedTo = extractField('Assigned To');
227
+ if (assignedTo)
228
+ task.assignedTo = assignedTo;
229
+ const originalEstimate = extractNumericField('Original Estimate');
230
+ if (originalEstimate !== undefined)
231
+ task.originalEstimate = originalEstimate;
232
+ const remainingWork = extractNumericField('Remaining Work');
233
+ if (remainingWork !== undefined)
234
+ task.remainingWork = remainingWork;
235
+ const completedWork = extractNumericField('Completed Work');
236
+ if (completedWork !== undefined)
237
+ task.completedWork = completedWork;
238
+ const effort = extractNumericField('Effort');
239
+ if (effort !== undefined)
240
+ task.effort = effort;
241
+ const revision = extractNumericField('Revision');
242
+ if (revision !== undefined)
243
+ task.revision = revision;
244
+ // Extract description (content after ### Description)
245
+ const descriptionMatch = content.match(/###\s*Description\s*\n([\s\S]*?)$/i);
246
+ if (descriptionMatch) {
247
+ const desc = descriptionMatch[1].trim();
248
+ if (desc && desc !== '_No description_' && desc !== '_Add task description here_' &&
249
+ !desc.startsWith('_Description is HTML')) {
250
+ task.description = desc;
251
+ }
252
+ }
253
+ return task;
254
+ }
255
+ /**
256
+ * Build patch operations for updating a task in ADO
257
+ */
258
+ export function buildTaskPatchOperations(parsedTask, currentTask, skipAutoConvert = false) {
259
+ const operations = [];
260
+ const fieldsUpdated = [];
261
+ const convertedFields = [];
262
+ const currentFields = currentTask.fields || {};
263
+ // Helper to add operation if value changed
264
+ const addIfChanged = (fieldPath, newValue, fieldName) => {
265
+ const currentValue = currentFields[fieldPath];
266
+ // Handle null/undefined/empty string comparisons
267
+ const normalizedNew = newValue === '' || newValue === undefined ? null : newValue;
268
+ const normalizedCurrent = currentValue === '' || currentValue === undefined ? null : currentValue;
269
+ // For AssignedTo, we only get displayName from the file but ADO stores an object
270
+ if (fieldPath === TASK_FIELDS.assignedTo) {
271
+ // Skip if we can't properly compare (would need email/ID to set)
272
+ return;
273
+ }
274
+ if (normalizedNew !== normalizedCurrent) {
275
+ if (normalizedNew === null) {
276
+ // Remove the field
277
+ operations.push({
278
+ op: 'remove',
279
+ path: `/fields/${fieldPath}`,
280
+ });
281
+ }
282
+ else {
283
+ operations.push({
284
+ op: currentValue !== undefined && currentValue !== null ? 'replace' : 'add',
285
+ path: `/fields/${fieldPath}`,
286
+ value: newValue,
287
+ });
288
+ }
289
+ fieldsUpdated.push(fieldName);
290
+ }
291
+ };
292
+ // Check each field
293
+ addIfChanged(TASK_FIELDS.title, parsedTask.title, 'Title');
294
+ addIfChanged(TASK_FIELDS.state, parsedTask.state, 'State');
295
+ addIfChanged(TASK_FIELDS.originalEstimate, parsedTask.originalEstimate, 'OriginalEstimate');
296
+ addIfChanged(TASK_FIELDS.remainingWork, parsedTask.remainingWork, 'RemainingWork');
297
+ addIfChanged(TASK_FIELDS.completedWork, parsedTask.completedWork, 'CompletedWork');
298
+ addIfChanged(TASK_FIELDS.effort, parsedTask.effort, 'Effort');
299
+ // Check description - always try to set markdown format when writing
300
+ const currentDescription = currentFields[TASK_FIELDS.description] || '';
301
+ const newDescription = parsedTask.description || '';
302
+ const descriptionIsHtml = isHtmlContent(currentDescription);
303
+ if (descriptionIsHtml && skipAutoConvert) {
304
+ // Skip HTML field when skipAutoConvert is true
305
+ // Don't add to fieldsUpdated since we're skipping
306
+ }
307
+ else if (newDescription !== currentDescription || descriptionIsHtml) {
308
+ // Write field value AND always try to set markdown format
309
+ operations.push({
310
+ op: currentDescription ? 'replace' : 'add',
311
+ path: `/fields/${TASK_FIELDS.description}`,
312
+ value: newDescription,
313
+ });
314
+ // Always add format op - API silently ignores if not applicable
315
+ operations.push({
316
+ op: 'add',
317
+ path: `/multilineFieldsFormat/${TASK_FIELDS.description}`,
318
+ value: 'Markdown',
319
+ });
320
+ fieldsUpdated.push('Description');
321
+ if (descriptionIsHtml) {
322
+ convertedFields.push('Description');
323
+ }
324
+ }
325
+ return { operations, fieldsUpdated, convertedFields };
326
+ }
327
+ /**
328
+ * Build fields object for creating a new task in ADO
329
+ */
330
+ export function buildNewTaskFields(parsedTask, areaPath, iterationPath) {
331
+ const fields = {
332
+ [TASK_FIELDS.title]: parsedTask.title,
333
+ [TASK_FIELDS.state]: parsedTask.state || 'New',
334
+ };
335
+ if (parsedTask.description) {
336
+ fields[TASK_FIELDS.description] = parsedTask.description;
337
+ }
338
+ if (parsedTask.originalEstimate !== undefined) {
339
+ fields[TASK_FIELDS.originalEstimate] = parsedTask.originalEstimate;
340
+ }
341
+ if (parsedTask.remainingWork !== undefined) {
342
+ fields[TASK_FIELDS.remainingWork] = parsedTask.remainingWork;
343
+ }
344
+ if (parsedTask.completedWork !== undefined) {
345
+ fields[TASK_FIELDS.completedWork] = parsedTask.completedWork;
346
+ }
347
+ if (parsedTask.effort !== undefined) {
348
+ fields[TASK_FIELDS.effort] = parsedTask.effort;
349
+ }
350
+ if (areaPath) {
351
+ fields[TASK_FIELDS.areaPath] = areaPath;
352
+ }
353
+ if (iterationPath) {
354
+ fields[TASK_FIELDS.iterationPath] = iterationPath;
355
+ }
356
+ return fields;
357
+ }
358
+ /**
359
+ * Get the file path for a tasks file
360
+ */
361
+ export function getTasksFilePath(folder, parentId) {
362
+ return `${folder}/${parentId}-tasks.md`;
363
+ }
364
+ /**
365
+ * Update the tasks file after creating new tasks
366
+ * Replaces "## NEW TASK" sections with "## Task #ID" after creation
367
+ */
368
+ export function updateTasksFileAfterCreate(content, createdTasks) {
369
+ let updatedContent = content;
370
+ // Update lastSyncedAt
371
+ updatedContent = updatedContent.replace(/lastSyncedAt:\s*[^\n]+/, `lastSyncedAt: ${new Date().toISOString()}`);
372
+ // Replace each NEW TASK with its actual ID based on title matching
373
+ for (const created of createdTasks) {
374
+ // Find NEW TASK section with matching title
375
+ const newTaskRegex = new RegExp(`(##\\s+NEW\\s+TASK\\s*\\n\\*\\*Title\\*\\*:\\s*${escapeRegex(created.title)}[\\s\\S]*?)(?=\\n---\\n|\\n##\\s+(?:Task|NEW)|$)`, 'i');
376
+ const match = updatedContent.match(newTaskRegex);
377
+ if (match) {
378
+ // Replace the NEW TASK header with Task #ID
379
+ const section = match[1];
380
+ const updatedSection = section
381
+ .replace(/##\s+NEW\s+TASK/i, `## Task #${created.id}`)
382
+ // Add Revision: 1 after the last field before ### Description
383
+ .replace(/(\*\*Effort\*\*:\s*[^\n]*\n)(\n###\s*Description)/i, `$1**Revision**: 1\n$2`);
384
+ updatedContent = updatedContent.replace(section, updatedSection);
385
+ }
386
+ }
387
+ return updatedContent;
388
+ }
389
+ /**
390
+ * Escape special regex characters
391
+ */
392
+ function escapeRegex(str) {
393
+ return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
394
+ }
395
+ //# sourceMappingURL=task-serializer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-serializer.js","sourceRoot":"","sources":["../../src/sync/task-serializer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Tool Use Examples for Azure DevOps MCP Tools
3
+ *
4
+ * Provides inline examples embedded in Zod `.describe()` strings to improve
5
+ * LLM accuracy when calling these tools. Based on Anthropic research showing
6
+ * 72% → 90% accuracy improvement with examples.
7
+ */
8
+ /**
9
+ * Helper function to append examples to a description string.
10
+ * Formats examples as a bulleted list for easy parsing by LLMs.
11
+ */
12
+ export declare function descWithExamples(description: string, examples: {
13
+ label: string;
14
+ value: string;
15
+ }[]): string;
16
+ export declare const WIQL_EXAMPLES: {
17
+ label: string;
18
+ value: string;
19
+ }[];
20
+ export declare const PATCH_OP_EXAMPLES: {
21
+ label: string;
22
+ value: string;
23
+ }[];
24
+ export declare const WORK_ITEM_FIELD_EXAMPLES: {
25
+ label: string;
26
+ value: string;
27
+ }[];
28
+ export declare const SYNC_TO_FILE_EXAMPLES: {
29
+ label: string;
30
+ value: string;
31
+ }[];
32
+ export declare const SYNC_FROM_FILE_EXAMPLES: {
33
+ label: string;
34
+ value: string;
35
+ }[];
36
+ export declare const SYNC_TASKS_TO_FILE_EXAMPLES: {
37
+ label: string;
38
+ value: string;
39
+ }[];
40
+ export declare const SYNC_TASKS_FROM_FILE_EXAMPLES: {
41
+ label: string;
42
+ value: string;
43
+ }[];
44
+ export declare const PR_BRANCH_REF_EXAMPLES: {
45
+ label: string;
46
+ value: string;
47
+ }[];
48
+ export declare const PR_MERGE_STRATEGY_EXAMPLES: {
49
+ label: string;
50
+ value: string;
51
+ }[];
52
+ export declare const PR_VOTE_EXAMPLES: {
53
+ label: string;
54
+ value: string;
55
+ }[];
56
+ //# sourceMappingURL=tool-examples.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-examples.d.ts","sourceRoot":"","sources":["../src/tool-examples.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,GAC3C,MAAM,CAMR;AAMD,eAAO,MAAM,aAAa;;;GAazB,CAAC;AAMF,eAAO,MAAM,iBAAiB;;;GAa7B,CAAC;AAMF,eAAO,MAAM,wBAAwB;;;GAapC,CAAC;AAMF,eAAO,MAAM,qBAAqB;;;GAiBjC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;GASnC,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;GASvC,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;GASzC,CAAC;AAMF,eAAO,MAAM,sBAAsB;;;GAIlC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;GAKtC,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;GAK5B,CAAC"}