@mcp-consultant-tools/azure-devops 27.0.0 → 28.0.0-beta.10

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 (153) hide show
  1. package/build/azure-devops-client.d.ts +42 -0
  2. package/build/azure-devops-client.d.ts.map +1 -0
  3. package/build/azure-devops-client.js +144 -0
  4. package/build/azure-devops-client.js.map +1 -0
  5. package/build/cli/commands/build-commands.d.ts +7 -0
  6. package/build/cli/commands/build-commands.d.ts.map +1 -0
  7. package/build/cli/commands/build-commands.js +59 -0
  8. package/build/cli/commands/build-commands.js.map +1 -0
  9. package/build/cli/commands/configuration-commands.d.ts +7 -0
  10. package/build/cli/commands/configuration-commands.d.ts.map +1 -0
  11. package/build/cli/commands/configuration-commands.js +24 -0
  12. package/build/cli/commands/configuration-commands.js.map +1 -0
  13. package/build/cli/commands/index.d.ts +14 -0
  14. package/build/cli/commands/index.d.ts.map +1 -0
  15. package/build/cli/commands/index.js +27 -0
  16. package/build/cli/commands/index.js.map +1 -0
  17. package/build/cli/commands/pull-request-commands.d.ts +7 -0
  18. package/build/cli/commands/pull-request-commands.d.ts.map +1 -0
  19. package/build/cli/commands/pull-request-commands.js +234 -0
  20. package/build/cli/commands/pull-request-commands.js.map +1 -0
  21. package/build/cli/commands/sync-commands.d.ts +7 -0
  22. package/build/cli/commands/sync-commands.d.ts.map +1 -0
  23. package/build/cli/commands/sync-commands.js +148 -0
  24. package/build/cli/commands/sync-commands.js.map +1 -0
  25. package/build/cli/commands/variable-group-commands.d.ts +7 -0
  26. package/build/cli/commands/variable-group-commands.d.ts.map +1 -0
  27. package/build/cli/commands/variable-group-commands.js +36 -0
  28. package/build/cli/commands/variable-group-commands.js.map +1 -0
  29. package/build/cli/commands/wiki-commands.d.ts +7 -0
  30. package/build/cli/commands/wiki-commands.d.ts.map +1 -0
  31. package/build/cli/commands/wiki-commands.js +152 -0
  32. package/build/cli/commands/wiki-commands.js.map +1 -0
  33. package/build/cli/commands/work-item-commands.d.ts +7 -0
  34. package/build/cli/commands/work-item-commands.d.ts.map +1 -0
  35. package/build/cli/commands/work-item-commands.js +169 -0
  36. package/build/cli/commands/work-item-commands.js.map +1 -0
  37. package/build/cli/output.d.ts +11 -0
  38. package/build/cli/output.d.ts.map +1 -0
  39. package/build/cli/output.js +10 -0
  40. package/build/cli/output.js.map +1 -0
  41. package/build/cli.d.ts +9 -0
  42. package/build/cli.d.ts.map +1 -0
  43. package/build/cli.js +27 -0
  44. package/build/cli.js.map +1 -0
  45. package/build/context-factory.d.ts +10 -0
  46. package/build/context-factory.d.ts.map +1 -0
  47. package/build/context-factory.js +61 -0
  48. package/build/context-factory.js.map +1 -0
  49. package/build/index.d.ts +9 -11
  50. package/build/index.d.ts.map +1 -1
  51. package/build/index.js +14 -1906
  52. package/build/index.js.map +1 -1
  53. package/build/models/api-types.d.ts +159 -0
  54. package/build/models/api-types.d.ts.map +1 -0
  55. package/build/models/api-types.js +5 -0
  56. package/build/models/api-types.js.map +1 -0
  57. package/build/models/index.d.ts +5 -0
  58. package/build/models/index.d.ts.map +1 -0
  59. package/build/models/index.js +5 -0
  60. package/build/models/index.js.map +1 -0
  61. package/build/prompts/index.d.ts +3 -0
  62. package/build/prompts/index.d.ts.map +1 -0
  63. package/build/prompts/index.js +83 -0
  64. package/build/prompts/index.js.map +1 -0
  65. package/build/prompts/templates.d.ts +8 -0
  66. package/build/prompts/templates.d.ts.map +1 -0
  67. package/build/prompts/templates.js +126 -0
  68. package/build/prompts/templates.js.map +1 -0
  69. package/build/services/build-service.d.ts +16 -0
  70. package/build/services/build-service.d.ts.map +1 -0
  71. package/build/services/build-service.js +195 -0
  72. package/build/services/build-service.js.map +1 -0
  73. package/build/services/configuration-service.d.ts +7 -0
  74. package/build/services/configuration-service.d.ts.map +1 -0
  75. package/build/services/configuration-service.js +24 -0
  76. package/build/services/configuration-service.js.map +1 -0
  77. package/build/services/index.d.ts +11 -0
  78. package/build/services/index.d.ts.map +1 -0
  79. package/build/services/index.js +11 -0
  80. package/build/services/index.js.map +1 -0
  81. package/build/services/pull-request-service.d.ts +29 -0
  82. package/build/services/pull-request-service.d.ts.map +1 -0
  83. package/build/services/pull-request-service.js +390 -0
  84. package/build/services/pull-request-service.js.map +1 -0
  85. package/build/services/sync-service.d.ts +19 -0
  86. package/build/services/sync-service.d.ts.map +1 -0
  87. package/build/services/sync-service.js +463 -0
  88. package/build/services/sync-service.js.map +1 -0
  89. package/build/services/variable-group-service.d.ts +11 -0
  90. package/build/services/variable-group-service.d.ts.map +1 -0
  91. package/build/services/variable-group-service.js +62 -0
  92. package/build/services/variable-group-service.js.map +1 -0
  93. package/build/services/wiki-service.d.ts +41 -0
  94. package/build/services/wiki-service.d.ts.map +1 -0
  95. package/build/services/wiki-service.js +346 -0
  96. package/build/services/wiki-service.js.map +1 -0
  97. package/build/services/work-item-service.d.ts +22 -0
  98. package/build/services/work-item-service.d.ts.map +1 -0
  99. package/build/services/work-item-service.js +285 -0
  100. package/build/services/work-item-service.js.map +1 -0
  101. package/build/sync/file-utils.d.ts +7 -5
  102. package/build/sync/file-utils.d.ts.map +1 -1
  103. package/build/sync/file-utils.js +17 -8
  104. package/build/sync/file-utils.js.map +1 -1
  105. package/build/sync/markdown-serializer.d.ts +19 -4
  106. package/build/sync/markdown-serializer.d.ts.map +1 -1
  107. package/build/sync/markdown-serializer.js +48 -31
  108. package/build/sync/markdown-serializer.js.map +1 -1
  109. package/build/tool-examples.d.ts +9 -8
  110. package/build/tool-examples.d.ts.map +1 -1
  111. package/build/tool-examples.js +29 -12
  112. package/build/tool-examples.js.map +1 -1
  113. package/build/tools/build-tools.d.ts +3 -0
  114. package/build/tools/build-tools.d.ts.map +1 -0
  115. package/build/tools/build-tools.js +56 -0
  116. package/build/tools/build-tools.js.map +1 -0
  117. package/build/tools/configuration-tools.d.ts +6 -0
  118. package/build/tools/configuration-tools.d.ts.map +1 -0
  119. package/build/tools/configuration-tools.js +30 -0
  120. package/build/tools/configuration-tools.js.map +1 -0
  121. package/build/tools/index.d.ts +13 -0
  122. package/build/tools/index.d.ts.map +1 -0
  123. package/build/tools/index.js +30 -0
  124. package/build/tools/index.js.map +1 -0
  125. package/build/tools/pull-request-tools.d.ts +5 -0
  126. package/build/tools/pull-request-tools.d.ts.map +1 -0
  127. package/build/tools/pull-request-tools.js +227 -0
  128. package/build/tools/pull-request-tools.js.map +1 -0
  129. package/build/tools/sync-tools.d.ts +3 -0
  130. package/build/tools/sync-tools.d.ts.map +1 -0
  131. package/build/tools/sync-tools.js +146 -0
  132. package/build/tools/sync-tools.js.map +1 -0
  133. package/build/tools/variable-group-tools.d.ts +3 -0
  134. package/build/tools/variable-group-tools.d.ts.map +1 -0
  135. package/build/tools/variable-group-tools.js +32 -0
  136. package/build/tools/variable-group-tools.js.map +1 -0
  137. package/build/tools/wiki-tools.d.ts +3 -0
  138. package/build/tools/wiki-tools.d.ts.map +1 -0
  139. package/build/tools/wiki-tools.js +151 -0
  140. package/build/tools/wiki-tools.js.map +1 -0
  141. package/build/tools/work-item-tools.d.ts +3 -0
  142. package/build/tools/work-item-tools.d.ts.map +1 -0
  143. package/build/tools/work-item-tools.js +188 -0
  144. package/build/tools/work-item-tools.js.map +1 -0
  145. package/build/types.d.ts +23 -0
  146. package/build/types.d.ts.map +1 -0
  147. package/build/types.js +2 -0
  148. package/build/types.js.map +1 -0
  149. package/package.json +5 -3
  150. package/build/AzureDevOpsService.d.ts +0 -489
  151. package/build/AzureDevOpsService.d.ts.map +0 -1
  152. package/build/AzureDevOpsService.js +0 -1558
  153. package/build/AzureDevOpsService.js.map +0 -1
@@ -0,0 +1,285 @@
1
+ /**
2
+ * Work Item Service - Azure DevOps work item operations
3
+ */
4
+ import { marked } from 'marked';
5
+ import { getAllLargeTextFields } from '../sync/html-detection.js';
6
+ export class WorkItemService {
7
+ client;
8
+ constructor(client) {
9
+ this.client = client;
10
+ }
11
+ static SUMMARY_FIELDS = [
12
+ 'System.Id',
13
+ 'System.Title',
14
+ 'System.AssignedTo',
15
+ 'System.State',
16
+ 'Microsoft.VSTS.Common.Severity',
17
+ 'Microsoft.VSTS.Common.Priority',
18
+ 'System.Tags',
19
+ 'Microsoft.VSTS.Scheduling.StoryPoints',
20
+ 'Microsoft.VSTS.Common.ResolvedReason',
21
+ 'System.WorkItemType',
22
+ ];
23
+ async getWorkItem(project, workItemId) {
24
+ this.client.validateProject(project);
25
+ const response = await this.client.get(`${project}/_apis/wit/workitems/${workItemId}?$expand=all&api-version=${this.client.apiVersion}`);
26
+ return {
27
+ id: response.id,
28
+ rev: response.rev,
29
+ url: response.url,
30
+ fields: response.fields,
31
+ relations: response.relations || [],
32
+ _links: response._links,
33
+ commentVersionRef: response.commentVersionRef,
34
+ project
35
+ };
36
+ }
37
+ async queryWorkItems(project, wiql, maxResults = 200) {
38
+ this.client.validateProject(project);
39
+ const queryResult = await this.client.post(`${project}/_apis/wit/wiql?api-version=${this.client.apiVersion}`, { query: wiql });
40
+ if (!queryResult.workItems || queryResult.workItems.length === 0) {
41
+ return {
42
+ query: wiql,
43
+ project,
44
+ totalCount: 0,
45
+ workItems: []
46
+ };
47
+ }
48
+ const workItemIds = queryResult.workItems
49
+ .slice(0, maxResults)
50
+ .map((wi) => wi.id);
51
+ const workItems = await this.client.post(`${project}/_apis/wit/workitemsbatch?api-version=${this.client.apiVersion}`, {
52
+ ids: workItemIds,
53
+ $expand: 'all'
54
+ });
55
+ return {
56
+ query: wiql,
57
+ project,
58
+ totalCount: workItems.value.length,
59
+ workItems: workItems.value
60
+ };
61
+ }
62
+ async runSavedQuery(project, queryId, maxResults = 50, detail = 'summary', fields, groupBy) {
63
+ this.client.validateProject(project);
64
+ const queryResult = await this.client.get(`${project}/_apis/wit/wiql/${queryId}?api-version=${this.client.apiVersion}`);
65
+ if (!queryResult.workItems || queryResult.workItems.length === 0) {
66
+ return {
67
+ queryId,
68
+ project,
69
+ totalCount: 0,
70
+ queriedCount: queryResult.workItems?.length ?? 0,
71
+ workItems: [],
72
+ };
73
+ }
74
+ const totalAvailable = queryResult.workItems.length;
75
+ const workItemIds = queryResult.workItems
76
+ .slice(0, maxResults)
77
+ .map((wi) => wi.id);
78
+ const isFull = detail === 'full';
79
+ const requestedFields = fields ?? (isFull ? undefined : WorkItemService.SUMMARY_FIELDS);
80
+ const body = { ids: workItemIds };
81
+ if (requestedFields) {
82
+ body.fields = requestedFields;
83
+ }
84
+ else {
85
+ body.$expand = 'all';
86
+ }
87
+ const workItems = await this.client.post(`${project}/_apis/wit/workitemsbatch?api-version=${this.client.apiVersion}`, body);
88
+ const items = workItems.value.map((wi) => {
89
+ if (isFull && !fields)
90
+ return wi;
91
+ const f = wi.fields || {};
92
+ return {
93
+ id: wi.id,
94
+ type: f['System.WorkItemType'],
95
+ title: f['System.Title'],
96
+ assignedTo: f['System.AssignedTo']?.displayName ?? f['System.AssignedTo'] ?? null,
97
+ state: f['System.State'],
98
+ severity: f['Microsoft.VSTS.Common.Severity'] ?? null,
99
+ priority: f['Microsoft.VSTS.Common.Priority'] ?? null,
100
+ tags: f['System.Tags'] ?? null,
101
+ storyPoints: f['Microsoft.VSTS.Scheduling.StoryPoints'] ?? null,
102
+ resolvedReason: f['Microsoft.VSTS.Common.ResolvedReason'] ?? null,
103
+ ...(fields ? Object.fromEntries(Object.entries(f).filter(([k]) => !WorkItemService.SUMMARY_FIELDS.includes(k))) : {}),
104
+ };
105
+ });
106
+ const result = {
107
+ queryId,
108
+ project,
109
+ totalAvailable,
110
+ returnedCount: items.length,
111
+ detail,
112
+ };
113
+ if (groupBy) {
114
+ const groups = {};
115
+ for (const item of items) {
116
+ const key = item[groupBy] ?? item.state ?? 'Unknown';
117
+ if (!groups[key])
118
+ groups[key] = [];
119
+ groups[key].push(item);
120
+ }
121
+ result.groupedBy = groupBy;
122
+ result.groups = Object.fromEntries(Object.entries(groups).map(([k, v]) => [k, { count: v.length, items: v }]));
123
+ }
124
+ else {
125
+ result.workItems = items;
126
+ }
127
+ return result;
128
+ }
129
+ async getSavedQuery(project, queryId) {
130
+ this.client.validateProject(project);
131
+ return this.client.get(`${project}/_apis/wit/queries/${queryId}?api-version=${this.client.apiVersion}`);
132
+ }
133
+ async getWorkItemComments(project, workItemId) {
134
+ this.client.validateProject(project);
135
+ const response = await this.client.get(`${project}/_apis/wit/workItems/${workItemId}/comments?api-version=7.1-preview`);
136
+ const comments = response.comments || response.value || [];
137
+ return {
138
+ workItemId,
139
+ project,
140
+ totalCount: response.totalCount ?? comments.length,
141
+ comments: comments.map((comment) => ({
142
+ id: comment.id,
143
+ text: comment.text,
144
+ createdBy: comment.createdBy?.displayName,
145
+ createdDate: comment.createdDate,
146
+ modifiedBy: comment.modifiedBy?.displayName,
147
+ modifiedDate: comment.modifiedDate,
148
+ url: comment.url
149
+ }))
150
+ };
151
+ }
152
+ async addWorkItemComment(project, workItemId, commentText) {
153
+ this.client.validateProject(project);
154
+ if (!this.client.config.enableWorkItemWrite) {
155
+ throw new Error('Work item write operations are disabled. Set AZUREDEVOPS_ENABLE_WORK_ITEM_WRITE=true to enable.');
156
+ }
157
+ let finalText = commentText;
158
+ const format = this.client.config.commentFormat || 'markdown';
159
+ if (format === 'html') {
160
+ finalText = await marked.parse(commentText);
161
+ }
162
+ const response = await this.client.post(`${project}/_apis/wit/workItems/${workItemId}/comments?api-version=7.1-preview`, { text: finalText });
163
+ return {
164
+ id: response.id,
165
+ workItemId,
166
+ project,
167
+ text: response.text,
168
+ format: format,
169
+ createdBy: response.createdBy?.displayName,
170
+ createdDate: response.createdDate
171
+ };
172
+ }
173
+ async updateWorkItemComment(project, workItemId, commentId, commentText) {
174
+ this.client.validateProject(project);
175
+ if (!this.client.config.enableWorkItemWrite) {
176
+ throw new Error('Work item write operations are disabled. Set AZUREDEVOPS_ENABLE_WORK_ITEM_WRITE=true to enable.');
177
+ }
178
+ let finalText = commentText;
179
+ const format = this.client.config.commentFormat || 'markdown';
180
+ if (format === 'html') {
181
+ finalText = await marked.parse(commentText);
182
+ }
183
+ const response = await this.client.patch(`${project}/_apis/wit/workItems/${workItemId}/comments/${commentId}?api-version=7.1-preview`, { text: finalText });
184
+ return {
185
+ id: response.id,
186
+ workItemId,
187
+ project,
188
+ text: response.text,
189
+ format: format,
190
+ modifiedBy: response.modifiedBy?.displayName,
191
+ modifiedDate: response.modifiedDate
192
+ };
193
+ }
194
+ async updateWorkItem(project, workItemId, patchOperations) {
195
+ this.client.validateProject(project);
196
+ if (!this.client.config.enableWorkItemWrite) {
197
+ throw new Error('Work item write operations are disabled. Set AZUREDEVOPS_ENABLE_WORK_ITEM_WRITE=true to enable.');
198
+ }
199
+ const response = await this.client.patch(`${project}/_apis/wit/workitems/${workItemId}?api-version=${this.client.apiVersion}`, patchOperations);
200
+ return {
201
+ id: response.id,
202
+ rev: response.rev,
203
+ fields: response.fields,
204
+ project
205
+ };
206
+ }
207
+ async setFieldsToMarkdownFormat(project, workItemId, fields) {
208
+ if (!this.client.config.enableWorkItemWrite) {
209
+ throw new Error('Work item write operations are disabled. Set AZUREDEVOPS_ENABLE_WORK_ITEM_WRITE=true to enable.');
210
+ }
211
+ const patchOperations = fields.map(field => ({
212
+ op: 'add',
213
+ path: `/multilineFieldsFormat/${field}`,
214
+ value: 'Markdown'
215
+ }));
216
+ await this.updateWorkItem(project, workItemId, patchOperations);
217
+ }
218
+ async createWorkItem(project, workItemType, fields, parentId, relations) {
219
+ this.client.validateProject(project);
220
+ if (!this.client.config.enableWorkItemWrite) {
221
+ throw new Error('Work item write operations are disabled. Set AZUREDEVOPS_ENABLE_WORK_ITEM_WRITE=true to enable.');
222
+ }
223
+ const patchOperations = [];
224
+ Object.keys(fields).forEach(field => {
225
+ patchOperations.push({
226
+ op: 'add',
227
+ path: `/fields/${field}`,
228
+ value: fields[field]
229
+ });
230
+ });
231
+ const allLargeTextFields = getAllLargeTextFields();
232
+ for (const field of allLargeTextFields) {
233
+ if (fields[field] !== undefined) {
234
+ patchOperations.push({
235
+ op: 'add',
236
+ path: `/multilineFieldsFormat/${field}`,
237
+ value: 'Markdown'
238
+ });
239
+ }
240
+ }
241
+ if (parentId !== undefined) {
242
+ const parentUrl = `${this.client.baseUrl}/${encodeURIComponent(project)}/_apis/wit/workItems/${parentId}`;
243
+ patchOperations.push({
244
+ op: 'add',
245
+ path: '/relations/-',
246
+ value: {
247
+ rel: 'System.LinkTypes.Hierarchy-Reverse',
248
+ url: parentUrl
249
+ }
250
+ });
251
+ }
252
+ if (relations && relations.length > 0) {
253
+ relations.forEach(relation => {
254
+ patchOperations.push({
255
+ op: 'add',
256
+ path: '/relations/-',
257
+ value: relation
258
+ });
259
+ });
260
+ }
261
+ const encodedType = encodeURIComponent(workItemType);
262
+ const response = await this.client.patch(`${project}/_apis/wit/workitems/$${encodedType}?api-version=${this.client.apiVersion}`, patchOperations);
263
+ return {
264
+ id: response.id,
265
+ rev: response.rev,
266
+ fields: response.fields,
267
+ relations: response.relations || [],
268
+ url: response._links?.html?.href,
269
+ project
270
+ };
271
+ }
272
+ async deleteWorkItem(project, workItemId) {
273
+ this.client.validateProject(project);
274
+ if (!this.client.config.enableWorkItemDelete) {
275
+ throw new Error('Work item delete operations are disabled. Set AZUREDEVOPS_ENABLE_WORK_ITEM_DELETE=true to enable.');
276
+ }
277
+ await this.client.del(`${project}/_apis/wit/workitems/${workItemId}?api-version=${this.client.apiVersion}`);
278
+ return {
279
+ workItemId,
280
+ project,
281
+ deleted: true
282
+ };
283
+ }
284
+ }
285
+ //# sourceMappingURL=work-item-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"work-item-service.js","sourceRoot":"","sources":["../../src/services/work-item-service.ts"],"names":[],"mappings":"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"}
@@ -61,14 +61,15 @@ export declare function listSyncedWorkItems(folder: string): Promise<{
61
61
  export declare function validateFolderPath(folderPath: string): void;
62
62
  /**
63
63
  * Get the file path for a new work item file
64
- * Format: new_{parentId}_{index}.md
64
+ * Format: new_{parentId}_{index}.md (with parent) or new_{index}.md (standalone)
65
65
  */
66
- export declare function getNewWorkItemFilePath(folder: string, parentId: number, index: number): string;
66
+ export declare function getNewWorkItemFilePath(folder: string, parentId: number | undefined, index: number): string;
67
67
  /**
68
- * Find the next available index for a new work item file under a parent
69
- * Scans for existing new_{parentId}_*.md files and returns the next available index
68
+ * Find the next available index for a new work item file
69
+ * When parentId is provided, scans for new_{parentId}_*.md files
70
+ * When parentId is undefined, scans for new_*.md (standalone) files
70
71
  */
71
- export declare function findNextNewFileIndex(folder: string, parentId: number): Promise<number>;
72
+ export declare function findNextNewFileIndex(folder: string, parentId?: number): Promise<number>;
72
73
  /**
73
74
  * Find all new work item files in a folder
74
75
  * Returns paths to all new_*.md files
@@ -81,6 +82,7 @@ export declare function renameFile(oldPath: string, newPath: string): Promise<vo
81
82
  /**
82
83
  * Extract parent ID from a new work item filename
83
84
  * e.g., "new_12345_1.md" -> 12345
85
+ * e.g., "new_1.md" -> null (standalone, no parent)
84
86
  */
85
87
  export declare function extractParentIdFromNewFilename(filename: string): number | null;
86
88
  //# sourceMappingURL=file-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-utils.d.ts","sourceRoot":"","sources":["../../src/sync/file-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAyB,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAKrF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,UAAU,CAejE;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ1E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOnE;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIxF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAGpF;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEvE;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACjE,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB,EAAE,CAAC,CAwDH;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAiB3D;AAOD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9F;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA0B5F;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuB5E;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhF;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG9E"}
1
+ {"version":3,"file":"file-utils.d.ts","sourceRoot":"","sources":["../../src/sync/file-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAyB,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAKrF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,UAAU,CAejE;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ1E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOnE;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIxF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAGpF;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEvE;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACjE,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB,EAAE,CAAC,CAwDH;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAiB3D;AAOD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAK1G;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA4B7F;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyB5E;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhF;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG9E"}
@@ -153,14 +153,18 @@ export function validateFolderPath(folderPath) {
153
153
  // ===========================================================================
154
154
  /**
155
155
  * Get the file path for a new work item file
156
- * Format: new_{parentId}_{index}.md
156
+ * Format: new_{parentId}_{index}.md (with parent) or new_{index}.md (standalone)
157
157
  */
158
158
  export function getNewWorkItemFilePath(folder, parentId, index) {
159
- return path.join(folder, `new_${parentId}_${index}.md`);
159
+ if (parentId !== undefined) {
160
+ return path.join(folder, `new_${parentId}_${index}.md`);
161
+ }
162
+ return path.join(folder, `new_${index}.md`);
160
163
  }
161
164
  /**
162
- * Find the next available index for a new work item file under a parent
163
- * Scans for existing new_{parentId}_*.md files and returns the next available index
165
+ * Find the next available index for a new work item file
166
+ * When parentId is provided, scans for new_{parentId}_*.md files
167
+ * When parentId is undefined, scans for new_*.md (standalone) files
164
168
  */
165
169
  export async function findNextNewFileIndex(folder, parentId) {
166
170
  const config = getSyncConfig(folder);
@@ -170,8 +174,10 @@ export async function findNextNewFileIndex(folder, parentId) {
170
174
  }
171
175
  // List all .md files
172
176
  const files = await fs.readdir(config.folder);
173
- // Find existing new_{parentId}_*.md files
174
- const pattern = new RegExp(`^new_${parentId}_(\\d+)\\.md$`);
177
+ // Match pattern based on whether we have a parent
178
+ const pattern = parentId !== undefined
179
+ ? new RegExp(`^new_${parentId}_(\\d+)\\.md$`)
180
+ : /^new_(\d+)\.md$/;
175
181
  let maxIndex = 0;
176
182
  for (const file of files) {
177
183
  const match = file.match(pattern);
@@ -197,10 +203,12 @@ export async function findNewWorkItemFiles(folder) {
197
203
  // List all .md files
198
204
  const files = await fs.readdir(config.folder);
199
205
  // Find new_*.md files (excluding task files)
206
+ // Two patterns: new_{parentId}_{seq}.md (with parent) and new_{seq}.md (standalone)
200
207
  const newFiles = [];
201
- const pattern = /^new_\d+_\d+\.md$/;
208
+ const withParentPattern = /^new_\d+_\d+\.md$/;
209
+ const standalonePattern = /^new_\d+\.md$/;
202
210
  for (const file of files) {
203
- if (pattern.test(file)) {
211
+ if (withParentPattern.test(file) || standalonePattern.test(file)) {
204
212
  newFiles.push(path.join(config.folder, file));
205
213
  }
206
214
  }
@@ -216,6 +224,7 @@ export async function renameFile(oldPath, newPath) {
216
224
  /**
217
225
  * Extract parent ID from a new work item filename
218
226
  * e.g., "new_12345_1.md" -> 12345
227
+ * e.g., "new_1.md" -> null (standalone, no parent)
219
228
  */
220
229
  export function extractParentIdFromNewFilename(filename) {
221
230
  const match = filename.match(/^new_(\d+)_\d+\.md$/);
@@ -1 +1 @@
1
- {"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../../src/sync/file-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../../src/sync/file-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAsB,MAAM,0BAA0B,CAAC;AAErF,sCAAsC;AACtC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAUhD;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,cAAuB;IACnD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,mBAAmB,CAAC;IAC7E,MAAM,MAAM,GAAG,cAAc,IAAI,SAAS,CAAC;IAE3C,2BAA2B;IAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAC5C,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IAExC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,MAAM,CAAC;IAEvE,OAAO;QACL,MAAM,EAAE,cAAc;QACtB,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IACzD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,UAAkB;IACpE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,UAAkB;IACpE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,cAAc,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAgB;IAC/C,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAgB,EAAE,OAAe;IACvE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IACrD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrD,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAgB;IACpD,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAc;IAQtD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAErC,yBAAyB;IACzB,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,qBAAqB;IACrB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE9C,MAAM,SAAS,GAOT,EAAE,CAAC;IAET,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,6CAA6C;QAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3D,SAAS;QACX,CAAC;QAED,4CAA4C;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QAED,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEhD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;YAEnD,SAAS,CAAC,IAAI,CAAC;gBACb,EAAE;gBACF,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK;gBAC/B,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK;gBAC/B,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,kBAAkB;gBAC/C,WAAW;gBACX,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,kCAAkC;YAClC,OAAO,CAAC,KAAK,CAAC,4BAA4B,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,aAAa;IACb,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,+DAA+D;IAC/D,mDAAmD;IACnD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,6BAA6B,CAAC,CAAC;IACpF,CAAC;IAED,gCAAgC;IAChC,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACpE,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,mCAAmC,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,+BAA+B;AAC/B,4EAA4E;AAC5E,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAc,EAAE,QAA4B,EAAE,KAAa;IAChG,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,QAAQ,IAAI,KAAK,KAAK,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,KAAK,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAc,EAAE,QAAiB;IAC1E,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAErC,yBAAyB;IACzB,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,CAAC,CAAC,aAAa;IACzB,CAAC;IAED,qBAAqB;IACrB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE9C,kDAAkD;IAClD,MAAM,OAAO,GAAG,QAAQ,KAAK,SAAS;QACpC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,QAAQ,eAAe,CAAC;QAC7C,CAAC,CAAC,iBAAiB,CAAC;IACtB,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;gBACrB,QAAQ,GAAG,KAAK,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,GAAG,CAAC,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAc;IACvD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAErC,yBAAyB;IACzB,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,qBAAqB;IACrB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE9C,6CAA6C;IAC7C,oFAAoF;IACpF,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;IAC9C,MAAM,iBAAiB,GAAG,eAAe,CAAC;IAE1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,OAAe;IAC/D,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAAC,QAAgB;IAC7D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC"}
@@ -92,7 +92,7 @@ export interface NewWorkItemFrontmatter {
92
92
  title: string;
93
93
  type: string;
94
94
  state: string;
95
- parent: number;
95
+ parent?: number;
96
96
  assignedTo?: string;
97
97
  storyPoints?: number;
98
98
  moscow?: string;
@@ -119,15 +119,30 @@ export declare function isNewWorkItem(frontmatter: Record<string, any>): boolean
119
119
  * Parse a markdown file for a NEW work item (no id required)
120
120
  */
121
121
  export declare function parseNewWorkItemMarkdown(content: string): ParsedNewWorkItemFile;
122
+ /**
123
+ * Result of building new work item fields, split into standard and custom.
124
+ * Custom fields (MoSCoW, HowToTest, Deployment fields) cannot be set during
125
+ * ADO work item creation — they must be set via a follow-up update.
126
+ */
127
+ export interface NewWorkItemFieldSplit {
128
+ /** Standard ADO fields safe for creation */
129
+ standardFields: Record<string, any>;
130
+ /** Custom fields that must be set via update after creation */
131
+ customFields: Record<string, any>;
132
+ }
122
133
  /**
123
134
  * Build ADO fields object for creating a new work item
124
- * Inherits areaPath and iterationPath from parent work item
135
+ * Inherits areaPath and iterationPath from parent work item when available
136
+ *
137
+ * Returns fields split into standard (safe for creation) and custom (require
138
+ * a follow-up update) because ADO rejects custom fields during work item creation.
125
139
  */
126
- export declare function buildNewWorkItemFields(parsed: ParsedNewWorkItemFile, parentWorkItem: any): Record<string, any>;
140
+ export declare function buildNewWorkItemFields(parsed: ParsedNewWorkItemFile, parentWorkItem?: any): NewWorkItemFieldSplit;
127
141
  /**
128
142
  * Generate a new work item template markdown file
143
+ * When parentId is undefined, creates a standalone work item template
129
144
  */
130
- export declare function generateNewWorkItemTemplate(parentId: number, parentTitle: string, project: string, workItemType?: string): string;
145
+ export declare function generateNewWorkItemTemplate(parentId: number | undefined, parentTitle: string, project: string, workItemType?: string): string;
131
146
  /**
132
147
  * Update a new work item file after creation with the assigned ID
133
148
  * Converts it from a "new" file to a synced file with proper frontmatter
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-serializer.d.ts","sourceRoot":"","sources":["../../src/sync/markdown-serializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown-serializer.d.ts","sourceRoot":"","sources":["../../src/sync/markdown-serializer.ts"],"names":[],"mappings":"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"}