mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-08 01:50:43 +00:00
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import { isTruthyEnvValue } from "../infra/env.js";
|
|
import { resolveCliArgvInvocation } from "./argv-invocation.js";
|
|
|
|
export function shouldRegisterPrimaryCommandOnly(argv: string[]): boolean {
|
|
const invocation = resolveCliArgvInvocation(argv);
|
|
return invocation.primary !== null || !invocation.hasHelpOrVersion;
|
|
}
|
|
|
|
export function shouldSkipPluginCommandRegistration(params: {
|
|
argv: string[];
|
|
primary: string | null;
|
|
hasBuiltinPrimary: boolean;
|
|
}): boolean {
|
|
if (params.hasBuiltinPrimary) {
|
|
return true;
|
|
}
|
|
const invocation = resolveCliArgvInvocation(params.argv);
|
|
if (params.primary === "help") {
|
|
return invocation.hasHelpOrVersion && invocation.commandPath.length <= 1;
|
|
}
|
|
if (!params.primary) {
|
|
return invocation.hasHelpOrVersion;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
export function shouldEagerRegisterSubcommands(env: NodeJS.ProcessEnv = process.env): boolean {
|
|
return isTruthyEnvValue(env.OPENCLAW_DISABLE_LAZY_SUBCOMMANDS);
|
|
}
|
|
|
|
export function shouldRegisterPrimarySubcommandOnly(
|
|
argv: string[],
|
|
env: NodeJS.ProcessEnv = process.env,
|
|
): boolean {
|
|
return !shouldEagerRegisterSubcommands(env) && shouldRegisterPrimaryCommandOnly(argv);
|
|
}
|