//! Official Rust client library for the [PlanSolve](https://plansolve.io) optimization API.
//!
//! Solve field service routing, professional services task assignment, and shift
//! scheduling problems with a simple, async API. All optimization types follow the
//! same workflow: construct a request, start the solver, poll for status, get results.
//!
//! ```no_run
//! # async fn run() -> plansolve::Result<()> {
//! use plansolve::Client;
//!
//! let client = Client::from_env()?;
//! let request = serde_json::from_str(&std::fs::read_to_string("request.json").unwrap()).unwrap();
//! let result = client
//! .field_service
//! .start_and_wait_for_completion(&request, 5000, 10)
//! .await?;
//! println!("score: {:?}", result.score);
//! # Ok(())
//! # }
//! ```
pub use ;
pub use ;
pub use Score;
pub use ;