//#region src/channels/registry.ts
const CHAT_CHANNEL_ORDER = [
	"telegram",
	"weixin",
	"feishu"
];
const CHAT_CHANNEL_META = {
	telegram: {
		id: "telegram",
		label: "Telegram",
		description: "Telegram Bot API (GrammY)",
		capabilities: {
			chatTypes: [
				"direct",
				"group",
				"channel",
				"thread"
			],
			reactions: true,
			threads: true,
			media: true,
			polls: false,
			nativeCommands: true,
			blockStreaming: true
		},
		dock: {
			outbound: { textChunkLimit: 4e3 },
			queue: { debounceMs: 300 }
		}
	},
	weixin: {
		id: "weixin",
		label: "Weixin",
		description: "WeChat via Tencent ilink (QR login)",
		capabilities: {
			chatTypes: ["direct"],
			reactions: false,
			threads: false,
			media: true,
			polls: false,
			nativeCommands: false,
			blockStreaming: true
		},
		dock: {
			outbound: { textChunkLimit: 4e3 },
			queue: { debounceMs: 0 }
		}
	},
	feishu: {
		id: "feishu",
		label: "Feishu",
		description: "Feishu/Lark enterprise messaging (Socket Mode)",
		capabilities: {
			chatTypes: ["direct", "channel"],
			reactions: true,
			threads: true,
			media: true,
			polls: false,
			nativeCommands: false,
			blockStreaming: false,
			edit: true,
			reply: true
		},
		dock: {
			outbound: { textChunkLimit: 4e3 },
			queue: { debounceMs: 350 }
		}
	}
};
function getChatChannelMeta(id) {
	return CHAT_CHANNEL_META[id];
}
function isChatChannelId(id) {
	return CHAT_CHANNEL_ORDER.includes(id);
}
function listChatChannelMeta() {
	return CHAT_CHANNEL_ORDER.map((id) => CHAT_CHANNEL_META[id]);
}
//#endregion
export { CHAT_CHANNEL_ORDER, getChatChannelMeta, isChatChannelId, listChatChannelMeta };

//# sourceMappingURL=registry.js.map