Skip to main content
Defined in: src/genai/tool.ts:43 A tool invocation. Emits an execute_tool span carrying the tool name, the JSON-encoded arguments, the tool-call id, and the result. Created by weave.startTool() (or turn.startTool(), or llm.startTool()) and terminated with end(). Assign result before calling end() to record the tool’s output on the span.

Example

Extends

  • SpanBase

Properties

args

readonly args: string
Defined in: src/genai/tool.ts:52

name

readonly name: string
Defined in: src/genai/tool.ts:51

result?

optional result?: string
Defined in: src/genai/tool.ts:47 Tool output as a string. Recorded on gen_ai.tool.call.result at end().

toolCallId

readonly toolCallId: string
Defined in: src/genai/tool.ts:53

Methods

addEvent()

Deprecated. Record this data via setAttributes instead. OpenTelemetry is phasing out the Span Event API (Span.addEvent). This method still works and existing span-event data stays valid. See https://opentelemetry.io/blog/2026/deprecating-span-events/
addEvent(name, attributes?, startTime?): this
Defined in: src/genai/spanBase.ts:82 Add a named event to the span. Useful for marking non-span moments such as context compaction, tool-loop detection, or guardrail trips. Warns and no-ops after end(). Mirrors OTel Span.addEvent.

Parameters

name
string
attributes?
Attributes
startTime?
TimeInput

Returns

this

Example

Inherited from

SpanBase.addEvent

end()

end(opts?): void
Defined in: src/genai/tool.ts:87 Flush result to the span and close it. Idempotent. Pass error to mark the span as failed; pass endTime to backdate the close.

Parameters

opts?
SpanEndOptions

Returns

void

setAttributes()

setAttributes(attributes): this
Defined in: src/genai/spanBase.ts:63 Set multiple attributes on the span at once. Warns and no-ops after end(). Mirrors OTel Span.setAttributes (and the Python SDK’s set_attributes).

Parameters

attributes
Attributes

Returns

this

Example

Inherited from

SpanBase.setAttributes