mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-30 02:38:38 +00:00
refactor: rename clawdbot to moltbot with legacy compat
This commit is contained in:
28
src/cli/cli-name.ts
Normal file
28
src/cli/cli-name.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import path from "node:path";
|
||||
|
||||
export const DEFAULT_CLI_NAME = "moltbot";
|
||||
export const LEGACY_CLI_NAME = "moltbot";
|
||||
|
||||
const KNOWN_CLI_NAMES = new Set([DEFAULT_CLI_NAME, LEGACY_CLI_NAME]);
|
||||
const CLI_PREFIX_RE = /^(?:((?:pnpm|npm|bunx|npx)\s+))?(moltbot|moltbot)\b/;
|
||||
|
||||
export function resolveCliName(
|
||||
argv: string[] = process.argv,
|
||||
env: Record<string, string | undefined> = process.env as Record<string, string | undefined>,
|
||||
): string {
|
||||
const override = env.MOLTBOT_CLI_NAME?.trim() || env.CLAWDBOT_CLI_NAME?.trim();
|
||||
if (override) return override;
|
||||
const argv1 = argv[1];
|
||||
if (!argv1) return DEFAULT_CLI_NAME;
|
||||
const base = path.basename(argv1).trim();
|
||||
if (KNOWN_CLI_NAMES.has(base)) return base;
|
||||
return DEFAULT_CLI_NAME;
|
||||
}
|
||||
|
||||
export function replaceCliName(command: string, cliName = resolveCliName()): string {
|
||||
if (!command.trim()) return command;
|
||||
if (!CLI_PREFIX_RE.test(command)) return command;
|
||||
return command.replace(CLI_PREFIX_RE, (_match, runner: string | undefined) => {
|
||||
return `${runner ?? ""}${cliName}`;
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user