Skip to content
Tracon

IHostedToolSupport

Namespace Tracon · Assembly Tracon.Abstractions.dll

An optional interface of an IModelProvider that states which HostedToolKind values its API surface runs.

public interface IHostedToolSupport

The model adapters map only some hosted tools to the wire and drop the rest without an error: on the Chat Completions surface a code interpreter tool is sent nowhere and the model answers as if it had none. A provider states what its surface runs, so a definition that selects an unsupported kind stops with an error instead of running without the tool.

The support belongs to the API surface, not to the model: openai and openai-responses reach the same models, and only the Responses API runs a code interpreter. A provider registered under several names states each name’s own support.

A provider that does not implement this interface supports no kind. The primary provider and every ModelBinding.Fallbacks link are checked, because a link receives the primary call’s tools. A kind in the set is not a promise: a model can still reject a tool the surface sends, and that rejection is the provider’s own error.

Lifetime and threading

The registry reads the property from the provider’s singleton instance whenever it lists providers, which the compile path and the validation path do, so it may be read concurrently. Return a value that does not change after construction.

Tenant mode

The answer is tenant-independent: it describes the API surface, so every tenant gets the same one, including a tenant that brings its own credential.

Delivery

A read of a value, with no side effect: no delivery guarantee applies.

Gets the hosted tool kinds this provider’s API surface runs. Report a kind only when the wire request carries the tool.

HostedToolKinds SupportedHostedTools { get; }

HostedToolKinds