flowcat 1.5.0 → 1.6.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/index.mjs +174 -2
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -32260,11 +32260,142 @@ var resolvePackageVersion = async () => {
|
|
|
32260
32260
|
}
|
|
32261
32261
|
};
|
|
32262
32262
|
|
|
32263
|
+
// outputSchemas.ts
|
|
32264
|
+
var outputSchemas = {
|
|
32265
|
+
add: `{
|
|
32266
|
+
task: Task,
|
|
32267
|
+
alias: string
|
|
32268
|
+
}`,
|
|
32269
|
+
list: `{
|
|
32270
|
+
selection: "all" | TaskStatus | "today" | "yesterday" | "this_week" | "last_week",
|
|
32271
|
+
tasks: Array<{
|
|
32272
|
+
task: Task,
|
|
32273
|
+
status: TaskStatus,
|
|
32274
|
+
alias: string | null
|
|
32275
|
+
}>
|
|
32276
|
+
}`,
|
|
32277
|
+
show: `{
|
|
32278
|
+
task: Task,
|
|
32279
|
+
alias: string | null
|
|
32280
|
+
}`,
|
|
32281
|
+
search: `{
|
|
32282
|
+
query: string,
|
|
32283
|
+
tasks: Array<{
|
|
32284
|
+
task: Task,
|
|
32285
|
+
status: TaskStatus,
|
|
32286
|
+
alias: string | null
|
|
32287
|
+
}>
|
|
32288
|
+
}`,
|
|
32289
|
+
edit: `{
|
|
32290
|
+
task: Task
|
|
32291
|
+
}`,
|
|
32292
|
+
log: `{
|
|
32293
|
+
task: Task
|
|
32294
|
+
}`,
|
|
32295
|
+
start: `{
|
|
32296
|
+
task: Task,
|
|
32297
|
+
nextStatus: "active"
|
|
32298
|
+
}`,
|
|
32299
|
+
pause: `{
|
|
32300
|
+
task: Task,
|
|
32301
|
+
nextStatus: "paused"
|
|
32302
|
+
}`,
|
|
32303
|
+
complete: `{
|
|
32304
|
+
task: Task,
|
|
32305
|
+
nextStatus: "completed"
|
|
32306
|
+
}`,
|
|
32307
|
+
cancel: `{
|
|
32308
|
+
task: Task,
|
|
32309
|
+
nextStatus: "cancelled"
|
|
32310
|
+
}`,
|
|
32311
|
+
today: `{
|
|
32312
|
+
status: "assigned" | "already_assigned",
|
|
32313
|
+
task: Task,
|
|
32314
|
+
date: string, // YYYY-MM-DD
|
|
32315
|
+
order?: number // position in day list (only if status is "assigned")
|
|
32316
|
+
}`,
|
|
32317
|
+
"today move": `{
|
|
32318
|
+
status: "moved" | "no_change" | "not_assigned",
|
|
32319
|
+
task: Task,
|
|
32320
|
+
date: string, // YYYY-MM-DD
|
|
32321
|
+
position?: number // new position (only if status is "moved" or "no_change")
|
|
32322
|
+
}`,
|
|
32323
|
+
untoday: `{
|
|
32324
|
+
status: "unassigned" | "already_unassigned",
|
|
32325
|
+
task: Task,
|
|
32326
|
+
date: string // YYYY-MM-DD
|
|
32327
|
+
}`,
|
|
32328
|
+
"attach-pr": `{
|
|
32329
|
+
status: "attached" | "updated",
|
|
32330
|
+
task: Task
|
|
32331
|
+
}`,
|
|
32332
|
+
refresh: `{
|
|
32333
|
+
status: "no_pr" | "refreshed" | "no_change" | "merged" | "closed",
|
|
32334
|
+
task: Task
|
|
32335
|
+
}`,
|
|
32336
|
+
init: `{
|
|
32337
|
+
workspace: {
|
|
32338
|
+
workspaceRoot: string,
|
|
32339
|
+
kind: "repo" | "global"
|
|
32340
|
+
}
|
|
32341
|
+
}`,
|
|
32342
|
+
where: `{
|
|
32343
|
+
workspace: {
|
|
32344
|
+
root: string,
|
|
32345
|
+
kind: "repo" | "global"
|
|
32346
|
+
}
|
|
32347
|
+
}`,
|
|
32348
|
+
"alias reconcile": `{
|
|
32349
|
+
status: "reconciled"
|
|
32350
|
+
}`
|
|
32351
|
+
};
|
|
32352
|
+
var taskTypeDefinition = `
|
|
32353
|
+
Task = {
|
|
32354
|
+
id: string, // T<ULID> or R<ULID>
|
|
32355
|
+
ref: string, // T-XXXXXX or R-XXXXXX (stable reference)
|
|
32356
|
+
type: "regular" | "review",
|
|
32357
|
+
title: string,
|
|
32358
|
+
status: TaskStatus,
|
|
32359
|
+
created_at: string, // ISO 8601
|
|
32360
|
+
updated_at: string, // ISO 8601
|
|
32361
|
+
metadata: {
|
|
32362
|
+
url?: string,
|
|
32363
|
+
pr?: {
|
|
32364
|
+
url: string,
|
|
32365
|
+
owner: string,
|
|
32366
|
+
repo: string,
|
|
32367
|
+
number: number,
|
|
32368
|
+
fetched?: {
|
|
32369
|
+
title: string,
|
|
32370
|
+
state: "open" | "closed" | "merged",
|
|
32371
|
+
merged: boolean,
|
|
32372
|
+
author: string,
|
|
32373
|
+
updated_at: string,
|
|
32374
|
+
fetched_at: string
|
|
32375
|
+
}
|
|
32376
|
+
}
|
|
32377
|
+
},
|
|
32378
|
+
logs: Array<{
|
|
32379
|
+
ts: string, // ISO 8601
|
|
32380
|
+
msg: string,
|
|
32381
|
+
status?: TaskStatus
|
|
32382
|
+
}>,
|
|
32383
|
+
day_assignments: Array<{
|
|
32384
|
+
date: string, // YYYY-MM-DD
|
|
32385
|
+
action: "assign" | "unassign",
|
|
32386
|
+
ts: string, // ISO 8601
|
|
32387
|
+
order?: number
|
|
32388
|
+
}>
|
|
32389
|
+
}
|
|
32390
|
+
|
|
32391
|
+
TaskStatus = "backlog" | "active" | "paused" | "completed" | "cancelled"
|
|
32392
|
+
`;
|
|
32393
|
+
|
|
32263
32394
|
// index.ts
|
|
32264
32395
|
var program2 = new Command;
|
|
32265
32396
|
var helpers = createCliHelpers(program2);
|
|
32266
32397
|
var packageVersion = await resolvePackageVersion();
|
|
32267
|
-
program2.name("flowcat").description("Terminal task manager").option("--store <path>", "explicit workspace path").option("--global", "use global workspace").option("--repo", "use repo workspace").option("--json", "print JSON output").option("--help-all", "
|
|
32398
|
+
program2.name("flowcat").description("Terminal task manager").option("--store <path>", "explicit workspace path").option("--global", "use global workspace").option("--repo", "use repo workspace").option("--json", "print JSON output").option("--help-all", "show full help; use <command> --help-all for JSON output schema").configureHelp({ showGlobalOptions: true });
|
|
32268
32399
|
if (packageVersion) {
|
|
32269
32400
|
program2.version(packageVersion);
|
|
32270
32401
|
}
|
|
@@ -32304,8 +32435,49 @@ ${"─".repeat(60)}
|
|
|
32304
32435
|
return sections.join(`
|
|
32305
32436
|
`);
|
|
32306
32437
|
};
|
|
32438
|
+
var generateCommandHelpAll = (cmd, cmdPath) => {
|
|
32439
|
+
const sections = [];
|
|
32440
|
+
sections.push(cmd.helpInformation());
|
|
32441
|
+
const schema = outputSchemas[cmdPath];
|
|
32442
|
+
if (schema) {
|
|
32443
|
+
sections.push(`
|
|
32444
|
+
JSON Output (--json):`);
|
|
32445
|
+
sections.push(schema.split(`
|
|
32446
|
+
`).map((line) => ` ${line}`).join(`
|
|
32447
|
+
`));
|
|
32448
|
+
sections.push(`
|
|
32449
|
+
Type Definitions:`);
|
|
32450
|
+
sections.push(taskTypeDefinition.trim().split(`
|
|
32451
|
+
`).map((line) => ` ${line}`).join(`
|
|
32452
|
+
`));
|
|
32453
|
+
}
|
|
32454
|
+
return sections.join(`
|
|
32455
|
+
`);
|
|
32456
|
+
};
|
|
32457
|
+
var findCommand = (program3, args) => {
|
|
32458
|
+
let current = program3;
|
|
32459
|
+
const pathParts = [];
|
|
32460
|
+
for (const arg of args) {
|
|
32461
|
+
if (arg.startsWith("-"))
|
|
32462
|
+
continue;
|
|
32463
|
+
const sub = current.commands.find((c) => c.name() === arg || c.aliases().includes(arg));
|
|
32464
|
+
if (!sub)
|
|
32465
|
+
break;
|
|
32466
|
+
current = sub;
|
|
32467
|
+
pathParts.push(sub.name());
|
|
32468
|
+
}
|
|
32469
|
+
if (pathParts.length === 0)
|
|
32470
|
+
return null;
|
|
32471
|
+
return { cmd: current, path: pathParts.join(" ") };
|
|
32472
|
+
};
|
|
32307
32473
|
if (process.argv.includes("--help-all")) {
|
|
32308
|
-
process.
|
|
32474
|
+
const argsBeforeFlag = process.argv.slice(2, process.argv.indexOf("--help-all"));
|
|
32475
|
+
const found = findCommand(program2, argsBeforeFlag);
|
|
32476
|
+
if (found) {
|
|
32477
|
+
process.stdout.write(generateCommandHelpAll(found.cmd, found.path));
|
|
32478
|
+
} else {
|
|
32479
|
+
process.stdout.write(generateFullHelp(program2));
|
|
32480
|
+
}
|
|
32309
32481
|
process.exit(0);
|
|
32310
32482
|
}
|
|
32311
32483
|
if (process.argv.length <= 2) {
|