Class AgentInvoker.Builder

java.lang.Object
com.agentforge4j.runtime.llm.AgentInvoker.Builder
Enclosing class:
AgentInvoker

public static final class AgentInvoker.Builder extends Object
Builder for AgentInvoker.
  • Method Details

    • runExecutionInterceptor

      public AgentInvoker.Builder runExecutionInterceptor(RunExecutionInterceptor runExecutionInterceptor)
      Parameters:
      runExecutionInterceptor - control interceptor fired before each LLM call; defaults to a no-op when not set
      Returns:
      this builder; never null
    • agentRepository

      public AgentInvoker.Builder agentRepository(AgentRepository agentRepository)
      Parameters:
      agentRepository - agent repository dependency
      Returns:
      this builder; never null
    • llmClientResolver

      public AgentInvoker.Builder llmClientResolver(LlmClientResolver llmClientResolver)
      Parameters:
      llmClientResolver - LLM client resolver dependency
      Returns:
      this builder; never null
    • contextRenderer

      public AgentInvoker.Builder contextRenderer(ContextRenderer contextRenderer)
      Parameters:
      contextRenderer - context renderer dependency
      Returns:
      this builder; never null
    • llmCommandParser

      public AgentInvoker.Builder llmCommandParser(LlmCommandParser llmCommandParser)
      Parameters:
      llmCommandParser - LLM command parser dependency
      Returns:
      this builder; never null
    • objectMapper

      public AgentInvoker.Builder objectMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
      Parameters:
      objectMapper - object mapper dependency
      Returns:
      this builder; never null
    • eventRecorder

      public AgentInvoker.Builder eventRecorder(EventRecorder eventRecorder)
      Parameters:
      eventRecorder - event recorder dependency
      Returns:
      this builder; never null
    • llmProviderSelectionStrategy

      public AgentInvoker.Builder llmProviderSelectionStrategy(LlmProviderSelectionStrategy llmProviderSelectionStrategy)
      Parameters:
      llmProviderSelectionStrategy - provider selection strategy dependency
      Returns:
      this builder; never null
    • llmCallObserver

      public AgentInvoker.Builder llmCallObserver(LlmCallObserver llmCallObserver)
      Parameters:
      llmCallObserver - call observer dependency
      Returns:
      this builder; never null
    • modelTierResolver

      public AgentInvoker.Builder modelTierResolver(ModelTierResolver modelTierResolver)
      Parameters:
      modelTierResolver - capability-tier to concrete-model resolver dependency
      Returns:
      this builder; never null
    • llmOutputEventCharCap

      public AgentInvoker.Builder llmOutputEventCharCap(int llmOutputEventCharCap)
      Parameters:
      llmOutputEventCharCap - maximum output event characters (0 disables truncation)
      Returns:
      this builder; never null
    • toolCatalogCharCap

      public AgentInvoker.Builder toolCatalogCharCap(int toolCatalogCharCap)
      Parameters:
      toolCatalogCharCap - maximum characters for the rendered untrusted tool-catalog section (0 disables truncation); see AgentInvoker.DEFAULT_TOOL_CATALOG_CHAR_CAP
      Returns:
      this builder; never null
    • promptCacheEnabled

      public AgentInvoker.Builder promptCacheEnabled(boolean promptCacheEnabled)
      Parameters:
      promptCacheEnabled - whether prompt cache boundaries should be emitted
      Returns:
      this builder; never null
    • toolCatalog

      public AgentInvoker.Builder toolCatalog(ToolCatalog toolCatalog)
      Configures the optional, nullable ToolCatalog used to advertise tool capabilities to the LLM. When null (the default) the prompt is unchanged and behaviour matches prior versions.
      Parameters:
      toolCatalog - tool catalog, or null to advertise no tools
      Returns:
      this builder; never null
    • build

      public AgentInvoker build()
      Builds the AgentInvoker.
      Returns:
      configured invoker; never null
      Throws:
      IllegalArgumentException - if any required field was not set