gitextract_l4bik93g/ ├── .codesandbox/ │ └── tasks.json ├── .devcontainer/ │ ├── Dockerfile │ └── devcontainer.json ├── .dockerignore ├── .editorconfig ├── .eslintrc.json ├── .gitattributes ├── .github/ │ ├── pull.yml │ └── workflows/ │ ├── docker.yml │ ├── huggingface.yml │ └── sync-endpoint.yml ├── .gitignore ├── Dockerfile ├── LICENSE ├── OPENAI.md ├── README.md ├── cloudflare/ │ ├── cli.js │ └── worker.js ├── docker-compose.yml ├── next.config.js ├── package.json ├── postcss.config.js ├── public/ │ └── prompts/ │ ├── en-US.json │ └── zh-CN.json ├── render.yaml ├── scripts/ │ └── pre-check.js ├── server.js ├── src/ │ ├── app/ │ │ ├── dark.scss │ │ ├── globals.scss │ │ ├── layout.tsx │ │ ├── loading.css │ │ ├── manifest.ts │ │ └── page.tsx │ ├── components/ │ │ ├── advance-switcher.tsx │ │ ├── button-scroll-to-bottom.tsx │ │ ├── chat-attachments.tsx │ │ ├── chat-feedback.tsx │ │ ├── chat-header.tsx │ │ ├── chat-history.tsx │ │ ├── chat-image.tsx │ │ ├── chat-list.tsx │ │ ├── chat-message.tsx │ │ ├── chat-notification.tsx │ │ ├── chat-panel.tsx │ │ ├── chat-progress.tsx │ │ ├── chat-prompts.tsx │ │ ├── chat-scroll-anchor.tsx │ │ ├── chat-suggestions.tsx │ │ ├── chat.tsx │ │ ├── external-link.tsx │ │ ├── header.tsx │ │ ├── imagecreator.css │ │ ├── learn-more.tsx │ │ ├── markdown.tsx │ │ ├── prompts/ │ │ │ ├── form.tsx │ │ │ └── index.tsx │ │ ├── providers.tsx │ │ ├── settings/ │ │ │ ├── advanced.tsx │ │ │ ├── index.tsx │ │ │ └── voice.tsx │ │ ├── tailwind-indicator.tsx │ │ ├── theme-toggle.tsx │ │ ├── toaster.tsx │ │ ├── tone-selector.tsx │ │ ├── turn-counter.tsx │ │ ├── ui/ │ │ │ ├── alert-dialog.tsx │ │ │ ├── badge.tsx │ │ │ ├── button.tsx │ │ │ ├── codeblock.tsx │ │ │ ├── dialog.tsx │ │ │ ├── dropdown-menu.tsx │ │ │ ├── icons.tsx │ │ │ ├── input.tsx │ │ │ ├── select.tsx │ │ │ ├── separator.tsx │ │ │ ├── sheet.tsx │ │ │ ├── svg.tsx │ │ │ ├── tabs.tsx │ │ │ ├── textarea.tsx │ │ │ ├── tooltip.tsx │ │ │ └── voice/ │ │ │ ├── index.scss │ │ │ └── index.tsx │ │ ├── user-menu.tsx │ │ ├── voice.tsx │ │ └── welcome-screen.tsx │ ├── lib/ │ │ ├── bots/ │ │ │ └── bing/ │ │ │ ├── index.ts │ │ │ ├── sr.ts │ │ │ ├── tts.ts │ │ │ ├── types.ts │ │ │ └── utils.ts │ │ ├── cidr.json │ │ ├── hooks/ │ │ │ ├── chat-history.ts │ │ │ ├── use-at-bottom.tsx │ │ │ ├── use-bing.ts │ │ │ └── use-copy-to-clipboard.tsx │ │ ├── image.ts │ │ ├── isomorphic/ │ │ │ └── index.ts │ │ ├── storage.ts │ │ └── utils.ts │ ├── pages/ │ │ └── api/ │ │ ├── blob.jpg.ts │ │ ├── create.ts │ │ ├── healthz.ts │ │ ├── image.ts │ │ ├── kblob.ts │ │ ├── openai/ │ │ │ └── chat/ │ │ │ └── completions.ts │ │ ├── proxy.ts │ │ ├── sydney.ts │ │ └── turing/ │ │ └── conversation/ │ │ └── create.ts │ └── state/ │ ├── index.ts │ └── storage.ts ├── sync/ │ ├── .gitignore │ ├── requirements.txt │ └── sync.py ├── tailwind.config.js ├── tests/ │ ├── fixtures/ │ │ ├── cmd.txt │ │ ├── curl.txt │ │ └── messages.ts │ ├── kblob.ts │ ├── openai-stream.py │ ├── openai-stream.ts │ ├── openai.ts │ ├── openaipy.py │ └── parse.ts └── tsconfig.json