Interface NaruTool

All Known Implementing Classes:
DelegateModelTool, ListFilesTool, MavenCompileTool, MavenTestTool, ReadFileTool, RunScriptTool, RunShellTool, WriteFileTool, WriteScriptLineTool

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 Summary

    Modifier and Type
    Method
    Description
    execute(Map<String,Object> arguments, AgentContext context)
    Execute the tool and return a string result that will be sent back to the model as a "tool" role message.
    Returns the full OpenAI-compatible JSON tool definition.
    Human-readable description sent to the model.
    Machine-readable name used in the tool schema (no spaces).
  • Method Details

    • getName

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

      String getDescription()
      Human-readable description sent to the model.
    • getDefinition

      ToolDefinition getDefinition()
      Returns the full OpenAI-compatible JSON tool definition.
    • execute

      String execute(Map<String,Object> arguments, AgentContext context)
      Execute the tool and return a string result that will be sent back to the model as a "tool" role message.
      Parameters:
      arguments - parsed arguments from the model's tool_call
      context - per-run context (project dir, session, etc.)
      Returns:
      result string (text, JSON snippet, error message, …)