HiveHub.Cloud Internal SDK
Internal Rust SDK for Hive services (Vectorizer, Nexus, Synap, LessTokens) to communicate with the HiveHub.Cloud API.
Features
- Service Modules: Full support for Vectorizer, Nexus, Synap, and LessTokens services
- Access Key Management: Generate, list, get, and revoke service-specific access keys
- Quota Management: Check and update service quotas
- Usage Tracking: Track resource usage across all services
- Type-Safe: Fully typed request/response models with Serialize + Deserialize
- Async/Await: Built on Tokio for async operations
- Error Handling: Comprehensive error types with HTTP status code mapping
- 70+ Tests: Unit tests, integration tests with mock server, error handling tests
Installation
Add to your Cargo.toml:
[]
= "1.0"
= { = "1.42", = ["full"] }
Quick Start
use ;
use Uuid;
async
Configuration
From Environment Variables
let client = from_env?;
Services
Vectorizer
// Get user collections
let collections = client.vectorizer.get_user_collections.await?;
// Validate collection ownership
let validation = client.vectorizer.validate_collection.await?;
// Create collection
let result = client.vectorizer.create_collection.await?;
// Update usage
client.vectorizer.update_usage.await?;
Nexus
// Get user database info
let db_info = client.nexus.get_user_database.await?;
// Check quota
let quota = client.nexus.check_quota.await?;
// Consume credits
let result = client.nexus.consume_credits.await?;
Synap
// Get user resources
let resources = client.synap.get_user_resources.await?;
// Create resource
let result = client.synap.create_resource.await?;
// Validate resource
let validation = client.synap.validate_resource.await?;
LessTokens
// Get user tokens
let tokens = client.lesstokens.get_user_tokens.await?;
// Validate tokens
let validation = client.lesstokens.validate_tokens.await?;
// Consume tokens
let result = client.lesstokens.consume_tokens.await?;
// Check limit
let limit = client.lesstokens.check_limit.await?;
Access Keys
use ;
// Generate key
let key = client.access_keys
.generate_vectorizer_key
.await?;
// List keys
let keys = client.access_keys.list.await?;
// Revoke key
client.access_keys.revoke.await?;
Error Handling
use HiveHubCloudError;
match client.vectorizer.get_user_collections.await
Testing
# Run all tests
# Run with verbose output
Documentation
- Full API documentation:
/docs/specs/INTERNAL_SDK.md - Generated docs:
cargo doc --open
License
MIT