@mcp-consultant-tools/azure-devops 30.0.0-beta.16 → 30.0.0-beta.19

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 (41) hide show
  1. package/build/services/sync-service.d.ts.map +1 -1
  2. package/build/services/sync-service.js +16 -12
  3. package/build/services/sync-service.js.map +1 -1
  4. package/build/sync/annotation-parser.d.ts +52 -0
  5. package/build/sync/annotation-parser.d.ts.map +1 -0
  6. package/build/sync/annotation-parser.js +83 -0
  7. package/build/sync/annotation-parser.js.map +1 -0
  8. package/build/sync/field-aliases.d.ts +35 -0
  9. package/build/sync/field-aliases.d.ts.map +1 -0
  10. package/build/sync/field-aliases.js +76 -0
  11. package/build/sync/field-aliases.js.map +1 -0
  12. package/build/sync/html-detection.d.ts +16 -65
  13. package/build/sync/html-detection.d.ts.map +1 -1
  14. package/build/sync/html-detection.js +63 -112
  15. package/build/sync/html-detection.js.map +1 -1
  16. package/build/sync/image-sync.d.ts +8 -5
  17. package/build/sync/image-sync.d.ts.map +1 -1
  18. package/build/sync/image-sync.js +18 -10
  19. package/build/sync/image-sync.js.map +1 -1
  20. package/build/sync/index.d.ts +4 -0
  21. package/build/sync/index.d.ts.map +1 -1
  22. package/build/sync/index.js +4 -0
  23. package/build/sync/index.js.map +1 -1
  24. package/build/sync/legacy-mappings.d.ts +37 -0
  25. package/build/sync/legacy-mappings.d.ts.map +1 -0
  26. package/build/sync/legacy-mappings.js +75 -0
  27. package/build/sync/legacy-mappings.js.map +1 -0
  28. package/build/sync/markdown-serializer.d.ts +52 -60
  29. package/build/sync/markdown-serializer.d.ts.map +1 -1
  30. package/build/sync/markdown-serializer.js +603 -603
  31. package/build/sync/markdown-serializer.js.map +1 -1
  32. package/build/sync/template-loader.d.ts +56 -0
  33. package/build/sync/template-loader.d.ts.map +1 -0
  34. package/build/sync/template-loader.js +138 -0
  35. package/build/sync/template-loader.js.map +1 -0
  36. package/build/sync/templates/bug.md +25 -0
  37. package/build/sync/templates/epic.md +23 -0
  38. package/build/sync/templates/feature.md +23 -0
  39. package/build/sync/templates/task.md +14 -0
  40. package/build/sync/templates/user-story.md +26 -0
  41. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"sync-service.d.ts","sourceRoot":"","sources":["../../src/services/sync-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AA0C9D,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,eAAe;IAG7C,mBAAmB,CACvB,OAAO,EAAE,MAAM,EACf,mBAAmB,EAAE,MAAM,EAAE,EAC7B,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,OAAO,EACzB,eAAe,CAAC,EAAE,OAAO,GACxB,OAAO,CAAC,GAAG,CAAC;IAuMT,qBAAqB,CACzB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,CAAC,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,OAAO,GACxB,OAAO,CAAC,GAAG,CAAC;IA4KT,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAoD3E,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAalD,kBAAkB,CACtB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,GAAG,CAAC;IAmCT,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EAAE,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,OAAO,GACxB,OAAO,CAAC,GAAG,CAAC;IAsET,iBAAiB,CACrB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EAAE,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,OAAO,GACxB,OAAO,CAAC,GAAG,CAAC;CAuFhB"}
1
+ {"version":3,"file":"sync-service.d.ts","sourceRoot":"","sources":["../../src/services/sync-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AA0C9D,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,eAAe;IAG7C,mBAAmB,CACvB,OAAO,EAAE,MAAM,EACf,mBAAmB,EAAE,MAAM,EAAE,EAC7B,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,OAAO,EACzB,eAAe,CAAC,EAAE,OAAO,GACxB,OAAO,CAAC,GAAG,CAAC;IA8MT,qBAAqB,CACzB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,CAAC,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,OAAO,GACxB,OAAO,CAAC,GAAG,CAAC;IA4KT,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAmD3E,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAalD,kBAAkB,CACtB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,GAAG,CAAC;IAmCT,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EAAE,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,OAAO,GACxB,OAAO,CAAC,GAAG,CAAC;IAsET,iBAAiB,CACrB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EAAE,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,OAAO,GACxB,OAAO,CAAC,GAAG,CAAC;CAuFhB"}
@@ -1,4 +1,4 @@
1
- import { checkFieldFormats, workItemToMarkdown, commentsToMarkdown, buildPatchOperations, updateSyncRevision, getSyncConfig, ensureFolderExists, getWorkItemFilePath, getCommentsFilePath, fileExists, writeWorkItemFile, readWorkItemFile, readFileContent, listSyncedWorkItems, validateFolderPath, autoCommitMultipleFiles, tasksToMarkdown, parseTasksMarkdown, buildTaskPatchOperations, buildNewTaskFields, getTasksFilePath, updateTasksFileAfterCreate, parseNewWorkItemMarkdown, buildNewWorkItemFields, generateNewWorkItemTemplate, convertNewFileToSynced, getNewWorkItemFilePath, findNextNewFileIndex, findNewWorkItemFiles, renameFile, autoConvertFieldsToMarkdown, isHtmlContent, getAdditionalFieldConfig, pullWorkItemImages, pullCommentImages, pushWorkItemImages, } from '../sync/index.js';
1
+ import { checkFieldFormats, workItemToMarkdown, commentsToMarkdown, buildPatchOperations, updateSyncRevision, getSyncConfig, ensureFolderExists, getWorkItemFilePath, getCommentsFilePath, fileExists, writeWorkItemFile, readWorkItemFile, readFileContent, listSyncedWorkItems, validateFolderPath, autoCommitMultipleFiles, tasksToMarkdown, parseTasksMarkdown, buildTaskPatchOperations, buildNewTaskFields, getTasksFilePath, updateTasksFileAfterCreate, parseNewWorkItemMarkdown, buildNewWorkItemFields, generateNewWorkItemTemplate, convertNewFileToSynced, getNewWorkItemFilePath, findNextNewFileIndex, findNewWorkItemFiles, renameFile, autoConvertFieldsToMarkdown, isHtmlContent, pullWorkItemImages, pullCommentImages, pushWorkItemImages, templateBodyRefnamesForType, } from '../sync/index.js';
2
2
  export class SyncService {
3
3
  workItemService;
4
4
  constructor(workItemService) {
@@ -83,16 +83,21 @@ export class SyncService {
83
83
  continue;
84
84
  }
85
85
  }
86
- // Auto-convert HTML custom/additional fields (How to Test, Deployment, etc.)
86
+ // Auto-convert HTML custom body fields (driven by the work-item-type template).
87
87
  if (!skipAutoConvert) {
88
- const fieldConfig = getAdditionalFieldConfig();
88
+ const workItemType = workItem.fields?.['System.WorkItemType'] || 'Unknown';
89
+ const bodyRefnames = templateBodyRefnamesForType(workItemType);
89
90
  const additionalHtmlFields = [];
90
91
  const fields = workItem.fields || {};
91
- for (const key of ['howToTest', 'deploymentInformation', 'predeploymentSteps', 'postdeploymentSteps']) {
92
- const fieldName = fieldConfig[key];
93
- const content = fields[fieldName];
92
+ for (const refname of bodyRefnames) {
93
+ if (refname === 'System.Description' ||
94
+ refname === 'Microsoft.VSTS.Common.AcceptanceCriteria' ||
95
+ refname === 'Microsoft.VSTS.TCM.ReproSteps') {
96
+ continue; // already handled in the primary-fields pass above
97
+ }
98
+ const content = fields[refname];
94
99
  if (content && isHtmlContent(content)) {
95
- additionalHtmlFields.push(fieldName);
100
+ additionalHtmlFields.push(refname);
96
101
  }
97
102
  }
98
103
  if (additionalHtmlFields.length > 0) {
@@ -330,15 +335,14 @@ export class SyncService {
330
335
  for (const workItemId of workItemIds) {
331
336
  try {
332
337
  const workItem = await this.workItemService.getWorkItem(project, workItemId);
333
- const formats = checkFieldFormats(workItem);
338
+ const workItemType = workItem.fields?.['System.WorkItemType'] || 'Unknown';
339
+ const formats = checkFieldFormats(workItem, templateBodyRefnamesForType(workItemType));
334
340
  results.push({
335
341
  id: workItemId,
336
342
  description: formats.description,
337
343
  acceptanceCriteria: formats.acceptanceCriteria,
338
- howToTest: formats.additionalFields.howToTest,
339
- predeploymentSteps: formats.additionalFields.predeploymentSteps,
340
- postdeploymentSteps: formats.additionalFields.postdeploymentSteps,
341
- deploymentInformation: formats.additionalFields.deploymentInformation,
344
+ reproSteps: formats.reproSteps,
345
+ customBodyFields: formats.additionalFields,
342
346
  ready: formats.ready,
343
347
  ...(formats.warnings.length > 0 ? { warnings: formats.warnings } : {}),
344
348
  });
@@ -1 +1 @@
1
- {"version":3,"file":"sync-service.js","sourceRoot":"","sources":["../../src/services/sync-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-service.js","sourceRoot":"","sources":["../../src/services/sync-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Parse annotated body sections from a synced markdown file.
3
+ *
4
+ * A `##` line is a section boundary ONLY when the first non-empty line that
5
+ * follows it is `<!-- ado-field: REFNAME -->`. Any other `##` line is treated
6
+ * as part of the surrounding annotated section's content — this prevents
7
+ * silent truncation of fields (e.g. Repro Steps) when the field body legitimately
8
+ * contains `##` text.
9
+ *
10
+ * Anything before the first annotated section is the prose preamble.
11
+ */
12
+ export interface AnnotatedSection {
13
+ /** ADO reference name this section maps to. */
14
+ refname: string;
15
+ /** Body content (everything between the annotation and the next `##` heading). */
16
+ content: string;
17
+ /** Heading text as it appears in the file (for error reporting). */
18
+ heading: string;
19
+ /** Index of the heading line in the source (0-based). */
20
+ lineIndex: number;
21
+ }
22
+ export interface LocalOnlySection {
23
+ /** Heading text as it appears in the file. */
24
+ heading: string;
25
+ /** Body content. */
26
+ content: string;
27
+ /** Index of the heading line in the source (0-based). */
28
+ lineIndex: number;
29
+ }
30
+ export interface ParseAnnotationsResult {
31
+ /** Sections that sync to ADO fields. */
32
+ annotated: AnnotatedSection[];
33
+ /** Sections preserved in the file but not synced. */
34
+ localOnly: LocalOnlySection[];
35
+ /** Any content before the first `##` heading (prose preamble). Trimmed. */
36
+ preamble: string;
37
+ }
38
+ /**
39
+ * Parse the body of a markdown file (everything after frontmatter) into
40
+ * annotated and local-only sections.
41
+ */
42
+ export declare function parseAnnotations(body: string): ParseAnnotationsResult;
43
+ /**
44
+ * Build an annotated `##` section as a string.
45
+ */
46
+ export declare function serializeAnnotatedSection(heading: string, refname: string, content: string): string;
47
+ /**
48
+ * Check whether a body has any `<!-- ado-field: ... -->` annotations.
49
+ * Used to decide between annotated parsing and legacy fallback.
50
+ */
51
+ export declare function hasAnnotations(body: string): boolean;
52
+ //# sourceMappingURL=annotation-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotation-parser.d.ts","sourceRoot":"","sources":["../../src/sync/annotation-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,wCAAwC;IACxC,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,qDAAqD;IACrD,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC;CAClB;AAKD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,CAsDrE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,MAAM,CAGR;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Parse annotated body sections from a synced markdown file.
3
+ *
4
+ * A `##` line is a section boundary ONLY when the first non-empty line that
5
+ * follows it is `<!-- ado-field: REFNAME -->`. Any other `##` line is treated
6
+ * as part of the surrounding annotated section's content — this prevents
7
+ * silent truncation of fields (e.g. Repro Steps) when the field body legitimately
8
+ * contains `##` text.
9
+ *
10
+ * Anything before the first annotated section is the prose preamble.
11
+ */
12
+ const SECTION_HEADING_RE = /^##\s+(.+?)\s*$/;
13
+ const ANNOTATION_RE = /^<!--\s*ado-field:\s*([A-Za-z0-9_.\-]+)\s*-->$/;
14
+ /**
15
+ * Parse the body of a markdown file (everything after frontmatter) into
16
+ * annotated and local-only sections.
17
+ */
18
+ export function parseAnnotations(body) {
19
+ const lines = body.split('\n');
20
+ const annotated = [];
21
+ // Section boundaries: only `##` headings whose next non-empty line is an
22
+ // `<!-- ado-field: REFNAME -->` annotation. All other `##` lines are
23
+ // treated as content of whatever annotated section currently encloses them.
24
+ const sections = [];
25
+ for (let i = 0; i < lines.length; i++) {
26
+ const headingMatch = lines[i].match(SECTION_HEADING_RE);
27
+ if (!headingMatch)
28
+ continue;
29
+ let probe = i + 1;
30
+ while (probe < lines.length && lines[probe].trim() === '')
31
+ probe++;
32
+ if (probe >= lines.length)
33
+ continue;
34
+ const annotationMatch = lines[probe].trim().match(ANNOTATION_RE);
35
+ if (!annotationMatch)
36
+ continue;
37
+ sections.push({
38
+ headingLine: i,
39
+ annotationLine: probe,
40
+ heading: headingMatch[1].trim(),
41
+ refname: annotationMatch[1],
42
+ });
43
+ }
44
+ // Preamble = everything before the first annotated `##` heading.
45
+ const preambleEnd = sections.length > 0 ? sections[0].headingLine : lines.length;
46
+ const preamble = lines.slice(0, preambleEnd).join('\n').trim();
47
+ for (let idx = 0; idx < sections.length; idx++) {
48
+ const current = sections[idx];
49
+ const next = sections[idx + 1];
50
+ const bodyStart = current.annotationLine + 1;
51
+ const bodyEnd = next ? next.headingLine : lines.length;
52
+ const content = lines.slice(bodyStart, bodyEnd).join('\n');
53
+ annotated.push({
54
+ refname: current.refname,
55
+ content: stripTrailingSeparators(content).trim(),
56
+ heading: current.heading,
57
+ lineIndex: current.headingLine,
58
+ });
59
+ }
60
+ // Local-only sections no longer exist under the annotation-strict model.
61
+ // The field is kept on the result for backward compatibility with callers
62
+ // that destructure it.
63
+ return { annotated, localOnly: [], preamble };
64
+ }
65
+ /**
66
+ * Build an annotated `##` section as a string.
67
+ */
68
+ export function serializeAnnotatedSection(heading, refname, content) {
69
+ const body = content.trim() || '';
70
+ return `## ${heading}\n<!-- ado-field: ${refname} -->\n\n${body}\n`;
71
+ }
72
+ /**
73
+ * Check whether a body has any `<!-- ado-field: ... -->` annotations.
74
+ * Used to decide between annotated parsing and legacy fallback.
75
+ */
76
+ export function hasAnnotations(body) {
77
+ return /<!--\s*ado-field:\s*[A-Za-z0-9_.\-]+\s*-->/.test(body);
78
+ }
79
+ function stripTrailingSeparators(content) {
80
+ // Strip trailing `---` horizontal rules used as visual separators between sections.
81
+ return content.replace(/(\n\s*---\s*)+\s*$/, '');
82
+ }
83
+ //# sourceMappingURL=annotation-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotation-parser.js","sourceRoot":"","sources":["../../src/sync/annotation-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Frontmatter key → ADO reference name resolver.
3
+ *
4
+ * Frontmatter in synced markdown files uses raw ADO refnames as keys
5
+ * (e.g. `System.Title`, `Custom.ConsultancyProcess`). A small alias table
6
+ * provides friendly shortcuts for the most common fields so human-written
7
+ * files stay readable.
8
+ *
9
+ * Resolution rules:
10
+ * 1. Reserved keys (sync metadata) are returned as-is with a null refname.
11
+ * 2. Alias → refname lookup (case-sensitive).
12
+ * 3. Unknown keys are passed through unchanged (treated as refnames).
13
+ */
14
+ /** Keys that are sync metadata, never sent to ADO as field updates. */
15
+ export declare const RESERVED_FRONTMATTER_KEYS: Set<string>;
16
+ /**
17
+ * Friendly aliases → ADO reference names. Add entries here when a field is
18
+ * common enough across clients to deserve a short key.
19
+ */
20
+ export declare const FIELD_ALIASES: Record<string, string>;
21
+ /**
22
+ * Resolve a frontmatter key to its ADO refname, or null if the key is reserved
23
+ * sync metadata.
24
+ */
25
+ export declare function resolveRefname(key: string): string | null;
26
+ /**
27
+ * When writing frontmatter from ADO data, pick the friendliest key for a given
28
+ * refname (alias if one exists, else the refname itself).
29
+ */
30
+ export declare function preferredKey(refname: string): string;
31
+ /**
32
+ * True when a frontmatter key is reserved sync metadata (not an ADO field).
33
+ */
34
+ export declare function isReservedKey(key: string): boolean;
35
+ //# sourceMappingURL=field-aliases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-aliases.d.ts","sourceRoot":"","sources":["../../src/sync/field-aliases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,uEAAuE;AACvE,eAAO,MAAM,yBAAyB,aASpC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAehD,CAAC;AAWF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGzD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAElD"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Frontmatter key → ADO reference name resolver.
3
+ *
4
+ * Frontmatter in synced markdown files uses raw ADO refnames as keys
5
+ * (e.g. `System.Title`, `Custom.ConsultancyProcess`). A small alias table
6
+ * provides friendly shortcuts for the most common fields so human-written
7
+ * files stay readable.
8
+ *
9
+ * Resolution rules:
10
+ * 1. Reserved keys (sync metadata) are returned as-is with a null refname.
11
+ * 2. Alias → refname lookup (case-sensitive).
12
+ * 3. Unknown keys are passed through unchanged (treated as refnames).
13
+ */
14
+ /** Keys that are sync metadata, never sent to ADO as field updates. */
15
+ export const RESERVED_FRONTMATTER_KEYS = new Set([
16
+ 'id',
17
+ 'type',
18
+ 'project',
19
+ 'parent',
20
+ 'parentTitle',
21
+ 'url',
22
+ 'lastSyncedRevision',
23
+ 'lastSyncedAt',
24
+ ]);
25
+ /**
26
+ * Friendly aliases → ADO reference names. Add entries here when a field is
27
+ * common enough across clients to deserve a short key.
28
+ */
29
+ export const FIELD_ALIASES = {
30
+ title: 'System.Title',
31
+ state: 'System.State',
32
+ assignedTo: 'System.AssignedTo',
33
+ areaPath: 'System.AreaPath',
34
+ iterationPath: 'System.IterationPath',
35
+ tags: 'System.Tags',
36
+ priority: 'Microsoft.VSTS.Common.Priority',
37
+ severity: 'Microsoft.VSTS.Common.Severity',
38
+ storyPoints: 'Microsoft.VSTS.Scheduling.StoryPoints',
39
+ remainingWork: 'Microsoft.VSTS.Scheduling.RemainingWork',
40
+ effort: 'Microsoft.VSTS.Scheduling.Effort',
41
+ originalEstimate: 'Microsoft.VSTS.Scheduling.OriginalEstimate',
42
+ completedWork: 'Microsoft.VSTS.Scheduling.CompletedWork',
43
+ moscow: 'Custom.MoSCoW',
44
+ };
45
+ /** Reverse lookup: refname → canonical alias (first alias that resolves back). */
46
+ const REFNAME_TO_ALIAS = (() => {
47
+ const map = {};
48
+ for (const [alias, refname] of Object.entries(FIELD_ALIASES)) {
49
+ if (!(refname in map))
50
+ map[refname] = alias;
51
+ }
52
+ return map;
53
+ })();
54
+ /**
55
+ * Resolve a frontmatter key to its ADO refname, or null if the key is reserved
56
+ * sync metadata.
57
+ */
58
+ export function resolveRefname(key) {
59
+ if (RESERVED_FRONTMATTER_KEYS.has(key))
60
+ return null;
61
+ return FIELD_ALIASES[key] ?? key;
62
+ }
63
+ /**
64
+ * When writing frontmatter from ADO data, pick the friendliest key for a given
65
+ * refname (alias if one exists, else the refname itself).
66
+ */
67
+ export function preferredKey(refname) {
68
+ return REFNAME_TO_ALIAS[refname] ?? refname;
69
+ }
70
+ /**
71
+ * True when a frontmatter key is reserved sync metadata (not an ADO field).
72
+ */
73
+ export function isReservedKey(key) {
74
+ return RESERVED_FRONTMATTER_KEYS.has(key);
75
+ }
76
+ //# sourceMappingURL=field-aliases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-aliases.js","sourceRoot":"","sources":["../../src/sync/field-aliases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,uEAAuE;AACvE,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAS;IACvD,IAAI;IACJ,MAAM;IACN,SAAS;IACT,QAAQ;IACR,aAAa;IACb,KAAK;IACL,oBAAoB;IACpB,cAAc;CACf,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,KAAK,EAAE,cAAc;IACrB,KAAK,EAAE,cAAc;IACrB,UAAU,EAAE,mBAAmB;IAC/B,QAAQ,EAAE,iBAAiB;IAC3B,aAAa,EAAE,sBAAsB;IACrC,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,gCAAgC;IAC1C,QAAQ,EAAE,gCAAgC;IAC1C,WAAW,EAAE,uCAAuC;IACpD,aAAa,EAAE,yCAAyC;IACxD,MAAM,EAAE,kCAAkC;IAC1C,gBAAgB,EAAE,4CAA4C;IAC9D,aAAa,EAAE,yCAAyC;IACxD,MAAM,EAAE,eAAe;CACxB,CAAC;AAEF,kFAAkF;AAClF,MAAM,gBAAgB,GAA2B,CAAC,GAAG,EAAE;IACrD,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC;YAAE,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;IAC9C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC,EAAE,CAAC;AAEL;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,IAAI,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC"}
@@ -1,95 +1,46 @@
1
1
  /**
2
- * HTML Detection Utility
2
+ * HTML detection for ADO large-text fields.
3
3
  *
4
- * Detects whether ADO work item content is HTML (legacy) or Markdown format.
5
- * ADO supports both formats and we can only sync markdown fields.
6
- */
7
- /**
8
- * Additional custom fields that can be synced.
9
- * These are configurable via environment variables since field names may vary by organization.
4
+ * ADO supports both HTML and Markdown for long-text fields. Sync only
5
+ * works against markdown, so before pulling (or pushing) we auto-detect
6
+ * HTML and either convert it or report it as skipped.
10
7
  *
11
- * Default field names are based on typical ADO custom field patterns.
12
- * GUID-based fields (like pre/post deployment) may vary between organizations.
13
- */
14
- export interface AdditionalFieldConfig {
15
- howToTest: string;
16
- deploymentInformation: string;
17
- predeploymentSteps: string;
18
- postdeploymentSteps: string;
19
- }
20
- /**
21
- * Get additional field configuration from environment variables
22
- * Falls back to common default field names
23
- */
24
- export declare function getAdditionalFieldConfig(): AdditionalFieldConfig;
25
- /**
26
- * Human-readable names for additional fields (for display/logging)
27
- */
28
- export declare const ADDITIONAL_FIELD_DISPLAY_NAMES: Record<keyof AdditionalFieldConfig, string>;
29
- /**
30
- * Large text fields that support markdown format in Azure DevOps.
31
- * These are the standard ADO fields that can be set to markdown format.
8
+ * This module is intentionally generic it no longer maintains a fixed
9
+ * list of "additional" custom fields. Callers pass in the refname list
10
+ * they care about (usually derived from the loaded template).
32
11
  */
33
- export declare const LARGE_TEXT_FIELDS: readonly ["System.Description", "Microsoft.VSTS.Common.AcceptanceCriteria", "Microsoft.VSTS.TCM.ReproSteps"];
34
12
  /**
35
- * Get all large text fields including custom ones from config.
36
- * Used to determine which fields should have markdown format set.
13
+ * Standard ADO large-text fields with native markdown support.
37
14
  */
38
- export declare function getAllLargeTextFields(): string[];
15
+ export declare const STANDARD_LARGE_TEXT_FIELDS: readonly ["System.Description", "Microsoft.VSTS.Common.AcceptanceCriteria", "Microsoft.VSTS.TCM.ReproSteps"];
39
16
  /**
40
- * Check if content is HTML format (as opposed to markdown)
41
- *
42
- * @param content - The content string to check
43
- * @returns true if content appears to be HTML, false if markdown or empty
17
+ * Return the list of large-text fields to check for a work item. Combines
18
+ * the standard set with any caller-supplied custom refnames (from the
19
+ * loaded template).
44
20
  */
21
+ export declare function getAllLargeTextFields(customRefnames?: string[]): string[];
45
22
  export declare function isHtmlContent(content: string | null | undefined): boolean;
46
- /**
47
- * Field format result type
48
- */
49
23
  export type FieldFormat = 'markdown' | 'html' | 'not_present';
50
- /**
51
- * Result of checking additional field formats
52
- */
53
- export interface AdditionalFieldFormats {
54
- howToTest: FieldFormat;
55
- deploymentInformation: FieldFormat;
56
- predeploymentSteps: FieldFormat;
57
- postdeploymentSteps: FieldFormat;
58
- }
59
- /**
60
- * Full field format check result
61
- */
62
24
  export interface FieldFormatResult {
63
25
  description: 'markdown' | 'html';
64
26
  acceptanceCriteria: 'markdown' | 'html';
65
27
  reproSteps: 'markdown' | 'html' | 'not_present';
66
28
  ready: boolean;
67
29
  warnings: string[];
68
- additionalFields: AdditionalFieldFormats;
30
+ /** Format for each custom body field, keyed by refname. */
31
+ additionalFields: Record<string, FieldFormat>;
69
32
  details: {
70
33
  descriptionLength: number;
71
34
  acceptanceCriteriaLength: number;
72
35
  reproStepsLength: number;
73
36
  };
74
37
  }
75
- /**
76
- * Check field formats for a work item
77
- *
78
- * Primary fields (Description, Acceptance Criteria): If HTML, work item is not ready for sync.
79
- * Secondary fields (How to Test, Deployment fields): If HTML, warn but allow sync (skip those fields).
80
- *
81
- * @param workItem - The work item object from ADO API
82
- * @returns Object with field format information
83
- */
84
38
  export declare function checkFieldFormats(workItem: {
85
39
  fields?: {
86
40
  'System.Description'?: string;
87
41
  'Microsoft.VSTS.Common.AcceptanceCriteria'?: string;
88
42
  [key: string]: any;
89
43
  };
90
- }): FieldFormatResult;
91
- /**
92
- * Get human-readable conversion instructions
93
- */
44
+ }, additionalRefnames?: string[]): FieldFormatResult;
94
45
  export declare function getConversionInstructions(): string;
95
46
  //# sourceMappingURL=html-detection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"html-detection.d.ts","sourceRoot":"","sources":["../../src/sync/html-detection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,qBAAqB,CAOhE;AAED;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,MAAM,qBAAqB,EAAE,MAAM,CAKtF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,8GAIpB,CAAC;AAEX;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAShD;AA8BD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAsBzE;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,aAAa,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,WAAW,CAAC;IACvB,qBAAqB,EAAE,WAAW,CAAC;IACnC,kBAAkB,EAAE,WAAW,CAAC;IAChC,mBAAmB,EAAE,WAAW,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,UAAU,GAAG,MAAM,CAAC;IACjC,kBAAkB,EAAE,UAAU,GAAG,MAAM,CAAC;IACxC,UAAU,EAAE,UAAU,GAAG,MAAM,GAAG,aAAa,CAAC;IAChD,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,OAAO,EAAE;QACP,iBAAiB,EAAE,MAAM,CAAC;QAC1B,wBAAwB,EAAE,MAAM,CAAC;QACjC,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE;IAC1C,MAAM,CAAC,EAAE;QACP,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,0CAA0C,CAAC,EAAE,MAAM,CAAC;QACpD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH,GAAG,iBAAiB,CA4DpB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAUlD"}
1
+ {"version":3,"file":"html-detection.d.ts","sourceRoot":"","sources":["../../src/sync/html-detection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,eAAO,MAAM,0BAA0B,8GAI7B,CAAC;AAEX;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAG7E;AAgCD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CASzE;AAMD,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,aAAa,CAAC;AAE9D,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,UAAU,GAAG,MAAM,CAAC;IACjC,kBAAkB,EAAE,UAAU,GAAG,MAAM,CAAC;IACxC,UAAU,EAAE,UAAU,GAAG,MAAM,GAAG,aAAa,CAAC;IAChD,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,2DAA2D;IAC3D,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC9C,OAAO,EAAE;QACP,iBAAiB,EAAE,MAAM,CAAC;QAC1B,wBAAwB,EAAE,MAAM,CAAC;QACjC,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE;IACR,MAAM,CAAC,EAAE;QACP,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,0CAA0C,CAAC,EAAE,MAAM,CAAC;QACpD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH,EACD,kBAAkB,GAAE,MAAM,EAAO,GAChC,iBAAiB,CAqDnB;AAED,wBAAgB,yBAAyB,IAAI,MAAM,CAUlD"}