@shardworks/claude-code-apparatus 0.1.148 → 0.1.150
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 +159 -0
- package/dist/babysitter.d.ts +152 -0
- package/dist/babysitter.d.ts.map +1 -0
- package/dist/babysitter.js +471 -0
- package/dist/babysitter.js.map +1 -0
- package/dist/detached.d.ts +86 -0
- package/dist/detached.d.ts.map +1 -0
- package/dist/detached.js +257 -0
- package/dist/detached.js.map +1 -0
- package/dist/index.d.ts +14 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +97 -81
- package/dist/index.js.map +1 -1
- package/package.json +11 -4
package/dist/detached.js
ADDED
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detached session launch — spawns a babysitter process instead of claude directly.
|
|
3
|
+
*
|
|
4
|
+
* The babysitter runs as a detached process that survives guild restarts.
|
|
5
|
+
* It hosts the MCP server, spawns claude, streams transcripts to SQLite,
|
|
6
|
+
* and reports lifecycle events to the guild via HTTP.
|
|
7
|
+
*
|
|
8
|
+
* See: docs/architecture/detached-sessions.md
|
|
9
|
+
*/
|
|
10
|
+
import { spawn } from 'node:child_process';
|
|
11
|
+
import fs from 'node:fs';
|
|
12
|
+
import os from 'node:os';
|
|
13
|
+
import path from 'node:path';
|
|
14
|
+
import { z } from 'zod';
|
|
15
|
+
import { guild } from '@shardworks/nexus-core';
|
|
16
|
+
// ── Constants ──────────────────────────────────────────────────────────
|
|
17
|
+
/** Default poll interval for session status (ms). */
|
|
18
|
+
const POLL_INTERVAL_MS = 5_000;
|
|
19
|
+
/** Default poll timeout — generous to allow long-running sessions (24h). */
|
|
20
|
+
const POLL_TIMEOUT_MS = 24 * 60 * 60 * 1_000;
|
|
21
|
+
/** Default tool server port (matches Instrumentarium default). */
|
|
22
|
+
const DEFAULT_TOOL_SERVER_PORT = 7471;
|
|
23
|
+
// ── Tool serialization ─────────────────────────────────────────────────
|
|
24
|
+
/**
|
|
25
|
+
* Serialize a ResolvedTool's Zod params to a SerializedTool with JSON Schema.
|
|
26
|
+
*
|
|
27
|
+
* Uses Zod 4's built-in `z.toJSONSchema()` to convert the params schema.
|
|
28
|
+
* The resulting JSON Schema is what the babysitter's MCP proxy server
|
|
29
|
+
* advertises to claude via tools/list.
|
|
30
|
+
*/
|
|
31
|
+
export function serializeTool(rt) {
|
|
32
|
+
const def = rt.definition;
|
|
33
|
+
const jsonSchema = z.toJSONSchema(def.params);
|
|
34
|
+
// z.toJSONSchema returns a full JSON Schema object with type, properties, etc.
|
|
35
|
+
// We extract the inner properties/required for the MCP tool registration,
|
|
36
|
+
// since the babysitter wraps it in { type: 'object', ...params }.
|
|
37
|
+
const { type: _type, $schema: _schema, ...params } = jsonSchema;
|
|
38
|
+
return {
|
|
39
|
+
name: def.name,
|
|
40
|
+
description: def.description,
|
|
41
|
+
params,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Serialize an array of ResolvedTools to SerializedTools.
|
|
46
|
+
*/
|
|
47
|
+
export function serializeTools(tools) {
|
|
48
|
+
return tools.map(serializeTool);
|
|
49
|
+
}
|
|
50
|
+
// ── Guild config resolution ────────────────────────────────────────────
|
|
51
|
+
/** Resolve the guild's Tool HTTP API URL. */
|
|
52
|
+
export function resolveGuildToolUrl() {
|
|
53
|
+
const g = guild();
|
|
54
|
+
// Match the Instrumentarium's port resolution logic:
|
|
55
|
+
// guild.json["tools"]["serverPort"] → default 7471
|
|
56
|
+
const toolsConfig = g.config('tools');
|
|
57
|
+
const port = toolsConfig?.serverPort ?? DEFAULT_TOOL_SERVER_PORT;
|
|
58
|
+
return `http://127.0.0.1:${port}`;
|
|
59
|
+
}
|
|
60
|
+
/** Resolve the path to the guild's SQLite database. */
|
|
61
|
+
export function resolveDbPath() {
|
|
62
|
+
const g = guild();
|
|
63
|
+
return path.join(g.home, '.nexus', 'nexus.db');
|
|
64
|
+
}
|
|
65
|
+
/** Resolve the babysitter script path (compiled output). */
|
|
66
|
+
export function resolveBabysitterPath() {
|
|
67
|
+
// import.meta.dirname is the directory of the current module.
|
|
68
|
+
// In compiled output: dist/detached.js → babysitter.js is a sibling.
|
|
69
|
+
// In source (ts): src/detached.ts → babysitter.ts is a sibling.
|
|
70
|
+
const dir = import.meta.dirname ?? path.dirname(new URL(import.meta.url).pathname);
|
|
71
|
+
return path.join(dir, 'babysitter.js');
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Build a BabysitterConfig from the provider's SessionProviderConfig.
|
|
75
|
+
*
|
|
76
|
+
* Serializes tools from Zod schemas to JSON Schema, resolves guild
|
|
77
|
+
* infrastructure paths, and constructs the base CLI args for claude.
|
|
78
|
+
*/
|
|
79
|
+
export function buildBabysitterConfig(config, opts) {
|
|
80
|
+
// Build claude CLI args (same as the attached prepareSession() but without
|
|
81
|
+
// --print, --output-format, --verbose, --mcp-config — the babysitter adds those).
|
|
82
|
+
const claudeArgs = [
|
|
83
|
+
'--setting-sources', 'user',
|
|
84
|
+
'--dangerously-skip-permissions',
|
|
85
|
+
'--model', config.model,
|
|
86
|
+
];
|
|
87
|
+
// System prompt: write to a temp file and include --system-prompt-file in claudeArgs.
|
|
88
|
+
// The file persists for the session duration — acceptable for detached sessions.
|
|
89
|
+
// The babysitter's tmpDir cleanup doesn't touch this, but OS tmp cleanup handles it.
|
|
90
|
+
if (config.systemPrompt) {
|
|
91
|
+
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'nsg-detached-'));
|
|
92
|
+
const systemPromptPath = path.join(tmpDir, 'system-prompt.md');
|
|
93
|
+
fs.writeFileSync(systemPromptPath, config.systemPrompt);
|
|
94
|
+
claudeArgs.push('--system-prompt-file', systemPromptPath);
|
|
95
|
+
}
|
|
96
|
+
// Resume support
|
|
97
|
+
if (config.conversationId) {
|
|
98
|
+
claudeArgs.push('--resume', config.conversationId);
|
|
99
|
+
}
|
|
100
|
+
return {
|
|
101
|
+
sessionId: config.sessionId,
|
|
102
|
+
guildToolUrl: opts?.guildToolUrl ?? resolveGuildToolUrl(),
|
|
103
|
+
dbPath: opts?.dbPath ?? resolveDbPath(),
|
|
104
|
+
claudeArgs,
|
|
105
|
+
cwd: config.cwd,
|
|
106
|
+
env: config.environment ?? {},
|
|
107
|
+
prompt: config.initialPrompt ?? '',
|
|
108
|
+
tools: serializeTools(config.tools ?? []),
|
|
109
|
+
startedAt: new Date().toISOString(),
|
|
110
|
+
provider: 'claude-code',
|
|
111
|
+
metadata: opts?.metadata,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
// ── Polling helpers ────────────────────────────────────────────────────
|
|
115
|
+
/**
|
|
116
|
+
* Poll the sessions book until the session reaches a terminal status.
|
|
117
|
+
*
|
|
118
|
+
* Returns the SessionDoc when status is no longer 'running'.
|
|
119
|
+
* Throws on timeout.
|
|
120
|
+
*/
|
|
121
|
+
export async function pollForTerminalStatus(sessionsBook, sessionId, pollIntervalMs = POLL_INTERVAL_MS, pollTimeoutMs = POLL_TIMEOUT_MS) {
|
|
122
|
+
const deadline = Date.now() + pollTimeoutMs;
|
|
123
|
+
while (Date.now() < deadline) {
|
|
124
|
+
const doc = await sessionsBook.get(sessionId);
|
|
125
|
+
if (doc && doc.status !== 'running') {
|
|
126
|
+
return doc;
|
|
127
|
+
}
|
|
128
|
+
const remaining = deadline - Date.now();
|
|
129
|
+
if (remaining <= 0)
|
|
130
|
+
break;
|
|
131
|
+
await new Promise((resolve) => setTimeout(resolve, Math.min(pollIntervalMs, remaining)));
|
|
132
|
+
}
|
|
133
|
+
throw new Error(`Session ${sessionId} did not reach terminal status within ${pollTimeoutMs}ms`);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Poll the sessions book until cancelMetadata.pid is available.
|
|
137
|
+
*
|
|
138
|
+
* The babysitter reports the claude PID via the session-running tool,
|
|
139
|
+
* which writes cancelMetadata to the SessionDoc. We poll for it.
|
|
140
|
+
*/
|
|
141
|
+
export async function pollForProcessInfo(sessionsBook, sessionId, pollIntervalMs = POLL_INTERVAL_MS, pollTimeoutMs = 60_000) {
|
|
142
|
+
const deadline = Date.now() + pollTimeoutMs;
|
|
143
|
+
while (Date.now() < deadline) {
|
|
144
|
+
const doc = await sessionsBook.get(sessionId);
|
|
145
|
+
if (doc?.cancelMetadata) {
|
|
146
|
+
return doc.cancelMetadata;
|
|
147
|
+
}
|
|
148
|
+
// If the session already terminated, return empty (no process to cancel)
|
|
149
|
+
if (doc && doc.status !== 'running') {
|
|
150
|
+
return {};
|
|
151
|
+
}
|
|
152
|
+
const remaining = deadline - Date.now();
|
|
153
|
+
if (remaining <= 0)
|
|
154
|
+
break;
|
|
155
|
+
await new Promise((resolve) => setTimeout(resolve, Math.min(pollIntervalMs, remaining)));
|
|
156
|
+
}
|
|
157
|
+
// Timeout — return empty rather than throwing. The babysitter PID is a
|
|
158
|
+
// fallback anyway, and the session might still be starting up.
|
|
159
|
+
return {};
|
|
160
|
+
}
|
|
161
|
+
// ── Detached launch ────────────────────────────────────────────────────
|
|
162
|
+
/**
|
|
163
|
+
* Build a SessionProviderResult from a terminal SessionDoc.
|
|
164
|
+
*/
|
|
165
|
+
function docToProviderResult(doc) {
|
|
166
|
+
return {
|
|
167
|
+
status: doc.status === 'running' ? 'failed' : doc.status,
|
|
168
|
+
exitCode: doc.exitCode ?? 1,
|
|
169
|
+
error: doc.error,
|
|
170
|
+
providerSessionId: doc.providerSessionId,
|
|
171
|
+
tokenUsage: doc.tokenUsage,
|
|
172
|
+
costUsd: doc.costUsd,
|
|
173
|
+
output: doc.output,
|
|
174
|
+
// Note: transcript is not included here — it's in the transcripts book.
|
|
175
|
+
// The babysitter writes it directly to SQLite.
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Launch a detached babysitter process.
|
|
180
|
+
*
|
|
181
|
+
* Returns the same { chunks, result, processInfo } shape as the attached
|
|
182
|
+
* provider, but:
|
|
183
|
+
* - chunks: completes immediately (empty) — transcripts stream to SQLite
|
|
184
|
+
* - result: polls sessions book for terminal status
|
|
185
|
+
* - processInfo: polls SessionDoc for cancelMetadata (contains claude PID)
|
|
186
|
+
*/
|
|
187
|
+
export function launchDetached(config, opts) {
|
|
188
|
+
const babysitterPath = opts?.babysitterPath ?? resolveBabysitterPath();
|
|
189
|
+
const pollIntervalMs = opts?.pollIntervalMs ?? POLL_INTERVAL_MS;
|
|
190
|
+
const pollTimeoutMs = opts?.pollTimeoutMs ?? POLL_TIMEOUT_MS;
|
|
191
|
+
const spawnFn = opts?.spawnFn ?? spawn;
|
|
192
|
+
// Resolve sessions book lazily to avoid import-time guild() calls
|
|
193
|
+
const getSessionsBook = () => {
|
|
194
|
+
if (opts?.sessionsBook)
|
|
195
|
+
return opts.sessionsBook;
|
|
196
|
+
const stacks = guild().apparatus('stacks');
|
|
197
|
+
return stacks.readBook('animator', 'sessions');
|
|
198
|
+
};
|
|
199
|
+
// Build babysitter config
|
|
200
|
+
const babysitterConfig = buildBabysitterConfig(config, opts);
|
|
201
|
+
// Spawn the babysitter as a detached process.
|
|
202
|
+
// stdio: ['pipe', 'ignore', 'inherit'] — config via stdin, no stdout, stderr to parent
|
|
203
|
+
const proc = spawnFn('node', [babysitterPath], {
|
|
204
|
+
cwd: config.cwd,
|
|
205
|
+
stdio: ['pipe', 'ignore', 'inherit'],
|
|
206
|
+
detached: true,
|
|
207
|
+
env: { ...process.env, ...config.environment },
|
|
208
|
+
});
|
|
209
|
+
// Write config to the babysitter's stdin, then close it.
|
|
210
|
+
proc.stdin.write(JSON.stringify(babysitterConfig));
|
|
211
|
+
proc.stdin.end();
|
|
212
|
+
// Detach — guild doesn't wait for the babysitter.
|
|
213
|
+
proc.unref();
|
|
214
|
+
// Empty chunks — real-time output is via the transcripts book, not in-memory.
|
|
215
|
+
const chunks = {
|
|
216
|
+
[Symbol.asyncIterator]() {
|
|
217
|
+
return {
|
|
218
|
+
async next() {
|
|
219
|
+
return { value: undefined, done: true };
|
|
220
|
+
},
|
|
221
|
+
};
|
|
222
|
+
},
|
|
223
|
+
};
|
|
224
|
+
// Result: poll sessions book for terminal status.
|
|
225
|
+
const result = (async () => {
|
|
226
|
+
try {
|
|
227
|
+
const sessionsBook = getSessionsBook();
|
|
228
|
+
const doc = await pollForTerminalStatus(sessionsBook, config.sessionId, pollIntervalMs, pollTimeoutMs);
|
|
229
|
+
return docToProviderResult(doc);
|
|
230
|
+
}
|
|
231
|
+
catch (err) {
|
|
232
|
+
return {
|
|
233
|
+
status: 'failed',
|
|
234
|
+
exitCode: 1,
|
|
235
|
+
error: `Detached session polling failed: ${err instanceof Error ? err.message : String(err)}`,
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
})();
|
|
239
|
+
// processInfo: poll for cancelMetadata (contains claude PID from babysitter).
|
|
240
|
+
// Falls back to the babysitter's own PID.
|
|
241
|
+
const processInfo = (async () => {
|
|
242
|
+
try {
|
|
243
|
+
const sessionsBook = getSessionsBook();
|
|
244
|
+
const info = await pollForProcessInfo(sessionsBook, config.sessionId, pollIntervalMs);
|
|
245
|
+
if (Object.keys(info).length > 0)
|
|
246
|
+
return info;
|
|
247
|
+
}
|
|
248
|
+
catch {
|
|
249
|
+
// Fall through to babysitter PID
|
|
250
|
+
}
|
|
251
|
+
// Fallback: return babysitter PID. Signals to the babysitter process group
|
|
252
|
+
// leader (detached: true) can still reach claude via process group.
|
|
253
|
+
return { pid: proc.pid };
|
|
254
|
+
})();
|
|
255
|
+
return { chunks, result, processInfo };
|
|
256
|
+
}
|
|
257
|
+
//# sourceMappingURL=detached.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detached.js","sourceRoot":"","sources":["../src/detached.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* and future concurrent session support.
|
|
15
15
|
*/
|
|
16
16
|
import type { Plugin } from '@shardworks/nexus-core';
|
|
17
|
-
import type { SessionChunk } from '@shardworks/animator-apparatus';
|
|
17
|
+
import type { SessionProviderConfig, SessionProviderResult, SessionChunk } from '@shardworks/animator-apparatus';
|
|
18
18
|
/**
|
|
19
19
|
* Extract the final assistant text from a transcript.
|
|
20
20
|
*
|
|
@@ -24,6 +24,19 @@ import type { SessionChunk } from '@shardworks/animator-apparatus';
|
|
|
24
24
|
* @internal Exported for testing only.
|
|
25
25
|
*/
|
|
26
26
|
export declare function extractFinalAssistantText(transcript: Record<string, unknown>[]): string | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Launch a session in attached mode — claude as a direct child process.
|
|
29
|
+
*
|
|
30
|
+
* Preserved for debugging and potential future "attached mode" escape hatch.
|
|
31
|
+
* Not currently wired into the provider, but all supporting code is kept.
|
|
32
|
+
*
|
|
33
|
+
* @internal
|
|
34
|
+
*/
|
|
35
|
+
export declare function launchAttached(config: SessionProviderConfig): {
|
|
36
|
+
chunks: AsyncIterable<SessionChunk>;
|
|
37
|
+
result: Promise<SessionProviderResult>;
|
|
38
|
+
processInfo?: Promise<Record<string, unknown>>;
|
|
39
|
+
};
|
|
27
40
|
/**
|
|
28
41
|
* Create the Claude Code session provider apparatus.
|
|
29
42
|
*
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAEV,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACb,MAAM,gCAAgC,CAAC;AAuExC;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,MAAM,GAAG,SAAS,CAiBnG;AAmDD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG;IAC7D,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACpC,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAChD,CAwGA;AAID;;;;;;GAMG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAWjD;;AAED,wBAA0C;AAO1C,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACtE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,GAAG,EAAE;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GACA,YAAY,EAAE,CAiDhB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAC9C,MAAM,CAgBR"}
|
package/dist/index.js
CHANGED
|
@@ -18,6 +18,7 @@ import fs from 'node:fs';
|
|
|
18
18
|
import os from 'node:os';
|
|
19
19
|
import path from 'node:path';
|
|
20
20
|
import { startMcpHttpServer } from "./mcp-server.js";
|
|
21
|
+
import { launchDetached } from "./detached.js";
|
|
21
22
|
/**
|
|
22
23
|
* Prepare session files and build base CLI args.
|
|
23
24
|
*
|
|
@@ -121,103 +122,118 @@ const provider = {
|
|
|
121
122
|
}
|
|
122
123
|
},
|
|
123
124
|
launch(config) {
|
|
124
|
-
//
|
|
125
|
-
//
|
|
126
|
-
//
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
125
|
+
// Detached mode: spawn a babysitter process that survives guild restarts.
|
|
126
|
+
// The babysitter hosts the MCP server, spawns claude, streams transcripts
|
|
127
|
+
// to SQLite, and reports lifecycle events to the guild via HTTP.
|
|
128
|
+
return launchDetached(config);
|
|
129
|
+
},
|
|
130
|
+
};
|
|
131
|
+
// ── Attached launch (preserved for debugging / non-detached mode) ──────
|
|
132
|
+
/**
|
|
133
|
+
* Launch a session in attached mode — claude as a direct child process.
|
|
134
|
+
*
|
|
135
|
+
* Preserved for debugging and potential future "attached mode" escape hatch.
|
|
136
|
+
* Not currently wired into the provider, but all supporting code is kept.
|
|
137
|
+
*
|
|
138
|
+
* @internal
|
|
139
|
+
*/
|
|
140
|
+
export function launchAttached(config) {
|
|
141
|
+
// prepareSession is async (MCP server start), so we wrap the launch
|
|
142
|
+
// in a promise. The chunks iterable bridges the async gap — it waits
|
|
143
|
+
// for prep to complete before yielding.
|
|
144
|
+
let chunkResolve = null;
|
|
145
|
+
let innerChunks = null;
|
|
146
|
+
let innerIterator = null;
|
|
147
|
+
let prepDone = false;
|
|
148
|
+
let prepError = null;
|
|
149
|
+
let done = false;
|
|
150
|
+
// processInfo promise — resolved with { pid } once the process spawns.
|
|
151
|
+
let resolveProcessInfo = null;
|
|
152
|
+
let rejectProcessInfo = null;
|
|
153
|
+
const processInfo = new Promise((resolve, reject) => {
|
|
154
|
+
resolveProcessInfo = resolve;
|
|
155
|
+
rejectProcessInfo = reject;
|
|
156
|
+
});
|
|
157
|
+
const result = prepareSession(config).then(async ({ tmpDir, args, mcpHandle }) => {
|
|
158
|
+
// Autonomous mode: prompt piped via stdin (--print - reads from stdin).
|
|
159
|
+
// This avoids Commander parsing issues when the prompt starts with '-'
|
|
160
|
+
// (e.g. YAML frontmatter '---') and also avoids OS arg length limits.
|
|
161
|
+
const prompt = config.initialPrompt ?? '';
|
|
162
|
+
args.push('--print', '-', '--output-format', 'stream-json', '--verbose');
|
|
163
|
+
const cleanup = async () => {
|
|
164
|
+
await mcpHandle?.close().catch(() => { });
|
|
165
|
+
fs.rmSync(tmpDir, { recursive: true, force: true });
|
|
166
|
+
};
|
|
167
|
+
try {
|
|
168
|
+
if (config.streaming) {
|
|
169
|
+
const spawned = spawnClaudeStreamingJson(args, config.cwd, config.environment, prompt);
|
|
170
|
+
resolveProcessInfo({ pid: spawned.pid });
|
|
171
|
+
innerChunks = spawned.chunks;
|
|
167
172
|
prepDone = true;
|
|
168
|
-
done = true;
|
|
169
173
|
if (chunkResolve) {
|
|
170
174
|
chunkResolve();
|
|
171
175
|
chunkResolve = null;
|
|
172
176
|
}
|
|
173
|
-
const raw = await
|
|
177
|
+
const raw = await spawned.result;
|
|
174
178
|
await cleanup();
|
|
175
179
|
return buildResult(raw);
|
|
176
180
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
}
|
|
181
|
-
}).catch((err) => {
|
|
182
|
-
// If prep itself failed, unblock the chunk iterator and processInfo
|
|
183
|
-
prepError = err instanceof Error ? err : new Error(String(err));
|
|
181
|
+
// Non-streaming
|
|
182
|
+
const { result: spawnResult, pid } = spawnClaudeStreamJson(args, config.cwd, config.environment, prompt);
|
|
183
|
+
resolveProcessInfo({ pid });
|
|
184
184
|
prepDone = true;
|
|
185
185
|
done = true;
|
|
186
186
|
if (chunkResolve) {
|
|
187
187
|
chunkResolve();
|
|
188
188
|
chunkResolve = null;
|
|
189
189
|
}
|
|
190
|
-
|
|
190
|
+
const raw = await spawnResult;
|
|
191
|
+
await cleanup();
|
|
192
|
+
return buildResult(raw);
|
|
193
|
+
}
|
|
194
|
+
catch (err) {
|
|
195
|
+
await cleanup();
|
|
191
196
|
throw err;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
//
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
197
|
+
}
|
|
198
|
+
}).catch((err) => {
|
|
199
|
+
// If prep itself failed, unblock the chunk iterator and processInfo
|
|
200
|
+
prepError = err instanceof Error ? err : new Error(String(err));
|
|
201
|
+
prepDone = true;
|
|
202
|
+
done = true;
|
|
203
|
+
if (chunkResolve) {
|
|
204
|
+
chunkResolve();
|
|
205
|
+
chunkResolve = null;
|
|
206
|
+
}
|
|
207
|
+
rejectProcessInfo(prepError);
|
|
208
|
+
throw err;
|
|
209
|
+
});
|
|
210
|
+
// Chunks iterable that bridges the async prep gap. In non-streaming
|
|
211
|
+
// mode or on error, it completes immediately with no items.
|
|
212
|
+
const chunks = {
|
|
213
|
+
[Symbol.asyncIterator]() {
|
|
214
|
+
return {
|
|
215
|
+
async next() {
|
|
216
|
+
// Wait for prep to complete
|
|
217
|
+
while (!prepDone) {
|
|
218
|
+
await new Promise((resolve) => { chunkResolve = resolve; });
|
|
219
|
+
}
|
|
220
|
+
if (prepError || done) {
|
|
213
221
|
return { value: undefined, done: true };
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
222
|
+
}
|
|
223
|
+
// Delegate to inner streaming iterator
|
|
224
|
+
if (innerChunks && !innerIterator) {
|
|
225
|
+
innerIterator = innerChunks[Symbol.asyncIterator]();
|
|
226
|
+
}
|
|
227
|
+
if (innerIterator) {
|
|
228
|
+
return innerIterator.next();
|
|
229
|
+
}
|
|
230
|
+
return { value: undefined, done: true };
|
|
231
|
+
},
|
|
232
|
+
};
|
|
233
|
+
},
|
|
234
|
+
};
|
|
235
|
+
return { chunks, result, processInfo };
|
|
236
|
+
}
|
|
221
237
|
// ── Apparatus export ─────────────────────────────────────────────────
|
|
222
238
|
/**
|
|
223
239
|
* Create the Claude Code session provider apparatus.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shardworks/claude-code-apparatus",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.150",
|
|
4
4
|
"license": "ISC",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -13,16 +13,23 @@
|
|
|
13
13
|
".": {
|
|
14
14
|
"types": "./dist/index.d.ts",
|
|
15
15
|
"import": "./dist/index.js"
|
|
16
|
+
},
|
|
17
|
+
"./babysitter": {
|
|
18
|
+
"types": "./dist/babysitter.d.ts",
|
|
19
|
+
"import": "./dist/babysitter.js"
|
|
16
20
|
}
|
|
17
21
|
},
|
|
18
22
|
"dependencies": {
|
|
19
23
|
"@modelcontextprotocol/sdk": "1.27.1",
|
|
24
|
+
"better-sqlite3": "12.8.0",
|
|
20
25
|
"zod": "4.3.6",
|
|
21
|
-
"@shardworks/
|
|
22
|
-
"@shardworks/
|
|
23
|
-
"@shardworks/
|
|
26
|
+
"@shardworks/nexus-core": "0.1.150",
|
|
27
|
+
"@shardworks/stacks-apparatus": "0.1.150",
|
|
28
|
+
"@shardworks/tools-apparatus": "0.1.150",
|
|
29
|
+
"@shardworks/animator-apparatus": "0.1.150"
|
|
24
30
|
},
|
|
25
31
|
"devDependencies": {
|
|
32
|
+
"@types/better-sqlite3": "7.6.13",
|
|
26
33
|
"@types/node": "25.5.0"
|
|
27
34
|
},
|
|
28
35
|
"files": [
|