返回 presentation-ai
route.ts
根目录 / src / app / api / agent / presentation / search / route.ts
1 import { search_tool } from "@/ai/tools/search";
2 import { auth } from "@/server/auth";
3 import { NextResponse } from "next/server";
4
5 export async function POST(req: Request) {
6 try {
7 const session = await auth();
8
9 if (!session?.user) {
10 return NextResponse.json({ error: "Unauthorized" }, { status: 401 });
11 }
12
13 const { query } = (await req.json()) as {
14 query?: string;
15 };
16
17 if (!query?.trim()) {
18 return NextResponse.json({ error: "Missing query" }, { status: 400 });
19 }
20
21 const result = await search_tool.invoke({
22 query,
23 });
24
25 return NextResponse.json({ result });
26 } catch (error) {
27 console.error("Presentation search tool error:", error);
28 return NextResponse.json(
29 { error: "Failed to execute search tool" },
30 { status: 500 },
31 );
32 }
33 }
34
34 lines TYPESCRIPT