Squashed 'vendor/ruvector/' content from commit b64c2172

git-subtree-dir: vendor/ruvector
git-subtree-split: b64c21726f2bb37286d9ee36a7869fef60cc6900
This commit is contained in:
ruv
2026-02-28 14:39:40 -05:00
commit d803bfe2b1
7854 changed files with 3522914 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
# @ruvector/core-darwin-arm64
Native macOS ARM64 bindings for @ruvector/core.
This package contains the native Node.js addon for macOS (Apple Silicon) systems.
## Installation
This package is automatically installed as an optional dependency of `@ruvector/core` when running on macOS ARM64 systems.
```bash
npm install @ruvector/core
```
## Direct Installation
You can also install this package directly:
```bash
npm install @ruvector/core-darwin-arm64
```
## Usage
```javascript
const { VectorDb } = require('@ruvector/core-darwin-arm64');
const db = new VectorDb({
dimensions: 128,
storagePath: './vectors.db'
});
// Insert vectors
await db.insert({
id: 'vec1',
vector: new Float32Array([...])
});
// Search
const results = await db.search({
vector: new Float32Array([...]),
k: 10
});
```
## Requirements
- Node.js >= 18
- macOS (Apple Silicon - M1, M2, M3, etc.)
## License
MIT

View File

@@ -0,0 +1,14 @@
const { join } = require('path');
let nativeBinding;
try {
nativeBinding = require('./ruvector.node');
} catch (error) {
throw new Error(
'Failed to load native binding for darwin-arm64. ' +
'This package may have been installed incorrectly. ' +
'Error: ' + error.message
);
}
module.exports = nativeBinding;

View File

@@ -0,0 +1,60 @@
{
"name": "ruvector-core-darwin-arm64",
"version": "0.1.25",
"description": "macOS ARM64 (Apple Silicon M1/M2/M3) native binding for ruvector-core - High-performance vector database with HNSW indexing built in Rust",
"main": "index.js",
"type": "commonjs",
"os": [
"darwin"
],
"cpu": [
"arm64"
],
"author": "ruv.io Team <info@ruv.io> (https://ruv.io)",
"homepage": "https://ruv.io",
"engines": {
"node": ">= 18"
},
"files": [
"index.js",
"ruvector.node",
"*.node",
"README.md"
],
"keywords": [
"ruvector",
"vector-database",
"vector-search",
"similarity-search",
"semantic-search",
"hnsw",
"native",
"napi",
"rust",
"macos",
"darwin",
"arm64",
"apple-silicon",
"m1",
"m2",
"m3",
"ai",
"machine-learning",
"embedding-database",
"simd",
"performance",
"ruv"
],
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/ruvnet/ruvector.git",
"directory": "npm/core/platforms/darwin-arm64"
},
"bugs": {
"url": "https://github.com/ruvnet/ruvector/issues"
},
"publishConfig": {
"access": "public"
}
}

Binary file not shown.

View File

@@ -0,0 +1,53 @@
# @ruvector/core-darwin-x64
Native macOS x64 bindings for @ruvector/core.
This package contains the native Node.js addon for macOS (Intel) systems.
## Installation
This package is automatically installed as an optional dependency of `@ruvector/core` when running on macOS x64 systems.
```bash
npm install @ruvector/core
```
## Direct Installation
You can also install this package directly:
```bash
npm install @ruvector/core-darwin-x64
```
## Usage
```javascript
const { VectorDb } = require('@ruvector/core-darwin-x64');
const db = new VectorDb({
dimensions: 128,
storagePath: './vectors.db'
});
// Insert vectors
await db.insert({
id: 'vec1',
vector: new Float32Array([...])
});
// Search
const results = await db.search({
vector: new Float32Array([...]),
k: 10
});
```
## Requirements
- Node.js >= 18
- macOS (Intel processors)
## License
MIT

View File

@@ -0,0 +1,14 @@
const { join } = require('path');
let nativeBinding;
try {
nativeBinding = require('./ruvector.node');
} catch (error) {
throw new Error(
'Failed to load native binding for darwin-x64. ' +
'This package may have been installed incorrectly. ' +
'Error: ' + error.message
);
}
module.exports = nativeBinding;

View File

@@ -0,0 +1,53 @@
{
"name": "ruvector-core-darwin-x64",
"version": "0.1.25",
"description": "macOS x64 (Intel) native binding for ruvector-core - High-performance vector database with HNSW indexing built in Rust",
"main": "index.js",
"type": "commonjs",
"os": ["darwin"],
"cpu": ["x64"],
"author": "ruv.io Team <info@ruv.io> (https://ruv.io)",
"homepage": "https://ruv.io",
"engines": {
"node": ">= 18"
},
"files": [
"index.js",
"ruvector.node",
"*.node",
"README.md"
],
"keywords": [
"ruvector",
"vector-database",
"vector-search",
"similarity-search",
"semantic-search",
"hnsw",
"native",
"napi",
"rust",
"macos",
"darwin",
"x64",
"intel",
"ai",
"machine-learning",
"embedding-database",
"simd",
"performance",
"ruv"
],
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/ruvnet/ruvector.git",
"directory": "npm/core/platforms/darwin-x64"
},
"bugs": {
"url": "https://github.com/ruvnet/ruvector/issues"
},
"publishConfig": {
"access": "public"
}
}

Binary file not shown.

View File

@@ -0,0 +1,135 @@
# ruvector-core-linux-arm64-gnu
[![npm version](https://badge.fury.io/js/ruvector-core-linux-arm64-gnu.svg)](https://www.npmjs.com/package/ruvector-core-linux-arm64-gnu)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
**Linux ARM64 GNU native binding for ruvector-core**
This package contains the native Node.js binding (`.node` file) for Linux ARM64 systems with GNU libc. It is automatically installed as an optional dependency when you install `ruvector-core` on a compatible system.
🌐 **[Visit ruv.io](https://ruv.io)** for more AI infrastructure tools
## Installation
**You should not install this package directly.** Instead, install the main package:
```bash
npm install ruvector-core
```
The correct platform-specific package will be automatically installed based on your system.
## System Requirements
- **Operating System**: Linux (GNU libc)
- **Architecture**: ARM64 / AArch64
- **Node.js**: 18.0.0 or higher
- **libc**: GNU C Library (glibc)
## Compatibility
This package is compatible with:
- Ubuntu 18.04+ (ARM64)
- Debian 10+ Buster (ARM64)
- CentOS 7+ / RHEL 7+ (ARM64)
- Amazon Linux 2+ (Graviton processors)
- Raspberry Pi OS 64-bit
- Most ARM64 Linux distributions using glibc
## What's Inside
This package contains:
- **ruvector.node** - Native binary module compiled from Rust for ARM64
- **index.js** - Module loader with error handling
- Full HNSW indexing implementation
- SIMD-optimized vector operations for ARM NEON
- Multi-threaded async operations via Tokio
## Performance
When running on Linux ARM64 systems (like AWS Graviton), you can expect:
- **50,000+ vector inserts per second**
- **10,000+ searches per second** (k=10)
- **~50 bytes memory per 128-dim vector**
- **Sub-millisecond latency** for most operations
- Optimized for ARM NEON SIMD instructions
## Popular ARM64 Platforms
- **AWS Graviton** (EC2 instances)
- **Raspberry Pi 4/5** (64-bit OS)
- **NVIDIA Jetson** (edge AI devices)
- **Apple Silicon** (via Docker/Linux)
- **Oracle Cloud** (Ampere processors)
## Building from Source
If you need to rebuild the native module:
```bash
# Clone the repository
git clone https://github.com/ruvnet/ruvector.git
cd ruvector
# Install Rust toolchain with ARM64 target
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup target add aarch64-unknown-linux-gnu
# Build for Linux ARM64
cd npm/packages/core
npm run build:napi -- --target aarch64-unknown-linux-gnu
```
## Troubleshooting
### Module Not Found Error
If you see "Cannot find module 'ruvector-core-linux-arm64-gnu'":
1. Verify you're on a Linux ARM64 system: `uname -m` should output `aarch64`
2. Reinstall with optional dependencies: `npm install --include=optional ruvector-core`
3. Check Node.js version: `node --version` should be 18.0.0 or higher
### Binary Compatibility Issues
If the module fails to load:
1. Ensure you have glibc installed: `ldd --version`
2. The binary requires glibc 2.17+ (CentOS 7+) or 2.27+ (Ubuntu 18.04+)
3. For Alpine Linux or musl-based systems, this package will not work (use a glibc-based distro)
### Cross-Compilation
When building on x64 for ARM64:
```bash
# Install cross-compilation tools
sudo apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
# Set environment variable
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc
# Build
npm run build:napi -- --target aarch64-unknown-linux-gnu
```
## Related Packages
- **[ruvector-core](https://www.npmjs.com/package/ruvector-core)** - Main package (install this)
- **[ruvector-core-linux-x64-gnu](https://www.npmjs.com/package/ruvector-core-linux-x64-gnu)** - Linux x64
- **[ruvector-core-darwin-x64](https://www.npmjs.com/package/ruvector-core-darwin-x64)** - macOS Intel
- **[ruvector-core-darwin-arm64](https://www.npmjs.com/package/ruvector-core-darwin-arm64)** - macOS Apple Silicon
- **[ruvector-core-win32-x64-msvc](https://www.npmjs.com/package/ruvector-core-win32-x64-msvc)** - Windows x64
## Resources
- 🏠 [Homepage](https://ruv.io)
- 📦 [GitHub Repository](https://github.com/ruvnet/ruvector)
- 📚 [Documentation](https://github.com/ruvnet/ruvector/tree/main/docs)
- 🐛 [Issue Tracker](https://github.com/ruvnet/ruvector/issues)
## License
MIT License - see [LICENSE](https://github.com/ruvnet/ruvector/blob/main/LICENSE) for details.
---
Built with ❤️ by the [ruv.io](https://ruv.io) team

View File

@@ -0,0 +1,14 @@
const { join } = require('path');
let nativeBinding;
try {
nativeBinding = require('./ruvector.node');
} catch (error) {
throw new Error(
'Failed to load native binding for linux-arm64-gnu. ' +
'This package may have been installed incorrectly. ' +
'Error: ' + error.message
);
}
module.exports = nativeBinding;

View File

@@ -0,0 +1,58 @@
{
"name": "ruvector-core-linux-arm64-gnu",
"version": "0.1.25",
"description": "Linux ARM64 GNU native binding for ruvector-core - High-performance vector database with HNSW indexing built in Rust",
"main": "index.js",
"type": "commonjs",
"os": [
"linux"
],
"cpu": [
"arm64"
],
"author": "ruv.io Team <info@ruv.io> (https://ruv.io)",
"homepage": "https://ruv.io",
"engines": {
"node": ">= 18"
},
"files": [
"index.js",
"ruvector.node",
"*.node",
"README.md"
],
"keywords": [
"ruvector",
"vector-database",
"vector-search",
"similarity-search",
"semantic-search",
"hnsw",
"native",
"napi",
"rust",
"linux",
"arm64",
"aarch64",
"gnu",
"glibc",
"ai",
"machine-learning",
"embedding-database",
"simd",
"performance",
"ruv"
],
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/ruvnet/ruvector.git",
"directory": "npm/core/platforms/linux-arm64-gnu"
},
"bugs": {
"url": "https://github.com/ruvnet/ruvector/issues"
},
"publishConfig": {
"access": "public"
}
}

Binary file not shown.

View File

@@ -0,0 +1,111 @@
# ruvector-core-linux-x64-gnu
[![npm version](https://badge.fury.io/js/ruvector-core-linux-x64-gnu.svg)](https://www.npmjs.com/package/ruvector-core-linux-x64-gnu)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
**Linux x64 GNU native binding for ruvector-core**
This package contains the native Node.js binding (`.node` file) for Linux x64 systems with GNU libc. It is automatically installed as an optional dependency when you install `ruvector-core` on a compatible system.
🌐 **[Visit ruv.io](https://ruv.io)** for more AI infrastructure tools
## Installation
**You should not install this package directly.** Instead, install the main package:
```bash
npm install ruvector-core
```
The correct platform-specific package will be automatically installed based on your system.
## System Requirements
- **Operating System**: Linux (GNU libc)
- **Architecture**: x86_64 (x64)
- **Node.js**: 18.0.0 or higher
- **libc**: GNU C Library (glibc)
## Compatibility
This package is compatible with:
- Ubuntu 18.04+ (all versions)
- Debian 10+ (Buster and later)
- CentOS 7+ / RHEL 7+
- Fedora (all supported versions)
- Amazon Linux 2+
- Most Linux distributions using glibc
## What's Inside
This package contains:
- **ruvector.node** - Native binary module (4.3 MB) compiled from Rust
- **index.js** - Module loader with error handling
- Full HNSW indexing implementation
- SIMD-optimized vector operations
- Multi-threaded async operations via Tokio
## Performance
When running on Linux x64 systems, you can expect:
- **50,000+ vector inserts per second**
- **10,000+ searches per second** (k=10)
- **~50 bytes memory per 128-dim vector**
- **Sub-millisecond latency** for most operations
## Building from Source
If you need to rebuild the native module:
```bash
# Clone the repository
git clone https://github.com/ruvnet/ruvector.git
cd ruvector
# Install Rust toolchain
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Build for Linux x64
cd npm/packages/core
npm run build:napi -- --target x86_64-unknown-linux-gnu
```
## Troubleshooting
### Module Not Found Error
If you see "Cannot find module 'ruvector-core-linux-x64-gnu'":
1. Verify you're on a Linux x64 system: `uname -m` should output `x86_64`
2. Reinstall with optional dependencies: `npm install --include=optional ruvector-core`
3. Check Node.js version: `node --version` should be 18.0.0 or higher
### Binary Compatibility Issues
If the module fails to load:
1. Ensure you have glibc installed: `ldd --version`
2. The binary requires glibc 2.17+ (CentOS 7+) or 2.27+ (Ubuntu 18.04+)
3. For Alpine Linux or musl-based systems, this package will not work (use a glibc-based distro)
## Related Packages
- **[ruvector-core](https://www.npmjs.com/package/ruvector-core)** - Main package (install this)
- **[ruvector-core-linux-arm64-gnu](https://www.npmjs.com/package/ruvector-core-linux-arm64-gnu)** - Linux ARM64
- **[ruvector-core-darwin-x64](https://www.npmjs.com/package/ruvector-core-darwin-x64)** - macOS Intel
- **[ruvector-core-darwin-arm64](https://www.npmjs.com/package/ruvector-core-darwin-arm64)** - macOS Apple Silicon
- **[ruvector-core-win32-x64-msvc](https://www.npmjs.com/package/ruvector-core-win32-x64-msvc)** - Windows x64
## Resources
- 🏠 [Homepage](https://ruv.io)
- 📦 [GitHub Repository](https://github.com/ruvnet/ruvector)
- 📚 [Documentation](https://github.com/ruvnet/ruvector/tree/main/docs)
- 🐛 [Issue Tracker](https://github.com/ruvnet/ruvector/issues)
## License
MIT License - see [LICENSE](https://github.com/ruvnet/ruvector/blob/main/LICENSE) for details.
---
Built with ❤️ by the [ruv.io](https://ruv.io) team

View File

@@ -0,0 +1,14 @@
const { join } = require('path');
let nativeBinding;
try {
nativeBinding = require('./ruvector.node');
} catch (error) {
throw new Error(
'Failed to load native binding for linux-x64-gnu. ' +
'This package may have been installed incorrectly. ' +
'Error: ' + error.message
);
}
module.exports = nativeBinding;

View File

@@ -0,0 +1,57 @@
{
"name": "ruvector-core-linux-x64-gnu",
"version": "0.1.26",
"description": "Linux x64 GNU native binding for ruvector-core - High-performance vector database with HNSW indexing built in Rust",
"main": "index.js",
"type": "commonjs",
"os": [
"linux"
],
"cpu": [
"x64"
],
"author": "ruv.io Team <info@ruv.io> (https://ruv.io)",
"homepage": "https://ruv.io",
"engines": {
"node": ">= 18"
},
"files": [
"index.js",
"ruvector.node",
"*.node",
"README.md"
],
"keywords": [
"ruvector",
"vector-database",
"vector-search",
"similarity-search",
"semantic-search",
"hnsw",
"native",
"napi",
"rust",
"linux",
"x64",
"gnu",
"glibc",
"ai",
"machine-learning",
"embedding-database",
"simd",
"performance",
"ruv"
],
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/ruvnet/ruvector.git",
"directory": "npm/core/platforms/linux-x64-gnu"
},
"bugs": {
"url": "https://github.com/ruvnet/ruvector/issues"
},
"publishConfig": {
"access": "public"
}
}

Binary file not shown.

View File

@@ -0,0 +1,151 @@
# ruvector-core-win32-x64-msvc
[![npm version](https://badge.fury.io/js/ruvector-core-win32-x64-msvc.svg)](https://www.npmjs.com/package/ruvector-core-win32-x64-msvc)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
**Windows x64 MSVC native binding for ruvector-core**
This package contains the native Node.js binding (`.node` file) for Windows x64 systems compiled with MSVC. It is automatically installed as an optional dependency when you install `ruvector-core` on a compatible system.
🌐 **[Visit ruv.io](https://ruv.io)** for more AI infrastructure tools
## Installation
**You should not install this package directly.** Instead, install the main package:
```bash
npm install ruvector-core
```
The correct platform-specific package will be automatically installed based on your system.
## System Requirements
- **Operating System**: Windows 10 (1809+) or Windows 11, Windows Server 2019+
- **Architecture**: x86_64 (64-bit)
- **Node.js**: 18.0.0 or higher
- **Visual C++ Runtime**: Automatically included with Node.js
## Compatibility
This package is compatible with:
- **Windows 10** (version 1809 or later)
- **Windows 11** (all versions)
- **Windows Server 2019** and newer
- Most Windows development environments
**Note:** Windows ARM64 is not currently supported.
## What's Inside
This package contains:
- **ruvector.node** - Native binary module compiled from Rust with MSVC
- **index.js** - Module loader with error handling
- Full HNSW indexing implementation
- SIMD-optimized vector operations (AVX2, SSE4.2)
- Multi-threaded async operations via Tokio
## Performance
When running on Windows x64 systems, you can expect:
- **50,000+ vector inserts per second**
- **10,000+ searches per second** (k=10)
- **~50 bytes memory per 128-dim vector**
- **Sub-millisecond latency** for most operations
- Optimized for Intel/AMD AVX2 SIMD instructions
## Building from Source
If you need to rebuild the native module:
### Prerequisites
1. Install **Visual Studio 2022** (or 2019) with "Desktop development with C++" workload
2. Install **Rust**: https://rustup.rs/
3. Open "x64 Native Tools Command Prompt for VS 2022"
### Build Steps
```bash
# Clone the repository
git clone https://github.com/ruvnet/ruvector.git
cd ruvector
# Build for Windows x64
cd npm\packages\core
npm run build:napi -- --target x86_64-pc-windows-msvc
```
## Troubleshooting
### Module Not Found Error
If you see "Cannot find module 'ruvector-core-win32-x64-msvc'":
1. Verify you're on Windows 64-bit: `wmic os get osarchitecture` should show "64-bit"
2. Reinstall with optional dependencies: `npm install --include=optional ruvector-core`
3. Check Node.js version: `node --version` should be 18.0.0 or higher
### DLL Loading Issues
If the module fails to load with DLL errors:
1. **Install Visual C++ Redistributable**:
- Download from: https://aka.ms/vs/17/release/vc_redist.x64.exe
- Node.js usually includes this, but manual install may be needed
2. **Check Windows Updates**:
- Ensure Windows is up to date
- Some MSVC runtimes come through Windows Update
3. **Verify Node.js Installation**:
- Reinstall Node.js from nodejs.org
- Use the Windows Installer (.msi) version
### Long Path Issues
If you encounter "path too long" errors:
1. **Enable Long Paths in Windows**:
```powershell
# Run PowerShell as Administrator
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
```
2. **Or use shorter paths**:
- Install Node modules closer to drive root (e.g., `C:\projects\`)
### Antivirus False Positives
Some antivirus software may flag native `.node` files:
- Add an exception for `node_modules\ruvector-core-win32-x64-msvc\`
- Or temporarily disable real-time scanning during npm install
### WSL2 (Windows Subsystem for Linux)
If you're using WSL2:
- Use the Linux packages instead (`ruvector-core-linux-x64-gnu`)
- This Windows package is for native Windows Node.js only
## Related Packages
- **[ruvector-core](https://www.npmjs.com/package/ruvector-core)** - Main package (install this)
- **[ruvector-core-linux-x64-gnu](https://www.npmjs.com/package/ruvector-core-linux-x64-gnu)** - Linux x64
- **[ruvector-core-linux-arm64-gnu](https://www.npmjs.com/package/ruvector-core-linux-arm64-gnu)** - Linux ARM64
- **[ruvector-core-darwin-x64](https://www.npmjs.com/package/ruvector-core-darwin-x64)** - macOS Intel
- **[ruvector-core-darwin-arm64](https://www.npmjs.com/package/ruvector-core-darwin-arm64)** - macOS Apple Silicon
## Resources
- 🏠 [Homepage](https://ruv.io)
- 📦 [GitHub Repository](https://github.com/ruvnet/ruvector)
- 📚 [Documentation](https://github.com/ruvnet/ruvector/tree/main/docs)
- 🐛 [Issue Tracker](https://github.com/ruvnet/ruvector/issues)
## License
MIT License - see [LICENSE](https://github.com/ruvnet/ruvector/blob/main/LICENSE) for details.
---
Built with ❤️ by the [ruv.io](https://ruv.io) team

View File

@@ -0,0 +1,15 @@
const { join } = require('path');
let nativeBinding;
try {
nativeBinding = require('./ruvector.node');
} catch (error) {
throw new Error(
'Failed to load native binding for win32-x64-msvc. ' +
'This package may have been installed incorrectly. ' +
'Ensure you have Visual C++ Redistributable installed. ' +
'Error: ' + error.message
);
}
module.exports = nativeBinding;

View File

@@ -0,0 +1,57 @@
{
"name": "ruvector-core-win32-x64-msvc",
"version": "0.1.25",
"description": "Windows x64 MSVC native binding for ruvector-core - High-performance vector database with HNSW indexing built in Rust",
"main": "index.js",
"type": "commonjs",
"os": [
"win32"
],
"cpu": [
"x64"
],
"author": "ruv.io Team <info@ruv.io> (https://ruv.io)",
"homepage": "https://ruv.io",
"engines": {
"node": ">= 18"
},
"files": [
"index.js",
"ruvector.node",
"*.node",
"README.md"
],
"keywords": [
"ruvector",
"vector-database",
"vector-search",
"similarity-search",
"semantic-search",
"hnsw",
"native",
"napi",
"rust",
"windows",
"win32",
"x64",
"msvc",
"ai",
"machine-learning",
"embedding-database",
"simd",
"performance",
"ruv"
],
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/ruvnet/ruvector.git",
"directory": "npm/core/platforms/win32-x64-msvc"
},
"bugs": {
"url": "https://github.com/ruvnet/ruvector/issues"
},
"publishConfig": {
"access": "public"
}
}

Binary file not shown.