Record Class PlanningContext

java.lang.Object
java.lang.Record
dev.langchain4j.agentic.planner.PlanningContext

public record PlanningContext(AgenticScope agenticScope, AgentInvocation previousAgentInvocation) extends Record
  • Constructor Details

    • PlanningContext

      public PlanningContext(AgenticScope agenticScope, AgentInvocation previousAgentInvocation)
      Creates an instance of a PlanningContext record class.
      Parameters:
      agenticScope - the value for the agenticScope record component
      previousAgentInvocation - the value for the previousAgentInvocation record component
  • Method Details

    • isActive

      public boolean isActive(AgentInstance agent)
      Tells whether the given subagent would run if it were invoked now, according to its activation condition. A planner never needs this for correctness, because an inactive agent is skipped when invoked anyway, but a planner selecting its candidates from the state of the AgenticScope can use it to avoid selecting inactive agents.

      The condition is evaluated each time this method is called and once more when the agent is invoked, so the agent can still be skipped if the state changed in between: the planner must handle a skipped invocation anyway. A condition throwing an exception is considered to hold here, so that the failure is raised, and handled by the error handler, when the agent is invoked.

      Parameters:
      agent - a subagent of the planner
      Returns:
      true if the agent has no activation condition, was already activated, or its condition holds
    • 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.
    • agenticScope

      public AgenticScope agenticScope()
      Returns the value of the agenticScope record component.
      Returns:
      the value of the agenticScope record component
    • previousAgentInvocation

      public AgentInvocation previousAgentInvocation()
      Returns the value of the previousAgentInvocation record component.
      Returns:
      the value of the previousAgentInvocation record component