#![allow(clippy::doc_markdown)] //! Native EveryCycle client API. //! //! The stable surface every first-party client and every Thread J //! compatibility shim writes against. Pre-v1 every release may //! break; once `API_VERSION` reads `"1"`, semver applies per //! `docs/api-stability.md`. //! //! This crate is types and traits only. The daemon-side server and //! the client transports live in their own crates. The intent is //! that the C ABI module boundary discussed in the roadmap //! ("Implementation languages") falls along this crate's public //! types — so when the second-language client lands, the //! translation is mechanical. //! //! # Design //! //! The component layout and executor model are in `docs/architecture.md`; the //! ecosystem view and the tinygrad pairing live in the maintainer wiki. //! pub mod event; pub mod model; pub mod request; pub mod transport; pub use event::{ErrorKind, ExecutorSummary, FleetSnapshot, LoadedModel, ServerEvent, TokenChunk}; pub use model::{ChatMessage, ChatRole, ModelRef, Priority, PromptSpec, SamplingParams}; pub use request::{ClientRequest, InferenceRequest, RequestId, RequestKind}; pub use transport::{ ClientTransport, EventStream, FRAME_LENGTH_BYTES, MAX_FRAME_BYTES, TransportError, default_socket_path, }; /// Wire-format version. Pre-1.0 every release may break this /// surface; from `"1"` onward the rules in `docs/api-stability.md` /// apply. pub const API_VERSION: &str = "0"; /// True until the v1 freeze gate trips. Clients should refuse to /// connect to a daemon advertising a different stability state /// than they were built against. pub const API_UNSTABLE: bool = true;