runAgentLoopContinue function
Future<List<Message> >
runAgentLoopContinue({
- required Context context,
- required AgentLoopConfig config,
- required StreamFunction streamFunction,
- required ToolExecutor toolExecutor,
- required AgentEventSink emit,
- CancelToken? cancelToken,
Continues an agent loop from context, delivering events to emit.
Emit-based core beneath agentLoopContinue (pi's runAgentLoopContinue).
Throws ConfigException synchronously if context has no messages or
ends with an assistant message (pi validation).
Implementation
Future<List<Message>> runAgentLoopContinue({
required Context context,
required AgentLoopConfig config,
required StreamFunction streamFunction,
required ToolExecutor toolExecutor,
required AgentEventSink emit,
CancelToken? cancelToken,
}) {
if (context.messages.isEmpty) {
throw const ConfigException('Cannot continue: no messages in context');
}
if (context.messages.last.role == 'assistant') {
throw const ConfigException('Cannot continue from message role: assistant');
}
return _runAgentLoop(
prompts: const [],
context: context,
config: config,
emit: emit,
streamFunction: streamFunction,
toolExecutor: toolExecutor,
cancelToken: cancelToken,
);
}