5faef6c012
Typed write/command wrappers now call ensure_mxaccess_success after ensure_command_success, failing on hresult < 0 (COM-correct, matching CLI-08/Python) or any MxStatusProxy.success == 0, via a new boxed Error::MxAccess variant with credential-safe formatting. The raw invoke escape hatch stays unvalidated. archreview: CLI-03 (P0). Verified: cargo fmt/check/test (28) and clippy --all-targets -D warnings clean.
40 lines
1.3 KiB
Rust
40 lines
1.3 KiB
Rust
//! Rust client for the MXAccess Gateway.
|
|
//!
|
|
//! The crate compiles generated `tonic` bindings from the shared gateway
|
|
//! protobuf contracts and exposes a small handwritten surface — connection
|
|
//! options, an authentication interceptor, gateway and Galaxy Repository
|
|
//! clients, an `MxValue` builder/projection, and protocol-error types — that
|
|
//! application code can use without touching the generated modules directly.
|
|
//!
|
|
//! See the project root `RustClientDesign.md` for the design rationale and
|
|
//! the cross-language client matrix.
|
|
|
|
#![warn(missing_docs)]
|
|
|
|
pub mod auth;
|
|
pub mod client;
|
|
pub mod error;
|
|
pub mod galaxy;
|
|
pub mod generated;
|
|
pub mod options;
|
|
pub mod session;
|
|
pub mod value;
|
|
pub mod version;
|
|
|
|
#[doc(inline)]
|
|
pub use auth::{ApiKey, AuthInterceptor};
|
|
#[doc(inline)]
|
|
pub use client::{AlarmFeedStream, EventStream, GatewayClient};
|
|
#[doc(inline)]
|
|
pub use error::{CommandError, Error, MxAccessError};
|
|
#[doc(inline)]
|
|
pub use galaxy::{DeployEventStream, GalaxyClient};
|
|
#[doc(inline)]
|
|
pub use options::ClientOptions;
|
|
#[doc(inline)]
|
|
pub use session::{next_correlation_id, Session};
|
|
#[doc(inline)]
|
|
pub use value::{MxArrayProjection, MxArrayValue, MxStatus, MxValue, MxValueProjection};
|
|
#[doc(inline)]
|
|
pub use version::{CLIENT_VERSION, GATEWAY_PROTOCOL_VERSION, WORKER_PROTOCOL_VERSION};
|