Record Class BootstrapComponents

java.lang.Object
java.lang.Record
com.agentforge4j.bootstrap.BootstrapComponents

public record BootstrapComponents(AgentRepository agentRepository, WorkflowRepository workflowRepository, WorkflowStateRepository workflowStateRepository, WorkflowEventLog workflowEventLog, LlmClientResolver llmClientResolver, ContextRenderer contextRenderer, LlmCommandParser llmCommandParser, EventRecorder eventRecorder, FileSink fileSink, LlmProviderSelectionStrategy llmProviderSelectionStrategy, IntegrationRepository integrationRepository, ToolProviderResolver toolProviderResolver, ToolExecutionService toolExecutionService, com.fasterxml.jackson.databind.ObjectMapper objectMapper, Clock clock, AgentInvoker agentInvoker, LlmCallObserver llmCallObserver, LoadedConfiguration loadedConfiguration) extends Record
Exposes the individual components assembled by AgentForge4jBootstrap.

Internal — for framework integrators only (Spring starter, Quarkus extension, CLI). Not part of the public API. Not advertised in the README.

A framework integrator uses this record to register the individual components without duplicating bootstrap's default-wiring logic.

Tool support is opt-in, so integrationRepository, toolProviderResolver, and toolExecutionService are null unless an integrations source (or explicit resolver / providers) was configured; integrationRepository is non-null only on the integrations path, where it is the repository feeding the resolver. All other components are never null.

  • Constructor Details

    • BootstrapComponents

      public BootstrapComponents(AgentRepository agentRepository, WorkflowRepository workflowRepository, WorkflowStateRepository workflowStateRepository, WorkflowEventLog workflowEventLog, LlmClientResolver llmClientResolver, ContextRenderer contextRenderer, LlmCommandParser llmCommandParser, EventRecorder eventRecorder, FileSink fileSink, LlmProviderSelectionStrategy llmProviderSelectionStrategy, IntegrationRepository integrationRepository, ToolProviderResolver toolProviderResolver, ToolExecutionService toolExecutionService, com.fasterxml.jackson.databind.ObjectMapper objectMapper, Clock clock, AgentInvoker agentInvoker, LlmCallObserver llmCallObserver, LoadedConfiguration loadedConfiguration)
      Creates an instance of a BootstrapComponents record class.
      Parameters:
      agentRepository - the value for the agentRepository record component
      workflowRepository - the value for the workflowRepository record component
      workflowStateRepository - the value for the workflowStateRepository record component
      workflowEventLog - the value for the workflowEventLog record component
      llmClientResolver - the value for the llmClientResolver record component
      contextRenderer - the value for the contextRenderer record component
      llmCommandParser - the value for the llmCommandParser record component
      eventRecorder - the value for the eventRecorder record component
      fileSink - the value for the fileSink record component
      llmProviderSelectionStrategy - the value for the llmProviderSelectionStrategy record component
      integrationRepository - the value for the integrationRepository record component
      toolProviderResolver - the value for the toolProviderResolver record component
      toolExecutionService - the value for the toolExecutionService record component
      objectMapper - the value for the objectMapper record component
      clock - the value for the clock record component
      agentInvoker - the value for the agentInvoker record component
      llmCallObserver - the value for the llmCallObserver record component
      loadedConfiguration - the value for the loadedConfiguration record component
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • agentRepository

      public AgentRepository agentRepository()
      Returns the value of the agentRepository record component.
      Returns:
      the value of the agentRepository record component
    • workflowRepository

      public WorkflowRepository workflowRepository()
      Returns the value of the workflowRepository record component.
      Returns:
      the value of the workflowRepository record component
    • workflowStateRepository

      public WorkflowStateRepository workflowStateRepository()
      Returns the value of the workflowStateRepository record component.
      Returns:
      the value of the workflowStateRepository record component
    • workflowEventLog

      public WorkflowEventLog workflowEventLog()
      Returns the value of the workflowEventLog record component.
      Returns:
      the value of the workflowEventLog record component
    • llmClientResolver

      public LlmClientResolver llmClientResolver()
      Returns the value of the llmClientResolver record component.
      Returns:
      the value of the llmClientResolver record component
    • contextRenderer

      public ContextRenderer contextRenderer()
      Returns the value of the contextRenderer record component.
      Returns:
      the value of the contextRenderer record component
    • llmCommandParser

      public LlmCommandParser llmCommandParser()
      Returns the value of the llmCommandParser record component.
      Returns:
      the value of the llmCommandParser record component
    • eventRecorder

      public EventRecorder eventRecorder()
      Returns the value of the eventRecorder record component.
      Returns:
      the value of the eventRecorder record component
    • fileSink

      public FileSink fileSink()
      Returns the value of the fileSink record component.
      Returns:
      the value of the fileSink record component
    • llmProviderSelectionStrategy

      public LlmProviderSelectionStrategy llmProviderSelectionStrategy()
      Returns the value of the llmProviderSelectionStrategy record component.
      Returns:
      the value of the llmProviderSelectionStrategy record component
    • integrationRepository

      public IntegrationRepository integrationRepository()
      Returns the value of the integrationRepository record component.
      Returns:
      the value of the integrationRepository record component
    • toolProviderResolver

      public ToolProviderResolver toolProviderResolver()
      Returns the value of the toolProviderResolver record component.
      Returns:
      the value of the toolProviderResolver record component
    • toolExecutionService

      public ToolExecutionService toolExecutionService()
      Returns the value of the toolExecutionService record component.
      Returns:
      the value of the toolExecutionService record component
    • objectMapper

      public com.fasterxml.jackson.databind.ObjectMapper objectMapper()
      Returns the value of the objectMapper record component.
      Returns:
      the value of the objectMapper record component
    • clock

      public Clock clock()
      Returns the value of the clock record component.
      Returns:
      the value of the clock record component
    • agentInvoker

      public AgentInvoker agentInvoker()
      Returns the value of the agentInvoker record component.
      Returns:
      the value of the agentInvoker record component
    • llmCallObserver

      public LlmCallObserver llmCallObserver()
      Returns the value of the llmCallObserver record component.
      Returns:
      the value of the llmCallObserver record component
    • loadedConfiguration

      public LoadedConfiguration loadedConfiguration()
      Returns the value of the loadedConfiguration record component.
      Returns:
      the value of the loadedConfiguration record component