@nickmeriano/task 0.7.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/README.md +12 -7
- package/dist/check.d.ts +42 -0
- package/dist/check.d.ts.map +1 -0
- package/dist/check.js +364 -0
- package/dist/check.js.map +1 -0
- package/dist/check.test.d.ts +9 -0
- package/dist/check.test.d.ts.map +1 -0
- package/dist/check.test.js +209 -0
- package/dist/check.test.js.map +1 -0
- package/dist/claim.d.ts +56 -3
- package/dist/claim.d.ts.map +1 -1
- package/dist/claim.js +164 -9
- package/dist/claim.js.map +1 -1
- package/dist/claim.test.js +168 -14
- package/dist/claim.test.js.map +1 -1
- package/dist/cli.js +504 -93
- package/dist/cli.js.map +1 -1
- package/dist/file-store.d.ts +41 -15
- package/dist/file-store.d.ts.map +1 -1
- package/dist/file-store.js +197 -99
- package/dist/file-store.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/overview.d.ts +43 -0
- package/dist/overview.d.ts.map +1 -0
- package/dist/overview.js +53 -0
- package/dist/overview.js.map +1 -0
- package/dist/overview.test.d.ts +8 -0
- package/dist/overview.test.d.ts.map +1 -0
- package/dist/overview.test.js +47 -0
- package/dist/overview.test.js.map +1 -0
- package/dist/promote.test.d.ts +14 -0
- package/dist/promote.test.d.ts.map +1 -0
- package/dist/promote.test.js +106 -0
- package/dist/promote.test.js.map +1 -0
- package/dist/search.d.ts +32 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/search.js +66 -0
- package/dist/search.js.map +1 -0
- package/dist/search.test.d.ts +2 -0
- package/dist/search.test.d.ts.map +1 -0
- package/dist/search.test.js +53 -0
- package/dist/search.test.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +10 -2
- package/dist/server.js.map +1 -1
- package/dist/store.d.ts +16 -50
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +0 -368
- package/dist/store.js.map +1 -1
- package/dist/store.test.d.ts +1 -2
- package/dist/store.test.d.ts.map +1 -1
- package/dist/store.test.js +77 -48
- package/dist/store.test.js.map +1 -1
- package/dist/ticket-doc.d.ts +55 -2
- package/dist/ticket-doc.d.ts.map +1 -1
- package/dist/ticket-doc.js +177 -7
- package/dist/ticket-doc.js.map +1 -1
- package/dist/types.d.ts +67 -14
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/skill/SKILL.md +97 -31
- package/src/check.test.ts +271 -0
- package/src/check.ts +454 -0
- package/src/claim.test.ts +202 -14
- package/src/claim.ts +194 -10
- package/src/cli.ts +510 -89
- package/src/file-store.ts +217 -111
- package/src/index.ts +4 -2
- package/src/overview.test.ts +51 -0
- package/src/overview.ts +90 -0
- package/src/promote.test.ts +131 -0
- package/src/search.test.ts +64 -0
- package/src/search.ts +91 -0
- package/src/server.ts +11 -2
- package/src/store.test.ts +89 -57
- package/src/store.ts +18 -431
- package/src/ticket-doc.ts +210 -10
- package/src/types.ts +71 -14
- package/ui/dist/assets/{index-oJzomUDL.js → index-BJmOsOdR.js} +76 -76
- package/ui/dist/assets/index-BoqQlqSU.css +1 -0
- package/ui/dist/index.html +2 -2
- package/ui/dist/assets/index-CXW8uT5f.css +0 -1
package/dist/file-store.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, readdirSync, readFileSync, renameSync, rmSync, writeFileSync, } from "node:fs";
|
|
2
2
|
import { basename, dirname, join } from "node:path";
|
|
3
|
-
import { commentStem, parseComment, parseTicket, serializeComment, serializeTicket, } from "./ticket-doc.js";
|
|
4
|
-
import { CONFIG_FILE,
|
|
3
|
+
import { commentStem, isGoalSlug, parseComment, parseGoal, parseTicket, serializeComment, serializeGoal, serializeTicket, slugifyGoal, } from "./ticket-doc.js";
|
|
4
|
+
import { CONFIG_FILE, POSITION_GAP, TASK_DIR, derivePrefix, } from "./store.js";
|
|
5
5
|
export const TICKETS_DIR = "tickets";
|
|
6
6
|
/** Finished tickets moved out of the hot path — same per-ticket layout. */
|
|
7
7
|
export const ARCHIVE_DIR = "archive";
|
|
8
|
-
const TICKET_FILE = "ticket.md";
|
|
9
|
-
const COMMENTS_DIR = "comments";
|
|
8
|
+
export const TICKET_FILE = "ticket.md";
|
|
9
|
+
export const COMMENTS_DIR = "comments";
|
|
10
|
+
/** One file per goal — `.task/goals/<slug>.md`; archived ones one level down. */
|
|
11
|
+
export const GOALS_DIR = "goals";
|
|
12
|
+
export const GOALS_ARCHIVE_DIR = "archive";
|
|
10
13
|
function now() {
|
|
11
14
|
return new Date().toISOString();
|
|
12
15
|
}
|
|
@@ -38,12 +41,16 @@ export class FileStore {
|
|
|
38
41
|
config;
|
|
39
42
|
ticketsDir;
|
|
40
43
|
archiveDir;
|
|
44
|
+
goalsDir;
|
|
45
|
+
goalsArchiveDir;
|
|
41
46
|
constructor(root) {
|
|
42
47
|
this.root = root;
|
|
43
48
|
this.taskDir = join(root, TASK_DIR);
|
|
44
49
|
this.config = JSON.parse(readFileSync(join(this.taskDir, CONFIG_FILE), "utf8"));
|
|
45
50
|
this.ticketsDir = join(this.taskDir, TICKETS_DIR);
|
|
46
51
|
this.archiveDir = join(this.taskDir, ARCHIVE_DIR);
|
|
52
|
+
this.goalsDir = join(this.taskDir, GOALS_DIR);
|
|
53
|
+
this.goalsArchiveDir = join(this.goalsDir, GOALS_ARCHIVE_DIR);
|
|
47
54
|
}
|
|
48
55
|
close() { }
|
|
49
56
|
displayId(number) {
|
|
@@ -132,7 +139,7 @@ export class FileStore {
|
|
|
132
139
|
description: ticket.doc.description,
|
|
133
140
|
status: ticket.doc.status,
|
|
134
141
|
tags: ticket.doc.tags,
|
|
135
|
-
|
|
142
|
+
goal: ticket.doc.goal,
|
|
136
143
|
needsHuman: ticket.doc.needsHuman,
|
|
137
144
|
blocks,
|
|
138
145
|
blockedBy: [...ticket.doc.blockedBy].sort((a, b) => a - b),
|
|
@@ -147,8 +154,8 @@ export class FileStore {
|
|
|
147
154
|
const wanted = new Set(filter.statuses);
|
|
148
155
|
tickets = tickets.filter((t) => wanted.has(t.doc.status));
|
|
149
156
|
}
|
|
150
|
-
if (filter.
|
|
151
|
-
tickets = tickets.filter((t) => t.doc.
|
|
157
|
+
if (filter.goal) {
|
|
158
|
+
tickets = tickets.filter((t) => t.doc.goal === filter.goal);
|
|
152
159
|
}
|
|
153
160
|
if (filter.needsHuman !== undefined) {
|
|
154
161
|
tickets = tickets.filter((t) => t.doc.needsHuman === filter.needsHuman);
|
|
@@ -194,12 +201,16 @@ export class FileStore {
|
|
|
194
201
|
// that old comments or PR titles still point at.
|
|
195
202
|
const taken = [...all.map((t) => t.number), ...this.archivedNumbers()];
|
|
196
203
|
const number = taken.reduce((max, n) => Math.max(max, n), 0) + 1;
|
|
197
|
-
|
|
204
|
+
// Dump by default: new tickets land in backlog, the no-quality-bar list;
|
|
205
|
+
// `todo` (the ready list) is an explicit choice — usually `task promote`.
|
|
206
|
+
const status = input.status ?? "backlog";
|
|
198
207
|
for (const target of [...(input.blocks ?? []), ...(input.blockedBy ?? [])]) {
|
|
199
208
|
if (!all.some((t) => t.number === target)) {
|
|
200
209
|
throw new Error(`no such task: ${this.displayId(target)}`);
|
|
201
210
|
}
|
|
202
211
|
}
|
|
212
|
+
if (input.goal)
|
|
213
|
+
this.assertGoalAssignable(input.goal);
|
|
203
214
|
// New tasks land at the bottom of their column.
|
|
204
215
|
const column = all.filter((t) => t.doc.status === status);
|
|
205
216
|
const bottom = column.length ? Math.max(...column.map((t) => t.doc.position)) : 0;
|
|
@@ -211,7 +222,7 @@ export class FileStore {
|
|
|
211
222
|
description: input.description ?? "",
|
|
212
223
|
status,
|
|
213
224
|
tags: input.tags ?? [],
|
|
214
|
-
|
|
225
|
+
goal: input.goal ?? null,
|
|
215
226
|
needsHuman: input.needsHuman ?? false,
|
|
216
227
|
blockedBy: [...new Set(input.blockedBy ?? [])].sort((a, b) => a - b),
|
|
217
228
|
prs: input.prs ?? [],
|
|
@@ -284,8 +295,11 @@ export class FileStore {
|
|
|
284
295
|
set("description", patch.description);
|
|
285
296
|
if (patch.tags !== undefined)
|
|
286
297
|
set("tags", patch.tags);
|
|
287
|
-
if (patch.
|
|
288
|
-
|
|
298
|
+
if (patch.goal !== undefined) {
|
|
299
|
+
if (patch.goal)
|
|
300
|
+
this.assertGoalAssignable(patch.goal);
|
|
301
|
+
set("goal", patch.goal);
|
|
302
|
+
}
|
|
289
303
|
if (patch.needsHuman !== undefined)
|
|
290
304
|
set("needsHuman", patch.needsHuman);
|
|
291
305
|
if (patch.prs !== undefined)
|
|
@@ -415,6 +429,162 @@ export class FileStore {
|
|
|
415
429
|
renameSync(join(this.archiveDir, String(number)), join(this.ticketsDir, String(number)));
|
|
416
430
|
return this.get(number);
|
|
417
431
|
}
|
|
432
|
+
// ── Goals ──────────────────────────────────────────────────────────────────
|
|
433
|
+
goalPath(slug, archived) {
|
|
434
|
+
return join(archived ? this.goalsArchiveDir : this.goalsDir, `${slug}.md`);
|
|
435
|
+
}
|
|
436
|
+
readGoalDir(archived) {
|
|
437
|
+
const dir = archived ? this.goalsArchiveDir : this.goalsDir;
|
|
438
|
+
if (!existsSync(dir))
|
|
439
|
+
return [];
|
|
440
|
+
const goals = [];
|
|
441
|
+
for (const entry of readdirSync(dir, { withFileTypes: true })) {
|
|
442
|
+
if (!entry.isFile() || !entry.name.endsWith(".md") || entry.name.startsWith("."))
|
|
443
|
+
continue;
|
|
444
|
+
const slug = entry.name.slice(0, -3);
|
|
445
|
+
const path = join(dir, entry.name);
|
|
446
|
+
const doc = parseGoal(readFileSync(path, "utf8"), path);
|
|
447
|
+
goals.push(this.toGoal(slug, doc, archived));
|
|
448
|
+
}
|
|
449
|
+
goals.sort((a, b) => a.slug.localeCompare(b.slug));
|
|
450
|
+
return goals;
|
|
451
|
+
}
|
|
452
|
+
toGoal(slug, doc, archived) {
|
|
453
|
+
return {
|
|
454
|
+
slug,
|
|
455
|
+
title: doc.title,
|
|
456
|
+
description: doc.description,
|
|
457
|
+
createdAt: doc.createdAt,
|
|
458
|
+
updatedAt: doc.updatedAt,
|
|
459
|
+
// Absent on live goals, so existing payloads carry no new field.
|
|
460
|
+
...(archived ? { archived: true } : {}),
|
|
461
|
+
};
|
|
462
|
+
}
|
|
463
|
+
goals(archived = false) {
|
|
464
|
+
return this.readGoalDir(archived);
|
|
465
|
+
}
|
|
466
|
+
getGoal(slug) {
|
|
467
|
+
for (const archived of [false, true]) {
|
|
468
|
+
const path = this.goalPath(slug, archived);
|
|
469
|
+
if (!existsSync(path))
|
|
470
|
+
continue;
|
|
471
|
+
return this.toGoal(slug, parseGoal(readFileSync(path, "utf8"), path), archived);
|
|
472
|
+
}
|
|
473
|
+
return null;
|
|
474
|
+
}
|
|
475
|
+
/**
|
|
476
|
+
* The gate every ticket write goes through: a `goal:` may only reference a
|
|
477
|
+
* *live* goal. Naming an archived one is refused too — assigning new work to
|
|
478
|
+
* a goal that's been shelved is the same mistake as editing an archived
|
|
479
|
+
* ticket, and gets the same answer.
|
|
480
|
+
*/
|
|
481
|
+
assertGoalAssignable(slug) {
|
|
482
|
+
if (existsSync(this.goalPath(slug, false)))
|
|
483
|
+
return;
|
|
484
|
+
if (existsSync(this.goalPath(slug, true))) {
|
|
485
|
+
throw new Error(`goal "${slug}" is archived — run \`task goal unarchive ${slug}\` first`);
|
|
486
|
+
}
|
|
487
|
+
throw new Error(`no such goal: "${slug}" — create it with \`task goal add\``);
|
|
488
|
+
}
|
|
489
|
+
writeGoal(slug, doc, archived) {
|
|
490
|
+
mkdirSync(archived ? this.goalsArchiveDir : this.goalsDir, { recursive: true });
|
|
491
|
+
writeAtomic(this.goalPath(slug, archived), serializeGoal(doc));
|
|
492
|
+
}
|
|
493
|
+
createGoal(input) {
|
|
494
|
+
const title = input.title.trim();
|
|
495
|
+
if (!title)
|
|
496
|
+
throw new Error("a goal needs a title");
|
|
497
|
+
const slug = input.slug ?? slugifyGoal(title);
|
|
498
|
+
if (!isGoalSlug(slug)) {
|
|
499
|
+
throw new Error(`invalid goal slug: "${slug}" — lowercase letters, digits and dashes ("archive" is reserved)`);
|
|
500
|
+
}
|
|
501
|
+
if (this.getGoal(slug))
|
|
502
|
+
throw new Error(`goal "${slug}" already exists`);
|
|
503
|
+
const timestamp = now();
|
|
504
|
+
const doc = {
|
|
505
|
+
title,
|
|
506
|
+
description: input.description ?? "",
|
|
507
|
+
createdAt: timestamp,
|
|
508
|
+
updatedAt: timestamp,
|
|
509
|
+
};
|
|
510
|
+
this.writeGoal(slug, doc, false);
|
|
511
|
+
return this.toGoal(slug, doc, false);
|
|
512
|
+
}
|
|
513
|
+
updateGoal(slug, patch) {
|
|
514
|
+
const path = this.goalPath(slug, false);
|
|
515
|
+
if (!existsSync(path)) {
|
|
516
|
+
if (existsSync(this.goalPath(slug, true))) {
|
|
517
|
+
throw new Error(`goal "${slug}" is archived — run \`task goal unarchive ${slug}\` first`);
|
|
518
|
+
}
|
|
519
|
+
throw new Error(`no such goal: "${slug}"`);
|
|
520
|
+
}
|
|
521
|
+
const doc = parseGoal(readFileSync(path, "utf8"), path);
|
|
522
|
+
if (patch.title !== undefined) {
|
|
523
|
+
const title = patch.title.trim();
|
|
524
|
+
if (!title)
|
|
525
|
+
throw new Error("a goal needs a title");
|
|
526
|
+
doc.title = title;
|
|
527
|
+
}
|
|
528
|
+
if (patch.description !== undefined)
|
|
529
|
+
doc.description = patch.description;
|
|
530
|
+
doc.updatedAt = now();
|
|
531
|
+
this.writeGoal(slug, doc, false);
|
|
532
|
+
return this.toGoal(slug, doc, false);
|
|
533
|
+
}
|
|
534
|
+
/**
|
|
535
|
+
* A goal leaves the board only after its work has: archiving is refused
|
|
536
|
+
* while any open task still points here. Done/canceled stragglers are fine —
|
|
537
|
+
* their references stay readable from the archive either way.
|
|
538
|
+
*/
|
|
539
|
+
archiveGoal(slug) {
|
|
540
|
+
const path = this.goalPath(slug, false);
|
|
541
|
+
if (!existsSync(path)) {
|
|
542
|
+
if (existsSync(this.goalPath(slug, true))) {
|
|
543
|
+
throw new Error(`goal "${slug}" is already archived`);
|
|
544
|
+
}
|
|
545
|
+
throw new Error(`no such goal: "${slug}"`);
|
|
546
|
+
}
|
|
547
|
+
const open = this.readAll().filter((t) => t.doc.goal === slug && t.doc.status !== "done" && t.doc.status !== "canceled");
|
|
548
|
+
if (open.length > 0) {
|
|
549
|
+
const ids = open.map((t) => this.displayId(t.number)).join(", ");
|
|
550
|
+
throw new Error(`goal "${slug}" still has open tasks (${ids}) — finish or reassign them first`);
|
|
551
|
+
}
|
|
552
|
+
mkdirSync(this.goalsArchiveDir, { recursive: true });
|
|
553
|
+
renameSync(path, this.goalPath(slug, true));
|
|
554
|
+
return this.getGoal(slug);
|
|
555
|
+
}
|
|
556
|
+
unarchiveGoal(slug) {
|
|
557
|
+
const path = this.goalPath(slug, true);
|
|
558
|
+
if (!existsSync(path)) {
|
|
559
|
+
throw new Error(existsSync(this.goalPath(slug, false))
|
|
560
|
+
? `goal "${slug}" isn't archived`
|
|
561
|
+
: `no such goal: "${slug}"`);
|
|
562
|
+
}
|
|
563
|
+
mkdirSync(this.goalsDir, { recursive: true });
|
|
564
|
+
renameSync(path, this.goalPath(slug, false));
|
|
565
|
+
return this.getGoal(slug);
|
|
566
|
+
}
|
|
567
|
+
/**
|
|
568
|
+
* Deleting is for goals that never happened. Any live reference — whatever
|
|
569
|
+
* its status — blocks it: pruning organization off finished tickets is a
|
|
570
|
+
* human call, so the human makes it by clearing the refs first. Archived
|
|
571
|
+
* tickets' references are left to dangle; every reader tolerates that.
|
|
572
|
+
*/
|
|
573
|
+
deleteGoal(slug) {
|
|
574
|
+
const path = this.goalPath(slug, false);
|
|
575
|
+
if (!existsSync(path)) {
|
|
576
|
+
if (existsSync(this.goalPath(slug, true))) {
|
|
577
|
+
throw new Error(`goal "${slug}" is archived — run \`task goal unarchive ${slug}\` first`);
|
|
578
|
+
}
|
|
579
|
+
throw new Error(`no such goal: "${slug}"`);
|
|
580
|
+
}
|
|
581
|
+
const referencing = this.readAll().filter((t) => t.doc.goal === slug);
|
|
582
|
+
if (referencing.length > 0) {
|
|
583
|
+
const ids = referencing.map((t) => this.displayId(t.number)).join(", ");
|
|
584
|
+
throw new Error(`goal "${slug}" is referenced by ${ids} — clear those with \`task update <id> --goal ""\` first`);
|
|
585
|
+
}
|
|
586
|
+
rmSync(path);
|
|
587
|
+
}
|
|
418
588
|
// ── Comments ───────────────────────────────────────────────────────────────
|
|
419
589
|
/**
|
|
420
590
|
* One file per comment, append-only: two writers commenting concurrently on
|
|
@@ -481,29 +651,33 @@ export class FileStore {
|
|
|
481
651
|
return counts;
|
|
482
652
|
}
|
|
483
653
|
}
|
|
484
|
-
// ── Opening
|
|
654
|
+
// ── Opening and initializing ─────────────────────────────────────────────────
|
|
655
|
+
/** The database a pre-0.6 board committed. Never read anymore, only ignored. */
|
|
656
|
+
const LEGACY_DB_FILE = "tasks.db";
|
|
485
657
|
/** What `.task/.gitignore` says on a text-canonical board. */
|
|
486
658
|
const GITIGNORE = `# Board state is the text files in tickets/ — the database (if one is still
|
|
487
|
-
# around from
|
|
488
|
-
${
|
|
659
|
+
# around from a pre-0.6 board) is legacy and stays out of git.
|
|
660
|
+
${LEGACY_DB_FILE}
|
|
489
661
|
*.db-journal
|
|
490
662
|
*.db-wal
|
|
491
663
|
*.db-shm
|
|
492
664
|
*.tmp
|
|
493
665
|
`;
|
|
494
666
|
/**
|
|
495
|
-
* The board in `root
|
|
496
|
-
*
|
|
497
|
-
*
|
|
667
|
+
* The board in `root`. Text files are the only backend; a board whose state is
|
|
668
|
+
* still a pre-0.6 committed SQLite database is refused loudly rather than read
|
|
669
|
+
* as empty — silently starting a parallel text board next to a database full
|
|
670
|
+
* of tickets is the one failure mode worse than an error.
|
|
498
671
|
*/
|
|
499
672
|
export function openBoard(root) {
|
|
500
673
|
const taskDir = join(root, TASK_DIR);
|
|
501
|
-
if (existsSync(join(taskDir, TICKETS_DIR)))
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
674
|
+
if (!existsSync(join(taskDir, TICKETS_DIR))) {
|
|
675
|
+
const config = JSON.parse(readFileSync(join(taskDir, CONFIG_FILE), "utf8"));
|
|
676
|
+
if ((config.version ?? 1) < 2 && existsSync(join(taskDir, LEGACY_DB_FILE))) {
|
|
677
|
+
throw new Error("this board still stores its state in a pre-0.6 SQLite database — run `npx @nickmeriano/task@0.6 migrate` once, then retry");
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
return new FileStore(root);
|
|
507
681
|
}
|
|
508
682
|
/**
|
|
509
683
|
* Create `.task/` in `root`: config and a .gitignore. New boards are
|
|
@@ -525,80 +699,4 @@ export function initProject(root, options) {
|
|
|
525
699
|
writeFileSync(join(taskDir, ".gitignore"), GITIGNORE);
|
|
526
700
|
return new FileStore(root);
|
|
527
701
|
}
|
|
528
|
-
/**
|
|
529
|
-
* `task migrate` — export every ticket and comment from a legacy `tasks.db`
|
|
530
|
-
* into the text layout, flip the config to version 2, and gitignore the
|
|
531
|
-
* database. The database file itself is left on disk untouched, as a backup;
|
|
532
|
-
* it just stops being the state.
|
|
533
|
-
*/
|
|
534
|
-
export function migrateBoard(root) {
|
|
535
|
-
const taskDir = join(root, TASK_DIR);
|
|
536
|
-
if (existsSync(join(taskDir, TICKETS_DIR))) {
|
|
537
|
-
throw new Error("already migrated — .task/tickets/ exists");
|
|
538
|
-
}
|
|
539
|
-
if (!existsSync(join(taskDir, DB_FILE))) {
|
|
540
|
-
throw new Error(`nothing to migrate — no ${DB_FILE} in .task/`);
|
|
541
|
-
}
|
|
542
|
-
const legacy = new TaskStore(root);
|
|
543
|
-
let comments = 0;
|
|
544
|
-
try {
|
|
545
|
-
const tasks = legacy.list({});
|
|
546
|
-
for (const task of tasks) {
|
|
547
|
-
const dir = join(taskDir, TICKETS_DIR, String(task.number));
|
|
548
|
-
mkdirSync(dir, { recursive: true });
|
|
549
|
-
writeFileSync(join(dir, TICKET_FILE), serializeTicket({
|
|
550
|
-
title: task.title,
|
|
551
|
-
description: task.description,
|
|
552
|
-
status: task.status,
|
|
553
|
-
tags: task.tags,
|
|
554
|
-
milestone: task.milestone,
|
|
555
|
-
needsHuman: task.needsHuman,
|
|
556
|
-
blockedBy: task.blockedBy,
|
|
557
|
-
prs: task.prs,
|
|
558
|
-
position: task.position,
|
|
559
|
-
createdAt: task.createdAt,
|
|
560
|
-
updatedAt: task.updatedAt,
|
|
561
|
-
}));
|
|
562
|
-
const taskComments = legacy.comments(task.number);
|
|
563
|
-
if (taskComments.length === 0)
|
|
564
|
-
continue;
|
|
565
|
-
const commentsDir = join(dir, COMMENTS_DIR);
|
|
566
|
-
mkdirSync(commentsDir);
|
|
567
|
-
let previous = null;
|
|
568
|
-
for (const comment of taskComments) {
|
|
569
|
-
// `comments()` sorts by (createdAt, id), so ids must sort in legacy
|
|
570
|
-
// (rowid) order wherever timestamps tie — and a fresh stem for a
|
|
571
|
-
// different author can sort *before* the previous one. Chain off the
|
|
572
|
-
// previous id instead: the collision suffix below then appends `-2`,
|
|
573
|
-
// which sorts after. The frontmatter stays authoritative for the
|
|
574
|
-
// author; the filename is only an ordering key.
|
|
575
|
-
let stem = commentStem(comment.createdAt, comment.author);
|
|
576
|
-
if (previous &&
|
|
577
|
-
comment.createdAt === previous.createdAt &&
|
|
578
|
-
stem.localeCompare(previous.id) < 0) {
|
|
579
|
-
stem = previous.id;
|
|
580
|
-
}
|
|
581
|
-
let id = stem;
|
|
582
|
-
for (let n = 2; existsSync(join(commentsDir, `${id}.md`)); n++)
|
|
583
|
-
id = `${stem}-${n}`;
|
|
584
|
-
previous = { createdAt: comment.createdAt, id };
|
|
585
|
-
writeFileSync(join(commentsDir, `${id}.md`), serializeComment({
|
|
586
|
-
author: comment.author,
|
|
587
|
-
createdAt: comment.createdAt,
|
|
588
|
-
body: comment.body,
|
|
589
|
-
}));
|
|
590
|
-
comments++;
|
|
591
|
-
}
|
|
592
|
-
}
|
|
593
|
-
// Preserve whatever else the config carries; only the version flips.
|
|
594
|
-
const config = JSON.parse(readFileSync(join(taskDir, CONFIG_FILE), "utf8"));
|
|
595
|
-
config.version = 2;
|
|
596
|
-
writeFileSync(join(taskDir, CONFIG_FILE), `${JSON.stringify(config, null, 2)}\n`);
|
|
597
|
-
writeFileSync(join(taskDir, ".gitignore"), GITIGNORE);
|
|
598
|
-
return { tasks: tasks.length, comments };
|
|
599
|
-
}
|
|
600
|
-
finally {
|
|
601
|
-
legacy.close();
|
|
602
|
-
}
|
|
603
|
-
}
|
|
604
702
|
//# sourceMappingURL=file-store.js.map
|
package/dist/file-store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-store.js","sourceRoot":"","sources":["../src/file-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file-store.js","sourceRoot":"","sources":["../src/file-store.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { ARCHIVE_DIR, FileStore, TICKETS_DIR, initProject,
|
|
3
|
-
export { parseTicket, serializeTicket, parseComment, serializeComment, type TicketDoc, type CommentDoc, } from "./ticket-doc.ts";
|
|
1
|
+
export { boardConfig, derivePrefix, findBoards, findBoardsByPrefix, findRoot, findScopeRoot, type BoardRef, type Store, } from "./store.ts";
|
|
2
|
+
export { ARCHIVE_DIR, FileStore, TICKETS_DIR, initProject, openBoard, } from "./file-store.ts";
|
|
3
|
+
export { parseTicket, parseTicketLenient, serializeTicket, parseComment, parseCommentLenient, serializeComment, type TicketDoc, type CommentDoc, } from "./ticket-doc.ts";
|
|
4
|
+
export { checkBoards, checkRoot, type CheckIssue, type CheckResult } from "./check.ts";
|
|
5
|
+
export { searchStore, type SearchMatch, type SearchResult } from "./search.ts";
|
|
4
6
|
export { DEFAULT_CLAIM_PREFIX, ClaimError, claim, claimBranch, claimNamespace, claimableTasks, release, remoteClaims, type ClaimResult, type ReleaseResult, } from "./claim.ts";
|
|
5
7
|
export { createTaskServer } from "./server.ts";
|
|
6
8
|
export { resolveAuthor, ANONYMOUS, type Author, type AuthorSource } from "./author.ts";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,QAAQ,EACR,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,KAAK,GACX,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,WAAW,EACX,SAAS,EACT,WAAW,EACX,WAAW,EACX,SAAS,GACV,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,SAAS,EACd,KAAK,UAAU,GAChB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AACtF,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAC9E,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,KAAK,EACL,WAAW,EACX,cAAc,EACd,cAAc,EACd,OAAO,EACP,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,aAAa,GACnB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AACtF,cAAc,YAAY,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
// Programmatic access to the same store the CLI and `task serve` use — for
|
|
2
2
|
// scripts that want to read or write .task/ without shelling out.
|
|
3
|
-
export {
|
|
4
|
-
export { ARCHIVE_DIR, FileStore, TICKETS_DIR, initProject,
|
|
5
|
-
export { parseTicket, serializeTicket, parseComment, serializeComment, } from "./ticket-doc.js";
|
|
3
|
+
export { boardConfig, derivePrefix, findBoards, findBoardsByPrefix, findRoot, findScopeRoot, } from "./store.js";
|
|
4
|
+
export { ARCHIVE_DIR, FileStore, TICKETS_DIR, initProject, openBoard, } from "./file-store.js";
|
|
5
|
+
export { parseTicket, parseTicketLenient, serializeTicket, parseComment, parseCommentLenient, serializeComment, } from "./ticket-doc.js";
|
|
6
|
+
export { checkBoards, checkRoot } from "./check.js";
|
|
7
|
+
export { searchStore } from "./search.js";
|
|
6
8
|
export { DEFAULT_CLAIM_PREFIX, ClaimError, claim, claimBranch, claimNamespace, claimableTasks, release, remoteClaims, } from "./claim.js";
|
|
7
9
|
export { createTaskServer } from "./server.js";
|
|
8
10
|
export { resolveAuthor, ANONYMOUS } from "./author.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,kEAAkE;AAClE,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,kEAAkE;AAClE,OAAO,EACL,WAAW,EACX,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,QAAQ,EACR,aAAa,GAGd,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,WAAW,EACX,SAAS,EACT,WAAW,EACX,WAAW,EACX,SAAS,GACV,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,GAGjB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAqC,MAAM,YAAY,CAAA;AACtF,OAAO,EAAE,WAAW,EAAuC,MAAM,aAAa,CAAA;AAC9E,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,KAAK,EACL,WAAW,EACX,cAAc,EACd,cAAc,EACd,OAAO,EACP,YAAY,GAGb,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,SAAS,EAAkC,MAAM,aAAa,CAAA;AACtF,cAAc,YAAY,CAAA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `task overview` — one screen of board health (TAS-27): the numbers an agent
|
|
3
|
+
* wants before choosing work and the numbers a human wants in a standup.
|
|
4
|
+
* Nothing configurable, no charts, and nothing stored — every figure is
|
|
5
|
+
* derived from the board at read time, the same rule goals follow.
|
|
6
|
+
*/
|
|
7
|
+
import type { Store } from "./store.ts";
|
|
8
|
+
import { type Status } from "./types.ts";
|
|
9
|
+
/** Untouched this long, an open ticket is stale. Fixed on purpose. */
|
|
10
|
+
export declare const STALE_DAYS = 14;
|
|
11
|
+
export interface GoalProgress {
|
|
12
|
+
slug: string;
|
|
13
|
+
title: string;
|
|
14
|
+
done: number;
|
|
15
|
+
total: number;
|
|
16
|
+
}
|
|
17
|
+
export interface TicketRef {
|
|
18
|
+
id: string;
|
|
19
|
+
title: string;
|
|
20
|
+
}
|
|
21
|
+
export interface Overview {
|
|
22
|
+
board: string;
|
|
23
|
+
prefix: string;
|
|
24
|
+
/** Live board only — the archive is history, not health. */
|
|
25
|
+
statuses: Record<Status, number>;
|
|
26
|
+
open: number;
|
|
27
|
+
needsHuman: number;
|
|
28
|
+
/**
|
|
29
|
+
* Open tickets whose claim branch exists on origin right now; null when
|
|
30
|
+
* origin can't be asked (no remote, offline) — unknown, not zero.
|
|
31
|
+
*/
|
|
32
|
+
claimed: string[] | null;
|
|
33
|
+
goals: GoalProgress[];
|
|
34
|
+
/** Open tickets untouched for STALE_DAYS+, oldest first. */
|
|
35
|
+
stale: (TicketRef & {
|
|
36
|
+
updatedAt: string;
|
|
37
|
+
})[];
|
|
38
|
+
oldestOpen: (TicketRef & {
|
|
39
|
+
createdAt: string;
|
|
40
|
+
}) | null;
|
|
41
|
+
}
|
|
42
|
+
export declare function buildOverview(store: Store, now?: number): Overview;
|
|
43
|
+
//# sourceMappingURL=overview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overview.d.ts","sourceRoot":"","sources":["../src/overview.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,YAAY,CAAA;AAElD,sEAAsE;AACtE,eAAO,MAAM,UAAU,KAAK,CAAA;AAI5B,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IACxB,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,4DAA4D;IAC5D,KAAK,EAAE,CAAC,SAAS,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAA;IAC5C,UAAU,EAAE,CAAC,SAAS,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAA;CACvD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,GAAE,MAAmB,GAAG,QAAQ,CA2C9E"}
|