@mclawnet/claude-adapter 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"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;
|
|
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;AA2CpD;;;;;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;IAgFpD,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;CAKxE"}
|
|
@@ -1,60 +1,47 @@
|
|
|
1
1
|
import { execSync, spawn } from "node:child_process";
|
|
2
|
-
import { existsSync
|
|
2
|
+
import { existsSync } from "node:fs";
|
|
3
3
|
import { homedir, platform } from "node:os";
|
|
4
4
|
import { join, delimiter, dirname } from "node:path";
|
|
5
5
|
import { ClaudeProcess } from "./claude-process.js";
|
|
6
6
|
const isWin = platform() === "win32";
|
|
7
|
-
/** Resolve claude CLI binary
|
|
7
|
+
/** Resolve claude CLI binary using system lookup (where/which), then known paths as fallback. */
|
|
8
8
|
function resolveClaudeBin(explicit) {
|
|
9
9
|
if (explicit)
|
|
10
10
|
return explicit;
|
|
11
|
+
// 1. Use the OS tool to find claude in PATH — works regardless of install method
|
|
12
|
+
const names = isWin ? ["claude.exe", "claude.cmd"] : ["claude"];
|
|
13
|
+
const whichCmd = isWin ? "where" : "which";
|
|
14
|
+
for (const name of names) {
|
|
15
|
+
try {
|
|
16
|
+
const found = execSync(`${whichCmd} ${name}`, {
|
|
17
|
+
encoding: "utf-8",
|
|
18
|
+
timeout: 5000,
|
|
19
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
20
|
+
}).trim().split(/\r?\n/)[0];
|
|
21
|
+
if (found && existsSync(found))
|
|
22
|
+
return found;
|
|
23
|
+
}
|
|
24
|
+
catch { /* not in PATH */ }
|
|
25
|
+
}
|
|
26
|
+
// 2. Fallback: check a few well-known locations
|
|
11
27
|
const home = homedir();
|
|
12
|
-
const
|
|
28
|
+
const fallbacks = isWin
|
|
13
29
|
? [
|
|
30
|
+
join(home, ".local", "bin", "claude.exe"),
|
|
14
31
|
join(home, ".claude", "local", "claude.exe"),
|
|
15
32
|
join(home, "AppData", "Roaming", "npm", "claude.cmd"),
|
|
16
33
|
join(home, "AppData", "Local", "Programs", "claude", "claude.exe"),
|
|
17
|
-
// nvm-windows: npm global lives inside the active node version dir
|
|
18
|
-
...getNvmClaudePaths(home),
|
|
19
|
-
// volta
|
|
20
|
-
join(home, ".volta", "bin", "claude.cmd"),
|
|
21
|
-
// pnpm global
|
|
22
|
-
join(home, "AppData", "Local", "pnpm", "claude.cmd"),
|
|
23
34
|
]
|
|
24
35
|
: [
|
|
25
36
|
join(home, ".claude", "local", "claude"),
|
|
26
37
|
"/opt/homebrew/bin/claude",
|
|
27
38
|
"/usr/local/bin/claude",
|
|
28
|
-
join(home, ".npm-global", "bin", "claude"),
|
|
29
39
|
];
|
|
30
|
-
for (const p of
|
|
40
|
+
for (const p of fallbacks) {
|
|
31
41
|
if (existsSync(p))
|
|
32
42
|
return p;
|
|
33
43
|
}
|
|
34
|
-
|
|
35
|
-
if (isWin) {
|
|
36
|
-
try {
|
|
37
|
-
const found = execSync("where claude.cmd", { encoding: "utf-8", timeout: 3000 }).trim().split(/\r?\n/)[0];
|
|
38
|
-
if (found && existsSync(found))
|
|
39
|
-
return found;
|
|
40
|
-
}
|
|
41
|
-
catch { /* not found */ }
|
|
42
|
-
}
|
|
43
|
-
return isWin ? "claude.cmd" : "claude"; // fallback to PATH lookup
|
|
44
|
-
}
|
|
45
|
-
/** Get possible claude paths from nvm-windows node version directories. */
|
|
46
|
-
function getNvmClaudePaths(home) {
|
|
47
|
-
const nvmDir = join(home, "AppData", "Roaming", "nvm");
|
|
48
|
-
try {
|
|
49
|
-
if (!existsSync(nvmDir))
|
|
50
|
-
return [];
|
|
51
|
-
return readdirSync(nvmDir)
|
|
52
|
-
.filter(d => d.startsWith("v") || /^\d/.test(d))
|
|
53
|
-
.map(d => join(nvmDir, d, "claude.cmd"));
|
|
54
|
-
}
|
|
55
|
-
catch {
|
|
56
|
-
return [];
|
|
57
|
-
}
|
|
44
|
+
return isWin ? "claude.cmd" : "claude";
|
|
58
45
|
}
|
|
59
46
|
/**
|
|
60
47
|
* ClaudeCodeAdapter — BackendAdapter for Claude Code CLI.
|
|
@@ -111,19 +98,10 @@ export class ClaudeCodeAdapter {
|
|
|
111
98
|
if (!existsSync(cwd)) {
|
|
112
99
|
cwd = homedir();
|
|
113
100
|
}
|
|
114
|
-
// Ensure PATH includes
|
|
115
|
-
const home = homedir();
|
|
116
|
-
const extraPaths = isWin
|
|
117
|
-
? [
|
|
118
|
-
join(home, "AppData", "Roaming", "npm"),
|
|
119
|
-
join(home, ".volta", "bin"),
|
|
120
|
-
join(home, "AppData", "Local", "pnpm"),
|
|
121
|
-
// Also add the directory containing the resolved claude binary
|
|
122
|
-
dirname(this.claudeBin),
|
|
123
|
-
]
|
|
124
|
-
: ["/opt/homebrew/bin", "/usr/local/bin"];
|
|
101
|
+
// Ensure PATH includes the resolved claude binary's directory
|
|
125
102
|
const currentPath = process.env.PATH || "";
|
|
126
|
-
const
|
|
103
|
+
const binDir = dirname(this.claudeBin);
|
|
104
|
+
const augmentedPath = currentPath.includes(binDir) ? currentPath : [binDir, currentPath].join(delimiter);
|
|
127
105
|
const proc = spawn(this.claudeBin, args, {
|
|
128
106
|
cwd,
|
|
129
107
|
stdio: ["pipe", "pipe", "pipe"],
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"claude-code-adapter.js","sourceRoot":"","sources":["../src/claude-code-adapter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mclawnet/claude-adapter",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"@mclawnet/shared": "0.1.1",
|
|
19
|
-
"@mclawnet/agent": "0.6.
|
|
19
|
+
"@mclawnet/agent": "0.6.7",
|
|
20
20
|
"@mclawnet/logger": "0.1.2"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|
|
23
|
-
"@mclawnet/agent": "0.6.
|
|
23
|
+
"@mclawnet/agent": "0.6.7"
|
|
24
24
|
},
|
|
25
25
|
"peerDependenciesMeta": {
|
|
26
26
|
"@mclawnet/agent": {
|