Header menu logo Nao

IToolDiscovery Type

Interface for dynamic tool discovery, ranking, and context-window pruning

Instance members

Instance member Description

this.CheckAvailabilityAsync

Full Usage: this.CheckAvailabilityAsync

Parameters:
    toolName : string

Returns: Task<ToolAvailability>
Modifiers: abstract

Check availability of a specific tool

toolName : string
Returns: Task<ToolAvailability>

this.DiscoverAsync

Full Usage: this.DiscoverAsync

Returns: Task<ToolSchema list>
Modifiers: abstract

Discover tools from all registered sources

Returns: Task<ToolSchema list>

this.GetStatsAsync

Full Usage: this.GetStatsAsync

Parameters:
    toolName : string

Returns: Task<ToolUsageStats option>
Modifiers: abstract

Get usage statistics

toolName : string
Returns: Task<ToolUsageStats option>

this.PruneForContextAsync

Full Usage: this.PruneForContextAsync

Parameters:
    taskDescription : string
    availableTokenBudget : int

Returns: Task<ToolSchema list>
Modifiers: abstract

Prune tools for context window — returns the most relevant subset

taskDescription : string
availableTokenBudget : int
Returns: Task<ToolSchema list>

this.RankForTaskAsync

Full Usage: this.RankForTaskAsync

Parameters:
    taskDescription : string
    maxTools : int

Returns: Task<(ToolSchema * float) list>
Modifiers: abstract

Rank tools by relevance to a given query/task

taskDescription : string
maxTools : int
Returns: Task<(ToolSchema * float) list>

this.RecordInvocationAsync

Full Usage: this.RecordInvocationAsync

Parameters:
    toolName : string
    success : bool
    latencyMs : int64
    cost : float

Returns: Task<unit>
Modifiers: abstract

Record a tool invocation (for stats tracking)

toolName : string
success : bool
latencyMs : int64
cost : float
Returns: Task<unit>

Type something to start searching.