ToolLoopExecutorOptions
Namespace: E2E
public sealed class ToolLoopExecutorOptionsUpstream’s ToolLoopExecutorOptions.
Inheritance: object
Properties
Section titled “Properties”BuildPrompt
Section titled “BuildPrompt”public required Func<StepExecutorContext, Task<string>> BuildPrompt { get; init; }Builds the step’s opening prompt: the first user message.
Value: Func<StepExecutorContext, Task<string>>
public IAgentModel? Model { get; init; }The model the loop calls. Defaults to the one the agents entry configures (Model). A
model brought here is also the agent’s model for assert, waitFor, and extract, unless the entry names a judge.
Value: IAgentModel
public required string Name { get; init; }Value: string
PrepareMessages
Section titled “PrepareMessages”public Func<IReadOnlyList<ModelMessage>, PreparedTurn, PreparedMessages>? PrepareMessages { get; init; }Between-turn history preparation, such as compaction. It runs before the loop’s own notices, and the history it returns carries forward to later turns.
Value: Func<IReadOnlyList<ModelMessage>, PreparedTurn, PreparedMessages>
ProviderOptions
Section titled “ProviderOptions”public IReadOnlyDictionary<string, JsonElement>? ProviderOptions { get; init; }The provider options every model call carries. Defaults to the agents entry’s.
Value: IReadOnlyDictionary<string, JsonElement>
System
Section titled “System”public Func<StepExecutorContext, string>? System { get; init; }Executor-specific guidance for the model: what the tools are and how to address targets. The chassis appends the agent’s project context to it.
Value: Func<StepExecutorContext, string>
public required Func<StepExecutorContext, ToolLoopHelpers, IReadOnlyList<ToolLoopTool>> Tools { get; init; }Builds the step’s tool vocabulary. The chassis adds done.
Value: Func<StepExecutorContext, ToolLoopHelpers, IReadOnlyList<ToolLoopTool>>
Version
Section titled “Version”public string? Version { get; init; }Value: string