Package-level declarations

Types

Link copied to clipboard

Locales supported by Merino curated recommendations.

Link copied to clipboard

Public error type exposed to consumers via UniFFI.

Link copied to clipboard

Client for fetching curated recommendations from the Merino service.

Link copied to clipboard

Client for fetching curated recommendations from the Merino service.

Link copied to clipboard
data class CuratedRecommendationsConfig(var baseHost: String?, var userAgentHeader: String)

Configuration options for initializing a crate::curated_recommendations::CuratedRecommendationsClient.

Link copied to clipboard
data class CuratedRecommendationsRequest(var locale: CuratedRecommendationLocale, var region: String? = null, var count: Int? = 100, var topics: List<String>? = null, var feeds: List<String>? = null, var sections: List<SectionSettings>? = null, var experimentName: String? = null, var experimentBranch: String? = null, var enableInterestPicker: Boolean = false)

Parameters for requesting curated recommendations from the Merino API.

Link copied to clipboard
data class CuratedRecommendationsResponse(var recommendedAt: Long, var data: List<RecommendationDataItem>, var feeds: List<FeedSection>? = null, var interestPicker: InterestPicker? = null)

Top-level response from the Merino curated recommendations API.

Link copied to clipboard
interface Disposable
Link copied to clipboard
data class FeedSection(var feedId: String, var receivedFeedRank: Int, var recommendations: List<RecommendationDataItem>, var title: String, var subtitle: String? = null, var layout: Layout, var isFollowed: Boolean, var isBlocked: Boolean)

A categorized feed section containing recommendations and responsive layout configuration.

Link copied to clipboard
data class InterestPicker(var receivedFeedRank: Int, var title: String, var subtitle: String, var sections: List<InterestPickerSection>)

Configuration for the interest picker UI, which lets users select preferred content sections.

Link copied to clipboard
data class InterestPickerSection(var sectionId: String)

A section entry within the interest picker.

Link copied to clipboard
Link copied to clipboard
data class Layout(var name: String, var responsiveLayouts: List<ResponsiveLayout>)

A named layout configuration containing one or more responsive layout breakpoints.

Link copied to clipboard
data class RecommendationDataItem(var corpusItemId: String, var scheduledCorpusItemId: String? = null, var url: String, var title: String, var excerpt: String, var topic: String? = null, var publisher: String, var isTimeSensitive: Boolean, var imageUrl: String, var iconUrl: String?, var tileId: Long? = null, var receivedRank: Long)

A single curated recommendation item.

Link copied to clipboard
data class ResponsiveLayout(var columnCount: Int, var tiles: List<Tile>)

A layout variant for a specific column count, defining how tiles are arranged.

Link copied to clipboard
data class SectionSettings(var sectionId: String, var isFollowed: Boolean, var isBlocked: Boolean)

User preferences for a content section, controlling whether it is followed or blocked.

Link copied to clipboard
data class Tile(var size: String, var position: Int, var hasAd: Boolean, var hasExcerpt: Boolean)

Properties for a single tile within a responsive layout.

Functions

Link copied to clipboard

Returns a list of all supported locale strings that map to CuratedRecommendationLocale variants.

Link copied to clipboard

Parses a serialized locale string (e.g. "en-US") into a CuratedRecommendationLocale enum variant.