ToolLoop

org.llm4s.agent.graph.toolloop.ToolLoop
See theToolLoop companion class
object ToolLoop

Attributes

Companion
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
ToolLoop.type

Members list

Value members

Concrete methods

def build(id: String, version: String, root: AgentId, agents: Vector[LoopAgent]): Result[ToolLoop]

The loop for a family of agents, a new thread starting with root. Refuses an empty family, a root outside it, a duplicate id, and any agent whose tools - its own and its middleware's - do not form a valid set or declare a key the loop owns.

The loop for a family of agents, a new thread starting with root. Refuses an empty family, a root outside it, a duplicate id, and any agent whose tools - its own and its middleware's - do not form a valid set or declare a key the loop owns.

Attributes

def callToolNode(agent: AgentId): NodeId

Agent agent's tool-call node: a task per tool call, so a breakpoint holds each call on its own.

Agent agent's tool-call node: a task per tool call, so a breakpoint holds each call on its own.

Attributes

def finishNode(agent: AgentId): NodeId

Agent agent's finish node: the turn's final answer, before its afterAgent hooks run.

Agent agent's finish node: the turn's final answer, before its afterAgent hooks run.

Attributes

def middlewareQuestion[Q : ReadWriter](request: MiddlewareQuestionRequest): Result[Q]

A pending middleware question, decoded as the asking middleware's question type Q.

A pending middleware question, decoded as the asking middleware's question type Q.

Attributes

def modelNode(agent: AgentId): NodeId

Agent agent's model node: a task per model call.

Agent agent's model node: a task per model call.

Attributes

def question[Q : ReadWriter](request: ToolQuestionRequest): Result[Q]

A pending question, decoded as the asking tool's question type Q.

A pending question, decoded as the asking tool's question type Q.

Attributes

Concrete fields

val EditTakesLocks: String

The error result of an approval whose edited arguments take a lock the proposed arguments' locks do not cover (AgentToolSpec.withLocks): the call was scheduled with those locks, so it does not run.

The error result of an approval whose edited arguments take a lock the proposed arguments' locks do not cover (AgentToolSpec.withLocks): the call was scheduled with those locks, so it does not run.

Attributes

val LocksChanged: String

The error result of a call whose locks now are not covered by those its batch was scheduled with (a lock, validation or resource function that answers differently than when the batch was scheduled): it does not run.

The error result of a call whose locks now are not covered by those its batch was scheduled with (a lock, validation or resource function that answers differently than when the batch was scheduled): it does not run.

Attributes

val RefusedWhenScheduled: String

The error result of a call of a locking tool whose arguments are admitted now but were refused when its batch was scheduled, so it was scheduled without locks: it does not run.

The error result of a call of a locking tool whose arguments are admitted now but were refused when its batch was scheduled, so it was scheduled without locks: it does not run.

Attributes

val UnknownTool: String

The tool a durable ToolExecuted names for a call to a tool the agent does not have.

The tool a durable ToolExecuted names for a call to a tool the agent does not have.

Attributes

The current batch's lock schedule (AgentToolSpec.withLocks): the locks each call was scheduled with, and the calls still to run. Removed when the batch is collected; each update replaces it. Registered only for an agent with a tool that declares locks.

The current batch's lock schedule (AgentToolSpec.withLocks): the locks each call was scheduled with, and the calls still to run. Removed when the batch is collected; each update replaces it. Registered only for an agent with a tool that declares locks.

Attributes

The results recorded for the current batch, at most one per call; removed when the batch is collected.

The results recorded for the current batch, at most one per call; removed when the batch is collected.

Version 2 (#1913): a result carries parts; version 1's content string migrates to one text part.

Attributes