/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: 684c93eb4ff3 */ import * as z from "zod/v3"; import { ChatZeroStateSuggestionOptions, ChatZeroStateSuggestionOptions$Outbound, ChatZeroStateSuggestionOptions$outboundSchema, } from "./chatzerostatesuggestionoptions.js"; export type CategoryToResultSize = { resultSize?: number | undefined; }; export type FeedRequestOptions = { /** * Number of results asked in response. If a result is a collection, counts as one. */ resultSize: number; /** * The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC. */ timezoneOffset?: number | undefined; /** * Mapping from category to number of results asked for the category. */ categoryToResultSize?: { [k: string]: CategoryToResultSize } | undefined; /** * Datasources for which content should be included. Empty is for all. */ datasourceFilter?: Array | undefined; chatZeroStateSuggestionOptions?: ChatZeroStateSuggestionOptions | undefined; }; /** @internal */ export type CategoryToResultSize$Outbound = { resultSize?: number | undefined; }; /** @internal */ export const CategoryToResultSize$outboundSchema: z.ZodType< CategoryToResultSize$Outbound, z.ZodTypeDef, CategoryToResultSize > = z.object({ resultSize: z.number().int().optional(), }); export function categoryToResultSizeToJSON( categoryToResultSize: CategoryToResultSize, ): string { return JSON.stringify( CategoryToResultSize$outboundSchema.parse(categoryToResultSize), ); } /** @internal */ export type FeedRequestOptions$Outbound = { resultSize: number; timezoneOffset?: number | undefined; categoryToResultSize?: | { [k: string]: CategoryToResultSize$Outbound } | undefined; datasourceFilter?: Array | undefined; chatZeroStateSuggestionOptions?: | ChatZeroStateSuggestionOptions$Outbound | undefined; }; /** @internal */ export const FeedRequestOptions$outboundSchema: z.ZodType< FeedRequestOptions$Outbound, z.ZodTypeDef, FeedRequestOptions > = z.object({ resultSize: z.number().int(), timezoneOffset: z.number().int().optional(), categoryToResultSize: z.record( z.lazy(() => CategoryToResultSize$outboundSchema), ).optional(), datasourceFilter: z.array(z.string()).optional(), chatZeroStateSuggestionOptions: ChatZeroStateSuggestionOptions$outboundSchema .optional(), }); export function feedRequestOptionsToJSON( feedRequestOptions: FeedRequestOptions, ): string { return JSON.stringify( FeedRequestOptions$outboundSchema.parse(feedRequestOptions), ); }