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.
@@ -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;IAgD/F;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAa3C;;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"}
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"}
@@ -24,15 +24,42 @@ export class TaskFileUtils {
24
24
  title: '',
25
25
  };
26
26
  const lines = frontmatterStr.split('\n');
27
- for (const line of lines) {
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":"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"}
1
+ {"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../../src/tasks/file-utils.ts"],"names":[],"mappings":"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"}
@@ -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;IAmD3D;;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;IAuCzD;;;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;IA8DlF;;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;CAGzD"}
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"}
@@ -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":"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"}
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"}
@@ -16,7 +16,7 @@
16
16
  * Increment this when making breaking changes to the directory structure
17
17
  * or task file format
18
18
  */
19
- export declare const CURRENT_SCHEMA_VERSION = 2;
19
+ export declare const CURRENT_SCHEMA_VERSION = 3;
20
20
  /**
21
21
  * Schema version file name
22
22
  */
@@ -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 = 2;
22
+ export const CURRENT_SCHEMA_VERSION = 3;
23
23
  /**
24
24
  * Schema version file name
25
25
  */
@@ -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;CACnB;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;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,MAAM,CAAC;CAC5B"}
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,6 +1,6 @@
1
1
  {
2
2
  "name": "dyson-swarm",
3
- "version": "1.3.1",
3
+ "version": "1.4.0",
4
4
  "description": "A markdown-based issue tracking system library",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -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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"}