UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

46 lines (45 loc) 1.92 kB
import { T as collectUniqueCommandDescriptors, _ as getSubCliEntries, b as getCoreCliCommandDescriptors, w as addCommandDescriptorsToProgram } from "./argv-CnfL__6a.js"; import { n as VERSION } from "./version-Crcn9X9T.js"; import { t as configureProgramHelp } from "./help-CjhBUART.js"; import { t as getPluginCliCommandDescriptors } from "./cli-C3goHYAD.js"; import { Command } from "commander"; //#region src/cli/program/root-help.ts async function buildRootHelpProgram(renderOptions) { const program = new Command(); const pluginDescriptors = renderOptions?.includePluginDescriptors === true || renderOptions?.config ? await getPluginCliCommandDescriptors(renderOptions.config, renderOptions.env, { pluginSdkResolution: renderOptions.pluginSdkResolution }) : []; configureProgramHelp(program, { programVersion: VERSION, channelOptions: [], messageChannelOptions: "", agentChannelOptions: "" }, { commandsWithSubcommands: new Set(pluginDescriptors.filter((descriptor) => descriptor.hasSubcommands).map((descriptor) => descriptor.name)) }); addCommandDescriptorsToProgram(program, collectUniqueCommandDescriptors([ getCoreCliCommandDescriptors(), getSubCliEntries(), pluginDescriptors ])); return program; } /** Render root help text for tests, docs, and command output. */ async function renderRootHelpText(renderOptions) { const program = await buildRootHelpProgram(renderOptions); let output = ""; const originalWrite = process.stdout.write.bind(process.stdout); const captureWrite = ((chunk) => { output += String(chunk); return true; }); process.stdout.write = captureWrite; try { program.outputHelp(); } finally { process.stdout.write = originalWrite; } return output; } /** Write rendered root help directly to stdout. */ async function outputRootHelp(renderOptions) { process.stdout.write(await renderRootHelpText(renderOptions)); } //#endregion export { outputRootHelp };