@mclawnet/claude-adapter 0.1.24 → 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,9 +35,16 @@ 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>;
@@ -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;IA2IpD,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;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,66 +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
- // Map ClawNet's abstract sandbox level to claude's --permission-mode.
112
- // Unlike codex, claude has NO OS-level sandbox — only the LLM-side
113
- // approval flow. So "workspace-write" and "full-access" both collapse
114
- // to bypassPermissions (claude can't enforce a workspace fence even
115
- // when asked). "read-only" maps to plan mode so claude won't run
116
- // tools that mutate state. Undefined falls back to the constructor
117
- // default (bypassPermissions) so existing callers see no change.
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.
118
123
  //
119
- // ASYMMETRY WITH CODEX: codex-spawn-args.ts defaults undefined
120
- // "workspace-write" because codex always needs an explicit sandbox
124
+ // ASYMMETRY WITH CODEX: codex-spawn-args.ts defaults undefined sandbox
125
+ // "workspace-write" because codex always needs an explicit sandbox
121
126
  // mode to spawn. Claude doesn't have a built-in sandbox concept
122
127
  // (just permission-mode), so we honor the constructor default
123
- // instead of inventing a hard "workspace-write" fallback. The swarm
124
- // UI always emits an explicit value, so this branch is only reached
125
- // by non-swarm callers (e.g. ad-hoc tests, direct CLI spawns).
126
- const permissionMode = options.sandbox === "read-only"
127
- ? "plan"
128
- : options.sandbox === "workspace-write" || options.sandbox === "full-access"
129
- ? "bypassPermissions"
130
- : this.permissionMode;
131
- const args = [
132
- "--output-format", "stream-json",
133
- "--input-format", "stream-json",
134
- "--verbose",
135
- "--permission-mode", permissionMode,
136
- ];
137
- if (options.resumeId) {
138
- args.push("--resume", options.resumeId);
139
- }
140
- if (options.systemPrompt) {
141
- args.push("--append-system-prompt", options.systemPrompt);
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");
142
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");
143
145
  // Collect every directory we'll mount via --add-dir so the budget
144
146
  // estimator (estimateStaticPrepend) can walk them once. The CLI's own
145
147
  // usage.input_tokens does NOT see these directories' .md content until
146
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.
147
152
  const addedDirs = [];
148
153
  if (options.useBrainCore) {
149
154
  const brainDir = join(homedir(), ".brain");
150
- addedDirs.push(join(brainDir, "BrainCore"));
151
- 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
+ }
152
160
  }
153
161
  // Skill system: mount clawnet home for skill discovery
154
162
  // Skills are at ~/.clawnet/.claude/skills/{name}/SKILL.md
155
163
  const clawnetDir = join(homedir(), ".clawnet");
156
164
  addedDirs.push(clawnetDir);
157
- // 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.
158
168
  if (options.additionalDirs) {
159
169
  for (const dir of options.additionalDirs) {
160
170
  addedDirs.push(dir);
161
171
  }
162
172
  }
163
- for (const dir of addedDirs) {
164
- args.push("--add-dir", dir);
165
- }
166
173
  // ClawNet MCP config (memory MCP + custom MCPs)
167
174
  const clawnetMcpConfig = join(clawnetDir, "mcp.json");
168
175
  if (existsSync(clawnetMcpConfig)) {
@@ -171,12 +178,6 @@ export class ClaudeCodeAdapter {
171
178
  if (options.mcpConfigPath) {
172
179
  args.push("--mcp-config", options.mcpConfigPath);
173
180
  }
174
- if (options.allowedTools && options.allowedTools.length > 0) {
175
- args.push("--allowedTools", options.allowedTools.join(","));
176
- }
177
- if (options.disallowedTools && options.disallowedTools.length > 0) {
178
- args.push("--disallowedTools", options.disallowedTools.join(","));
179
- }
180
181
  // Validate cwd exists — invalid cwd causes ENOENT even if the binary is fine
181
182
  let cwd = options.workDir || process.cwd();
182
183
  if (!existsSync(cwd)) {
@@ -197,7 +198,7 @@ export class ClaudeCodeAdapter {
197
198
  const proc = spawn(command, [...prefixArgs, ...args], {
198
199
  cwd,
199
200
  stdio: ["pipe", "pipe", "pipe"],
200
- env: { ...process.env, PATH: augmentedPath, ...envOverrides },
201
+ env: { ...process.env, PATH: augmentedPath, ...envOverrides, ...(options.env ?? {}) },
201
202
  windowsHide: true,
202
203
  });
203
204
  // Wait for process to be ready (or fail to start)
@@ -263,5 +264,17 @@ export class ClaudeCodeAdapter {
263
264
  process.on("token_budget_warning", handler);
264
265
  }
265
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
+ }
266
279
  }
267
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,sEAAsE;QACtE,mEAAmE;QACnE,sEAAsE;QACtE,oEAAoE;QACpE,iEAAiE;QACjE,mEAAmE;QACnE,iEAAiE;QACjE,EAAE;QACF,iEAAiE;QACjE,mEAAmE;QACnE,gEAAgE;QAChE,8DAA8D;QAC9D,oEAAoE;QACpE,oEAAoE;QACpE,+DAA+D;QAC/D,MAAM,cAAc,GAClB,OAAO,CAAC,OAAO,KAAK,WAAW;YAC7B,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,OAAO,CAAC,OAAO,KAAK,iBAAiB,IAAI,OAAO,CAAC,OAAO,KAAK,aAAa;gBAC1E,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QAC5B,MAAM,IAAI,GAAG;YACX,iBAAiB,EAAE,aAAa;YAChC,gBAAgB,EAAE,aAAa;YAC/B,WAAW;YACX,mBAAmB,EAAE,cAAc;SACpC,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,OAAqD;QAErD,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;IAoElF;;;;;;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,6 +85,21 @@ 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();
90
105
  // PR #28 follow-up: if process exits while still holding a pending
@@ -133,7 +148,17 @@ export class ClaudeProcess extends EventEmitter {
133
148
  // reflects the new turn.
134
149
  this.pendingDelta += estimateText(content);
135
150
  this.log.debug(previewFields(content), "stdin.write user input");
136
- 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
+ });
137
162
  }
138
163
  /**
139
164
  * True iff the underlying child process is still running and its stdin is
@@ -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.24",
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.8",
19
- "@mclawnet/logger": "0.1.7"
20
- },
21
- "peerDependencies": {
22
- "@mclawnet/agent": "0.6.34"
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",