@shardworks/nexus 0.1.100 → 0.1.102
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 +208 -0
- package/dist/cli.d.ts +4 -8
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +4 -8
- package/dist/cli.js.map +1 -1
- package/dist/commands/index.d.ts +14 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +27 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/init.d.ts +19 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +90 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/plugin.d.ts +28 -0
- package/dist/commands/plugin.d.ts.map +1 -0
- package/dist/commands/plugin.js +174 -0
- package/dist/commands/plugin.js.map +1 -0
- package/dist/commands/status.d.ts +16 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +54 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/test-helpers.d.ts +18 -0
- package/dist/commands/test-helpers.d.ts.map +1 -0
- package/dist/commands/test-helpers.js +56 -0
- package/dist/commands/test-helpers.js.map +1 -0
- package/dist/commands/upgrade.d.ts +13 -0
- package/dist/commands/upgrade.d.ts.map +1 -0
- package/dist/commands/upgrade.js +21 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/commands/version.d.ts +15 -0
- package/dist/commands/version.d.ts.map +1 -0
- package/dist/commands/version.js +52 -0
- package/dist/commands/version.js.map +1 -0
- package/dist/helpers.d.ts +27 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/helpers.js +48 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/program.d.ts +11 -26
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +45 -92
- package/dist/program.js.map +1 -1
- package/package.json +9 -20
- package/dist/v1/cli.d.ts +0 -3
- package/dist/v1/cli.d.ts.map +0 -1
- package/dist/v1/cli.js +0 -4
- package/dist/v1/cli.js.map +0 -1
- package/dist/v1/commands/anima.d.ts +0 -2
- package/dist/v1/commands/anima.d.ts.map +0 -1
- package/dist/v1/commands/anima.js +0 -176
- package/dist/v1/commands/anima.js.map +0 -1
- package/dist/v1/commands/audit.d.ts +0 -2
- package/dist/v1/commands/audit.d.ts.map +0 -1
- package/dist/v1/commands/audit.js +0 -42
- package/dist/v1/commands/audit.js.map +0 -1
- package/dist/v1/commands/clock.d.ts +0 -2
- package/dist/v1/commands/clock.d.ts.map +0 -1
- package/dist/v1/commands/clock.js +0 -185
- package/dist/v1/commands/clock.js.map +0 -1
- package/dist/v1/commands/consult.d.ts +0 -9
- package/dist/v1/commands/consult.d.ts.map +0 -1
- package/dist/v1/commands/consult.js +0 -105
- package/dist/v1/commands/consult.js.map +0 -1
- package/dist/v1/commands/convene.d.ts +0 -2
- package/dist/v1/commands/convene.d.ts.map +0 -1
- package/dist/v1/commands/convene.js +0 -78
- package/dist/v1/commands/convene.js.map +0 -1
- package/dist/v1/commands/conversation.d.ts +0 -2
- package/dist/v1/commands/conversation.d.ts.map +0 -1
- package/dist/v1/commands/conversation.js +0 -140
- package/dist/v1/commands/conversation.js.map +0 -1
- package/dist/v1/commands/dashboard.d.ts +0 -2
- package/dist/v1/commands/dashboard.d.ts.map +0 -1
- package/dist/v1/commands/dashboard.js +0 -36
- package/dist/v1/commands/dashboard.js.map +0 -1
- package/dist/v1/commands/dispatch.d.ts +0 -2
- package/dist/v1/commands/dispatch.d.ts.map +0 -1
- package/dist/v1/commands/dispatch.js +0 -41
- package/dist/v1/commands/dispatch.js.map +0 -1
- package/dist/v1/commands/event.d.ts +0 -2
- package/dist/v1/commands/event.d.ts.map +0 -1
- package/dist/v1/commands/event.js +0 -65
- package/dist/v1/commands/event.js.map +0 -1
- package/dist/v1/commands/init.d.ts +0 -2
- package/dist/v1/commands/init.d.ts.map +0 -1
- package/dist/v1/commands/init.js +0 -98
- package/dist/v1/commands/init.js.map +0 -1
- package/dist/v1/commands/install-tool.d.ts +0 -2
- package/dist/v1/commands/install-tool.d.ts.map +0 -1
- package/dist/v1/commands/install-tool.js +0 -74
- package/dist/v1/commands/install-tool.js.map +0 -1
- package/dist/v1/commands/rehydrate.d.ts +0 -2
- package/dist/v1/commands/rehydrate.d.ts.map +0 -1
- package/dist/v1/commands/rehydrate.js +0 -43
- package/dist/v1/commands/rehydrate.js.map +0 -1
- package/dist/v1/commands/remove-tool.d.ts +0 -2
- package/dist/v1/commands/remove-tool.d.ts.map +0 -1
- package/dist/v1/commands/remove-tool.js +0 -25
- package/dist/v1/commands/remove-tool.js.map +0 -1
- package/dist/v1/commands/session.d.ts +0 -2
- package/dist/v1/commands/session.d.ts.map +0 -1
- package/dist/v1/commands/session.js +0 -93
- package/dist/v1/commands/session.js.map +0 -1
- package/dist/v1/commands/signal.d.ts +0 -2
- package/dist/v1/commands/signal.d.ts.map +0 -1
- package/dist/v1/commands/signal.js +0 -36
- package/dist/v1/commands/signal.js.map +0 -1
- package/dist/v1/commands/status.d.ts +0 -2
- package/dist/v1/commands/status.d.ts.map +0 -1
- package/dist/v1/commands/status.js +0 -111
- package/dist/v1/commands/status.js.map +0 -1
- package/dist/v1/commands/tool.d.ts +0 -2
- package/dist/v1/commands/tool.d.ts.map +0 -1
- package/dist/v1/commands/tool.js +0 -47
- package/dist/v1/commands/tool.js.map +0 -1
- package/dist/v1/commands/upgrade-books.d.ts +0 -2
- package/dist/v1/commands/upgrade-books.d.ts.map +0 -1
- package/dist/v1/commands/upgrade-books.js +0 -33
- package/dist/v1/commands/upgrade-books.js.map +0 -1
- package/dist/v1/commands/upgrade.d.ts +0 -2
- package/dist/v1/commands/upgrade.d.ts.map +0 -1
- package/dist/v1/commands/upgrade.js +0 -222
- package/dist/v1/commands/upgrade.js.map +0 -1
- package/dist/v1/commands/version.d.ts +0 -2
- package/dist/v1/commands/version.d.ts.map +0 -1
- package/dist/v1/commands/version.js +0 -80
- package/dist/v1/commands/version.js.map +0 -1
- package/dist/v1/commands/workshop.d.ts +0 -2
- package/dist/v1/commands/workshop.d.ts.map +0 -1
- package/dist/v1/commands/workshop.js +0 -128
- package/dist/v1/commands/workshop.js.map +0 -1
- package/dist/v1/commands/writ.d.ts +0 -2
- package/dist/v1/commands/writ.d.ts.map +0 -1
- package/dist/v1/commands/writ.js +0 -202
- package/dist/v1/commands/writ.js.map +0 -1
- package/dist/v1/index.d.ts +0 -2
- package/dist/v1/index.d.ts.map +0 -1
- package/dist/v1/index.js +0 -2
- package/dist/v1/index.js.map +0 -1
- package/dist/v1/program.d.ts +0 -2
- package/dist/v1/program.d.ts.map +0 -1
- package/dist/v1/program.js +0 -70
- package/dist/v1/program.js.map +0 -1
- package/dist/v1/resolve-home.d.ts +0 -16
- package/dist/v1/resolve-home.d.ts.map +0 -1
- package/dist/v1/resolve-home.js +0 -18
- package/dist/v1/resolve-home.js.map +0 -1
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { createCommand } from 'commander';
|
|
2
|
-
import { VERSION } from '@shardworks/nexus-core';
|
|
3
|
-
import { readGuildConfig, checkAllPreconditions, listAnimas, checkAllAnimaStaleness, } from '@shardworks/nexus-core/legacy/1';
|
|
4
|
-
import { resolveHome } from "../resolve-home.js";
|
|
5
|
-
export function makeStatusCommand() {
|
|
6
|
-
return createCommand('status')
|
|
7
|
-
.description('Show guild system status — roles, tools, engines, and health checks')
|
|
8
|
-
.action((_, cmd) => {
|
|
9
|
-
let home;
|
|
10
|
-
try {
|
|
11
|
-
home = resolveHome(cmd);
|
|
12
|
-
}
|
|
13
|
-
catch {
|
|
14
|
-
console.error('Not inside a guild. Run `nsg init` to create one, or use --guild-root.');
|
|
15
|
-
process.exit(1);
|
|
16
|
-
}
|
|
17
|
-
const config = readGuildConfig(home);
|
|
18
|
-
const results = checkAllPreconditions(home, config);
|
|
19
|
-
const implements_ = results.filter(r => r.category === 'tools');
|
|
20
|
-
const engines = results.filter(r => r.category === 'engines');
|
|
21
|
-
// Header
|
|
22
|
-
console.log(`\nNexus Mk 2.1 — v${VERSION}`);
|
|
23
|
-
console.log(`Guild: ${config.name}`);
|
|
24
|
-
console.log(`Root: ${home}\n`);
|
|
25
|
-
// Check if the manifest engine is operational — everything depends on it
|
|
26
|
-
const manifestEngine = engines.find(e => e.name === 'manifest');
|
|
27
|
-
if (manifestEngine && !manifestEngine.available) {
|
|
28
|
-
console.log('╔══════════════════════════════════════════════════════════════╗');
|
|
29
|
-
console.log('║ ⚠ MANIFEST ENGINE UNAVAILABLE ║');
|
|
30
|
-
console.log('║ ║');
|
|
31
|
-
console.log('║ The manifest engine has unmet preconditions. No anima ║');
|
|
32
|
-
console.log('║ sessions can be started until this is resolved. ║');
|
|
33
|
-
for (const reason of manifestEngine.failures) {
|
|
34
|
-
const padded = `║ → ${reason}`.padEnd(63) + '║';
|
|
35
|
-
console.log(padded);
|
|
36
|
-
}
|
|
37
|
-
console.log('╚══════════════════════════════════════════════════════════════╝\n');
|
|
38
|
-
}
|
|
39
|
-
// Roles
|
|
40
|
-
const roleNames = Object.keys(config.roles);
|
|
41
|
-
if (roleNames.length > 0) {
|
|
42
|
-
console.log('Roles:');
|
|
43
|
-
for (const [name, def] of Object.entries(config.roles)) {
|
|
44
|
-
const seatsLabel = def.seats === null ? 'unbounded' : `${def.seats} seat${def.seats === 1 ? '' : 's'}`;
|
|
45
|
-
const toolCount = def.tools.length;
|
|
46
|
-
const instrLabel = def.instructions ? `instructions: ${def.instructions}` : 'no instructions';
|
|
47
|
-
console.log(` ${name} (${seatsLabel}) — ${toolCount} role tools, ${instrLabel}`);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
console.log('Roles: (none defined)');
|
|
52
|
-
}
|
|
53
|
-
// Animas
|
|
54
|
-
try {
|
|
55
|
-
const activeAnimas = listAnimas(home, { status: 'active' });
|
|
56
|
-
if (activeAnimas.length > 0) {
|
|
57
|
-
const stalenessMap = checkAllAnimaStaleness(home);
|
|
58
|
-
const staleCount = stalenessMap.size;
|
|
59
|
-
console.log(`\nAnimas (${activeAnimas.length} active):`);
|
|
60
|
-
for (const a of activeAnimas) {
|
|
61
|
-
const staleness = stalenessMap.get(a.id);
|
|
62
|
-
const staleFlag = staleness ? ' ⚠ stale' : '';
|
|
63
|
-
console.log(` ${a.name} (${a.roles.join(', ')})${staleFlag}`);
|
|
64
|
-
}
|
|
65
|
-
if (staleCount > 0) {
|
|
66
|
-
console.log(`\n ⚠ ${staleCount} anima(s) using outdated compositions.`);
|
|
67
|
-
console.log(` Run \`nsg upgrade --recompose\` to refresh them.`);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
catch {
|
|
72
|
-
// Books database may not exist yet (pre-init)
|
|
73
|
-
}
|
|
74
|
-
// Base tools
|
|
75
|
-
const baseTools = config.baseTools ?? [];
|
|
76
|
-
if (baseTools.length > 0) {
|
|
77
|
-
console.log(`\nBase tools (all animas): ${baseTools.join(', ')}`);
|
|
78
|
-
}
|
|
79
|
-
// Engines
|
|
80
|
-
console.log('');
|
|
81
|
-
printSection('Engines', engines);
|
|
82
|
-
// Implements
|
|
83
|
-
printSection('Implements', implements_);
|
|
84
|
-
// Summary
|
|
85
|
-
const totalTools = results.length;
|
|
86
|
-
const available = results.filter(r => r.available).length;
|
|
87
|
-
const unavailableCount = totalTools - available;
|
|
88
|
-
console.log(`\n${available}/${totalTools} operational` +
|
|
89
|
-
(unavailableCount > 0 ? ` — ${unavailableCount} unavailable` : ''));
|
|
90
|
-
console.log('');
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
function printSection(title, results) {
|
|
94
|
-
if (results.length === 0) {
|
|
95
|
-
console.log(`${title}: (none registered)`);
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
console.log(`${title}:`);
|
|
99
|
-
for (const r of results) {
|
|
100
|
-
if (r.available) {
|
|
101
|
-
console.log(` ✓ ${r.name}`);
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
console.log(` ✗ ${r.name}`);
|
|
105
|
-
for (const reason of r.failures) {
|
|
106
|
-
console.log(` → ${reason}`);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
//# sourceMappingURL=status.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/v1/commands/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../src/v1/commands/tool.ts"],"names":[],"mappings":"AAMA,wBAAgB,eAAe,gCA8C9B"}
|
package/dist/v1/commands/tool.js
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { createCommand } from 'commander';
|
|
2
|
-
import { listTools } from '@shardworks/nexus-core';
|
|
3
|
-
import { makeInstallToolCommand } from "./install-tool.js";
|
|
4
|
-
import { makeRemoveToolCommand } from "./remove-tool.js";
|
|
5
|
-
import { resolveHome } from "../resolve-home.js";
|
|
6
|
-
export function makeToolCommand() {
|
|
7
|
-
const tool = createCommand('tool')
|
|
8
|
-
.description('Manage guild tools (implements, engines, curricula, temperaments)');
|
|
9
|
-
tool.addCommand(makeInstallToolCommand());
|
|
10
|
-
tool.addCommand(makeRemoveToolCommand());
|
|
11
|
-
// nsg tool list [--category <category>]
|
|
12
|
-
tool.addCommand(createCommand('list')
|
|
13
|
-
.description('List installed tools, engines, curricula, and temperaments')
|
|
14
|
-
.option('--category <category>', 'Filter by category (tools, engines, curricula, temperaments)')
|
|
15
|
-
.action((options, cmd) => {
|
|
16
|
-
const home = resolveHome(cmd);
|
|
17
|
-
try {
|
|
18
|
-
const items = listTools(home, options.category);
|
|
19
|
-
if (items.length === 0) {
|
|
20
|
-
console.log('No artifacts installed.');
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
// Group by category
|
|
24
|
-
const grouped = new Map();
|
|
25
|
-
for (const item of items) {
|
|
26
|
-
if (!grouped.has(item.category))
|
|
27
|
-
grouped.set(item.category, []);
|
|
28
|
-
grouped.get(item.category).push(item);
|
|
29
|
-
}
|
|
30
|
-
for (const [category, items] of grouped) {
|
|
31
|
-
console.log(`${category}:`);
|
|
32
|
-
for (const item of items) {
|
|
33
|
-
const source = item.upstream ?? 'local';
|
|
34
|
-
const bundleLabel = item.bundle ? ` (via ${item.bundle})` : '';
|
|
35
|
-
console.log(` ${item.name} ${source}${bundleLabel}`);
|
|
36
|
-
}
|
|
37
|
-
console.log();
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
catch (err) {
|
|
41
|
-
console.error(`Error: ${err.message}`);
|
|
42
|
-
process.exitCode = 1;
|
|
43
|
-
}
|
|
44
|
-
}));
|
|
45
|
-
return tool;
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=tool.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/v1/commands/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,UAAU,eAAe;IAC7B,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC;SAC/B,WAAW,CAAC,mEAAmE,CAAC,CAAC;IAEpF,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAEzC,wCAAwC;IACxC,IAAI,CAAC,UAAU,CACb,aAAa,CAAC,MAAM,CAAC;SAClB,WAAW,CAAC,4DAA4D,CAAC;SACzE,MAAM,CAAC,uBAAuB,EAAE,8DAA8D,CAAC;SAC/F,MAAM,CAAC,CAAC,OAA8B,EAAE,GAAG,EAAE,EAAE;QAC9C,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YAEhD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;gBACvC,OAAO;YACT,CAAC;YAED,oBAAoB;YACpB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAC;YAChD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC;YAED,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;gBAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC;oBACxC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,MAAM,GAAG,WAAW,EAAE,CAAC,CAAC;gBACzD,CAAC;gBACD,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,UAAW,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CACL,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade-books.d.ts","sourceRoot":"","sources":["../../../src/v1/commands/upgrade-books.ts"],"names":[],"mappings":"AAIA,wBAAgB,uBAAuB,gCA8BtC"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import path from 'node:path';
|
|
2
|
-
import { createCommand } from 'commander';
|
|
3
|
-
import { findGuildRoot, applyCoreMigrations } from '@shardworks/nexus-core';
|
|
4
|
-
export function makeUpgradeBooksCommand() {
|
|
5
|
-
return createCommand('upgrade-books')
|
|
6
|
-
.description('Apply pending database migrations to the Books')
|
|
7
|
-
.action((_opts, cmd) => {
|
|
8
|
-
let home;
|
|
9
|
-
try {
|
|
10
|
-
const rootOpts = cmd.optsWithGlobals();
|
|
11
|
-
home = rootOpts.guildRoot
|
|
12
|
-
? path.resolve(rootOpts.guildRoot)
|
|
13
|
-
: findGuildRoot();
|
|
14
|
-
}
|
|
15
|
-
catch {
|
|
16
|
-
console.error('Not inside a guild. Run `nsg init` to create one, or use --guild-root.');
|
|
17
|
-
process.exit(1);
|
|
18
|
-
}
|
|
19
|
-
const result = applyCoreMigrations(home);
|
|
20
|
-
if (result.applied.length === 0) {
|
|
21
|
-
console.log('Books are up to date. No pending migrations.');
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
console.log(`Applied ${result.applied.length} migration(s):`);
|
|
25
|
-
for (const name of result.applied) {
|
|
26
|
-
console.log(` ✓ ${name}`);
|
|
27
|
-
}
|
|
28
|
-
if (result.skipped.length > 0) {
|
|
29
|
-
console.log(`Skipped ${result.skipped.length} already-applied migration(s).`);
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=upgrade-books.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade-books.js","sourceRoot":"","sources":["../../../src/v1/commands/upgrade-books.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE5E,MAAM,UAAU,uBAAuB;IACrC,OAAO,aAAa,CAAC,eAAe,CAAC;SAClC,WAAW,CAAC,gDAAgD,CAAC;SAC7D,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACrB,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,EAA4B,CAAC;YACjE,IAAI,GAAG,QAAQ,CAAC,SAAS;gBACvB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAClC,CAAC,CAAC,aAAa,EAAE,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;YACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,OAAO,CAAC,MAAM,gBAAgB,CAAC,CAAC;QAC9D,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,OAAO,CAAC,MAAM,gCAAgC,CAAC,CAAC;QAChF,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../src/v1/commands/upgrade.ts"],"names":[],"mappings":"AAoFA,wBAAgB,kBAAkB,gCA6KjC"}
|
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
import { createCommand } from 'commander';
|
|
2
|
-
import fs from 'node:fs';
|
|
3
|
-
import path from 'node:path';
|
|
4
|
-
import { execFileSync } from 'node:child_process';
|
|
5
|
-
import { planUpgrade, applyUpgrade, readGuildConfig, writeGuildConfig, clockStatus, clockStop, clockStart } from '@shardworks/nexus-core/legacy/1';
|
|
6
|
-
import { resolveHome } from "../resolve-home.js";
|
|
7
|
-
const DEFAULT_BUNDLE = '@shardworks/guild-starter-kit';
|
|
8
|
-
/**
|
|
9
|
-
* Fetch a bundle package into a temporary location and return the path.
|
|
10
|
-
* Uses --no-save so it doesn't modify the guild's package.json.
|
|
11
|
-
*/
|
|
12
|
-
function fetchBundle(home, bundleSpec) {
|
|
13
|
-
execFileSync('npm', ['install', '--no-save', bundleSpec], { cwd: home, stdio: 'pipe' });
|
|
14
|
-
// Resolve package name from the specifier
|
|
15
|
-
let packageName = bundleSpec;
|
|
16
|
-
if (packageName.startsWith('@') && packageName.lastIndexOf('@') > 0) {
|
|
17
|
-
packageName = packageName.substring(0, packageName.lastIndexOf('@'));
|
|
18
|
-
}
|
|
19
|
-
else if (packageName.includes('@') && !packageName.startsWith('@')) {
|
|
20
|
-
packageName = packageName.split('@')[0];
|
|
21
|
-
}
|
|
22
|
-
return path.join(home, 'node_modules', packageName);
|
|
23
|
-
}
|
|
24
|
-
/** Read the resolved version of a package from its installed package.json. */
|
|
25
|
-
function installedVersion(home, packageName) {
|
|
26
|
-
const pkgPath = path.join(home, 'node_modules', packageName, 'package.json');
|
|
27
|
-
if (!fs.existsSync(pkgPath))
|
|
28
|
-
return null;
|
|
29
|
-
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
|
|
30
|
-
return pkg.version ?? null;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Update @shardworks/* dependencies to their latest versions.
|
|
34
|
-
*
|
|
35
|
-
* Reads the guild's package.json for @shardworks/* deps, snapshots their
|
|
36
|
-
* current installed versions, runs `npm install <pkg>@latest` for each,
|
|
37
|
-
* then diffs to find what actually changed. This updates both the
|
|
38
|
-
* package.json specifiers and the lockfile.
|
|
39
|
-
*/
|
|
40
|
-
function updateDependencies(home) {
|
|
41
|
-
// Read the guild's declared dependencies
|
|
42
|
-
const pkgPath = path.join(home, 'package.json');
|
|
43
|
-
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
|
|
44
|
-
const deps = (pkg.dependencies ?? {});
|
|
45
|
-
// Find @shardworks/* packages
|
|
46
|
-
const shardworksDeps = Object.keys(deps).filter(name => name.startsWith('@shardworks/'));
|
|
47
|
-
if (shardworksDeps.length === 0)
|
|
48
|
-
return [];
|
|
49
|
-
// Snapshot current installed versions
|
|
50
|
-
const before = new Map();
|
|
51
|
-
for (const name of shardworksDeps) {
|
|
52
|
-
before.set(name, installedVersion(home, name));
|
|
53
|
-
}
|
|
54
|
-
// Install latest versions — this updates both package.json specifiers
|
|
55
|
-
// and the lockfile, unlike `npm update` which only touches the lockfile.
|
|
56
|
-
const specs = shardworksDeps.map(name => `${name}@latest`);
|
|
57
|
-
execFileSync('npm', ['install', ...specs], { cwd: home, stdio: 'pipe' });
|
|
58
|
-
// Diff versions
|
|
59
|
-
const updates = [];
|
|
60
|
-
for (const name of shardworksDeps) {
|
|
61
|
-
const fromVersion = before.get(name) ?? null;
|
|
62
|
-
const toVersion = installedVersion(home, name);
|
|
63
|
-
if (fromVersion !== toVersion) {
|
|
64
|
-
updates.push({ name, from: fromVersion, to: toVersion });
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
return updates;
|
|
68
|
-
}
|
|
69
|
-
export function makeUpgradeCommand() {
|
|
70
|
-
return createCommand('upgrade')
|
|
71
|
-
.description('Upgrade the guild to the latest framework version — npm packages, migrations, training content, and stale anima detection')
|
|
72
|
-
.option('--dry-run', 'Show what would change without applying')
|
|
73
|
-
.option('--recompose', 'Retire and recreate stale animas with fresh compositions')
|
|
74
|
-
.option('--bundle <spec>', 'Bundle to upgrade from (npm specifier)', DEFAULT_BUNDLE)
|
|
75
|
-
.action(async (options, cmd) => {
|
|
76
|
-
const home = resolveHome(cmd);
|
|
77
|
-
try {
|
|
78
|
-
const config = readGuildConfig(home);
|
|
79
|
-
console.log(`Guild: ${config.name}`);
|
|
80
|
-
console.log(`Current nexus version: ${config.nexus}`);
|
|
81
|
-
console.log();
|
|
82
|
-
// ── Step 0: Stop daemon before upgrading ─────────────────────
|
|
83
|
-
// Node.js caches ESM imports, so the running daemon must be stopped
|
|
84
|
-
// before packages change. We also don't want the daemon processing
|
|
85
|
-
// events with a half-upgraded package set. Restart in finally{}.
|
|
86
|
-
const wasDaemonRunning = !options.dryRun && clockStatus(home).running;
|
|
87
|
-
if (wasDaemonRunning) {
|
|
88
|
-
clockStop(home);
|
|
89
|
-
console.log('Clockworks daemon stopped for upgrade.');
|
|
90
|
-
console.log();
|
|
91
|
-
}
|
|
92
|
-
try {
|
|
93
|
-
// ── Step 1: Update npm dependencies ──────────────────────────
|
|
94
|
-
console.log('Updating @shardworks/* packages...');
|
|
95
|
-
const depUpdates = options.dryRun ? [] : updateDependencies(home);
|
|
96
|
-
if (depUpdates.length > 0) {
|
|
97
|
-
for (const dep of depUpdates) {
|
|
98
|
-
console.log(` ↑ ${dep.name}: ${dep.from ?? 'not installed'} → ${dep.to}`);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
console.log(' All packages up to date.');
|
|
103
|
-
}
|
|
104
|
-
console.log();
|
|
105
|
-
// ── Step 2: Fetch and plan bundle upgrade ────────────────────
|
|
106
|
-
console.log(`Fetching ${options.bundle}...`);
|
|
107
|
-
const bundleDir = fetchBundle(home, options.bundle);
|
|
108
|
-
console.log();
|
|
109
|
-
// Plan the upgrade
|
|
110
|
-
const plan = planUpgrade(home, bundleDir);
|
|
111
|
-
// ── Report ────────────────────────────────────────────────────
|
|
112
|
-
console.log(`Bundle plan from ${plan.bundleSource}:`);
|
|
113
|
-
console.log();
|
|
114
|
-
// New tools/engines
|
|
115
|
-
if (plan.newTools.length > 0) {
|
|
116
|
-
console.log(` New tools/engines (${plan.newTools.length}):`);
|
|
117
|
-
for (const t of plan.newTools) {
|
|
118
|
-
const roleLabel = t.roles.length > 0 ? ` → ${t.roles.join(', ')}` : '';
|
|
119
|
-
console.log(` + ${t.category}/${t.name}${roleLabel}`);
|
|
120
|
-
}
|
|
121
|
-
console.log();
|
|
122
|
-
}
|
|
123
|
-
// Content updates
|
|
124
|
-
if (plan.contentUpdates.length > 0) {
|
|
125
|
-
console.log(` Content updates (${plan.contentUpdates.length}):`);
|
|
126
|
-
for (const c of plan.contentUpdates) {
|
|
127
|
-
const label = c.category === 'curricula' ? 'curriculum' : 'temperament';
|
|
128
|
-
console.log(` ↑ ${label}/${c.name}: ${c.installedVersion} → ${c.bundleVersion}`);
|
|
129
|
-
}
|
|
130
|
-
console.log();
|
|
131
|
-
}
|
|
132
|
-
// Stale animas
|
|
133
|
-
if (plan.staleAnimas.length > 0) {
|
|
134
|
-
console.log(` ⚠ Stale anima compositions (${plan.staleAnimas.length}):`);
|
|
135
|
-
for (const a of plan.staleAnimas) {
|
|
136
|
-
console.log(` ${a.name} (${a.id}) — roles: ${a.roles.join(', ')}`);
|
|
137
|
-
if (a.curriculum) {
|
|
138
|
-
console.log(` curriculum: ${a.curriculum.composedVersion} → ${a.curriculum.currentVersion} available`);
|
|
139
|
-
}
|
|
140
|
-
if (a.temperament) {
|
|
141
|
-
console.log(` temperament: ${a.temperament.composedVersion} → ${a.temperament.currentVersion} available`);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
console.log();
|
|
145
|
-
if (options.recompose) {
|
|
146
|
-
console.log(` Stale animas will be retired and recreated with fresh compositions.`);
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
console.log(` Stale animas will continue using their original training content.`);
|
|
150
|
-
console.log(` Use --recompose to retire and recreate them, or do it manually via the steward.`);
|
|
151
|
-
}
|
|
152
|
-
console.log();
|
|
153
|
-
}
|
|
154
|
-
// Nothing to do in the bundle
|
|
155
|
-
if (plan.isEmpty && depUpdates.length === 0) {
|
|
156
|
-
console.log(' Everything is up to date. Nothing to upgrade.');
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
if (plan.isEmpty) {
|
|
160
|
-
console.log(' Bundle content is up to date.');
|
|
161
|
-
console.log();
|
|
162
|
-
}
|
|
163
|
-
// Dry run stops here
|
|
164
|
-
if (options.dryRun) {
|
|
165
|
-
console.log('Dry run — no changes applied.');
|
|
166
|
-
return;
|
|
167
|
-
}
|
|
168
|
-
// ── Step 3: Apply bundle changes ─────────────────────────────
|
|
169
|
-
if (!plan.isEmpty) {
|
|
170
|
-
console.log('Applying bundle upgrade...');
|
|
171
|
-
const result = applyUpgrade(home, bundleDir, plan, {
|
|
172
|
-
recompose: options.recompose,
|
|
173
|
-
});
|
|
174
|
-
if (result.toolsRegistered.length > 0) {
|
|
175
|
-
console.log(` ✓ Registered ${result.toolsRegistered.length} tool(s)/engine(s)`);
|
|
176
|
-
}
|
|
177
|
-
if (result.contentUpdated.length > 0) {
|
|
178
|
-
console.log(` ✓ Updated ${result.contentUpdated.length} content artifact(s)`);
|
|
179
|
-
}
|
|
180
|
-
if (result.recomposedAnimas.length > 0) {
|
|
181
|
-
console.log(` ✓ Recomposed ${result.recomposedAnimas.length} anima(s): ${result.recomposedAnimas.join(', ')}`);
|
|
182
|
-
}
|
|
183
|
-
else if (result.staleAnimaCount > 0) {
|
|
184
|
-
console.log(` ⚠ ${result.staleAnimaCount} anima(s) using outdated compositions`);
|
|
185
|
-
}
|
|
186
|
-
console.log();
|
|
187
|
-
}
|
|
188
|
-
// ── Step 4: Update nexus version stamp ───────────────────────
|
|
189
|
-
// Always stamp the version — even if the bundle had no changes,
|
|
190
|
-
// the framework packages may have been updated.
|
|
191
|
-
const versionMatch = plan.bundleSource.match(/@(\d+\.\d+\.\d+.*)$/);
|
|
192
|
-
if (versionMatch) {
|
|
193
|
-
const updatedConfig = readGuildConfig(home);
|
|
194
|
-
const newVersion = versionMatch[1];
|
|
195
|
-
if (updatedConfig.nexus !== newVersion) {
|
|
196
|
-
updatedConfig.nexus = newVersion;
|
|
197
|
-
writeGuildConfig(home, updatedConfig);
|
|
198
|
-
console.log(`Nexus version: ${config.nexus} → ${newVersion}`);
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
console.log('Upgrade complete.');
|
|
202
|
-
}
|
|
203
|
-
finally {
|
|
204
|
-
// ── Restart daemon if it was running before we stopped it ────
|
|
205
|
-
if (wasDaemonRunning) {
|
|
206
|
-
try {
|
|
207
|
-
const result = clockStart(home);
|
|
208
|
-
console.log(`Clockworks daemon restarted (PID ${result.pid}).`);
|
|
209
|
-
}
|
|
210
|
-
catch (restartErr) {
|
|
211
|
-
console.error(`Warning: failed to restart clockworks daemon: ${restartErr.message}`);
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
catch (err) {
|
|
217
|
-
console.error(`Error: ${err.message}`);
|
|
218
|
-
process.exitCode = 1;
|
|
219
|
-
}
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
|
-
//# sourceMappingURL=upgrade.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/v1/commands/upgrade.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/v1/commands/version.ts"],"names":[],"mappings":"AAwDA,wBAAgB,kBAAkB,gCAiCjC"}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';
|
|
2
|
-
import { readFileSync } from 'node:fs';
|
|
3
|
-
import { dirname, join } from 'node:path';
|
|
4
|
-
import { createCommand } from 'commander';
|
|
5
|
-
import { VERSION } from '@shardworks/nexus-core';
|
|
6
|
-
const require = createRequire(import.meta.url);
|
|
7
|
-
/**
|
|
8
|
-
* Resolve the installed version of a package by finding its package.json
|
|
9
|
-
* on disk. Works even when the package's `exports` field doesn't expose
|
|
10
|
-
* package.json directly.
|
|
11
|
-
*/
|
|
12
|
-
function resolvePackageVersion(name) {
|
|
13
|
-
try {
|
|
14
|
-
// resolve.paths: null → use Node's normal resolution from this file
|
|
15
|
-
const entryPath = require.resolve(name);
|
|
16
|
-
// Walk up from the resolved entry until we find package.json
|
|
17
|
-
let dir = dirname(entryPath);
|
|
18
|
-
for (let i = 0; i < 10; i++) {
|
|
19
|
-
try {
|
|
20
|
-
const raw = readFileSync(join(dir, 'package.json'), 'utf-8');
|
|
21
|
-
const pkg = JSON.parse(raw);
|
|
22
|
-
if (pkg.name === name)
|
|
23
|
-
return pkg.version ?? null;
|
|
24
|
-
}
|
|
25
|
-
catch {
|
|
26
|
-
// no package.json at this level — keep walking up
|
|
27
|
-
}
|
|
28
|
-
const parent = dirname(dir);
|
|
29
|
-
if (parent === dir)
|
|
30
|
-
break;
|
|
31
|
-
dir = parent;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
catch {
|
|
35
|
-
// require.resolve failed entirely
|
|
36
|
-
}
|
|
37
|
-
return null;
|
|
38
|
-
}
|
|
39
|
-
/** Collect installed versions of all @shardworks/* dependencies. */
|
|
40
|
-
function collectShardworksDeps() {
|
|
41
|
-
const pkg = require('../../package.json');
|
|
42
|
-
const deps = pkg.dependencies ?? {};
|
|
43
|
-
return Object.keys(deps)
|
|
44
|
-
.filter((name) => name.startsWith('@shardworks/'))
|
|
45
|
-
.sort()
|
|
46
|
-
.map((name) => {
|
|
47
|
-
const resolved = resolvePackageVersion(name);
|
|
48
|
-
return { name, version: resolved ?? deps[name] };
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
export function makeVersionCommand() {
|
|
52
|
-
return createCommand('version')
|
|
53
|
-
.description('Display CLI version and dependency information')
|
|
54
|
-
.option('--all', 'Include versions of all @shardworks/* dependencies')
|
|
55
|
-
.option('--json', 'Output in JSON format')
|
|
56
|
-
.action((opts) => {
|
|
57
|
-
if (!opts.all) {
|
|
58
|
-
// Same output as --version flag
|
|
59
|
-
console.log(VERSION);
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
const deps = collectShardworksDeps();
|
|
63
|
-
if (opts.json) {
|
|
64
|
-
console.log(JSON.stringify({ version: VERSION, dependencies: deps }, null, 2));
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
// Human-readable table
|
|
68
|
-
console.log(`nsg v${VERSION}\n`);
|
|
69
|
-
console.log('Dependencies:');
|
|
70
|
-
const nameWidth = Math.max(...deps.map((d) => d.name.length), 4);
|
|
71
|
-
const header = ` ${'Package'.padEnd(nameWidth)} Version`;
|
|
72
|
-
const separator = ` ${'─'.repeat(nameWidth)} ${'─'.repeat(12)}`;
|
|
73
|
-
console.log(header);
|
|
74
|
-
console.log(separator);
|
|
75
|
-
for (const dep of deps) {
|
|
76
|
-
console.log(` ${dep.name.padEnd(nameWidth)} ${dep.version}`);
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=version.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/v1/commands/version.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workshop.d.ts","sourceRoot":"","sources":["../../../src/v1/commands/workshop.ts"],"names":[],"mappings":"AAOA,wBAAgB,mBAAmB,gCA8IlC"}
|