openclaw / src /cli /channel-options.ts
SaylorTwift's picture
SaylorTwift HF Staff
Add files using upload-large-folder tool
34810d2 verified
Raw History Blame Contribute Delete
1.07 kB
// CLI channel option formatter backed by generated startup metadata when available.
import { uniqueStrings } from "@openclaw/normalization-core/string-normalization";
import { readCliStartupMetadata } from "./startup-metadata.js";
function loadPrecomputedChannelOptions(): string[] | null {
try {
const parsed = readCliStartupMetadata(import.meta.url) as { channelOptions?: unknown } | null;
if (parsed && Array.isArray(parsed.channelOptions)) {
return uniqueStrings(
parsed.channelOptions.filter(
(value): value is string => typeof value === "string" && Boolean(value),
),
);
}
} catch {
// Source checkouts may not have generated startup metadata yet.
}
return null;
}
export function resolveCliChannelOptions(): string[] {
const precomputed = loadPrecomputedChannelOptions();
return precomputed ?? [];
}
export function formatCliChannelOptions(extra: string[] = []): string {
const options = [...extra, ...resolveCliChannelOptions()];
return options.length > 0 ? options.join("|") : "channel";
}