Handles a single user turn. Accepts either a CodeagentClient (new style)
or the legacy (chat, settings) pair.
Usage
agent_loop(
user_input,
client,
settings = NULL,
compaction_ctrl = CompactionController$new(),
budget_tracker = BudgetTracker$new(),
resource_state = ContentReplacementState$new(),
hooks = NULL,
cwd = NULL,
session_id = NULL,
iteration = 1L
)Arguments
- user_input
Character. User message.
- client
A
CodeagentClient(fromcodeagent_client()), or anellmer::Chatfor legacy use.- settings
Named list. Only needed in legacy mode (ignored when
clientis aCodeagentClient).- compaction_ctrl
A CompactionController R6 object.
- budget_tracker
A BudgetTracker R6 object.
- resource_state
A ContentReplacementState R6 object.
- hooks
A HookRegistry R6 object or NULL.
- cwd
Character. Working directory (for session save). Overrides
client$settings$cwdwhen provided explicitly.- session_id
Character or NULL.
- iteration
Integer. Current loop iteration.