@shardworks/nexus 0.1.1
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/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +3 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/dispatch.d.ts +5 -0
- package/dist/commands/dispatch.d.ts.map +1 -0
- package/dist/commands/dispatch.js +29 -0
- package/dist/commands/dispatch.js.map +1 -0
- package/dist/commands/init.d.ts +4 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +74 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/install-tool.d.ts +6 -0
- package/dist/commands/install-tool.d.ts.map +1 -0
- package/dist/commands/install-tool.js +23 -0
- package/dist/commands/install-tool.js.map +1 -0
- package/dist/commands/instantiate.d.ts +6 -0
- package/dist/commands/instantiate.d.ts.map +1 -0
- package/dist/commands/instantiate.js +41 -0
- package/dist/commands/instantiate.js.map +1 -0
- package/dist/commands/manifest.d.ts +4 -0
- package/dist/commands/manifest.d.ts.map +1 -0
- package/dist/commands/manifest.js +28 -0
- package/dist/commands/manifest.js.map +1 -0
- package/dist/commands/publish.d.ts +4 -0
- package/dist/commands/publish.d.ts.map +1 -0
- package/dist/commands/publish.js +26 -0
- package/dist/commands/publish.js.map +1 -0
- package/dist/commands/remove-tool.d.ts +4 -0
- package/dist/commands/remove-tool.d.ts.map +1 -0
- package/dist/commands/remove-tool.js +24 -0
- package/dist/commands/remove-tool.js.map +1 -0
- package/dist/commands/status.d.ts +2 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +9 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/program.d.ts +2 -0
- package/dist/program.d.ts.map +1 -0
- package/dist/program.js +22 -0
- package/dist/program.js.map +1 -0
- package/package.json +53 -0
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
|
package/dist/cli.js
ADDED
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../src/commands/dispatch.ts"],"names":[],"mappings":"AAGA,wBAAgB,mBAAmB;;;OA0BlC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { createCommand } from 'commander';
|
|
2
|
+
import { resolveNexusHome, dispatch } from '@shardworks/nexus-core';
|
|
3
|
+
export function makeDispatchCommand() {
|
|
4
|
+
return createCommand('dispatch')
|
|
5
|
+
.description('Post a commission to the guild')
|
|
6
|
+
.argument('<spec>', 'Commission specification — what needs to be done')
|
|
7
|
+
.requiredOption('--workshop <workshop>', 'Target workshop')
|
|
8
|
+
.option('--anima <anima>', 'Target anima name')
|
|
9
|
+
.action((spec, options) => {
|
|
10
|
+
const home = resolveNexusHome();
|
|
11
|
+
try {
|
|
12
|
+
const result = dispatch({
|
|
13
|
+
home,
|
|
14
|
+
spec,
|
|
15
|
+
workshop: options.workshop,
|
|
16
|
+
anima: options.anima,
|
|
17
|
+
});
|
|
18
|
+
console.log(`Commission #${result.commissionId} posted to workshop "${options.workshop}"`);
|
|
19
|
+
if (result.assigned) {
|
|
20
|
+
console.log(` Assigned to: ${result.assignedTo}`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
catch (err) {
|
|
24
|
+
console.error(`Error: ${err.message}`);
|
|
25
|
+
process.exitCode = 1;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=dispatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/commands/dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEpE,MAAM,UAAU,mBAAmB;IACjC,OAAO,aAAa,CAAC,UAAU,CAAC;SAC7B,WAAW,CAAC,gCAAgC,CAAC;SAC7C,QAAQ,CAAC,QAAQ,EAAE,kDAAkD,CAAC;SACtE,cAAc,CAAC,uBAAuB,EAAE,iBAAiB,CAAC;SAC1D,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;SAC9C,MAAM,CAAC,CAAC,IAAY,EAAE,OAA6C,EAAE,EAAE;QACtE,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAEhC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC;gBACtB,IAAI;gBACJ,IAAI;gBACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,YAAY,wBAAwB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YAC3F,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YACrD,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,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAoCA,wBAAgB,eAAe;;OA0C9B"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { createCommand } from 'commander';
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { createRequire } from 'node:module';
|
|
5
|
+
import readline from 'node:readline/promises';
|
|
6
|
+
import { initGuild, bootstrapBaseTools } from '@shardworks/nexus-core';
|
|
7
|
+
import { applyMigrations } from '@shardworks/engine-ledger-migrate';
|
|
8
|
+
const DEFAULT_MODEL = 'sonnet';
|
|
9
|
+
/** Resolve a package name to its root directory on disk. */
|
|
10
|
+
function makePackageResolver() {
|
|
11
|
+
const require = createRequire(import.meta.url);
|
|
12
|
+
return (packageName) => {
|
|
13
|
+
// Resolve the package's main entry, then walk up to find package.json
|
|
14
|
+
const entry = require.resolve(packageName);
|
|
15
|
+
let dir = path.dirname(entry);
|
|
16
|
+
while (dir !== path.dirname(dir)) {
|
|
17
|
+
if (fs.existsSync(path.join(dir, 'package.json')))
|
|
18
|
+
return dir;
|
|
19
|
+
dir = path.dirname(dir);
|
|
20
|
+
}
|
|
21
|
+
throw new Error(`Could not find package root for ${packageName}`);
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
async function prompt(question, defaultValue) {
|
|
25
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
26
|
+
try {
|
|
27
|
+
const suffix = defaultValue ? ` (${defaultValue})` : '';
|
|
28
|
+
const answer = await rl.question(`${question}${suffix}: `);
|
|
29
|
+
return answer.trim() || defaultValue || '';
|
|
30
|
+
}
|
|
31
|
+
finally {
|
|
32
|
+
rl.close();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export function makeInitCommand() {
|
|
36
|
+
return createCommand('init')
|
|
37
|
+
.description('Create a new guild — guildhall, directory structure, guild.json, and Ledger')
|
|
38
|
+
.argument('[path]', 'Path for the new guild (interactive prompt if omitted)')
|
|
39
|
+
.option('--model <model>', 'Default model for anima sessions', DEFAULT_MODEL)
|
|
40
|
+
.action(async (pathArg, options) => {
|
|
41
|
+
let guildPath;
|
|
42
|
+
if (pathArg) {
|
|
43
|
+
guildPath = pathArg;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
const name = await prompt('Guild name');
|
|
47
|
+
if (!name) {
|
|
48
|
+
console.error('Error: guild name is required.');
|
|
49
|
+
process.exitCode = 1;
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
guildPath = name;
|
|
53
|
+
}
|
|
54
|
+
const model = options.model;
|
|
55
|
+
const home = path.resolve(guildPath);
|
|
56
|
+
try {
|
|
57
|
+
// 1. Create guild skeleton (bare repo, worktree, dirs, guild.json, migration file)
|
|
58
|
+
initGuild(home, model);
|
|
59
|
+
// 2. Install all framework tools via installTool
|
|
60
|
+
const resolvePackage = makePackageResolver();
|
|
61
|
+
bootstrapBaseTools(home, resolvePackage);
|
|
62
|
+
// 3. Create ledger via migration engine
|
|
63
|
+
applyMigrations(home);
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
console.error(`Error: ${err.message}`);
|
|
67
|
+
process.exitCode = 1;
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
console.log(`Guild created at ${home}`);
|
|
71
|
+
console.log(`\n export NEXUS_HOME=${home}\n`);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-tool.d.ts","sourceRoot":"","sources":["../../src/commands/install-tool.ts"],"names":[],"mappings":"AAGA,wBAAgB,sBAAsB;;;;OAqBrC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createCommand } from 'commander';
|
|
2
|
+
import { resolveNexusHome, installTool } from '@shardworks/nexus-core';
|
|
3
|
+
export function makeInstallToolCommand() {
|
|
4
|
+
return createCommand('install-tool')
|
|
5
|
+
.description('Install an implement, engine, curriculum, or temperament into the guild')
|
|
6
|
+
.argument('<source>', 'Local directory path containing a nexus descriptor')
|
|
7
|
+
.option('--name <name>', 'Override the tool name (defaults to directory name)')
|
|
8
|
+
.option('--slot <slot>', 'Override the version slot (defaults to version from descriptor)')
|
|
9
|
+
.option('--roles <roles>', 'Comma-separated roles for implement access gating')
|
|
10
|
+
.action((source, options) => {
|
|
11
|
+
const home = resolveNexusHome();
|
|
12
|
+
const roles = options.roles?.split(',').map(r => r.trim()).filter(Boolean);
|
|
13
|
+
const result = installTool({
|
|
14
|
+
home,
|
|
15
|
+
source,
|
|
16
|
+
name: options.name,
|
|
17
|
+
slot: options.slot,
|
|
18
|
+
roles,
|
|
19
|
+
});
|
|
20
|
+
console.log(`Installed ${result.category.slice(0, -1)} "${result.name}" at slot ${result.slot}`);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=install-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-tool.js","sourceRoot":"","sources":["../../src/commands/install-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAEvE,MAAM,UAAU,sBAAsB;IACpC,OAAO,aAAa,CAAC,cAAc,CAAC;SACjC,WAAW,CAAC,yEAAyE,CAAC;SACtF,QAAQ,CAAC,UAAU,EAAE,oDAAoD,CAAC;SAC1E,MAAM,CAAC,eAAe,EAAE,qDAAqD,CAAC;SAC9E,MAAM,CAAC,eAAe,EAAE,iEAAiE,CAAC;SAC1F,MAAM,CAAC,iBAAiB,EAAE,mDAAmD,CAAC;SAC9E,MAAM,CAAC,CAAC,MAAc,EAAE,OAAyD,EAAE,EAAE;QACpF,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE3E,MAAM,MAAM,GAAG,WAAW,CAAC;YACzB,IAAI;YACJ,MAAM;YACN,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK;SACN,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,aAAa,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instantiate.d.ts","sourceRoot":"","sources":["../../src/commands/instantiate.ts"],"names":[],"mappings":"AAGA,wBAAgB,sBAAsB;;;;OAuCrC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { createCommand } from 'commander';
|
|
2
|
+
import { resolveNexusHome, instantiate } from '@shardworks/nexus-core';
|
|
3
|
+
export function makeInstantiateCommand() {
|
|
4
|
+
return createCommand('instantiate')
|
|
5
|
+
.description('Create a new anima in the guild')
|
|
6
|
+
.argument('<name>', 'Name for the new anima')
|
|
7
|
+
.requiredOption('--roles <roles>', 'Comma-separated roles (e.g. artificer,sage)')
|
|
8
|
+
.option('--curriculum <curriculum>', 'Curriculum to assign')
|
|
9
|
+
.option('--temperament <temperament>', 'Temperament to assign')
|
|
10
|
+
.action((name, options) => {
|
|
11
|
+
const home = resolveNexusHome();
|
|
12
|
+
const roles = options.roles.split(',').map(r => r.trim()).filter(Boolean);
|
|
13
|
+
if (roles.length === 0) {
|
|
14
|
+
console.error('Error: at least one role is required');
|
|
15
|
+
process.exitCode = 1;
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
const result = instantiate({
|
|
20
|
+
home,
|
|
21
|
+
name,
|
|
22
|
+
roles,
|
|
23
|
+
curriculum: options.curriculum,
|
|
24
|
+
temperament: options.temperament,
|
|
25
|
+
});
|
|
26
|
+
console.log(`Anima "${result.name}" instantiated (id: ${result.animaId})`);
|
|
27
|
+
console.log(` Roles: ${result.roles.join(', ')}`);
|
|
28
|
+
if (result.curriculum) {
|
|
29
|
+
console.log(` Curriculum: ${result.curriculum}`);
|
|
30
|
+
}
|
|
31
|
+
if (result.temperament) {
|
|
32
|
+
console.log(` Temperament: ${result.temperament}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
console.error(`Error: ${err.message}`);
|
|
37
|
+
process.exitCode = 1;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=instantiate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instantiate.js","sourceRoot":"","sources":["../../src/commands/instantiate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAEvE,MAAM,UAAU,sBAAsB;IACpC,OAAO,aAAa,CAAC,aAAa,CAAC;SAChC,WAAW,CAAC,iCAAiC,CAAC;SAC9C,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC;SAC5C,cAAc,CAAC,iBAAiB,EAAE,6CAA6C,CAAC;SAChF,MAAM,CAAC,2BAA2B,EAAE,sBAAsB,CAAC;SAC3D,MAAM,CAAC,6BAA6B,EAAE,uBAAuB,CAAC;SAC9D,MAAM,CAAC,CAAC,IAAY,EAAE,OAAqE,EAAE,EAAE;QAC9F,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE1E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACtD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,WAAW,CAAC;gBACzB,IAAI;gBACJ,IAAI;gBACJ,KAAK;gBACL,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,IAAI,uBAAuB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;YAC3E,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YACtD,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,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/commands/manifest.ts"],"names":[],"mappings":"AAIA,wBAAgB,mBAAmB;;OAuBlC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { createCommand } from 'commander';
|
|
2
|
+
import { resolveNexusHome } from '@shardworks/nexus-core';
|
|
3
|
+
import { manifest } from '@shardworks/engine-manifest';
|
|
4
|
+
export function makeManifestCommand() {
|
|
5
|
+
return createCommand('manifest')
|
|
6
|
+
.description('Manifest an anima — resolve composition and show session config')
|
|
7
|
+
.argument('<anima>', 'Anima name to manifest')
|
|
8
|
+
.option('--json', 'Output full session config as JSON')
|
|
9
|
+
.action(async (animaName, options) => {
|
|
10
|
+
const home = resolveNexusHome();
|
|
11
|
+
try {
|
|
12
|
+
const result = await manifest(home, animaName);
|
|
13
|
+
if (options.json) {
|
|
14
|
+
console.log(JSON.stringify(result, null, 2));
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
console.log(`Anima: ${result.anima.name} (${result.anima.roles.join(', ')})`);
|
|
18
|
+
console.log(`Implements: ${result.mcpConfig.implements.map(i => i.name).join(', ')}`);
|
|
19
|
+
console.log(`System prompt: ${result.systemPrompt.length} chars`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
catch (err) {
|
|
23
|
+
console.error(`Error: ${err.message}`);
|
|
24
|
+
process.exitCode = 1;
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/commands/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,MAAM,UAAU,mBAAmB;IACjC,OAAO,aAAa,CAAC,UAAU,CAAC;SAC7B,WAAW,CAAC,iEAAiE,CAAC;SAC9E,QAAQ,CAAC,SAAS,EAAE,wBAAwB,CAAC;SAC7C,MAAM,CAAC,QAAQ,EAAE,oCAAoC,CAAC;SACtD,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,OAA2B,EAAE,EAAE;QAC/D,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAEhC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAE/C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC9E,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtF,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,YAAY,CAAC,MAAM,QAAQ,CAAC,CAAC;YACpE,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,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB;;OAuBjC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { createCommand } from 'commander';
|
|
2
|
+
import { resolveNexusHome, publish } from '@shardworks/nexus-core';
|
|
3
|
+
export function makePublishCommand() {
|
|
4
|
+
return createCommand('publish')
|
|
5
|
+
.description('Publish a completed commission')
|
|
6
|
+
.argument('<commissionId>', 'Commission ID to publish')
|
|
7
|
+
.option('--summary <summary>', 'Brief summary of what was accomplished')
|
|
8
|
+
.action((commissionIdStr, options) => {
|
|
9
|
+
const home = resolveNexusHome();
|
|
10
|
+
const commissionId = parseInt(commissionIdStr, 10);
|
|
11
|
+
if (isNaN(commissionId)) {
|
|
12
|
+
console.error('Error: commission ID must be a number');
|
|
13
|
+
process.exitCode = 1;
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
try {
|
|
17
|
+
const result = publish({ home, commissionId, summary: options.summary });
|
|
18
|
+
console.log(`Commission #${result.commissionId} published (was: ${result.previousStatus})`);
|
|
19
|
+
}
|
|
20
|
+
catch (err) {
|
|
21
|
+
console.error(`Error: ${err.message}`);
|
|
22
|
+
process.exitCode = 1;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=publish.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,UAAU,kBAAkB;IAChC,OAAO,aAAa,CAAC,SAAS,CAAC;SAC5B,WAAW,CAAC,gCAAgC,CAAC;SAC7C,QAAQ,CAAC,gBAAgB,EAAE,0BAA0B,CAAC;SACtD,MAAM,CAAC,qBAAqB,EAAE,wCAAwC,CAAC;SACvE,MAAM,CAAC,CAAC,eAAuB,EAAE,OAA6B,EAAE,EAAE;QACjE,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAEnD,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACvD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,YAAY,oBAAoB,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC;QAC9F,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,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove-tool.d.ts","sourceRoot":"","sources":["../../src/commands/remove-tool.ts"],"names":[],"mappings":"AAGA,wBAAgB,qBAAqB;;OAsBpC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createCommand } from 'commander';
|
|
2
|
+
import { resolveNexusHome, removeTool } from '@shardworks/nexus-core';
|
|
3
|
+
export function makeRemoveToolCommand() {
|
|
4
|
+
return createCommand('remove-tool')
|
|
5
|
+
.description('Remove an implement, engine, curriculum, or temperament from the guild')
|
|
6
|
+
.argument('<name>', 'Name of the tool to remove')
|
|
7
|
+
.option('--type <type>', 'Restrict to a specific category (implements, engines, curricula, temperaments)')
|
|
8
|
+
.action((name, options) => {
|
|
9
|
+
const home = resolveNexusHome();
|
|
10
|
+
const validTypes = ['implements', 'engines', 'curricula', 'temperaments'];
|
|
11
|
+
let category;
|
|
12
|
+
if (options.type) {
|
|
13
|
+
if (!validTypes.includes(options.type)) {
|
|
14
|
+
console.error(`Error: --type must be one of: ${validTypes.join(', ')}`);
|
|
15
|
+
process.exitCode = 1;
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
category = options.type;
|
|
19
|
+
}
|
|
20
|
+
const result = removeTool({ home, name, category });
|
|
21
|
+
console.log(`Removed ${result.category.slice(0, -1)} "${result.name}" (was at slot ${result.slot})`);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=remove-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove-tool.js","sourceRoot":"","sources":["../../src/commands/remove-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEtE,MAAM,UAAU,qBAAqB;IACnC,OAAO,aAAa,CAAC,aAAa,CAAC;SAChC,WAAW,CAAC,wEAAwE,CAAC;SACrF,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC;SAChD,MAAM,CAAC,eAAe,EAAE,gFAAgF,CAAC;SACzG,MAAM,CAAC,CAAC,IAAY,EAAE,OAA0B,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,CAAU,CAAC;QACnF,IAAI,QAA+C,CAAC;QAEpD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAiC,CAAC,EAAE,CAAC;gBACpE,OAAO,CAAC,KAAK,CAAC,iCAAiC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,QAAQ,GAAG,OAAO,CAAC,IAAiC,CAAC;QACvD,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,kBAAkB,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;IACvG,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,4CAMhC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,UAAU,iBAAiB;IAC/B,OAAO,aAAa,CAAC,QAAQ,CAAC;SAC3B,WAAW,CAAC,oBAAoB,CAAC;SACjC,MAAM,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,OAAO,yCAED,CAAC"}
|
package/dist/program.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { createCommand } from 'commander';
|
|
2
|
+
import { VERSION } from '@shardworks/nexus-core';
|
|
3
|
+
import { makeInitCommand } from "./commands/init.js";
|
|
4
|
+
import { makeInstallToolCommand } from "./commands/install-tool.js";
|
|
5
|
+
import { makeRemoveToolCommand } from "./commands/remove-tool.js";
|
|
6
|
+
import { makeDispatchCommand } from "./commands/dispatch.js";
|
|
7
|
+
import { makePublishCommand } from "./commands/publish.js";
|
|
8
|
+
import { makeInstantiateCommand } from "./commands/instantiate.js";
|
|
9
|
+
import { makeManifestCommand } from "./commands/manifest.js";
|
|
10
|
+
import { makeStatusCommand } from "./commands/status.js";
|
|
11
|
+
export const program = createCommand('nexus')
|
|
12
|
+
.description('Nexus Mk 2.1 — experimental multi-agent AI system')
|
|
13
|
+
.version(VERSION);
|
|
14
|
+
program.addCommand(makeInitCommand());
|
|
15
|
+
program.addCommand(makeInstallToolCommand());
|
|
16
|
+
program.addCommand(makeRemoveToolCommand());
|
|
17
|
+
program.addCommand(makeDispatchCommand());
|
|
18
|
+
program.addCommand(makePublishCommand());
|
|
19
|
+
program.addCommand(makeInstantiateCommand());
|
|
20
|
+
program.addCommand(makeManifestCommand());
|
|
21
|
+
program.addCommand(makeStatusCommand());
|
|
22
|
+
//# sourceMappingURL=program.js.map
|
|
@@ -0,0 +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,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;KAC1C,WAAW,CAAC,mDAAmD,CAAC;KAChE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC;AACtC,OAAO,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;AAC7C,OAAO,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;AAC5C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;AACzC,OAAO,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;AAC7C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@shardworks/nexus",
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"repository": {
|
|
5
|
+
"type": "git",
|
|
6
|
+
"url": "https://github.com/shardworks/nexus-mk2",
|
|
7
|
+
"directory": "packages/cli"
|
|
8
|
+
},
|
|
9
|
+
"description": "Nexus Mk 2.1 — CLI for the guild system",
|
|
10
|
+
"type": "module",
|
|
11
|
+
"bin": {
|
|
12
|
+
"nexus": "./dist/cli.js"
|
|
13
|
+
},
|
|
14
|
+
"exports": {
|
|
15
|
+
".": {
|
|
16
|
+
"types": "./dist/index.d.ts",
|
|
17
|
+
"import": "./dist/index.js"
|
|
18
|
+
},
|
|
19
|
+
"./commands/*": {
|
|
20
|
+
"types": "./dist/commands/*.d.ts",
|
|
21
|
+
"import": "./dist/commands/*.js"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"better-sqlite3": "12.8.0",
|
|
26
|
+
"commander": "14.0.3",
|
|
27
|
+
"@shardworks/engine-ledger-migrate": "0.1.1",
|
|
28
|
+
"@shardworks/engine-manifest": "0.1.1",
|
|
29
|
+
"@shardworks/implement-dispatch": "0.1.1",
|
|
30
|
+
"@shardworks/nexus-core": "0.1.1",
|
|
31
|
+
"@shardworks/implement-install-tool": "0.1.1",
|
|
32
|
+
"@shardworks/implement-instantiate": "0.1.1",
|
|
33
|
+
"@shardworks/implement-nexus-version": "0.1.1",
|
|
34
|
+
"@shardworks/implement-remove-tool": "0.1.1",
|
|
35
|
+
"@shardworks/implement-publish": "0.1.1",
|
|
36
|
+
"@shardworks/engine-mcp-server": "0.1.1",
|
|
37
|
+
"@shardworks/engine-worktree-setup": "0.1.1"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"@commander-js/extra-typings": "14.0.0",
|
|
41
|
+
"@types/better-sqlite3": "7.6.13",
|
|
42
|
+
"@types/node": "25.5.0"
|
|
43
|
+
},
|
|
44
|
+
"files": [
|
|
45
|
+
"dist"
|
|
46
|
+
],
|
|
47
|
+
"scripts": {
|
|
48
|
+
"build": "tsc",
|
|
49
|
+
"cli": "node --disable-warning=ExperimentalWarning --experimental-transform-types src/cli.ts",
|
|
50
|
+
"test": "node --disable-warning=ExperimentalWarning --experimental-transform-types --test 'src/**/*.test.ts'",
|
|
51
|
+
"typecheck": "tsc --noEmit"
|
|
52
|
+
}
|
|
53
|
+
}
|