soma_client/lib.rs
1// Render per-item feature-requirement badges when rustdoc runs on nightly with
2// `--cfg docsrs` (docs.rs posture; locally via `cargo xtask doc --docsrs-cfg`).
3// Inert under the stable CI doc gate: stable rustdoc never sets `docsrs`.
4#![cfg_attr(docsrs, feature(doc_auto_cfg))]
5//! Concrete outbound transport for a remote Soma HTTP server.
6//!
7//! `soma-client` owns HTTP request construction, remote response decoding, and
8//! transport-level retries/timeouts for talking to a deployed `soma serve`
9//! REST API. It does not decide *when* a request should go upstream (that is
10//! application policy), and it has no CLI or provider-registry logic of its
11//! own — see plan section 3.19. It does resolve REST method/path per action
12//! from the provider catalog (`resolve_remote_rest_call`) and validates the
13//! action path segment before building a request; that routing/validation is
14//! a transport-shape concern, not business logic, and stays here rather than
15//! in `soma-service`.
16
17mod client;
18
19pub use client::SomaClient;