Expand description
Context-plumbing traits (§4.6). Defined here so downstream crates can depend only
on oharness-core when threading observability / budget / approval / cancellation.
Structs§
- Approval
Request - Budget
Amount - Budget
Request - A pre-call estimate supplied to
BudgetHandle::check. Fields are all optional — callers populate what they can estimate. - Budget
Snapshot - Null
Approval Channel - A default approval channel that allows everything. Suitable for non-interactive contexts; CLI/UI surfaces provide interactive variants.
- Null
Budget - A no-op budget that always allows. Default in
AgentBuilder. - Null
Sink - A sink that silently discards events. Default for
AgentBuilder— a library call must not write tocwdimplicitly. - Scoped
Emitter - Run-scoped event emitter. Subsystems (tools, memory, middleware) receive one of
these so they don’t need to know about run_id or the monotonic seq counter — they
just call
.emit(span_id, kind).
Enums§
- Approval
Response - Budget
Decision - Namespace
Error - Error returned when event-payload construction rejects an invalid namespace for
user.logevents (§4.7).
Traits§
- Approval
Channel - Approval channel for tool calls needing human/external OK.
- Budget
Handle - Budget state accessible from tools and middleware.
- Event
Sink - Emit events to wherever the harness routes them.
Type Aliases§
- Cancellation
- Stable alias for the cancellation primitive. Lets us swap the underlying type if
tokio-util’s token is ever replaced without churning everyusesite. - Shared
Sink - Convenient alias:
Arc-wrapped sink, the type every subsystem receives.