@mclawnet/claude-adapter 0.1.4 → 0.1.6
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,65 +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
|
? [
|
|
14
|
-
// Official standalone installer
|
|
15
30
|
join(home, ".local", "bin", "claude.exe"),
|
|
16
31
|
join(home, ".claude", "local", "claude.exe"),
|
|
17
|
-
join(home, "AppData", "Local", "Programs", "claude", "claude.exe"),
|
|
18
|
-
// npm global
|
|
19
32
|
join(home, "AppData", "Roaming", "npm", "claude.cmd"),
|
|
20
|
-
|
|
21
|
-
...getNvmClaudePaths(home),
|
|
22
|
-
// volta
|
|
23
|
-
join(home, ".volta", "bin", "claude.cmd"),
|
|
24
|
-
// pnpm global
|
|
25
|
-
join(home, "AppData", "Local", "pnpm", "claude.cmd"),
|
|
33
|
+
join(home, "AppData", "Local", "Programs", "claude", "claude.exe"),
|
|
26
34
|
]
|
|
27
35
|
: [
|
|
28
36
|
join(home, ".claude", "local", "claude"),
|
|
29
37
|
"/opt/homebrew/bin/claude",
|
|
30
38
|
"/usr/local/bin/claude",
|
|
31
|
-
join(home, ".npm-global", "bin", "claude"),
|
|
32
39
|
];
|
|
33
|
-
for (const p of
|
|
40
|
+
for (const p of fallbacks) {
|
|
34
41
|
if (existsSync(p))
|
|
35
42
|
return p;
|
|
36
43
|
}
|
|
37
|
-
|
|
38
|
-
if (isWin) {
|
|
39
|
-
for (const name of ["claude.exe", "claude.cmd"]) {
|
|
40
|
-
try {
|
|
41
|
-
const found = execSync(`where ${name}`, { encoding: "utf-8", timeout: 3000 }).trim().split(/\r?\n/)[0];
|
|
42
|
-
if (found && existsSync(found))
|
|
43
|
-
return found;
|
|
44
|
-
}
|
|
45
|
-
catch { /* not found */ }
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return isWin ? "claude.cmd" : "claude"; // fallback to PATH lookup
|
|
49
|
-
}
|
|
50
|
-
/** Get possible claude paths from nvm-windows node version directories. */
|
|
51
|
-
function getNvmClaudePaths(home) {
|
|
52
|
-
const nvmDir = join(home, "AppData", "Roaming", "nvm");
|
|
53
|
-
try {
|
|
54
|
-
if (!existsSync(nvmDir))
|
|
55
|
-
return [];
|
|
56
|
-
return readdirSync(nvmDir)
|
|
57
|
-
.filter(d => d.startsWith("v") || /^\d/.test(d))
|
|
58
|
-
.map(d => join(nvmDir, d, "claude.cmd"));
|
|
59
|
-
}
|
|
60
|
-
catch {
|
|
61
|
-
return [];
|
|
62
|
-
}
|
|
44
|
+
return isWin ? "claude.cmd" : "claude";
|
|
63
45
|
}
|
|
64
46
|
/**
|
|
65
47
|
* ClaudeCodeAdapter — BackendAdapter for Claude Code CLI.
|
|
@@ -116,20 +98,10 @@ export class ClaudeCodeAdapter {
|
|
|
116
98
|
if (!existsSync(cwd)) {
|
|
117
99
|
cwd = homedir();
|
|
118
100
|
}
|
|
119
|
-
// Ensure PATH includes
|
|
120
|
-
const home = homedir();
|
|
121
|
-
const extraPaths = isWin
|
|
122
|
-
? [
|
|
123
|
-
join(home, ".local", "bin"),
|
|
124
|
-
join(home, "AppData", "Roaming", "npm"),
|
|
125
|
-
join(home, ".volta", "bin"),
|
|
126
|
-
join(home, "AppData", "Local", "pnpm"),
|
|
127
|
-
// Also add the directory containing the resolved claude binary
|
|
128
|
-
dirname(this.claudeBin),
|
|
129
|
-
]
|
|
130
|
-
: ["/opt/homebrew/bin", "/usr/local/bin"];
|
|
101
|
+
// Ensure PATH includes the resolved claude binary's directory
|
|
131
102
|
const currentPath = process.env.PATH || "";
|
|
132
|
-
const
|
|
103
|
+
const binDir = dirname(this.claudeBin);
|
|
104
|
+
const augmentedPath = currentPath.includes(binDir) ? currentPath : [binDir, currentPath].join(delimiter);
|
|
133
105
|
const proc = spawn(this.claudeBin, args, {
|
|
134
106
|
cwd,
|
|
135
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.6",
|
|
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/
|
|
20
|
-
"@mclawnet/
|
|
19
|
+
"@mclawnet/logger": "0.1.2",
|
|
20
|
+
"@mclawnet/agent": "0.6.8"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|
|
23
|
-
"@mclawnet/agent": "0.6.
|
|
23
|
+
"@mclawnet/agent": "0.6.8"
|
|
24
24
|
},
|
|
25
25
|
"peerDependenciesMeta": {
|
|
26
26
|
"@mclawnet/agent": {
|