hzl-cli 1.13.1 → 1.13.2
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/types.d.ts +1 -1
- package/package.json +2 -2
- package/dist/commands/add-dep.d.ts +0 -15
- package/dist/commands/add-dep.d.ts.map +0 -1
- package/dist/commands/add-dep.js +0 -86
- package/dist/commands/add-dep.js.map +0 -1
- package/dist/commands/add-dep.test.d.ts +0 -2
- package/dist/commands/add-dep.test.d.ts.map +0 -1
- package/dist/commands/add-dep.test.js +0 -47
- package/dist/commands/add-dep.test.js.map +0 -1
- package/dist/commands/add.d.ts +0 -23
- package/dist/commands/add.d.ts.map +0 -1
- package/dist/commands/add.js +0 -65
- package/dist/commands/add.js.map +0 -1
- package/dist/commands/add.test.d.ts +0 -2
- package/dist/commands/add.test.d.ts.map +0 -1
- package/dist/commands/add.test.js +0 -60
- package/dist/commands/add.test.js.map +0 -1
- package/dist/commands/archive.d.ts +0 -16
- package/dist/commands/archive.d.ts.map +0 -1
- package/dist/commands/archive.js +0 -51
- package/dist/commands/archive.js.map +0 -1
- package/dist/commands/archive.test.d.ts +0 -2
- package/dist/commands/archive.test.d.ts.map +0 -1
- package/dist/commands/archive.test.js +0 -48
- package/dist/commands/archive.test.js.map +0 -1
- package/dist/commands/checkpoint.d.ts +0 -17
- package/dist/commands/checkpoint.d.ts.map +0 -1
- package/dist/commands/checkpoint.js +0 -64
- package/dist/commands/checkpoint.js.map +0 -1
- package/dist/commands/checkpoint.test.d.ts +0 -2
- package/dist/commands/checkpoint.test.d.ts.map +0 -1
- package/dist/commands/checkpoint.test.js +0 -47
- package/dist/commands/checkpoint.test.js.map +0 -1
- package/dist/commands/claim.d.ts +0 -20
- package/dist/commands/claim.d.ts.map +0 -1
- package/dist/commands/claim.js +0 -62
- package/dist/commands/claim.js.map +0 -1
- package/dist/commands/claim.test.d.ts +0 -2
- package/dist/commands/claim.test.d.ts.map +0 -1
- package/dist/commands/claim.test.js +0 -48
- package/dist/commands/claim.test.js.map +0 -1
- package/dist/commands/comment.d.ts +0 -16
- package/dist/commands/comment.d.ts.map +0 -1
- package/dist/commands/comment.js +0 -53
- package/dist/commands/comment.js.map +0 -1
- package/dist/commands/comment.test.d.ts +0 -2
- package/dist/commands/comment.test.d.ts.map +0 -1
- package/dist/commands/comment.test.js +0 -46
- package/dist/commands/comment.test.js.map +0 -1
- package/dist/commands/complete.d.ts +0 -15
- package/dist/commands/complete.d.ts.map +0 -1
- package/dist/commands/complete.js +0 -47
- package/dist/commands/complete.js.map +0 -1
- package/dist/commands/complete.test.d.ts +0 -2
- package/dist/commands/complete.test.d.ts.map +0 -1
- package/dist/commands/complete.test.js +0 -42
- package/dist/commands/complete.test.js.map +0 -1
- package/dist/commands/history.d.ts +0 -22
- package/dist/commands/history.d.ts.map +0 -1
- package/dist/commands/history.js +0 -70
- package/dist/commands/history.js.map +0 -1
- package/dist/commands/history.test.d.ts +0 -2
- package/dist/commands/history.test.d.ts.map +0 -1
- package/dist/commands/history.test.js +0 -41
- package/dist/commands/history.test.js.map +0 -1
- package/dist/commands/list.d.ts +0 -26
- package/dist/commands/list.d.ts.map +0 -1
- package/dist/commands/list.js +0 -85
- package/dist/commands/list.js.map +0 -1
- package/dist/commands/list.test.d.ts +0 -2
- package/dist/commands/list.test.d.ts.map +0 -1
- package/dist/commands/list.test.js +0 -55
- package/dist/commands/list.test.js.map +0 -1
- package/dist/commands/move.d.ts +0 -15
- package/dist/commands/move.d.ts.map +0 -1
- package/dist/commands/move.js +0 -62
- package/dist/commands/move.js.map +0 -1
- package/dist/commands/move.test.d.ts +0 -2
- package/dist/commands/move.test.d.ts.map +0 -1
- package/dist/commands/move.test.js +0 -55
- package/dist/commands/move.test.js.map +0 -1
- package/dist/commands/next.d.ts +0 -18
- package/dist/commands/next.d.ts.map +0 -1
- package/dist/commands/next.js +0 -64
- package/dist/commands/next.js.map +0 -1
- package/dist/commands/next.test.d.ts +0 -2
- package/dist/commands/next.test.d.ts.map +0 -1
- package/dist/commands/next.test.js +0 -52
- package/dist/commands/next.test.js.map +0 -1
- package/dist/commands/projects.d.ts +0 -16
- package/dist/commands/projects.d.ts.map +0 -1
- package/dist/commands/projects.js +0 -64
- package/dist/commands/projects.js.map +0 -1
- package/dist/commands/projects.test.d.ts +0 -2
- package/dist/commands/projects.test.d.ts.map +0 -1
- package/dist/commands/projects.test.js +0 -47
- package/dist/commands/projects.test.js.map +0 -1
- package/dist/commands/release.d.ts +0 -17
- package/dist/commands/release.d.ts.map +0 -1
- package/dist/commands/release.js +0 -52
- package/dist/commands/release.js.map +0 -1
- package/dist/commands/release.test.d.ts +0 -2
- package/dist/commands/release.test.d.ts.map +0 -1
- package/dist/commands/release.test.js +0 -47
- package/dist/commands/release.test.js.map +0 -1
- package/dist/commands/remove-dep.d.ts +0 -15
- package/dist/commands/remove-dep.d.ts.map +0 -1
- package/dist/commands/remove-dep.js +0 -55
- package/dist/commands/remove-dep.js.map +0 -1
- package/dist/commands/remove-dep.test.d.ts +0 -2
- package/dist/commands/remove-dep.test.d.ts.map +0 -1
- package/dist/commands/remove-dep.test.js +0 -47
- package/dist/commands/remove-dep.test.js.map +0 -1
- package/dist/commands/rename-project.d.ts +0 -16
- package/dist/commands/rename-project.d.ts.map +0 -1
- package/dist/commands/rename-project.js +0 -70
- package/dist/commands/rename-project.js.map +0 -1
- package/dist/commands/rename-project.test.d.ts +0 -2
- package/dist/commands/rename-project.test.d.ts.map +0 -1
- package/dist/commands/rename-project.test.js +0 -75
- package/dist/commands/rename-project.test.js.map +0 -1
- package/dist/commands/reopen.d.ts +0 -18
- package/dist/commands/reopen.d.ts.map +0 -1
- package/dist/commands/reopen.js +0 -56
- package/dist/commands/reopen.js.map +0 -1
- package/dist/commands/reopen.test.d.ts +0 -2
- package/dist/commands/reopen.test.d.ts.map +0 -1
- package/dist/commands/reopen.test.js +0 -48
- package/dist/commands/reopen.test.js.map +0 -1
- package/dist/commands/search.d.ts +0 -23
- package/dist/commands/search.d.ts.map +0 -1
- package/dist/commands/search.js +0 -89
- package/dist/commands/search.js.map +0 -1
- package/dist/commands/search.test.d.ts +0 -2
- package/dist/commands/search.test.d.ts.map +0 -1
- package/dist/commands/search.test.js +0 -41
- package/dist/commands/search.test.js.map +0 -1
- package/dist/commands/set-status.d.ts +0 -18
- package/dist/commands/set-status.d.ts.map +0 -1
- package/dist/commands/set-status.js +0 -60
- package/dist/commands/set-status.js.map +0 -1
- package/dist/commands/set-status.test.d.ts +0 -2
- package/dist/commands/set-status.test.d.ts.map +0 -1
- package/dist/commands/set-status.test.js +0 -45
- package/dist/commands/set-status.test.js.map +0 -1
- package/dist/commands/show.d.ts +0 -34
- package/dist/commands/show.d.ts.map +0 -1
- package/dist/commands/show.js +0 -96
- package/dist/commands/show.js.map +0 -1
- package/dist/commands/show.test.d.ts +0 -2
- package/dist/commands/show.test.d.ts.map +0 -1
- package/dist/commands/show.test.js +0 -50
- package/dist/commands/show.test.js.map +0 -1
- package/dist/commands/steal.d.ts +0 -19
- package/dist/commands/steal.d.ts.map +0 -1
- package/dist/commands/steal.js +0 -90
- package/dist/commands/steal.js.map +0 -1
- package/dist/commands/steal.test.d.ts +0 -2
- package/dist/commands/steal.test.d.ts.map +0 -1
- package/dist/commands/steal.test.js +0 -66
- package/dist/commands/steal.test.js.map +0 -1
- package/dist/commands/stuck.d.ts +0 -22
- package/dist/commands/stuck.d.ts.map +0 -1
- package/dist/commands/stuck.js +0 -91
- package/dist/commands/stuck.js.map +0 -1
- package/dist/commands/stuck.test.d.ts +0 -2
- package/dist/commands/stuck.test.d.ts.map +0 -1
- package/dist/commands/stuck.test.js +0 -51
- package/dist/commands/stuck.test.js.map +0 -1
- package/dist/commands/task.d.ts +0 -32
- package/dist/commands/task.d.ts.map +0 -1
- package/dist/commands/task.js +0 -72
- package/dist/commands/task.js.map +0 -1
- package/dist/commands/update.d.ts +0 -23
- package/dist/commands/update.d.ts.map +0 -1
- package/dist/commands/update.js +0 -105
- package/dist/commands/update.js.map +0 -1
- package/dist/commands/update.test.d.ts +0 -2
- package/dist/commands/update.test.d.ts.map +0 -1
- package/dist/commands/update.test.js +0 -63
- package/dist/commands/update.test.js.map +0 -1
package/dist/types.d.ts
CHANGED
|
@@ -6,8 +6,8 @@ export declare const GlobalOptionsSchema: z.ZodObject<{
|
|
|
6
6
|
json: boolean;
|
|
7
7
|
db?: string | undefined;
|
|
8
8
|
}, {
|
|
9
|
-
json?: boolean | undefined;
|
|
10
9
|
db?: string | undefined;
|
|
10
|
+
json?: boolean | undefined;
|
|
11
11
|
}>;
|
|
12
12
|
export type GlobalOptions = z.infer<typeof GlobalOptionsSchema>;
|
|
13
13
|
export interface Config {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hzl-cli",
|
|
3
|
-
"version": "1.13.
|
|
3
|
+
"version": "1.13.2",
|
|
4
4
|
"description": "CLI for HZL - External task ledger for coding agents and OpenClaw.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"dependencies": {
|
|
65
65
|
"libsql": "^0.5.0",
|
|
66
66
|
"commander": "^14.0.0",
|
|
67
|
-
"hzl-core": "^1.13.
|
|
67
|
+
"hzl-core": "^1.13.2",
|
|
68
68
|
"hzl-web": "^1.7.6",
|
|
69
69
|
"zod": "^3.23.8"
|
|
70
70
|
},
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import { type Services } from '../db.js';
|
|
3
|
-
export interface AddDepResult {
|
|
4
|
-
task_id: string;
|
|
5
|
-
depends_on_id: string;
|
|
6
|
-
added: boolean;
|
|
7
|
-
}
|
|
8
|
-
export declare function runAddDep(options: {
|
|
9
|
-
services: Services;
|
|
10
|
-
taskId: string;
|
|
11
|
-
dependsOnId: string;
|
|
12
|
-
json: boolean;
|
|
13
|
-
}): AddDepResult;
|
|
14
|
-
export declare function createAddDepCommand(): Command;
|
|
15
|
-
//# sourceMappingURL=add-dep.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"add-dep.d.ts","sourceRoot":"","sources":["../../src/commands/add-dep.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAyB,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAKhE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;CAChB;AA2BD,wBAAgB,SAAS,CAAC,OAAO,EAAE;IACjC,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;CACf,GAAG,YAAY,CAwCf;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAiB7C"}
|
package/dist/commands/add-dep.js
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
// packages/hzl-cli/src/commands/add-dep.ts
|
|
2
|
-
import { Command } from 'commander';
|
|
3
|
-
import { resolveDbPath } from '../config.js';
|
|
4
|
-
import { initializeDb, closeDb } from '../db.js';
|
|
5
|
-
import { handleError, CLIError, ExitCode } from '../errors.js';
|
|
6
|
-
import { EventType } from 'hzl-core/events/types.js';
|
|
7
|
-
/**
|
|
8
|
-
* Check if adding taskId -> dependsOnId would create a cycle.
|
|
9
|
-
* A cycle would occur if dependsOnId (or any of its dependencies) already depends on taskId.
|
|
10
|
-
*/
|
|
11
|
-
function wouldCreateCycle(db, taskId, dependsOnId) {
|
|
12
|
-
// Check if dependsOnId can reach taskId through its dependencies
|
|
13
|
-
const visited = new Set();
|
|
14
|
-
const queue = [dependsOnId];
|
|
15
|
-
while (queue.length > 0) {
|
|
16
|
-
const current = queue.shift();
|
|
17
|
-
if (current === taskId)
|
|
18
|
-
return true;
|
|
19
|
-
if (visited.has(current))
|
|
20
|
-
continue;
|
|
21
|
-
visited.add(current);
|
|
22
|
-
// Get dependencies of current task
|
|
23
|
-
const deps = db.prepare('SELECT depends_on_id FROM task_dependencies WHERE task_id = ?').all(current);
|
|
24
|
-
for (const dep of deps) {
|
|
25
|
-
queue.push(dep.depends_on_id);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
export function runAddDep(options) {
|
|
31
|
-
const { services, taskId, dependsOnId, json } = options;
|
|
32
|
-
const { db, eventStore, projectionEngine } = services;
|
|
33
|
-
// Check both tasks exist
|
|
34
|
-
const task = services.taskService.getTaskById(taskId);
|
|
35
|
-
if (!task) {
|
|
36
|
-
throw new CLIError(`Task not found: ${taskId}`, ExitCode.NotFound);
|
|
37
|
-
}
|
|
38
|
-
const depTask = services.taskService.getTaskById(dependsOnId);
|
|
39
|
-
if (!depTask) {
|
|
40
|
-
throw new CLIError(`Dependency task not found: ${dependsOnId}`, ExitCode.NotFound);
|
|
41
|
-
}
|
|
42
|
-
// Check for cycles - would adding taskId -> dependsOnId create a cycle?
|
|
43
|
-
if (wouldCreateCycle(db, taskId, dependsOnId)) {
|
|
44
|
-
throw new CLIError(`Adding this dependency would create a cycle`, ExitCode.InvalidInput);
|
|
45
|
-
}
|
|
46
|
-
// Add the dependency via event
|
|
47
|
-
const event = eventStore.append({
|
|
48
|
-
task_id: taskId,
|
|
49
|
-
type: EventType.DependencyAdded,
|
|
50
|
-
data: { depends_on_id: dependsOnId },
|
|
51
|
-
});
|
|
52
|
-
projectionEngine.applyEvent(event);
|
|
53
|
-
const result = {
|
|
54
|
-
task_id: taskId,
|
|
55
|
-
depends_on_id: dependsOnId,
|
|
56
|
-
added: true,
|
|
57
|
-
};
|
|
58
|
-
if (json) {
|
|
59
|
-
console.log(JSON.stringify(result));
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
console.log(`✓ Added dependency: ${taskId} → ${dependsOnId}`);
|
|
63
|
-
}
|
|
64
|
-
return result;
|
|
65
|
-
}
|
|
66
|
-
export function createAddDepCommand() {
|
|
67
|
-
return new Command('add-dep')
|
|
68
|
-
.description('Add a dependency between tasks')
|
|
69
|
-
.argument('<taskId>', 'Task ID that will depend on the other')
|
|
70
|
-
.argument('<dependsOnId>', 'Task ID that must be completed first')
|
|
71
|
-
.action(function (taskId, dependsOnId) {
|
|
72
|
-
const globalOpts = this.optsWithGlobals();
|
|
73
|
-
const dbPath = resolveDbPath(globalOpts.db);
|
|
74
|
-
const services = initializeDb(dbPath);
|
|
75
|
-
try {
|
|
76
|
-
runAddDep({ services, taskId, dependsOnId, json: globalOpts.json ?? false });
|
|
77
|
-
}
|
|
78
|
-
catch (e) {
|
|
79
|
-
handleError(e, globalOpts.json);
|
|
80
|
-
}
|
|
81
|
-
finally {
|
|
82
|
-
closeDb(services);
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=add-dep.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"add-dep.js","sourceRoot":"","sources":["../../src/commands/add-dep.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"add-dep.test.d.ts","sourceRoot":"","sources":["../../src/commands/add-dep.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
// packages/hzl-cli/src/commands/add-dep.test.ts
|
|
2
|
-
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
|
3
|
-
import fs from 'fs';
|
|
4
|
-
import path from 'path';
|
|
5
|
-
import os from 'os';
|
|
6
|
-
import { runAddDep } from './add-dep.js';
|
|
7
|
-
import { initializeDb, closeDb } from '../db.js';
|
|
8
|
-
describe('runAddDep', () => {
|
|
9
|
-
let tempDir;
|
|
10
|
-
let dbPath;
|
|
11
|
-
let services;
|
|
12
|
-
beforeEach(() => {
|
|
13
|
-
tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'hzl-add-dep-test-'));
|
|
14
|
-
dbPath = path.join(tempDir, 'test.db');
|
|
15
|
-
services = initializeDb(dbPath);
|
|
16
|
-
});
|
|
17
|
-
afterEach(() => {
|
|
18
|
-
closeDb(services);
|
|
19
|
-
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
20
|
-
});
|
|
21
|
-
it('adds a dependency between two tasks', () => {
|
|
22
|
-
const task1 = services.taskService.createTask({ title: 'Task 1', project: 'inbox' });
|
|
23
|
-
const task2 = services.taskService.createTask({ title: 'Task 2', project: 'inbox' });
|
|
24
|
-
const result = runAddDep({
|
|
25
|
-
services,
|
|
26
|
-
taskId: task1.task_id,
|
|
27
|
-
dependsOnId: task2.task_id,
|
|
28
|
-
json: false,
|
|
29
|
-
});
|
|
30
|
-
expect(result.task_id).toBe(task1.task_id);
|
|
31
|
-
expect(result.depends_on_id).toBe(task2.task_id);
|
|
32
|
-
expect(result.added).toBe(true);
|
|
33
|
-
});
|
|
34
|
-
it('throws when dependency would create a cycle', () => {
|
|
35
|
-
const task1 = services.taskService.createTask({ title: 'Task 1', project: 'inbox' });
|
|
36
|
-
const task2 = services.taskService.createTask({ title: 'Task 2', project: 'inbox', depends_on: [task1.task_id] });
|
|
37
|
-
// Task1 depends on Task2, now trying to make Task1 depend on Task2 would create cycle
|
|
38
|
-
// Actually the cycle is: Task1 <- Task2. If we add Task1 -> Task2, then Task2 depends on Task1 AND Task1 depends on Task2 = cycle
|
|
39
|
-
expect(() => runAddDep({
|
|
40
|
-
services,
|
|
41
|
-
taskId: task1.task_id,
|
|
42
|
-
dependsOnId: task2.task_id,
|
|
43
|
-
json: false,
|
|
44
|
-
})).toThrow(/cycle/i);
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
//# sourceMappingURL=add-dep.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"add-dep.test.js","sourceRoot":"","sources":["../../src/commands/add-dep.test.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAiB,MAAM,UAAU,CAAC;AAEhE,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,IAAI,OAAe,CAAC;IACpB,IAAI,MAAc,CAAC;IACnB,IAAI,QAAkB,CAAC;IAEvB,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;QACtE,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACvC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClB,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACrF,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAErF,MAAM,MAAM,GAAG,SAAS,CAAC;YACvB,QAAQ;YACR,MAAM,EAAE,KAAK,CAAC,OAAO;YACrB,WAAW,EAAE,KAAK,CAAC,OAAO;YAC1B,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACrF,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAElH,sFAAsF;QACtF,kIAAkI;QAClI,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;YACrB,QAAQ;YACR,MAAM,EAAE,KAAK,CAAC,OAAO;YACrB,WAAW,EAAE,KAAK,CAAC,OAAO;YAC1B,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/commands/add.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import { type Services } from '../db.js';
|
|
3
|
-
export interface AddResult {
|
|
4
|
-
task_id: string;
|
|
5
|
-
title: string;
|
|
6
|
-
project: string;
|
|
7
|
-
status: string;
|
|
8
|
-
priority: number;
|
|
9
|
-
tags: string[];
|
|
10
|
-
}
|
|
11
|
-
export interface AddOptions {
|
|
12
|
-
services: Services;
|
|
13
|
-
project: string;
|
|
14
|
-
title: string;
|
|
15
|
-
description?: string;
|
|
16
|
-
tags?: string[];
|
|
17
|
-
priority?: number;
|
|
18
|
-
dependsOn?: string[];
|
|
19
|
-
json: boolean;
|
|
20
|
-
}
|
|
21
|
-
export declare function runAdd(options: AddOptions): AddResult;
|
|
22
|
-
export declare function createAddCommand(): Command;
|
|
23
|
-
//# sourceMappingURL=add.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAyB,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIhE,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CA4BrD;AAED,wBAAgB,gBAAgB,IAAI,OAAO,CA8B1C"}
|
package/dist/commands/add.js
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
// packages/hzl-cli/src/commands/add.ts
|
|
2
|
-
import { Command } from 'commander';
|
|
3
|
-
import { resolveDbPath } from '../config.js';
|
|
4
|
-
import { initializeDb, closeDb } from '../db.js';
|
|
5
|
-
import { handleError } from '../errors.js';
|
|
6
|
-
export function runAdd(options) {
|
|
7
|
-
const { services, project, title, description, tags, priority, dependsOn, json } = options;
|
|
8
|
-
const task = services.taskService.createTask({
|
|
9
|
-
title,
|
|
10
|
-
project,
|
|
11
|
-
description,
|
|
12
|
-
tags,
|
|
13
|
-
priority,
|
|
14
|
-
depends_on: dependsOn,
|
|
15
|
-
});
|
|
16
|
-
const result = {
|
|
17
|
-
task_id: task.task_id,
|
|
18
|
-
title: task.title,
|
|
19
|
-
project: task.project,
|
|
20
|
-
status: task.status,
|
|
21
|
-
priority: task.priority,
|
|
22
|
-
tags: task.tags,
|
|
23
|
-
};
|
|
24
|
-
if (json) {
|
|
25
|
-
console.log(JSON.stringify(result));
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
console.log(`✓ Created task ${task.task_id}: ${task.title}`);
|
|
29
|
-
}
|
|
30
|
-
return result;
|
|
31
|
-
}
|
|
32
|
-
export function createAddCommand() {
|
|
33
|
-
return new Command('add')
|
|
34
|
-
.description('Create a new task')
|
|
35
|
-
.argument('<project>', 'Project name')
|
|
36
|
-
.argument('<title>', 'Task title')
|
|
37
|
-
.option('-d, --description <desc>', 'Task description')
|
|
38
|
-
.option('-t, --tags <tags>', 'Comma-separated tags')
|
|
39
|
-
.option('-p, --priority <n>', 'Priority (0-3)', '0')
|
|
40
|
-
.option('--depends-on <ids>', 'Comma-separated task IDs this depends on')
|
|
41
|
-
.action(function (project, title, opts) {
|
|
42
|
-
const globalOpts = this.optsWithGlobals();
|
|
43
|
-
const dbPath = resolveDbPath(globalOpts.db);
|
|
44
|
-
const services = initializeDb(dbPath);
|
|
45
|
-
try {
|
|
46
|
-
runAdd({
|
|
47
|
-
services,
|
|
48
|
-
project,
|
|
49
|
-
title,
|
|
50
|
-
description: opts.description,
|
|
51
|
-
tags: opts.tags?.split(','),
|
|
52
|
-
priority: parseInt(opts.priority, 10),
|
|
53
|
-
dependsOn: opts.dependsOn?.split(','),
|
|
54
|
-
json: globalOpts.json ?? false,
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
catch (e) {
|
|
58
|
-
handleError(e, globalOpts.json);
|
|
59
|
-
}
|
|
60
|
-
finally {
|
|
61
|
-
closeDb(services);
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
//# sourceMappingURL=add.js.map
|
package/dist/commands/add.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,OAAO,EAAiB,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAuB3C,MAAM,UAAU,MAAM,CAAC,OAAmB;IACxC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAE3F,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC;QAC3C,KAAK;QACL,OAAO;QACP,WAAW;QACX,IAAI;QACJ,QAAQ;QACR,UAAU,EAAE,SAAS;KACtB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAc;QACxB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC;IAEF,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC;SACtB,WAAW,CAAC,mBAAmB,CAAC;SAChC,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;SACrC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;SACjC,MAAM,CAAC,0BAA0B,EAAE,kBAAkB,CAAC;SACtD,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;SACnD,MAAM,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,GAAG,CAAC;SACnD,MAAM,CAAC,oBAAoB,EAAE,0CAA0C,CAAC;SACxE,MAAM,CAAC,UAAyB,OAAe,EAAE,KAAa,EAAE,IAAS;QACxE,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAmB,CAAC;QAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,CAAC;gBACL,QAAQ;gBACR,OAAO;gBACP,KAAK;gBACL,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;gBAC3B,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC;gBACrC,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,KAAK;aAC/B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"add.test.d.ts","sourceRoot":"","sources":["../../src/commands/add.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
// packages/hzl-cli/src/commands/add.test.ts
|
|
2
|
-
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
|
3
|
-
import fs from 'fs';
|
|
4
|
-
import path from 'path';
|
|
5
|
-
import os from 'os';
|
|
6
|
-
import { runAdd } from './add.js';
|
|
7
|
-
import { initializeDb, closeDb } from '../db.js';
|
|
8
|
-
describe('runAdd', () => {
|
|
9
|
-
let tempDir;
|
|
10
|
-
let dbPath;
|
|
11
|
-
let services;
|
|
12
|
-
beforeEach(() => {
|
|
13
|
-
tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'hzl-add-test-'));
|
|
14
|
-
dbPath = path.join(tempDir, 'test.db');
|
|
15
|
-
services = initializeDb(dbPath);
|
|
16
|
-
});
|
|
17
|
-
afterEach(() => {
|
|
18
|
-
closeDb(services);
|
|
19
|
-
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
20
|
-
});
|
|
21
|
-
it('creates a task with just title', () => {
|
|
22
|
-
const result = runAdd({
|
|
23
|
-
services,
|
|
24
|
-
project: 'inbox',
|
|
25
|
-
title: 'Test task',
|
|
26
|
-
json: false,
|
|
27
|
-
});
|
|
28
|
-
expect(result.task_id).toBeDefined();
|
|
29
|
-
expect(result.title).toBe('Test task');
|
|
30
|
-
expect(result.project).toBe('inbox');
|
|
31
|
-
});
|
|
32
|
-
it('creates a task with all options', () => {
|
|
33
|
-
const result = runAdd({
|
|
34
|
-
services,
|
|
35
|
-
project: 'my-project',
|
|
36
|
-
title: 'Full task',
|
|
37
|
-
description: 'A description',
|
|
38
|
-
tags: ['urgent', 'backend'],
|
|
39
|
-
priority: 2,
|
|
40
|
-
json: false,
|
|
41
|
-
});
|
|
42
|
-
expect(result.project).toBe('my-project');
|
|
43
|
-
expect(result.priority).toBe(2);
|
|
44
|
-
});
|
|
45
|
-
it('creates a task with dependencies', () => {
|
|
46
|
-
const dep = runAdd({ services, project: 'inbox', title: 'Dependency', json: false });
|
|
47
|
-
const result = runAdd({
|
|
48
|
-
services,
|
|
49
|
-
project: 'inbox',
|
|
50
|
-
title: 'Dependent task',
|
|
51
|
-
dependsOn: [dep.task_id],
|
|
52
|
-
json: false,
|
|
53
|
-
});
|
|
54
|
-
expect(result.task_id).toBeDefined();
|
|
55
|
-
// Dependent task should have the dependency recorded
|
|
56
|
-
const task = services.taskService.getTaskById(result.task_id);
|
|
57
|
-
expect(task).toBeDefined();
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
//# sourceMappingURL=add.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"add.test.js","sourceRoot":"","sources":["../../src/commands/add.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import { type Services } from '../db.js';
|
|
3
|
-
export interface ArchiveResult {
|
|
4
|
-
task_id: string;
|
|
5
|
-
title: string;
|
|
6
|
-
status: string;
|
|
7
|
-
}
|
|
8
|
-
export declare function runArchive(options: {
|
|
9
|
-
services: Services;
|
|
10
|
-
taskId: string;
|
|
11
|
-
reason?: string;
|
|
12
|
-
author?: string;
|
|
13
|
-
json: boolean;
|
|
14
|
-
}): ArchiveResult;
|
|
15
|
-
export declare function createArchiveCommand(): Command;
|
|
16
|
-
//# sourceMappingURL=archive.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../src/commands/archive.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAyB,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIhE,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE;IAClC,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACf,GAAG,aAAa,CAmBhB;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAwB9C"}
|
package/dist/commands/archive.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
// packages/hzl-cli/src/commands/archive.ts
|
|
2
|
-
import { Command } from 'commander';
|
|
3
|
-
import { resolveDbPath } from '../config.js';
|
|
4
|
-
import { initializeDb, closeDb } from '../db.js';
|
|
5
|
-
import { handleError } from '../errors.js';
|
|
6
|
-
export function runArchive(options) {
|
|
7
|
-
const { services, taskId, reason, author, json } = options;
|
|
8
|
-
const task = services.taskService.archiveTask(taskId, { reason, author });
|
|
9
|
-
const result = {
|
|
10
|
-
task_id: task.task_id,
|
|
11
|
-
title: task.title,
|
|
12
|
-
status: task.status,
|
|
13
|
-
};
|
|
14
|
-
if (json) {
|
|
15
|
-
console.log(JSON.stringify(result));
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
console.log(`✓ Archived task ${task.task_id}: ${task.title}`);
|
|
19
|
-
if (reason)
|
|
20
|
-
console.log(` Reason: ${reason}`);
|
|
21
|
-
}
|
|
22
|
-
return result;
|
|
23
|
-
}
|
|
24
|
-
export function createArchiveCommand() {
|
|
25
|
-
return new Command('archive')
|
|
26
|
-
.description('Archive a task')
|
|
27
|
-
.argument('<taskId>', 'Task ID')
|
|
28
|
-
.option('--reason <reason>', 'Archive reason')
|
|
29
|
-
.option('--author <name>', 'Author name')
|
|
30
|
-
.action(function (taskId, opts) {
|
|
31
|
-
const globalOpts = this.optsWithGlobals();
|
|
32
|
-
const dbPath = resolveDbPath(globalOpts.db);
|
|
33
|
-
const services = initializeDb(dbPath);
|
|
34
|
-
try {
|
|
35
|
-
runArchive({
|
|
36
|
-
services,
|
|
37
|
-
taskId,
|
|
38
|
-
reason: opts.reason,
|
|
39
|
-
author: opts.author,
|
|
40
|
-
json: globalOpts.json ?? false,
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
catch (e) {
|
|
44
|
-
handleError(e, globalOpts.json);
|
|
45
|
-
}
|
|
46
|
-
finally {
|
|
47
|
-
closeDb(services);
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=archive.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/commands/archive.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,OAAO,EAAiB,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAS3C,MAAM,UAAU,UAAU,CAAC,OAM1B;IACC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAE3D,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE1E,MAAM,MAAM,GAAkB;QAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC;IAEF,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9D,IAAI,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;SAC1B,WAAW,CAAC,gBAAgB,CAAC;SAC7B,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;SAC/B,MAAM,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;SAC7C,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC;SACxC,MAAM,CAAC,UAAyB,MAAc,EAAE,IAAS;QACxD,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAmB,CAAC;QAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,UAAU,CAAC;gBACT,QAAQ;gBACR,MAAM;gBACN,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,KAAK;aAC/B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"archive.test.d.ts","sourceRoot":"","sources":["../../src/commands/archive.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
// packages/hzl-cli/src/commands/archive.test.ts
|
|
2
|
-
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
|
3
|
-
import fs from 'fs';
|
|
4
|
-
import path from 'path';
|
|
5
|
-
import os from 'os';
|
|
6
|
-
import { runArchive } from './archive.js';
|
|
7
|
-
import { initializeDb, closeDb } from '../db.js';
|
|
8
|
-
import { TaskStatus } from 'hzl-core/events/types.js';
|
|
9
|
-
describe('runArchive', () => {
|
|
10
|
-
let tempDir;
|
|
11
|
-
let dbPath;
|
|
12
|
-
let services;
|
|
13
|
-
beforeEach(() => {
|
|
14
|
-
tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'hzl-archive-test-'));
|
|
15
|
-
dbPath = path.join(tempDir, 'test.db');
|
|
16
|
-
services = initializeDb(dbPath);
|
|
17
|
-
});
|
|
18
|
-
afterEach(() => {
|
|
19
|
-
closeDb(services);
|
|
20
|
-
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
21
|
-
});
|
|
22
|
-
it('archives a done task', () => {
|
|
23
|
-
const task = services.taskService.createTask({ title: 'Test', project: 'inbox' });
|
|
24
|
-
services.taskService.setStatus(task.task_id, TaskStatus.Ready);
|
|
25
|
-
services.taskService.claimTask(task.task_id);
|
|
26
|
-
services.taskService.completeTask(task.task_id);
|
|
27
|
-
const result = runArchive({
|
|
28
|
-
services,
|
|
29
|
-
taskId: task.task_id,
|
|
30
|
-
json: false,
|
|
31
|
-
});
|
|
32
|
-
expect(result.status).toBe(TaskStatus.Archived);
|
|
33
|
-
});
|
|
34
|
-
it('accepts a reason', () => {
|
|
35
|
-
const task = services.taskService.createTask({ title: 'Test', project: 'inbox' });
|
|
36
|
-
services.taskService.setStatus(task.task_id, TaskStatus.Ready);
|
|
37
|
-
services.taskService.claimTask(task.task_id);
|
|
38
|
-
services.taskService.completeTask(task.task_id);
|
|
39
|
-
const result = runArchive({
|
|
40
|
-
services,
|
|
41
|
-
taskId: task.task_id,
|
|
42
|
-
reason: 'project cancelled',
|
|
43
|
-
json: false,
|
|
44
|
-
});
|
|
45
|
-
expect(result.status).toBe(TaskStatus.Archived);
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
//# sourceMappingURL=archive.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"archive.test.js","sourceRoot":"","sources":["../../src/commands/archive.test.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,OAAO,EAAiB,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,IAAI,OAAe,CAAC;IACpB,IAAI,MAAc,CAAC;IACnB,IAAI,QAAkB,CAAC;IAEvB,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;QACtE,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACvC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClB,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAClF,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/D,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhD,MAAM,MAAM,GAAG,UAAU,CAAC;YACxB,QAAQ;YACR,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAClF,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/D,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhD,MAAM,MAAM,GAAG,UAAU,CAAC;YACxB,QAAQ;YACR,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,MAAM,EAAE,mBAAmB;YAC3B,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import { type Services } from '../db.js';
|
|
3
|
-
export interface CheckpointResult {
|
|
4
|
-
task_id: string;
|
|
5
|
-
name: string;
|
|
6
|
-
data: Record<string, unknown>;
|
|
7
|
-
}
|
|
8
|
-
export declare function runCheckpoint(options: {
|
|
9
|
-
services: Services;
|
|
10
|
-
taskId: string;
|
|
11
|
-
name: string;
|
|
12
|
-
data?: Record<string, unknown>;
|
|
13
|
-
author?: string;
|
|
14
|
-
json: boolean;
|
|
15
|
-
}): CheckpointResult;
|
|
16
|
-
export declare function createCheckpointCommand(): Command;
|
|
17
|
-
//# sourceMappingURL=checkpoint.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/commands/checkpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAyB,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIhE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE;IACrC,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACf,GAAG,gBAAgB,CAuBnB;AAED,wBAAgB,uBAAuB,IAAI,OAAO,CAkCjD"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
// packages/hzl-cli/src/commands/checkpoint.ts
|
|
2
|
-
import { Command } from 'commander';
|
|
3
|
-
import { resolveDbPath } from '../config.js';
|
|
4
|
-
import { initializeDb, closeDb } from '../db.js';
|
|
5
|
-
import { handleError, CLIError, ExitCode } from '../errors.js';
|
|
6
|
-
export function runCheckpoint(options) {
|
|
7
|
-
const { services, taskId, name, data, author, json } = options;
|
|
8
|
-
const task = services.taskService.getTaskById(taskId);
|
|
9
|
-
if (!task) {
|
|
10
|
-
throw new CLIError(`Task not found: ${taskId}`, ExitCode.NotFound);
|
|
11
|
-
}
|
|
12
|
-
services.taskService.addCheckpoint(taskId, name, data, { author });
|
|
13
|
-
const result = {
|
|
14
|
-
task_id: taskId,
|
|
15
|
-
name,
|
|
16
|
-
data: data ?? {},
|
|
17
|
-
};
|
|
18
|
-
if (json) {
|
|
19
|
-
console.log(JSON.stringify(result));
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
console.log(`✓ Added checkpoint "${name}" to task ${taskId}`);
|
|
23
|
-
}
|
|
24
|
-
return result;
|
|
25
|
-
}
|
|
26
|
-
export function createCheckpointCommand() {
|
|
27
|
-
return new Command('checkpoint')
|
|
28
|
-
.description('Record a checkpoint for a task')
|
|
29
|
-
.argument('<taskId>', 'Task ID')
|
|
30
|
-
.argument('<name>', 'Checkpoint name')
|
|
31
|
-
.option('--data <json>', 'Checkpoint data as JSON')
|
|
32
|
-
.option('--author <name>', 'Author name')
|
|
33
|
-
.action(function (taskId, name, opts) {
|
|
34
|
-
const globalOpts = this.optsWithGlobals();
|
|
35
|
-
const dbPath = resolveDbPath(globalOpts.db);
|
|
36
|
-
const services = initializeDb(dbPath);
|
|
37
|
-
try {
|
|
38
|
-
let data;
|
|
39
|
-
if (opts.data) {
|
|
40
|
-
try {
|
|
41
|
-
data = JSON.parse(opts.data);
|
|
42
|
-
}
|
|
43
|
-
catch {
|
|
44
|
-
throw new CLIError('Invalid JSON for --data', ExitCode.InvalidInput);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
runCheckpoint({
|
|
48
|
-
services,
|
|
49
|
-
taskId,
|
|
50
|
-
name,
|
|
51
|
-
data,
|
|
52
|
-
author: opts.author,
|
|
53
|
-
json: globalOpts.json ?? false,
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
catch (e) {
|
|
57
|
-
handleError(e, globalOpts.json);
|
|
58
|
-
}
|
|
59
|
-
finally {
|
|
60
|
-
closeDb(services);
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=checkpoint.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../src/commands/checkpoint.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,OAAO,EAAiB,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAS/D,MAAM,UAAU,aAAa,CAAC,OAO7B;IACC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAE/D,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACtD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,QAAQ,CAAC,mBAAmB,MAAM,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrE,CAAC;IAED,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAEnE,MAAM,MAAM,GAAqB;QAC/B,OAAO,EAAE,MAAM;QACf,IAAI;QACJ,IAAI,EAAE,IAAI,IAAI,EAAE;KACjB,CAAC;IAEF,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,aAAa,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;SAC7B,WAAW,CAAC,gCAAgC,CAAC;SAC7C,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;SAC/B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;SACrC,MAAM,CAAC,eAAe,EAAE,yBAAyB,CAAC;SAClD,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC;SACxC,MAAM,CAAC,UAAyB,MAAc,EAAE,IAAY,EAAE,IAAS;QACtE,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAmB,CAAC;QAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,IAAI,IAAyC,CAAC;YAC9C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,IAAI,CAAC;oBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,IAAI,QAAQ,CAAC,yBAAyB,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;YACD,aAAa,CAAC;gBACZ,QAAQ;gBACR,MAAM;gBACN,IAAI;gBACJ,IAAI;gBACJ,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,KAAK;aAC/B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint.test.d.ts","sourceRoot":"","sources":["../../src/commands/checkpoint.test.ts"],"names":[],"mappings":""}
|