Interface NaruTool

All Known Implementing Classes:
DefaultNaruTool

public interface NaruTool
A tool that can be called by the agent's reasoning model.

Implementations must be stateless (or thread-safe) — the registry reuses the same instance across calls.

  • Method Details

    • name

      String name()
      Machine-readable name used in the tool schema (no spaces).
    • getDescription

      String getDescription(NaruTask task)
      Human-readable description sent to the model.
    • tags

      Set<String> tags()
    • isRelevant

      default boolean isRelevant(NaruTask task)
    • getDefinition

      NaruToolDefinition getDefinition(NaruTask task)
      Returns the full OpenAI-compatible JSON tool definition.
    • execute

      String execute(NaruToolCallContext context)
      Execute the tool and return a string result that will be sent back to the model as a "tool" role message.
      Parameters:
      context - per-run context (project dir, session, etc.)
      Returns:
      result string (text, JSON snippet, error message, …)
    • acceptMode

      default boolean acceptMode(NaruPromptMode mode)