Expand description
VectorizerRPC client — length-prefixed MessagePack over raw TCP.
The wire spec at docs/specs/VECTORIZER_RPC.md (in the parent
Vectorizer repo) is the byte-level contract. Framing, multiplexing and
the value model come from thunder-rpc — the same crate the server runs
— so a v1 server and a v1 SDK client cannot drift apart.
§Quick start
use vectorizer_sdk::rpc::{RpcClient, HelloPayload};
let client = RpcClient::connect("127.0.0.1:15503").await?;
client.hello(HelloPayload::new("vectorizer-sdk-rust/3.6.0")).await?;
let pong = client.ping().await?;
assert_eq!(pong, "PONG");§Layout
types—Request,Response,VectorizerValue(Thunder’s).client—RpcClient: connect, hello, call, ping, close, plusprotocol_config(), the client half of the server’s wire config.commands— typed wrappers for the v1 command catalog.pool— minimalRpcPoolfor reusing connections.endpoint—parse_endpoint(url)for the canonicalvectorizer://host[:port]URL scheme.
Re-exports§
pub use client::DEFAULT_RPC_PORT;pub use client::HelloPayload;pub use client::HelloResponse;pub use client::RpcClient;pub use client::RpcClientError;pub use client::protocol_config;pub use commands::AdminStats;pub use commands::AdminStatus;pub use commands::AnswerPlanResult;pub use commands::AnswerPlanSection;pub use commands::ApiKeyCreated;pub use commands::AuthMeResult;pub use commands::BatchDeleteResult;pub use commands::BatchInsertResult;pub use commands::BatchItemResult;pub use commands::BatchSearchResult;pub use commands::BatchUpdateResult;pub use commands::BulkUpdateMetadataRpcResult;pub use commands::CleanupEmptyResult;pub use commands::CollectionInfo;pub use commands::CompressBullet;pub use commands::CopyRpcResult;pub use commands::CreateCollectionResult;pub use commands::DeleteByFilterRpcResult;pub use commands::DiscoverEdgesForNodeResult;pub use commands::DiscoverEdgesResult;pub use commands::DiscoverResult;pub use commands::DiscoveryChunk;pub use commands::EmbedResult;pub use commands::ExpandQueriesResult;pub use commands::GraphDiscoveryStatus;pub use commands::MoveRpcResult;pub use commands::RebalanceStatus;pub use commands::RefreshTokenResult;pub use commands::RenderPromptResult;pub use commands::ReplicationConfigureResult;pub use commands::RotatedApiKey;pub use commands::SearchExplainResult;pub use commands::SearchHit;pub use commands::SearchTrace;pub use commands::SetExpiryResult;pub use commands::SlowQueryConfigResult;pub use commands::ValidatePasswordResult;pub use commands::VectorListResult;pub use commands::VectorWriteResult;pub use endpoint::Endpoint;pub use endpoint::ParseError;pub use endpoint::parse_endpoint;pub use pool::RpcPool;
Modules§
- client
RpcClient: connect, hello, call, ping, close.- commands
- Typed wrappers around the v1 RPC command catalog.
- endpoint
- Canonical URL parser for the SDK’s connection string.
- pool
- Minimal RPC connection pool.
- types
- VectorizerRPC wire types —
Request,Response,VectorizerValue.
Structs§
- Request
- One RPC request (WIRE-001).
idis client-chosen and echoed back; many requests multiplex over one connection. Serialized as an array (WIRE-012); map-shaped requests decode too (WIRE-013). - Response
- One RPC response (WIRE-001).
resultisOk(value)or an error string; v1 carries no structured error object — conventions are prefix-based and profile-driven (WIRE-040).
Enums§
- Vectorizer
Value - The wire value model (WIRE-002) — byte-compatible with the value models the family shipped before Thunder, by construction.