aboutsummaryrefslogtreecommitdiff
path: root/apps/web/src/app/api/query
diff options
context:
space:
mode:
authorDhravya <[email protected]>2024-03-01 11:43:40 -0700
committerDhravya <[email protected]>2024-03-01 11:43:40 -0700
commitb8e070c1ac37251129774f8e7d70fdbcf94bee8c (patch)
treef9793b1146446c9c709a8f752c6b334760a62c36 /apps/web/src/app/api/query
parentextension workoing (diff)
downloadsupermemory-b8e070c1ac37251129774f8e7d70fdbcf94bee8c.tar.xz
supermemory-b8e070c1ac37251129774f8e7d70fdbcf94bee8c.zip
feat: Added AI query UI
Diffstat (limited to 'apps/web/src/app/api/query')
-rw-r--r--apps/web/src/app/api/query/route.ts16
1 files changed, 10 insertions, 6 deletions
diff --git a/apps/web/src/app/api/query/route.ts b/apps/web/src/app/api/query/route.ts
index 9be23321..4e2f0674 100644
--- a/apps/web/src/app/api/query/route.ts
+++ b/apps/web/src/app/api/query/route.ts
@@ -24,22 +24,26 @@ export async function GET(req: NextRequest) {
const session = {session: sessionData[0], user: user[0]}
const query = new URL(req.url).searchParams.get("q");
+ const sourcesOnly = new URL(req.url).searchParams.get("sourcesOnly") ?? "false";
if (!query) {
return new Response(JSON.stringify({ message: "Invalid query" }), { status: 400 });
}
- const resp = await fetch(`https://cf-ai-backend.dhravya.workers.dev/query?q=${query}&user=${session.user.email ?? session.user.name}`, {
+ const resp = await fetch(`https://cf-ai-backend.dhravya.workers.dev/query?q=${query}&user=${session.user.email ?? session.user.name}&sourcesOnly=${sourcesOnly}`, {
headers: {
"X-Custom-Auth-Key": env.BACKEND_SECURITY_KEY,
}
})
- const data = await resp.json()
-
- if (resp.status !== 200) {
- return new Response(JSON.stringify({ message: "Error in CF function", error: data }), { status: resp.status });
+ if (resp.status !== 200 || !resp.ok) {
+ const errorData = await resp.json();
+ return new Response(JSON.stringify({ message: "Error in CF function", error: errorData }), { status: resp.status });
}
- return new Response(JSON.stringify({ message: "OK", data: data }), { status: 200 });
+ // Stream the response back to the client
+ const { readable, writable } = new TransformStream();
+ resp && resp.body!.pipeTo(writable);
+
+ return new Response(readable, { status: 200 });
} \ No newline at end of file