├── .example.env ├── .gitignore ├── LICENSE ├── README.md ├── TODO.md ├── components.json ├── next.config.ts ├── package.json ├── pnpm-lock.yaml ├── postcss.config.mjs ├── public ├── 3dots.svg ├── fileX.svg ├── github.svg ├── githubLogo.svg ├── history.svg ├── loading.svg ├── logo.svg ├── new-uploaded-file.svg ├── new.svg ├── og.jpg ├── products-100.csv ├── python.svg ├── send.svg ├── star.svg ├── stop.svg ├── suggestion.svg ├── together.svg ├── tooltip.svg ├── upload.svg └── uploaded-file.svg ├── src ├── app │ ├── api │ │ ├── chat │ │ │ ├── history │ │ │ │ └── route.ts │ │ │ └── route.ts │ │ ├── coding │ │ │ └── route.ts │ │ ├── generate-questions │ │ │ └── route.ts │ │ ├── limits │ │ │ └── route.ts │ │ └── s3-upload │ │ │ └── route.ts │ ├── chat │ │ └── [id] │ │ │ ├── loading.tsx │ │ │ └── page.tsx │ ├── favicon.ico │ ├── globals.css │ ├── layout.tsx │ └── page.tsx ├── components │ ├── ChatHistoryMenu.tsx │ ├── ChatInput.tsx │ ├── CsvPreviewModal.tsx │ ├── DropdownFileActions.tsx │ ├── GithubBanner.tsx │ ├── MemoizedMarkdown.tsx │ ├── ModelDropdown.tsx │ ├── PromptInput.tsx │ ├── ReasoningAccordion.tsx │ ├── TooltipUsage.tsx │ ├── chat-screen.tsx │ ├── chatTools │ │ ├── CodeRunning.tsx │ │ ├── ErrorOutput.tsx │ │ ├── ImageFigure.tsx │ │ └── TerminalOutput.tsx │ ├── code-render.tsx │ ├── header.tsx │ ├── hero-section.tsx │ ├── question-suggestion-card.tsx │ ├── ui │ │ ├── ErrorBanner.tsx │ │ ├── ThinkingIndicator.tsx │ │ ├── accordion.tsx │ │ ├── button.tsx │ │ ├── card.tsx │ │ ├── dialog.tsx │ │ ├── drawer.tsx │ │ ├── dropdown-menu.tsx │ │ ├── input.tsx │ │ ├── select.tsx │ │ ├── sonner.tsx │ │ ├── table.tsx │ │ └── tooltip.tsx │ └── upload-area.tsx ├── hooks │ ├── UserLimitsContext.tsx │ ├── useAutoScroll.ts │ ├── useDraftedInput.ts │ ├── useLLMModel.ts │ └── useLocalStorage.ts └── lib │ ├── chat-store.ts │ ├── clients.ts │ ├── coding.ts │ ├── csvUtils.ts │ ├── limits.ts │ ├── models.ts │ ├── prompts.ts │ └── utils.ts └── tsconfig.json /.example.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/.example.env -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/README.md -------------------------------------------------------------------------------- /TODO.md: -------------------------------------------------------------------------------- 1 | # Steps to MVP 2 | 3 | - extra: handle context length limit for longer chats 4 | -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/components.json -------------------------------------------------------------------------------- /next.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/next.config.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/postcss.config.mjs -------------------------------------------------------------------------------- /public/3dots.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/public/3dots.svg -------------------------------------------------------------------------------- /public/fileX.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/public/fileX.svg -------------------------------------------------------------------------------- /public/github.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/public/github.svg -------------------------------------------------------------------------------- /public/githubLogo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/public/githubLogo.svg -------------------------------------------------------------------------------- /public/history.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/public/history.svg -------------------------------------------------------------------------------- /public/loading.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/public/loading.svg -------------------------------------------------------------------------------- /public/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/public/logo.svg -------------------------------------------------------------------------------- /public/new-uploaded-file.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/public/new-uploaded-file.svg -------------------------------------------------------------------------------- /public/new.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/public/new.svg -------------------------------------------------------------------------------- /public/og.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/public/og.jpg -------------------------------------------------------------------------------- /public/products-100.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/public/products-100.csv -------------------------------------------------------------------------------- /public/python.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/public/python.svg -------------------------------------------------------------------------------- /public/send.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/public/send.svg -------------------------------------------------------------------------------- /public/star.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/public/star.svg -------------------------------------------------------------------------------- /public/stop.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/public/stop.svg -------------------------------------------------------------------------------- /public/suggestion.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/public/suggestion.svg -------------------------------------------------------------------------------- /public/together.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/public/together.svg -------------------------------------------------------------------------------- /public/tooltip.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/public/tooltip.svg -------------------------------------------------------------------------------- /public/upload.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/public/upload.svg -------------------------------------------------------------------------------- /public/uploaded-file.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/public/uploaded-file.svg -------------------------------------------------------------------------------- /src/app/api/chat/history/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/app/api/chat/history/route.ts -------------------------------------------------------------------------------- /src/app/api/chat/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/app/api/chat/route.ts -------------------------------------------------------------------------------- /src/app/api/coding/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/app/api/coding/route.ts -------------------------------------------------------------------------------- /src/app/api/generate-questions/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/app/api/generate-questions/route.ts -------------------------------------------------------------------------------- /src/app/api/limits/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/app/api/limits/route.ts -------------------------------------------------------------------------------- /src/app/api/s3-upload/route.ts: -------------------------------------------------------------------------------- 1 | export { POST } from "next-s3-upload/route"; 2 | -------------------------------------------------------------------------------- /src/app/chat/[id]/loading.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/app/chat/[id]/loading.tsx -------------------------------------------------------------------------------- /src/app/chat/[id]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/app/chat/[id]/page.tsx -------------------------------------------------------------------------------- /src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/app/favicon.ico -------------------------------------------------------------------------------- /src/app/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/app/globals.css -------------------------------------------------------------------------------- /src/app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/app/layout.tsx -------------------------------------------------------------------------------- /src/app/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/app/page.tsx -------------------------------------------------------------------------------- /src/components/ChatHistoryMenu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/ChatHistoryMenu.tsx -------------------------------------------------------------------------------- /src/components/ChatInput.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/ChatInput.tsx -------------------------------------------------------------------------------- /src/components/CsvPreviewModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/CsvPreviewModal.tsx -------------------------------------------------------------------------------- /src/components/DropdownFileActions.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/DropdownFileActions.tsx -------------------------------------------------------------------------------- /src/components/GithubBanner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/GithubBanner.tsx -------------------------------------------------------------------------------- /src/components/MemoizedMarkdown.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/MemoizedMarkdown.tsx -------------------------------------------------------------------------------- /src/components/ModelDropdown.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/ModelDropdown.tsx -------------------------------------------------------------------------------- /src/components/PromptInput.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/PromptInput.tsx -------------------------------------------------------------------------------- /src/components/ReasoningAccordion.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/ReasoningAccordion.tsx -------------------------------------------------------------------------------- /src/components/TooltipUsage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/TooltipUsage.tsx -------------------------------------------------------------------------------- /src/components/chat-screen.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/chat-screen.tsx -------------------------------------------------------------------------------- /src/components/chatTools/CodeRunning.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/chatTools/CodeRunning.tsx -------------------------------------------------------------------------------- /src/components/chatTools/ErrorOutput.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/chatTools/ErrorOutput.tsx -------------------------------------------------------------------------------- /src/components/chatTools/ImageFigure.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/chatTools/ImageFigure.tsx -------------------------------------------------------------------------------- /src/components/chatTools/TerminalOutput.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/chatTools/TerminalOutput.tsx -------------------------------------------------------------------------------- /src/components/code-render.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/code-render.tsx -------------------------------------------------------------------------------- /src/components/header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/header.tsx -------------------------------------------------------------------------------- /src/components/hero-section.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/hero-section.tsx -------------------------------------------------------------------------------- /src/components/question-suggestion-card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/question-suggestion-card.tsx -------------------------------------------------------------------------------- /src/components/ui/ErrorBanner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/ui/ErrorBanner.tsx -------------------------------------------------------------------------------- /src/components/ui/ThinkingIndicator.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/ui/ThinkingIndicator.tsx -------------------------------------------------------------------------------- /src/components/ui/accordion.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/ui/accordion.tsx -------------------------------------------------------------------------------- /src/components/ui/button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/ui/button.tsx -------------------------------------------------------------------------------- /src/components/ui/card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/ui/card.tsx -------------------------------------------------------------------------------- /src/components/ui/dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/ui/dialog.tsx -------------------------------------------------------------------------------- /src/components/ui/drawer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/ui/drawer.tsx -------------------------------------------------------------------------------- /src/components/ui/dropdown-menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/ui/dropdown-menu.tsx -------------------------------------------------------------------------------- /src/components/ui/input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/ui/input.tsx -------------------------------------------------------------------------------- /src/components/ui/select.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/ui/select.tsx -------------------------------------------------------------------------------- /src/components/ui/sonner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/ui/sonner.tsx -------------------------------------------------------------------------------- /src/components/ui/table.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/ui/table.tsx -------------------------------------------------------------------------------- /src/components/ui/tooltip.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/ui/tooltip.tsx -------------------------------------------------------------------------------- /src/components/upload-area.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/components/upload-area.tsx -------------------------------------------------------------------------------- /src/hooks/UserLimitsContext.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/hooks/UserLimitsContext.tsx -------------------------------------------------------------------------------- /src/hooks/useAutoScroll.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/hooks/useAutoScroll.ts -------------------------------------------------------------------------------- /src/hooks/useDraftedInput.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/hooks/useDraftedInput.ts -------------------------------------------------------------------------------- /src/hooks/useLLMModel.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/hooks/useLLMModel.ts -------------------------------------------------------------------------------- /src/hooks/useLocalStorage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/hooks/useLocalStorage.ts -------------------------------------------------------------------------------- /src/lib/chat-store.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/lib/chat-store.ts -------------------------------------------------------------------------------- /src/lib/clients.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/lib/clients.ts -------------------------------------------------------------------------------- /src/lib/coding.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/lib/coding.ts -------------------------------------------------------------------------------- /src/lib/csvUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/lib/csvUtils.ts -------------------------------------------------------------------------------- /src/lib/limits.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/lib/limits.ts -------------------------------------------------------------------------------- /src/lib/models.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/lib/models.ts -------------------------------------------------------------------------------- /src/lib/prompts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/lib/prompts.ts -------------------------------------------------------------------------------- /src/lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/src/lib/utils.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nutlope/csvtochat/HEAD/tsconfig.json --------------------------------------------------------------------------------