import { z } from "zod"; import { BlueBubblesConfigSchema, DiscordConfigSchema, IMessageConfigSchema, MattermostConfigSchema, MSTeamsConfigSchema, SignalConfigSchema, SlackConfigSchema, TelegramConfigSchema, } from "./zod-schema.providers-core.js"; import { WhatsAppConfigSchema } from "./zod-schema.providers-whatsapp.js"; import { GroupPolicySchema } from "./zod-schema.core.js"; export * from "./zod-schema.providers-core.js"; export * from "./zod-schema.providers-whatsapp.js"; export const ChannelsSchema = z .object({ defaults: z .object({ groupPolicy: GroupPolicySchema.optional(), }) .strict() .optional(), whatsapp: WhatsAppConfigSchema.optional(), telegram: TelegramConfigSchema.optional(), discord: DiscordConfigSchema.optional(), slack: SlackConfigSchema.optional(), mattermost: MattermostConfigSchema.optional(), signal: SignalConfigSchema.optional(), imessage: IMessageConfigSchema.optional(), bluebubbles: BlueBubblesConfigSchema.optional(), msteams: MSTeamsConfigSchema.optional(), }) .passthrough() // Allow extension channel configs (nostr, matrix, zalo, etc.) .optional();