import { AllowFromListSchema, buildCatchallMultiAccountChannelSchema, DmPolicySchema, GroupPolicySchema, } from "remoteclaw/plugin-sdk/compat"; import { MarkdownConfigSchema } from "remoteclaw/plugin-sdk/zalo"; import { z } from "zod"; import { buildSecretInputSchema } from "./secret-input.js"; const zaloAccountSchema = z.object({ name: z.string().optional(), enabled: z.boolean().optional(), markdown: MarkdownConfigSchema, botToken: buildSecretInputSchema().optional(), tokenFile: z.string().optional(), webhookUrl: z.string().optional(), webhookSecret: buildSecretInputSchema().optional(), webhookPath: z.string().optional(), dmPolicy: DmPolicySchema.optional(), allowFrom: AllowFromListSchema, groupPolicy: GroupPolicySchema.optional(), groupAllowFrom: AllowFromListSchema, mediaMaxMb: z.number().optional(), proxy: z.string().optional(), responsePrefix: z.string().optional(), }); export const ZaloConfigSchema = buildCatchallMultiAccountChannelSchema(zaloAccountSchema);