76 lines
1.8 KiB
TypeScript
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";
|
|
}
|