Skip to main content

Crate harness

Crate harness 

Source

Re-exports§

pub use agent_loop::AgentLoopHarness;
pub use agent_loop::CompactionPolicy;
pub use agent_loop::WebSearchMode;
pub use agent_loop::DEFAULT_TURN_END_GRACE;
pub use compaction::estimate_messages_tokens;
pub use compaction::prune_tool_outputs;
pub use compaction::CompactionContext;
pub use compaction::CompactionError;
pub use compaction::CompactionOutcome;
pub use compaction::CompactionStrategy;
pub use compaction::DefaultCompactionStrategy;
pub use compaction::SummarizeCompactionStrategy;
pub use compaction::PRUNED_CONTENT_STUB;
pub use compaction::PRUNE_MINIMUM_TOKENS;
pub use compaction::PRUNE_MIN_CONTENT_TOKENS;
pub use compaction::PRUNE_PROTECT_TURNS;
pub use context::jsonl::append_context;
pub use context::jsonl::load_context;
pub use context::jsonl::rewrite_context;
pub use event::HarnessInternalEvent;
pub use event::HarnessUsage;
pub use event::NativeHarnessError;
pub use event::NativeTurnInput;
pub use history_sanitize::sanitize_history;
pub use history_sanitize::SanitizeDiagnostics;
pub use mcp::CompositeToolRuntime;
pub use mcp::McpClient;
pub use mcp::McpError;
pub use mcp::McpServerConfig;
pub use mcp::McpToolRuntime;
pub use mcp::McpTransport;
pub use mcp::MCP_PROTOCOL_VERSION;
pub use model::collect_model_response;
pub use model::AnthropicConfig;
pub use model::AnthropicModelClient;
pub use model::AssistantThinking;
pub use model::CapabilitySupport;
pub use model::ChatMessage;
pub use model::HostedCapability;
pub use model::HostedTool;
pub use model::ImageData;
pub use model::ImageSource;
pub use model::ModelChunk;
pub use model::ModelClient;
pub use model::ModelClientError;
pub use model::ModelResponse;
pub use model::ModelTurnInput;
pub use model::OpenAiCompatibleConfig;
pub use model::OpenAiCompatibleModelClient;
pub use model::OpenAiResponsesConfig;
pub use model::OpenAiResponsesModelClient;
pub use model::ScriptedModelClient;
pub use model::ToolChoice;
pub use model::UserAttachment;
pub use model_catalog::InterleavedReasoning;
pub use model_catalog::LimitsSource;
pub use model_catalog::ModelCapabilities;
pub use model_catalog::ModelCatalog;
pub use model_catalog::ModelCatalogError;
pub use model_catalog::ModelLimits;
pub use model_catalog::ModelRequestConfig;
pub use model_catalog::ReasoningConfig;
pub use model_catalog::ReasoningMode;
pub use model_catalog::ReasoningOption;
pub use model_catalog::ResolvedModelConfig;
pub use model_catalog::WireProtocol;
pub use model_catalog::DEFAULT_CONTEXT_LIMIT;
pub use model_catalog::DEFAULT_OUTPUT_LIMIT;
pub use runner::FakeNativeHarness;
pub use runner::NativeHarness;
pub use runner::ToolCapableFakeHarness;
pub use shell_risk::classify_shell_command;
pub use shell_risk::classify_shell_command_with_policy;
pub use shell_risk::ShellRiskDecision;
pub use shell_risk::ShellRiskLevel;
pub use shell_risk::ShellRiskPolicy;
pub use shell_risk::SHELL_RISK_POLICY_ENV;
pub use skills::parse_skill_frontmatter;
pub use skills::LocalSkillSource;
pub use skills::SkillError;
pub use skills::SkillLoader;
pub use skills::SkillMetadata;
pub use skills::SkillPromptRenderer;
pub use skills::SkillSource;
pub use skills::SkillsManager;
pub use tools::web_search::web_search_spec;
pub use tools::web_search::BraveSearchConfig;
pub use tools::web_search::BraveSearchProvider;
pub use tools::web_search::ExaSearchConfig;
pub use tools::web_search::ExaSearchProvider;
pub use tools::web_search::WebSearchProvider;
pub use tools::web_search::WebSearchProviderError;
pub use tools::web_search::WebSearchRequest;
pub use tools::web_search::WebSearchResult;
pub use tools::web_search::WebSearchToolRuntime;
pub use tools::builtin_tool_specs;
pub use tools::fs_glob;
pub use tools::fs_glob_bounded;
pub use tools::simple_glob_match;
pub use tools::EditSearchError;
pub use tools::MockToolRuntime;
pub use tools::ResolvedEditSearch;
pub use tools::ToolFailure;
pub use tools::ToolFailureKind;
pub use tools::ToolInvocation;
pub use tools::ToolOutcome;
pub use tools::ToolRuntime;
pub use tools::ToolRuntimeError;
pub use tools::ToolSpec;
pub use tools::FS_GLOB_IGNORED_DIRS;
pub use tools::MAX_FS_GLOB_RESULTS;
pub use tools::approval::ApprovalGate;
pub use tools::approval::PlanApproval;
pub use tools::approval::YoloApproval;
pub use tools::local::EmitFn;
pub use tools::local::LocalToolConfig;
pub use tools::local::LocalToolRuntime;
pub use tools::sandbox::ExecResult;
pub use tools::sandbox::SandboxExecutor;
pub use tools::sandbox::SandboxToolConfig;
pub use tools::sandbox::SandboxToolRuntime;

Modules§

agent_loop
compaction
Context-window-aware compaction.
context
event
history_sanitize
Structural sanitization of a restored message history.
mcp
MCP (Model Context Protocol) client + tool runtime.
model
model_catalog
Model capabilities sourced exclusively from models.dev["opencode"].
runner
shell_risk
Static risk classification for shell commands.
skills
Skill progressive disclosure for the agent loop.
tool_repair
Repair of malformed tool-call arguments from weak models.
tools