gitextract_y5pipq23/ ├── .changeset/ │ └── config.json ├── .cursor/ │ └── rules/ │ └── ultracite.mdc ├── .github/ │ ├── CONTRIBUTING.md │ └── workflows/ │ ├── lint.yml │ ├── playwright.yml │ └── release.yml ├── .gitignore ├── .vscode/ │ ├── extensions.json │ └── settings.json ├── LICENSE ├── README.md ├── app/ │ ├── (auth)/ │ │ ├── actions.ts │ │ ├── api/ │ │ │ └── auth/ │ │ │ ├── [...nextauth]/ │ │ │ │ └── route.ts │ │ │ └── guest/ │ │ │ └── route.ts │ │ ├── auth.config.ts │ │ ├── auth.ts │ │ ├── login/ │ │ │ └── page.tsx │ │ └── register/ │ │ └── page.tsx │ ├── (chat)/ │ │ ├── actions.ts │ │ ├── api/ │ │ │ ├── chat/ │ │ │ │ ├── [id]/ │ │ │ │ │ └── stream/ │ │ │ │ │ └── route.ts │ │ │ │ ├── route.ts │ │ │ │ └── schema.ts │ │ │ ├── document/ │ │ │ │ └── route.ts │ │ │ ├── files/ │ │ │ │ └── upload/ │ │ │ │ └── route.ts │ │ │ ├── history/ │ │ │ │ └── route.ts │ │ │ ├── suggestions/ │ │ │ │ └── route.ts │ │ │ └── vote/ │ │ │ └── route.ts │ │ ├── chat/ │ │ │ └── [id]/ │ │ │ └── page.tsx │ │ ├── layout.tsx │ │ └── page.tsx │ ├── globals.css │ └── layout.tsx ├── artifacts/ │ ├── actions.ts │ ├── code/ │ │ ├── client.tsx │ │ └── server.ts │ ├── image/ │ │ └── client.tsx │ ├── sheet/ │ │ ├── client.tsx │ │ └── server.ts │ └── text/ │ ├── client.tsx │ └── server.ts ├── biome.jsonc ├── components/ │ ├── ai-elements/ │ │ ├── artifact.tsx │ │ ├── canvas.tsx │ │ ├── chain-of-thought.tsx │ │ ├── checkpoint.tsx │ │ ├── confirmation.tsx │ │ ├── connection.tsx │ │ ├── controls.tsx │ │ ├── conversation.tsx │ │ ├── edge.tsx │ │ ├── image.tsx │ │ ├── inline-citation.tsx │ │ ├── loader.tsx │ │ ├── message.tsx │ │ ├── model-selector.tsx │ │ ├── node.tsx │ │ ├── open-in-chat.tsx │ │ ├── panel.tsx │ │ ├── plan.tsx │ │ ├── prompt-input.tsx │ │ ├── queue.tsx │ │ ├── reasoning.tsx │ │ ├── shimmer.tsx │ │ ├── sources.tsx │ │ ├── suggestion.tsx │ │ ├── task.tsx │ │ ├── tool.tsx │ │ ├── toolbar.tsx │ │ └── web-preview.tsx │ ├── app-sidebar.tsx │ ├── artifact-actions.tsx │ ├── artifact-close-button.tsx │ ├── artifact-messages.tsx │ ├── artifact.tsx │ ├── auth-form.tsx │ ├── chat-header.tsx │ ├── chat.tsx │ ├── code-editor.tsx │ ├── console.tsx │ ├── create-artifact.tsx │ ├── data-stream-handler.tsx │ ├── data-stream-provider.tsx │ ├── diffview.tsx │ ├── document-preview.tsx │ ├── document-skeleton.tsx │ ├── document.tsx │ ├── elements/ │ │ ├── actions.tsx │ │ ├── branch.tsx │ │ ├── conversation.tsx │ │ ├── image.tsx │ │ ├── inline-citation.tsx │ │ ├── loader.tsx │ │ ├── message.tsx │ │ ├── prompt-input.tsx │ │ ├── reasoning.tsx │ │ ├── response.tsx │ │ ├── source.tsx │ │ ├── suggestion.tsx │ │ ├── task.tsx │ │ ├── tool.tsx │ │ └── web-preview.tsx │ ├── greeting.tsx │ ├── icons.tsx │ ├── image-editor.tsx │ ├── message-actions.tsx │ ├── message-editor.tsx │ ├── message-reasoning.tsx │ ├── message.tsx │ ├── messages.tsx │ ├── multimodal-input.tsx │ ├── preview-attachment.tsx │ ├── sheet-editor.tsx │ ├── sidebar-history-item.tsx │ ├── sidebar-history.tsx │ ├── sidebar-toggle.tsx │ ├── sidebar-user-nav.tsx │ ├── sign-out-form.tsx │ ├── submit-button.tsx │ ├── suggested-actions.tsx │ ├── suggestion.tsx │ ├── text-editor.tsx │ ├── theme-provider.tsx │ ├── toast.tsx │ ├── toolbar.tsx │ ├── ui/ │ │ ├── alert-dialog.tsx │ │ ├── alert.tsx │ │ ├── avatar.tsx │ │ ├── badge.tsx │ │ ├── button-group.tsx │ │ ├── button.tsx │ │ ├── card.tsx │ │ ├── carousel.tsx │ │ ├── collapsible.tsx │ │ ├── command.tsx │ │ ├── dialog.tsx │ │ ├── dropdown-menu.tsx │ │ ├── hover-card.tsx │ │ ├── input-group.tsx │ │ ├── input.tsx │ │ ├── label.tsx │ │ ├── progress.tsx │ │ ├── scroll-area.tsx │ │ ├── select.tsx │ │ ├── separator.tsx │ │ ├── sheet.tsx │ │ ├── sidebar.tsx │ │ ├── skeleton.tsx │ │ ├── textarea.tsx │ │ └── tooltip.tsx │ ├── version-footer.tsx │ ├── visibility-selector.tsx │ └── weather.tsx ├── components.json ├── drizzle.config.ts ├── hooks/ │ ├── use-artifact.ts │ ├── use-auto-resume.ts │ ├── use-chat-visibility.ts │ ├── use-messages.tsx │ ├── use-mobile.ts │ └── use-scroll-to-bottom.tsx ├── instrumentation-client.ts ├── instrumentation.ts ├── lib/ │ ├── ai/ │ │ ├── entitlements.ts │ │ ├── models.mock.ts │ │ ├── models.test.ts │ │ ├── models.ts │ │ ├── prompts.ts │ │ ├── providers.ts │ │ └── tools/ │ │ ├── create-document.ts │ │ ├── get-weather.ts │ │ ├── request-suggestions.ts │ │ └── update-document.ts │ ├── artifacts/ │ │ └── server.ts │ ├── constants.ts │ ├── db/ │ │ ├── helpers/ │ │ │ └── 01-core-to-parts.ts │ │ ├── migrate.ts │ │ ├── migrations/ │ │ │ ├── 0000_keen_devos.sql │ │ │ ├── 0001_sparkling_blue_marvel.sql │ │ │ ├── 0002_wandering_riptide.sql │ │ │ ├── 0003_cloudy_glorian.sql │ │ │ ├── 0004_odd_slayback.sql │ │ │ ├── 0005_wooden_whistler.sql │ │ │ ├── 0006_marvelous_frog_thor.sql │ │ │ ├── 0007_flowery_ben_parker.sql │ │ │ ├── 0008_flat_forgotten_one.sql │ │ │ └── meta/ │ │ │ ├── 0000_snapshot.json │ │ │ ├── 0001_snapshot.json │ │ │ ├── 0002_snapshot.json │ │ │ ├── 0003_snapshot.json │ │ │ ├── 0004_snapshot.json │ │ │ ├── 0005_snapshot.json │ │ │ ├── 0006_snapshot.json │ │ │ ├── 0007_snapshot.json │ │ │ ├── 0008_snapshot.json │ │ │ └── _journal.json │ │ ├── queries.ts │ │ ├── schema.ts │ │ └── utils.ts │ ├── editor/ │ │ ├── config.ts │ │ ├── diff.js │ │ ├── functions.tsx │ │ ├── react-renderer.tsx │ │ └── suggestions.tsx │ ├── errors.ts │ ├── ratelimit.ts │ ├── types.ts │ └── utils.ts ├── next-env.d.ts ├── next.config.ts ├── package.json ├── playwright.config.ts ├── postcss.config.mjs ├── proxy.ts ├── tests/ │ ├── e2e/ │ │ ├── api.test.ts │ │ ├── auth.test.ts │ │ ├── chat.test.ts │ │ └── model-selector.test.ts │ ├── fixtures.ts │ ├── helpers.ts │ ├── pages/ │ │ └── chat.ts │ └── prompts/ │ └── utils.ts ├── tsconfig.json ├── tsconfig.tsbuildinfo ├── vercel-template.json └── vercel.json