Skip to content
3 min read · 546 words

Class: ToolCall

An immutable, validated tool call record associated with a turn.

Remarks

Represents a completed tool invocation from the conversation history — results, completedAt, isComplete, and isError are all present and required. Temporal fields are normalised to Luxon DateTime instances at construction time.

Constructors

Constructor

ts
new ToolCall(raw: RawToolCall): ToolCall;

Parameters

ParameterTypeDescription
rawRawToolCallThe raw tool call input validated against rawToolCallSchema.

Returns

ToolCall

Throws

@nhtio/adk!E_INVALID_INITIAL_TOOL_CALL_VALUE when raw does not satisfy the schema.

Properties

PropertyModifierTypeDefault valueDescription
argsreadonlyRecord<string, unknown>undefinedArguments the model supplied for this tool call, always as a plain object.
checksumreadonlystringundefinedIntegrity checksum over tool and args.
completedAtreadonlyDateTimeundefinedWhen the tool call completed.
createdAtreadonlyDateTimeundefinedWhen this tool call was first created.
fromArtifactToolreadonlybooleanundefinedtrue when this tool call originated from an @nhtio/adk!ArtifactTool invocation. Used by SpooledArtifact.forgeTools(ctx) to filter out forged-tool results from the callId enum it builds.
idreadonlystringundefinedStable unique identifier for this tool call; correlates the request with its result.
inlinereadonlybooleanundefinedtrue (default) renders this tool call's result inline in the prompt; false instructs LLM adapters to surface the result as a handle reference. See RawToolCall.inline.
isCompletereadonlybooleanundefinedtrue once the tool call has finished (successfully or not).
isErrorreadonlybooleanundefinedtrue when the tool execution produced an error; inspect results for detail.
resultsreadonlyToolCallResultsundefinedResult returned by the tool, or error detail when isError is true. Remarks One of three silos — see ToolCallResults. @nhtio/adk!SpooledArtifact or SpooledArtifact[] for normal text-output @nhtio/adk!Tool calls; @nhtio/adk!Media or Media[] for tool calls whose handler returned binary modality output; @nhtio/adk!Tokenizable for @nhtio/adk!ArtifactTool calls (see ToolCall.fromArtifactTool).
toolreadonlystringundefinedName of the tool the model has requested.
updatedAtreadonlyDateTimeundefinedWhen this tool call was last modified.
schemastaticObjectSchema<RawToolCall>rawToolCallSchemaValidator schema that accepts a RawToolCall object. Remarks Reusable fragment for any schema that needs to validate or nest a tool call entry.

Methods

isToolCall()

ts
static isToolCall(value: unknown): value is ToolCall;

Returns true if value is a ToolCall instance.

Parameters

ParameterTypeDescription
valueunknownThe value to test.

Returns

value is ToolCall

true when value is a ToolCall instance.

Remarks

Uses @nhtio/adk!isInstanceOf for cross-realm safety — instanceof would fail for instances created in a different module copy or VM context.