Skip to main content

Crate oharness_core

Crate oharness_core 

Source
Expand description

Core types, event schema, and context-plumbing traits for open-harness.

Zero-IO foundation. Every other crate in the workspace depends on this one.

Re-exports§

pub use assessment::AssistantTurn;
pub use assessment::Episode;
pub use assessment::EvaluationResult;
pub use assessment::OwnedEpisode;
pub use assessment::Reflection;
pub use assessment::TaskEvaluator;
pub use assessment::ToolCall;
pub use assessment::TrajectoryView;
pub use capabilities::LlmCapabilities;
pub use completion::CacheBreakpoint;
pub use completion::CacheHints;
pub use completion::CacheTtl;
pub use completion::CompletionRequest;
pub use completion::CompletionResponse;
pub use completion::StopReason;
pub use completion::ToolSpec;
pub use completion::Usage;
pub use context::ApprovalChannel;
pub use context::ApprovalRequest;
pub use context::ApprovalResponse;
pub use context::BudgetAmount;
pub use context::BudgetDecision;
pub use context::BudgetHandle;
pub use context::BudgetRequest;
pub use context::BudgetSnapshot;
pub use context::Cancellation;
pub use context::EventSink;
pub use context::NamespaceError;
pub use context::NullApprovalChannel;
pub use context::NullBudget;
pub use context::NullSink;
pub use context::ScopedEmitter;
pub use context::SharedSink;
pub use event::Event;
pub use event::EventConstructionError;
pub use event::EventKind;
pub use event::EventPayload;
pub use event::SchemaVersion;
pub use ids::ModelId;
pub use ids::RunId;
pub use ids::SpanId;
pub use message::AudioRef;
pub use message::CitationRef;
pub use message::Content;
pub use message::DocumentRef;
pub use message::ImageRef;
pub use message::Message;
pub use message::ToolOutput;
pub use outcome::AgentError;
pub use outcome::CompletionReason;
pub use outcome::InterruptionReason;
pub use outcome::ResourceUsage;
pub use outcome::RunError;
pub use outcome::RunErrorCategory;
pub use outcome::RunOutcome;
pub use outcome::Termination;
pub use outcome::TruncationLimit;
pub use task::Attachment;
pub use task::Task;
pub use trajectory::TrajectoryError;
pub use trajectory::TrajectoryHandle;
pub use trajectory::TrajectorySummary;
pub use view::ConversationView;

Modules§

assessment
Shared critic / reflector support types (plan §11.1, §11.4, §13.1).
capabilities
LlmCapabilities (§4.5). Returned by value from Llm::capabilities().
completion
Shared completion types (§4.9).
context
Context-plumbing traits (§4.6). Defined here so downstream crates can depend only on oharness-core when threading observability / budget / approval / cancellation.
event
Event schema (§4.7). The JSONL format is the source of truth for trajectory files.
ids
Identifier newtypes (§4.1).
message
Message & content types (§4.2).
outcome
RunOutcome and related types (§4.4) plus AgentError (§16.2).
task
Task and Attachment types (§4.3).
trajectory
TrajectoryHandle (§9.4) lives here in core so RunOutcome can carry it without every downstream crate depending on oharness-trace. The concrete sources a handle can point at (file, in-memory, stream) are enumerated here; the trace crate supplies the machinery that reads them.
view
ConversationView (§4.8). Read-only view over the conversation post memory-policy mangling — “what the LLM saw.”

Type Aliases§

MetadataMap
Re-export of serde_json::Map<String, serde_json::Value> — the standard “metadata bag” type used on messages, events, tasks, etc.