@shardworks/nexus 0.1.60 → 0.1.62
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/program.d.ts.map +1 -1
- package/dist/program.js +0 -12
- package/dist/program.js.map +1 -1
- package/package.json +4 -4
- package/dist/commands/job.d.ts +0 -2
- package/dist/commands/job.d.ts.map +0 -1
- package/dist/commands/job.js +0 -115
- package/dist/commands/job.js.map +0 -1
- package/dist/commands/piece.d.ts +0 -2
- package/dist/commands/piece.d.ts.map +0 -1
- package/dist/commands/piece.js +0 -110
- package/dist/commands/piece.js.map +0 -1
- package/dist/commands/stroke.d.ts +0 -2
- package/dist/commands/stroke.d.ts.map +0 -1
- package/dist/commands/stroke.js +0 -85
- package/dist/commands/stroke.js.map +0 -1
- package/dist/commands/work.d.ts +0 -2
- package/dist/commands/work.d.ts.map +0 -1
- package/dist/commands/work.js +0 -107
- package/dist/commands/work.js.map +0 -1
package/dist/program.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAwBA,eAAO,MAAM,OAAO,6BAGkE,CAAC"}
|
package/dist/program.js
CHANGED
|
@@ -11,10 +11,6 @@ import { makeSignalCommand } from "./commands/signal.js";
|
|
|
11
11
|
import { makeClockCommand } from "./commands/clock.js";
|
|
12
12
|
import { makeWorkshopCommand } from "./commands/workshop.js";
|
|
13
13
|
import { makeAnimaCommand } from "./commands/anima.js";
|
|
14
|
-
import { makeWorkCommand } from "./commands/work.js";
|
|
15
|
-
import { makePieceCommand } from "./commands/piece.js";
|
|
16
|
-
import { makeJobCommand } from "./commands/job.js";
|
|
17
|
-
import { makeStrokeCommand } from "./commands/stroke.js";
|
|
18
14
|
import { makeSessionCommand } from "./commands/session.js";
|
|
19
15
|
import { makeEventCommand } from "./commands/event.js";
|
|
20
16
|
import { makeDispatchCommand } from "./commands/dispatch.js";
|
|
@@ -49,14 +45,6 @@ program.addCommand(makeAnimaCommand());
|
|
|
49
45
|
program.addCommand(makeCommissionCommand());
|
|
50
46
|
// nsg clock [list|tick|run|start|stop|status]
|
|
51
47
|
program.addCommand(makeClockCommand());
|
|
52
|
-
// nsg work [create|list|show|update]
|
|
53
|
-
program.addCommand(makeWorkCommand());
|
|
54
|
-
// nsg piece [create|list|show|update]
|
|
55
|
-
program.addCommand(makePieceCommand());
|
|
56
|
-
// nsg job [create|list|show|update]
|
|
57
|
-
program.addCommand(makeJobCommand());
|
|
58
|
-
// nsg stroke [create|list|show|update]
|
|
59
|
-
program.addCommand(makeStrokeCommand());
|
|
60
48
|
// nsg session [list|show]
|
|
61
49
|
program.addCommand(makeSessionCommand());
|
|
62
50
|
// nsg event [list|show]
|
package/dist/program.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shardworks/nexus",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.62",
|
|
4
4
|
"license": "ISC",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
"@shardworks/guild-monitor": "0.1.4",
|
|
28
28
|
"better-sqlite3": "12.8.0",
|
|
29
29
|
"commander": "14.0.3",
|
|
30
|
-
"@shardworks/claude-code-session-provider": "0.1.
|
|
31
|
-
"@shardworks/nexus-
|
|
32
|
-
"@shardworks/nexus-
|
|
30
|
+
"@shardworks/claude-code-session-provider": "0.1.62",
|
|
31
|
+
"@shardworks/nexus-core": "0.1.62",
|
|
32
|
+
"@shardworks/nexus-stdlib": "0.1.62"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@commander-js/extra-typings": "14.0.0",
|
package/dist/commands/job.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../src/commands/job.ts"],"names":[],"mappings":"AAIA,wBAAgB,cAAc,gCA8G7B"}
|
package/dist/commands/job.js
DELETED
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { createCommand } from 'commander';
|
|
2
|
-
import { createJob, listJobs, showJob, updateJob, checkJobCompletion } from '@shardworks/nexus-core';
|
|
3
|
-
import { resolveHome } from "../resolve-home.js";
|
|
4
|
-
export function makeJobCommand() {
|
|
5
|
-
const job = createCommand('job')
|
|
6
|
-
.description('Manage jobs (assignable units of work)');
|
|
7
|
-
job.addCommand(createCommand('create')
|
|
8
|
-
.description('Create a new job')
|
|
9
|
-
.argument('<title>', 'Job title')
|
|
10
|
-
.option('--description <desc>', 'Job description')
|
|
11
|
-
.option('--piece <id>', 'Parent piece ID')
|
|
12
|
-
.option('--assignee <name>', 'Anima name to assign')
|
|
13
|
-
.action((title, options, cmd) => {
|
|
14
|
-
const home = resolveHome(cmd);
|
|
15
|
-
try {
|
|
16
|
-
const result = createJob(home, { title, description: options.description, pieceId: options.piece, assignee: options.assignee });
|
|
17
|
-
console.log(`Job ${result.id} created: ${result.title}`);
|
|
18
|
-
if (result.assignee)
|
|
19
|
-
console.log(` Assigned to: ${result.assignee}`);
|
|
20
|
-
}
|
|
21
|
-
catch (err) {
|
|
22
|
-
console.error(`Error: ${err.message}`);
|
|
23
|
-
process.exitCode = 1;
|
|
24
|
-
}
|
|
25
|
-
}));
|
|
26
|
-
job.addCommand(createCommand('list')
|
|
27
|
-
.description('List jobs')
|
|
28
|
-
.option('--status <status>', 'Filter by status')
|
|
29
|
-
.option('--piece <id>', 'Filter by parent piece ID')
|
|
30
|
-
.option('--assignee <name>', 'Filter by assigned anima')
|
|
31
|
-
.action((options, cmd) => {
|
|
32
|
-
const home = resolveHome(cmd);
|
|
33
|
-
try {
|
|
34
|
-
const items = listJobs(home, { status: options.status, pieceId: options.piece, assignee: options.assignee });
|
|
35
|
-
if (items.length === 0) {
|
|
36
|
-
console.log('No jobs found.');
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
for (const j of items) {
|
|
40
|
-
const assignLabel = j.assignee ? ` → ${j.assignee}` : '';
|
|
41
|
-
console.log(` ${j.id} [${j.status}] ${j.title}${assignLabel}`);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
catch (err) {
|
|
45
|
-
console.error(`Error: ${err.message}`);
|
|
46
|
-
process.exitCode = 1;
|
|
47
|
-
}
|
|
48
|
-
}));
|
|
49
|
-
job.addCommand(createCommand('show')
|
|
50
|
-
.description('Show details of a job')
|
|
51
|
-
.argument('<id>', 'Job ID')
|
|
52
|
-
.action((id, _, cmd) => {
|
|
53
|
-
const home = resolveHome(cmd);
|
|
54
|
-
try {
|
|
55
|
-
const result = showJob(home, id);
|
|
56
|
-
if (!result) {
|
|
57
|
-
console.error(`Job "${id}" not found.`);
|
|
58
|
-
process.exitCode = 1;
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
console.log(`${result.id} [${result.status}] ${result.title}`);
|
|
62
|
-
if (result.description)
|
|
63
|
-
console.log(` ${result.description}`);
|
|
64
|
-
if (result.pieceId)
|
|
65
|
-
console.log(` Piece: ${result.pieceId}`);
|
|
66
|
-
if (result.assignee)
|
|
67
|
-
console.log(` Assignee: ${result.assignee}`);
|
|
68
|
-
console.log(` Created: ${result.createdAt} Updated: ${result.updatedAt}`);
|
|
69
|
-
}
|
|
70
|
-
catch (err) {
|
|
71
|
-
console.error(`Error: ${err.message}`);
|
|
72
|
-
process.exitCode = 1;
|
|
73
|
-
}
|
|
74
|
-
}));
|
|
75
|
-
job.addCommand(createCommand('update')
|
|
76
|
-
.description('Update a job')
|
|
77
|
-
.argument('<id>', 'Job ID')
|
|
78
|
-
.option('--title <title>', 'New title')
|
|
79
|
-
.option('--description <desc>', 'New description')
|
|
80
|
-
.option('--status <status>', 'New status')
|
|
81
|
-
.option('--assignee <name>', 'Assign to anima')
|
|
82
|
-
.action((id, options, cmd) => {
|
|
83
|
-
const home = resolveHome(cmd);
|
|
84
|
-
try {
|
|
85
|
-
const result = updateJob(home, id, options);
|
|
86
|
-
console.log(`Job ${result.id} updated [${result.status}]: ${result.title}`);
|
|
87
|
-
}
|
|
88
|
-
catch (err) {
|
|
89
|
-
console.error(`Error: ${err.message}`);
|
|
90
|
-
process.exitCode = 1;
|
|
91
|
-
}
|
|
92
|
-
}));
|
|
93
|
-
// nsg job check <id>
|
|
94
|
-
job.addCommand(createCommand('check')
|
|
95
|
-
.description('Check stroke completion for a job')
|
|
96
|
-
.argument('<id>', 'Job ID')
|
|
97
|
-
.action((id, _, cmd) => {
|
|
98
|
-
const home = resolveHome(cmd);
|
|
99
|
-
try {
|
|
100
|
-
const check = checkJobCompletion(home, id);
|
|
101
|
-
console.log(`Job ${id} — stroke completion:`);
|
|
102
|
-
console.log(` Total: ${check.total}`);
|
|
103
|
-
console.log(` Done: ${check.done}`);
|
|
104
|
-
console.log(` Pending: ${check.pending}`);
|
|
105
|
-
console.log(` Failed: ${check.failed}`);
|
|
106
|
-
console.log(` Complete: ${check.complete ? 'yes' : 'no'}`);
|
|
107
|
-
}
|
|
108
|
-
catch (err) {
|
|
109
|
-
console.error(`Error: ${err.message}`);
|
|
110
|
-
process.exitCode = 1;
|
|
111
|
-
}
|
|
112
|
-
}));
|
|
113
|
-
return job;
|
|
114
|
-
}
|
|
115
|
-
//# sourceMappingURL=job.js.map
|
package/dist/commands/job.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"job.js","sourceRoot":"","sources":["../../src/commands/job.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/piece.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"piece.d.ts","sourceRoot":"","sources":["../../src/commands/piece.ts"],"names":[],"mappings":"AAIA,wBAAgB,gBAAgB,gCA2G/B"}
|
package/dist/commands/piece.js
DELETED
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { createCommand } from 'commander';
|
|
2
|
-
import { createPiece, listPieces, showPiece, updatePiece, checkPieceCompletion } from '@shardworks/nexus-core';
|
|
3
|
-
import { resolveHome } from "../resolve-home.js";
|
|
4
|
-
export function makePieceCommand() {
|
|
5
|
-
const piece = createCommand('piece')
|
|
6
|
-
.description('Manage pieces (subdivisions of work)');
|
|
7
|
-
piece.addCommand(createCommand('create')
|
|
8
|
-
.description('Create a new piece')
|
|
9
|
-
.argument('<title>', 'Piece title')
|
|
10
|
-
.option('--description <desc>', 'Piece description')
|
|
11
|
-
.option('--work <id>', 'Parent work ID')
|
|
12
|
-
.action((title, options, cmd) => {
|
|
13
|
-
const home = resolveHome(cmd);
|
|
14
|
-
try {
|
|
15
|
-
const result = createPiece(home, { title, description: options.description, workId: options.work });
|
|
16
|
-
console.log(`Piece ${result.id} created: ${result.title}`);
|
|
17
|
-
}
|
|
18
|
-
catch (err) {
|
|
19
|
-
console.error(`Error: ${err.message}`);
|
|
20
|
-
process.exitCode = 1;
|
|
21
|
-
}
|
|
22
|
-
}));
|
|
23
|
-
piece.addCommand(createCommand('list')
|
|
24
|
-
.description('List pieces')
|
|
25
|
-
.option('--status <status>', 'Filter by status')
|
|
26
|
-
.option('--work <id>', 'Filter by parent work ID')
|
|
27
|
-
.action((options, cmd) => {
|
|
28
|
-
const home = resolveHome(cmd);
|
|
29
|
-
try {
|
|
30
|
-
const items = listPieces(home, { status: options.status, workId: options.work });
|
|
31
|
-
if (items.length === 0) {
|
|
32
|
-
console.log('No pieces found.');
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
for (const p of items) {
|
|
36
|
-
console.log(` ${p.id} [${p.status}] ${p.title}`);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
catch (err) {
|
|
40
|
-
console.error(`Error: ${err.message}`);
|
|
41
|
-
process.exitCode = 1;
|
|
42
|
-
}
|
|
43
|
-
}));
|
|
44
|
-
piece.addCommand(createCommand('show')
|
|
45
|
-
.description('Show details of a piece')
|
|
46
|
-
.argument('<id>', 'Piece ID')
|
|
47
|
-
.action((id, _, cmd) => {
|
|
48
|
-
const home = resolveHome(cmd);
|
|
49
|
-
try {
|
|
50
|
-
const result = showPiece(home, id);
|
|
51
|
-
if (!result) {
|
|
52
|
-
console.error(`Piece "${id}" not found.`);
|
|
53
|
-
process.exitCode = 1;
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
console.log(`${result.id} [${result.status}] ${result.title}`);
|
|
57
|
-
if (result.description)
|
|
58
|
-
console.log(` ${result.description}`);
|
|
59
|
-
if (result.workId)
|
|
60
|
-
console.log(` Work: ${result.workId}`);
|
|
61
|
-
console.log(` Created: ${result.createdAt} Updated: ${result.updatedAt}`);
|
|
62
|
-
}
|
|
63
|
-
catch (err) {
|
|
64
|
-
console.error(`Error: ${err.message}`);
|
|
65
|
-
process.exitCode = 1;
|
|
66
|
-
}
|
|
67
|
-
}));
|
|
68
|
-
piece.addCommand(createCommand('update')
|
|
69
|
-
.description('Update a piece')
|
|
70
|
-
.argument('<id>', 'Piece ID')
|
|
71
|
-
.option('--title <title>', 'New title')
|
|
72
|
-
.option('--description <desc>', 'New description')
|
|
73
|
-
.option('--status <status>', 'New status')
|
|
74
|
-
.action((id, options, cmd) => {
|
|
75
|
-
const home = resolveHome(cmd);
|
|
76
|
-
try {
|
|
77
|
-
const result = updatePiece(home, id, options);
|
|
78
|
-
console.log(`Piece ${result.id} updated [${result.status}]: ${result.title}`);
|
|
79
|
-
}
|
|
80
|
-
catch (err) {
|
|
81
|
-
console.error(`Error: ${err.message}`);
|
|
82
|
-
process.exitCode = 1;
|
|
83
|
-
}
|
|
84
|
-
}));
|
|
85
|
-
// nsg piece check <id>
|
|
86
|
-
piece.addCommand(createCommand('check')
|
|
87
|
-
.description('Check job completion for a piece')
|
|
88
|
-
.argument('<id>', 'Piece ID')
|
|
89
|
-
.action((id, _, cmd) => {
|
|
90
|
-
const home = resolveHome(cmd);
|
|
91
|
-
try {
|
|
92
|
-
const check = checkPieceCompletion(home, id);
|
|
93
|
-
console.log(`Piece ${id} — job completion:`);
|
|
94
|
-
console.log(` Total: ${check.total}`);
|
|
95
|
-
console.log(` Done: ${check.done}`);
|
|
96
|
-
console.log(` Pending: ${check.pending}`);
|
|
97
|
-
console.log(` Failed: ${check.failed}`);
|
|
98
|
-
console.log(` Complete: ${check.complete ? 'yes' : 'no'}`);
|
|
99
|
-
if (check.failed > 0) {
|
|
100
|
-
console.log(` Note: piece has failed jobs — stays active until manually resolved.`);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
catch (err) {
|
|
104
|
-
console.error(`Error: ${err.message}`);
|
|
105
|
-
process.exitCode = 1;
|
|
106
|
-
}
|
|
107
|
-
}));
|
|
108
|
-
return piece;
|
|
109
|
-
}
|
|
110
|
-
//# sourceMappingURL=piece.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"piece.js","sourceRoot":"","sources":["../../src/commands/piece.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stroke.d.ts","sourceRoot":"","sources":["../../src/commands/stroke.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,gCAiFhC"}
|
package/dist/commands/stroke.js
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { createCommand } from 'commander';
|
|
2
|
-
import { createStroke, listStrokes, showStroke, updateStroke } from '@shardworks/nexus-core';
|
|
3
|
-
import { resolveHome } from "../resolve-home.js";
|
|
4
|
-
export function makeStrokeCommand() {
|
|
5
|
-
const stroke = createCommand('stroke')
|
|
6
|
-
.description('Manage strokes (atomic records of work)');
|
|
7
|
-
stroke.addCommand(createCommand('create')
|
|
8
|
-
.description('Record a new stroke against a job')
|
|
9
|
-
.argument('<kind>', 'Stroke kind (e.g. commit, review, test, deploy)')
|
|
10
|
-
.requiredOption('--job <id>', 'Parent job ID')
|
|
11
|
-
.option('--content <content>', 'Stroke content or description')
|
|
12
|
-
.action((kind, options, cmd) => {
|
|
13
|
-
const home = resolveHome(cmd);
|
|
14
|
-
try {
|
|
15
|
-
const result = createStroke(home, { jobId: options.job, kind, content: options.content });
|
|
16
|
-
console.log(`Stroke ${result.id} recorded: ${result.kind}`);
|
|
17
|
-
}
|
|
18
|
-
catch (err) {
|
|
19
|
-
console.error(`Error: ${err.message}`);
|
|
20
|
-
process.exitCode = 1;
|
|
21
|
-
}
|
|
22
|
-
}));
|
|
23
|
-
stroke.addCommand(createCommand('list')
|
|
24
|
-
.description('List strokes')
|
|
25
|
-
.option('--job <id>', 'Filter by parent job ID')
|
|
26
|
-
.option('--status <status>', 'Filter by status (pending, complete, failed)')
|
|
27
|
-
.action((options, cmd) => {
|
|
28
|
-
const home = resolveHome(cmd);
|
|
29
|
-
try {
|
|
30
|
-
const items = listStrokes(home, { jobId: options.job, status: options.status });
|
|
31
|
-
if (items.length === 0) {
|
|
32
|
-
console.log('No strokes found.');
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
for (const s of items) {
|
|
36
|
-
console.log(` ${s.id} [${s.status}] ${s.kind}`);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
catch (err) {
|
|
40
|
-
console.error(`Error: ${err.message}`);
|
|
41
|
-
process.exitCode = 1;
|
|
42
|
-
}
|
|
43
|
-
}));
|
|
44
|
-
stroke.addCommand(createCommand('show')
|
|
45
|
-
.description('Show details of a stroke')
|
|
46
|
-
.argument('<id>', 'Stroke ID')
|
|
47
|
-
.action((id, _, cmd) => {
|
|
48
|
-
const home = resolveHome(cmd);
|
|
49
|
-
try {
|
|
50
|
-
const result = showStroke(home, id);
|
|
51
|
-
if (!result) {
|
|
52
|
-
console.error(`Stroke "${id}" not found.`);
|
|
53
|
-
process.exitCode = 1;
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
console.log(`${result.id} [${result.status}] ${result.kind}`);
|
|
57
|
-
if (result.content)
|
|
58
|
-
console.log(` ${result.content}`);
|
|
59
|
-
console.log(` Job: ${result.jobId}`);
|
|
60
|
-
console.log(` Created: ${result.createdAt} Updated: ${result.updatedAt}`);
|
|
61
|
-
}
|
|
62
|
-
catch (err) {
|
|
63
|
-
console.error(`Error: ${err.message}`);
|
|
64
|
-
process.exitCode = 1;
|
|
65
|
-
}
|
|
66
|
-
}));
|
|
67
|
-
stroke.addCommand(createCommand('update')
|
|
68
|
-
.description('Update a stroke')
|
|
69
|
-
.argument('<id>', 'Stroke ID')
|
|
70
|
-
.option('--status <status>', 'New status (pending, complete, failed)')
|
|
71
|
-
.option('--content <content>', 'Updated content')
|
|
72
|
-
.action((id, options, cmd) => {
|
|
73
|
-
const home = resolveHome(cmd);
|
|
74
|
-
try {
|
|
75
|
-
const result = updateStroke(home, id, options);
|
|
76
|
-
console.log(`Stroke ${result.id} updated [${result.status}]: ${result.kind}`);
|
|
77
|
-
}
|
|
78
|
-
catch (err) {
|
|
79
|
-
console.error(`Error: ${err.message}`);
|
|
80
|
-
process.exitCode = 1;
|
|
81
|
-
}
|
|
82
|
-
}));
|
|
83
|
-
return stroke;
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=stroke.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stroke.js","sourceRoot":"","sources":["../../src/commands/stroke.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/work.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"work.d.ts","sourceRoot":"","sources":["../../src/commands/work.ts"],"names":[],"mappings":"AAIA,wBAAgB,eAAe,gCAwG9B"}
|
package/dist/commands/work.js
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { createCommand } from 'commander';
|
|
2
|
-
import { createWork, listWorks, showWork, updateWork, checkWorkCompletion } from '@shardworks/nexus-core';
|
|
3
|
-
import { resolveHome } from "../resolve-home.js";
|
|
4
|
-
export function makeWorkCommand() {
|
|
5
|
-
const work = createCommand('work')
|
|
6
|
-
.description('Manage work items (top-level work decomposition)');
|
|
7
|
-
work.addCommand(createCommand('create')
|
|
8
|
-
.description('Create a new work item')
|
|
9
|
-
.argument('<title>', 'Work title')
|
|
10
|
-
.option('--description <desc>', 'Work description')
|
|
11
|
-
.option('--commission <id>', 'Parent commission ID')
|
|
12
|
-
.action((title, options, cmd) => {
|
|
13
|
-
const home = resolveHome(cmd);
|
|
14
|
-
try {
|
|
15
|
-
const result = createWork(home, { title, description: options.description, commissionId: options.commission });
|
|
16
|
-
console.log(`Work ${result.id} created: ${result.title}`);
|
|
17
|
-
}
|
|
18
|
-
catch (err) {
|
|
19
|
-
console.error(`Error: ${err.message}`);
|
|
20
|
-
process.exitCode = 1;
|
|
21
|
-
}
|
|
22
|
-
}));
|
|
23
|
-
work.addCommand(createCommand('list')
|
|
24
|
-
.description('List work items')
|
|
25
|
-
.option('--status <status>', 'Filter by status (open, active, completed, cancelled)')
|
|
26
|
-
.option('--commission <id>', 'Filter by commission ID')
|
|
27
|
-
.action((options, cmd) => {
|
|
28
|
-
const home = resolveHome(cmd);
|
|
29
|
-
try {
|
|
30
|
-
const items = listWorks(home, { status: options.status, commissionId: options.commission });
|
|
31
|
-
if (items.length === 0) {
|
|
32
|
-
console.log('No work items found.');
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
for (const w of items) {
|
|
36
|
-
console.log(` ${w.id} [${w.status}] ${w.title}`);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
catch (err) {
|
|
40
|
-
console.error(`Error: ${err.message}`);
|
|
41
|
-
process.exitCode = 1;
|
|
42
|
-
}
|
|
43
|
-
}));
|
|
44
|
-
work.addCommand(createCommand('show')
|
|
45
|
-
.description('Show details of a work item')
|
|
46
|
-
.argument('<id>', 'Work ID')
|
|
47
|
-
.action((id, _, cmd) => {
|
|
48
|
-
const home = resolveHome(cmd);
|
|
49
|
-
try {
|
|
50
|
-
const result = showWork(home, id);
|
|
51
|
-
if (!result) {
|
|
52
|
-
console.error(`Work "${id}" not found.`);
|
|
53
|
-
process.exitCode = 1;
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
console.log(`${result.id} [${result.status}] ${result.title}`);
|
|
57
|
-
if (result.description)
|
|
58
|
-
console.log(` ${result.description}`);
|
|
59
|
-
if (result.commissionId)
|
|
60
|
-
console.log(` Commission: ${result.commissionId}`);
|
|
61
|
-
console.log(` Created: ${result.createdAt} Updated: ${result.updatedAt}`);
|
|
62
|
-
}
|
|
63
|
-
catch (err) {
|
|
64
|
-
console.error(`Error: ${err.message}`);
|
|
65
|
-
process.exitCode = 1;
|
|
66
|
-
}
|
|
67
|
-
}));
|
|
68
|
-
work.addCommand(createCommand('update')
|
|
69
|
-
.description('Update a work item')
|
|
70
|
-
.argument('<id>', 'Work ID')
|
|
71
|
-
.option('--title <title>', 'New title')
|
|
72
|
-
.option('--description <desc>', 'New description')
|
|
73
|
-
.option('--status <status>', 'New status (open, active, completed, cancelled)')
|
|
74
|
-
.action((id, options, cmd) => {
|
|
75
|
-
const home = resolveHome(cmd);
|
|
76
|
-
try {
|
|
77
|
-
const result = updateWork(home, id, options);
|
|
78
|
-
console.log(`Work ${result.id} updated [${result.status}]: ${result.title}`);
|
|
79
|
-
}
|
|
80
|
-
catch (err) {
|
|
81
|
-
console.error(`Error: ${err.message}`);
|
|
82
|
-
process.exitCode = 1;
|
|
83
|
-
}
|
|
84
|
-
}));
|
|
85
|
-
// nsg work check <id>
|
|
86
|
-
work.addCommand(createCommand('check')
|
|
87
|
-
.description('Check piece completion for a work item')
|
|
88
|
-
.argument('<id>', 'Work ID')
|
|
89
|
-
.action((id, _, cmd) => {
|
|
90
|
-
const home = resolveHome(cmd);
|
|
91
|
-
try {
|
|
92
|
-
const check = checkWorkCompletion(home, id);
|
|
93
|
-
console.log(`Work ${id} — piece completion:`);
|
|
94
|
-
console.log(` Total: ${check.total}`);
|
|
95
|
-
console.log(` Done: ${check.done}`);
|
|
96
|
-
console.log(` Pending: ${check.pending}`);
|
|
97
|
-
console.log(` Failed: ${check.failed}`);
|
|
98
|
-
console.log(` Complete: ${check.complete ? 'yes' : 'no'}`);
|
|
99
|
-
}
|
|
100
|
-
catch (err) {
|
|
101
|
-
console.error(`Error: ${err.message}`);
|
|
102
|
-
process.exitCode = 1;
|
|
103
|
-
}
|
|
104
|
-
}));
|
|
105
|
-
return work;
|
|
106
|
-
}
|
|
107
|
-
//# sourceMappingURL=work.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"work.js","sourceRoot":"","sources":["../../src/commands/work.ts"],"names":[],"mappings":"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"}
|