gitextract_6e60vi3g/ ├── .eslintrc.json ├── .github/ │ └── FUNDING.yml ├── .gitignore ├── .prettierignore ├── LICENSE ├── README.md ├── app/ │ ├── (auth)/ │ │ ├── auth-code-error/ │ │ │ └── page.tsx │ │ ├── layout.tsx │ │ ├── signin/ │ │ │ └── page.tsx │ │ └── signup/ │ │ └── page.tsx │ ├── api/ │ │ ├── auth/ │ │ │ ├── callback/ │ │ │ │ └── route.ts │ │ │ └── logout/ │ │ │ └── route.ts │ │ └── chat/ │ │ └── route.ts │ ├── apps/ │ │ ├── chat/ │ │ │ ├── [id]/ │ │ │ │ └── page.tsx │ │ │ ├── loading.tsx │ │ │ └── page.tsx │ │ ├── layout.tsx │ │ └── page.tsx │ ├── docs/ │ │ └── page.tsx │ ├── globals.css │ ├── layout.tsx │ ├── page.tsx │ ├── profile/ │ │ ├── layout.tsx │ │ └── page.tsx │ └── styles/ │ └── custom.css ├── components/ │ ├── modules/ │ │ ├── apps/ │ │ │ ├── app-side-bar/ │ │ │ │ ├── AppSideBar.tsx │ │ │ │ ├── AppSideBarItem.tsx │ │ │ │ ├── AppSideBarList.tsx │ │ │ │ ├── AppSidebarSection.tsx │ │ │ │ └── index.ts │ │ │ └── chat/ │ │ │ ├── ChatForm.tsx │ │ │ ├── ChatHistory.tsx │ │ │ ├── ChatHistoryDrawer.tsx │ │ │ ├── ChatHistoryItem.tsx │ │ │ ├── ChatLayout.tsx │ │ │ ├── ChatPanel.tsx │ │ │ ├── CodeBlock.tsx │ │ │ ├── DeleteChatAction.tsx │ │ │ ├── EditChatAction.tsx │ │ │ ├── Header.tsx │ │ │ ├── MobileDrawerControls.tsx │ │ │ ├── NewChatButton.tsx │ │ │ ├── SystemPromptControl.tsx │ │ │ ├── action.ts │ │ │ ├── chat-members/ │ │ │ │ ├── AddMembersForm.tsx │ │ │ │ ├── ChatMemberItem.tsx │ │ │ │ ├── ChatMembers.tsx │ │ │ │ ├── DeleteMemberAction.tsx │ │ │ │ ├── action.ts │ │ │ │ ├── index.ts │ │ │ │ └── schema.ts │ │ │ ├── control-side-bar/ │ │ │ │ ├── ControlSidebar.tsx │ │ │ │ ├── ControlSidebarSheet.tsx │ │ │ │ ├── FrequencyPenaltySelector.tsx │ │ │ │ ├── MaxLengthSelector.tsx │ │ │ │ ├── ModelSelector.tsx │ │ │ │ ├── PresencePenaltySelector.tsx │ │ │ │ ├── TemperatureSelector.tsx │ │ │ │ ├── TopPSelector.tsx │ │ │ │ ├── action.ts │ │ │ │ ├── data/ │ │ │ │ │ └── models.ts │ │ │ │ └── index.ts │ │ │ ├── schema.ts │ │ │ ├── types.ts │ │ │ └── utils.ts │ │ ├── auth/ │ │ │ ├── LogoutButton.tsx │ │ │ ├── SocialLoginButton.tsx │ │ │ ├── SocialLoginOptions.tsx │ │ │ ├── UserAuthForm.tsx │ │ │ ├── UserSignupForm.tsx │ │ │ └── schema.ts │ │ ├── home/ │ │ │ ├── DescriptionHeadingText.tsx │ │ │ ├── FeatureItems.tsx │ │ │ └── HeroBannerImage.tsx │ │ └── profile/ │ │ ├── AccountDropdownMenu.tsx │ │ ├── Header.tsx │ │ ├── ProfileForm.tsx │ │ ├── action.ts │ │ ├── schema.ts │ │ └── type.ts │ ├── navigation/ │ │ ├── NavigationBar.tsx │ │ ├── NavigationMainMenu.tsx │ │ └── SideBar.tsx │ ├── theme/ │ │ ├── ThemeToggle.tsx │ │ └── index.ts │ └── ui/ │ ├── Accordion.tsx │ ├── AlertDialog.tsx │ ├── Avatar.tsx │ ├── Badge.tsx │ ├── Button.tsx │ ├── Card.tsx │ ├── Command.tsx │ ├── CustomIcon.tsx │ ├── Dialog.tsx │ ├── DropdownMenu.tsx │ ├── Flex.tsx │ ├── HoverCard.tsx │ ├── Input.tsx │ ├── Label.tsx │ ├── NavigationMenu.tsx │ ├── Popover.tsx │ ├── Resizable.tsx │ ├── ScrollArea.tsx │ ├── Section.tsx │ ├── Select.tsx │ ├── Separator.tsx │ ├── Sheet.tsx │ ├── Skeleton.tsx │ ├── Slider.tsx │ ├── Switch.tsx │ ├── Tabs.tsx │ ├── TextArea.tsx │ ├── Toast.tsx │ ├── Toaster.tsx │ ├── Tooltip.tsx │ ├── chat/ │ │ ├── ChatBubble.tsx │ │ ├── ChatInput.tsx │ │ ├── ChatList.tsx │ │ ├── ChatProfileHoverCard.tsx │ │ ├── Markdown.tsx │ │ ├── index.ts │ │ └── mention-input-default-style.ts │ ├── common/ │ │ ├── AppLogo.tsx │ │ ├── ChatScrollAnchor.tsx │ │ ├── MainLayout.tsx │ │ └── UserAvatar.tsx │ ├── form/ │ │ └── form-fields/ │ │ ├── InputField/ │ │ │ ├── InputField.tsx │ │ │ └── index.ts │ │ ├── SliderField/ │ │ │ ├── SliderField.tsx │ │ │ └── index.ts │ │ ├── TextAreaField/ │ │ │ ├── TextAreaField.tsx │ │ │ └── index.ts │ │ ├── index.ts │ │ └── types.ts │ ├── typography/ │ │ ├── Blockquote.tsx │ │ ├── Heading1.tsx │ │ ├── Heading2.tsx │ │ ├── Heading3.tsx │ │ ├── Heading4.tsx │ │ ├── Heading5.tsx │ │ ├── Paragraph.tsx │ │ ├── Subtle.tsx │ │ ├── index.ts │ │ └── types.ts │ └── use-toast.ts ├── components.json ├── config/ │ └── site.ts ├── env.mjs ├── hooks/ │ ├── useActiveTheme.tsx │ ├── useAtBottom.tsx │ ├── useChatIdFromPathName.tsx │ ├── useCopyToClipboard.tsx │ ├── useEnterSubmit.tsx │ ├── useMutationObserver.ts │ ├── usePrevious.tsx │ └── useSubscribeChatMessages.ts ├── lib/ │ ├── cache.ts │ ├── chat-input.ts │ ├── contants.ts │ ├── db/ │ │ ├── apps.ts │ │ ├── chat-members.ts │ │ ├── chats.ts │ │ ├── database.types.ts │ │ ├── index.ts │ │ ├── message.ts │ │ └── profile.ts │ ├── session.ts │ ├── stores/ │ │ └── profile.ts │ ├── supabase/ │ │ ├── client.ts │ │ ├── middleware.ts │ │ └── server.ts │ └── utils.ts ├── middleware.ts ├── next.config.js ├── package.json ├── postcss.config.js ├── prettier.config.js ├── supabase/ │ ├── .gitignore │ ├── config.toml │ ├── migrations/ │ │ ├── 20240402103717_init_schema.sql │ │ ├── 20240403013936_rls.sql │ │ ├── 20240405151156_default_profile_id.sql │ │ ├── 20240420162835_chat_members.sql │ │ ├── 20240504083818_chat_members.sql │ │ ├── 20240609070425_handle_new_user_update.sql │ │ ├── 20240626065103_migrate_username_from_email.sql │ │ └── 20240626065226_update_handle_new_user.sql │ └── seed.sql ├── tailwind.config.js └── tsconfig.json