Merge commit 'd803bfe2b1fe7f5e219e50ac20d6801a0a58ac75' as 'vendor/ruvector'
This commit is contained in:
77
vendor/ruvector/crates/rvf/rvf-cli/src/main.rs
vendored
Normal file
77
vendor/ruvector/crates/rvf/rvf-cli/src/main.rs
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
use clap::{Parser, Subcommand};
|
||||
use std::process;
|
||||
|
||||
mod cmd;
|
||||
mod output;
|
||||
|
||||
#[derive(Parser)]
|
||||
#[command(name = "rvf", version, about = "RuVector Format CLI")]
|
||||
struct Cli {
|
||||
#[command(subcommand)]
|
||||
command: Commands,
|
||||
}
|
||||
|
||||
#[derive(Subcommand)]
|
||||
enum Commands {
|
||||
/// Create a new empty RVF store
|
||||
Create(cmd::create::CreateArgs),
|
||||
/// Ingest vectors from a JSON file
|
||||
Ingest(cmd::ingest::IngestArgs),
|
||||
/// Query nearest neighbors
|
||||
Query(cmd::query::QueryArgs),
|
||||
/// Delete vectors by ID or filter
|
||||
Delete(cmd::delete::DeleteArgs),
|
||||
/// Show store status
|
||||
Status(cmd::status::StatusArgs),
|
||||
/// Inspect segments and lineage
|
||||
Inspect(cmd::inspect::InspectArgs),
|
||||
/// Compact to reclaim dead space
|
||||
Compact(cmd::compact::CompactArgs),
|
||||
/// Derive a child store from a parent
|
||||
Derive(cmd::derive::DeriveArgs),
|
||||
/// Start HTTP server (requires 'serve' feature)
|
||||
Serve(cmd::serve::ServeArgs),
|
||||
/// Boot RVF in QEMU microVM
|
||||
Launch(cmd::launch::LaunchArgs),
|
||||
/// Embed a kernel image into an RVF file
|
||||
EmbedKernel(cmd::embed_kernel::EmbedKernelArgs),
|
||||
/// Embed an eBPF program into an RVF file
|
||||
EmbedEbpf(cmd::embed_ebpf::EmbedEbpfArgs),
|
||||
/// Create a membership filter for shared HNSW
|
||||
Filter(cmd::filter::FilterArgs),
|
||||
/// Snapshot-freeze the current state
|
||||
Freeze(cmd::freeze::FreezeArgs),
|
||||
/// Verify all witness events in chain
|
||||
VerifyWitness(cmd::verify_witness::VerifyWitnessArgs),
|
||||
/// Verify KernelBinding and attestation
|
||||
VerifyAttestation(cmd::verify_attestation::VerifyAttestationArgs),
|
||||
/// Rebuild REFCOUNT_SEG from COW map chain
|
||||
RebuildRefcounts(cmd::rebuild_refcounts::RebuildRefcountsArgs),
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let cli = Cli::parse();
|
||||
let result = match cli.command {
|
||||
Commands::Create(args) => cmd::create::run(args),
|
||||
Commands::Ingest(args) => cmd::ingest::run(args),
|
||||
Commands::Query(args) => cmd::query::run(args),
|
||||
Commands::Delete(args) => cmd::delete::run(args),
|
||||
Commands::Status(args) => cmd::status::run(args),
|
||||
Commands::Inspect(args) => cmd::inspect::run(args),
|
||||
Commands::Compact(args) => cmd::compact::run(args),
|
||||
Commands::Derive(args) => cmd::derive::run(args),
|
||||
Commands::Serve(args) => cmd::serve::run(args),
|
||||
Commands::Launch(args) => cmd::launch::run(args),
|
||||
Commands::EmbedKernel(args) => cmd::embed_kernel::run(args),
|
||||
Commands::EmbedEbpf(args) => cmd::embed_ebpf::run(args),
|
||||
Commands::Filter(args) => cmd::filter::run(args),
|
||||
Commands::Freeze(args) => cmd::freeze::run(args),
|
||||
Commands::VerifyWitness(args) => cmd::verify_witness::run(args),
|
||||
Commands::VerifyAttestation(args) => cmd::verify_attestation::run(args),
|
||||
Commands::RebuildRefcounts(args) => cmd::rebuild_refcounts::run(args),
|
||||
};
|
||||
if let Err(e) = result {
|
||||
eprintln!("error: {e}");
|
||||
process::exit(1);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user