@standardbeagle/dart-query 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/dartClient.d.ts +2 -2
- package/dist/api/dartClient.d.ts.map +1 -1
- package/dist/api/dartClient.js +31 -24
- package/dist/api/dartClient.js.map +1 -1
- package/dist/api/test-utils/fetchRecorder.d.ts +26 -0
- package/dist/api/test-utils/fetchRecorder.d.ts.map +1 -0
- package/dist/api/test-utils/fetchRecorder.js +131 -0
- package/dist/api/test-utils/fetchRecorder.js.map +1 -0
- package/dist/batch/batchOperations.d.ts +2 -2
- package/dist/batch/batchOperations.d.ts.map +1 -1
- package/dist/batch/batchOperations.js.map +1 -1
- package/dist/batch/validateUpdates.d.ts +5 -0
- package/dist/batch/validateUpdates.d.ts.map +1 -0
- package/dist/batch/validateUpdates.js +159 -0
- package/dist/batch/validateUpdates.js.map +1 -0
- package/dist/index.js +110 -82
- package/dist/index.js.map +1 -1
- package/dist/parsers/dartql.d.ts +34 -0
- package/dist/parsers/dartql.d.ts.map +1 -1
- package/dist/parsers/dartql.js +285 -0
- package/dist/parsers/dartql.js.map +1 -1
- package/dist/tools/batch_update_tasks.d.ts.map +1 -1
- package/dist/tools/batch_update_tasks.js +3 -179
- package/dist/tools/batch_update_tasks.js.map +1 -1
- package/dist/tools/execute_dartql.d.ts +4 -0
- package/dist/tools/execute_dartql.d.ts.map +1 -0
- package/dist/tools/execute_dartql.js +270 -0
- package/dist/tools/execute_dartql.js.map +1 -0
- package/dist/tools/info.d.ts.map +1 -1
- package/dist/tools/info.js +54 -5
- package/dist/tools/info.js.map +1 -1
- package/dist/tools/update_task.d.ts.map +1 -1
- package/dist/tools/update_task.js +114 -55
- package/dist/tools/update_task.js.map +1 -1
- package/dist/types/index.d.ts +71 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/package.json +2 -1
package/dist/api/dartClient.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DartTask, DartConfig, DartDoc, CreateTaskInput,
|
|
1
|
+
import { DartTask, DartConfig, DartDoc, CreateTaskInput, ListTasksInput } from '../types/index.js';
|
|
2
2
|
export interface DartClientConfig {
|
|
3
3
|
token: string;
|
|
4
4
|
baseUrl?: string;
|
|
@@ -17,7 +17,7 @@ export declare class DartClient {
|
|
|
17
17
|
}>;
|
|
18
18
|
private mapTaskResponse;
|
|
19
19
|
getTask(dartId: string): Promise<DartTask>;
|
|
20
|
-
updateTask(
|
|
20
|
+
updateTask(dartId: string, updates: Partial<DartTask>): Promise<DartTask>;
|
|
21
21
|
deleteTask(dartId: string): Promise<{
|
|
22
22
|
success: boolean;
|
|
23
23
|
dart_id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dartClient.d.ts","sourceRoot":"","sources":["../../src/api/dartClient.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,QAAQ,EACR,UAAU,EACV,OAAO,EACP,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"dartClient.d.ts","sourceRoot":"","sources":["../../src/api/dartClient.ts"],"names":[],"mappings":"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"}
|
package/dist/api/dartClient.js
CHANGED
|
@@ -153,16 +153,20 @@ export class DartClient {
|
|
|
153
153
|
apiInput.startAt = input.start_at;
|
|
154
154
|
if (input.parent_task)
|
|
155
155
|
apiInput.parentId = input.parent_task;
|
|
156
|
+
const taskRelationships = {};
|
|
156
157
|
if (input.subtask_ids !== undefined)
|
|
157
|
-
|
|
158
|
+
taskRelationships.subtaskIds = input.subtask_ids;
|
|
158
159
|
if (input.blocker_ids !== undefined)
|
|
159
|
-
|
|
160
|
+
taskRelationships.blockerIds = input.blocker_ids;
|
|
160
161
|
if (input.blocking_ids !== undefined)
|
|
161
|
-
|
|
162
|
+
taskRelationships.blockingIds = input.blocking_ids;
|
|
162
163
|
if (input.duplicate_ids !== undefined)
|
|
163
|
-
|
|
164
|
+
taskRelationships.duplicateIds = input.duplicate_ids;
|
|
164
165
|
if (input.related_ids !== undefined)
|
|
165
|
-
|
|
166
|
+
taskRelationships.relatedIds = input.related_ids;
|
|
167
|
+
if (Object.keys(taskRelationships).length > 0) {
|
|
168
|
+
apiInput.taskRelationships = taskRelationships;
|
|
169
|
+
}
|
|
166
170
|
const response = await this.request('POST', '/tasks', { item: apiInput });
|
|
167
171
|
return this.mapTaskResponse(response.item);
|
|
168
172
|
}
|
|
@@ -172,17 +176,17 @@ export class DartClient {
|
|
|
172
176
|
if (input.assignee)
|
|
173
177
|
queryParams.append('assignee', input.assignee);
|
|
174
178
|
if (input.status)
|
|
175
|
-
queryParams.append('
|
|
179
|
+
queryParams.append('status_id', input.status);
|
|
176
180
|
if (input.dartboard)
|
|
177
|
-
queryParams.append('
|
|
181
|
+
queryParams.append('dartboard_id', input.dartboard);
|
|
178
182
|
if (input.priority !== undefined)
|
|
179
183
|
queryParams.append('priority', input.priority.toString());
|
|
180
184
|
if (input.tags)
|
|
181
|
-
input.tags.forEach(tag => queryParams.append('
|
|
185
|
+
input.tags.forEach(tag => queryParams.append('tag_id', tag));
|
|
182
186
|
if (input.due_before)
|
|
183
|
-
queryParams.append('
|
|
187
|
+
queryParams.append('due_at_before', input.due_before);
|
|
184
188
|
if (input.due_after)
|
|
185
|
-
queryParams.append('
|
|
189
|
+
queryParams.append('due_at_after', input.due_after);
|
|
186
190
|
if (input.limit !== undefined)
|
|
187
191
|
queryParams.append('limit', input.limit.toString());
|
|
188
192
|
if (input.offset !== undefined)
|
|
@@ -224,16 +228,15 @@ export class DartClient {
|
|
|
224
228
|
const response = await this.request('GET', `/tasks/${encodeURIComponent(dartId.trim())}`);
|
|
225
229
|
return this.mapTaskResponse(response.item);
|
|
226
230
|
}
|
|
227
|
-
async updateTask(
|
|
228
|
-
if (!
|
|
231
|
+
async updateTask(dartId, updates) {
|
|
232
|
+
if (!dartId || typeof dartId !== 'string' || dartId.trim() === '') {
|
|
229
233
|
throw new DartAPIError('dart_id is required and must be a non-empty string', 400);
|
|
230
234
|
}
|
|
231
|
-
if (!
|
|
232
|
-
throw new DartAPIError('
|
|
235
|
+
if (!updates || typeof updates !== 'object' || Object.keys(updates).length === 0) {
|
|
236
|
+
throw new DartAPIError('No fields to update', 400);
|
|
233
237
|
}
|
|
234
|
-
const { dart_id, updates } = input;
|
|
235
238
|
const apiUpdates = {
|
|
236
|
-
id:
|
|
239
|
+
id: dartId.trim(),
|
|
237
240
|
};
|
|
238
241
|
if (updates.title !== undefined)
|
|
239
242
|
apiUpdates.title = updates.title;
|
|
@@ -257,17 +260,21 @@ export class DartClient {
|
|
|
257
260
|
apiUpdates.startAt = updates.start_at;
|
|
258
261
|
if (updates.parent_task !== undefined)
|
|
259
262
|
apiUpdates.parentId = updates.parent_task;
|
|
263
|
+
const taskRelationships = {};
|
|
260
264
|
if (updates.subtask_ids !== undefined)
|
|
261
|
-
|
|
265
|
+
taskRelationships.subtaskIds = updates.subtask_ids;
|
|
262
266
|
if (updates.blocker_ids !== undefined)
|
|
263
|
-
|
|
267
|
+
taskRelationships.blockerIds = updates.blocker_ids;
|
|
264
268
|
if (updates.blocking_ids !== undefined)
|
|
265
|
-
|
|
269
|
+
taskRelationships.blockingIds = updates.blocking_ids;
|
|
266
270
|
if (updates.duplicate_ids !== undefined)
|
|
267
|
-
|
|
271
|
+
taskRelationships.duplicateIds = updates.duplicate_ids;
|
|
268
272
|
if (updates.related_ids !== undefined)
|
|
269
|
-
|
|
270
|
-
|
|
273
|
+
taskRelationships.relatedIds = updates.related_ids;
|
|
274
|
+
if (Object.keys(taskRelationships).length > 0) {
|
|
275
|
+
apiUpdates.taskRelationships = taskRelationships;
|
|
276
|
+
}
|
|
277
|
+
const response = await this.request('PUT', `/tasks/${encodeURIComponent(dartId.trim())}`, { item: apiUpdates });
|
|
271
278
|
return this.mapTaskResponse(response.item);
|
|
272
279
|
}
|
|
273
280
|
async deleteTask(dartId) {
|
|
@@ -284,7 +291,7 @@ export class DartClient {
|
|
|
284
291
|
const queryParams = new URLSearchParams();
|
|
285
292
|
if (input) {
|
|
286
293
|
if (input.folder)
|
|
287
|
-
queryParams.append('
|
|
294
|
+
queryParams.append('folder_id', input.folder);
|
|
288
295
|
if (input.title_contains)
|
|
289
296
|
queryParams.append('title_contains', input.title_contains);
|
|
290
297
|
if (input.text_contains)
|
|
@@ -343,7 +350,7 @@ export class DartClient {
|
|
|
343
350
|
throw new DartAPIError('task_id is required and must be a non-empty string', 400);
|
|
344
351
|
}
|
|
345
352
|
const queryParams = new URLSearchParams();
|
|
346
|
-
queryParams.append('
|
|
353
|
+
queryParams.append('task_id', input.task_id.trim());
|
|
347
354
|
if (input.limit !== undefined)
|
|
348
355
|
queryParams.append('limit', input.limit.toString());
|
|
349
356
|
if (input.offset !== undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dartClient.js","sourceRoot":"","sources":["../../src/api/dartClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dartClient.js","sourceRoot":"","sources":["../../src/api/dartClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface RecordedExchange {
|
|
2
|
+
request: {
|
|
3
|
+
method: string;
|
|
4
|
+
endpoint: string;
|
|
5
|
+
body?: unknown;
|
|
6
|
+
};
|
|
7
|
+
response: {
|
|
8
|
+
status: number;
|
|
9
|
+
headers: Record<string, string>;
|
|
10
|
+
body: unknown;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export interface Cassette {
|
|
14
|
+
name: string;
|
|
15
|
+
recorded_at: string;
|
|
16
|
+
exchanges: RecordedExchange[];
|
|
17
|
+
}
|
|
18
|
+
export declare function isRecordMode(): boolean;
|
|
19
|
+
export declare function createFetchRecorder(cassetteName: string): {
|
|
20
|
+
install: () => void;
|
|
21
|
+
uninstall: () => void;
|
|
22
|
+
save: () => void;
|
|
23
|
+
getCassette: () => Cassette;
|
|
24
|
+
isRecording: boolean;
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=fetchRecorder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchRecorder.d.ts","sourceRoot":"","sources":["../../../src/api/test-utils/fetchRecorder.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QAEf,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,EAAE,OAAO,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAqBD,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAkCD,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM;;;;uBAkH9B,QAAQ;;EAKjC"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'node:fs';
|
|
2
|
+
import { join, dirname } from 'node:path';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
5
|
+
const CASSETTE_DIR = join(__dirname, '..', '__cassettes__');
|
|
6
|
+
function toEndpoint(url) {
|
|
7
|
+
try {
|
|
8
|
+
const u = new URL(url);
|
|
9
|
+
return u.pathname + u.search;
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
return url;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function sanitizeHeaders(headers) {
|
|
16
|
+
const sanitized = { ...headers };
|
|
17
|
+
delete sanitized['authorization'];
|
|
18
|
+
delete sanitized['Authorization'];
|
|
19
|
+
return sanitized;
|
|
20
|
+
}
|
|
21
|
+
export function isRecordMode() {
|
|
22
|
+
return process.env.DART_RECORD === 'true' && !!process.env.DART_TOKEN;
|
|
23
|
+
}
|
|
24
|
+
function loadCassette(name) {
|
|
25
|
+
const path = join(CASSETTE_DIR, `${name}.json`);
|
|
26
|
+
if (!existsSync(path))
|
|
27
|
+
return null;
|
|
28
|
+
return JSON.parse(readFileSync(path, 'utf-8'));
|
|
29
|
+
}
|
|
30
|
+
function saveCassette(cassette) {
|
|
31
|
+
if (!existsSync(CASSETTE_DIR)) {
|
|
32
|
+
mkdirSync(CASSETTE_DIR, { recursive: true });
|
|
33
|
+
}
|
|
34
|
+
const path = join(CASSETTE_DIR, `${cassette.name}.json`);
|
|
35
|
+
writeFileSync(path, JSON.stringify(cassette, null, 2) + '\n');
|
|
36
|
+
}
|
|
37
|
+
export function createFetchRecorder(cassetteName) {
|
|
38
|
+
const recording = isRecordMode();
|
|
39
|
+
const cassette = recording
|
|
40
|
+
? { name: cassetteName, recorded_at: new Date().toISOString(), exchanges: [] }
|
|
41
|
+
: loadCassette(cassetteName) ?? { name: cassetteName, recorded_at: '', exchanges: [] };
|
|
42
|
+
let replayIndex = 0;
|
|
43
|
+
let originalFetch = null;
|
|
44
|
+
function install() {
|
|
45
|
+
replayIndex = 0;
|
|
46
|
+
originalFetch = globalThis.fetch;
|
|
47
|
+
if (recording) {
|
|
48
|
+
globalThis.fetch = async (input, init) => {
|
|
49
|
+
const url = typeof input === 'string' ? input : input instanceof URL ? input.toString() : input.url;
|
|
50
|
+
const method = init?.method || 'GET';
|
|
51
|
+
const body = init?.body ? JSON.parse(init.body) : undefined;
|
|
52
|
+
const response = await originalFetch(input, init);
|
|
53
|
+
const responseBody = await response.clone().text();
|
|
54
|
+
let parsedBody;
|
|
55
|
+
try {
|
|
56
|
+
parsedBody = JSON.parse(responseBody);
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
parsedBody = responseBody;
|
|
60
|
+
}
|
|
61
|
+
const responseHeaders = {};
|
|
62
|
+
response.headers.forEach((value, key) => {
|
|
63
|
+
responseHeaders[key] = value;
|
|
64
|
+
});
|
|
65
|
+
cassette.exchanges.push({
|
|
66
|
+
request: {
|
|
67
|
+
method,
|
|
68
|
+
endpoint: toEndpoint(url),
|
|
69
|
+
body,
|
|
70
|
+
},
|
|
71
|
+
response: {
|
|
72
|
+
status: response.status,
|
|
73
|
+
headers: sanitizeHeaders(responseHeaders),
|
|
74
|
+
body: parsedBody,
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
return new Response(responseBody, {
|
|
78
|
+
status: response.status,
|
|
79
|
+
statusText: response.statusText,
|
|
80
|
+
headers: response.headers,
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
globalThis.fetch = async (input, init) => {
|
|
86
|
+
const url = typeof input === 'string' ? input : input instanceof URL ? input.toString() : input.url;
|
|
87
|
+
const method = init?.method || 'GET';
|
|
88
|
+
const endpoint = toEndpoint(url);
|
|
89
|
+
let exchange;
|
|
90
|
+
if (replayIndex < cassette.exchanges.length) {
|
|
91
|
+
const candidate = cassette.exchanges[replayIndex];
|
|
92
|
+
if (candidate.request.method === method && candidate.request.endpoint === endpoint) {
|
|
93
|
+
exchange = candidate;
|
|
94
|
+
replayIndex++;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if (!exchange) {
|
|
98
|
+
exchange = cassette.exchanges.find((e) => e.request.method === method && e.request.endpoint === endpoint);
|
|
99
|
+
}
|
|
100
|
+
if (!exchange) {
|
|
101
|
+
throw new Error(`[fetchRecorder] No cassette match for ${method} ${endpoint} in "${cassetteName}". ` +
|
|
102
|
+
`Available: ${cassette.exchanges.map((e) => `${e.request.method} ${e.request.endpoint}`).join(', ') || '(empty cassette)'}\n` +
|
|
103
|
+
`Run with DART_RECORD=true to record new cassettes.`);
|
|
104
|
+
}
|
|
105
|
+
const body = typeof exchange.response.body === 'string'
|
|
106
|
+
? exchange.response.body
|
|
107
|
+
: JSON.stringify(exchange.response.body);
|
|
108
|
+
return new Response(body, {
|
|
109
|
+
status: exchange.response.status,
|
|
110
|
+
headers: new Headers(exchange.response.headers),
|
|
111
|
+
});
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
function uninstall() {
|
|
116
|
+
if (originalFetch) {
|
|
117
|
+
globalThis.fetch = originalFetch;
|
|
118
|
+
originalFetch = null;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
function save() {
|
|
122
|
+
if (recording && cassette.exchanges.length > 0) {
|
|
123
|
+
saveCassette(cassette);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
function getCassette() {
|
|
127
|
+
return cassette;
|
|
128
|
+
}
|
|
129
|
+
return { install, uninstall, save, getCassette, isRecording: recording };
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=fetchRecorder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchRecorder.js","sourceRoot":"","sources":["../../../src/api/test-utils/fetchRecorder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BatchOperation } from '../types/index.js';
|
|
2
|
-
export declare function generateBatchOperationId(operationType: 'update' | 'delete' | 'import'): string;
|
|
3
|
-
export declare function createBatchOperation(operationType: 'update' | 'delete' | 'import', totalItems: number): BatchOperation;
|
|
2
|
+
export declare function generateBatchOperationId(operationType: 'update' | 'delete' | 'import' | 'dartql'): string;
|
|
3
|
+
export declare function createBatchOperation(operationType: 'update' | 'delete' | 'import' | 'dartql', totalItems: number): BatchOperation;
|
|
4
4
|
export declare function updateBatchProgress(batchOperationId: string, completed: number): void;
|
|
5
5
|
export declare function completeBatchOperation(batchOperationId: string, status: 'completed' | 'failed'): void;
|
|
6
6
|
export declare function getBatchOperation(batchOperationId: string): BatchOperation | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchOperations.d.ts","sourceRoot":"","sources":["../../src/batch/batchOperations.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAkBnD,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"batchOperations.d.ts","sourceRoot":"","sources":["../../src/batch/batchOperations.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAkBnD,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GACvD,MAAM,CAIR;AASD,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,EACxD,UAAU,EAAE,MAAM,GACjB,cAAc,CAoBhB;AAQD,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,MAAM,GAChB,IAAI,CAMN;AAQD,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,WAAW,GAAG,QAAQ,GAC7B,IAAI,CAQN;AAQD,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEtF;AAQD,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAKhF;AAQD,wBAAgB,aAAa,CAC3B,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACzD,IAAI,CAKN;AAMD,wBAAgB,oBAAoB,IAAI,IAAI,CAS3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchOperations.js","sourceRoot":"","sources":["../../src/batch/batchOperations.ts"],"names":[],"mappings":"AAaA,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;AAY1D,MAAM,UAAU,wBAAwB,CACtC,
|
|
1
|
+
{"version":3,"file":"batchOperations.js","sourceRoot":"","sources":["../../src/batch/batchOperations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { DartConfig, DartTask } from '../types/index.js';
|
|
2
|
+
export declare function validateUpdates(updates: Partial<Omit<DartTask, 'dart_id' | 'created_at' | 'updated_at'>>, config: DartConfig): Promise<Partial<DartTask>>;
|
|
3
|
+
export declare function validateRelationshipArray(fieldName: string, value: unknown): string[] | undefined;
|
|
4
|
+
export declare function extractCurrentValues(task: DartTask, updatedFields: string[]): Partial<DartTask>;
|
|
5
|
+
//# sourceMappingURL=validateUpdates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateUpdates.d.ts","sourceRoot":"","sources":["../../src/batch/validateUpdates.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,UAAU,EACV,QAAQ,EAOT,MAAM,mBAAmB,CAAC;AAM3B,wBAAsB,eAAe,CACnC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,YAAY,GAAG,YAAY,CAAC,CAAC,EACzE,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAmM5B;AAMD,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,OAAO,GACb,MAAM,EAAE,GAAG,SAAS,CAoBtB;AAKD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAQ/F"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { ValidationError, findDartboard, findStatus, findTag, getDartboardNames, getStatusNames, } from '../types/index.js';
|
|
2
|
+
export async function validateUpdates(updates, config) {
|
|
3
|
+
const validated = {};
|
|
4
|
+
if (updates.title !== undefined) {
|
|
5
|
+
if (typeof updates.title !== 'string' || updates.title.trim() === '') {
|
|
6
|
+
throw new ValidationError('title must be a non-empty string', 'title');
|
|
7
|
+
}
|
|
8
|
+
if (updates.title.length > 500) {
|
|
9
|
+
throw new ValidationError(`title exceeds maximum length of 500 characters (current: ${updates.title.length})`, 'title');
|
|
10
|
+
}
|
|
11
|
+
validated.title = updates.title;
|
|
12
|
+
}
|
|
13
|
+
if (updates.description !== undefined) {
|
|
14
|
+
validated.description = updates.description;
|
|
15
|
+
}
|
|
16
|
+
if (updates.dartboard !== undefined) {
|
|
17
|
+
if (!config.dartboards || config.dartboards.length === 0) {
|
|
18
|
+
throw new ValidationError('No dartboards found in workspace configuration. Cannot update dartboard.', 'dartboard');
|
|
19
|
+
}
|
|
20
|
+
const dartboard = findDartboard(config.dartboards, updates.dartboard);
|
|
21
|
+
if (!dartboard) {
|
|
22
|
+
const dartboardNames = getDartboardNames(config.dartboards);
|
|
23
|
+
const available = dartboardNames.slice(0, 10).join(', ') +
|
|
24
|
+
(dartboardNames.length > 10 ? `, ... (${dartboardNames.length - 10} more)` : '');
|
|
25
|
+
throw new ValidationError(`Invalid dartboard: "${updates.dartboard}" not found in workspace. Available dartboards: ${available}`, 'dartboard', dartboardNames);
|
|
26
|
+
}
|
|
27
|
+
validated.dartboard = typeof dartboard === 'string' ? dartboard : dartboard.dart_id;
|
|
28
|
+
}
|
|
29
|
+
if (updates.status !== undefined) {
|
|
30
|
+
if (!config.statuses || config.statuses.length === 0) {
|
|
31
|
+
throw new ValidationError('No statuses found in workspace configuration. Cannot update status.', 'status');
|
|
32
|
+
}
|
|
33
|
+
const status = findStatus(config.statuses, updates.status);
|
|
34
|
+
if (!status) {
|
|
35
|
+
const statusNames = getStatusNames(config.statuses);
|
|
36
|
+
throw new ValidationError(`Invalid status: "${updates.status}" not found in workspace. Available statuses: ${statusNames.join(', ')}`, 'status', statusNames);
|
|
37
|
+
}
|
|
38
|
+
validated.status = typeof status === 'string' ? status : status.dart_id;
|
|
39
|
+
}
|
|
40
|
+
if (updates.priority !== undefined) {
|
|
41
|
+
if (!config.priorities || config.priorities.length === 0) {
|
|
42
|
+
throw new ValidationError('No priorities found in workspace configuration. Cannot update priority.', 'priority');
|
|
43
|
+
}
|
|
44
|
+
if (typeof updates.priority !== 'number' || updates.priority < 1 || updates.priority > 5) {
|
|
45
|
+
throw new ValidationError(`Invalid priority: ${updates.priority}. Valid range: 1-5 (1=lowest, 5=highest)`, 'priority', ['1', '2', '3', '4', '5']);
|
|
46
|
+
}
|
|
47
|
+
validated.priority = updates.priority;
|
|
48
|
+
}
|
|
49
|
+
if (updates.size !== undefined) {
|
|
50
|
+
if (!config.sizes || config.sizes.length === 0) {
|
|
51
|
+
throw new ValidationError('No sizes found in workspace configuration. Cannot update size.', 'size');
|
|
52
|
+
}
|
|
53
|
+
if (typeof updates.size !== 'number' || updates.size < 1 || updates.size > 5) {
|
|
54
|
+
throw new ValidationError(`Invalid size: ${updates.size}. Valid range: 1-5 (1=XS, 5=XL)`, 'size', ['1', '2', '3', '4', '5']);
|
|
55
|
+
}
|
|
56
|
+
validated.size = updates.size;
|
|
57
|
+
}
|
|
58
|
+
if (updates.assignees !== undefined) {
|
|
59
|
+
if (!Array.isArray(updates.assignees)) {
|
|
60
|
+
throw new ValidationError('assignees must be an array of assignee dart_ids, names, or emails', 'assignees');
|
|
61
|
+
}
|
|
62
|
+
if (updates.assignees.length > 0) {
|
|
63
|
+
if (!config.assignees || config.assignees.length === 0) {
|
|
64
|
+
throw new ValidationError('No assignees found in workspace configuration. Cannot update assignees.', 'assignees');
|
|
65
|
+
}
|
|
66
|
+
const resolvedAssignees = [];
|
|
67
|
+
for (const assigneeIdOrName of updates.assignees) {
|
|
68
|
+
if (typeof assigneeIdOrName !== 'string') {
|
|
69
|
+
throw new ValidationError(`assignees array must contain only strings, found: ${typeof assigneeIdOrName}`, 'assignees');
|
|
70
|
+
}
|
|
71
|
+
const assignee = config.assignees.find((a) => a.email === assigneeIdOrName || a.name === assigneeIdOrName);
|
|
72
|
+
if (!assignee) {
|
|
73
|
+
const available = config.assignees
|
|
74
|
+
.map((a) => a.email ? `${a.name} <${a.email}>` : a.name)
|
|
75
|
+
.join(', ');
|
|
76
|
+
throw new ValidationError(`Invalid assignee: "${assigneeIdOrName}" not found in workspace. Available assignees: ${available}`, 'assignees', config.assignees.map((a) => a.email || a.name));
|
|
77
|
+
}
|
|
78
|
+
resolvedAssignees.push(assignee.email || assignee.name);
|
|
79
|
+
}
|
|
80
|
+
validated.assignees = resolvedAssignees;
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
validated.assignees = [];
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
if (updates.tags !== undefined) {
|
|
87
|
+
if (!Array.isArray(updates.tags)) {
|
|
88
|
+
throw new ValidationError('tags must be an array of tag dart_ids or names', 'tags');
|
|
89
|
+
}
|
|
90
|
+
if (updates.tags.length > 0) {
|
|
91
|
+
const resolvedTags = [];
|
|
92
|
+
for (const tagInput of updates.tags) {
|
|
93
|
+
if (typeof tagInput !== 'string') {
|
|
94
|
+
throw new ValidationError(`tags array must contain only strings, found: ${typeof tagInput}`, 'tags');
|
|
95
|
+
}
|
|
96
|
+
const tag = findTag(config.tags, tagInput);
|
|
97
|
+
resolvedTags.push(tag ? (typeof tag === 'string' ? tag : tag.dart_id) : tagInput);
|
|
98
|
+
}
|
|
99
|
+
validated.tags = resolvedTags;
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
validated.tags = [];
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
if (updates.due_at !== undefined) {
|
|
106
|
+
const dueDate = new Date(updates.due_at);
|
|
107
|
+
if (isNaN(dueDate.getTime())) {
|
|
108
|
+
throw new ValidationError(`Invalid due_at date format: "${updates.due_at}". Expected ISO8601 format (e.g., "2026-01-17T10:00:00Z")`, 'due_at');
|
|
109
|
+
}
|
|
110
|
+
validated.due_at = updates.due_at;
|
|
111
|
+
}
|
|
112
|
+
if (updates.start_at !== undefined) {
|
|
113
|
+
const startDate = new Date(updates.start_at);
|
|
114
|
+
if (isNaN(startDate.getTime())) {
|
|
115
|
+
throw new ValidationError(`Invalid start_at date format: "${updates.start_at}". Expected ISO8601 format (e.g., "2026-01-17T10:00:00Z")`, 'start_at');
|
|
116
|
+
}
|
|
117
|
+
validated.start_at = updates.start_at;
|
|
118
|
+
}
|
|
119
|
+
if (updates.parent_task !== undefined) {
|
|
120
|
+
validated.parent_task = updates.parent_task;
|
|
121
|
+
}
|
|
122
|
+
const relFields = ['subtask_ids', 'blocker_ids', 'blocking_ids', 'duplicate_ids', 'related_ids'];
|
|
123
|
+
for (const fieldName of relFields) {
|
|
124
|
+
const val = validateRelationshipArray(fieldName, updates[fieldName]);
|
|
125
|
+
if (val !== undefined) {
|
|
126
|
+
validated[fieldName] = val;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return validated;
|
|
130
|
+
}
|
|
131
|
+
export function validateRelationshipArray(fieldName, value) {
|
|
132
|
+
if (value === undefined)
|
|
133
|
+
return undefined;
|
|
134
|
+
if (!Array.isArray(value)) {
|
|
135
|
+
throw new ValidationError(`${fieldName} must be an array of task dart_ids`, fieldName);
|
|
136
|
+
}
|
|
137
|
+
if (value.length === 0)
|
|
138
|
+
return [];
|
|
139
|
+
for (let i = 0; i < value.length; i++) {
|
|
140
|
+
const item = value[i];
|
|
141
|
+
if (typeof item !== 'string') {
|
|
142
|
+
throw new ValidationError(`${fieldName}[${i}] must be a string, found: ${typeof item}`, fieldName);
|
|
143
|
+
}
|
|
144
|
+
if (item.trim() === '') {
|
|
145
|
+
throw new ValidationError(`${fieldName}[${i}] must be a non-empty string`, fieldName);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return value;
|
|
149
|
+
}
|
|
150
|
+
export function extractCurrentValues(task, updatedFields) {
|
|
151
|
+
const currentValues = {};
|
|
152
|
+
for (const field of updatedFields) {
|
|
153
|
+
if (field in task) {
|
|
154
|
+
currentValues[field] = task[field];
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return currentValues;
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=validateUpdates.js.map
|