openvibe-sdk/home-feed
Generated at from
openvibe-contracts v0.419.0 and
openvibe-sdk v0.161.0.
From types/home-feed.d.ts (browser build available). Declarations are shown verbatim.
interface HomeLayout
export interface HomeLayout { home: string[]; folders: Array<{ id: string; name: string; apps: string[] }>; updated_at?: string | null; }interface TodayPoint
export interface TodayPoint { day: string; people: number | null; streams: number | null; posts: number | null; new_videos: number | null; }interface Today
export interface Today { day: string; people_today: number | null; streams_today: number | null; posts_today: number | null; new_videos_today: number | null; series: TodayPoint[]; updated_at: string; }interface FeedItem
export interface FeedItem { id: number; source: { service: string; type: string; id: string }; title: string; url: string; label: string | null; via?: string; picture_url?: string; actor: Record<string, unknown> | null; occurred_at: string | null; }interface PopularItem
One destination in the signed-out "things people do now" list and in a person's Try next: a public label, an https address, an icon id and the one-line reason it is there, with the Report numbers behind them when known.
export interface PopularItem {
id: string;
kind: 'site' | 'tool';
name: string;
url: string;
icon: string;
reason: string;
score?: number;
opens_24h?: number | null;
opens_7d?: number | null;
opens_prev_7d?: number | null;
growth_7d_pct?: number | null;
uses_24h?: number | null;
uses_7d?: number | null;
}interface Popular
export interface Popular {
source: 'report' | 'fallback';
reason: string;
generated_at: string | null;
fetched_at: string | null;
stale: boolean;
items: PopularItem[];
error?: string;
}interface TryNext
export interface TryNext {
source: 'report' | 'fallback';
basis: 'co-usage' | 'popular' | 'starter';
generated_at: string;
items: PopularItem[];
}interface HomeFeedClient
export interface HomeFeedClient {
home: { get(opts?: { signal?: AbortSignal }): Promise<HomeLayout>; set(layout: HomeLayout, opts?: { signal?: AbortSignal }): Promise<HomeLayout> };
network: {
today(opts?: { signal?: AbortSignal }): Promise<Today>;
popular(opts?: { limit?: number; signal?: AbortSignal }): Promise<Popular>;
tryNext(opts?: { limit?: number; signal?: AbortSignal }): Promise<TryNext>;
};
feed: {
list(opts?: { for?: 'me'; cursor?: string; signal?: AbortSignal }): Promise<{ items: FeedItem[]; next_cursor: string | null }>;
post(text: string, opts?: { link?: string; signal?: AbortSignal }): Promise<{ id: number; post_id: number; text: string; url: string; created_at: string }>;
contribute(item: { id: string; text: string; url: string; picture_url?: string }, opts?: { signal?: AbortSignal }): Promise<{ item: FeedItem; created: boolean }>;
};
}function createHomeFeedClient
export declare function createHomeFeedClient(client: OpenVibeClient, opts?: { networkBaseUrl?: string; communityBaseUrl?: string }): HomeFeedClient;