pub struct AgentHarnessOptions {Show 26 fields
pub system_prompt: String,
pub model: Option<Model>,
pub thinking_level: ThinkingLevel,
pub skills: Vec<Skill>,
pub prompt_templates: Vec<PromptTemplate>,
pub tools: Vec<Arc<dyn AgentTool>>,
pub session: Session,
pub observer: Arc<dyn RuntimeObserver>,
pub observation_context: ObservationContext,
pub observation_parent: Option<OperationId>,
pub stream_fn: Option<StreamFn>,
pub get_api_key: Option<GetApiKey>,
pub compaction: CompactionSettings,
pub compact_algorithms: Arc<CompactAlgorithmRegistry>,
pub before_tool_call: Option<BeforeToolCallHook>,
pub after_tool_call: Option<AfterToolCallHook>,
pub on_control_plane_prompt: Option<OnControlPlanePromptHook>,
pub budget_cap_usd: Option<f64>,
pub reload_skills_fn: Option<ReloadSkillsFn>,
pub on_turn_end: Option<OnTurnEndHook>,
pub turn_continuation_cap: Option<u32>,
pub max_iterations: Option<u32>,
pub runtime_extensions: Arc<dyn RuntimeExtensionPort>,
pub runtime_extension_model_context: ExtensionModelContextProjection,
pub runtime_extension_cwd: String,
pub runtime_extension_has_interactive_client: bool,
}Fields§
§system_prompt: StringBase system prompt prepended to the rendered skill catalog.
model: Option<Model>Active model. None when no model is configured yet (daemon launches
model-less and the client injects one per-session via set_model); the
turn loop errors with “Agent has no model set” until one is assigned.
thinking_level: ThinkingLevel§skills: Vec<Skill>§prompt_templates: Vec<PromptTemplate>§tools: Vec<Arc<dyn AgentTool>>§session: Session§observer: Arc<dyn RuntimeObserver>Embedder-owned runtime observer shared with the inner bare Agent.
observation_context: ObservationContextSession/run/job/node correlation inherited by inner operations.
observation_parent: Option<OperationId>Optional parent operation for the inner agent run.
stream_fn: Option<StreamFn>§get_api_key: Option<GetApiKey>Optional per-provider credential resolver applied to every model call.
compaction: CompactionSettingsAuto-compaction thresholds. Defaults to DEFAULT_COMPACTION_SETTINGS.
compact_algorithms: Arc<CompactAlgorithmRegistry>Custom compaction algorithm registry. The builtin algorithm is always available.
before_tool_call: Option<BeforeToolCallHook>Optional tool hooks supplied by the embedding runtime.
after_tool_call: Option<AfterToolCallHook>§on_control_plane_prompt: Option<OnControlPlanePromptHook>Control-plane prompt resolver. None keeps prompt-classified tool calls fail-closed.
budget_cap_usd: Option<f64>Per-session USD cap. None disables the check.
reload_skills_fn: Option<ReloadSkillsFn>Embedder-owned loader used by AgentHarness::reload_skills_from_disk.
on_turn_end: Option<OnTurnEndHook>Optional cross-prompt turn completion hook.
turn_continuation_cap: Option<u32>Maximum hook-driven continuations for one prompt cycle.
max_iterations: Option<u32>Hard cap on inner agent loop iterations. None is unbounded.
runtime_extensions: Arc<dyn RuntimeExtensionPort>Engine-independent lifecycle port supplied by the embedding runtime.
runtime_extension_model_context: ExtensionModelContextProjectionReconstructed, de-duplicated persistent model context for this branch.
runtime_extension_cwd: StringWorking directory included in runtime-extension lifecycle context.
runtime_extension_has_interactive_client: boolWhether this harness is currently attached to an interactive client.