Skip to content
1 min read · 123 words

Type Alias: ToolCallResults

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

Union of every shape a ToolCall.results field may carry.

Remarks

Three silos with distinct render-time semantics:

  • @nhtio/adk!Tokenizable — always singular. The @nhtio/adk!ArtifactTool 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 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 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.