gitextract_faqfpv4r/ ├── .eslintrc.json ├── .github/ │ └── funding.yaml ├── .gitignore ├── .husky/ │ └── pre-commit ├── .nvmrc ├── README.md ├── __tests__/ │ ├── lib/ │ │ └── openapi-conversion.test.ts │ └── playwright-test/ │ ├── .gitignore │ ├── package.json │ ├── playwright.config.ts │ └── tests/ │ └── login.spec.ts ├── app/ │ ├── [locale]/ │ │ ├── [workspaceid]/ │ │ │ ├── chat/ │ │ │ │ ├── [chatid]/ │ │ │ │ │ └── page.tsx │ │ │ │ └── page.tsx │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ ├── globals.css │ │ ├── help/ │ │ │ └── page.tsx │ │ ├── layout.tsx │ │ ├── loading.tsx │ │ ├── login/ │ │ │ ├── page.tsx │ │ │ └── password/ │ │ │ └── page.tsx │ │ ├── page.tsx │ │ └── setup/ │ │ └── page.tsx │ ├── api/ │ │ ├── assistants/ │ │ │ └── openai/ │ │ │ └── route.ts │ │ ├── chat/ │ │ │ ├── anthropic/ │ │ │ │ └── route.ts │ │ │ ├── azure/ │ │ │ │ └── route.ts │ │ │ ├── custom/ │ │ │ │ └── route.ts │ │ │ ├── google/ │ │ │ │ └── route.ts │ │ │ ├── groq/ │ │ │ │ └── route.ts │ │ │ ├── mistral/ │ │ │ │ └── route.ts │ │ │ ├── openai/ │ │ │ │ └── route.ts │ │ │ ├── openrouter/ │ │ │ │ └── route.ts │ │ │ ├── perplexity/ │ │ │ │ └── route.ts │ │ │ └── tools/ │ │ │ └── route.ts │ │ ├── command/ │ │ │ └── route.ts │ │ ├── keys/ │ │ │ └── route.ts │ │ ├── retrieval/ │ │ │ ├── process/ │ │ │ │ ├── docx/ │ │ │ │ │ └── route.ts │ │ │ │ └── route.ts │ │ │ └── retrieve/ │ │ │ └── route.ts │ │ └── username/ │ │ ├── available/ │ │ │ └── route.ts │ │ └── get/ │ │ └── route.ts │ └── auth/ │ └── callback/ │ └── route.ts ├── components/ │ ├── chat/ │ │ ├── assistant-picker.tsx │ │ ├── chat-command-input.tsx │ │ ├── chat-files-display.tsx │ │ ├── chat-help.tsx │ │ ├── chat-helpers/ │ │ │ └── index.ts │ │ ├── chat-hooks/ │ │ │ ├── use-chat-handler.tsx │ │ │ ├── use-chat-history.tsx │ │ │ ├── use-prompt-and-command.tsx │ │ │ ├── use-scroll.tsx │ │ │ └── use-select-file-handler.tsx │ │ ├── chat-input.tsx │ │ ├── chat-messages.tsx │ │ ├── chat-retrieval-settings.tsx │ │ ├── chat-scroll-buttons.tsx │ │ ├── chat-secondary-buttons.tsx │ │ ├── chat-settings.tsx │ │ ├── chat-ui.tsx │ │ ├── file-picker.tsx │ │ ├── prompt-picker.tsx │ │ ├── quick-setting-option.tsx │ │ ├── quick-settings.tsx │ │ └── tool-picker.tsx │ ├── icons/ │ │ ├── anthropic-svg.tsx │ │ ├── chatbotui-svg.tsx │ │ ├── google-svg.tsx │ │ └── openai-svg.tsx │ ├── messages/ │ │ ├── message-actions.tsx │ │ ├── message-codeblock.tsx │ │ ├── message-markdown-memoized.tsx │ │ ├── message-markdown.tsx │ │ ├── message-replies.tsx │ │ └── message.tsx │ ├── models/ │ │ ├── model-icon.tsx │ │ ├── model-option.tsx │ │ └── model-select.tsx │ ├── setup/ │ │ ├── api-step.tsx │ │ ├── finish-step.tsx │ │ ├── profile-step.tsx │ │ └── step-container.tsx │ ├── sidebar/ │ │ ├── items/ │ │ │ ├── all/ │ │ │ │ ├── sidebar-create-item.tsx │ │ │ │ ├── sidebar-delete-item.tsx │ │ │ │ ├── sidebar-display-item.tsx │ │ │ │ └── sidebar-update-item.tsx │ │ │ ├── assistants/ │ │ │ │ ├── assistant-item.tsx │ │ │ │ ├── assistant-retrieval-select.tsx │ │ │ │ ├── assistant-tool-select.tsx │ │ │ │ └── create-assistant.tsx │ │ │ ├── chat/ │ │ │ │ ├── chat-item.tsx │ │ │ │ ├── delete-chat.tsx │ │ │ │ └── update-chat.tsx │ │ │ ├── collections/ │ │ │ │ ├── collection-file-select.tsx │ │ │ │ ├── collection-item.tsx │ │ │ │ └── create-collection.tsx │ │ │ ├── files/ │ │ │ │ ├── create-file.tsx │ │ │ │ └── file-item.tsx │ │ │ ├── folders/ │ │ │ │ ├── delete-folder.tsx │ │ │ │ ├── folder-item.tsx │ │ │ │ └── update-folder.tsx │ │ │ ├── models/ │ │ │ │ ├── create-model.tsx │ │ │ │ └── model-item.tsx │ │ │ ├── presets/ │ │ │ │ ├── create-preset.tsx │ │ │ │ └── preset-item.tsx │ │ │ ├── prompts/ │ │ │ │ ├── create-prompt.tsx │ │ │ │ └── prompt-item.tsx │ │ │ └── tools/ │ │ │ ├── create-tool.tsx │ │ │ └── tool-item.tsx │ │ ├── sidebar-content.tsx │ │ ├── sidebar-create-buttons.tsx │ │ ├── sidebar-data-list.tsx │ │ ├── sidebar-search.tsx │ │ ├── sidebar-switch-item.tsx │ │ ├── sidebar-switcher.tsx │ │ └── sidebar.tsx │ ├── ui/ │ │ ├── accordion.tsx │ │ ├── advanced-settings.tsx │ │ ├── alert-dialog.tsx │ │ ├── alert.tsx │ │ ├── aspect-ratio.tsx │ │ ├── avatar.tsx │ │ ├── badge.tsx │ │ ├── brand.tsx │ │ ├── button.tsx │ │ ├── calendar.tsx │ │ ├── card.tsx │ │ ├── chat-settings-form.tsx │ │ ├── checkbox.tsx │ │ ├── collapsible.tsx │ │ ├── command.tsx │ │ ├── context-menu.tsx │ │ ├── dashboard.tsx │ │ ├── dialog.tsx │ │ ├── dropdown-menu.tsx │ │ ├── file-icon.tsx │ │ ├── file-preview.tsx │ │ ├── form.tsx │ │ ├── hover-card.tsx │ │ ├── image-picker.tsx │ │ ├── input.tsx │ │ ├── label.tsx │ │ ├── limit-display.tsx │ │ ├── menubar.tsx │ │ ├── navigation-menu.tsx │ │ ├── popover.tsx │ │ ├── progress.tsx │ │ ├── radio-group.tsx │ │ ├── screen-loader.tsx │ │ ├── scroll-area.tsx │ │ ├── select.tsx │ │ ├── separator.tsx │ │ ├── sheet.tsx │ │ ├── skeleton.tsx │ │ ├── slider.tsx │ │ ├── sonner.tsx │ │ ├── submit-button.tsx │ │ ├── switch.tsx │ │ ├── table.tsx │ │ ├── tabs.tsx │ │ ├── textarea-autosize.tsx │ │ ├── textarea.tsx │ │ ├── toast.tsx │ │ ├── toaster.tsx │ │ ├── toggle-group.tsx │ │ ├── toggle.tsx │ │ ├── tooltip.tsx │ │ ├── use-toast.ts │ │ └── with-tooltip.tsx │ ├── utility/ │ │ ├── alerts.tsx │ │ ├── announcements.tsx │ │ ├── change-password.tsx │ │ ├── command-k.tsx │ │ ├── drawing-canvas.tsx │ │ ├── global-state.tsx │ │ ├── import.tsx │ │ ├── profile-settings.tsx │ │ ├── providers.tsx │ │ ├── theme-switcher.tsx │ │ ├── translations-provider.tsx │ │ └── workspace-switcher.tsx │ └── workspace/ │ ├── assign-workspaces.tsx │ ├── delete-workspace.tsx │ └── workspace-settings.tsx ├── components.json ├── context/ │ └── context.tsx ├── db/ │ ├── assistant-collections.ts │ ├── assistant-files.ts │ ├── assistant-tools.ts │ ├── assistants.ts │ ├── chat-files.ts │ ├── chats.ts │ ├── collection-files.ts │ ├── collections.ts │ ├── files.ts │ ├── folders.ts │ ├── index.ts │ ├── limits.ts │ ├── message-file-items.ts │ ├── messages.ts │ ├── models.ts │ ├── presets.ts │ ├── profile.ts │ ├── prompts.ts │ ├── storage/ │ │ ├── assistant-images.ts │ │ ├── files.ts │ │ ├── message-images.ts │ │ ├── profile-images.ts │ │ └── workspace-images.ts │ ├── tools.ts │ └── workspaces.ts ├── i18nConfig.js ├── jest.config.ts ├── lib/ │ ├── blob-to-b64.ts │ ├── build-prompt.ts │ ├── chat-setting-limits.ts │ ├── consume-stream.ts │ ├── envs.ts │ ├── export-old-data.ts │ ├── generate-local-embedding.ts │ ├── hooks/ │ │ ├── use-copy-to-clipboard.tsx │ │ └── use-hotkey.tsx │ ├── i18n.ts │ ├── models/ │ │ ├── fetch-models.ts │ │ └── llm/ │ │ ├── anthropic-llm-list.ts │ │ ├── google-llm-list.ts │ │ ├── groq-llm-list.ts │ │ ├── llm-list.ts │ │ ├── mistral-llm-list.ts │ │ ├── openai-llm-list.ts │ │ └── perplexity-llm-list.ts │ ├── openapi-conversion.ts │ ├── retrieval/ │ │ └── processing/ │ │ ├── csv.ts │ │ ├── docx.ts │ │ ├── index.ts │ │ ├── json.ts │ │ ├── md.ts │ │ ├── pdf.ts │ │ └── txt.ts │ ├── server/ │ │ ├── server-chat-helpers.ts │ │ └── server-utils.ts │ ├── supabase/ │ │ ├── browser-client.ts │ │ ├── client.ts │ │ ├── middleware.ts │ │ └── server.ts │ └── utils.ts ├── license ├── middleware.ts ├── next.config.js ├── package.json ├── postcss.config.js ├── prettier.config.cjs ├── public/ │ ├── locales/ │ │ ├── de/ │ │ │ └── translation.json │ │ └── en/ │ │ └── translation.json │ ├── manifest.json │ └── worker-development.js ├── supabase/ │ ├── .gitignore │ ├── config.toml │ ├── migrations/ │ │ ├── 20240108234540_setup.sql │ │ ├── 20240108234541_add_profiles.sql │ │ ├── 20240108234542_add_workspaces.sql │ │ ├── 20240108234543_add_folders.sql │ │ ├── 20240108234544_add_files.sql │ │ ├── 20240108234545_add_file_items.sql │ │ ├── 20240108234546_add_presets.sql │ │ ├── 20240108234547_add_assistants.sql │ │ ├── 20240108234548_add_chats.sql │ │ ├── 20240108234549_add_messages.sql │ │ ├── 20240108234550_add_prompts.sql │ │ ├── 20240108234551_add_collections.sql │ │ ├── 20240115135033_add_openrouter.sql │ │ ├── 20240115171510_add_assistant_files.sql │ │ ├── 20240115171524_add_tools.sql │ │ ├── 20240115172125_add_assistant_tools.sql │ │ ├── 20240118224049_add_azure_embeddings.sql │ │ ├── 20240124234424_tool_improvements.sql │ │ ├── 20240125192042_upgrade_openai_models.sql │ │ ├── 20240125194719_add_custom_models.sql │ │ ├── 20240129232644_add_workspace_images.sql │ │ ├── 20240212063532_add_at_assistants.sql │ │ ├── 20240213040255_remove_request_in_body_from_tools.sql │ │ ├── 20240213085646_add_context_length_to_custom_models.sql │ │ └── 20240302004845_add_groq.sql │ ├── seed.sql │ └── types.ts ├── tailwind.config.ts ├── tsconfig.json ├── types/ │ ├── announcement.ts │ ├── assistant-retrieval-item.ts │ ├── chat-file.tsx │ ├── chat-message.ts │ ├── chat.ts │ ├── collection-file.ts │ ├── content-type.ts │ ├── error-response.ts │ ├── file-item-chunk.ts │ ├── images/ │ │ ├── assistant-image.ts │ │ ├── message-image.ts │ │ └── workspace-image.ts │ ├── index.ts │ ├── key-type.ts │ ├── llms.ts │ ├── models.ts │ ├── sharing.ts │ ├── sidebar-data.ts │ └── valid-keys.ts └── worker/ └── index.js