From f7b6b55a8b420a2637712c598468c4d971876b8f Mon Sep 17 00:00:00 2001
From: dancer <144584931+dancer@users.noreply.github.com>
Date: Fri, 20 Feb 2026 15:28:40 -0800
Subject: [PATCH] rebrand ai-chatbot to openchat across app and api (#1418)
---
README.md | 14 +++----
app/(chat)/api/chat/route.ts | 22 +++++------
app/(chat)/api/document/route.ts | 24 ++++++------
app/(chat)/api/history/route.ts | 8 ++--
app/(chat)/api/suggestions/route.ts | 8 ++--
app/(chat)/api/vote/route.ts | 18 ++++-----
app/(chat)/opengraph-image.png | Bin 165578 -> 34687 bytes
components/app-sidebar.tsx | 2 +-
components/chat-header.tsx | 2 +-
components/chat.tsx | 4 +-
components/messages.tsx | 4 +-
instrumentation.ts | 2 +-
lib/db/queries.ts | 56 ++++++++++++++--------------
lib/db/schema.ts | 4 +-
lib/errors.ts | 2 +-
lib/utils.ts | 8 ++--
package.json | 2 +-
17 files changed, 90 insertions(+), 90 deletions(-)
diff --git a/README.md b/README.md
index 4df0638..13060ce 100644
--- a/README.md
+++ b/README.md
@@ -1,14 +1,14 @@
-
- Chat SDK
+
+ OpenChat
- Chat SDK is a free, open-source template built with Next.js and the AI SDK that helps you quickly build powerful chatbot applications.
+ OpenChat (formerly AI Chatbot) is a free, open-source template built with Next.js and the AI SDK that helps you quickly build powerful chatbot applications.
- Read Docs ·
+ Read Docs ·
Features ·
Model Providers ·
Deploy Your Own ·
@@ -48,13 +48,13 @@ With the [AI SDK](https://ai-sdk.dev/docs/introduction), you can also switch to
## Deploy Your Own
-You can deploy your own version of the Next.js AI Chatbot to Vercel with one click:
+You can deploy your own version of OpenChat to Vercel with one click:
-[](https://vercel.com/templates/next.js/nextjs-ai-chatbot)
+[](https://vercel.com/templates/next.js/openchat)
## Running locally
-You will need to use the environment variables [defined in `.env.example`](.env.example) to run Next.js AI Chatbot. It's recommended you use [Vercel Environment Variables](https://vercel.com/docs/projects/environment-variables) for this, but a `.env` file is all that is necessary.
+You will need to use the environment variables [defined in `.env.example`](.env.example) to run OpenChat. It's recommended you use [Vercel Environment Variables](https://vercel.com/docs/projects/environment-variables) for this, but a `.env` file is all that is necessary.
> Note: You should not commit your `.env` file or it will expose secrets that will allow others to control access to your various AI and authentication provider accounts.
diff --git a/app/(chat)/api/chat/route.ts b/app/(chat)/api/chat/route.ts
index 3645819..a659bdf 100644
--- a/app/(chat)/api/chat/route.ts
+++ b/app/(chat)/api/chat/route.ts
@@ -30,7 +30,7 @@ import {
updateMessage,
} from "@/lib/db/queries";
import type { DBMessage } from "@/lib/db/schema";
-import { ChatSDKError } from "@/lib/errors";
+import { OpenChatError } from "@/lib/errors";
import type { ChatMessage } from "@/lib/types";
import { convertToUIMessages, generateUUID } from "@/lib/utils";
import { generateTitleFromUserMessage } from "../../actions";
@@ -55,7 +55,7 @@ export async function POST(request: Request) {
const json = await request.json();
requestBody = postRequestBodySchema.parse(json);
} catch (_) {
- return new ChatSDKError("bad_request:api").toResponse();
+ return new OpenChatError("bad_request:api").toResponse();
}
try {
@@ -65,7 +65,7 @@ export async function POST(request: Request) {
const session = await auth();
if (!session?.user) {
- return new ChatSDKError("unauthorized:chat").toResponse();
+ return new OpenChatError("unauthorized:chat").toResponse();
}
const userType: UserType = session.user.type;
@@ -76,7 +76,7 @@ export async function POST(request: Request) {
});
if (messageCount > entitlementsByUserType[userType].maxMessagesPerDay) {
- return new ChatSDKError("rate_limit:chat").toResponse();
+ return new OpenChatError("rate_limit:chat").toResponse();
}
const isToolApprovalFlow = Boolean(messages);
@@ -87,7 +87,7 @@ export async function POST(request: Request) {
if (chat) {
if (chat.userId !== session.user.id) {
- return new ChatSDKError("forbidden:chat").toResponse();
+ return new OpenChatError("forbidden:chat").toResponse();
}
if (!isToolApprovalFlow) {
messagesFromDb = await getMessagesByChatId({ id });
@@ -244,7 +244,7 @@ export async function POST(request: Request) {
} catch (error) {
const vercelId = request.headers.get("x-vercel-id");
- if (error instanceof ChatSDKError) {
+ if (error instanceof OpenChatError) {
return error.toResponse();
}
@@ -254,11 +254,11 @@ export async function POST(request: Request) {
"AI Gateway requires a valid credit card on file to service requests"
)
) {
- return new ChatSDKError("bad_request:activate_gateway").toResponse();
+ return new OpenChatError("bad_request:activate_gateway").toResponse();
}
console.error("Unhandled error in chat API:", error, { vercelId });
- return new ChatSDKError("offline:chat").toResponse();
+ return new OpenChatError("offline:chat").toResponse();
}
}
@@ -267,19 +267,19 @@ export async function DELETE(request: Request) {
const id = searchParams.get("id");
if (!id) {
- return new ChatSDKError("bad_request:api").toResponse();
+ return new OpenChatError("bad_request:api").toResponse();
}
const session = await auth();
if (!session?.user) {
- return new ChatSDKError("unauthorized:chat").toResponse();
+ return new OpenChatError("unauthorized:chat").toResponse();
}
const chat = await getChatById({ id });
if (chat?.userId !== session.user.id) {
- return new ChatSDKError("forbidden:chat").toResponse();
+ return new OpenChatError("forbidden:chat").toResponse();
}
const deletedChat = await deleteChatById({ id });
diff --git a/app/(chat)/api/document/route.ts b/app/(chat)/api/document/route.ts
index 0ea78ff..2caa241 100644
--- a/app/(chat)/api/document/route.ts
+++ b/app/(chat)/api/document/route.ts
@@ -5,14 +5,14 @@ import {
getDocumentsById,
saveDocument,
} from "@/lib/db/queries";
-import { ChatSDKError } from "@/lib/errors";
+import { OpenChatError } from "@/lib/errors";
export async function GET(request: Request) {
const { searchParams } = new URL(request.url);
const id = searchParams.get("id");
if (!id) {
- return new ChatSDKError(
+ return new OpenChatError(
"bad_request:api",
"Parameter id is missing"
).toResponse();
@@ -21,7 +21,7 @@ export async function GET(request: Request) {
const session = await auth();
if (!session?.user) {
- return new ChatSDKError("unauthorized:document").toResponse();
+ return new OpenChatError("unauthorized:document").toResponse();
}
const documents = await getDocumentsById({ id });
@@ -29,11 +29,11 @@ export async function GET(request: Request) {
const [document] = documents;
if (!document) {
- return new ChatSDKError("not_found:document").toResponse();
+ return new OpenChatError("not_found:document").toResponse();
}
if (document.userId !== session.user.id) {
- return new ChatSDKError("forbidden:document").toResponse();
+ return new OpenChatError("forbidden:document").toResponse();
}
return Response.json(documents, { status: 200 });
@@ -44,7 +44,7 @@ export async function POST(request: Request) {
const id = searchParams.get("id");
if (!id) {
- return new ChatSDKError(
+ return new OpenChatError(
"bad_request:api",
"Parameter id is required."
).toResponse();
@@ -53,7 +53,7 @@ export async function POST(request: Request) {
const session = await auth();
if (!session?.user) {
- return new ChatSDKError("not_found:document").toResponse();
+ return new OpenChatError("not_found:document").toResponse();
}
const {
@@ -69,7 +69,7 @@ export async function POST(request: Request) {
const [doc] = documents;
if (doc.userId !== session.user.id) {
- return new ChatSDKError("forbidden:document").toResponse();
+ return new OpenChatError("forbidden:document").toResponse();
}
}
@@ -90,14 +90,14 @@ export async function DELETE(request: Request) {
const timestamp = searchParams.get("timestamp");
if (!id) {
- return new ChatSDKError(
+ return new OpenChatError(
"bad_request:api",
"Parameter id is required."
).toResponse();
}
if (!timestamp) {
- return new ChatSDKError(
+ return new OpenChatError(
"bad_request:api",
"Parameter timestamp is required."
).toResponse();
@@ -106,7 +106,7 @@ export async function DELETE(request: Request) {
const session = await auth();
if (!session?.user) {
- return new ChatSDKError("unauthorized:document").toResponse();
+ return new OpenChatError("unauthorized:document").toResponse();
}
const documents = await getDocumentsById({ id });
@@ -114,7 +114,7 @@ export async function DELETE(request: Request) {
const [document] = documents;
if (document.userId !== session.user.id) {
- return new ChatSDKError("forbidden:document").toResponse();
+ return new OpenChatError("forbidden:document").toResponse();
}
const documentsDeleted = await deleteDocumentsByIdAfterTimestamp({
diff --git a/app/(chat)/api/history/route.ts b/app/(chat)/api/history/route.ts
index 23615e3..c7223ec 100644
--- a/app/(chat)/api/history/route.ts
+++ b/app/(chat)/api/history/route.ts
@@ -1,7 +1,7 @@
import type { NextRequest } from "next/server";
import { auth } from "@/app/(auth)/auth";
import { deleteAllChatsByUserId, getChatsByUserId } from "@/lib/db/queries";
-import { ChatSDKError } from "@/lib/errors";
+import { OpenChatError } from "@/lib/errors";
export async function GET(request: NextRequest) {
const { searchParams } = request.nextUrl;
@@ -11,7 +11,7 @@ export async function GET(request: NextRequest) {
const endingBefore = searchParams.get("ending_before");
if (startingAfter && endingBefore) {
- return new ChatSDKError(
+ return new OpenChatError(
"bad_request:api",
"Only one of starting_after or ending_before can be provided."
).toResponse();
@@ -20,7 +20,7 @@ export async function GET(request: NextRequest) {
const session = await auth();
if (!session?.user) {
- return new ChatSDKError("unauthorized:chat").toResponse();
+ return new OpenChatError("unauthorized:chat").toResponse();
}
const chats = await getChatsByUserId({
@@ -37,7 +37,7 @@ export async function DELETE() {
const session = await auth();
if (!session?.user) {
- return new ChatSDKError("unauthorized:chat").toResponse();
+ return new OpenChatError("unauthorized:chat").toResponse();
}
const result = await deleteAllChatsByUserId({ userId: session.user.id });
diff --git a/app/(chat)/api/suggestions/route.ts b/app/(chat)/api/suggestions/route.ts
index 8801004..054994b 100644
--- a/app/(chat)/api/suggestions/route.ts
+++ b/app/(chat)/api/suggestions/route.ts
@@ -1,13 +1,13 @@
import { auth } from "@/app/(auth)/auth";
import { getSuggestionsByDocumentId } from "@/lib/db/queries";
-import { ChatSDKError } from "@/lib/errors";
+import { OpenChatError } from "@/lib/errors";
export async function GET(request: Request) {
const { searchParams } = new URL(request.url);
const documentId = searchParams.get("documentId");
if (!documentId) {
- return new ChatSDKError(
+ return new OpenChatError(
"bad_request:api",
"Parameter documentId is required."
).toResponse();
@@ -16,7 +16,7 @@ export async function GET(request: Request) {
const session = await auth();
if (!session?.user) {
- return new ChatSDKError("unauthorized:suggestions").toResponse();
+ return new OpenChatError("unauthorized:suggestions").toResponse();
}
const suggestions = await getSuggestionsByDocumentId({
@@ -30,7 +30,7 @@ export async function GET(request: Request) {
}
if (suggestion.userId !== session.user.id) {
- return new ChatSDKError("forbidden:api").toResponse();
+ return new OpenChatError("forbidden:api").toResponse();
}
return Response.json(suggestions, { status: 200 });
diff --git a/app/(chat)/api/vote/route.ts b/app/(chat)/api/vote/route.ts
index 2c0ce3f..d2c8ce1 100644
--- a/app/(chat)/api/vote/route.ts
+++ b/app/(chat)/api/vote/route.ts
@@ -1,13 +1,13 @@
import { auth } from "@/app/(auth)/auth";
import { getChatById, getVotesByChatId, voteMessage } from "@/lib/db/queries";
-import { ChatSDKError } from "@/lib/errors";
+import { OpenChatError } from "@/lib/errors";
export async function GET(request: Request) {
const { searchParams } = new URL(request.url);
const chatId = searchParams.get("chatId");
if (!chatId) {
- return new ChatSDKError(
+ return new OpenChatError(
"bad_request:api",
"Parameter chatId is required."
).toResponse();
@@ -16,17 +16,17 @@ export async function GET(request: Request) {
const session = await auth();
if (!session?.user) {
- return new ChatSDKError("unauthorized:vote").toResponse();
+ return new OpenChatError("unauthorized:vote").toResponse();
}
const chat = await getChatById({ id: chatId });
if (!chat) {
- return new ChatSDKError("not_found:chat").toResponse();
+ return new OpenChatError("not_found:chat").toResponse();
}
if (chat.userId !== session.user.id) {
- return new ChatSDKError("forbidden:vote").toResponse();
+ return new OpenChatError("forbidden:vote").toResponse();
}
const votes = await getVotesByChatId({ id: chatId });
@@ -43,7 +43,7 @@ export async function PATCH(request: Request) {
await request.json();
if (!chatId || !messageId || !type) {
- return new ChatSDKError(
+ return new OpenChatError(
"bad_request:api",
"Parameters chatId, messageId, and type are required."
).toResponse();
@@ -52,17 +52,17 @@ export async function PATCH(request: Request) {
const session = await auth();
if (!session?.user) {
- return new ChatSDKError("unauthorized:vote").toResponse();
+ return new OpenChatError("unauthorized:vote").toResponse();
}
const chat = await getChatById({ id: chatId });
if (!chat) {
- return new ChatSDKError("not_found:vote").toResponse();
+ return new OpenChatError("not_found:vote").toResponse();
}
if (chat.userId !== session.user.id) {
- return new ChatSDKError("forbidden:vote").toResponse();
+ return new OpenChatError("forbidden:vote").toResponse();
}
await voteMessage({
diff --git a/app/(chat)/opengraph-image.png b/app/(chat)/opengraph-image.png
index e367f341a0e3a5725c463b7b2521d577f9ae47f1..73bc344d60419a7d4a105ae604c8ed2df2aa8837 100644
GIT binary patch
literal 34687
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
GhyNGpwL9qm
literal 165578
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