@privateclaw/privateclaw-relay 0.1.11 → 0.1.13

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,10 +1,18 @@
1
+ interface RelayProviderSetupCommandCandidate {
2
+ label: string;
3
+ command: string;
4
+ args: string[];
5
+ display: string;
6
+ env?: NodeJS.ProcessEnv;
7
+ }
1
8
  export interface RelayProviderSetupStep {
2
9
  title: string;
3
10
  command: string;
4
11
  args: string[];
5
12
  display: string;
6
- kind?: "command" | "npm-pack-install";
7
- packageSpec?: string;
13
+ env?: NodeJS.ProcessEnv;
14
+ kind?: "command" | "install-candidates";
15
+ candidates?: readonly RelayProviderSetupCommandCandidate[];
8
16
  }
9
17
  export interface LocalOpenClawStatus {
10
18
  openClawAvailable: boolean;
@@ -21,10 +29,15 @@ export interface RelayProviderSetupPlan {
21
29
  verificationNotes: string[];
22
30
  pairingCommand: RelayProviderSetupStep;
23
31
  }
24
- type OneShotCommandRunner = (command: string, args: string[]) => Promise<RunOneShotCommandResult>;
32
+ type OneShotCommandRunner = (command: string, args: string[], options?: {
33
+ env?: NodeJS.ProcessEnv;
34
+ }) => Promise<RunOneShotCommandResult>;
25
35
  interface OfferRelayProviderSetupOptions {
26
36
  relayBaseUrl: string;
27
37
  webChatUrl?: string;
38
+ openClawConfigPath?: string;
39
+ packageRoot?: string;
40
+ packageSpec?: string;
28
41
  onLog?: (line: string) => void;
29
42
  isInteractive?: boolean;
30
43
  detectLocalOpenClawStatus?: () => Promise<LocalOpenClawStatus>;
@@ -45,6 +58,9 @@ export declare function detectLocalOpenClawStatus(runCommand?: OneShotCommandRun
45
58
  export declare function buildRelayProviderSetupPlan(params: {
46
59
  relayBaseUrl: string;
47
60
  status: LocalOpenClawStatus;
61
+ packageRoot?: string;
62
+ packageSpec?: string;
63
+ openClawConfigPath?: string;
48
64
  }): RelayProviderSetupPlan;
49
65
  export declare function renderRelayProviderSetupGuidance(plan: RelayProviderSetupPlan): string;
50
66
  export declare function offerRelayProviderSetup(options: OfferRelayProviderSetupOptions): Promise<void>;
@@ -1,12 +1,12 @@
1
1
  import { spawn } from "node:child_process";
2
2
  import { once } from "node:events";
3
- import { mkdtemp, rm } from "node:fs/promises";
4
- import os from "node:os";
3
+ import { existsSync, readFileSync } from "node:fs";
5
4
  import path from "node:path";
6
5
  import { createInterface } from "node:readline/promises";
7
6
  import { stdin, stdout } from "node:process";
7
+ import { fileURLToPath } from "node:url";
8
8
  import { RelayCliUserError } from "./cli-error.js";
9
- const PRIVATECLAW_VERIFICATION_COMMAND = "openclaw privateclaw pair --help";
9
+ const OPENCLAW_UNSAFE_INSTALL_FLAG = "--dangerously-force-unsafe-install";
10
10
  function createStep(title, command, args, display, extra) {
11
11
  return {
12
12
  title,
@@ -31,8 +31,66 @@ function delay(ms) {
31
31
  setTimeout(resolve, ms);
32
32
  });
33
33
  }
34
- async function runOneShotCommand(command, args) {
34
+ function shellEscape(value) {
35
+ if (/^[A-Za-z0-9_./:@%+=,-]+$/u.test(value)) {
36
+ return value;
37
+ }
38
+ return `'${value.replace(/'/gu, `'\"'\"'`)}'`;
39
+ }
40
+ function buildCommandDisplay(command, args) {
41
+ return [command, ...args].map(shellEscape).join(" ");
42
+ }
43
+ function buildOpenClawCommandEnv(configPath) {
44
+ const resolvedConfigPath = path.resolve(configPath);
45
+ const stateDir = path.dirname(resolvedConfigPath);
46
+ return {
47
+ ...process.env,
48
+ OPENCLAW_STATE_DIR: stateDir,
49
+ OPENCLAW_CONFIG_PATH: resolvedConfigPath,
50
+ };
51
+ }
52
+ function buildOpenClawDisplayPrefix(configPath) {
53
+ if (!configPath) {
54
+ return undefined;
55
+ }
56
+ const resolvedConfigPath = path.resolve(configPath);
57
+ const stateDir = path.dirname(resolvedConfigPath);
58
+ return `OPENCLAW_STATE_DIR=${shellEscape(stateDir)} OPENCLAW_CONFIG_PATH=${shellEscape(resolvedConfigPath)}`;
59
+ }
60
+ function buildDisplayWithOptionalPrefix(command, args, prefix) {
61
+ const commandDisplay = buildCommandDisplay(command, args);
62
+ return prefix ? `${prefix} ${commandDisplay}` : commandDisplay;
63
+ }
64
+ function createOpenClawStep(title, args, configPath) {
65
+ const env = configPath ? buildOpenClawCommandEnv(configPath) : undefined;
66
+ return createStep(title, "openclaw", args, buildDisplayWithOptionalPrefix("openclaw", args, buildOpenClawDisplayPrefix(configPath)), {
67
+ ...(env ? { env } : {}),
68
+ });
69
+ }
70
+ function createNpmExecOpenClawStep(title, args, configPath) {
71
+ const command = resolveNpmCommand();
72
+ const fullArgs = ["exec", "-y", "openclaw@latest", "--", ...args];
73
+ const env = configPath ? buildOpenClawCommandEnv(configPath) : undefined;
74
+ return createStep(title, command, fullArgs, buildDisplayWithOptionalPrefix(command, fullArgs, buildOpenClawDisplayPrefix(configPath)), {
75
+ ...(env ? { env } : {}),
76
+ });
77
+ }
78
+ function createOpenClawOneShotRunner(configPath) {
79
+ if (!configPath) {
80
+ return runOneShotCommand;
81
+ }
82
+ const env = buildOpenClawCommandEnv(configPath);
83
+ return (command, args, options) => runOneShotCommand(command, args, {
84
+ ...(options ?? {}),
85
+ env: {
86
+ ...env,
87
+ ...(options?.env ?? {}),
88
+ },
89
+ });
90
+ }
91
+ async function runOneShotCommand(command, args, options) {
35
92
  const child = spawn(command, args, {
93
+ ...(options?.env ? { env: options.env } : {}),
36
94
  stdio: ["ignore", "pipe", "pipe"],
37
95
  });
38
96
  let stdoutText = "";
@@ -68,8 +126,9 @@ async function runOneShotCommand(command, args) {
68
126
  throw error;
69
127
  }
70
128
  }
71
- async function runStreamingCommand(command, args) {
129
+ async function runStreamingCommand(command, args, options) {
72
130
  const child = spawn(command, args, {
131
+ ...(options?.env ? { env: options.env } : {}),
73
132
  stdio: ["ignore", "pipe", "pipe"],
74
133
  });
75
134
  let stdoutText = "";
@@ -113,65 +172,96 @@ async function runStreamingCommand(command, args) {
113
172
  function resolveNpmCommand() {
114
173
  return process.platform === "win32" ? "npm.cmd" : "npm";
115
174
  }
116
- function isExactSemverVersion(value) {
117
- return /^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/u.test(value.trim());
175
+ function resolveLocalPrivateClawPackageRoot() {
176
+ const candidates = [
177
+ fileURLToPath(new URL("../../../packages/privateclaw-provider/", import.meta.url)),
178
+ path.join(process.cwd(), "packages/privateclaw-provider"),
179
+ ];
180
+ return candidates.find((candidate) => existsSync(path.join(candidate, "package.json")));
118
181
  }
119
- function buildPackedArchiveHint(packageSpec) {
120
- const normalizedSpec = packageSpec.trim();
121
- const lastAt = normalizedSpec.lastIndexOf("@");
122
- const hasSelector = lastAt > 0;
123
- const packageName = hasSelector ? normalizedSpec.slice(0, lastAt) : normalizedSpec;
124
- const selector = hasSelector ? normalizedSpec.slice(lastAt + 1) : "";
125
- const sanitizedName = packageName.replace(/^@/u, "").replace(/\//gu, "-");
126
- if (selector && isExactSemverVersion(selector)) {
127
- return `${sanitizedName}-${selector.replace(/^v/iu, "")}.tgz`;
182
+ function resolveLocalPrivateClawPackageSpec(packageRoot) {
183
+ if (packageRoot) {
184
+ try {
185
+ const packageJson = JSON.parse(readFileSync(path.join(packageRoot, "package.json"), "utf8"));
186
+ if (typeof packageJson.name === "string" &&
187
+ packageJson.name.trim() !== "" &&
188
+ typeof packageJson.version === "string" &&
189
+ packageJson.version.trim() !== "") {
190
+ return `${packageJson.name.trim()}@${packageJson.version.trim()}`;
191
+ }
192
+ }
193
+ catch {
194
+ // Fall back to the published npm tag below.
195
+ }
128
196
  }
129
- return `${sanitizedName}-*.tgz`;
197
+ return "@privateclaw/privateclaw@latest";
130
198
  }
131
- function createNpmPackInstallStep(packageSpec) {
132
- return createStep("Pack the PrivateClaw npm package locally, then install the generated archive into OpenClaw", resolveNpmCommand(), ["pack", packageSpec], `npm pack ${packageSpec} && openclaw plugins install ./${buildPackedArchiveHint(packageSpec)}`, {
133
- kind: "npm-pack-install",
134
- packageSpec,
135
- });
199
+ function buildRelayPrivateClawVerificationDisplay(configPath) {
200
+ return buildDisplayWithOptionalPrefix("openclaw", ["privateclaw", "pair", "--help"], buildOpenClawDisplayPrefix(configPath));
136
201
  }
137
- function createManualNpmArchiveInstallSteps(packageSpec) {
138
- const archiveHint = buildPackedArchiveHint(packageSpec);
139
- return [
140
- createStep("Pack the PrivateClaw plugin from npm into a local archive", resolveNpmCommand(), ["pack", packageSpec], `npm pack ${packageSpec}`),
141
- createStep("Install the generated PrivateClaw plugin archive into OpenClaw", "openclaw", ["plugins", "install", `./${archiveHint}`], `openclaw plugins install ./${archiveHint}`),
142
- ];
143
- }
144
- async function runRelayNpmPackInstallStep(step) {
145
- if (!step.packageSpec) {
146
- throw new RelayCliUserError("Missing packageSpec for npm-pack-install step.");
147
- }
148
- const tempDir = await mkdtemp(path.join(os.tmpdir(), "privateclaw-relay-install-"));
149
- try {
150
- const packResult = await runOneShotCommand(resolveNpmCommand(), [
151
- "pack",
152
- step.packageSpec,
153
- "--json",
154
- "--ignore-scripts",
155
- "--pack-destination",
156
- tempDir,
157
- ]);
158
- const packOutput = packResult.stdout.trim() || packResult.combined.trim();
159
- const parsed = JSON.parse(packOutput);
160
- const archiveFileName = typeof parsed[0]?.filename === "string" && parsed[0].filename.trim() !== ""
161
- ? parsed[0].filename.trim()
162
- : undefined;
163
- if (!archiveFileName) {
164
- throw new RelayCliUserError(`Could not determine the generated archive for ${step.packageSpec}.`);
165
- }
166
- await runStreamingCommand("openclaw", [
202
+ function createRelayOpenClawInstallCandidates(params) {
203
+ const candidates = [];
204
+ if (params.packageRoot) {
205
+ const normalizedPackageRoot = path.resolve(params.packageRoot);
206
+ const installArgs = [
167
207
  "plugins",
168
208
  "install",
169
- path.join(tempDir, archiveFileName),
170
- ]);
171
- }
172
- finally {
173
- await rm(tempDir, { recursive: true, force: true });
174
- }
209
+ OPENCLAW_UNSAFE_INSTALL_FLAG,
210
+ normalizedPackageRoot,
211
+ ];
212
+ const openClawLocalStep = createOpenClawStep("Install the local PrivateClaw package directory into OpenClaw", installArgs, params.configPath);
213
+ const npmExecFallbackStep = createNpmExecOpenClawStep("Install the local PrivateClaw package directory via npm exec openclaw", installArgs, params.configPath);
214
+ candidates.push({
215
+ label: "openclaw (local package directory)",
216
+ command: openClawLocalStep.command,
217
+ args: openClawLocalStep.args,
218
+ display: openClawLocalStep.display,
219
+ ...(openClawLocalStep.env ? { env: openClawLocalStep.env } : {}),
220
+ }, {
221
+ label: "npm exec fallback (local package directory)",
222
+ command: npmExecFallbackStep.command,
223
+ args: npmExecFallbackStep.args,
224
+ display: npmExecFallbackStep.display,
225
+ ...(npmExecFallbackStep.env ? { env: npmExecFallbackStep.env } : {}),
226
+ });
227
+ }
228
+ const exactSpecArgs = [
229
+ "plugins",
230
+ "install",
231
+ OPENCLAW_UNSAFE_INSTALL_FLAG,
232
+ params.packageSpec,
233
+ ];
234
+ const exactVersionStep = createOpenClawStep(params.packageRoot
235
+ ? "Install the published PrivateClaw package with the exact npm spec"
236
+ : "Install the published PrivateClaw package", exactSpecArgs, params.configPath);
237
+ candidates.push({
238
+ label: params.packageRoot
239
+ ? "openclaw (exact version fallback)"
240
+ : "openclaw (published package)",
241
+ command: exactVersionStep.command,
242
+ args: exactVersionStep.args,
243
+ display: exactVersionStep.display,
244
+ ...(exactVersionStep.env ? { env: exactVersionStep.env } : {}),
245
+ });
246
+ return candidates;
247
+ }
248
+ function createRelayOpenClawInstallStep(params) {
249
+ const candidates = createRelayOpenClawInstallCandidates(params);
250
+ const [firstCandidate] = candidates;
251
+ if (!firstCandidate) {
252
+ throw new RelayCliUserError("Missing OpenClaw install candidates.");
253
+ }
254
+ return createStep("Install the PrivateClaw package into OpenClaw", firstCandidate.command, firstCandidate.args, firstCandidate.display, {
255
+ kind: "install-candidates",
256
+ candidates,
257
+ ...(firstCandidate.env ? { env: firstCandidate.env } : {}),
258
+ });
259
+ }
260
+ function createManualRelayOpenClawInstallSteps(params) {
261
+ const candidates = createRelayOpenClawInstallCandidates(params);
262
+ return candidates.map((candidate) => createStep(candidate.label, candidate.command, candidate.args, candidate.display, {
263
+ ...(candidate.env ? { env: candidate.env } : {}),
264
+ }));
175
265
  }
176
266
  async function commandExists(command, runCommand = runOneShotCommand) {
177
267
  try {
@@ -232,20 +322,45 @@ export async function detectLocalOpenClawStatus(runCommand = runOneShotCommand)
232
322
  };
233
323
  }
234
324
  export function buildRelayProviderSetupPlan(params) {
235
- const installStep = createNpmPackInstallStep("@privateclaw/privateclaw@latest");
236
- const manualInstallSteps = createManualNpmArchiveInstallSteps("@privateclaw/privateclaw@latest");
237
- const updateStep = createStep("Update the existing PrivateClaw OpenClaw plugin", "openclaw", ["plugins", "update", "privateclaw"], "openclaw plugins update privateclaw");
238
- const enableStep = createStep("Enable the PrivateClaw OpenClaw plugin", "openclaw", ["plugins", "enable", "privateclaw"], "openclaw plugins enable privateclaw");
239
- const configStep = createStep("Point PrivateClaw at the public relay URL", "openclaw", [
325
+ const packageSpec = params.packageSpec ?? resolveLocalPrivateClawPackageSpec(params.packageRoot);
326
+ const installStep = createRelayOpenClawInstallStep({
327
+ packageSpec,
328
+ ...(params.packageRoot ? { packageRoot: params.packageRoot } : {}),
329
+ ...(params.openClawConfigPath
330
+ ? { configPath: params.openClawConfigPath }
331
+ : {}),
332
+ });
333
+ const manualInstallSteps = createManualRelayOpenClawInstallSteps({
334
+ packageSpec,
335
+ ...(params.packageRoot ? { packageRoot: params.packageRoot } : {}),
336
+ ...(params.openClawConfigPath
337
+ ? { configPath: params.openClawConfigPath }
338
+ : {}),
339
+ });
340
+ const updateStep = createOpenClawStep("Update the existing PrivateClaw OpenClaw plugin", ["plugins", "update", "privateclaw"], params.openClawConfigPath);
341
+ const enableStep = createOpenClawStep("Enable the PrivateClaw OpenClaw plugin", ["plugins", "enable", "privateclaw"], params.openClawConfigPath);
342
+ const configStep = createOpenClawStep("Point PrivateClaw at the public relay URL", [
240
343
  "config",
241
344
  "set",
242
345
  "plugins.entries.privateclaw.config.relayBaseUrl",
243
346
  params.relayBaseUrl,
244
- ], `openclaw config set plugins.entries.privateclaw.config.relayBaseUrl ${params.relayBaseUrl}`);
245
- const restartStep = createStep("Restart the OpenClaw gateway so the plugin + relay config are reloaded", "openclaw", ["gateway", "restart"], "openclaw gateway restart");
246
- const pairingCommand = createStep("Start a group pairing request", "openclaw", ["privateclaw", "pair", "--group", "--relay", params.relayBaseUrl], `openclaw privateclaw pair --group --relay ${params.relayBaseUrl}`);
347
+ ], params.openClawConfigPath);
348
+ const gatewayModeStep = params.openClawConfigPath
349
+ ? createOpenClawStep("Mark this isolated OpenClaw config as a local gateway", ["config", "set", "gateway.mode", "local"], params.openClawConfigPath)
350
+ : undefined;
351
+ const restartStep = createOpenClawStep("Restart the OpenClaw gateway so the plugin + relay config are reloaded", ["gateway", "restart"], params.openClawConfigPath);
352
+ const startStep = createOpenClawStep("Start the OpenClaw gateway with this config", ["gateway", "run"], params.openClawConfigPath);
353
+ const startupStep = params.openClawConfigPath ? startStep : restartStep;
354
+ const pairingCommand = createOpenClawStep("Start a group pairing request", ["privateclaw", "pair", "--group", "--relay", params.relayBaseUrl], params.openClawConfigPath);
247
355
  const verificationNotes = [
248
- `[privateclaw-relay] After restart, verify the command registration with: ${PRIVATECLAW_VERIFICATION_COMMAND}`,
356
+ ...(params.openClawConfigPath
357
+ ? [
358
+ `[privateclaw-relay] Start the isolated OpenClaw instance with: ${startStep.display}`,
359
+ ]
360
+ : []),
361
+ `[privateclaw-relay] ${params.openClawConfigPath
362
+ ? "Verify the command registration for this isolated config with:"
363
+ : "After restart, verify the command registration with:"} ${buildRelayPrivateClawVerificationDisplay(params.openClawConfigPath)}`,
249
364
  `[privateclaw-relay] When the provider is ready, start a group pairing with: ${pairingCommand.display}`,
250
365
  ];
251
366
  if (!params.status.openClawAvailable) {
@@ -255,7 +370,13 @@ export function buildRelayProviderSetupPlan(params) {
255
370
  privateClawCommandAvailable: false,
256
371
  introduction: "[privateclaw-relay] To connect an OpenClaw machine to this relay, run these commands on the machine where `openclaw` is installed:",
257
372
  automaticSteps: [],
258
- manualSteps: [...manualInstallSteps, enableStep, configStep, restartStep],
373
+ manualSteps: [
374
+ ...manualInstallSteps,
375
+ enableStep,
376
+ configStep,
377
+ ...(gatewayModeStep ? [gatewayModeStep] : []),
378
+ startupStep,
379
+ ],
259
380
  verificationNotes,
260
381
  pairingCommand,
261
382
  };
@@ -266,8 +387,12 @@ export function buildRelayProviderSetupPlan(params) {
266
387
  localOpenClaw: true,
267
388
  privateClawCommandAvailable: true,
268
389
  introduction: "[privateclaw-relay] OpenClaw + PrivateClaw are already available locally. Point the provider at this relay with:",
269
- automaticSteps: [configStep, restartStep],
270
- manualSteps: [configStep, restartStep],
390
+ automaticSteps: [
391
+ configStep,
392
+ ...(gatewayModeStep ? [gatewayModeStep] : []),
393
+ ...(params.openClawConfigPath ? [] : [restartStep]),
394
+ ],
395
+ manualSteps: [configStep, ...(gatewayModeStep ? [gatewayModeStep] : []), startupStep],
271
396
  verificationNotes,
272
397
  pairingCommand,
273
398
  };
@@ -283,13 +408,15 @@ export function buildRelayProviderSetupPlan(params) {
283
408
  ...(params.status.privateClawPluginPresent ? [updateStep] : [installStep]),
284
409
  enableStep,
285
410
  configStep,
286
- restartStep,
411
+ ...(gatewayModeStep ? [gatewayModeStep] : []),
412
+ ...(params.openClawConfigPath ? [] : [restartStep]),
287
413
  ],
288
414
  manualSteps: [
289
415
  ...(params.status.privateClawPluginPresent ? [updateStep] : [installStep]),
290
416
  enableStep,
291
417
  configStep,
292
- restartStep,
418
+ ...(gatewayModeStep ? [gatewayModeStep] : []),
419
+ startupStep,
293
420
  ],
294
421
  verificationNotes,
295
422
  pairingCommand,
@@ -318,11 +445,24 @@ async function promptForConfirmation(question) {
318
445
  }
319
446
  }
320
447
  async function runRelayProviderSetupStep(step) {
321
- if (step.kind === "npm-pack-install") {
322
- await runRelayNpmPackInstallStep(step);
323
- return;
448
+ if (step.kind === "install-candidates") {
449
+ let lastError;
450
+ for (const candidate of step.candidates ?? []) {
451
+ try {
452
+ await runStreamingCommand(candidate.command, candidate.args, {
453
+ ...(candidate.env ? { env: candidate.env } : {}),
454
+ });
455
+ return;
456
+ }
457
+ catch (error) {
458
+ lastError = error;
459
+ console.warn(`[privateclaw-relay] Install attempt failed (${candidate.label}): ${error instanceof Error ? error.message : String(error)}`);
460
+ }
461
+ }
462
+ throw lastError ?? new RelayCliUserError("Missing OpenClaw install candidates.");
324
463
  }
325
464
  const child = spawn(step.command, step.args, {
465
+ ...(step.env ? { env: step.env } : {}),
326
466
  stdio: "inherit",
327
467
  });
328
468
  const childError = once(child, "error").then(([error]) => {
@@ -365,11 +505,17 @@ async function waitForPrivateClawCommandAvailability(detectStatus, timeoutMs, po
365
505
  return status;
366
506
  }
367
507
  export async function offerRelayProviderSetup(options) {
368
- const detectStatus = options.detectLocalOpenClawStatus ?? detectLocalOpenClawStatus;
508
+ const detectStatus = options.detectLocalOpenClawStatus ??
509
+ (() => detectLocalOpenClawStatus(createOpenClawOneShotRunner(options.openClawConfigPath)));
369
510
  const status = await detectStatus();
370
511
  const plan = buildRelayProviderSetupPlan({
371
512
  relayBaseUrl: options.relayBaseUrl,
372
513
  status,
514
+ ...(options.packageRoot ? { packageRoot: options.packageRoot } : {}),
515
+ ...(options.packageSpec ? { packageSpec: options.packageSpec } : {}),
516
+ ...(options.openClawConfigPath
517
+ ? { openClawConfigPath: options.openClawConfigPath }
518
+ : {}),
373
519
  });
374
520
  const guidance = renderRelayProviderSetupGuidance(plan);
375
521
  for (const line of guidance.split("\n")) {
@@ -384,7 +530,9 @@ export async function offerRelayProviderSetup(options) {
384
530
  }
385
531
  const promptToContinue = options.promptToContinue ?? promptForConfirmation;
386
532
  const runStep = options.runStep ?? runRelayProviderSetupStep;
387
- const runPairingCommand = options.runPairingCommand ?? ((step) => runStreamingCommand(step.command, step.args));
533
+ const runPairingCommand = options.runPairingCommand ?? ((step) => runStreamingCommand(step.command, step.args, {
534
+ ...(step.env ? { env: step.env } : {}),
535
+ }));
388
536
  const openBrowser = options.openBrowser ?? openBrowserTarget;
389
537
  const verificationTimeoutMs = options.verificationTimeoutMs ?? 15_000;
390
538
  const verificationPollMs = options.verificationPollMs ?? 1_000;
@@ -404,9 +552,9 @@ export async function offerRelayProviderSetup(options) {
404
552
  options.onLog?.("[privateclaw-relay] Local OpenClaw configuration commands completed.");
405
553
  const refreshedStatus = await waitForPrivateClawCommandAvailability(detectStatus, verificationTimeoutMs, verificationPollMs);
406
554
  if (!refreshedStatus.privateClawCommandAvailable) {
407
- throw new RelayCliUserError(`OpenClaw restarted, but \`privateclaw\` still does not respond to \`${PRIVATECLAW_VERIFICATION_COMMAND}\`. Confirm the gateway finished restarting cleanly, then rerun \`privateclaw-relay\`.`);
555
+ throw new RelayCliUserError(`The PrivateClaw install/config steps completed, but \`privateclaw\` still does not respond to \`${buildRelayPrivateClawVerificationDisplay(options.openClawConfigPath)}\`. Confirm the current OpenClaw config loaded cleanly, then rerun \`privateclaw-relay\`.`);
408
556
  }
409
- options.onLog?.(`[privateclaw-relay] Verified \`privateclaw\` is now available via \`${PRIVATECLAW_VERIFICATION_COMMAND}\`.`);
557
+ options.onLog?.(`[privateclaw-relay] Verified \`privateclaw\` is now available via \`${buildRelayPrivateClawVerificationDisplay(options.openClawConfigPath)}\`.`);
410
558
  for (const line of plan.verificationNotes) {
411
559
  options.onLog?.(line);
412
560
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider-setup.js","sourceRoot":"","sources":["../src/provider-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-setup.js","sourceRoot":"","sources":["../src/provider-setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
2
+ <defs>
3
+ <linearGradient id="appStoreBg" x1="4" x2="20" y1="4" y2="20" gradientUnits="userSpaceOnUse">
4
+ <stop offset="0" stop-color="#4ccfff"/>
5
+ <stop offset="1" stop-color="#8f7dff"/>
6
+ </linearGradient>
7
+ </defs>
8
+ <rect x="2" y="2" width="20" height="20" rx="6" fill="url(#appStoreBg)"/>
9
+ <path d="M9.1 6.9 14.9 17.2" stroke="#f7fbff" stroke-linecap="round" stroke-width="2.1"/>
10
+ <path d="M7.3 16.2h9.4" stroke="#f7fbff" stroke-linecap="round" stroke-width="2.1"/>
11
+ <path d="M14.8 6.9 9.4 16.2" stroke="#f7fbff" stroke-linecap="round" stroke-width="2.1"/>
12
+ </svg>
@@ -1,6 +1,6 @@
1
1
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
2
- <path fill="#4285F4" d="M23.49 12.27c0-.79-.07-1.55-.2-2.27H12v4.3h6.45a5.52 5.52 0 0 1-2.39 3.63v3.02h3.87c2.27-2.09 3.56-5.18 3.56-8.68Z"/>
3
- <path fill="#34A853" d="M12 24c3.24 0 5.95-1.07 7.94-2.91l-3.87-3.02c-1.07.72-2.45 1.14-4.07 1.14-3.13 0-5.79-2.11-6.74-4.95H1.26v3.12A12 12 0 0 0 12 24Z"/>
4
- <path fill="#FBBC05" d="M5.26 14.26A7.2 7.2 0 0 1 4.88 12c0-.79.14-1.56.38-2.26V6.62H1.26A12 12 0 0 0 0 12c0 1.94.46 3.77 1.26 5.38l4-3.12Z"/>
5
- <path fill="#EA4335" d="M12 4.77c1.76 0 3.33.61 4.57 1.8l3.43-3.43C17.94 1.18 15.24 0 12 0A12 12 0 0 0 1.26 6.62l4 3.12c.95-2.84 3.61-4.97 6.74-4.97Z"/>
2
+ <circle cx="12" cy="7.25" r="3.1" fill="#FBBC05"/>
3
+ <circle cx="6.6" cy="9.7" r="2.35" fill="#4285F4"/>
4
+ <circle cx="17.4" cy="9.7" r="2.35" fill="#34A853"/>
5
+ <path fill="#EA4335" d="M4.2 19.5c0-2.75 2.68-4.98 5.98-4.98h3.64c3.3 0 5.98 2.23 5.98 4.98V21H4.2z"/>
6
6
  </svg>
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
2
+ <path fill="#34A853" d="M5.5 4.2c-.4.41-.64 1.01-.64 1.76v12.08c0 .75.24 1.35.64 1.76l6.88-7.8Z"/>
3
+ <path fill="#4285F4" d="m14.2 11.98 2.55-2.89-8.21-4.67 5.66 7.56Z"/>
4
+ <path fill="#FBBC05" d="m16.75 14.91-2.55-2.93-5.66 7.6 8.21-4.67Z"/>
5
+ <path fill="#EA4335" d="M18.37 10.02 16.75 9.1l-2.55 2.88 2.55 2.93 1.62-.92c1.04-.59 1.04-1.79 0-2.97Z"/>
6
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
2
+ <rect x="3" y="4" width="18" height="16" rx="4" fill="#101827" stroke="#5cffc4" stroke-width="1.5"/>
3
+ <path fill="#5cffc4" d="m8.2 9.15 2.7 2.7-2.7 2.7-1.06-1.06 1.63-1.64-1.63-1.64zm4.15 5.4h4.45v1.5h-4.45z"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
2
+ <path fill="#f5f7ff" d="M10.15 4.72c.75-.86 1.96-1.47 2.98-1.52.13 1.14-.33 2.3-1.04 3.11-.72.81-1.89 1.43-3.03 1.34-.15-1.09.39-2.24 1.09-2.93Z"/>
3
+ <path fill="#f5f7ff" d="M16.6 13.01c.03 2.86 2.51 3.81 2.54 3.83-.02.07-.39 1.33-1.29 2.65-.78 1.14-1.58 2.28-2.85 2.3-1.24.02-1.64-.74-3.06-.74-1.42 0-1.87.71-3.03.76-1.22.05-2.16-1.22-2.95-2.35-1.61-2.33-2.84-6.59-1.19-9.45.82-1.42 2.29-2.33 3.89-2.35 1.21-.02 2.36.81 3.06.81.7 0 2.03-.99 3.42-.85.58.02 2.22.23 3.27 1.78-.08.05-1.95 1.13-1.91 3.61Z"/>
4
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
2
+ <path fill="#4ccfff" d="M3 5.4 10.1 4v7.1H3zm8.4-1.66L21 2v9.1h-9.6zM3 12.9h7.1V20L3 18.6zm8.4 0H21V22l-9.6-1.9z"/>
3
+ </svg>
@@ -7,7 +7,7 @@
7
7
  <meta name="description" content="PrivateClaw web chat." />
8
8
  <title>PrivateClaw Web Chat</title>
9
9
  <link rel="icon" type="image/png" href="../assets/privateclaw_app_icon.png?v=20260314-2" />
10
- <link rel="stylesheet" href="../styles.css?v=20260318-1" />
10
+ <link rel="stylesheet" href="../styles.css?v=20260329-2" />
11
11
  </head>
12
12
  <body class="chat-page">
13
13
  <div class="aurora aurora-a"></div>
@@ -31,7 +31,7 @@
31
31
 
32
32
  <div class="chat-header-actions">
33
33
  <a class="ghost-button subtle-button icon-link" href="https://github.com/topcheer/PrivateClaw" target="_blank" rel="noreferrer">
34
- <img src="../assets/icon-github.svg?v=20260314-1" alt="" class="icon-link-image" />
34
+ <img src="../assets/icon-github.svg?v=20260329-1" alt="" class="icon-link-image" />
35
35
  <span class="sr-only" data-i18n="site.navGithub"></span>
36
36
  </a>
37
37
  <span class="status-pill" id="status-pill"></span>
@@ -191,6 +191,6 @@
191
191
 
192
192
  <div class="toast-stack" id="toast-stack"></div>
193
193
 
194
- <script type="module" src="../scripts/chat.js?v=20260318-1"></script>
194
+ <script type="module" src="../scripts/chat.js?v=20260325-1"></script>
195
195
  </body>
196
196
  </html>