mirror of https://github.com/openclaw/openclaw.git
38 lines
1.2 KiB
TypeScript
38 lines
1.2 KiB
TypeScript
import type { RuntimeEnv } from "../runtime.js";
|
|
import { defaultRuntime } from "../runtime.js";
|
|
import type { WizardSection } from "./configure.shared.js";
|
|
import { CONFIGURE_WIZARD_SECTIONS, parseConfigureWizardSections } from "./configure.shared.js";
|
|
import { runConfigureWizard } from "./configure.wizard.js";
|
|
|
|
export async function configureCommand(runtime: RuntimeEnv = defaultRuntime) {
|
|
await runConfigureWizard({ command: "configure" }, runtime);
|
|
}
|
|
|
|
export async function configureCommandWithSections(
|
|
sections: WizardSection[],
|
|
runtime: RuntimeEnv = defaultRuntime,
|
|
) {
|
|
await runConfigureWizard({ command: "configure", sections }, runtime);
|
|
}
|
|
|
|
export async function configureCommandFromSectionsArg(
|
|
rawSections: unknown,
|
|
runtime: RuntimeEnv = defaultRuntime,
|
|
): Promise<void> {
|
|
const { sections, invalid } = parseConfigureWizardSections(rawSections);
|
|
if (sections.length === 0) {
|
|
await configureCommand(runtime);
|
|
return;
|
|
}
|
|
|
|
if (invalid.length > 0) {
|
|
runtime.error(
|
|
`Invalid --section: ${invalid.join(", ")}. Expected one of: ${CONFIGURE_WIZARD_SECTIONS.join(", ")}.`,
|
|
);
|
|
runtime.exit(1);
|
|
return;
|
|
}
|
|
|
|
await configureCommandWithSections(sections as never, runtime);
|
|
}
|