본문으로 건너뛰기

Function: chatParamsFromRequest()

function chatParamsFromRequest(req): Promise<{
aguiContext: Context[];
context: Context[];
forwardedProps: Record<string, unknown>;
messages: (
| ModelMessage<
| string
| ContentPart<unknown, unknown, unknown, unknown, unknown>[]
| null>
| UIMessage<unknown>)[];
parentRunId?: string;
resume?: RunAgentResumeItem[];
runId: string;
state: unknown;
threadId: string;
tools: object[];
}>;

정의 위치: packages/ai/src/utilities/chat-params.ts:282

HTTP Request를 읽고 JSON 본문을 파싱한 다음 AG-UI RunAgentInput으로 검증합니다. 표준 req.json() + chatParamsFromRequestBody(...) 쌍을 단일 호출로 통합합니다.

본문이 잘못되었거나 AG-UI 형태가 유효하지 않으면 상태 400과 마이그레이션을 안내하는 메시지가 본문에 포함된 **Response**를 발생시킵니다. 발생한 Response 객체를 기본적으로 처리하는 프레임워크(TanStack Start, SolidStart, Remix, React Router 7)는 400을 클라이언트에 자동으로 반환하므로 핸들러는 다음처럼 간단해집니다.

export async function POST(req: Request) {
const params = await chatParamsFromRequest(req)
// ...use params
}

발생한 Response 객체를 자동으로 처리하지 않는 프레임워크 (Next.js Route Handlers, SvelteKit, Hono, raw Node)에서는 호출을 try/catch로 감싸서 잡은 Response를 직접 반환하거나, 자체 JSON 파싱과 함께 chatParamsFromRequestBody를 직접 사용합니다.

매개변수

req

Request

반환값

Promise&lt;{ aguiContext: Context[]; context: Context[]; forwardedProps: Record&lt;string, unknown>; messages: ( | ModelMessage&lt; | string | ContentPart&lt;unknown, unknown, unknown, unknown, unknown>[] | null> | UIMessage&lt;unknown>)[]; parentRunId?: string; resume?: RunAgentResumeItem[]; runId: string; state: unknown; threadId: string; tools: object[]; }>

예외

잘못된 JSON 또는 유효하지 않은 AG-UI 형태인 경우 400입니다.