1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
[]
= "vectorizer-sdk"
= "3.2.0"
= "2024"
= ["HiveLLM Contributors"]
= "Rust SDK for Vectorizer — RPC-first (vectorizer://) with HTTP fallback"
= "Apache-2.0"
= "https://github.com/hivellm/vectorizer.git"
= ["vector-database", "semantic-search", "embeddings", "rust"]
= ["database", "science"]
# Disable Cargo's example auto-discovery so the workspace clippy gate
# only runs the two examples that actually compile against the
# current SDK API. The remaining demos (basic_example,
# comprehensive_test, encryption_example, test_working, umicp_usage)
# carry pre-existing rot — wrong crate name (vectorizer_rust_sdk),
# missing deps (p256, rand_core), removed fields (BatchResponse.inserted)
# — that's out of scope for the workspace-membership move under
# phase4_split-vectorizer-workspace sub-phase 6 and tracked separately.
= false
[[]]
= "rpc_quickstart"
= "examples/rpc_quickstart.rs"
[[]]
= "test_master_replica"
= "examples/test_master_replica.rs"
[[]]
= "drift_smoke"
= "examples/drift_smoke.rs"
[[]]
= "apikey_smoke"
= "examples/apikey_smoke.rs"
[]
# Dependencies matching vectorizer versions
= { = "1.0", = ["derive"] }
= "1.0"
= { = "1.35", = ["full"] }
= { = "1.6", = ["v4", "serde"] }
= { = "0.4", = ["serde"] }
= { = "1.0", = ["backtrace"] }
= "0.1"
# RPC transport: length-prefixed MessagePack over raw TCP. The wire
# spec is `docs/specs/VECTORIZER_RPC.md` in the parent crate; the
# codec is byte-for-byte the same as `vectorizer::protocol::rpc::codec`.
= "1"
= "0.12"
= "2"
# HTTP client (legacy fallback transport — bundled because the SDK's
# error type carries a `reqwest::Error` variant; gating it off would
# break every downstream consumer that matches on `VectorizerError`).
# Use the `http` feature flag (on by default) to control whether the
# `HttpTransport` and `VectorizerClient` types are exposed.
= { = "0.13", = false, = ["rustls", "json", "multipart"] }
# Async trait for transport abstraction
= "0.1"
# UMICP protocol support
= { = "0.2", = true }
# Wire-protocol seam (phase4_split-vectorizer-workspace, sub-phase 6).
# The SDK's RPC `Request` / `Response` / `VectorizerValue` and the
# length-prefixed MessagePack codec used to be hand-ported byte-for-
# byte from the server. Now they re-export from the standalone
# vectorizer-protocol crate so the wire format cannot drift between
# server and client — they're literally the same types.
= { = "../../crates/vectorizer-protocol", = "3.2.0" }
[]
= "0.4"
[]
# RPC is the recommended primary transport per
# phase6_make-rpc-default-transport. HTTP stays in the default feature
# set so existing downstream consumers keep building unchanged; opt
# out via `default-features = false, features = ["rpc"]` to ship a
# slim build with the RPC client only.
= ["rpc", "http"]
= []
= []
= ["umicp-core"]
[]
= true