import { m as CHAT_CHANNEL_ORDER } from "./subsystem-D4e4nOE7.js";
import { t as isTruthyEnvValue } from "./env-Bdq5Y-tD.js";
import { n as listChannelPlugins } from "./plugins-D_f06tiR.js";
import { n as ensurePluginRegistryLoaded } from "./command-options-By5yFv1a.js";
import { i as listChannelPluginCatalogEntries } from "./plugin-auto-enable-CAYA2jY0.js";

//#region ../../src/cli/channel-options.ts
function dedupe(values) {
	const seen = /* @__PURE__ */ new Set();
	const resolved = [];
	for (const value of values) {
		if (!value || seen.has(value)) continue;
		seen.add(value);
		resolved.push(value);
	}
	return resolved;
}
function resolveCliChannelOptions() {
	const catalog = listChannelPluginCatalogEntries().map((entry) => entry.id);
	const base = dedupe([...CHAT_CHANNEL_ORDER, ...catalog]);
	if (isTruthyEnvValue(process.env.EDWINPAI_EAGER_CHANNEL_OPTIONS)) {
		ensurePluginRegistryLoaded();
		const pluginIds = listChannelPlugins().map((plugin) => plugin.id);
		return dedupe([...base, ...pluginIds]);
	}
	return base;
}
function formatCliChannelOptions(extra = []) {
	return [...extra, ...resolveCliChannelOptions()].join("|");
}

//#endregion
export { resolveCliChannelOptions as n, formatCliChannelOptions as t };