@shardworks/nexus 0.1.20 → 0.1.22
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/commands/consult.d.ts.map +1 -1
- package/dist/commands/consult.js +19 -12
- package/dist/commands/consult.js.map +1 -1
- package/dist/commands/init.js +1 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/manifest.js +2 -2
- package/dist/commands/manifest.js.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +5 -6
- package/dist/program.js.map +1 -1
- package/package.json +4 -7
- package/dist/session.d.ts +0 -30
- package/dist/session.d.ts.map +0 -1
- package/dist/session.js +0 -90
- package/dist/session.js.map +0 -1
- package/dist/summon.d.ts +0 -6
- package/dist/summon.d.ts.map +0 -1
- package/dist/summon.js +0 -68
- package/dist/summon.js.map +0 -1
|
@@ -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":"AAcA;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAmBrE;AAED,wBAAgB,kBAAkB,gCA4DjC"}
|
package/dist/commands/consult.js
CHANGED
|
@@ -4,15 +4,12 @@
|
|
|
4
4
|
* Starts an interactive Claude session with a guild member (anima).
|
|
5
5
|
* The anima is identified by role (positional) or by name (--name flag).
|
|
6
6
|
*
|
|
7
|
-
* Uses the
|
|
8
|
-
* share the same setup/teardown/metrics path.
|
|
7
|
+
* Uses the unified session funnel in core for setup, metrics, and cleanup.
|
|
9
8
|
*/
|
|
10
9
|
import { createCommand } from 'commander';
|
|
11
10
|
import Database from 'better-sqlite3';
|
|
12
|
-
import { manifest } from '@shardworks/
|
|
13
|
-
import { ledgerPath } from '@shardworks/nexus-core';
|
|
11
|
+
import { manifest, launchSession, ledgerPath } from '@shardworks/nexus-core';
|
|
14
12
|
import { resolveHome } from "../resolve-home.js";
|
|
15
|
-
import { launchSession } from "../session.js";
|
|
16
13
|
/**
|
|
17
14
|
* Look up the name of the first active anima holding a given role.
|
|
18
15
|
*
|
|
@@ -67,7 +64,7 @@ export function makeConsultCommand() {
|
|
|
67
64
|
process.exitCode = 1;
|
|
68
65
|
return;
|
|
69
66
|
}
|
|
70
|
-
// Manifest the anima (system prompt +
|
|
67
|
+
// Manifest the anima (system prompt + tools)
|
|
71
68
|
let result;
|
|
72
69
|
try {
|
|
73
70
|
result = await manifest(home, animaName);
|
|
@@ -78,12 +75,22 @@ export function makeConsultCommand() {
|
|
|
78
75
|
return;
|
|
79
76
|
}
|
|
80
77
|
console.log(`Consulting ${result.anima.name} (${result.anima.roles.join(', ')})...\n`);
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
78
|
+
// Workspace: guildhall for now (future: --workshop flag)
|
|
79
|
+
const workspace = { kind: 'guildhall' };
|
|
80
|
+
try {
|
|
81
|
+
await launchSession({
|
|
82
|
+
home,
|
|
83
|
+
manifest: result,
|
|
84
|
+
prompt: null,
|
|
85
|
+
interactive: true,
|
|
86
|
+
workspace,
|
|
87
|
+
trigger: 'consult',
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
catch (err) {
|
|
91
|
+
console.error(`Error: ${err.message}`);
|
|
92
|
+
process.exitCode = 1;
|
|
93
|
+
}
|
|
87
94
|
});
|
|
88
95
|
}
|
|
89
96
|
//# sourceMappingURL=consult.js.map
|
|
@@ -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":"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"}
|
package/dist/commands/init.js
CHANGED
|
@@ -3,7 +3,7 @@ import path from 'node:path';
|
|
|
3
3
|
import { execFileSync } from 'node:child_process';
|
|
4
4
|
import readline from 'node:readline/promises';
|
|
5
5
|
import { initGuild, installBundle, instantiate } from '@shardworks/nexus-core';
|
|
6
|
-
import { applyMigrations } from '@shardworks/
|
|
6
|
+
import { applyMigrations } from '@shardworks/nexus-core';
|
|
7
7
|
const DEFAULT_MODEL = 'sonnet';
|
|
8
8
|
const DEFAULT_BUNDLE = '@shardworks/guild-starter-kit';
|
|
9
9
|
async function prompt(question, defaultValue) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createCommand } from 'commander';
|
|
2
|
-
import { manifest } from '@shardworks/
|
|
2
|
+
import { manifest } from '@shardworks/nexus-core';
|
|
3
3
|
import { resolveHome } from "../resolve-home.js";
|
|
4
4
|
export function makeManifestCommand() {
|
|
5
5
|
return createCommand('manifest')
|
|
@@ -15,7 +15,7 @@ export function makeManifestCommand() {
|
|
|
15
15
|
}
|
|
16
16
|
else {
|
|
17
17
|
console.log(`Anima: ${result.anima.name} (${result.anima.roles.join(', ')})`);
|
|
18
|
-
console.log(`Tools: ${result.
|
|
18
|
+
console.log(`Tools: ${result.tools.map(i => i.name).join(', ')}`);
|
|
19
19
|
console.log(`System prompt: ${result.systemPrompt.length} chars`);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
@@ -1 +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,QAAQ,EAAE,MAAM,
|
|
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,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,UAAU,mBAAmB;IACjC,OAAO,aAAa,CAAC,UAAU,CAAC;SAC7B,WAAW,CAAC,yDAAyD,CAAC;SACtE,QAAQ,CAAC,SAAS,EAAE,wBAAwB,CAAC;SAC7C,MAAM,CAAC,QAAQ,EAAE,oCAAoC,CAAC;SACtD,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,OAA2B,EAAE,GAAG,EAAE,EAAE;QACpE,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAE9B,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,UAAU,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClE,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"}
|
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":"AAoBA,eAAO,MAAM,OAAO,6BAGkE,CAAC"}
|
package/dist/program.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createCommand } from 'commander';
|
|
2
|
-
import { VERSION,
|
|
2
|
+
import { VERSION, registerSessionProvider } from '@shardworks/nexus-core';
|
|
3
|
+
import { claudeCodeProvider } from '@shardworks/engine-session-claude-code';
|
|
3
4
|
import { makeInitCommand } from "./commands/init.js";
|
|
4
5
|
import { makeInstallToolCommand } from "./commands/install-tool.js";
|
|
5
6
|
import { makeRemoveToolCommand } from "./commands/remove-tool.js";
|
|
@@ -12,11 +13,9 @@ import { makeConsultCommand } from "./commands/consult.js";
|
|
|
12
13
|
import { makeSignalCommand } from "./commands/signal.js";
|
|
13
14
|
import { makeClockCommand } from "./commands/clock.js";
|
|
14
15
|
import { makeWorkshopCommand } from "./commands/workshop.js";
|
|
15
|
-
|
|
16
|
-
//
|
|
17
|
-
|
|
18
|
-
// without creating a circular dependency.
|
|
19
|
-
registerSummonHandler(createSummonHandler());
|
|
16
|
+
// Register the Claude Code session provider so core's session funnel
|
|
17
|
+
// can launch claude sessions.
|
|
18
|
+
registerSessionProvider(claudeCodeProvider);
|
|
20
19
|
export const program = createCommand('nsg')
|
|
21
20
|
.description('Nexus Mk 2.1 — experimental multi-agent AI system')
|
|
22
21
|
.version(VERSION)
|
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,
|
|
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,wCAAwC,CAAC;AAC5E,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,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,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;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,qEAAqE;AACrE,8BAA8B;AAC9B,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;AAE5C,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,qBAAqB,EAAE,CAAC,CAAC;AAC5C,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAEvC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAE1C,2EAA2E;AAC3E,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC;KACtC,WAAW,CAAC,uBAAuB,CAAC,CAAC;AACxC,UAAU,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAC5C,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAE/B,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,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.
|
|
3
|
+
"version": "0.1.22",
|
|
4
4
|
"license": "ISC",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -26,12 +26,9 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"better-sqlite3": "12.8.0",
|
|
28
28
|
"commander": "14.0.3",
|
|
29
|
-
"@shardworks/nexus-core": "0.1.
|
|
30
|
-
"@shardworks/nexus-stdlib": "0.1.
|
|
31
|
-
"@shardworks/engine-
|
|
32
|
-
"@shardworks/engine-manifest": "0.1.20",
|
|
33
|
-
"@shardworks/engine-mcp-server": "0.1.20",
|
|
34
|
-
"@shardworks/engine-worktree-setup": "0.1.20"
|
|
29
|
+
"@shardworks/nexus-core": "0.1.22",
|
|
30
|
+
"@shardworks/nexus-stdlib": "0.1.22",
|
|
31
|
+
"@shardworks/engine-session-claude-code": "0.1.22"
|
|
35
32
|
},
|
|
36
33
|
"devDependencies": {
|
|
37
34
|
"@commander-js/extra-typings": "14.0.0",
|
package/dist/session.d.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type { ManifestResult } from '@shardworks/engine-manifest';
|
|
2
|
-
export interface SessionOptions {
|
|
3
|
-
/** Absolute path to the guild root (for tool/engine resolution). */
|
|
4
|
-
home: string;
|
|
5
|
-
/** Working directory for the claude process. */
|
|
6
|
-
cwd: string;
|
|
7
|
-
/** Manifest result from engine-manifest. */
|
|
8
|
-
manifest: ManifestResult;
|
|
9
|
-
/** Interactive = stdio inherit; print = commission spec as prompt. */
|
|
10
|
-
mode: 'interactive' | {
|
|
11
|
-
print: string;
|
|
12
|
-
};
|
|
13
|
-
/** Display name for session tracking (--name flag). */
|
|
14
|
-
name?: string;
|
|
15
|
-
}
|
|
16
|
-
export interface SessionResult {
|
|
17
|
-
/** Process exit code (0 = success, non-zero = error or crash). */
|
|
18
|
-
exitCode: number;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Launch a claude session for an anima.
|
|
22
|
-
*
|
|
23
|
-
* Handles all temp file setup, claude process spawning, and cleanup.
|
|
24
|
-
* Returns a SessionResult with the exit code (and eventually metrics).
|
|
25
|
-
*
|
|
26
|
-
* Interactive mode: stdio inherited, human at the keyboard.
|
|
27
|
-
* Print mode: commission spec passed as prompt, output captured.
|
|
28
|
-
*/
|
|
29
|
-
export declare function launchSession(options: SessionOptions): SessionResult;
|
|
30
|
-
//# sourceMappingURL=session.d.ts.map
|
package/dist/session.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,6BAA6B,CAAC;AAInF,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,QAAQ,EAAE,cAAc,CAAC;IACzB,sEAAsE;IACtE,IAAI,EAAE,aAAa,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;CAGlB;AA8CD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,CA+CpE"}
|
package/dist/session.js
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Session launcher — shared infrastructure for starting claude sessions.
|
|
3
|
-
*
|
|
4
|
-
* Both `nsg consult` (interactive) and the Clockworks `summon` verb
|
|
5
|
-
* (commissioned) use this to launch anima sessions. Factored here so
|
|
6
|
-
* session setup, metrics collection, and cleanup happen in one place.
|
|
7
|
-
*/
|
|
8
|
-
import { spawnSync } from 'node:child_process';
|
|
9
|
-
import fs from 'node:fs';
|
|
10
|
-
import os from 'node:os';
|
|
11
|
-
import path from 'node:path';
|
|
12
|
-
import { fileURLToPath } from 'node:url';
|
|
13
|
-
// ── Internal helpers ───────────────────────────────────────────────────
|
|
14
|
-
/**
|
|
15
|
-
* Build the Claude MCP config JSON (mcpServers format) that launches the
|
|
16
|
-
* engine-mcp-server as a stdio process serving the anima's tools.
|
|
17
|
-
*/
|
|
18
|
-
function buildClaudeMcpConfig(tmpDir, mcpServerConfigPath, serverConfig) {
|
|
19
|
-
// Resolve engine-mcp-server via ESM resolution (handles both dev .ts and prod .js).
|
|
20
|
-
const engineUrl = import.meta.resolve('@shardworks/engine-mcp-server');
|
|
21
|
-
const enginePath = fileURLToPath(engineUrl);
|
|
22
|
-
// Write a wrapper script that imports and invokes main().
|
|
23
|
-
const wrapperPath = path.join(tmpDir, 'mcp-entry.mjs');
|
|
24
|
-
fs.writeFileSync(wrapperPath, `import { main } from ${JSON.stringify(engineUrl)};\nawait main();\n`);
|
|
25
|
-
// In dev the resolved path is .ts source; add the transform flag.
|
|
26
|
-
const nodeArgs = [];
|
|
27
|
-
if (enginePath.endsWith('.ts')) {
|
|
28
|
-
nodeArgs.push('--disable-warning=ExperimentalWarning', '--experimental-transform-types');
|
|
29
|
-
}
|
|
30
|
-
return {
|
|
31
|
-
mcpServers: {
|
|
32
|
-
'nexus-guild': {
|
|
33
|
-
command: 'node',
|
|
34
|
-
args: [...nodeArgs, wrapperPath, mcpServerConfigPath],
|
|
35
|
-
env: serverConfig.env ?? {},
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
// ── Public API ─────────────────────────────────────────────────────────
|
|
41
|
-
/**
|
|
42
|
-
* Launch a claude session for an anima.
|
|
43
|
-
*
|
|
44
|
-
* Handles all temp file setup, claude process spawning, and cleanup.
|
|
45
|
-
* Returns a SessionResult with the exit code (and eventually metrics).
|
|
46
|
-
*
|
|
47
|
-
* Interactive mode: stdio inherited, human at the keyboard.
|
|
48
|
-
* Print mode: commission spec passed as prompt, output captured.
|
|
49
|
-
*/
|
|
50
|
-
export function launchSession(options) {
|
|
51
|
-
const { home, cwd, manifest: result, mode, name } = options;
|
|
52
|
-
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'nsg-session-'));
|
|
53
|
-
try {
|
|
54
|
-
const systemPromptPath = path.join(tmpDir, 'system-prompt.md');
|
|
55
|
-
const mcpServerConfigPath = path.join(tmpDir, 'mcp-server-config.json');
|
|
56
|
-
const claudeMcpConfigPath = path.join(tmpDir, 'claude-mcp-config.json');
|
|
57
|
-
fs.writeFileSync(systemPromptPath, result.systemPrompt);
|
|
58
|
-
fs.writeFileSync(mcpServerConfigPath, JSON.stringify(result.mcpConfig, null, 2));
|
|
59
|
-
fs.writeFileSync(claudeMcpConfigPath, JSON.stringify(buildClaudeMcpConfig(tmpDir, mcpServerConfigPath, result.mcpConfig), null, 2));
|
|
60
|
-
// Base args — shared between interactive and print modes
|
|
61
|
-
const args = [
|
|
62
|
-
'--bare',
|
|
63
|
-
'--setting-sources', 'user',
|
|
64
|
-
'--dangerously-skip-permissions',
|
|
65
|
-
'--system-prompt-file', systemPromptPath,
|
|
66
|
-
'--mcp-config', claudeMcpConfigPath,
|
|
67
|
-
];
|
|
68
|
-
if (name) {
|
|
69
|
-
args.push('--name', name);
|
|
70
|
-
}
|
|
71
|
-
if (mode === 'interactive') {
|
|
72
|
-
// Interactive: human at keyboard, inherit stdio
|
|
73
|
-
const proc = spawnSync('claude', args, { cwd, stdio: 'inherit' });
|
|
74
|
-
return { exitCode: proc.status ?? 1 };
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
// Print mode: commission spec as prompt, capture output
|
|
78
|
-
args.push('--print', mode.print);
|
|
79
|
-
const proc = spawnSync('claude', args, {
|
|
80
|
-
cwd,
|
|
81
|
-
stdio: ['pipe', 'inherit', 'inherit'],
|
|
82
|
-
});
|
|
83
|
-
return { exitCode: proc.status ?? 1 };
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
finally {
|
|
87
|
-
fs.rmSync(tmpDir, { recursive: true, force: true });
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
//# sourceMappingURL=session.js.map
|
package/dist/session.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
package/dist/summon.d.ts
DELETED
package/dist/summon.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"summon.d.ts","sourceRoot":"","sources":["../src/summon.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAIxE;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CA2EnD"}
|
package/dist/summon.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Summon handler — wires the Clockworks summon verb to the session launcher.
|
|
3
|
-
*
|
|
4
|
-
* When a standing order fires with `summon: "roleName"`, the Clockworks
|
|
5
|
-
* runner calls this handler. It:
|
|
6
|
-
* 1. Resolves the role to an active anima
|
|
7
|
-
* 2. Reads the commission content from the event payload
|
|
8
|
-
* 3. Manifests the anima (system prompt + MCP config)
|
|
9
|
-
* 4. Launches a claude session in the worktree directory
|
|
10
|
-
* 5. Signals commission.session.ended when the session exits
|
|
11
|
-
*
|
|
12
|
-
* This lives in the CLI package (not core) because it depends on
|
|
13
|
-
* engine-manifest and the session launcher, which are CLI-layer concerns.
|
|
14
|
-
*/
|
|
15
|
-
import Database from 'better-sqlite3';
|
|
16
|
-
import { manifest } from '@shardworks/engine-manifest';
|
|
17
|
-
import { ledgerPath, signalEvent, updateCommissionStatus, readCommission, } from '@shardworks/nexus-core';
|
|
18
|
-
import { resolveAnimaByRole } from "./commands/consult.js";
|
|
19
|
-
import { launchSession } from "./session.js";
|
|
20
|
-
/**
|
|
21
|
-
* Create a summon handler that can be registered with the Clockworks runner.
|
|
22
|
-
*/
|
|
23
|
-
export function createSummonHandler() {
|
|
24
|
-
return async (home, event, roleName, _noticeType) => {
|
|
25
|
-
const payload = event.payload;
|
|
26
|
-
if (!payload || typeof payload.commissionId !== 'number') {
|
|
27
|
-
throw new Error(`Summon handler expected event payload with commissionId, got: ${JSON.stringify(payload)}`);
|
|
28
|
-
}
|
|
29
|
-
const commissionId = payload.commissionId;
|
|
30
|
-
const workshop = payload.workshop;
|
|
31
|
-
const worktreePath = payload.worktreePath;
|
|
32
|
-
// Read commission content from the Ledger
|
|
33
|
-
const commissionRecord = readCommission(home, commissionId);
|
|
34
|
-
if (!commissionRecord) {
|
|
35
|
-
throw new Error(`Commission #${commissionId} not found in the Ledger.`);
|
|
36
|
-
}
|
|
37
|
-
// Resolve role to a specific anima
|
|
38
|
-
const animaName = resolveAnimaByRole(home, roleName);
|
|
39
|
-
// Write commission assignment
|
|
40
|
-
const db = new Database(ledgerPath(home));
|
|
41
|
-
db.pragma('foreign_keys = ON');
|
|
42
|
-
try {
|
|
43
|
-
const animaRow = db.prepare(`SELECT id FROM animas WHERE name = ?`).get(animaName);
|
|
44
|
-
if (animaRow) {
|
|
45
|
-
db.prepare(`INSERT OR IGNORE INTO commission_assignments (commission_id, anima_id) VALUES (?, ?)`).run(commissionId, animaRow.id);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
finally {
|
|
49
|
-
db.close();
|
|
50
|
-
}
|
|
51
|
-
// Update commission status
|
|
52
|
-
updateCommissionStatus(home, commissionId, 'in_progress', `summoned ${animaName} (${roleName})`);
|
|
53
|
-
// Manifest the anima
|
|
54
|
-
const manifestResult = await manifest(home, animaName);
|
|
55
|
-
// Launch session in the worktree
|
|
56
|
-
const sessionResult = launchSession({
|
|
57
|
-
home,
|
|
58
|
-
cwd: worktreePath,
|
|
59
|
-
manifest: manifestResult,
|
|
60
|
-
mode: { print: commissionRecord.content },
|
|
61
|
-
name: `commission-${commissionId}`,
|
|
62
|
-
});
|
|
63
|
-
// Signal session ended for the next standing order (workshop-merge)
|
|
64
|
-
signalEvent(home, 'commission.session.ended', { commissionId, workshop, exitCode: sessionResult.exitCode }, 'framework');
|
|
65
|
-
return { animaName, exitCode: sessionResult.exitCode };
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=summon.js.map
|
package/dist/summon.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"summon.js","sourceRoot":"","sources":["../src/summon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EACL,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,cAAc,GACf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,KAAK,EACV,IAAY,EACZ,KAAiB,EACjB,QAAgB,EAChB,WAA+B,EACmB,EAAE;QACpD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAyC,CAAC;QAEhE,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CACb,iEAAiE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAC3F,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,YAAsB,CAAC;QACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAkB,CAAC;QAC5C,MAAM,YAAY,GAAG,OAAO,CAAC,YAAsB,CAAC;QAEpD,0CAA0C;QAC1C,MAAM,gBAAgB,GAAG,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,eAAe,YAAY,2BAA2B,CAAC,CAAC;QAC1E,CAAC;QAED,mCAAmC;QACnC,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAErD,8BAA8B;QAC9B,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CACzB,sCAAsC,CACvC,CAAC,GAAG,CAAC,SAAS,CAA+B,CAAC;YAE/C,IAAI,QAAQ,EAAE,CAAC;gBACb,EAAE,CAAC,OAAO,CACR,sFAAsF,CACvF,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;QAED,2BAA2B;QAC3B,sBAAsB,CACpB,IAAI,EACJ,YAAY,EACZ,aAAa,EACb,YAAY,SAAS,KAAK,QAAQ,GAAG,CACtC,CAAC;QAEF,qBAAqB;QACrB,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAEvD,iCAAiC;QACjC,MAAM,aAAa,GAAG,aAAa,CAAC;YAClC,IAAI;YACJ,GAAG,EAAE,YAAY;YACjB,QAAQ,EAAE,cAAc;YACxB,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,CAAC,OAAO,EAAE;YACzC,IAAI,EAAE,cAAc,YAAY,EAAE;SACnC,CAAC,CAAC;QAEH,oEAAoE;QACpE,WAAW,CACT,IAAI,EACJ,0BAA0B,EAC1B,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE,EAC5D,WAAW,CACZ,CAAC;QAEF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC;IACzD,CAAC,CAAC;AACJ,CAAC"}
|