Files
pleroma-ollama-bot/types.d.ts

76 lines
1.8 KiB
TypeScript

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";
}