dyson-swarm 1.3.1 → 1.4.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/tasks/file-utils.d.ts.map +1 -1
- package/dist/tasks/file-utils.js +34 -1
- package/dist/tasks/file-utils.js.map +1 -1
- package/dist/tasks/manager.d.ts +16 -0
- package/dist/tasks/manager.d.ts.map +1 -1
- package/dist/tasks/manager.js +99 -0
- package/dist/tasks/manager.js.map +1 -1
- package/dist/tasks/schema-version/3/migrate.d.ts +26 -0
- package/dist/tasks/schema-version/3/migrate.d.ts.map +1 -0
- package/dist/tasks/schema-version/3/migrate.js +68 -0
- package/dist/tasks/schema-version/3/migrate.js.map +1 -0
- package/dist/tasks/schema-version/index.d.ts +1 -1
- package/dist/tasks/schema-version/index.js +1 -1
- package/dist/tasks/types.d.ts +4 -0
- package/dist/tasks/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/tasks/schema-version.d.ts +0 -116
- package/dist/tasks/schema-version.d.ts.map +0 -1
- package/dist/tasks/schema-version.js +0 -175
- package/dist/tasks/schema-version.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-utils.d.ts","sourceRoot":"","sources":["../../src/tasks/file-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAExD,qBAAa,aAAa;IACxB;;OAEG;WACU,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,eAAe,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAK5G;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,WAAW,EAAE,eAAe,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE;
|
|
1
|
+
{"version":3,"file":"file-utils.d.ts","sourceRoot":"","sources":["../../src/tasks/file-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAExD,qBAAa,aAAa;IACxB;;OAEG;WACU,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,eAAe,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAK5G;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,WAAW,EAAE,eAAe,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE;IA8E/F;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAoB3C;;OAEG;WACU,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvE;;OAEG;IACH,MAAM,CAAC,cAAc,IAAI,MAAM;IAQ/B;;OAEG;WACU,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD;;OAEG;WACU,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS3D;;OAEG;WACU,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASzD;;OAEG;WACU,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAsBpE;;OAEG;WACU,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAiB1E"}
|
package/dist/tasks/file-utils.js
CHANGED
|
@@ -24,15 +24,42 @@ export class TaskFileUtils {
|
|
|
24
24
|
title: '',
|
|
25
25
|
};
|
|
26
26
|
const lines = frontmatterStr.split('\n');
|
|
27
|
-
|
|
27
|
+
let inDependsOn = false;
|
|
28
|
+
for (let i = 0; i < lines.length; i++) {
|
|
29
|
+
const line = lines[i];
|
|
28
30
|
const trimmedLine = line.trim();
|
|
29
31
|
if (!trimmedLine || trimmedLine.startsWith('#'))
|
|
30
32
|
continue;
|
|
33
|
+
// Check for array items (lines starting with -)
|
|
34
|
+
if (trimmedLine.startsWith('- ')) {
|
|
35
|
+
if (inDependsOn) {
|
|
36
|
+
let value = trimmedLine.substring(2).trim();
|
|
37
|
+
// Remove quotes if present
|
|
38
|
+
if (value.startsWith('"') && value.endsWith('"')) {
|
|
39
|
+
value = value.slice(1, -1);
|
|
40
|
+
}
|
|
41
|
+
else if (value.startsWith("'") && value.endsWith("'")) {
|
|
42
|
+
value = value.slice(1, -1);
|
|
43
|
+
}
|
|
44
|
+
if (!frontmatter.dependsOn) {
|
|
45
|
+
frontmatter.dependsOn = [];
|
|
46
|
+
}
|
|
47
|
+
frontmatter.dependsOn.push(value);
|
|
48
|
+
}
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
31
51
|
const colonIndex = trimmedLine.indexOf(':');
|
|
32
52
|
if (colonIndex === -1)
|
|
33
53
|
continue;
|
|
34
54
|
const key = trimmedLine.substring(0, colonIndex).trim();
|
|
35
55
|
let value = trimmedLine.substring(colonIndex + 1).trim();
|
|
56
|
+
// Check if this is the start of dependsOn array
|
|
57
|
+
if (key === 'dependsOn') {
|
|
58
|
+
inDependsOn = true;
|
|
59
|
+
frontmatter.dependsOn = [];
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
inDependsOn = false;
|
|
36
63
|
// Remove quotes if present
|
|
37
64
|
if (value.startsWith('"') && value.endsWith('"')) {
|
|
38
65
|
value = value.slice(1, -1);
|
|
@@ -60,6 +87,12 @@ export class TaskFileUtils {
|
|
|
60
87
|
if (task.frontmatter.assignee) {
|
|
61
88
|
frontmatter.push(`assignee: "${task.frontmatter.assignee}"`);
|
|
62
89
|
}
|
|
90
|
+
if (task.frontmatter.dependsOn && task.frontmatter.dependsOn.length > 0) {
|
|
91
|
+
frontmatter.push(`dependsOn:`);
|
|
92
|
+
for (const depId of task.frontmatter.dependsOn) {
|
|
93
|
+
frontmatter.push(` - "${depId}"`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
63
96
|
const frontmatterStr = frontmatter.join('\n');
|
|
64
97
|
const description = task.description || '';
|
|
65
98
|
return `---\n${frontmatterStr}\n---\n${description}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../../src/tasks/file-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,MAAM,OAAO,aAAa;IACxB;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,QAAgB;QACzC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAe;QACrC,MAAM,gBAAgB,GAAG,yCAAyC,CAAC;QACnE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAE9C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEpC,8BAA8B;QAC9B,MAAM,WAAW,GAAoB;YACnC,KAAK,EAAE,EAAE;SACV,CAAC;QAEF,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,KAAK,
|
|
1
|
+
{"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../../src/tasks/file-utils.ts"],"names":[],"mappings":"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"}
|
package/dist/tasks/manager.d.ts
CHANGED
|
@@ -63,5 +63,21 @@ export declare class TaskManager {
|
|
|
63
63
|
* Unassign a task
|
|
64
64
|
*/
|
|
65
65
|
unassignTask(taskId: string): Promise<Task | null>;
|
|
66
|
+
/**
|
|
67
|
+
* Get tasks that this task depends on
|
|
68
|
+
*/
|
|
69
|
+
getTaskDependencies(taskId: string): Promise<Task[]>;
|
|
70
|
+
/**
|
|
71
|
+
* Get tasks that depend on this task
|
|
72
|
+
*/
|
|
73
|
+
getDependentTasks(taskId: string): Promise<Task[]>;
|
|
74
|
+
/**
|
|
75
|
+
* Add a dependency to a task
|
|
76
|
+
*/
|
|
77
|
+
addTaskDependency(taskId: string, dependencyId: string): Promise<Task | null>;
|
|
78
|
+
/**
|
|
79
|
+
* Remove a dependency from a task
|
|
80
|
+
*/
|
|
81
|
+
removeTaskDependency(taskId: string, dependencyId: string): Promise<Task | null>;
|
|
66
82
|
}
|
|
67
83
|
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/tasks/manager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAgBzH,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAAe;gBAEtB,OAAO,GAAE,kBAAuB;IAI5C;;OAEG;YACW,qBAAqB;IAUnC;;OAEG;YACW,QAAQ;IAmCtB;;OAEG;YACW,gBAAgB;IA6B9B;;OAEG;YACW,YAAY;IAwB1B;;OAEG;YACW,WAAW;IA0BzB;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/tasks/manager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAgBzH,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAAe;gBAEtB,OAAO,GAAE,kBAAuB;IAI5C;;OAEG;YACW,qBAAqB;IAUnC;;OAEG;YACW,QAAQ;IAmCtB;;OAEG;YACW,gBAAgB;IA6B9B;;OAEG;YACW,YAAY;IAwB1B;;OAEG;YACW,WAAW;IA0BzB;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqD3D;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAWnD;;OAEG;YACW,kBAAkB;IAchC;;OAEG;IACG,SAAS,CAAC,MAAM,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IA2CzD;;;OAGG;IACI,cAAc,CAAC,MAAM,GAAE,UAAe,GAAG,cAAc,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC;IAmDrF;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAqElF;;OAEG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAmCnF;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA+ClD;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAIxE;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAIxD;;OAEG;IACG,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAkB1D;;OAEG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAOxD;;OAEG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IA8CnF;;OAEG;IACG,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;CAgBvF"}
|
package/dist/tasks/manager.js
CHANGED
|
@@ -141,6 +141,7 @@ export class TaskManager {
|
|
|
141
141
|
id: fullyQualifiedId,
|
|
142
142
|
frontmatter: {
|
|
143
143
|
title: options.title,
|
|
144
|
+
dependsOn: options.dependsOn,
|
|
144
145
|
},
|
|
145
146
|
description: options.description,
|
|
146
147
|
status: 'open',
|
|
@@ -158,6 +159,7 @@ export class TaskManager {
|
|
|
158
159
|
frontmatter: {
|
|
159
160
|
title: options.title,
|
|
160
161
|
assignee: options.assignee,
|
|
162
|
+
dependsOn: options.dependsOn,
|
|
161
163
|
},
|
|
162
164
|
description: options.description,
|
|
163
165
|
status,
|
|
@@ -224,6 +226,10 @@ export class TaskManager {
|
|
|
224
226
|
for (const taskId of taskIds) {
|
|
225
227
|
const task = await this.loadTaskFromFile(taskId);
|
|
226
228
|
if (task) {
|
|
229
|
+
// Apply dependsOn filter if specified
|
|
230
|
+
if (filter.dependsOn && !task.frontmatter.dependsOn?.includes(filter.dependsOn)) {
|
|
231
|
+
continue;
|
|
232
|
+
}
|
|
227
233
|
tasks.push(task);
|
|
228
234
|
}
|
|
229
235
|
}
|
|
@@ -308,6 +314,14 @@ export class TaskManager {
|
|
|
308
314
|
if (options.assignee !== undefined) {
|
|
309
315
|
task.frontmatter.assignee = options.assignee;
|
|
310
316
|
}
|
|
317
|
+
if (options.dependsOn !== undefined) {
|
|
318
|
+
if (options.dependsOn.length === 0) {
|
|
319
|
+
delete task.frontmatter.dependsOn;
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
task.frontmatter.dependsOn = options.dependsOn;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
311
325
|
// Update status based on assignee (for main tasks only)
|
|
312
326
|
let newStatus = currentStatus;
|
|
313
327
|
if (!isSubtask) {
|
|
@@ -426,5 +440,90 @@ export class TaskManager {
|
|
|
426
440
|
async unassignTask(taskId) {
|
|
427
441
|
return this.updateTask(taskId, { assignee: undefined });
|
|
428
442
|
}
|
|
443
|
+
/**
|
|
444
|
+
* Get tasks that this task depends on
|
|
445
|
+
*/
|
|
446
|
+
async getTaskDependencies(taskId) {
|
|
447
|
+
return this.withLock(async () => {
|
|
448
|
+
const task = await this.loadTaskFromFile(taskId);
|
|
449
|
+
if (!task || !task.frontmatter.dependsOn) {
|
|
450
|
+
return [];
|
|
451
|
+
}
|
|
452
|
+
const dependencies = [];
|
|
453
|
+
for (const depId of task.frontmatter.dependsOn) {
|
|
454
|
+
const depTask = await this.loadTaskFromFile(depId);
|
|
455
|
+
if (depTask) {
|
|
456
|
+
dependencies.push(depTask);
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
return dependencies;
|
|
460
|
+
});
|
|
461
|
+
}
|
|
462
|
+
/**
|
|
463
|
+
* Get tasks that depend on this task
|
|
464
|
+
*/
|
|
465
|
+
async getDependentTasks(taskId) {
|
|
466
|
+
return this.withLock(async () => {
|
|
467
|
+
const allTasks = await this.listTasks();
|
|
468
|
+
return allTasks.filter(task => task.frontmatter.dependsOn?.includes(taskId));
|
|
469
|
+
});
|
|
470
|
+
}
|
|
471
|
+
/**
|
|
472
|
+
* Add a dependency to a task
|
|
473
|
+
*/
|
|
474
|
+
async addTaskDependency(taskId, dependencyId) {
|
|
475
|
+
return this.withLock(async () => {
|
|
476
|
+
const task = await this.loadTaskFromFile(taskId);
|
|
477
|
+
if (!task) {
|
|
478
|
+
return null;
|
|
479
|
+
}
|
|
480
|
+
const currentDeps = task.frontmatter.dependsOn || [];
|
|
481
|
+
if (currentDeps.includes(dependencyId)) {
|
|
482
|
+
return task; // Already a dependency
|
|
483
|
+
}
|
|
484
|
+
// Check for circular dependency using DFS
|
|
485
|
+
// We need to check if adding taskId -> dependencyId would create a cycle
|
|
486
|
+
// by checking if dependencyId (or any of its transitive dependencies) depends on taskId
|
|
487
|
+
const visited = new Set();
|
|
488
|
+
const stack = [dependencyId];
|
|
489
|
+
while (stack.length > 0) {
|
|
490
|
+
const currentId = stack.pop();
|
|
491
|
+
if (currentId === taskId) {
|
|
492
|
+
throw new Error(`Circular dependency: ${dependencyId} (or its dependencies) already depends on ${taskId}`);
|
|
493
|
+
}
|
|
494
|
+
if (visited.has(currentId)) {
|
|
495
|
+
continue;
|
|
496
|
+
}
|
|
497
|
+
visited.add(currentId);
|
|
498
|
+
const currentTask = await this.loadTaskFromFile(currentId);
|
|
499
|
+
if (currentTask?.frontmatter.dependsOn) {
|
|
500
|
+
for (const dep of currentTask.frontmatter.dependsOn) {
|
|
501
|
+
if (!visited.has(dep)) {
|
|
502
|
+
stack.push(dep);
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
const newDeps = [...currentDeps, dependencyId];
|
|
508
|
+
return this.updateTask(taskId, { dependsOn: newDeps });
|
|
509
|
+
});
|
|
510
|
+
}
|
|
511
|
+
/**
|
|
512
|
+
* Remove a dependency from a task
|
|
513
|
+
*/
|
|
514
|
+
async removeTaskDependency(taskId, dependencyId) {
|
|
515
|
+
return this.withLock(async () => {
|
|
516
|
+
const task = await this.loadTaskFromFile(taskId);
|
|
517
|
+
if (!task) {
|
|
518
|
+
return null;
|
|
519
|
+
}
|
|
520
|
+
const currentDeps = task.frontmatter.dependsOn || [];
|
|
521
|
+
if (!currentDeps.includes(dependencyId)) {
|
|
522
|
+
return task; // Not a dependency
|
|
523
|
+
}
|
|
524
|
+
const newDeps = currentDeps.filter(id => id !== dependencyId);
|
|
525
|
+
return this.updateTask(taskId, { dependsOn: newDeps });
|
|
526
|
+
});
|
|
527
|
+
}
|
|
429
528
|
}
|
|
430
529
|
//# sourceMappingURL=manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/tasks/manager.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,iBAAiB,CAAC;AACnC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,EAAS,MAAM,IAAI,CAAC;AAEnE,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EACL,eAAe,EACf,WAAW,EACX,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,MAAM,OAAO,WAAW;IACd,WAAW,CAAe;IAElC,YAAY,UAA8B,EAAE;QAC1C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB;QACjC,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,mBAAmB,CAC3B,+DAA+D,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,mCAAmC,EAC9H,iBAAiB,CAClB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,QAAQ,CAAI,SAA2B;QACnD,6BAA6B;QAC7B,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAEnC,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEvD,sCAAsC;QACtC,MAAM,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE5C,gCAAgC;QAChC,MAAM,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAE7D,4BAA4B;QAC5B,MAAM,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE1D,0CAA0C;QAC1C,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YACpD,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YAC5C,OAAO,EAAE;gBACP,OAAO,EAAE,EAAE;gBACX,UAAU,EAAE,GAAG;gBACf,UAAU,EAAE,IAAI;aACjB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,EAAE,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,MAAc;QAC3C,yDAAyD;QACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;YACnC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC;YAC1C,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAE1C,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACjF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAE1E,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO;gBACL,EAAE,EAAE,MAAM;gBACV,WAAW;gBACX,WAAW;gBACX,MAAM;aACP,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QAChH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CAAC,QAAgB;QACzC,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAW,EAAE,CAAC;QAE5B,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;YAClD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEvE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC7B,MAAM,gBAAgB,GAAG,GAAG,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBACzD,IAAI,OAAO,EAAE,CAAC;oBACZ,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,gBAAwB;QAChD,MAAM,WAAW,GAAG,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAEvE,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YACpF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAEpF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO;gBACL,EAAE,EAAE,gBAAgB;gBACpB,WAAW;gBACX,WAAW;gBACX,MAAM;aACP,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,gBAAgB,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QAC7H,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,OAA0B;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;YACxB,MAAM,MAAM,GAAe,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;YAErE,IAAI,gBAAwB,CAAC;YAC7B,IAAI,IAAU,CAAC;YAEf,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBACzB,gBAAgB,GAAG,GAAG,OAAO,CAAC,YAAY,IAAI,MAAM,EAAE,CAAC;gBACvD,IAAI,GAAG;oBACL,EAAE,EAAE,gBAAgB;oBACpB,WAAW,EAAE;wBACX,KAAK,EAAE,OAAO,CAAC,KAAK;qBACrB;oBACD,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,MAAM,EAAE,MAAM;iBACf,CAAC;gBAEF,MAAM,UAAU,GAAG,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBACrE,MAAM,WAAW,GAAG,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAEvE,MAAM,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBAC1C,MAAM,aAAa,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBAErD,MAAM,WAAW,CAAC,eAAe,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAChF,CAAC;iBAAM,CAAC;gBACN,gBAAgB,GAAG,MAAM,CAAC;gBAC1B,IAAI,GAAG;oBACL,EAAE,EAAE,MAAM;oBACV,WAAW,EAAE;wBACX,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;qBAC3B;oBACD,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,MAAM;iBACP,CAAC;gBAEF,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBACrD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAEvD,MAAM,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACvC,MAAM,aAAa,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAElD,MAAM,WAAW,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACtE,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC9B,uCAAuC;YACvC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;YAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAAC,QAAgB;QAC/C,MAAM,WAAW,GAAW,EAAE,CAAC;QAC/B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAEzD,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;YACrC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,kCAAkC;YAClC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACjE,WAAW,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,SAAqB,EAAE;QACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC9B,MAAM,KAAK,GAAW,EAAE,CAAC;YAEzB,oEAAoE;YACpE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACxD,IAAI,IAAI,EAAE,CAAC;oBACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjB,mCAAmC;oBACnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC9D,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;gBAC1B,CAAC;gBAED,mCAAmC;gBACnC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvD,CAAC;gBAED,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,QAAQ,GAAiB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAE5G,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAE3E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBACjD,IAAI,IAAI,EAAE,CAAC;wBACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,CAAC,cAAc,CAAC,SAAqB,EAAE;QAC3C,MAAM,QAAQ,GAAiB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC5G,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,WAAW,IAAI,MAAM,EAAE,CAAC,CAAC;QAEvE,gDAAgD;QAChD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC5C,MAAM,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAC3C,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,eAAe;QACf,MAAM,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEnC,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,IAAI,aAAa,GAAwB,IAAI,CAAC;QAE9C,MAAM,YAAY,GAAG,CAAC,IAAW,EAAE,IAAW,EAAE,EAAE;YAChD,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,aAAa,EAAE,CAAC;gBAC/C,aAAa,EAAE,CAAC;gBAChB,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,kCAAkC;YAClC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,SAAS,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;gBACjD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;YAED,OAAO,IAAI,EAAE,CAAC;gBACZ,2BAA2B;gBAC3B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAClC,aAAa,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,CAAC;gBAEH,0BAA0B;gBAC1B,MAAM,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,wBAAwB;YACxB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,OAA0B;QACzD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC9B,0BAA0B;YAC1B,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAEvC,IAAI,IAAI,GAAgB,IAAI,CAAC;YAC7B,IAAI,aAAa,GAAsB,IAAI,CAAC;YAE5C,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC7C,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,IAAI,CAAC;YACd,CAAC;YAED,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;YAE5B,gBAAgB;YAChB,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAChC,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YACzC,CAAC;YACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACtC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YACzC,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACnC,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YAC/C,CAAC;YAED,wDAAwD;YACxD,IAAI,SAAS,GAAG,aAAa,CAAC;YAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,IAAI,OAAO,CAAC,QAAQ,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;oBACjD,SAAS,GAAG,aAAa,CAAC;gBAC5B,CAAC;qBAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,aAAa,KAAK,aAAa,IAAI,aAAa,KAAK,QAAQ,CAAC,EAAE,CAAC;oBAC7G,SAAS,GAAG,MAAM,CAAC;oBACnB,0CAA0C;oBAC1C,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,SAAS,CAAC;gBACxC,CAAC;YACH,CAAC;YAED,wCAAwC;YACxC,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;gBAChC,MAAM,WAAW,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBACrF,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YAC1B,CAAC;YAED,kBAAkB;YAClB,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC7D,MAAM,aAAa,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBACvD,MAAM,aAAa,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACpD,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,SAAqB;QAC1D,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAEvC,IAAI,IAAI,GAAgB,IAAI,CAAC;YAE7B,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC7C,CAAC;YAED,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YAEvB,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;YAClC,IAAI,aAAa,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YAE7C,qBAAqB;YACrB,MAAM,WAAW,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAErF,mBAAmB;YACnB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YAExB,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC7D,MAAM,aAAa,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBACvD,MAAM,aAAa,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACpD,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAEvC,IAAI,SAAS,EAAE,CAAC;gBACd,iBAAiB;gBACjB,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC7D,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAE3D,IAAI,MAAM,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;oBAChD,0BAA0B;oBAC1B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC1E,IAAI,MAAM,EAAE,CAAC;wBACX,MAAM,WAAW,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC3E,CAAC;oBAED,eAAe;oBACf,MAAM,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC1D,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,oCAAoC;gBACpC,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAErD,IAAI,MAAM,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3C,oCAAoC;oBACpC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC1E,IAAI,MAAM,EAAE,CAAC;wBACX,MAAM,WAAW,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC3E,CAAC;oBAED,8CAA8C;oBAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBACjD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;wBAC/B,MAAM,WAAW,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;oBACvF,CAAC;oBAED,+BAA+B;oBAC/B,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBACvD,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,QAAgB;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,MAAc;QAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1D,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/tasks/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration from version 2 to version 3
|
|
3
|
+
*
|
|
4
|
+
* This migration adds support for task dependencies by:
|
|
5
|
+
* - Adding the optional 'dependsOn' field to task frontmatter
|
|
6
|
+
* - No structural changes to the directory layout
|
|
7
|
+
* - Existing tasks without dependencies continue to work
|
|
8
|
+
*
|
|
9
|
+
* This is an additive migration - no data transformation required.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Migrate from version 2 to version 3
|
|
13
|
+
*
|
|
14
|
+
* This is primarily a validation migration since v3 only adds an optional field.
|
|
15
|
+
* No data transformation is needed.
|
|
16
|
+
*/
|
|
17
|
+
export declare function migrate(cwdProvider?: () => string): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Migration metadata
|
|
20
|
+
*/
|
|
21
|
+
export declare const migrationInfo: {
|
|
22
|
+
fromVersion: number;
|
|
23
|
+
toVersion: number;
|
|
24
|
+
description: string;
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=migrate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../../src/tasks/schema-version/3/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA6CH;;;;;GAKG;AACH,wBAAsB,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASvE;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;;;;CAIzB,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration from version 2 to version 3
|
|
3
|
+
*
|
|
4
|
+
* This migration adds support for task dependencies by:
|
|
5
|
+
* - Adding the optional 'dependsOn' field to task frontmatter
|
|
6
|
+
* - No structural changes to the directory layout
|
|
7
|
+
* - Existing tasks without dependencies continue to work
|
|
8
|
+
*
|
|
9
|
+
* This is an additive migration - no data transformation required.
|
|
10
|
+
*/
|
|
11
|
+
import { promises as fs } from 'fs';
|
|
12
|
+
import { join } from 'path';
|
|
13
|
+
import { getDysonDir, getStatusesDir } from '../../../paths.js';
|
|
14
|
+
import { TaskFileUtils } from '../../file-utils.js';
|
|
15
|
+
const STATUSES = ['draft', 'open', 'in-progress', 'closed'];
|
|
16
|
+
/**
|
|
17
|
+
* Validate that all tasks are readable (ensures v2 structure is intact)
|
|
18
|
+
*/
|
|
19
|
+
async function validateV2Structure(cwdProvider) {
|
|
20
|
+
const statusesDir = getStatusesDir(cwdProvider);
|
|
21
|
+
for (const status of STATUSES) {
|
|
22
|
+
const statusFile = join(statusesDir, status);
|
|
23
|
+
if (await TaskFileUtils.fileExists(statusFile)) {
|
|
24
|
+
const content = await fs.readFile(statusFile, 'utf-8');
|
|
25
|
+
const taskIds = content.split('\n').filter(id => id.trim());
|
|
26
|
+
for (const taskId of taskIds) {
|
|
27
|
+
// Verify the task file exists and is readable
|
|
28
|
+
const tasksDir = join(getDysonDir(cwdProvider), 'tasks');
|
|
29
|
+
let taskFile;
|
|
30
|
+
if (taskId.includes('/')) {
|
|
31
|
+
// Subtask
|
|
32
|
+
const [parentId, subtaskId] = taskId.split('/');
|
|
33
|
+
taskFile = join(tasksDir, parentId, 'sub-tasks', subtaskId, `${subtaskId}.task`);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
// Main task
|
|
37
|
+
taskFile = join(tasksDir, taskId, `${taskId}.task`);
|
|
38
|
+
}
|
|
39
|
+
if (!(await TaskFileUtils.fileExists(taskFile))) {
|
|
40
|
+
console.warn(`Warning: Task ${taskId} is in status file but file not found`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Migrate from version 2 to version 3
|
|
48
|
+
*
|
|
49
|
+
* This is primarily a validation migration since v3 only adds an optional field.
|
|
50
|
+
* No data transformation is needed.
|
|
51
|
+
*/
|
|
52
|
+
export async function migrate(cwdProvider) {
|
|
53
|
+
const provider = cwdProvider || (() => process.cwd());
|
|
54
|
+
// Validate existing v2 structure
|
|
55
|
+
await validateV2Structure(provider);
|
|
56
|
+
// No transformation needed - v3 only adds optional 'dependsOn' field
|
|
57
|
+
// Existing tasks without this field will continue to work
|
|
58
|
+
console.log('Schema v3 migration complete: Task dependencies support added');
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Migration metadata
|
|
62
|
+
*/
|
|
63
|
+
export const migrationInfo = {
|
|
64
|
+
fromVersion: 2,
|
|
65
|
+
toVersion: 3,
|
|
66
|
+
description: 'Add support for task dependencies via optional dependsOn field in frontmatter',
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=migrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../../src/tasks/schema-version/3/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,MAAM,QAAQ,GAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;AAE1E;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAAC,WAAyB;IAC1D,MAAM,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAEhD,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAE7C,IAAI,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YAE5D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,8CAA8C;gBAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;gBACzD,IAAI,QAAgB,CAAC;gBAErB,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,UAAU;oBACV,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAChD,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;gBACnF,CAAC;qBAAM,CAAC;oBACN,YAAY;oBACZ,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,CAAC;gBACtD,CAAC;gBAED,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;oBAChD,OAAO,CAAC,IAAI,CAAC,iBAAiB,MAAM,uCAAuC,CAAC,CAAC;gBAC/E,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,WAA0B;IACtD,MAAM,QAAQ,GAAG,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAEtD,iCAAiC;IACjC,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAEpC,qEAAqE;IACrE,0DAA0D;IAC1D,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;AAC/E,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,WAAW,EAAE,CAAC;IACd,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,+EAA+E;CAC7F,CAAC"}
|
|
@@ -19,7 +19,7 @@ import { TaskFileUtils } from '../file-utils.js';
|
|
|
19
19
|
* Increment this when making breaking changes to the directory structure
|
|
20
20
|
* or task file format
|
|
21
21
|
*/
|
|
22
|
-
export const CURRENT_SCHEMA_VERSION =
|
|
22
|
+
export const CURRENT_SCHEMA_VERSION = 3;
|
|
23
23
|
/**
|
|
24
24
|
* Schema version file name
|
|
25
25
|
*/
|
package/dist/tasks/types.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export type TaskStatus = 'draft' | 'open' | 'in-progress' | 'closed';
|
|
|
2
2
|
export interface TaskFrontmatter {
|
|
3
3
|
title: string;
|
|
4
4
|
assignee?: string;
|
|
5
|
+
dependsOn?: string[];
|
|
5
6
|
}
|
|
6
7
|
export interface Task {
|
|
7
8
|
id: string;
|
|
@@ -14,15 +15,18 @@ export interface CreateTaskOptions {
|
|
|
14
15
|
description: string;
|
|
15
16
|
assignee?: string;
|
|
16
17
|
parentTaskId?: string;
|
|
18
|
+
dependsOn?: string[];
|
|
17
19
|
}
|
|
18
20
|
export interface UpdateTaskOptions {
|
|
19
21
|
title?: string;
|
|
20
22
|
description?: string;
|
|
21
23
|
assignee?: string;
|
|
24
|
+
dependsOn?: string[];
|
|
22
25
|
}
|
|
23
26
|
export interface TaskFilter {
|
|
24
27
|
status?: TaskStatus;
|
|
25
28
|
taskId?: string;
|
|
29
|
+
dependsOn?: string;
|
|
26
30
|
}
|
|
27
31
|
export interface TaskManagerOptions {
|
|
28
32
|
cwdProvider?: () => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tasks/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,aAAa,GAAG,QAAQ,CAAC;AAErE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tasks/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,aAAa,GAAG,QAAQ,CAAC;AAErE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,eAAe,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,MAAM,CAAC;CAC5B"}
|
package/package.json
CHANGED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Schema Version Management
|
|
3
|
-
* =========================
|
|
4
|
-
*
|
|
5
|
-
* This file manages the schema version for the .swarm directory structure.
|
|
6
|
-
* The version file is stored at `.swarm/version` and tracks the current
|
|
7
|
-
* schema version to enable future migrations.
|
|
8
|
-
*
|
|
9
|
-
* Current Version: 1
|
|
10
|
-
*
|
|
11
|
-
* Schema Versions Explainer
|
|
12
|
-
* -------------------------
|
|
13
|
-
*
|
|
14
|
-
* ### Version 1 (Initial)
|
|
15
|
-
* Directory structure:
|
|
16
|
-
* .swarm/
|
|
17
|
-
* └── tasks/
|
|
18
|
-
* ├── lockfile
|
|
19
|
-
* ├── open/
|
|
20
|
-
* │ └── {task-id}/
|
|
21
|
-
* │ ├── {task-id}.task
|
|
22
|
-
* │ └── sub-tasks/
|
|
23
|
-
* │ └── open/
|
|
24
|
-
* │ └── {subtask-id}.task
|
|
25
|
-
* ├── in-progress/
|
|
26
|
-
* │ └── {task-id}/
|
|
27
|
-
* │ ├── {task-id}.task
|
|
28
|
-
* │ └── sub-tasks/
|
|
29
|
-
* │ └── in-progress/
|
|
30
|
-
* │ └── {subtask-id}.task
|
|
31
|
-
* └── closed/
|
|
32
|
-
* └── {task-id}/
|
|
33
|
-
* ├── {task-id}.task
|
|
34
|
-
* └── sub-tasks/
|
|
35
|
-
* └── closed/
|
|
36
|
-
* └── {subtask-id}.task
|
|
37
|
-
*
|
|
38
|
-
* Task file format (YAML frontmatter + markdown):
|
|
39
|
-
* ---
|
|
40
|
-
* title: "Task Title"
|
|
41
|
-
* assignee: "username" # Optional
|
|
42
|
-
* ---
|
|
43
|
-
* Task description goes here...
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* Migration Guide
|
|
47
|
-
* ---------------
|
|
48
|
-
* When adding a new schema version:
|
|
49
|
-
*
|
|
50
|
-
* 1. Update CURRENT_SCHEMA_VERSION constant below
|
|
51
|
-
* 2. Add migration logic in migrateToLatest() function
|
|
52
|
-
* 3. Document the changes in this header comment
|
|
53
|
-
* 4. Update the "Current Version" in the header above
|
|
54
|
-
*
|
|
55
|
-
* Example migration pattern:
|
|
56
|
-
* if (currentVersion < 2) {
|
|
57
|
-
* // Perform migration from v1 to v2
|
|
58
|
-
* // - Rename files
|
|
59
|
-
* // - Restructure directories
|
|
60
|
-
* // - Transform data formats
|
|
61
|
-
* }
|
|
62
|
-
* if (currentVersion < 3) {
|
|
63
|
-
* // Perform migration from v2 to v3
|
|
64
|
-
* }
|
|
65
|
-
*
|
|
66
|
-
* Migration Best Practices:
|
|
67
|
-
* - Always make migrations idempotent (safe to run multiple times)
|
|
68
|
-
* - Create backups before destructive operations
|
|
69
|
-
* - Validate the migration succeeded before updating version
|
|
70
|
-
* - Log all migration steps for debugging
|
|
71
|
-
*/
|
|
72
|
-
/**
|
|
73
|
-
* Current schema version
|
|
74
|
-
* Increment this when making breaking changes to the directory structure
|
|
75
|
-
* or task file format
|
|
76
|
-
*/
|
|
77
|
-
export declare const CURRENT_SCHEMA_VERSION = 1;
|
|
78
|
-
/**
|
|
79
|
-
* Schema version file name
|
|
80
|
-
*/
|
|
81
|
-
export declare const VERSION_FILE_NAME = "version";
|
|
82
|
-
/**
|
|
83
|
-
* Get the full path to the version file
|
|
84
|
-
*/
|
|
85
|
-
export declare function getVersionFilePath(cwdProvider?: () => string): string;
|
|
86
|
-
/**
|
|
87
|
-
* Read the current schema version from disk
|
|
88
|
-
* Returns 0 if no version file exists (pre-versioning)
|
|
89
|
-
*/
|
|
90
|
-
export declare function readSchemaVersion(cwdProvider?: () => string): Promise<number>;
|
|
91
|
-
/**
|
|
92
|
-
* Write the schema version to disk
|
|
93
|
-
*/
|
|
94
|
-
export declare function writeSchemaVersion(version: number, cwdProvider?: () => string): Promise<void>;
|
|
95
|
-
/**
|
|
96
|
-
* Initialize the schema version file
|
|
97
|
-
* Called when setting up a new .swarm directory
|
|
98
|
-
*/
|
|
99
|
-
export declare function initializeSchemaVersion(cwdProvider?: () => string): Promise<void>;
|
|
100
|
-
/**
|
|
101
|
-
* Migrate from an older schema version to the latest
|
|
102
|
-
* Add migration logic here when introducing new schema versions
|
|
103
|
-
*/
|
|
104
|
-
export declare function migrateToLatest(currentVersion: number, cwdProvider?: () => string): Promise<void>;
|
|
105
|
-
/**
|
|
106
|
-
* Ensure the schema is up to date
|
|
107
|
-
* Checks version and runs migrations if needed
|
|
108
|
-
* @throws Error if migration fails
|
|
109
|
-
*/
|
|
110
|
-
export declare function ensureSchemaVersion(cwdProvider?: () => string): Promise<void>;
|
|
111
|
-
/**
|
|
112
|
-
* Validate that the schema version is compatible
|
|
113
|
-
* Returns true if compatible, false otherwise
|
|
114
|
-
*/
|
|
115
|
-
export declare function isSchemaCompatible(cwdProvider?: () => string): Promise<boolean>;
|
|
116
|
-
//# sourceMappingURL=schema-version.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema-version.d.ts","sourceRoot":"","sources":["../../src/tasks/schema-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AAMH;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAE3C;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,GAAE,MAAM,MAA4B,GAAG,MAAM,CAE1F;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAcnF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGnG;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvF;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,cAAc,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,MAAM,GACzB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBnF;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOrF"}
|
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Schema Version Management
|
|
3
|
-
* =========================
|
|
4
|
-
*
|
|
5
|
-
* This file manages the schema version for the .swarm directory structure.
|
|
6
|
-
* The version file is stored at `.swarm/version` and tracks the current
|
|
7
|
-
* schema version to enable future migrations.
|
|
8
|
-
*
|
|
9
|
-
* Current Version: 1
|
|
10
|
-
*
|
|
11
|
-
* Schema Versions Explainer
|
|
12
|
-
* -------------------------
|
|
13
|
-
*
|
|
14
|
-
* ### Version 1 (Initial)
|
|
15
|
-
* Directory structure:
|
|
16
|
-
* .swarm/
|
|
17
|
-
* └── tasks/
|
|
18
|
-
* ├── lockfile
|
|
19
|
-
* ├── open/
|
|
20
|
-
* │ └── {task-id}/
|
|
21
|
-
* │ ├── {task-id}.task
|
|
22
|
-
* │ └── sub-tasks/
|
|
23
|
-
* │ └── open/
|
|
24
|
-
* │ └── {subtask-id}.task
|
|
25
|
-
* ├── in-progress/
|
|
26
|
-
* │ └── {task-id}/
|
|
27
|
-
* │ ├── {task-id}.task
|
|
28
|
-
* │ └── sub-tasks/
|
|
29
|
-
* │ └── in-progress/
|
|
30
|
-
* │ └── {subtask-id}.task
|
|
31
|
-
* └── closed/
|
|
32
|
-
* └── {task-id}/
|
|
33
|
-
* ├── {task-id}.task
|
|
34
|
-
* └── sub-tasks/
|
|
35
|
-
* └── closed/
|
|
36
|
-
* └── {subtask-id}.task
|
|
37
|
-
*
|
|
38
|
-
* Task file format (YAML frontmatter + markdown):
|
|
39
|
-
* ---
|
|
40
|
-
* title: "Task Title"
|
|
41
|
-
* assignee: "username" # Optional
|
|
42
|
-
* ---
|
|
43
|
-
* Task description goes here...
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* Migration Guide
|
|
47
|
-
* ---------------
|
|
48
|
-
* When adding a new schema version:
|
|
49
|
-
*
|
|
50
|
-
* 1. Update CURRENT_SCHEMA_VERSION constant below
|
|
51
|
-
* 2. Add migration logic in migrateToLatest() function
|
|
52
|
-
* 3. Document the changes in this header comment
|
|
53
|
-
* 4. Update the "Current Version" in the header above
|
|
54
|
-
*
|
|
55
|
-
* Example migration pattern:
|
|
56
|
-
* if (currentVersion < 2) {
|
|
57
|
-
* // Perform migration from v1 to v2
|
|
58
|
-
* // - Rename files
|
|
59
|
-
* // - Restructure directories
|
|
60
|
-
* // - Transform data formats
|
|
61
|
-
* }
|
|
62
|
-
* if (currentVersion < 3) {
|
|
63
|
-
* // Perform migration from v2 to v3
|
|
64
|
-
* }
|
|
65
|
-
*
|
|
66
|
-
* Migration Best Practices:
|
|
67
|
-
* - Always make migrations idempotent (safe to run multiple times)
|
|
68
|
-
* - Create backups before destructive operations
|
|
69
|
-
* - Validate the migration succeeded before updating version
|
|
70
|
-
* - Log all migration steps for debugging
|
|
71
|
-
*/
|
|
72
|
-
import { promises as fs } from 'fs';
|
|
73
|
-
import { getDysonDir } from '../paths.js';
|
|
74
|
-
import { TaskFileUtils } from './file-utils.js';
|
|
75
|
-
/**
|
|
76
|
-
* Current schema version
|
|
77
|
-
* Increment this when making breaking changes to the directory structure
|
|
78
|
-
* or task file format
|
|
79
|
-
*/
|
|
80
|
-
export const CURRENT_SCHEMA_VERSION = 1;
|
|
81
|
-
/**
|
|
82
|
-
* Schema version file name
|
|
83
|
-
*/
|
|
84
|
-
export const VERSION_FILE_NAME = 'version';
|
|
85
|
-
/**
|
|
86
|
-
* Get the full path to the version file
|
|
87
|
-
*/
|
|
88
|
-
export function getVersionFilePath(cwdProvider = () => process.cwd()) {
|
|
89
|
-
return `${getDysonDir(cwdProvider)}/${VERSION_FILE_NAME}`;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Read the current schema version from disk
|
|
93
|
-
* Returns 0 if no version file exists (pre-versioning)
|
|
94
|
-
*/
|
|
95
|
-
export async function readSchemaVersion(cwdProvider) {
|
|
96
|
-
const versionFile = getVersionFilePath(cwdProvider);
|
|
97
|
-
if (!(await TaskFileUtils.fileExists(versionFile))) {
|
|
98
|
-
return 0;
|
|
99
|
-
}
|
|
100
|
-
try {
|
|
101
|
-
const content = await fs.readFile(versionFile, 'utf-8');
|
|
102
|
-
const version = parseInt(content.trim(), 10);
|
|
103
|
-
return isNaN(version) ? 0 : version;
|
|
104
|
-
}
|
|
105
|
-
catch {
|
|
106
|
-
return 0;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Write the schema version to disk
|
|
111
|
-
*/
|
|
112
|
-
export async function writeSchemaVersion(version, cwdProvider) {
|
|
113
|
-
const versionFile = getVersionFilePath(cwdProvider);
|
|
114
|
-
await fs.writeFile(versionFile, version.toString(), 'utf-8');
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Initialize the schema version file
|
|
118
|
-
* Called when setting up a new .swarm directory
|
|
119
|
-
*/
|
|
120
|
-
export async function initializeSchemaVersion(cwdProvider) {
|
|
121
|
-
await writeSchemaVersion(CURRENT_SCHEMA_VERSION, cwdProvider);
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Migrate from an older schema version to the latest
|
|
125
|
-
* Add migration logic here when introducing new schema versions
|
|
126
|
-
*/
|
|
127
|
-
export async function migrateToLatest(currentVersion, cwdProvider) {
|
|
128
|
-
// No migrations needed for version 1 (initial version)
|
|
129
|
-
// Add migration steps here for future versions:
|
|
130
|
-
//
|
|
131
|
-
// if (currentVersion < 2) {
|
|
132
|
-
// await migrateV1ToV2(cwdProvider);
|
|
133
|
-
// }
|
|
134
|
-
// if (currentVersion < 3) {
|
|
135
|
-
// await migrateV2ToV3(cwdProvider);
|
|
136
|
-
// }
|
|
137
|
-
// Update to latest version
|
|
138
|
-
await writeSchemaVersion(CURRENT_SCHEMA_VERSION, cwdProvider);
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Ensure the schema is up to date
|
|
142
|
-
* Checks version and runs migrations if needed
|
|
143
|
-
* @throws Error if migration fails
|
|
144
|
-
*/
|
|
145
|
-
export async function ensureSchemaVersion(cwdProvider) {
|
|
146
|
-
const currentVersion = await readSchemaVersion(cwdProvider);
|
|
147
|
-
if (currentVersion === 0) {
|
|
148
|
-
// New installation, initialize with current version
|
|
149
|
-
await initializeSchemaVersion(cwdProvider);
|
|
150
|
-
}
|
|
151
|
-
else if (currentVersion < CURRENT_SCHEMA_VERSION) {
|
|
152
|
-
// Migration needed
|
|
153
|
-
await migrateToLatest(currentVersion, cwdProvider);
|
|
154
|
-
}
|
|
155
|
-
else if (currentVersion > CURRENT_SCHEMA_VERSION) {
|
|
156
|
-
// Downgrade not supported
|
|
157
|
-
throw new Error(`Schema version ${currentVersion} is newer than supported version ${CURRENT_SCHEMA_VERSION}. ` +
|
|
158
|
-
'Please upgrade your dyson-swarm installation.');
|
|
159
|
-
}
|
|
160
|
-
// If currentVersion === CURRENT_SCHEMA_VERSION, nothing to do
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Validate that the schema version is compatible
|
|
164
|
-
* Returns true if compatible, false otherwise
|
|
165
|
-
*/
|
|
166
|
-
export async function isSchemaCompatible(cwdProvider) {
|
|
167
|
-
try {
|
|
168
|
-
await ensureSchemaVersion(cwdProvider);
|
|
169
|
-
return true;
|
|
170
|
-
}
|
|
171
|
-
catch {
|
|
172
|
-
return false;
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
//# sourceMappingURL=schema-version.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema-version.js","sourceRoot":"","sources":["../../src/tasks/schema-version.ts"],"names":[],"mappings":"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"}
|