@tributelabs/dao-focus
Version:
DAO Discord activity.
133 lines (132 loc) • 3.59 kB
TypeScript
export declare type EnvironmentName = "localhost" | "development" | "production";
export declare type DAO = {
daoAddress: string;
displayName: string;
discordGuildId: string;
internalName: string;
frontendURL: string | null;
collection?: CollectionDeploymentData;
};
export declare type CollectionDeploymentData = {
proxyTxHash?: string;
implementationTxHash?: string;
ownerTxHash?: string;
implementationAddress?: string;
collectionAddress?: string;
deploymentInProgress?: boolean;
};
export interface OpenAISettings {
max_tokens: number;
temperature: number;
top_p: number;
frequency_penalty: number;
presence_penalty: number;
}
export declare type SelectedDao = DAO | "My DAOs";
export declare type SelectedProject = ProjectResponse | "All Projects";
export declare type ProjectResponse = {
projectId: string;
projectName: string;
legalName: string;
categories: string[];
socials: SocialsResponse;
updatedAt: string;
createdAt: string;
};
export declare type SocialSites = {
[K in SocialSitesTypes]: string;
};
export declare type SocialsResponse = SocialSites & {
website: string;
};
export declare type SocialsData = SocialSites & {
website: string;
};
export declare enum SocialSitesTypes {
twitter = "twitter",
discord = "discord",
medium = "medium",
mirror = "mirror"
}
export declare type TimeRangeOptions = "latest" | "24 hours" | "72 hours" | "7 days" | "30 days" | "60 days" | "All Time";
export declare type MarkAsReadUpdate = {
user: string;
daoInternalName: string;
timestamp: string;
};
export declare type ChannelActivity = {
messageCount: number;
link: string;
server: string;
guildId: string;
fromDate: string;
channel: string;
messages: {
content: string;
authorName: string;
timestamp: string;
}[];
summary?: ChannelSummary;
};
export interface ChannelSummary {
text: string;
done: boolean;
error: boolean;
message?: string;
executionId: string;
summary: string;
}
export declare type DaoChannelsActivity = {
dao: DAO;
channelActivity: ChannelActivity[];
totalMessageCount: number;
latest?: string;
};
export interface FocusReadMessage {
user: string;
daoInternalName: string;
timestamp: string;
createdAt: string;
}
export declare type MemberActivity = {
authorName: string;
authorId: string;
fromDate: string;
totalMessages: number;
};
export declare type SearchItem = {
authorName: string;
channelName: string;
guildName: string;
guildId: string;
channelLink: string;
messageLink: string;
content: string;
timestamp: string;
};
export declare type SearchResult = {
page: SearchItem[];
totalCount: number;
numOfPages: number;
};
export declare type SummaryCollection = "twitter-summary" | "channel-summary";
export declare type OpenAIOpts = {
executionId: string;
collection: SummaryCollection;
temperature?: number;
max_tokens?: number;
top_p?: number;
frequency_penalty?: number;
presence_penalty?: number;
prompt: string;
handle?: string;
text: string;
};
export declare type SummaryOpts = Required<Pick<OpenAIOpts, "frequency_penalty" | "presence_penalty" | "prompt" | "max_tokens" | "temperature" | "top_p">>;
export declare type SummaryStatus = "done" | "in-progress" | "error";
export interface SummaryCheck {
executionId: string;
status: SummaryStatus;
message?: string;
summary?: string;
}