@shardworks/nexus 0.1.7 → 0.1.9

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.
@@ -0,0 +1,4 @@
1
+ export declare function makeConsultCommand(): import("commander").Command<[string | undefined], {
2
+ name?: string | undefined;
3
+ }, {}>;
4
+ //# sourceMappingURL=consult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consult.d.ts","sourceRoot":"","sources":["../../src/commands/consult.ts"],"names":[],"mappings":"AAqGA,wBAAgB,kBAAkB;;OA2EjC"}
@@ -0,0 +1,148 @@
1
+ /**
2
+ * consult command
3
+ *
4
+ * Starts an interactive Claude session with a guild member (anima).
5
+ * The anima is identified by role (positional) or by name (--name flag).
6
+ *
7
+ * Session setup:
8
+ * 1. Look up the anima in the Ledger
9
+ * 2. Manifest the anima (system prompt + MCP config via engine-manifest)
10
+ * 3. Write temp files: system prompt, MCP server config, Claude MCP config
11
+ * 4. Launch `claude --bare --dangerously-skip-permissions` in the guild root
12
+ * 5. Clean up temp files after the session exits
13
+ *
14
+ * --bare prevents Claude from auto-discovering CLAUDE.md files in the guild,
15
+ * which could bleed unintended instructions into the anima's context.
16
+ */
17
+ import { createCommand } from 'commander';
18
+ import { spawnSync } from 'node:child_process';
19
+ import fs from 'node:fs';
20
+ import os from 'node:os';
21
+ import path from 'node:path';
22
+ import { fileURLToPath } from 'node:url';
23
+ import Database from 'better-sqlite3';
24
+ import { manifest } from '@shardworks/engine-manifest';
25
+ import { ledgerPath } from '@shardworks/nexus-core';
26
+ import { resolveHome } from "../resolve-home.js";
27
+ /**
28
+ * Look up the name of the first active anima holding a given role.
29
+ *
30
+ * If multiple animas share the role, one is selected arbitrarily (lowest id).
31
+ * Throws if no active anima holds the role.
32
+ */
33
+ function resolveAnimaByRole(home, role) {
34
+ const db = new Database(ledgerPath(home));
35
+ db.pragma('foreign_keys = ON');
36
+ try {
37
+ const row = db.prepare(`
38
+ SELECT a.name FROM animas a
39
+ JOIN roster r ON r.anima_id = a.id
40
+ WHERE r.role = ? AND a.status = 'active'
41
+ ORDER BY a.id ASC
42
+ LIMIT 1
43
+ `).get(role);
44
+ if (!row) {
45
+ throw new Error(`No active anima found for role "${role}".`);
46
+ }
47
+ return row.name;
48
+ }
49
+ finally {
50
+ db.close();
51
+ }
52
+ }
53
+ /**
54
+ * Build the Claude MCP config JSON (mcpServers format) that launches the
55
+ * engine-mcp-server as a stdio process serving the anima's implements.
56
+ *
57
+ * The engine module exports main() but doesn't self-invoke, so we write a
58
+ * tiny wrapper script that imports it and calls main(). This also sidesteps
59
+ * the CJS/ESM resolution mismatch — we resolve the engine via
60
+ * import.meta.resolve (ESM-aware) and import it by URL in the wrapper.
61
+ */
62
+ function buildClaudeMcpConfig(tmpDir, mcpServerConfigPath, serverConfig) {
63
+ // Resolve engine-mcp-server via ESM resolution (handles both dev .ts and prod .js).
64
+ const engineUrl = import.meta.resolve('@shardworks/engine-mcp-server');
65
+ const enginePath = fileURLToPath(engineUrl);
66
+ // Write a wrapper script that imports and invokes main().
67
+ // The wrapper passes the config path via argv so main() picks it up.
68
+ const wrapperPath = path.join(tmpDir, 'mcp-entry.mjs');
69
+ fs.writeFileSync(wrapperPath, `import { main } from ${JSON.stringify(engineUrl)};\nawait main();\n`);
70
+ // In dev the resolved path is .ts source; add the transform flag.
71
+ const nodeArgs = [];
72
+ if (enginePath.endsWith('.ts')) {
73
+ nodeArgs.push('--disable-warning=ExperimentalWarning', '--experimental-transform-types');
74
+ }
75
+ return {
76
+ mcpServers: {
77
+ 'nexus-guild': {
78
+ command: 'node',
79
+ args: [...nodeArgs, wrapperPath, mcpServerConfigPath],
80
+ env: serverConfig.env ?? {},
81
+ },
82
+ },
83
+ };
84
+ }
85
+ export function makeConsultCommand() {
86
+ return createCommand('consult')
87
+ .description('Start an interactive consultation with a guild member')
88
+ .argument('[role]', 'Role to consult (finds the active anima holding this role)')
89
+ .option('--name <anima>', 'Consult by anima name directly, bypassing role lookup')
90
+ .action(async (role, options, cmd) => {
91
+ const home = resolveHome(cmd);
92
+ if (!role && !options.name) {
93
+ cmd.help();
94
+ return;
95
+ }
96
+ if (role && options.name) {
97
+ console.error('Error: provide a role argument or --name, not both.');
98
+ process.exitCode = 1;
99
+ return;
100
+ }
101
+ // Resolve anima name
102
+ let animaName;
103
+ try {
104
+ animaName = options.name
105
+ ? options.name
106
+ : resolveAnimaByRole(home, role);
107
+ }
108
+ catch (err) {
109
+ console.error(`Error: ${err.message}`);
110
+ process.exitCode = 1;
111
+ return;
112
+ }
113
+ // Manifest the anima (system prompt + MCP config)
114
+ let result;
115
+ try {
116
+ result = await manifest(home, animaName);
117
+ }
118
+ catch (err) {
119
+ console.error(`Error: ${err.message}`);
120
+ process.exitCode = 1;
121
+ return;
122
+ }
123
+ // Write temp files into a dedicated temp dir
124
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'nsg-consult-'));
125
+ try {
126
+ const systemPromptPath = path.join(tmpDir, 'system-prompt.md');
127
+ const mcpServerConfigPath = path.join(tmpDir, 'mcp-server-config.json');
128
+ const claudeMcpConfigPath = path.join(tmpDir, 'claude-mcp-config.json');
129
+ fs.writeFileSync(systemPromptPath, result.systemPrompt);
130
+ fs.writeFileSync(mcpServerConfigPath, JSON.stringify(result.mcpConfig, null, 2));
131
+ fs.writeFileSync(claudeMcpConfigPath, JSON.stringify(buildClaudeMcpConfig(tmpDir, mcpServerConfigPath, result.mcpConfig), null, 2));
132
+ console.log(`Consulting ${result.anima.name} (${result.anima.roles.join(', ')})...\n`);
133
+ spawnSync('claude', [
134
+ '--bare',
135
+ '--dangerously-skip-permissions',
136
+ '--system-prompt-file', systemPromptPath,
137
+ '--mcp-config', claudeMcpConfigPath,
138
+ ], {
139
+ cwd: home,
140
+ stdio: 'inherit',
141
+ });
142
+ }
143
+ finally {
144
+ fs.rmSync(tmpDir, { recursive: true, force: true });
145
+ }
146
+ });
147
+ }
148
+ //# sourceMappingURL=consult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consult.js","sourceRoot":"","sources":["../../src/commands/consult.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,OAAO;;MAGkE,CAAC"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,OAAO;;MAGkE,CAAC"}
package/dist/program.js CHANGED
@@ -8,12 +8,14 @@ import { makeDispatchCommand } from "./commands/dispatch.js";
8
8
  import { makeInstantiateCommand } from "./commands/instantiate.js";
9
9
  import { makeManifestCommand } from "./commands/manifest.js";
10
10
  import { makeStatusCommand } from "./commands/status.js";
11
+ import { makeConsultCommand } from "./commands/consult.js";
11
12
  export const program = createCommand('nsg')
12
13
  .description('Nexus Mk 2.1 — experimental multi-agent AI system')
13
14
  .version(VERSION)
14
15
  .option('--guild-root <path>', 'Path to guild root (default: auto-detect from cwd)');
15
16
  // ── Top-level commands ──────────────────────────────────────────────────
16
17
  program.addCommand(makeInitCommand());
18
+ program.addCommand(makeConsultCommand());
17
19
  program.addCommand(makeDispatchCommand());
18
20
  program.addCommand(makeStatusCommand());
19
21
  // ── nsg tool [install|remove|rehydrate] ─────────────────────────────────
@@ -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,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,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,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,KAAK,CAAC;KACxC,WAAW,CAAC,mDAAmD,CAAC;KAChE,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,qBAAqB,EAAE,oDAAoD,CAAC,CAAC;AAEvF,2EAA2E;AAC3E,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC;AACtC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAExC,2EAA2E;AAC3E,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC;KACpC,WAAW,CAAC,mEAAmE,CAAC,CAAC;AACpF,SAAS,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;AAC/C,SAAS,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;AAC9C,SAAS,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAC7C,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAE9B,2EAA2E;AAC3E,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC;KACtC,WAAW,CAAC,eAAe,CAAC,CAAC;AAChC,UAAU,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;AAChD,UAAU,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC7C,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC"}
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,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC;KACxC,WAAW,CAAC,mDAAmD,CAAC;KAChE,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,qBAAqB,EAAE,oDAAoD,CAAC,CAAC;AAEvF,2EAA2E;AAC3E,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC;AACtC,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;AACzC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAExC,2EAA2E;AAC3E,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC;KACpC,WAAW,CAAC,mEAAmE,CAAC,CAAC;AACpF,SAAS,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;AAC/C,SAAS,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;AAC9C,SAAS,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAC7C,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAE9B,2EAA2E;AAC3E,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC;KACtC,WAAW,CAAC,eAAe,CAAC,CAAC;AAChC,UAAU,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;AAChD,UAAU,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC7C,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shardworks/nexus",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "license": "ISC",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,16 +26,16 @@
26
26
  "dependencies": {
27
27
  "better-sqlite3": "12.8.0",
28
28
  "commander": "14.0.3",
29
- "@shardworks/nexus-core": "0.1.7",
30
- "@shardworks/engine-ledger-migrate": "0.1.7",
31
- "@shardworks/engine-manifest": "0.1.7",
32
- "@shardworks/implement-install-tool": "0.1.7",
33
- "@shardworks/implement-dispatch": "0.1.7",
34
- "@shardworks/implement-instantiate": "0.1.7",
35
- "@shardworks/implement-nexus-version": "0.1.7",
36
- "@shardworks/implement-remove-tool": "0.1.7",
37
- "@shardworks/engine-mcp-server": "0.1.7",
38
- "@shardworks/engine-worktree-setup": "0.1.7"
29
+ "@shardworks/nexus-core": "0.1.9",
30
+ "@shardworks/engine-ledger-migrate": "0.1.9",
31
+ "@shardworks/engine-manifest": "0.1.9",
32
+ "@shardworks/implement-dispatch": "0.1.9",
33
+ "@shardworks/implement-instantiate": "0.1.9",
34
+ "@shardworks/implement-remove-tool": "0.1.9",
35
+ "@shardworks/implement-nexus-version": "0.1.9",
36
+ "@shardworks/engine-mcp-server": "0.1.9",
37
+ "@shardworks/engine-worktree-setup": "0.1.9",
38
+ "@shardworks/implement-install-tool": "0.1.9"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@commander-js/extra-typings": "14.0.0",