Expand description
The onepipeline-ui read API: an axum server wrapping the onepipeline SDK.
docs/contract.md
is the source of truth for the HTTP surface; everything here is its Rust
rendering. contract is the wire vocabulary — routes, envelope,
identifiers, queries — api::ReadApi is the trait one method per route,
store::RunStore implements it over a runs root through the SDK’s
views, and server is the axum router that serves
it. liveness is the one reading in here that restates one of the SDK’s,
because the bounded document a listing reads carries that reading’s inputs
and the SDK publishes no entry point that takes them; its own header names
the check that fails when the two drift apart. tests/contract.rs holds the types to the contract text and
tests/e2e/ drives the compiled binary over real HTTP.
Payloads are carried as serde_json::Value on purpose. Anything the API
computes that is presentation-worthy lands in the onepipeline SDK/CLI first,
so the typed records arrive from there rather than being invented here; what
this crate owns, and what the fixtures pin, is the envelope. payload is
the projection from the SDK’s records onto the wire, and AGENTS.md lists
every derivation in it that is proposed for the SDK. telemetry is the
seam onto the SDK’s own telemetry document, which it aggregates and this
crate reads rather than folding a run’s clock a second time.
Re-exports§
pub use error::ApiError;
Modules§
- api
- The trait the server is built over: one method per route in
contract::routes. - cli
- The command-line surface, and the server configuration it produces.
- contract
- The wire contract: route table, response envelope, identifiers, and queries.
- error
- The error contract every route shares.
- filter
- The read-time event filter: the stack’s shared grammar, and the named profiles a reader selects it by.
- liveness
- How a run is being driven, answered from its summary rather than from a fold of its journal.
- payload
- Projecting the onepipeline SDK’s run records onto the wire shapes.
- server
- The axum server:
docs/contract.md’s seven routes, and nothing else. - store
- The SDK-backed read store:
ReadApiover one runs root. - telemetry
- The seam onto
onepipeline’s own telemetry document.