@shardworks/nexus 0.1.8 → 0.1.10
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consult.d.ts","sourceRoot":"","sources":["../../src/commands/consult.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"consult.d.ts","sourceRoot":"","sources":["../../src/commands/consult.ts"],"names":[],"mappings":"AAsGA,wBAAgB,kBAAkB;;OA2EjC"}
|
package/dist/commands/consult.js
CHANGED
|
@@ -11,15 +11,16 @@
|
|
|
11
11
|
* 4. Launch `claude --bare --dangerously-skip-permissions` in the guild root
|
|
12
12
|
* 5. Clean up temp files after the session exits
|
|
13
13
|
*
|
|
14
|
-
* --
|
|
15
|
-
*
|
|
14
|
+
* --setting-sources user limits Claude to user-level settings only, skipping
|
|
15
|
+
* project-level CLAUDE.md auto-discovery that could bleed unintended
|
|
16
|
+
* instructions into the anima's carefully composed context.
|
|
16
17
|
*/
|
|
17
18
|
import { createCommand } from 'commander';
|
|
18
19
|
import { spawnSync } from 'node:child_process';
|
|
19
|
-
import { createRequire } from 'node:module';
|
|
20
20
|
import fs from 'node:fs';
|
|
21
21
|
import os from 'node:os';
|
|
22
22
|
import path from 'node:path';
|
|
23
|
+
import { fileURLToPath } from 'node:url';
|
|
23
24
|
import Database from 'better-sqlite3';
|
|
24
25
|
import { manifest } from '@shardworks/engine-manifest';
|
|
25
26
|
import { ledgerPath } from '@shardworks/nexus-core';
|
|
@@ -54,13 +55,20 @@ function resolveAnimaByRole(home, role) {
|
|
|
54
55
|
* Build the Claude MCP config JSON (mcpServers format) that launches the
|
|
55
56
|
* engine-mcp-server as a stdio process serving the anima's implements.
|
|
56
57
|
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
58
|
+
* The engine module exports main() but doesn't self-invoke, so we write a
|
|
59
|
+
* tiny wrapper script that imports it and calls main(). This also sidesteps
|
|
60
|
+
* the CJS/ESM resolution mismatch — we resolve the engine via
|
|
61
|
+
* import.meta.resolve (ESM-aware) and import it by URL in the wrapper.
|
|
59
62
|
*/
|
|
60
|
-
function buildClaudeMcpConfig(mcpServerConfigPath, serverConfig) {
|
|
61
|
-
|
|
62
|
-
const
|
|
63
|
-
|
|
63
|
+
function buildClaudeMcpConfig(tmpDir, mcpServerConfigPath, serverConfig) {
|
|
64
|
+
// Resolve engine-mcp-server via ESM resolution (handles both dev .ts and prod .js).
|
|
65
|
+
const engineUrl = import.meta.resolve('@shardworks/engine-mcp-server');
|
|
66
|
+
const enginePath = fileURLToPath(engineUrl);
|
|
67
|
+
// Write a wrapper script that imports and invokes main().
|
|
68
|
+
// The wrapper passes the config path via argv so main() picks it up.
|
|
69
|
+
const wrapperPath = path.join(tmpDir, 'mcp-entry.mjs');
|
|
70
|
+
fs.writeFileSync(wrapperPath, `import { main } from ${JSON.stringify(engineUrl)};\nawait main();\n`);
|
|
71
|
+
// In dev the resolved path is .ts source; add the transform flag.
|
|
64
72
|
const nodeArgs = [];
|
|
65
73
|
if (enginePath.endsWith('.ts')) {
|
|
66
74
|
nodeArgs.push('--disable-warning=ExperimentalWarning', '--experimental-transform-types');
|
|
@@ -69,7 +77,7 @@ function buildClaudeMcpConfig(mcpServerConfigPath, serverConfig) {
|
|
|
69
77
|
mcpServers: {
|
|
70
78
|
'nexus-guild': {
|
|
71
79
|
command: 'node',
|
|
72
|
-
args: [...nodeArgs,
|
|
80
|
+
args: [...nodeArgs, wrapperPath, mcpServerConfigPath],
|
|
73
81
|
env: serverConfig.env ?? {},
|
|
74
82
|
},
|
|
75
83
|
},
|
|
@@ -121,10 +129,10 @@ export function makeConsultCommand() {
|
|
|
121
129
|
const claudeMcpConfigPath = path.join(tmpDir, 'claude-mcp-config.json');
|
|
122
130
|
fs.writeFileSync(systemPromptPath, result.systemPrompt);
|
|
123
131
|
fs.writeFileSync(mcpServerConfigPath, JSON.stringify(result.mcpConfig, null, 2));
|
|
124
|
-
fs.writeFileSync(claudeMcpConfigPath, JSON.stringify(buildClaudeMcpConfig(mcpServerConfigPath, result.mcpConfig), null, 2));
|
|
132
|
+
fs.writeFileSync(claudeMcpConfigPath, JSON.stringify(buildClaudeMcpConfig(tmpDir, mcpServerConfigPath, result.mcpConfig), null, 2));
|
|
125
133
|
console.log(`Consulting ${result.anima.name} (${result.anima.roles.join(', ')})...\n`);
|
|
126
134
|
spawnSync('claude', [
|
|
127
|
-
'--
|
|
135
|
+
'--setting-sources', 'user',
|
|
128
136
|
'--dangerously-skip-permissions',
|
|
129
137
|
'--system-prompt-file', systemPromptPath,
|
|
130
138
|
'--mcp-config', claudeMcpConfigPath,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consult.js","sourceRoot":"","sources":["../../src/commands/consult.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"consult.js","sourceRoot":"","sources":["../../src/commands/consult.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,IAAY,EAAE,IAAY;IACpD,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;KAMtB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAiC,CAAC;QAE7C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,IAAI,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,oBAAoB,CAC3B,MAAc,EACd,mBAA2B,EAC3B,YAA6B;IAE7B,oFAAoF;IACpF,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAE5C,0DAA0D;IAC1D,qEAAqE;IACrE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACvD,EAAE,CAAC,aAAa,CACd,WAAW,EACX,wBAAwB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,oBAAoB,CACtE,CAAC;IAEF,kEAAkE;IAClE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,CACX,uCAAuC,EACvC,gCAAgC,CACjC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,UAAU,EAAE;YACV,aAAa,EAAE;gBACb,OAAO,EAAE,MAAM;gBACf,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,WAAW,EAAE,mBAAmB,CAAC;gBACrD,GAAG,EAAE,YAAY,CAAC,GAAG,IAAI,EAAE;aAC5B;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,aAAa,CAAC,SAAS,CAAC;SAC5B,WAAW,CAAC,uDAAuD,CAAC;SACpE,QAAQ,CAAC,QAAQ,EAAE,4DAA4D,CAAC;SAChF,MAAM,CAAC,gBAAgB,EAAE,uDAAuD,CAAC;SACjF,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,OAA0B,EAAE,GAAG,EAAE,EAAE;QAC1E,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAE9B,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACrE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,qBAAqB;QACrB,IAAI,SAAiB,CAAC;QACtB,IAAI,CAAC;YACH,SAAS,GAAG,OAAO,CAAC,IAAI;gBACtB,CAAC,CAAC,OAAO,CAAC,IAAI;gBACd,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAK,CAAC,CAAC;QACtC,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;YACrB,OAAO;QACT,CAAC;QAED,kDAAkD;QAClD,IAAI,MAA4C,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC3C,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;YACrB,OAAO;QACT,CAAC;QAED,6CAA6C;QAC7C,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;QAEtE,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;YAC/D,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;YACxE,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;YAExE,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;YACxD,EAAE,CAAC,aAAa,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACjF,EAAE,CAAC,aAAa,CACd,mBAAmB,EACnB,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAC7F,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEvF,SAAS,CACP,QAAQ,EACR;gBACE,mBAAmB,EAAE,MAAM;gBAC3B,gCAAgC;gBAChC,sBAAsB,EAAE,gBAAgB;gBACxC,cAAc,EAAE,mBAAmB;aACpC,EACD;gBACE,GAAG,EAAE,IAAI;gBACT,KAAK,EAAE,SAAS;aACjB,CACF,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shardworks/nexus",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
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.
|
|
30
|
-
"@shardworks/engine-
|
|
31
|
-
"@shardworks/engine-
|
|
32
|
-
"@shardworks/implement-dispatch": "0.1.
|
|
33
|
-
"@shardworks/implement-
|
|
34
|
-
"@shardworks/implement-
|
|
35
|
-
"@shardworks/
|
|
36
|
-
"@shardworks/
|
|
37
|
-
"@shardworks/
|
|
38
|
-
"@shardworks/
|
|
29
|
+
"@shardworks/nexus-core": "0.1.10",
|
|
30
|
+
"@shardworks/engine-manifest": "0.1.10",
|
|
31
|
+
"@shardworks/engine-ledger-migrate": "0.1.10",
|
|
32
|
+
"@shardworks/implement-dispatch": "0.1.10",
|
|
33
|
+
"@shardworks/implement-instantiate": "0.1.10",
|
|
34
|
+
"@shardworks/implement-nexus-version": "0.1.10",
|
|
35
|
+
"@shardworks/implement-remove-tool": "0.1.10",
|
|
36
|
+
"@shardworks/engine-mcp-server": "0.1.10",
|
|
37
|
+
"@shardworks/implement-install-tool": "0.1.10",
|
|
38
|
+
"@shardworks/engine-worktree-setup": "0.1.10"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@commander-js/extra-typings": "14.0.0",
|