@rethinkingstudio/clawpilot 1.1.14-beta.1 → 1.1.14-beta.3

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,9 +1,6 @@
1
1
  import { readdirSync, statSync, copyFileSync, existsSync, readFileSync } from "fs";
2
2
  import { join } from "path";
3
- import { homedir } from "os";
4
- import { execOpenclaw } from "./openclaw-cli.js";
5
- const OPENCLAW_DIR = join(homedir(), ".openclaw");
6
- const OPENCLAW_CONFIG = join(OPENCLAW_DIR, "openclaw.json");
3
+ import { execOpenclaw, resolveOpenclawConfigPath, resolveOpenclawDir } from "./openclaw-cli.js";
7
4
  // ---------------------------------------------------------------------------
8
5
  export function handleLocalCommand(method) {
9
6
  switch (method) {
@@ -79,14 +76,15 @@ function maskString(value) {
79
76
  // ---------------------------------------------------------------------------
80
77
  function readOpenclawConfig() {
81
78
  try {
82
- if (!existsSync(OPENCLAW_CONFIG)) {
83
- return { ok: false, error: `openclaw config not found: ${OPENCLAW_CONFIG}` };
79
+ const configPath = resolveOpenclawConfigPath();
80
+ if (!existsSync(configPath)) {
81
+ return { ok: false, error: `openclaw config not found: ${configPath}` };
84
82
  }
85
- const raw = readFileSync(OPENCLAW_CONFIG, "utf-8");
83
+ const raw = readFileSync(configPath, "utf-8");
86
84
  const parsed = JSON.parse(raw);
87
85
  const masked = maskSensitive(parsed);
88
86
  const output = JSON.stringify(masked, null, 2);
89
- return { ok: true, payload: { output: `[${OPENCLAW_CONFIG}]\n${output}` } };
87
+ return { ok: true, payload: { output: `[${configPath}]\n${output}` } };
90
88
  }
91
89
  catch (err) {
92
90
  return { ok: false, error: String(err) };
@@ -128,13 +126,16 @@ function fixToolsPermissions202632() {
128
126
  }
129
127
  function restoreConfig() {
130
128
  try {
131
- if (!existsSync(OPENCLAW_DIR)) {
132
- return { ok: false, error: `openclaw config dir not found: ${OPENCLAW_DIR}` };
129
+ const openclawDir = resolveOpenclawDir();
130
+ const configPath = resolveOpenclawConfigPath();
131
+ if (!existsSync(openclawDir)) {
132
+ return { ok: false, error: `openclaw config dir not found: ${openclawDir}` };
133
133
  }
134
- const bakFiles = readdirSync(OPENCLAW_DIR)
134
+ const configFileName = configPath.split("/").pop() ?? "openclaw.json";
135
+ const bakFiles = readdirSync(openclawDir)
135
136
  .filter(name => name.startsWith("openclaw.json.bak"))
136
137
  .map(name => {
137
- const path = join(OPENCLAW_DIR, name);
138
+ const path = join(openclawDir, name);
138
139
  return { name, path, mtime: statSync(path).mtimeMs };
139
140
  })
140
141
  .sort((a, b) => b.mtime - a.mtime);
@@ -142,9 +143,9 @@ function restoreConfig() {
142
143
  return { ok: false, error: "No backup files found in ~/.openclaw/" };
143
144
  }
144
145
  const latest = bakFiles[0];
145
- copyFileSync(latest.path, OPENCLAW_CONFIG);
146
+ copyFileSync(latest.path, configPath);
146
147
  console.log(`[clawpilot] Config restored from ${latest.name}`);
147
- return { ok: true, payload: { restoredFrom: latest.name } };
148
+ return { ok: true, payload: { restoredFrom: latest.name, config: configFileName } };
148
149
  }
149
150
  catch (err) {
150
151
  return { ok: false, error: String(err) };
@@ -174,7 +175,8 @@ function runDoctor() {
174
175
  }
175
176
  function readLogs() {
176
177
  try {
177
- const logsDir = join(OPENCLAW_DIR, "logs");
178
+ const openclawDir = resolveOpenclawDir();
179
+ const logsDir = join(openclawDir, "logs");
178
180
  let logFiles = [];
179
181
  if (existsSync(logsDir)) {
180
182
  logFiles = readdirSync(logsDir)
@@ -182,9 +184,9 @@ function readLogs() {
182
184
  .map(f => join(logsDir, f));
183
185
  }
184
186
  else {
185
- logFiles = readdirSync(OPENCLAW_DIR)
187
+ logFiles = readdirSync(openclawDir)
186
188
  .filter(f => f.endsWith(".log"))
187
- .map(f => join(OPENCLAW_DIR, f));
189
+ .map(f => join(openclawDir, f));
188
190
  }
189
191
  if (logFiles.length === 0) {
190
192
  return { ok: true, payload: { output: "No log files found." } };
@@ -1 +1 @@
1
- {"version":3,"file":"local-handlers.js","sourceRoot":"","sources":["../../src/commands/local-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-handlers.js","sourceRoot":"","sources":["../../src/commands/local-handlers.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
1
  export declare const SUBPROCESS_ENV: NodeJS.ProcessEnv;
2
2
  export declare function resolveOpenclawBin(forceRefresh?: boolean): string;
3
3
  export declare function execOpenclaw(args: string): Buffer;
4
+ export declare function resolveOpenclawConfigPath(forceRefresh?: boolean): string;
5
+ export declare function resolveOpenclawDir(forceRefresh?: boolean): string;
@@ -1,4 +1,4 @@
1
- import { execSync } from "child_process";
1
+ import { execFileSync, execSync, } from "child_process";
2
2
  import { existsSync } from "fs";
3
3
  import { dirname, join } from "path";
4
4
  import { homedir } from "os";
@@ -7,6 +7,9 @@ const NODE_BIN_DIR = dirname(process.execPath);
7
7
  const KNOWN_BIN_DIRS = [
8
8
  NODE_BIN_DIR,
9
9
  join(HOME_DIR, ".npm-global", "bin"),
10
+ join(HOME_DIR, ".pnpm"),
11
+ join(HOME_DIR, "Library", "pnpm"),
12
+ join(HOME_DIR, ".config", "yarn", "global", "node_modules", ".bin"),
10
13
  join(HOME_DIR, ".local", "bin"),
11
14
  join(HOME_DIR, ".bun", "bin"),
12
15
  join(HOME_DIR, ".volta", "bin"),
@@ -37,6 +40,7 @@ export const SUBPROCESS_ENV = {
37
40
  ]).join(":"),
38
41
  };
39
42
  let cachedOpenclawBin = null;
43
+ let cachedOpenclawConfigPath = null;
40
44
  function findOpenclawInKnownPaths() {
41
45
  for (const dir of KNOWN_BIN_DIRS) {
42
46
  const candidate = join(dir, "openclaw");
@@ -66,6 +70,43 @@ function resolveViaShell() {
66
70
  }
67
71
  return null;
68
72
  }
73
+ function readCommandOutput(command) {
74
+ const options = {
75
+ stdio: "pipe",
76
+ env: SUBPROCESS_ENV,
77
+ timeout: 3000,
78
+ encoding: "utf8",
79
+ };
80
+ try {
81
+ const output = execSync(command, options).trim();
82
+ return output || null;
83
+ }
84
+ catch {
85
+ return null;
86
+ }
87
+ }
88
+ function findOpenclawViaPackageManagers() {
89
+ const candidateDirs = [];
90
+ const npmPrefix = readCommandOutput("npm config get prefix");
91
+ if (npmPrefix && !/^undefined|null$/i.test(npmPrefix)) {
92
+ candidateDirs.push(join(npmPrefix, "bin"));
93
+ }
94
+ const pnpmGlobalBin = readCommandOutput("pnpm config get global-bin-dir");
95
+ if (pnpmGlobalBin && !/^undefined|null$/i.test(pnpmGlobalBin)) {
96
+ candidateDirs.push(pnpmGlobalBin);
97
+ }
98
+ const npmExec = readCommandOutput("npm exec --yes -- which openclaw");
99
+ if (npmExec && existsSync(npmExec)) {
100
+ return npmExec;
101
+ }
102
+ for (const dir of unique(candidateDirs)) {
103
+ const candidate = join(dir, "openclaw");
104
+ if (existsSync(candidate)) {
105
+ return candidate;
106
+ }
107
+ }
108
+ return null;
109
+ }
69
110
  export function resolveOpenclawBin(forceRefresh = false) {
70
111
  if (!forceRefresh && cachedOpenclawBin && existsSync(cachedOpenclawBin)) {
71
112
  return cachedOpenclawBin;
@@ -76,7 +117,7 @@ export function resolveOpenclawBin(forceRefresh = false) {
76
117
  console.log(`[clawpilot] openclaw resolved from OPENCLAW_BIN: ${envOverride}`);
77
118
  return envOverride;
78
119
  }
79
- const resolved = resolveViaShell() ?? findOpenclawInKnownPaths();
120
+ const resolved = resolveViaShell() ?? findOpenclawViaPackageManagers() ?? findOpenclawInKnownPaths();
80
121
  if (resolved) {
81
122
  cachedOpenclawBin = resolved;
82
123
  console.log(`[clawpilot] openclaw resolved: ${resolved}`);
@@ -86,6 +127,49 @@ export function resolveOpenclawBin(forceRefresh = false) {
86
127
  console.warn("[clawpilot] could not resolve openclaw path, using bare name");
87
128
  return cachedOpenclawBin;
88
129
  }
130
+ function splitShellArgs(input) {
131
+ const args = [];
132
+ let current = "";
133
+ let quote = null;
134
+ let escaping = false;
135
+ for (const ch of input) {
136
+ if (escaping) {
137
+ current += ch;
138
+ escaping = false;
139
+ continue;
140
+ }
141
+ if (ch === "\\") {
142
+ escaping = true;
143
+ continue;
144
+ }
145
+ if (quote) {
146
+ if (ch === quote) {
147
+ quote = null;
148
+ }
149
+ else {
150
+ current += ch;
151
+ }
152
+ continue;
153
+ }
154
+ if (ch === "'" || ch === '"') {
155
+ quote = ch;
156
+ continue;
157
+ }
158
+ if (/\s/.test(ch)) {
159
+ if (current) {
160
+ args.push(current);
161
+ current = "";
162
+ }
163
+ continue;
164
+ }
165
+ current += ch;
166
+ }
167
+ if (escaping)
168
+ current += "\\";
169
+ if (current)
170
+ args.push(current);
171
+ return args;
172
+ }
89
173
  function execErrorOutput(err) {
90
174
  const e = err;
91
175
  const out = e.stdout?.toString() ?? "";
@@ -94,8 +178,9 @@ function execErrorOutput(err) {
94
178
  }
95
179
  export function execOpenclaw(args) {
96
180
  let bin = resolveOpenclawBin();
181
+ const argv = splitShellArgs(args);
97
182
  try {
98
- return execSync(`"${bin}" ${args}`, { stdio: "pipe", env: SUBPROCESS_ENV });
183
+ return execFileSync(bin, argv, { stdio: "pipe", env: SUBPROCESS_ENV });
99
184
  }
100
185
  catch (error) {
101
186
  const output = execErrorOutput(error);
@@ -105,7 +190,32 @@ export function execOpenclaw(args) {
105
190
  throw error;
106
191
  }
107
192
  bin = resolveOpenclawBin(true);
108
- return execSync(`"${bin}" ${args}`, { stdio: "pipe", env: SUBPROCESS_ENV });
193
+ return execFileSync(bin, argv, { stdio: "pipe", env: SUBPROCESS_ENV });
194
+ }
195
+ }
196
+ const DEFAULT_OPENCLAW_CONFIG_PATH = join(HOME_DIR, ".openclaw", "openclaw.json");
197
+ export function resolveOpenclawConfigPath(forceRefresh = false) {
198
+ if (!forceRefresh && cachedOpenclawConfigPath && existsSync(cachedOpenclawConfigPath)) {
199
+ return cachedOpenclawConfigPath;
109
200
  }
201
+ try {
202
+ const output = execOpenclaw("config file").toString("utf8").trim();
203
+ const resolved = output
204
+ .split("\n")
205
+ .map(line => line.trim())
206
+ .find(line => line.endsWith(".json"));
207
+ if (resolved) {
208
+ cachedOpenclawConfigPath = resolved;
209
+ return resolved;
210
+ }
211
+ }
212
+ catch {
213
+ // Fall back to the legacy path search below.
214
+ }
215
+ cachedOpenclawConfigPath = DEFAULT_OPENCLAW_CONFIG_PATH;
216
+ return DEFAULT_OPENCLAW_CONFIG_PATH;
217
+ }
218
+ export function resolveOpenclawDir(forceRefresh = false) {
219
+ return dirname(resolveOpenclawConfigPath(forceRefresh));
110
220
  }
111
221
  //# sourceMappingURL=openclaw-cli.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openclaw-cli.js","sourceRoot":"","sources":["../../src/commands/openclaw-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openclaw-cli.js","sourceRoot":"","sources":["../../src/commands/openclaw-cli.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,7 @@
1
1
  import { readFile, writeFile, mkdir, readdir } from "fs/promises";
2
2
  import { join } from "path";
3
- import { homedir } from "os";
4
3
  import { PROVIDER_REGISTRY } from "./provider-registry.js";
5
- const OPENCLAW_DIR = join(homedir(), ".openclaw");
6
- const OPENCLAW_CONFIG = join(OPENCLAW_DIR, "openclaw.json");
7
- const AGENTS_DIR = join(OPENCLAW_DIR, "agents");
4
+ import { resolveOpenclawConfigPath, resolveOpenclawDir } from "./openclaw-cli.js";
8
5
  // ---------------------------------------------------------------------------
9
6
  // Internal helpers
10
7
  // ---------------------------------------------------------------------------
@@ -14,8 +11,9 @@ function maskKey(key) {
14
11
  return key.slice(0, 4) + "***" + key.slice(-4);
15
12
  }
16
13
  async function resolveAgentId() {
14
+ const agentsDir = join(resolveOpenclawDir(), "agents");
17
15
  try {
18
- const entries = await readdir(AGENTS_DIR, { withFileTypes: true });
16
+ const entries = await readdir(agentsDir, { withFileTypes: true });
19
17
  const dirs = entries.filter(e => e.isDirectory()).map(e => e.name);
20
18
  if (dirs.length > 0)
21
19
  return dirs[0];
@@ -48,7 +46,7 @@ function getNestedObj(root, keys) {
48
46
  return cur;
49
47
  }
50
48
  function authProfilesPath(agentId) {
51
- return join(AGENTS_DIR, agentId, "agent", "auth-profiles.json");
49
+ return join(resolveOpenclawDir(), "agents", agentId, "agent", "auth-profiles.json");
52
50
  }
53
51
  /** Extract the first model ID from a provider's models array in openclaw.json */
54
52
  function extractModelId(providerRaw) {
@@ -70,7 +68,7 @@ function inferType(id) {
70
68
  // Public API
71
69
  // ---------------------------------------------------------------------------
72
70
  export async function listProviderEntries() {
73
- const config = await readJson(OPENCLAW_CONFIG);
71
+ const config = await readJson(resolveOpenclawConfigPath());
74
72
  const agentId = await resolveAgentId();
75
73
  const authProfiles = await readJson(authProfilesPath(agentId));
76
74
  const profiles = authProfiles["profiles"] ?? {};
@@ -143,7 +141,7 @@ export async function addProvider(params) {
143
141
  const info = PROVIDER_REGISTRY[type];
144
142
  // --- Update openclaw.json (skip for builtIn providers) ---
145
143
  if (!info?.builtIn) {
146
- const config = await readJson(OPENCLAW_CONFIG);
144
+ const config = await readJson(resolveOpenclawConfigPath());
147
145
  const models = getNestedObj(config, ["models"]);
148
146
  const providers = getNestedObj(models, ["providers"]);
149
147
  // "apiKey" is the env var name reference (not the actual key value)
@@ -152,13 +150,13 @@ export async function addProvider(params) {
152
150
  providerEntry["models"] = [{ id: modelId, name: modelId }];
153
151
  }
154
152
  providers[id] = providerEntry;
155
- await writeJson(OPENCLAW_CONFIG, config);
153
+ await writeJson(resolveOpenclawConfigPath(), config);
156
154
  }
157
155
  // --- Update auth-profiles.json (only if apiKey provided) ---
158
156
  if (apiKey != null && apiKey.length > 0) {
159
157
  const agentId = await resolveAgentId();
160
158
  const profilesPath = authProfilesPath(agentId);
161
- const profilesDir = join(AGENTS_DIR, agentId, "agent");
159
+ const profilesDir = join(resolveOpenclawDir(), "agents", agentId, "agent");
162
160
  await mkdir(profilesDir, { recursive: true });
163
161
  const authProfiles = await readJson(profilesPath);
164
162
  const profiles = getNestedObj(authProfiles, ["profiles"]);
@@ -173,11 +171,11 @@ export async function deleteProvider(id) {
173
171
  const info = PROVIDER_REGISTRY[type];
174
172
  // --- Update openclaw.json (skip for builtIn) ---
175
173
  if (!info?.builtIn) {
176
- const config = await readJson(OPENCLAW_CONFIG);
174
+ const config = await readJson(resolveOpenclawConfigPath());
177
175
  const models = getNestedObj(config, ["models"]);
178
176
  const providers = getNestedObj(models, ["providers"]);
179
177
  delete providers[id];
180
- await writeJson(OPENCLAW_CONFIG, config);
178
+ await writeJson(resolveOpenclawConfigPath(), config);
181
179
  }
182
180
  // --- Update auth-profiles.json ---
183
181
  const agentId = await resolveAgentId();
@@ -201,18 +199,18 @@ export async function setDefaultProvider(id) {
201
199
  }
202
200
  else {
203
201
  // Read from models.providers entry
204
- const config = await readJson(OPENCLAW_CONFIG);
202
+ const config = await readJson(resolveOpenclawConfigPath());
205
203
  const models = config["models"] ?? {};
206
204
  const providers = models["providers"] ?? {};
207
205
  const providerRaw = providers[id] ?? {};
208
206
  modelId = extractModelId(providerRaw) ?? info?.defaultModelId ?? null;
209
207
  }
210
208
  const primary = modelId ? `${id}/${modelId}` : id;
211
- const config = await readJson(OPENCLAW_CONFIG);
209
+ const config = await readJson(resolveOpenclawConfigPath());
212
210
  const agents = getNestedObj(config, ["agents"]);
213
211
  const defaults = getNestedObj(agents, ["defaults"]);
214
212
  const model = getNestedObj(defaults, ["model"]);
215
213
  model["primary"] = primary;
216
- await writeJson(OPENCLAW_CONFIG, config);
214
+ await writeJson(resolveOpenclawConfigPath(), config);
217
215
  }
218
216
  //# sourceMappingURL=provider-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-config.js","sourceRoot":"","sources":["../../src/commands/provider-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-config.js","sourceRoot":"","sources":["../../src/commands/provider-config.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { readFileSync, writeFileSync, existsSync, mkdirSync } from "fs";
2
2
  import { join } from "path";
3
3
  import { homedir } from "os";
4
+ import { resolveOpenclawConfigPath } from "../commands/openclaw-cli.js";
4
5
  const CONFIG_DIR = join(homedir(), ".clawai");
5
6
  const CONFIG_PATH = join(CONFIG_DIR, "config.json");
6
- const OPENCLAW_CONFIG_PATH = join(homedir(), ".openclaw", "openclaw.json");
7
+ const LEGACY_OPENCLAW_CONFIG_PATH = join(homedir(), ".openclaw", "openclaw.json");
7
8
  export function configExists() {
8
9
  return existsSync(CONFIG_PATH);
9
10
  }
@@ -20,7 +21,9 @@ export function writeConfig(config) {
20
21
  }
21
22
  export function readGatewayUrl() {
22
23
  try {
23
- const raw = readFileSync(OPENCLAW_CONFIG_PATH, "utf-8");
24
+ const configPath = resolveOpenclawConfigPath();
25
+ const path = existsSync(configPath) ? configPath : LEGACY_OPENCLAW_CONFIG_PATH;
26
+ const raw = readFileSync(path, "utf-8");
24
27
  const json = JSON.parse(raw);
25
28
  const port = json?.gateway?.port ?? 18789;
26
29
  return `ws://localhost:${port}`;
@@ -41,7 +44,9 @@ export function readGatewayAuth(cfg) {
41
44
  }
42
45
  // Try to read the token from OpenClaw's own config
43
46
  try {
44
- const raw = readFileSync(OPENCLAW_CONFIG_PATH, "utf-8");
47
+ const configPath = resolveOpenclawConfigPath();
48
+ const path = existsSync(configPath) ? configPath : LEGACY_OPENCLAW_CONFIG_PATH;
49
+ const raw = readFileSync(path, "utf-8");
45
50
  const json = JSON.parse(raw);
46
51
  const token = json?.gateway?.token ?? json?.gateway?.auth?.token ?? undefined;
47
52
  const password = json?.gateway?.password ?? json?.gateway?.auth?.password ?? undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rethinkingstudio/clawpilot",
3
- "version": "1.1.14-beta.1",
3
+ "version": "1.1.14-beta.3",
4
4
  "description": "ClawAI relay client for Mac mini",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,11 +1,7 @@
1
1
  import { readdirSync, statSync, copyFileSync, existsSync, readFileSync } from "fs";
2
2
  import { join } from "path";
3
- import { homedir } from "os";
4
3
  import { execSync } from "child_process";
5
- import { execOpenclaw, SUBPROCESS_ENV } from "./openclaw-cli.js";
6
-
7
- const OPENCLAW_DIR = join(homedir(), ".openclaw");
8
- const OPENCLAW_CONFIG = join(OPENCLAW_DIR, "openclaw.json");
4
+ import { execOpenclaw, resolveOpenclawConfigPath, resolveOpenclawDir, SUBPROCESS_ENV } from "./openclaw-cli.js";
9
5
 
10
6
  export type LocalResult =
11
7
  | { ok: true; payload?: unknown }
@@ -97,16 +93,17 @@ function maskString(value: string): string {
97
93
 
98
94
  function readOpenclawConfig(): LocalResult {
99
95
  try {
100
- if (!existsSync(OPENCLAW_CONFIG)) {
101
- return { ok: false, error: `openclaw config not found: ${OPENCLAW_CONFIG}` };
96
+ const configPath = resolveOpenclawConfigPath();
97
+ if (!existsSync(configPath)) {
98
+ return { ok: false, error: `openclaw config not found: ${configPath}` };
102
99
  }
103
100
 
104
- const raw = readFileSync(OPENCLAW_CONFIG, "utf-8");
101
+ const raw = readFileSync(configPath, "utf-8");
105
102
  const parsed = JSON.parse(raw) as Record<string, unknown>;
106
103
  const masked = maskSensitive(parsed);
107
104
  const output = JSON.stringify(masked, null, 2);
108
105
 
109
- return { ok: true, payload: { output: `[${OPENCLAW_CONFIG}]\n${output}` } };
106
+ return { ok: true, payload: { output: `[${configPath}]\n${output}` } };
110
107
  } catch (err) {
111
108
  return { ok: false, error: String(err) };
112
109
  }
@@ -152,13 +149,16 @@ function fixToolsPermissions202632(): LocalResult {
152
149
 
153
150
  function restoreConfig(): LocalResult {
154
151
  try {
155
- if (!existsSync(OPENCLAW_DIR)) {
156
- return { ok: false, error: `openclaw config dir not found: ${OPENCLAW_DIR}` };
152
+ const openclawDir = resolveOpenclawDir();
153
+ const configPath = resolveOpenclawConfigPath();
154
+ if (!existsSync(openclawDir)) {
155
+ return { ok: false, error: `openclaw config dir not found: ${openclawDir}` };
157
156
  }
158
- const bakFiles = readdirSync(OPENCLAW_DIR)
157
+ const configFileName = configPath.split("/").pop() ?? "openclaw.json";
158
+ const bakFiles = readdirSync(openclawDir)
159
159
  .filter(name => name.startsWith("openclaw.json.bak"))
160
160
  .map(name => {
161
- const path = join(OPENCLAW_DIR, name);
161
+ const path = join(openclawDir, name);
162
162
  return { name, path, mtime: statSync(path).mtimeMs };
163
163
  })
164
164
  .sort((a, b) => b.mtime - a.mtime);
@@ -167,9 +167,9 @@ function restoreConfig(): LocalResult {
167
167
  return { ok: false, error: "No backup files found in ~/.openclaw/" };
168
168
  }
169
169
  const latest = bakFiles[0];
170
- copyFileSync(latest.path, OPENCLAW_CONFIG);
170
+ copyFileSync(latest.path, configPath);
171
171
  console.log(`[clawpilot] Config restored from ${latest.name}`);
172
- return { ok: true, payload: { restoredFrom: latest.name } };
172
+ return { ok: true, payload: { restoredFrom: latest.name, config: configFileName } };
173
173
  } catch (err) {
174
174
  return { ok: false, error: String(err) };
175
175
  }
@@ -199,7 +199,8 @@ function runDoctor(): LocalResult {
199
199
 
200
200
  function readLogs(): LocalResult {
201
201
  try {
202
- const logsDir = join(OPENCLAW_DIR, "logs");
202
+ const openclawDir = resolveOpenclawDir();
203
+ const logsDir = join(openclawDir, "logs");
203
204
  let logFiles: string[] = [];
204
205
 
205
206
  if (existsSync(logsDir)) {
@@ -207,9 +208,9 @@ function readLogs(): LocalResult {
207
208
  .filter(f => f.endsWith(".log"))
208
209
  .map(f => join(logsDir, f));
209
210
  } else {
210
- logFiles = readdirSync(OPENCLAW_DIR)
211
+ logFiles = readdirSync(openclawDir)
211
212
  .filter(f => f.endsWith(".log"))
212
- .map(f => join(OPENCLAW_DIR, f));
213
+ .map(f => join(openclawDir, f));
213
214
  }
214
215
 
215
216
  if (logFiles.length === 0) {
@@ -1,4 +1,8 @@
1
- import { execSync, type ExecSyncOptionsWithStringEncoding } from "child_process";
1
+ import {
2
+ execFileSync,
3
+ execSync,
4
+ type ExecSyncOptionsWithStringEncoding,
5
+ } from "child_process";
2
6
  import { existsSync } from "fs";
3
7
  import { dirname, join } from "path";
4
8
  import { homedir } from "os";
@@ -8,6 +12,9 @@ const NODE_BIN_DIR = dirname(process.execPath);
8
12
  const KNOWN_BIN_DIRS = [
9
13
  NODE_BIN_DIR,
10
14
  join(HOME_DIR, ".npm-global", "bin"),
15
+ join(HOME_DIR, ".pnpm"),
16
+ join(HOME_DIR, "Library", "pnpm"),
17
+ join(HOME_DIR, ".config", "yarn", "global", "node_modules", ".bin"),
11
18
  join(HOME_DIR, ".local", "bin"),
12
19
  join(HOME_DIR, ".bun", "bin"),
13
20
  join(HOME_DIR, ".volta", "bin"),
@@ -40,6 +47,7 @@ export const SUBPROCESS_ENV: NodeJS.ProcessEnv = {
40
47
  };
41
48
 
42
49
  let cachedOpenclawBin: string | null = null;
50
+ let cachedOpenclawConfigPath: string | null = null;
43
51
 
44
52
  function findOpenclawInKnownPaths(): string | null {
45
53
  for (const dir of KNOWN_BIN_DIRS) {
@@ -72,6 +80,50 @@ function resolveViaShell(): string | null {
72
80
  return null;
73
81
  }
74
82
 
83
+ function readCommandOutput(command: string): string | null {
84
+ const options: ExecSyncOptionsWithStringEncoding = {
85
+ stdio: "pipe",
86
+ env: SUBPROCESS_ENV,
87
+ timeout: 3000,
88
+ encoding: "utf8",
89
+ };
90
+
91
+ try {
92
+ const output = execSync(command, options).trim();
93
+ return output || null;
94
+ } catch {
95
+ return null;
96
+ }
97
+ }
98
+
99
+ function findOpenclawViaPackageManagers(): string | null {
100
+ const candidateDirs: string[] = [];
101
+
102
+ const npmPrefix = readCommandOutput("npm config get prefix");
103
+ if (npmPrefix && !/^undefined|null$/i.test(npmPrefix)) {
104
+ candidateDirs.push(join(npmPrefix, "bin"));
105
+ }
106
+
107
+ const pnpmGlobalBin = readCommandOutput("pnpm config get global-bin-dir");
108
+ if (pnpmGlobalBin && !/^undefined|null$/i.test(pnpmGlobalBin)) {
109
+ candidateDirs.push(pnpmGlobalBin);
110
+ }
111
+
112
+ const npmExec = readCommandOutput("npm exec --yes -- which openclaw");
113
+ if (npmExec && existsSync(npmExec)) {
114
+ return npmExec;
115
+ }
116
+
117
+ for (const dir of unique(candidateDirs)) {
118
+ const candidate = join(dir, "openclaw");
119
+ if (existsSync(candidate)) {
120
+ return candidate;
121
+ }
122
+ }
123
+
124
+ return null;
125
+ }
126
+
75
127
  export function resolveOpenclawBin(forceRefresh = false): string {
76
128
  if (!forceRefresh && cachedOpenclawBin && existsSync(cachedOpenclawBin)) {
77
129
  return cachedOpenclawBin;
@@ -84,7 +136,7 @@ export function resolveOpenclawBin(forceRefresh = false): string {
84
136
  return envOverride;
85
137
  }
86
138
 
87
- const resolved = resolveViaShell() ?? findOpenclawInKnownPaths();
139
+ const resolved = resolveViaShell() ?? findOpenclawViaPackageManagers() ?? findOpenclawInKnownPaths();
88
140
  if (resolved) {
89
141
  cachedOpenclawBin = resolved;
90
142
  console.log(`[clawpilot] openclaw resolved: ${resolved}`);
@@ -96,6 +148,54 @@ export function resolveOpenclawBin(forceRefresh = false): string {
96
148
  return cachedOpenclawBin;
97
149
  }
98
150
 
151
+ function splitShellArgs(input: string): string[] {
152
+ const args: string[] = [];
153
+ let current = "";
154
+ let quote: "'" | '"' | null = null;
155
+ let escaping = false;
156
+
157
+ for (const ch of input) {
158
+ if (escaping) {
159
+ current += ch;
160
+ escaping = false;
161
+ continue;
162
+ }
163
+
164
+ if (ch === "\\") {
165
+ escaping = true;
166
+ continue;
167
+ }
168
+
169
+ if (quote) {
170
+ if (ch === quote) {
171
+ quote = null;
172
+ } else {
173
+ current += ch;
174
+ }
175
+ continue;
176
+ }
177
+
178
+ if (ch === "'" || ch === '"') {
179
+ quote = ch;
180
+ continue;
181
+ }
182
+
183
+ if (/\s/.test(ch)) {
184
+ if (current) {
185
+ args.push(current);
186
+ current = "";
187
+ }
188
+ continue;
189
+ }
190
+
191
+ current += ch;
192
+ }
193
+
194
+ if (escaping) current += "\\";
195
+ if (current) args.push(current);
196
+ return args;
197
+ }
198
+
99
199
  function execErrorOutput(err: unknown): string {
100
200
  const e = err as { stdout?: Buffer | string; stderr?: Buffer | string };
101
201
  const out = e.stdout?.toString() ?? "";
@@ -105,8 +205,9 @@ function execErrorOutput(err: unknown): string {
105
205
 
106
206
  export function execOpenclaw(args: string): Buffer {
107
207
  let bin = resolveOpenclawBin();
208
+ const argv = splitShellArgs(args);
108
209
  try {
109
- return execSync(`"${bin}" ${args}`, { stdio: "pipe", env: SUBPROCESS_ENV });
210
+ return execFileSync(bin, argv, { stdio: "pipe", env: SUBPROCESS_ENV });
110
211
  } catch (error) {
111
212
  const output = execErrorOutput(error);
112
213
  const shouldRetry =
@@ -118,6 +219,36 @@ export function execOpenclaw(args: string): Buffer {
118
219
  }
119
220
 
120
221
  bin = resolveOpenclawBin(true);
121
- return execSync(`"${bin}" ${args}`, { stdio: "pipe", env: SUBPROCESS_ENV });
222
+ return execFileSync(bin, argv, { stdio: "pipe", env: SUBPROCESS_ENV });
223
+ }
224
+ }
225
+
226
+ const DEFAULT_OPENCLAW_CONFIG_PATH = join(HOME_DIR, ".openclaw", "openclaw.json");
227
+
228
+ export function resolveOpenclawConfigPath(forceRefresh = false): string {
229
+ if (!forceRefresh && cachedOpenclawConfigPath && existsSync(cachedOpenclawConfigPath)) {
230
+ return cachedOpenclawConfigPath;
231
+ }
232
+
233
+ try {
234
+ const output = execOpenclaw("config file").toString("utf8").trim();
235
+ const resolved = output
236
+ .split("\n")
237
+ .map(line => line.trim())
238
+ .find(line => line.endsWith(".json"));
239
+
240
+ if (resolved) {
241
+ cachedOpenclawConfigPath = resolved;
242
+ return resolved;
243
+ }
244
+ } catch {
245
+ // Fall back to the legacy path search below.
122
246
  }
247
+
248
+ cachedOpenclawConfigPath = DEFAULT_OPENCLAW_CONFIG_PATH;
249
+ return DEFAULT_OPENCLAW_CONFIG_PATH;
250
+ }
251
+
252
+ export function resolveOpenclawDir(forceRefresh = false): string {
253
+ return dirname(resolveOpenclawConfigPath(forceRefresh));
123
254
  }
@@ -1,11 +1,7 @@
1
1
  import { readFile, writeFile, mkdir, readdir } from "fs/promises";
2
2
  import { join } from "path";
3
- import { homedir } from "os";
4
3
  import { PROVIDER_REGISTRY } from "./provider-registry.js";
5
-
6
- const OPENCLAW_DIR = join(homedir(), ".openclaw");
7
- const OPENCLAW_CONFIG = join(OPENCLAW_DIR, "openclaw.json");
8
- const AGENTS_DIR = join(OPENCLAW_DIR, "agents");
4
+ import { resolveOpenclawConfigPath, resolveOpenclawDir } from "./openclaw-cli.js";
9
5
 
10
6
  // ---------------------------------------------------------------------------
11
7
  // Types
@@ -32,8 +28,9 @@ function maskKey(key: string): string {
32
28
  }
33
29
 
34
30
  async function resolveAgentId(): Promise<string> {
31
+ const agentsDir = join(resolveOpenclawDir(), "agents");
35
32
  try {
36
- const entries = await readdir(AGENTS_DIR, { withFileTypes: true });
33
+ const entries = await readdir(agentsDir, { withFileTypes: true });
37
34
  const dirs = entries.filter(e => e.isDirectory()).map(e => e.name);
38
35
  if (dirs.length > 0) return dirs[0];
39
36
  } catch {
@@ -70,7 +67,7 @@ function getNestedObj(
70
67
  }
71
68
 
72
69
  function authProfilesPath(agentId: string): string {
73
- return join(AGENTS_DIR, agentId, "agent", "auth-profiles.json");
70
+ return join(resolveOpenclawDir(), "agents", agentId, "agent", "auth-profiles.json");
74
71
  }
75
72
 
76
73
  /** Extract the first model ID from a provider's models array in openclaw.json */
@@ -95,7 +92,7 @@ function inferType(id: string): string {
95
92
  // ---------------------------------------------------------------------------
96
93
 
97
94
  export async function listProviderEntries(): Promise<ProviderEntry[]> {
98
- const config = await readJson(OPENCLAW_CONFIG);
95
+ const config = await readJson(resolveOpenclawConfigPath());
99
96
 
100
97
  const agentId = await resolveAgentId();
101
98
  const authProfiles = await readJson(authProfilesPath(agentId));
@@ -188,7 +185,7 @@ export async function addProvider(params: {
188
185
 
189
186
  // --- Update openclaw.json (skip for builtIn providers) ---
190
187
  if (!info?.builtIn) {
191
- const config = await readJson(OPENCLAW_CONFIG);
188
+ const config = await readJson(resolveOpenclawConfigPath());
192
189
  const models = getNestedObj(config, ["models"]);
193
190
  const providers = getNestedObj(models, ["providers"]);
194
191
 
@@ -199,14 +196,14 @@ export async function addProvider(params: {
199
196
  }
200
197
  providers[id] = providerEntry;
201
198
 
202
- await writeJson(OPENCLAW_CONFIG, config);
199
+ await writeJson(resolveOpenclawConfigPath(), config);
203
200
  }
204
201
 
205
202
  // --- Update auth-profiles.json (only if apiKey provided) ---
206
203
  if (apiKey != null && apiKey.length > 0) {
207
204
  const agentId = await resolveAgentId();
208
205
  const profilesPath = authProfilesPath(agentId);
209
- const profilesDir = join(AGENTS_DIR, agentId, "agent");
206
+ const profilesDir = join(resolveOpenclawDir(), "agents", agentId, "agent");
210
207
 
211
208
  await mkdir(profilesDir, { recursive: true });
212
209
 
@@ -227,11 +224,11 @@ export async function deleteProvider(id: string): Promise<void> {
227
224
 
228
225
  // --- Update openclaw.json (skip for builtIn) ---
229
226
  if (!info?.builtIn) {
230
- const config = await readJson(OPENCLAW_CONFIG);
227
+ const config = await readJson(resolveOpenclawConfigPath());
231
228
  const models = getNestedObj(config, ["models"]);
232
229
  const providers = getNestedObj(models, ["providers"]);
233
230
  delete providers[id];
234
- await writeJson(OPENCLAW_CONFIG, config);
231
+ await writeJson(resolveOpenclawConfigPath(), config);
235
232
  }
236
233
 
237
234
  // --- Update auth-profiles.json ---
@@ -259,7 +256,7 @@ export async function setDefaultProvider(id: string): Promise<void> {
259
256
  modelId = info.defaultModelId ?? null;
260
257
  } else {
261
258
  // Read from models.providers entry
262
- const config = await readJson(OPENCLAW_CONFIG);
259
+ const config = await readJson(resolveOpenclawConfigPath());
263
260
  const models = (config["models"] as Record<string, unknown>) ?? {};
264
261
  const providers = (models["providers"] as Record<string, unknown>) ?? {};
265
262
  const providerRaw = (providers[id] as Record<string, unknown>) ?? {};
@@ -268,11 +265,11 @@ export async function setDefaultProvider(id: string): Promise<void> {
268
265
 
269
266
  const primary = modelId ? `${id}/${modelId}` : id;
270
267
 
271
- const config = await readJson(OPENCLAW_CONFIG);
268
+ const config = await readJson(resolveOpenclawConfigPath());
272
269
  const agents = getNestedObj(config, ["agents"]);
273
270
  const defaults = getNestedObj(agents, ["defaults"]);
274
271
  const model = getNestedObj(defaults, ["model"]);
275
272
  model["primary"] = primary;
276
273
 
277
- await writeJson(OPENCLAW_CONFIG, config);
274
+ await writeJson(resolveOpenclawConfigPath(), config);
278
275
  }
@@ -1,10 +1,11 @@
1
1
  import { readFileSync, writeFileSync, existsSync, mkdirSync } from "fs";
2
2
  import { join } from "path";
3
3
  import { homedir } from "os";
4
+ import { resolveOpenclawConfigPath } from "../commands/openclaw-cli.js";
4
5
 
5
6
  const CONFIG_DIR = join(homedir(), ".clawai");
6
7
  const CONFIG_PATH = join(CONFIG_DIR, "config.json");
7
- const OPENCLAW_CONFIG_PATH = join(homedir(), ".openclaw", "openclaw.json");
8
+ const LEGACY_OPENCLAW_CONFIG_PATH = join(homedir(), ".openclaw", "openclaw.json");
8
9
 
9
10
  export interface ClawaiConfig {
10
11
  relayServerUrl: string;
@@ -36,7 +37,9 @@ export function writeConfig(config: ClawaiConfig): void {
36
37
 
37
38
  export function readGatewayUrl(): string {
38
39
  try {
39
- const raw = readFileSync(OPENCLAW_CONFIG_PATH, "utf-8");
40
+ const configPath = resolveOpenclawConfigPath();
41
+ const path = existsSync(configPath) ? configPath : LEGACY_OPENCLAW_CONFIG_PATH;
42
+ const raw = readFileSync(path, "utf-8");
40
43
  const json = JSON.parse(raw) as { gateway?: { port?: number } };
41
44
  const port = json?.gateway?.port ?? 18789;
42
45
  return `ws://localhost:${port}`;
@@ -57,7 +60,9 @@ export function readGatewayAuth(cfg: ClawaiConfig): { token?: string; password?:
57
60
  }
58
61
  // Try to read the token from OpenClaw's own config
59
62
  try {
60
- const raw = readFileSync(OPENCLAW_CONFIG_PATH, "utf-8");
63
+ const configPath = resolveOpenclawConfigPath();
64
+ const path = existsSync(configPath) ? configPath : LEGACY_OPENCLAW_CONFIG_PATH;
65
+ const raw = readFileSync(path, "utf-8");
61
66
  const json = JSON.parse(raw) as { gateway?: { token?: string; password?: string; auth?: { token?: string; password?: string } } };
62
67
  const token = json?.gateway?.token ?? json?.gateway?.auth?.token ?? undefined;
63
68
  const password = json?.gateway?.password ?? json?.gateway?.auth?.password ?? undefined;