LockSchedule

org.llm4s.agent.graph.toolloop.LockSchedule
See theLockSchedule companion object
final case class LockSchedule(locks: Map[String, Vector[String]], waiting: Vector[ToolTask], refused: Set[String])

One batch's lock schedule (AgentToolSpec.withLocks), stored in ToolLoop.queue: the locks each call was scheduled with, by call id and rendered (LockKey.render, which LockKey(_) reads back), and the calls still to run, in call order. The batch keeps the order its schedule gives, whatever the lock functions say by the time a later round, a resume or a recover runs.

Attributes

Companion
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def locksOf(callId: String): Set[LockKey]

The locks call callId was scheduled with; none if it is not in the schedule.

The locks call callId was scheduled with; none if it is not in the schedule.

Attributes

def needsRecording: Boolean

Whether the schedule says anything a run must keep to: a call holds a lock, or was refused.

Whether the schedule says anything a run must keep to: a call holds a lock, or was refused.

Attributes

def withWaiting(w: Vector[ToolTask]): LockSchedule

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product