본문으로 건너뛰기

함수: mergeAgentTools()

호출 시그니처

function mergeAgentTools<TServerTools>(serverTools, clientTools): TServerTools;

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

요청 본문에서 받은 서버 측 도구 배열과 AG-UI 클라이언트 선언 도구를 병합합니다.

규칙:

  • 이름이 충돌하면 서버 도구가 우선합니다. 서버에 이미 해당 이름의 도구가 있으면 클라이언트 선언은 무시됩니다. 스트리밍된 도구 결과 이벤트가 전달될 때 클라이언트 측 UI 핸들러는 여전히 실행되므로(chat-client.ts onToolCall 참조), "서버 실행 후 클라이언트도 처리" 의미가 자동으로 유지됩니다.
  • 클라이언트 전용 도구(serverTools에 이름이 없음)는 실행하지 않는 항목이 됩니다. 런타임의 기존 ClientToolRequest 경로가 이를 처리합니다. 서버가 도구 호출 요청을 보내고, 클라이언트가 등록된 핸들러로 실행한 다음 결과를 다시 게시합니다.

타입 지정:

  • 비어 있는 clientTools는 서버 튜플(닫힌 이름 유니언)을 유지합니다.
  • 비어 있지 않은 clientTools는 클라이언트 스텁을 정직하게 포함하는 확장 배열을 반환하므로, 병합된 배열은 서버 전용의 닫힌 이름 유니언이라고 주장하지 않습니다.

타입 매개변수

TServerTools

TServerTools extends readonly AnyTool[]

매개변수

serverTools

TServerTools

서버의 도구 배열입니다(예: [myToolDef.server(...)]). chat({ tools })에 직접 전달합니다.

clientTools

readonly []

chatParamsFromRequest(...)/chatParamsFromRequestBody(...)에서 받은 tools 배열입니다.

반환값

TServerTools

chat({ tools })에 적합한 병합 배열입니다.

호출 시그니처

function mergeAgentTools<TServerTools>(serverTools, clientTools): MergedAgentTools<TServerTools>;

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

요청 본문에서 받은 서버 측 도구 배열과 AG-UI 클라이언트 선언 도구를 병합합니다.

규칙:

  • 이름이 충돌하면 서버 도구가 우선합니다. 서버에 이미 해당 이름의 도구가 있으면 클라이언트 선언은 무시됩니다. 스트리밍된 도구 결과 이벤트가 전달될 때 클라이언트 측 UI 핸들러는 여전히 실행되므로(chat-client.ts onToolCall 참조), "서버 실행 후 클라이언트도 처리" 의미가 자동으로 유지됩니다.
  • 클라이언트 전용 도구(serverTools에 이름이 없음)는 실행하지 않는 항목이 됩니다. 런타임의 기존 ClientToolRequest 경로가 이를 처리합니다. 서버가 도구 호출 요청을 보내고, 클라이언트가 등록된 핸들러로 실행한 다음 결과를 다시 게시합니다.

타입 지정:

  • 비어 있는 clientTools는 서버 튜플(닫힌 이름 유니언)을 유지합니다.
  • 비어 있지 않은 clientTools는 클라이언트 스텁을 정직하게 포함하는 확장 배열을 반환하므로, 병합된 배열은 서버 전용의 닫힌 이름 유니언이라고 주장하지 않습니다.

타입 매개변수

TServerTools

TServerTools extends readonly AnyTool[]

매개변수

serverTools

TServerTools

서버의 도구 배열입니다(예: [myToolDef.server(...)]). chat({ tools })에 직접 전달합니다.

clientTools

readonly object[]

chatParamsFromRequest(...)/chatParamsFromRequestBody(...)에서 받은 tools 배열입니다.

반환값

MergedAgentTools&lt;TServerTools>

chat({ tools })에 적합한 병합 배열입니다.