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
| Parameter | Type | Description |
|---|---|---|
raw | RawToolCall | The 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
| Property | Modifier | Type | Default value | Description |
|---|---|---|---|---|
args | readonly | Record<string, unknown> | undefined | Arguments the model supplied for this tool call, always as a plain object. |
checksum | readonly | string | undefined | Integrity checksum over tool and args. |
completedAt | readonly | DateTime | undefined | When the tool call completed. |
createdAt | readonly | DateTime | undefined | When this tool call was first created. |
fromArtifactTool | readonly | boolean | undefined | true 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. |
id | readonly | string | undefined | Stable unique identifier for this tool call; correlates the request with its result. |
inline | readonly | boolean | undefined | true (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. |
isComplete | readonly | boolean | undefined | true once the tool call has finished (successfully or not). |
isError | readonly | boolean | undefined | true when the tool execution produced an error; inspect results for detail. |
results | readonly | ToolCallResults | undefined | Result 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). |
tool | readonly | string | undefined | Name of the tool the model has requested. |
updatedAt | readonly | DateTime | undefined | When this tool call was last modified. |
schema | static | ObjectSchema<RawToolCall> | rawToolCallSchema | Validator 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
| Parameter | Type | Description |
|---|---|---|
value | unknown | The 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.