> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wandb.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# WeaveClient

> TypeScript SDK 레퍼런스

정의 위치: [src/weaveClient.ts:445](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L445)

<div id="properties">
  ## 속성
</div>

<div id="projectid">
  ### projectId
</div>

> **projectId**: `string`

정의 위치: [src/weaveClient.ts:456](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L456)

***

<div id="settings">
  ### settings
</div>

> **settings**: [`Settings`](../type-aliases/settings)

정의 위치: [src/weaveClient.ts:457](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L457)

***

<div id="traceserverapi">
  ### traceServerApi
</div>

> **traceServerApi**: `Api`\<`any`>

정의 위치: [src/weaveClient.ts:455](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L455)

<div id="methods">
  ## 메서드
</div>

<div id="addscore">
  ### addScore()
</div>

> **addScore**(`predictCallId`, `scorerCallId`, `runnableRefUri`, `scorerOutput`): `Promise`\<`string`>

Call에 Scorer 결과(예: Scorer 출력)를 추가합니다.
명령형 Evaluation에서 예측 Call에 Scorer 결과를 연결하는 데 사용합니다.

정의 위치: [src/weaveClient.ts:1727](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L1727)

#### 매개변수

<div id="predictcallid">
  ##### predictCallId
</div>

`string`

feedback을 연결할 predict call의 ID

<div id="scorercallid">
  ##### scorerCallId
</div>

`string`

피드백을 생성한 Scorer Call의 ID

<div id="runnablerefuri">
  ##### runnableRefUri
</div>

`string`

Scorer(Op 또는 Object ref)의 URI

<div id="scoreroutput">
  ##### scorerOutput
</div>

`any`

Scorer 출력

#### 반환값

`Promise`\<`string`>

***

<div id="createcall">
  ### createCall()
</div>

> **createCall**(`internalCall`, `opRef`, `params`, `parameterNames`, `thisArg`, `currentCall`, `parentCall`, `startTime`, `displayName?`, `attributes?`): `Promise`\<`void`>

정의 위치: [src/weaveClient.ts:1570](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L1570)

#### 매개변수

<div id="internalcall">
  ##### internalCall
</div>

`InternalCall`

<div id="opref">
  ##### opRef
</div>

`any`

<div id="params">
  ##### params
</div>

`any`\[]

<div id="parameternames">
  ##### parameterNames
</div>

`ParameterNamesOption`

<div id="thisarg">
  ##### thisArg
</div>

`any`

<div id="currentcall">
  ##### currentCall
</div>

`CallStackEntry`

<div id="parentcall">
  ##### parentCall
</div>

`CallStackEntry` | `undefined`

<div id="starttime">
  ##### startTime
</div>

`Date`

<div id="displayname">
  ##### displayName?
</div>

`string`

<div id="attributes">
  ##### 속성?
</div>

`Record`\<`string`, `any`>

#### 반환값

`Promise`\<`void`>

***

<div id="finishcall">
  ### finishCall()
</div>

> **finishCall**(`call`, `result`, `currentCall`, `parentCall`, `summarize`, `endTime`, `startCallPromise`): `Promise`\<`void`>

정의 위치: [src/weaveClient.ts:1630](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L1630)

#### 매개변수

<div id="call">
  ##### Call
</div>

`InternalCall`

<div id="result">
  ##### 결과
</div>

`any`

<div id="currentcall">
  ##### currentCall
</div>

`CallStackEntry`

<div id="parentcall">
  ##### parentCall
</div>

`CallStackEntry` | `undefined`

<div id="summarize">
  ##### summarize
</div>

((`result`) => `Record`\<`string`, `any`>) | `undefined`

<div id="endtime">
  ##### 종료 시간
</div>

`Date`

<div id="startcallpromise">
  ##### startCallPromise
</div>

`Promise`\<`void`>

#### 반환값

`Promise`\<`void`>

***

<div id="finishcallwithexception">
  ### finishCallWithException()
</div>

> **finishCallWithException**(`call`, `error`, `currentCall`, `parentCall`, `endTime`, `startCallPromise`): `Promise`\<`void`>

정의 위치: [src/weaveClient.ts:1672](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L1672)

#### 매개변수

<div id="call">
  ##### Call
</div>

`InternalCall`

<div id="error">
  ##### 오류
</div>

`any`

<div id="currentcall">
  ##### currentCall
</div>

`CallStackEntry`

<div id="parentcall">
  ##### parentCall
</div>

`CallStackEntry` | `undefined`

<div id="endtime">
  ##### 종료 시간
</div>

`Date`

<div id="startcallpromise">
  ##### startCallPromise
</div>

`Promise`\<`void`>

#### 반환값

`Promise`\<`void`>

***

<div id="get">
  ### get()
</div>

> **get**(`ref`): `Promise`\<`any`>

정의 위치: [src/weaveClient.ts:1025](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L1025)

#### 매개변수

<div id="ref">
  ##### ref
</div>

[`ObjectRef`](../classes/objectref)

#### 반환값

`Promise`\<`any`>

***

<div id="getagentcustomattributes">
  ### getAgentCustomAttributes()
</div>

> **getAgentCustomAttributes**(`options`): `Promise`\<[`Response`](../type-aliases/response)\<`GetAgentCustomAttributesResult`>>

프로젝트의 에이전트 span에서 관찰된 유형 지정 맞춤형 속성 키를 조회합니다. 각 결과 행은 하나의 `(source, key, value_type)` 트리플과 해당 속성을 포함하는 span 수로 구성됩니다. span 쿼리/그룹/통계 API는 이를 사용하여 맞춤형 속성을 참조합니다.

`query`(구조화된 span 필터), `startedAfter` / `startedBefore`(ISO-8601) 또는 둘 다를 전달하여 대상 span을 필터링합니다. `limit` / `offset`을 사용하여 조회된 키를 페이지 단위로 가져옵니다.

정의 위치: [src/weaveClient.ts:772](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L772)

#### 매개변수

##### 옵션

`GetAgentCustomAttributesOptions`

#### 반환값

`Promise`\<[`Response`](../type-aliases/response)\<`GetAgentCustomAttributesResult`>>

<div id="example">
  #### 예시
</div>

```ts twoslash theme={null}
// @noErrors
const client = await weave.init('entity/project');
const resp = await client.getAgentCustomAttributes({
  query: {
    $expr: {
      $eq: [{$getField: 'agent_name'}, {$literal: 'my-agent'}],
    },
  },
  startedAfter: '2026-06-15T00:00:00Z',
  limit: 200,
});

for (const attr of resp.data.attributes ?? []) {
  console.log(`${attr.source}.${attr.key} (${attr.value_type}): ${attr.span_count}`);
}
```

***

<div id="getagents">
  ### getAgents()
</div>

> **getAgents**(`options?`): `Promise`\<[`Response`](../type-aliases/response)\<[`GetAgentsResult`](../type-aliases/getagentsresult)>>

집계 통계와 함께 에이전트 목록을 조회합니다.

정의 위치: [src/weaveClient.ts:488](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L488)

#### 매개변수

##### options?

[`GetAgentsOptions`](./getagentsoptions) = `{}`

#### 반환값

`Promise`\<[`Response`](../type-aliases/response)\<[`GetAgentsResult`](../type-aliases/getagentsresult)>>

<div id="example">
  #### 예시
</div>

```ts twoslash theme={null}
// @noErrors
const client = await weave.init('entity/project');
const resp = await client.getAgents({limit: 20});

for (const agent of resp.data.agents) {
  console.log(agent.agent_name, agent.total_input_tokens);
}

console.log(`total count: ${resp.data.total_count}`)
```

***

<div id="getagentspans">
  ### getAgentSpans()
</div>

> **getAgentSpans**(`options`): `Promise`\<[`Response`](../type-aliases/response)\<[`GetAgentSpansResult`](../type-aliases/getagentspansresult)>>

에이전트 이름 및/또는 Mongo 스타일 쿼리 표현식으로 선택적으로 필터링된 에이전트 span을 쿼리합니다.

정의 위치: [src/weaveClient.ts:566](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L566)

#### 매개변수

##### 옵션

[`GetAgentSpansOptions`](./getagentspansoptions)

#### 반환값

`Promise`\<[`Response`](../type-aliases/response)\<[`GetAgentSpansResult`](../type-aliases/getagentspansresult)>>

<div id="example">
  #### 예시
</div>

```ts twoslash theme={null}
// @noErrors
const client = await weave.init('entity/project');
const resp = await client.getAgentSpans({agentName: 'my-agent', limit: 20});

for (const span of resp.data.spans) {
  console.log(span.span_id, span.span_name, span.input_tokens);
}
```

```ts twoslash theme={null}
// @noErrors
const client = await weave.init('entity/project');

const resp = await client.getAgentSpans({
  agentName: 'my-agent',
  query: {
    $expr: {$gt: [{$getField: 'input_tokens'}, {$literal: 1000}]},
  },
});

for (const span of resp.data.spans) {
  console.log(span.span_id, span.span_name, span.input_tokens);
}
```

***

<div id="getagentspanstats">
  ### getAgentSpanStats()
</div>

> **getAgentSpanStats**(`options`): `Promise`\<[`Response`](../type-aliases/response)\<`GetAgentSpanStatsResult`>>

프로젝트의 에이전트 span에 대한 집계 결과를 시계열 / 버킷 기반 시각화에 적합한 행 + 열
메타데이터 형식으로 반환합니다.

`start`(필수)와 `end`는 시간 범위를 정의합니다. `metrics`의 각 항목은
추출할 필드와 집계 방법(`sum`,
`avg`, `count`, 백분위수 등)을 지정합니다. 시간별로 행을 버킷화하려면
`granularity`(초)를 전달하고, 에이전트 /
공급자 / 모델 / 기타 기준으로 결과를 분류하려면 `groupBy`를 사용합니다. `query`는
집계 전에 원본 span을 필터링합니다.

정의 위치: [src/weaveClient.ts:621](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L621)

#### 매개변수

##### 옵션

`GetAgentSpanStatsOptions`

#### 반환값

`Promise`\<[`Response`](../type-aliases/response)\<`GetAgentSpanStatsResult`>>

<div id="example">
  #### 예시
</div>

```ts twoslash theme={null}
// @noErrors
const client = await weave.init('entity/project');
const resp = await client.getAgentSpanStats({
  start: '2026-06-10T00:00:00Z',
  end: '2026-06-23T00:00:00Z',
  granularity: 86400, // 하루당 한 행
  metrics: [
    {
      alias: 'total_input_tokens',
      value_type: 'number',
      aggregations: ['sum'],
      value: {source: 'field', key: 'input_tokens'},
    },
  ],
  groupBy: [{key: 'agent_name'}],
});

for (const row of resp.data.rows ?? []) {
  console.log(row.started_at_bucket, row.agent_name, row.total_input_tokens);
}
```

***

<div id="getagentturn">
  ### getAgentTurn()
</div>

> **getAgentTurn**(`options`): `Promise`\<[`Response`](../type-aliases/response)\<`AgentTraceChatRes`>>

단일 대화 턴의 데이터(메시지 포함)를 traceId로 조회합니다.

정의 위치: [src/weaveClient.ts:655](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L655)

#### 매개변수

##### 옵션

[`GetAgentTurnOptions`](./getagentturnoptions)

#### 반환값

`Promise`\<[`Response`](../type-aliases/response)\<`AgentTraceChatRes`>>

<div id="example">
  #### 예시
</div>

```ts twoslash theme={null}
// @noErrors
const client = await weave.init('entity/project');
const resp = await client.getAgentTurn({
  traceId: '01997b8a-2c89-7c4d-9d0e-2f7e5b9a1b2c',
  includeFeedback: true,
});

console.log(resp.data.root_span_name, resp.data.total_duration_ms);

for (const message of resp.data.messages ?? []) {
  if (message.user_message) console.log('user:', message.user_message);
  if (message.assistant_message) console.log('assistant:', message.assistant_message);
}
```

***

<div id="getagentturns">
  ### getAgentTurns()
</div>

> **getAgentTurns**(`options`): `Promise`\<[`Response`](../type-aliases/response)\<[`GetAgentTurnsResult`](../type-aliases/getagentturnsresult)>>

`conversationId`별 여러 턴의 데이터(메시지 포함)를 조회합니다.

정의 위치: [src/weaveClient.ts:688](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L688)

#### 매개변수

##### 옵션

[`GetAgentTurnsOptions`](./getagentturnsoptions)

#### 반환값

`Promise`\<[`Response`](../type-aliases/response)\<[`GetAgentTurnsResult`](../type-aliases/getagentturnsresult)>>

<div id="example">
  #### 예시
</div>

```ts twoslash theme={null}
// @noErrors
const client = await weave.init('entity/project');
const resp = await client.getAgentTurns({
  conversationId: 'trace_c50312356de3487fa90e381c9399b5b4',
  limit: 20,
  includeFeedback: true,
});

for (const turn of resp.data.turns ?? []) {
  console.log(turn.trace_id, turn.root_span_name);
  for (const message of turn.messages ?? []) {
    if (message.user_message) console.log('user:', message.user_message);
    if (message.assistant_message) console.log('assistant:', message.assistant_message);
  }
}

console.log(`total turns: ${resp.data.total_turns}, has more: ${resp.data.has_more}`);
```

***

<div id="getagentversions">
  ### getAgentVersions()
</div>

> **getAgentVersions**(`options`): `Promise`\<[`Response`](../type-aliases/response)\<[`GetAgentVersionsResult`](../type-aliases/getagentversionsresult)>>

지정된 에이전트의 버전 목록을 반환합니다.

정의 위치: [src/weaveClient.ts:522](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L522)

#### 매개변수

##### 옵션

[`GetAgentVersionsOptions`](./getagentversionsoptions)

#### 반환값

`Promise`\<[`Response`](../type-aliases/response)\<[`GetAgentVersionsResult`](../type-aliases/getagentversionsresult)>>

<div id="example">
  #### 예시
</div>

```ts twoslash theme={null}
// @noErrors
const client = await weave.init('entity/project');
const resp = await client.getAgentVersions({agentName: 'my-agent', limit: 20});

for (const version of resp.data.versions) {
  console.log(version.agent_version, version.total_input_tokens);
}

console.log(`total count: ${resp.data.total_count}`)
```

***

<div id="getcall">
  ### getCall()
</div>

> **getCall**(`callId`, `includeCosts?`): `Promise`\<`Call`>

정의 위치: [src/weaveClient.ts:902](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L902)

#### 매개변수

<div id="callid">
  ##### callId
</div>

`string`

##### includeCosts?

`boolean` = `false`

#### 반환값

`Promise`\<`Call`>

***

<div id="getcalls">
  ### getCalls()
</div>

<div id="call-signature">
  #### Call 시그니처
</div>

> **getCalls**(`options?`): `Promise`\<`Call`\[]>

정의 위치: [src/weaveClient.ts:935](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L935)

<div id="parameters">
  ##### 매개변수
</div>

<div id="options">
  ###### options?
</div>

[`GetCallsOptions`](./getcallsoptions)

<div id="returns">
  ##### 반환값
</div>

`Promise`\<`Call`\[]>

<div id="call-signature">
  #### Call 시그니처
</div>

> **getCalls**(`options?`, `includeCosts?`, `limit?`): `Promise`\<`Call`\[]>

정의 위치: [src/weaveClient.ts:936](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L936)

<div id="parameters">
  ##### 매개변수
</div>

<div id="options">
  ###### options?
</div>

[`CallsFilter`](./callsfilter)

<div id="includecosts">
  ###### includeCosts?
</div>

`boolean`

<div id="limit">
  ###### limit?
</div>

`숫자`

<div id="returns">
  ##### 반환값
</div>

`Promise`\<`Call`\[]>

***

<div id="getcallsiterator">
  ### getCallsIterator()
</div>

<div id="call-signature">
  #### Call 시그니처
</div>

> **getCallsIterator**(`options?`, `includeCosts?`, `limit?`): `AsyncIterableIterator`\<[`CallSchema`](./callschema)>

정의 위치: [src/weaveClient.ts:957](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L957)

<div id="parameters">
  ##### 매개변수
</div>

<div id="options">
  ###### options?
</div>

[`CallsFilter`](./callsfilter)

<div id="includecosts">
  ###### includeCosts?
</div>

`boolean`

<div id="limit">
  ###### limit?
</div>

`숫자`

<div id="returns">
  ##### 반환값
</div>

`AsyncIterableIterator`\<[`CallSchema`](./callschema)>

<div id="call-signature">
  #### Call 시그니처
</div>

> **getCallsIterator**(`options?`): `AsyncIterableIterator`\<[`CallSchema`](./callschema)>

정의 위치: [src/weaveClient.ts:962](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L962)

<div id="parameters">
  ##### 매개변수
</div>

<div id="options">
  ###### options?
</div>

[`GetCallsOptions`](./getcallsoptions)

<div id="returns">
  ##### 반환값
</div>

`AsyncIterableIterator`\<[`CallSchema`](./callschema)>

***

<div id="getcallstack">
  ### getCallStack()
</div>

> **getCallStack**(): `CallStack`

정의 위치: [src/weaveClient.ts:1482](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L1482)

#### 반환값

`CallStack`

***

<div id="getcurrentattributes">
  ### getCurrentAttributes()
</div>

> **getCurrentAttributes**(): `Record`\<`string`, `any`>

정의 위치: [src/weaveClient.ts:1486](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L1486)

#### 반환값

`Record`\<`string`, `any`>

***

<div id="linkprompttoregistry">
  ### linkPromptToRegistry()
</div>

> **linkPromptToRegistry**(`prompt`, `options`): `Promise`\<`LinkAssetToRegistryRes`>

게시된 프롬프트 버전을 레지스트리 포트폴리오에 연결합니다.

정의 위치: [src/weaveClient.ts:1181](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L1181)

#### 매개변수

<div id="prompt">
  ##### 프롬프트
</div>

`RegistryLinkable`

##### 옵션

`LinkPromptToRegistryOptions`

#### 반환값

`Promise`\<`LinkAssetToRegistryRes`>

***

<div id="publish">
  ### publish()
</div>

> **publish**(`obj`, `objId?`): `Promise`\<[`ObjectRef`](../classes/objectref)>

정의 위치: [src/weaveClient.ts:890](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L890)

#### 매개변수

<div id="obj">
  ##### obj
</div>

`any`

<div id="objid">
  ##### objId?
</div>

`string`

#### 반환값

`Promise`\<[`ObjectRef`](../classes/objectref)>

***

<div id="pushnewcall">
  ### pushNewCall()
</div>

> **pushNewCall**(): `object`

정의 위치: [src/weaveClient.ts:1490](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L1490)

#### 반환값

`object`

<div id="currentcall">
  ##### currentCall
</div>

> **currentCall**: `CallStackEntry`

<div id="newstack">
  ##### newStack
</div>

> **newStack**: `CallStack`

<div id="parentcall">
  ##### parentCall
</div>

> `선택` **parentCall**: `CallStackEntry`

***

<div id="runwithattributes">
  ### runWithAttributes()
</div>

> **runWithAttributes**\<`T`>(`attributes`, `fn`): `T`

정의 위치: [src/weaveClient.ts:1498](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L1498)

<div id="type-parameters">
  #### 유형 매개변수
</div>

<div id="t">
  ##### T
</div>

`T`

#### 매개변수

##### 속성

`Record`\<`string`, `any`>

<div id="fn">
  ##### fn
</div>

() => `T`

#### 반환값

`T`

***

<div id="runwithcallstack">
  ### runWithCallStack()
</div>

> **runWithCallStack**\<`T`>(`callStack`, `fn`): `T`

정의 위치: [src/weaveClient.ts:1494](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L1494)

<div id="type-parameters">
  #### 유형 매개변수
</div>

<div id="t">
  ##### T
</div>

`T`

#### 매개변수

<div id="callstack">
  ##### callStack
</div>

`CallStack`

<div id="fn">
  ##### fn
</div>

() => `T`

#### 반환값

`T`

***

<div id="savecallend">
  ### saveCallEnd()
</div>

> **saveCallEnd**(`callEnd`): `void`

정의 위치: [src/weaveClient.ts:1477](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L1477)

#### 매개변수

<div id="callend">
  ##### callEnd
</div>

`EndedCallSchemaForInsert`

#### 반환값

`void`

***

<div id="savecallstart">
  ### saveCallStart()
</div>

> **saveCallStart**(`callStart`): `void`

정의 위치: [src/weaveClient.ts:1472](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L1472)

#### 매개변수

<div id="callstart">
  ##### callStart
</div>

`StartedCallSchemaForInsert`

#### 반환값

`void`

***

<div id="saveop">
  ### saveOp()
</div>

> **saveOp**(`op`, `objId?`): `Promise`\<`OpRef`>

정의 위치: [src/weaveClient.ts:1537](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L1537)

#### 매개변수

<div id="op">
  ##### op
</div>

[`Op`](../type-aliases/op)\<(...`args`) => `any`>

<div id="objid">
  ##### objId?
</div>

`string`

#### 반환값

`Promise`\<`OpRef`>

***

<div id="searchagents">
  ### searchAgents()
</div>

> **searchAgents**(`options`): `Promise`\<[`Response`](../type-aliases/response)\<`SearchAgentsResult`>>

프로젝트 내 에이전트 메시지 전체에서 전문 검색을 수행합니다. 결과는 대화별로 그룹화되며, 일치하는 각 메시지의 미리보기가 포함됩니다.

`query`는 전문 검색어입니다. 텍스트 일치 없이 구조화된 필터(`agentName`,
`conversationId`, `traceId`)에 일치하는 모든 메시지를 검색하려면 빈 문자열을 전달하세요. `limit` /
`offset`을 사용하여 결과를 페이지 단위로 조회하세요.

정의 위치: [src/weaveClient.ts:730](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L730)

#### 매개변수

##### 옵션

`SearchAgentsOptions`

#### 반환값

`Promise`\<[`Response`](../type-aliases/response)\<`SearchAgentsResult`>>

<div id="example">
  #### 예시
</div>

```ts twoslash theme={null}
// @noErrors
const client = await weave.init('entity/project');
const resp = await client.searchAgents({
  query: 'Liverpool',
  agentName: 'Assistant',
  limit: 20,
});

for (const conversation of resp.data.results ?? []) {
  console.log(`${conversation.conversation_id} (${conversation.agent_name})`);
  for (const match of conversation.matched_messages) {
    console.log(`  [${match.role}] ${match.content_preview}`);
  }
}

console.log(`total conversations: ${resp.data.total_conversations}`);
```

***

<div id="serializeaudio">
  ### serializeAudio()
</div>

> **serializeAudio**(`data`, `audioType?`): `Promise`\<`SerializedFileBlob`>

원시 오디오 바이트를 Weave 콘텐츠 저장소에 업로드하고 Call 출력에 포함할 수 있는
`CustomWeaveType` 자리 표시자를 반환합니다.

`finishCall`의 자동 직렬화 파이프라인을 사용하지 않고(예: `saveCallEnd`를 통해)
Call 출력을 수동으로 구축할 때 사용하세요.

정의 위치: [src/weaveClient.ts:1424](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L1424)

#### 매개변수

<div id="data">
  ##### data
</div>

`Buffer`

원시 오디오 바이트(브라우저 호환성을 위해 WAV 권장)

<div id="audiotype">
  ##### audioType?
</div>

`"wav"` = `DEFAULT_AUDIO_TYPE`

파일 형식 — 현재 지원되는 형식은 'wav'뿐입니다

#### 반환값

`Promise`\<`SerializedFileBlob`>

***

<div id="updatecall">
  ### updateCall()
</div>

> **updateCall**(`callId`, `displayName`): `Promise`\<`void`>

정의 위치: [src/weaveClient.ts:1710](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L1710)

#### 매개변수

<div id="callid">
  ##### callId
</div>

`string`

##### 표시 이름

`string`

#### 반환값

`Promise`\<`void`>

***

<div id="waitforbatchprocessing">
  ### waitForBatchProcessing()
</div>

> **waitForBatchProcessing**(): `Promise`\<`void`>

정의 위치: [src/weaveClient.ts:801](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/weaveClient.ts#L801)

#### 반환값

`Promise`\<`void`>
