enzostvs/deepsite
17k
1import { buttonVariants } from "@/components/ui/button";2import { VariantProps } from "class-variance-authority";3import { LucideIcon } from "lucide-react";4 5export type DeviceType = "desktop" | "mobile";6export type ActivityType = "chat" | "code";7export type MobileTabType = "left-sidebar" | "right-sidebar";8export type ProviderType = "auto" | "cheapest" | "fastest" | string;9export enum MessageActionType {10 PUBLISH_PROJECT = "PUBLISH_PROJECT",11 SEE_LIVE_PREVIEW = "SEE_LIVE_PREVIEW",12 UPGRADE_TO_PRO = "UPGRADE_TO_PRO",13 ADD_CREDITS = "ADD_CREDITS",14}15export type MessageAction = {16 label: string;17 variant?: VariantProps<typeof buttonVariants>["variant"];18 icon?: LucideIcon;19 disabled?: boolean;20 loading?: boolean;21 type?: MessageActionType;22 projectTitle?: string;23 prompt?: string;24 messageReferrer?: number;25};26export type Message = {27 id: string;28 role: MessageRole;29 model?: string;30 content?: string;31 createdAt: Date;32 isThinking?: boolean;33 files?: string[];34 isAborted?: boolean;35 isAutomated?: boolean;36 actions?: MessageAction[];37};38export type File = {39 path: string;40 content?: string;41};42export interface Commit {43 title: string;44 oid: string;45 date: Date;46}47export type MessageRole = "user" | "assistant";48 