@mclawnet/claude-adapter 0.1.23 → 0.1.25

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
+ import type { ModelDescriptor, ModeDescriptor } from "@mclawnet/shared";
2
+ export declare const CLAUDE_MODELS: ModelDescriptor[];
3
+ export declare const CLAUDE_MODES: ModeDescriptor[];
4
+ //# sourceMappingURL=catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAExE,eAAO,MAAM,aAAa,EAAE,eAAe,EAyB1C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,cAAc,EAsBxC,CAAC"}
@@ -0,0 +1,50 @@
1
+ export const CLAUDE_MODELS = [
2
+ {
3
+ code: "opus",
4
+ label: "Claude Opus 4",
5
+ tier: "premium",
6
+ contextWindow: 200_000,
7
+ supportsVision: true,
8
+ supportsToolUse: true,
9
+ default: true,
10
+ },
11
+ {
12
+ code: "sonnet",
13
+ label: "Claude Sonnet 4",
14
+ tier: "standard",
15
+ contextWindow: 200_000,
16
+ supportsVision: true,
17
+ supportsToolUse: true,
18
+ },
19
+ {
20
+ code: "haiku",
21
+ label: "Claude Haiku 4",
22
+ tier: "lite",
23
+ contextWindow: 200_000,
24
+ supportsToolUse: true,
25
+ },
26
+ ];
27
+ export const CLAUDE_MODES = [
28
+ {
29
+ code: "default",
30
+ label: "Default",
31
+ description: "Ask before any tool use (safest)",
32
+ default: true,
33
+ },
34
+ {
35
+ code: "acceptEdits",
36
+ label: "Accept Edits",
37
+ description: "Auto-accept file edits; still ask for shell + MCP tools",
38
+ },
39
+ {
40
+ code: "plan",
41
+ label: "Plan",
42
+ description: "Read-only — no file changes, no commands run",
43
+ },
44
+ {
45
+ code: "bypassPermissions",
46
+ label: "YOLO",
47
+ description: "Skip all approvals — dangerous, agent runs anything",
48
+ },
49
+ ];
50
+ //# sourceMappingURL=catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC9C;QACE,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,SAAS;QACf,aAAa,EAAE,OAAO;QACtB,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,OAAO,EAAE,IAAI;KACd;IACD;QACE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,UAAU;QAChB,aAAa,EAAE,OAAO;QACtB,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;KACtB;IACD;QACE,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,gBAAgB;QACvB,IAAI,EAAE,MAAM;QACZ,aAAa,EAAE,OAAO;QACtB,eAAe,EAAE,IAAI;KACtB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAqB;IAC5C;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,IAAI;KACd;IACD;QACE,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,yDAAyD;KACvE;IACD;QACE,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,8CAA8C;KAC5D;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,qDAAqD;KACnE;CACF,CAAC"}
@@ -1,5 +1,8 @@
1
- import type { BackendAdapter, BackendProcess, SpawnOptions } from "@mclawnet/agent";
1
+ import type { BackendAdapter, BackendProcess, SpawnOptions } from "@mclawnet/backend-types";
2
+ import type { BackendManifestEntry } from "@mclawnet/shared";
2
3
  import { ClaudeProcess } from "./claude-process.js";
4
+ import { type DetectResult } from "./detect.js";
5
+ import { type ClaudePermissionMode } from "./spawn-args.js";
3
6
  /**
4
7
  * Resolve how to spawn the claude CLI without invoking cmd.exe on Windows.
5
8
  *
@@ -32,16 +35,23 @@ export declare class ClaudeCodeAdapter implements BackendAdapter {
32
35
  readonly type = "claude-code";
33
36
  private claudeBin;
34
37
  private permissionMode;
38
+ private detect;
35
39
  constructor(options?: {
36
40
  claudeBin?: string;
37
- permissionMode?: string;
41
+ permissionMode?: ClaudePermissionMode;
42
+ /**
43
+ * Override the CLI detection probe. Defaults to `detectClaudeInstall`.
44
+ * Exposed for tests (ESM module exports aren't configurable, so we
45
+ * inject the dependency instead of spying on the module).
46
+ */
47
+ detect?: () => Promise<DetectResult>;
38
48
  });
39
49
  spawn(options: SpawnOptions): Promise<ClaudeProcess>;
40
50
  stop(process: BackendProcess): Promise<void>;
41
51
  send(process: BackendProcess, input: string): void;
42
52
  onOutput(process: BackendProcess, handler: (msg: unknown) => void): void;
43
53
  onTurnComplete(process: BackendProcess, handler: (info: {
44
- claudeSessionId?: string;
54
+ backendSessionId?: string;
45
55
  cost?: number;
46
56
  duration?: number;
47
57
  contextUsage?: {
@@ -51,7 +61,7 @@ export declare class ClaudeCodeAdapter implements BackendAdapter {
51
61
  }) => void): void;
52
62
  onError(process: BackendProcess, handler: (error: Error) => void): void;
53
63
  onSessionStarted(process: BackendProcess, handler: (info: {
54
- claudeSessionId: string;
64
+ backendSessionId: string;
55
65
  }) => void): void;
56
66
  onExit(process: BackendProcess, handler: (code: number | null) => void): void;
57
67
  onTokenBudgetWarning(process: BackendProcess, handler: (info: {
@@ -61,5 +71,6 @@ export declare class ClaudeCodeAdapter implements BackendAdapter {
61
71
  distanceToHard: number;
62
72
  maxOutputTokens: number;
63
73
  }) => void): void;
74
+ getManifest(): Promise<BackendManifestEntry>;
64
75
  }
65
76
  //# sourceMappingURL=claude-code-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-adapter.d.ts","sourceRoot":"","sources":["../src/claude-code-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AA4CpD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CA6BA;AAED;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IACtD,QAAQ,CAAC,IAAI,iBAAiB;IAE9B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAS;gBAEnB,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE;IAK/D,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAsHpD,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAMlD,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAMxE,cAAc,CACZ,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,CAAC,IAAI,EAAE;QACd,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KAChD,KAAK,IAAI,GACT,IAAI;IAMP,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IAMvE,gBAAgB,CACd,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GACnD,IAAI;IAMP,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI;IAM7E,oBAAoB,CAClB,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,CAAC,IAAI,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;KACzB,KAAK,IAAI,GACT,IAAI;CAKR"}
1
+ {"version":3,"file":"claude-code-adapter.d.ts","sourceRoot":"","sources":["../src/claude-code-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AA6ClF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CA6BA;AAED;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IACtD,QAAQ,CAAC,IAAI,iBAAiB;IAE9B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,MAAM,CAA8B;gBAEhC,OAAO,CAAC,EAAE;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,oBAAoB,CAAC;QACtC;;;;WAIG;QACH,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;KACtC;IAMK,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAsIpD,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAMlD,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAMxE,cAAc,CACZ,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,CAAC,IAAI,EAAE;QACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KAChD,KAAK,IAAI,GACT,IAAI;IAMP,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IAMvE,gBAAgB,CACd,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GACpD,IAAI;IAMP,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI;IAM7E,oBAAoB,CAClB,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,CAAC,IAAI,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;KACzB,KAAK,IAAI,GACT,IAAI;IAMD,WAAW,IAAI,OAAO,CAAC,oBAAoB,CAAC;CAYnD"}
@@ -2,8 +2,13 @@ import { execSync, spawn } from "node:child_process";
2
2
  import { existsSync, readFileSync } from "node:fs";
3
3
  import { homedir, platform } from "node:os";
4
4
  import { join, delimiter, dirname } from "node:path";
5
+ import { createLogger } from "@mclawnet/logger";
5
6
  import { ClaudeProcess } from "./claude-process.js";
6
7
  import { estimateStaticPrepend } from "./token-budget.js";
8
+ import { CLAUDE_MODELS, CLAUDE_MODES } from "./catalog.js";
9
+ import { detectClaudeInstall } from "./detect.js";
10
+ import { buildClaudeSpawnArgs } from "./spawn-args.js";
11
+ const log = createLogger({ module: "claude-adapter" });
7
12
  const isWin = platform() === "win32";
8
13
  /** Resolve claude CLI binary using system lookup (where/which), then known paths as fallback. */
9
14
  function resolveClaudeBin(explicit) {
@@ -103,46 +108,68 @@ export class ClaudeCodeAdapter {
103
108
  type = "claude-code";
104
109
  claudeBin;
105
110
  permissionMode;
111
+ detect;
106
112
  constructor(options) {
107
113
  this.claudeBin = resolveClaudeBin(options?.claudeBin);
108
114
  this.permissionMode = options?.permissionMode ?? "bypassPermissions";
115
+ this.detect = options?.detect ?? detectClaudeInstall;
109
116
  }
110
117
  async spawn(options) {
111
- const args = [
112
- "--output-format", "stream-json",
113
- "--input-format", "stream-json",
114
- "--verbose",
115
- "--permission-mode", this.permissionMode,
116
- ];
117
- if (options.resumeId) {
118
- args.push("--resume", options.resumeId);
119
- }
120
- if (options.systemPrompt) {
121
- args.push("--append-system-prompt", options.systemPrompt);
118
+ // Pure builder: maps SpawnOptions.{model,mode,sandbox,resumeId,
119
+ // systemPrompt,additionalDirs,allowedTools,disallowedTools} to CLI flags
120
+ // with N3-defined precedence (mode > sandbox > ctor default). spawn()
121
+ // appends the side-effectful bits (braincore/clawnet --add-dir, mcp
122
+ // config probing, env merging) below.
123
+ //
124
+ // ASYMMETRY WITH CODEX: codex-spawn-args.ts defaults undefined sandbox
125
+ // → "workspace-write" because codex always needs an explicit sandbox
126
+ // mode to spawn. Claude doesn't have a built-in sandbox concept
127
+ // (just permission-mode), so we honor the constructor default
128
+ // instead of inventing a hard "workspace-write" fallback.
129
+ const builderResult = buildClaudeSpawnArgs(options, this.permissionMode);
130
+ const args = [...builderResult.args];
131
+ if (options.mode && builderResult.modeSource !== "options.mode") {
132
+ log.warn({
133
+ sessionId: options.sessionId,
134
+ requestedMode: options.mode,
135
+ effectiveMode: builderResult.permissionMode,
136
+ modeSource: builderResult.modeSource,
137
+ }, "claude: invalid options.mode ignored, falling back");
122
138
  }
139
+ log.debug({
140
+ sessionId: options.sessionId,
141
+ permissionMode: builderResult.permissionMode,
142
+ modeSource: builderResult.modeSource,
143
+ model: options.model,
144
+ }, "claude spawn args built");
123
145
  // Collect every directory we'll mount via --add-dir so the budget
124
146
  // estimator (estimateStaticPrepend) can walk them once. The CLI's own
125
147
  // usage.input_tokens does NOT see these directories' .md content until
126
148
  // the first turn lands — pre-counting closes that blind spot.
149
+ // additionalDirs were already emitted as --add-dir by the builder; we
150
+ // mirror them into addedDirs here purely so the estimator sees the
151
+ // full mounted set.
127
152
  const addedDirs = [];
128
153
  if (options.useBrainCore) {
129
154
  const brainDir = join(homedir(), ".brain");
130
- addedDirs.push(join(brainDir, "BrainCore"));
131
- addedDirs.push(join(brainDir, "CoreSkill"));
155
+ const braincoreDirs = [join(brainDir, "BrainCore"), join(brainDir, "CoreSkill")];
156
+ for (const dir of braincoreDirs) {
157
+ addedDirs.push(dir);
158
+ args.push("--add-dir", dir);
159
+ }
132
160
  }
133
161
  // Skill system: mount clawnet home for skill discovery
134
162
  // Skills are at ~/.clawnet/.claude/skills/{name}/SKILL.md
135
163
  const clawnetDir = join(homedir(), ".clawnet");
136
164
  addedDirs.push(clawnetDir);
137
- // Extra directories (e.g., project-specific skill dirs)
165
+ args.push("--add-dir", clawnetDir);
166
+ // additionalDirs are already in `args` (emitted by the builder). Mirror
167
+ // them into addedDirs so estimateStaticPrepend sees the full mount set.
138
168
  if (options.additionalDirs) {
139
169
  for (const dir of options.additionalDirs) {
140
170
  addedDirs.push(dir);
141
171
  }
142
172
  }
143
- for (const dir of addedDirs) {
144
- args.push("--add-dir", dir);
145
- }
146
173
  // ClawNet MCP config (memory MCP + custom MCPs)
147
174
  const clawnetMcpConfig = join(clawnetDir, "mcp.json");
148
175
  if (existsSync(clawnetMcpConfig)) {
@@ -151,12 +178,6 @@ export class ClaudeCodeAdapter {
151
178
  if (options.mcpConfigPath) {
152
179
  args.push("--mcp-config", options.mcpConfigPath);
153
180
  }
154
- if (options.allowedTools && options.allowedTools.length > 0) {
155
- args.push("--allowedTools", options.allowedTools.join(","));
156
- }
157
- if (options.disallowedTools && options.disallowedTools.length > 0) {
158
- args.push("--disallowedTools", options.disallowedTools.join(","));
159
- }
160
181
  // Validate cwd exists — invalid cwd causes ENOENT even if the binary is fine
161
182
  let cwd = options.workDir || process.cwd();
162
183
  if (!existsSync(cwd)) {
@@ -177,7 +198,7 @@ export class ClaudeCodeAdapter {
177
198
  const proc = spawn(command, [...prefixArgs, ...args], {
178
199
  cwd,
179
200
  stdio: ["pipe", "pipe", "pipe"],
180
- env: { ...process.env, PATH: augmentedPath, ...envOverrides },
201
+ env: { ...process.env, PATH: augmentedPath, ...envOverrides, ...(options.env ?? {}) },
181
202
  windowsHide: true,
182
203
  });
183
204
  // Wait for process to be ready (or fail to start)
@@ -243,5 +264,17 @@ export class ClaudeCodeAdapter {
243
264
  process.on("token_budget_warning", handler);
244
265
  }
245
266
  }
267
+ async getManifest() {
268
+ const det = await this.detect();
269
+ return {
270
+ kind: "claude",
271
+ installed: det.installed,
272
+ binaryPath: det.binaryPath,
273
+ version: det.version,
274
+ unavailableReason: det.reason,
275
+ models: det.installed ? CLAUDE_MODELS : [],
276
+ modes: det.installed ? CLAUDE_MODES : [],
277
+ };
278
+ }
246
279
  }
247
280
  //# sourceMappingURL=claude-code-adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-adapter.js","sourceRoot":"","sources":["../src/claude-code-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,OAAO,CAAC;AAErC,iGAAiG;AACjG,SAAS,gBAAgB,CAAC,QAAiB;IACzC,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,iFAAiF;IACjF,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,QAAQ,IAAI,IAAI,EAAE,EAAE;gBAC5C,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;aACpC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/B,CAAC;IAED,gDAAgD;IAChD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,KAAK;QACrB,CAAC,CAAC;YACE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC;YACzC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC;YAC5C,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC;YACrD,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC;SACnE;QACH,CAAC,CAAC;YACE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC;YACxC,0BAA0B;YAC1B,uBAAuB;SACxB,CAAC;IACN,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;AACzC,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAIlD,sFAAsF;IACtF,MAAM,SAAS,GAAG,QAAQ,EAAE,KAAK,OAAO,CAAC;IACzC,IAAI,SAAS,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACpD,mEAAmE;YACnE,oEAAoE;YACpE,qEAAqE;YACrE,qEAAqE;YACrE,mDAAmD;YACnD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACvD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACzC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC;gBACxD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC1B,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChE,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QAChD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,OAAO;gBACL,OAAO,EAAE,gBAAgB;gBACzB,UAAU,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC;aAC3E,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,iBAAiB;IACnB,IAAI,GAAG,aAAa,CAAC;IAEtB,SAAS,CAAS;IAClB,cAAc,CAAS;IAE/B,YAAY,OAAyD;QACnE,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,cAAc,GAAG,OAAO,EAAE,cAAc,IAAI,mBAAmB,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAqB;QAC/B,MAAM,IAAI,GAAG;YACX,iBAAiB,EAAE,aAAa;YAChC,gBAAgB,EAAE,aAAa;YAC/B,WAAW;YACX,mBAAmB,EAAE,IAAI,CAAC,cAAc;SACzC,CAAC;QAEF,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAC5D,CAAC;QAED,kEAAkE;QAClE,sEAAsE;QACtE,uEAAuE;QACvE,8DAA8D;QAC9D,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC3C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;YAC5C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,uDAAuD;QACvD,0DAA0D;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;QAC/C,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3B,wDAAwD;QACxD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBACzC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC;QAED,gDAAgD;QAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACtD,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,6EAA6E;QAC7E,IAAI,GAAG,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,GAAG,GAAG,OAAO,EAAE,CAAC;QAClB,CAAC;QAED,8DAA8D;QAC9D,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEzG,yEAAyE;QACzE,2EAA2E;QAC3E,2DAA2D;QAC3D,MAAM,YAAY,GAAsB,EAAE,CAAC;QAC3C,IAAI,OAAO,OAAO,CAAC,eAAe,KAAK,QAAQ,IAAI,OAAO,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YAC/E,YAAY,CAAC,6BAA6B,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC,EAAE;YACpD,GAAG;YACH,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,YAAY,EAAE;YAC7D,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,kDAAkD;QAClD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;YAElD,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACvB,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACpB,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,uEAAuE;QACvE,6DAA6D;QAC7D,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;YAChD,kBAAkB,EAAE,OAAO,CAAC,YAAY;YACxC,SAAS;SACV,CAAC,CAAC;QAEH,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE;YAChD,mBAAmB;YACnB,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;YAClC,OAAO,EAAE,GAAG;SACb,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAuB;QAChC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,OAAuB,EAAE,KAAa;QACzC,IAAI,OAAO,YAAY,aAAa,EAAE,CAAC;YACrC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,OAAuB,EAAE,OAA+B;QAC/D,IAAI,OAAO,YAAY,aAAa,EAAE,CAAC;YACrC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,cAAc,CACZ,OAAuB,EACvB,OAKU;QAEV,IAAI,OAAO,YAAY,aAAa,EAAE,CAAC;YACrC,OAAO,CAAC,EAAE,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,OAAuB,EAAE,OAA+B;QAC9D,IAAI,OAAO,YAAY,aAAa,EAAE,CAAC;YACrC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,gBAAgB,CACd,OAAuB,EACvB,OAAoD;QAEpD,IAAI,OAAO,YAAY,aAAa,EAAE,CAAC;YACrC,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,OAAuB,EAAE,OAAsC;QACpE,IAAI,OAAO,YAAY,aAAa,EAAE,CAAC;YACrC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,oBAAoB,CAClB,OAAuB,EACvB,OAMU;QAEV,IAAI,OAAO,YAAY,aAAa,EAAE,CAAC;YACrC,OAAO,CAAC,EAAE,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"claude-code-adapter.js","sourceRoot":"","sources":["../src/claude-code-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type ChildProcess } from "node:child_process";
2
2
  import { EventEmitter } from "node:events";
3
- import type { BackendProcess } from "@mclawnet/agent";
3
+ import type { BackendProcess } from "@mclawnet/backend-types";
4
4
  import { type TokenBudget } from "./token-budget.js";
5
5
  /**
6
6
  * Optional construction-time hints that let the adapter own the math without
@@ -1 +1 @@
1
- {"version":3,"file":"claude-process.d.ts","sourceRoot":"","sources":["../src/claude-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG/E;;;;;;;;;GASG;AACH,MAAM,WAAW,oBAAoB;IACnC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;wEAGoE;IACpE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,4EAA4E;AAC5E,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,YAAa,YAAW,cAAc;IACvE,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,GAAG,CAAC;IAEZ;;sFAEkF;IAClF,OAAO,CAAC,cAAc,CAAK;IAC3B;;kFAE8E;IAC9E,OAAO,CAAC,YAAY,CAAK;IACzB,+EAA+E;IAC/E,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,yEAAyE;IACzE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC;;iFAE6E;IAC7E,OAAO,CAAC,yBAAyB,CAAS;IAC1C;;;kEAG8D;IAC9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C;;;;;;;;;;;2DAWuD;IACvD,OAAO,CAAC,oBAAoB,CAAuB;gBAEvC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,GAAE,oBAAyB;IAsDlF;;;;;;OAMG;IACH,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAE5B;IAED,oDAAoD;IACpD,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAsBhC;;;;;;OAMG;IACH,OAAO,IAAI,OAAO;IASZ,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB3B,OAAO,CAAC,WAAW;IA+HnB;;;;;;;OAOG;IACH,oBAAoB,IAAI,iBAAiB;IAUzC,0FAA0F;IAC1F,OAAO,CAAC,QAAQ;CAqGjB"}
1
+ {"version":3,"file":"claude-process.d.ts","sourceRoot":"","sources":["../src/claude-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG/E;;;;;;;;;GASG;AACH,MAAM,WAAW,oBAAoB;IACnC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;wEAGoE;IACpE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,4EAA4E;AAC5E,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,YAAa,YAAW,cAAc;IACvE,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,GAAG,CAAC;IAEZ;;sFAEkF;IAClF,OAAO,CAAC,cAAc,CAAK;IAC3B;;kFAE8E;IAC9E,OAAO,CAAC,YAAY,CAAK;IACzB,+EAA+E;IAC/E,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,yEAAyE;IACzE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC;;iFAE6E;IAC7E,OAAO,CAAC,yBAAyB,CAAS;IAC1C;;;kEAG8D;IAC9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C;;;;;;;;;;;2DAWuD;IACvD,OAAO,CAAC,oBAAoB,CAAuB;gBAEvC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,GAAE,oBAAyB;IAuFlF;;;;;;OAMG;IACH,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAE5B;IAED,oDAAoD;IACpD,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAmChC;;;;;;OAMG;IACH,OAAO,IAAI,OAAO;IASZ,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB3B,OAAO,CAAC,WAAW;IA+HnB;;;;;;;OAOG;IACH,oBAAoB,IAAI,iBAAiB;IAUzC,0FAA0F;IAC1F,OAAO,CAAC,QAAQ;CAqGjB"}
@@ -85,8 +85,34 @@ export class ClaudeProcess extends EventEmitter {
85
85
  this.log.warn({ stderr: text }, "claude stderr output");
86
86
  }
87
87
  });
88
+ // EPIPE safety: when the child dies (segfault, OOM kill, handshake abort,
89
+ // or any case the close handler hasn't caught yet) and we still have a
90
+ // write in flight or one lands right after, Node will emit 'error' on
91
+ // stdin. Without a listener that crashes the entire agent process with an
92
+ // unhandled error event.
93
+ //
94
+ // The write callback in sendInput catches synchronous + in-flight failures,
95
+ // but a pipe that closes during an idle period emits 'error' without any
96
+ // outstanding write — so both listeners are needed. Route it through the
97
+ // existing error channel so SessionManager treats it like any other adapter
98
+ // failure (clears activelyExecuting + surfaces to hub).
99
+ proc.stdin?.on("error", (err) => {
100
+ this.log.warn({ err: err.message, code: err.code }, "stdin error event (child likely died)");
101
+ this.emit("error", err);
102
+ });
88
103
  proc.on("close", (code) => {
89
104
  this.parser.flush();
105
+ // PR #28 follow-up: if process exits while still holding a pending
106
+ // silent-mint sid (init seen but result not yet promoted), drop it.
107
+ // Otherwise a late callback/race could promote a sid whose jsonl was
108
+ // never persisted — exactly the ghost-sid pattern.
109
+ if (this.pendingInitSessionId) {
110
+ this.log.warn({
111
+ pendingInitSessionId: this.pendingInitSessionId,
112
+ resumeTargetId: this.resumeTargetId,
113
+ }, "claude process closed with unresolved pending sid — discarding without promote");
114
+ this.pendingInitSessionId = null;
115
+ }
90
116
  if (!this.killed) {
91
117
  this.emit("exit", code);
92
118
  }
@@ -122,7 +148,17 @@ export class ClaudeProcess extends EventEmitter {
122
148
  // reflects the new turn.
123
149
  this.pendingDelta += estimateText(content);
124
150
  this.log.debug(previewFields(content), "stdin.write user input");
125
- this.proc.stdin.write(message);
151
+ this.proc.stdin.write(message, (err) => {
152
+ // EPIPE companion to the stdin 'error' listener in the constructor.
153
+ // The write callback fires for failures the kernel reports after Node
154
+ // returns from write() — those typically ALSO emit 'error' on the
155
+ // stream, so we only log here to avoid double-emitting. The stdin
156
+ // 'error' listener owns the single emit('error') for this class. A log
157
+ // here still helps when grepping for "which write triggered the EPIPE".
158
+ if (err) {
159
+ this.log.warn({ err: err.message, code: err.code }, "stdin.write reported error (handled by stdin 'error' listener)");
160
+ }
161
+ });
126
162
  }
127
163
  /**
128
164
  * True iff the underlying child process is still running and its stdin is
@@ -207,7 +243,7 @@ export class ClaudeProcess extends EventEmitter {
207
243
  const confirmed = this.pendingInitSessionId;
208
244
  this.pendingInitSessionId = null;
209
245
  this.id = confirmed;
210
- this.emit("session_started", { claudeSessionId: confirmed });
246
+ this.emit("session_started", { backendSessionId: confirmed });
211
247
  }
212
248
  // Run budget check at end-of-turn — by now lastUsageTotal reflects the
213
249
  // server's authoritative count for the just-finished turn, plus our
@@ -229,7 +265,7 @@ export class ClaudeProcess extends EventEmitter {
229
265
  // own usage, so wipe to avoid double-counting on the next turn.
230
266
  this.pendingDelta = 0;
231
267
  this.emit("turn_complete", {
232
- claudeSessionId: resultEvent.session_id,
268
+ backendSessionId: resultEvent.session_id,
233
269
  cost: resultEvent.cost_usd,
234
270
  duration: resultEvent.duration_ms,
235
271
  contextUsage: { used: status.used, total: status.budget.hardLimit },
@@ -263,7 +299,7 @@ export class ClaudeProcess extends EventEmitter {
263
299
  }
264
300
  else {
265
301
  this.id = event.session_id;
266
- this.emit("session_started", { claudeSessionId: event.session_id });
302
+ this.emit("session_started", { backendSessionId: event.session_id });
267
303
  }
268
304
  }
269
305
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claude-process.js","sourceRoot":"","sources":["../src/claude-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-process.js","sourceRoot":"","sources":["../src/claude-process.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export interface DetectResult {
2
+ installed: boolean;
3
+ binaryPath?: string;
4
+ version?: string;
5
+ reason?: string;
6
+ }
7
+ /**
8
+ * Detect a claude CLI install on this machine. Must never throw — all
9
+ * errors (missing binary, EACCES, timeout, hung --version) are absorbed
10
+ * and surfaced via `reason` with `installed: false`.
11
+ *
12
+ * NOTE: Keep the entire body inside the single try block. Any code path
13
+ * added outside the try would break the no-throw contract that
14
+ * collectAgentManifest() relies on.
15
+ */
16
+ export declare function detectClaudeInstall(): Promise<DetectResult>;
17
+ //# sourceMappingURL=detect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,YAAY,CAAC,CAgBjE"}
package/dist/detect.js ADDED
@@ -0,0 +1,32 @@
1
+ import { execFile } from "node:child_process";
2
+ import { promisify } from "node:util";
3
+ import { platform } from "node:os";
4
+ const exec = promisify(execFile);
5
+ /**
6
+ * Detect a claude CLI install on this machine. Must never throw — all
7
+ * errors (missing binary, EACCES, timeout, hung --version) are absorbed
8
+ * and surfaced via `reason` with `installed: false`.
9
+ *
10
+ * NOTE: Keep the entire body inside the single try block. Any code path
11
+ * added outside the try would break the no-throw contract that
12
+ * collectAgentManifest() relies on.
13
+ */
14
+ export async function detectClaudeInstall() {
15
+ try {
16
+ const isWin = platform() === "win32";
17
+ const lookup = isWin ? "where" : "which";
18
+ const { stdout: lookupOut } = await exec(lookup, ["claude"], { timeout: 5000 });
19
+ // `where` / `which` may return multiple shims (homebrew + nvm-global, etc.) — take first line.
20
+ const binaryPath = lookupOut.trim().split(/\r?\n/)[0]?.trim();
21
+ if (!binaryPath) {
22
+ return { installed: false, reason: `claude CLI not detected: empty ${lookup} output` };
23
+ }
24
+ const { stdout: verOut } = await exec(binaryPath, ["--version"], { timeout: 5000 });
25
+ return { installed: true, binaryPath, version: verOut.trim() };
26
+ }
27
+ catch (err) {
28
+ const message = err instanceof Error ? err.message : String(err);
29
+ return { installed: false, reason: `claude CLI not detected: ${message}` };
30
+ }
31
+ }
32
+ //# sourceMappingURL=detect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAcjC;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,OAAO,CAAC;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAChF,+FAA+F;QAC/F,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC9D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,kCAAkC,MAAM,SAAS,EAAE,CAAC;QACzF,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;IACjE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,4BAA4B,OAAO,EAAE,EAAE,CAAC;IAC7E,CAAC;AACH,CAAC"}
@@ -0,0 +1,35 @@
1
+ import type { SpawnOptions } from "@mclawnet/backend-types";
2
+ export type ClaudePermissionMode = "default" | "acceptEdits" | "plan" | "bypassPermissions";
3
+ /**
4
+ * Pick the effective permission-mode for claude with the following precedence:
5
+ * 1. options.mode (sticky/turnOverride from SessionManager) — only if valid
6
+ * 2. legacy options.sandbox mapping (read-only → plan; workspace-write/full-access → bypassPermissions)
7
+ * 3. constructor permissionMode default (typically bypassPermissions)
8
+ *
9
+ * Unknown mode strings fall through to the sandbox/default branch silently;
10
+ * caller is responsible for logging telemetry via the returned `source`.
11
+ */
12
+ export declare function resolvePermissionMode(options: {
13
+ mode?: string;
14
+ sandbox?: SpawnOptions["sandbox"];
15
+ }, ctorDefault: ClaudePermissionMode): {
16
+ mode: ClaudePermissionMode;
17
+ source: "options.mode" | "options.sandbox" | "ctor-default";
18
+ };
19
+ /**
20
+ * Build the CLI arg list for `claude` based on SpawnOptions + adapter defaults.
21
+ * Returns argv array; caller passes to execFile/spawn.
22
+ *
23
+ * Order is fixed: format flags → permission-mode → resume → systemPrompt →
24
+ * add-dir → model → tool allow/deny.
25
+ *
26
+ * Side-effect-free: no fs, no env, no spawn. Adapter-side spawn() owns the
27
+ * impure bits (braincore/clawnet dir mounting, MCP config probing, etc.) and
28
+ * appends to the array returned here.
29
+ */
30
+ export declare function buildClaudeSpawnArgs(options: Pick<SpawnOptions, "model" | "mode" | "sandbox" | "resumeId" | "systemPrompt" | "additionalDirs" | "allowedTools" | "disallowedTools">, ctorDefault: ClaudePermissionMode): {
31
+ args: string[];
32
+ permissionMode: ClaudePermissionMode;
33
+ modeSource: "options.mode" | "options.sandbox" | "ctor-default";
34
+ };
35
+ //# sourceMappingURL=spawn-args.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spawn-args.d.ts","sourceRoot":"","sources":["../src/spawn-args.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,MAAM,oBAAoB,GAC5B,SAAS,GACT,aAAa,GACb,MAAM,GACN,mBAAmB,CAAC;AASxB;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAA;CAAE,EAC7D,WAAW,EAAE,oBAAoB,GAChC;IACD,IAAI,EAAE,oBAAoB,CAAC;IAC3B,MAAM,EAAE,cAAc,GAAG,iBAAiB,GAAG,cAAc,CAAC;CAC7D,CAWA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,IAAI,CACX,YAAY,EACV,OAAO,GACP,MAAM,GACN,SAAS,GACT,UAAU,GACV,cAAc,GACd,gBAAgB,GAChB,cAAc,GACd,iBAAiB,CACpB,EACD,WAAW,EAAE,oBAAoB,GAChC;IACD,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,cAAc,EAAE,oBAAoB,CAAC;IACrC,UAAU,EAAE,cAAc,GAAG,iBAAiB,GAAG,cAAc,CAAC;CACjE,CAqBA"}
@@ -0,0 +1,64 @@
1
+ const VALID_MODES = new Set([
2
+ "default",
3
+ "acceptEdits",
4
+ "plan",
5
+ "bypassPermissions",
6
+ ]);
7
+ /**
8
+ * Pick the effective permission-mode for claude with the following precedence:
9
+ * 1. options.mode (sticky/turnOverride from SessionManager) — only if valid
10
+ * 2. legacy options.sandbox mapping (read-only → plan; workspace-write/full-access → bypassPermissions)
11
+ * 3. constructor permissionMode default (typically bypassPermissions)
12
+ *
13
+ * Unknown mode strings fall through to the sandbox/default branch silently;
14
+ * caller is responsible for logging telemetry via the returned `source`.
15
+ */
16
+ export function resolvePermissionMode(options, ctorDefault) {
17
+ if (options.mode && VALID_MODES.has(options.mode)) {
18
+ return { mode: options.mode, source: "options.mode" };
19
+ }
20
+ if (options.sandbox === "read-only") {
21
+ return { mode: "plan", source: "options.sandbox" };
22
+ }
23
+ if (options.sandbox === "workspace-write" || options.sandbox === "full-access") {
24
+ return { mode: "bypassPermissions", source: "options.sandbox" };
25
+ }
26
+ return { mode: ctorDefault, source: "ctor-default" };
27
+ }
28
+ /**
29
+ * Build the CLI arg list for `claude` based on SpawnOptions + adapter defaults.
30
+ * Returns argv array; caller passes to execFile/spawn.
31
+ *
32
+ * Order is fixed: format flags → permission-mode → resume → systemPrompt →
33
+ * add-dir → model → tool allow/deny.
34
+ *
35
+ * Side-effect-free: no fs, no env, no spawn. Adapter-side spawn() owns the
36
+ * impure bits (braincore/clawnet dir mounting, MCP config probing, etc.) and
37
+ * appends to the array returned here.
38
+ */
39
+ export function buildClaudeSpawnArgs(options, ctorDefault) {
40
+ const { mode: permissionMode, source: modeSource } = resolvePermissionMode(options, ctorDefault);
41
+ const args = [
42
+ "--output-format",
43
+ "stream-json",
44
+ "--input-format",
45
+ "stream-json",
46
+ "--verbose",
47
+ "--permission-mode",
48
+ permissionMode,
49
+ ];
50
+ if (options.resumeId)
51
+ args.push("--resume", options.resumeId);
52
+ if (options.systemPrompt)
53
+ args.push("--append-system-prompt", options.systemPrompt);
54
+ for (const dir of options.additionalDirs ?? [])
55
+ args.push("--add-dir", dir);
56
+ if (options.model)
57
+ args.push("--model", options.model);
58
+ for (const tool of options.allowedTools ?? [])
59
+ args.push("--allowed-tools", tool);
60
+ for (const tool of options.disallowedTools ?? [])
61
+ args.push("--disallowed-tools", tool);
62
+ return { args, permissionMode, modeSource };
63
+ }
64
+ //# sourceMappingURL=spawn-args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spawn-args.js","sourceRoot":"","sources":["../src/spawn-args.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,GAAG,IAAI,GAAG,CAAuB;IAChD,SAAS;IACT,aAAa;IACb,MAAM;IACN,mBAAmB;CACpB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAA6D,EAC7D,WAAiC;IAKjC,IAAI,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAA4B,CAAC,EAAE,CAAC;QAC1E,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAA4B,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAChF,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACpC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,iBAAiB,IAAI,OAAO,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QAC/E,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAClE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;AACvD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAUC,EACD,WAAiC;IAMjC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,qBAAqB,CACxE,OAAO,EACP,WAAW,CACZ,CAAC;IACF,MAAM,IAAI,GAAa;QACrB,iBAAiB;QACjB,aAAa;QACb,gBAAgB;QAChB,aAAa;QACb,WAAW;QACX,mBAAmB;QACnB,cAAc;KACf,CAAC;IACF,IAAI,OAAO,CAAC,QAAQ;QAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9D,IAAI,OAAO,CAAC,YAAY;QAAE,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACpF,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,cAAc,IAAI,EAAE;QAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC5E,IAAI,OAAO,CAAC,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,YAAY,IAAI,EAAE;QAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAClF,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,eAAe,IAAI,EAAE;QAAE,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACxF,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AAC9C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mclawnet/claude-adapter",
3
- "version": "0.1.23",
3
+ "version": "0.1.25",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -15,16 +15,9 @@
15
15
  "access": "public"
16
16
  },
17
17
  "dependencies": {
18
- "@mclawnet/shared": "0.1.7",
19
- "@mclawnet/logger": "0.1.6"
20
- },
21
- "peerDependencies": {
22
- "@mclawnet/agent": "0.6.33"
23
- },
24
- "peerDependenciesMeta": {
25
- "@mclawnet/agent": {
26
- "optional": false
27
- }
18
+ "@mclawnet/backend-types": "0.1.0",
19
+ "@mclawnet/logger": "0.1.7",
20
+ "@mclawnet/shared": "0.1.9"
28
21
  },
29
22
  "devDependencies": {
30
23
  "@types/node": "^22",