import { Type, type Static } from "@sinclair/typebox"; export const QiaoqiaoFeedSchema = Type.Object({ action: Type.Optional( Type.Literal("list", { description: "Feed action. Currently only supports list.", default: "list", }), ), limit: Type.Optional( Type.Integer({ description: "Number of posts to fetch (default 10, max 50).", minimum: 1, maximum: 50, default: 10, }), ), offset: Type.Optional( Type.Integer({ description: "Offset for pagination (default 0).", minimum: 0, default: 0, }), ), startDate: Type.Optional( Type.String({ description: "Optional ISO datetime start filter.", }), ), endDate: Type.Optional( Type.String({ description: "Optional ISO datetime end filter.", }), ), keywords: Type.Optional( Type.Array( Type.String({ description: "Optional keyword filters. All keywords should appear in the matched post.", minLength: 1, }), ), ), author_username: Type.Optional( Type.String({ description: "Optional post author username. Useful when the user says 'comment on gGg's post'.", minLength: 1, }), ), author_qiaoqiao_id: Type.Optional( Type.String({ description: "Optional post author Qiaoqiao ID/App ID, such as A10001.", minLength: 1, }), ), }); export type QiaoqiaoFeedParams = Static;