export interface Notification { account: Account; status: Status; id: string; type: string; created_at: string; } export interface NewStatusBody { content_type: "application/json" | "text/markdown"; in_reply_to_id?: string; media_ids?: string[]; sensitive?: "true" | "false" | boolean; status: string; to?: string[]; } export interface Account { acct: string; // nickname bot: boolean; display_name: string; fqn: string; // user@instance.tld id: string; // user ID note?: string; // bio } export interface OllamaRequest { /** * Name of the Ollama model to generate a response from. Must be a valid and locally installed model. */ model: string; /** * The prompt sent from the end-user. */ prompt: string; /** * Whatever system prompt you'd like to add to the model to make it more unique, or force it to respond a certain way. */ system: string; /** * Whether to stream responses from the API, or have it sent all as one payload. */ stream?: boolean = false; // stream response vs get response in one full message } export interface OllamaResponse { model: string; created_at: Date | string; response: string; done: boolean; done_reason: string; } export interface Status { account: Account; content: string; // content of the post created_at: string | Date; // when the post was created id: string; // ID of the reply itself in_reply_to_account_id: string; // account ID of the reply in_reply_to_id?: string; // status that the user has replied to mentions?: Mention[]; // array of mentions } export interface Mention { acct: string; id: string; url: string; username: string; } export interface WSEvent { event: "update" | "status.update" | "notification"; payload: string; stream: "user" | "direct"; }