---
url: 'https://adk.nht.io/api/@nhtio/adk/common/type-aliases/ToolCallResults.md'
description: 'Union of every shape a [`ToolCall.results`](https://adk.nht.io/api/@nhtio/adk/forge/classes/ToolCall#property-results) field may carry.'
---

# Type Alias: ToolCallResults

```ts
type ToolCallResults =
  | Tokenizable
  | SpooledArtifact
  | SpooledArtifact[]
  | Media
  | Media[];
```

Defined in: [lib/classes/tool\_call.ts:27](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/classes/tool_call.ts#L27)

Union of every shape a [ToolCall.results](../../forge/classes/ToolCall.md#property-results) field may carry.

## Remarks

Three silos with distinct render-time semantics:

* [@nhtio/adk!Tokenizable](../classes/Tokenizable.md) — always singular. The [@nhtio/adk!ArtifactTool](../../forge/classes/ArtifactTool.md)
  carve-out: a model-visible text answer that explicitly opts out of artifact wrapping to
  break the recursive grep-on-the-grep-result loop.
* [@nhtio/adk!SpooledArtifact](../../spooled_artifact/classes/SpooledArtifact.md) or `SpooledArtifact[]` — bounded text output spooled to durable
  storage. A single tool call may legitimately produce multiple artifacts (e.g. one tool
  that returns N PR bodies). LLM adapters render either inline (full body in trust envelope)
  or as a handle reference (forged artifact-query tools).
* [@nhtio/adk!Media](../classes/Media.md) or `Media[]` — binary modality output (image, audio, video, document).
  Adapters render as provider-specific content blocks (`image_url`, `input_audio`, `file`,
  etc.). Bytes are lazy — reached only through [@nhtio/adk!Media.stream](../classes/Media.md#stream).
