Skip to main content
weave / Tool 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
const  = weave.startTool({
  : tc.function.name,
  : tc.function.arguments,
  : tc.id,
});
try {
  .result = await wikipediaSearch(.(tc.function.arguments));
} finally {
  .end();
}

Hierarchy

  • SpanBase Tool

Table of contents

Properties

Methods

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 Tool output as a string. Recorded on gen_ai.tool.call.result at end().

Defined in

src/genai/tool.ts:47

toolCallId

Readonly toolCallId: string

Defined in

src/genai/tool.ts:53

Methods

addEvent

addEvent(name, attributes?, startTime?): this 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

NameType
namestring
attributes?Attributes
startTime?TimeInput

Returns

this Example
span.addEvent('context_compacted', {: 12});

Inherited from

SpanBase.addEvent

Defined in

src/genai/spanBase.ts:77

end

end(opts?): void Flush result to the span and close it. Idempotent. Pass error to mark the span as failed; pass endTime to backdate the close.

Parameters

NameType
opts?SpanEndOptions

Returns

void

Defined in

src/genai/tool.ts:87

setAttributes

setAttributes(attributes): this 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

NameType
attributesAttributes

Returns

this Example
span.setAttributes({'weave.tag': 'prod', 'gen_ai.response.id': id});

Inherited from

SpanBase.setAttributes

Defined in

src/genai/spanBase.ts:63

create

create(opts): Tool

Parameters

NameType
optsToolInit & ChildSpanContext

Returns

Tool

Defined in

src/genai/tool.ts:58