Expand description
REST VectorizerClient — split per API surface (phase4).
Public-API entry point for the legacy HTTP transport. Phase4
split the original 1,989-line client.rs into one struct + 8
per-surface impl files; every method is reachable through the
same VectorizerClient facade for backward compat.
- Struct, config, ctors,
with_master,make_request, read/write transport selection — this file. - One
impl VectorizerClientblock per surface in the matching submodule (Rust permits as many impl blocks as you like for the same struct, across files of the same module).
§Per-surface modules
| Surface | Methods |
|---|---|
core | health_check |
collections | list_collections, create_collection, delete_collection, get_collection_info |
vectors | get_vector, insert_texts, embed_text |
search | search_vectors, intelligent_search, semantic_search, contextual_search, multi_collection_search, hybrid_search |
discovery | discover, filter_collections, score_collections, expand_queries |
files | get_file_content, list_files_in_collection, get_file_summary, get_file_chunks_ordered, get_project_outline, get_related_files, search_by_file_type, upload_file, upload_file_content, get_upload_config |
graph | list_graph_nodes, get_graph_neighbors, find_related_nodes, find_graph_path, create_graph_edge, delete_graph_edge, list_graph_edges, discover_graph_edges, discover_graph_edges_for_node, get_graph_discovery_status |
qdrant | 25 qdrant_* methods (Qdrant-compatible REST surface) |
§RPC readiness
Every per-surface impl calls through self.make_request →
self.transport: Arc<dyn Transport>. The Transport trait
(declared in crate::transport) is implemented by
crate::http_transport::HttpTransport today; the RPC backend
from phase6_sdk-rust-rpc plugs into the same interface so the
per-surface modules don’t need any changes when the canonical
vectorizer://host:15503 transport lands as the default. See
crate::rpc for the RPC client built directly on tokio::net
— it lives alongside this REST facade rather than under it.
Modules§
- collections
- Collection-management surface: list, create, get info, delete.
- core
- Server-status surface:
health_check. - discovery
- Discovery surface: orchestrated multi-stage retrieval.
- files
- File-operations surface: content/listing/summary/chunks/outline, related-file discovery, type-filtered search, file upload.
- graph
- Graph surface: nodes, edges, neighbours, paths, discovery.
- qdrant
- Qdrant-compatible REST surface (
/qdrant/*endpoints). - search
- Search surface: text/vector search, intelligent search, semantic search, contextual search, multi-collection search, hybrid (dense + sparse) search.
- vectors
- Vector-level surface: get, batch-insert texts, embed.
Structs§
- Client
Config - Configuration for
VectorizerClient. - Vectorizer
Client - Vectorizer REST client with optional master/replica topology
support. Public surface is identical to the pre-phase4
monolithic
VectorizerClient; the methods are now organised across per-surface impl blocks (see module docs).