# retoor from __future__ import annotations from typing import Any from pydantic import BaseModel, Field class InvokeIn(BaseModel): fn: str args: list[Any] = Field(default_factory=list) kwargs: dict[str, Any] = Field(default_factory=dict) write: bool = False class CacheBumpIn(BaseModel): name: str class UsersByUidsIn(BaseModel): uids: list[str] class CommentCountsIn(BaseModel): post_uids: list[str] class VoteCountsIn(BaseModel): target_uids: list[str] class ReactionsIn(BaseModel): target_type: str target_uids: list[str] user: dict[str, Any] | None = None class BookmarksIn(BaseModel): user_uid: str target_type: str target_uids: list[str] class PollsIn(BaseModel): post_uids: list[str] user: dict[str, Any] | None = None class RecentCommentsIn(BaseModel): post_uids: list[str] limit: int = 3 user: dict[str, Any] | None = None class CommentsIn(BaseModel): target_type: str target_uid: str user: dict[str, Any] | None = None class FollowBundleIn(BaseModel): user_uid: str target_uids: list[str] | None = None class RelationsIn(BaseModel): viewer_uid: str | None = None class OnlineUsersIn(BaseModel): cutoff_iso: str limit: int = 30 class NotificationPrefsIn(BaseModel): user_uid: str class LeaderboardBundleIn(BaseModel): limit: int = 50 offset: int = 0 viewer_uid: str | None = None class SiteSidebarIn(BaseModel): authors_limit: int = 5 class AwardsBundleIn(BaseModel): receiver_uid: str page: int = 1 per_page: int = 12 profile_user: dict[str, Any] | None = None class AttachmentsIn(BaseModel): resource_type: str resource_uids: list[str] class UserMediaIn(BaseModel): user_uid: str page: int = 1 per_page: int = 24 class SeoMetaIn(BaseModel): target_type: str uids: list[str] class FeedPageIn(BaseModel): user: dict[str, Any] | None = None tab: str = "all" topic: str | None = None search: str = "" before: str | None = None class PostDetailIn(BaseModel): post_uid: str user: dict[str, Any] | None = None class ProfileBundleIn(BaseModel): profile_uid: str viewer: dict[str, Any] | None = None class MessagesPageIn(BaseModel): user_uid: str class NotificationsPageIn(BaseModel): user_uid: str class LeaderboardPageIn(BaseModel): viewer_uid: str | None = None class ProjectDetailIn(BaseModel): project_uid: str class GistDetailIn(BaseModel): gist_uid: str user: dict[str, Any] | None = None class GameStateIn(BaseModel): user_uid: str | None = None