ruvector 0.1.38 → 0.1.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-flow/metrics/agent-metrics.json +1 -0
- package/.claude-flow/metrics/performance.json +87 -0
- package/.claude-flow/metrics/task-metrics.json +10 -0
- package/PACKAGE_SUMMARY.md +409 -0
- package/README.md +1679 -508
- package/bin/cli.js +2427 -0
- package/dist/core/agentdb-fast.d.ts +149 -0
- package/dist/core/agentdb-fast.d.ts.map +1 -0
- package/dist/core/agentdb-fast.js +301 -0
- package/dist/core/attention-fallbacks.d.ts +221 -0
- package/dist/core/attention-fallbacks.d.ts.map +1 -0
- package/dist/core/attention-fallbacks.js +361 -0
- package/dist/core/gnn-wrapper.d.ts +143 -0
- package/dist/core/gnn-wrapper.d.ts.map +1 -0
- package/dist/core/gnn-wrapper.js +213 -0
- package/dist/core/index.d.ts +15 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +39 -0
- package/dist/core/sona-wrapper.d.ts +215 -0
- package/dist/core/sona-wrapper.d.ts.map +1 -0
- package/dist/core/sona-wrapper.js +258 -0
- package/dist/index.d.ts +87 -82
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +169 -89
- package/dist/services/embedding-service.d.ts +136 -0
- package/dist/services/embedding-service.d.ts.map +1 -0
- package/dist/services/embedding-service.js +294 -0
- package/dist/services/index.d.ts +6 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +26 -0
- package/dist/types.d.ts +145 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/examples/api-usage.js +211 -0
- package/examples/cli-demo.sh +85 -0
- package/package.json +41 -93
- package/bin/ruvector.js +0 -1150
- package/dist/index.d.mts +0 -95
- package/dist/index.mjs +0 -5
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# ruvector CLI Demo
|
|
4
|
+
# This demonstrates the CLI functionality with a simple example
|
|
5
|
+
|
|
6
|
+
echo "🚀 ruvector CLI Demo"
|
|
7
|
+
echo "===================="
|
|
8
|
+
echo ""
|
|
9
|
+
|
|
10
|
+
# 1. Show version info
|
|
11
|
+
echo "1. Checking ruvector info..."
|
|
12
|
+
ruvector info
|
|
13
|
+
echo ""
|
|
14
|
+
|
|
15
|
+
# 2. Create a database
|
|
16
|
+
echo "2. Creating a new database..."
|
|
17
|
+
ruvector create demo.vec --dimension 3 --metric cosine
|
|
18
|
+
echo ""
|
|
19
|
+
|
|
20
|
+
# 3. Create sample data
|
|
21
|
+
echo "3. Creating sample vectors..."
|
|
22
|
+
cat > demo-vectors.json << 'EOF'
|
|
23
|
+
[
|
|
24
|
+
{
|
|
25
|
+
"id": "cat",
|
|
26
|
+
"vector": [0.9, 0.1, 0.1],
|
|
27
|
+
"metadata": {"animal": "cat", "category": "feline"}
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "dog",
|
|
31
|
+
"vector": [0.1, 0.9, 0.1],
|
|
32
|
+
"metadata": {"animal": "dog", "category": "canine"}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "tiger",
|
|
36
|
+
"vector": [0.8, 0.2, 0.15],
|
|
37
|
+
"metadata": {"animal": "tiger", "category": "feline"}
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "wolf",
|
|
41
|
+
"vector": [0.2, 0.8, 0.15],
|
|
42
|
+
"metadata": {"animal": "wolf", "category": "canine"}
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": "lion",
|
|
46
|
+
"vector": [0.85, 0.15, 0.1],
|
|
47
|
+
"metadata": {"animal": "lion", "category": "feline"}
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
EOF
|
|
51
|
+
echo " Created demo-vectors.json with 5 animals"
|
|
52
|
+
echo ""
|
|
53
|
+
|
|
54
|
+
# 4. Insert vectors
|
|
55
|
+
echo "4. Inserting vectors into database..."
|
|
56
|
+
ruvector insert demo.vec demo-vectors.json
|
|
57
|
+
echo ""
|
|
58
|
+
|
|
59
|
+
# 5. Show statistics
|
|
60
|
+
echo "5. Database statistics..."
|
|
61
|
+
ruvector stats demo.vec
|
|
62
|
+
echo ""
|
|
63
|
+
|
|
64
|
+
# 6. Search for cat-like animals
|
|
65
|
+
echo "6. Searching for cat-like animals (vector: [0.9, 0.1, 0.1])..."
|
|
66
|
+
ruvector search demo.vec --vector "[0.9, 0.1, 0.1]" --top-k 3
|
|
67
|
+
echo ""
|
|
68
|
+
|
|
69
|
+
# 7. Search for dog-like animals
|
|
70
|
+
echo "7. Searching for dog-like animals (vector: [0.1, 0.9, 0.1])..."
|
|
71
|
+
ruvector search demo.vec --vector "[0.1, 0.9, 0.1]" --top-k 3
|
|
72
|
+
echo ""
|
|
73
|
+
|
|
74
|
+
# 8. Run benchmark
|
|
75
|
+
echo "8. Running performance benchmark..."
|
|
76
|
+
ruvector benchmark --dimension 128 --num-vectors 1000 --num-queries 100
|
|
77
|
+
echo ""
|
|
78
|
+
|
|
79
|
+
# Cleanup
|
|
80
|
+
echo "9. Cleanup (removing demo files)..."
|
|
81
|
+
rm -f demo.vec demo-vectors.json
|
|
82
|
+
echo " ✓ Demo files removed"
|
|
83
|
+
echo ""
|
|
84
|
+
|
|
85
|
+
echo "✅ Demo complete!"
|
package/package.json
CHANGED
|
@@ -1,122 +1,70 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ruvector",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "High-performance vector database
|
|
5
|
-
"main": "
|
|
6
|
-
"types": "
|
|
3
|
+
"version": "0.1.40",
|
|
4
|
+
"description": "High-performance vector database for Node.js with automatic native/WASM fallback",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
7
|
"bin": {
|
|
8
|
-
"ruvector": "./bin/
|
|
8
|
+
"ruvector": "./bin/cli.js"
|
|
9
9
|
},
|
|
10
|
-
"exports": {
|
|
11
|
-
".": {
|
|
12
|
-
"types": "./dist/index.d.ts",
|
|
13
|
-
"require": "./dist/index.js",
|
|
14
|
-
"import": "./dist/index.mjs"
|
|
15
|
-
}
|
|
16
|
-
},
|
|
17
|
-
"files": [
|
|
18
|
-
"dist",
|
|
19
|
-
"bin",
|
|
20
|
-
"README.md"
|
|
21
|
-
],
|
|
22
10
|
"scripts": {
|
|
23
|
-
"build": "
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"prepublishOnly": "echo 'Ready to publish'"
|
|
11
|
+
"build": "tsc",
|
|
12
|
+
"prepublishOnly": "npm run build",
|
|
13
|
+
"test": "node test/integration.js"
|
|
27
14
|
},
|
|
28
15
|
"keywords": [
|
|
16
|
+
"vector",
|
|
17
|
+
"database",
|
|
29
18
|
"vector-database",
|
|
30
19
|
"vector-search",
|
|
31
|
-
"embeddings",
|
|
32
20
|
"similarity-search",
|
|
33
21
|
"semantic-search",
|
|
34
|
-
"
|
|
35
|
-
"retrieval-augmented-generation",
|
|
36
|
-
"llm",
|
|
37
|
-
"langchain",
|
|
38
|
-
"openai",
|
|
39
|
-
"gpt",
|
|
40
|
-
"claude",
|
|
41
|
-
"anthropic",
|
|
42
|
-
"ai",
|
|
43
|
-
"artificial-intelligence",
|
|
44
|
-
"machine-learning",
|
|
45
|
-
"deep-learning",
|
|
46
|
-
"neural-network",
|
|
47
|
-
"gnn",
|
|
48
|
-
"graph-neural-network",
|
|
49
|
-
"knowledge-graph",
|
|
50
|
-
"graph-database",
|
|
51
|
-
"cypher",
|
|
52
|
-
"neo4j",
|
|
22
|
+
"embeddings",
|
|
53
23
|
"hnsw",
|
|
54
24
|
"ann",
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"recommendation-system",
|
|
59
|
-
"chatbot",
|
|
60
|
-
"conversational-ai",
|
|
61
|
-
"agentic-ai",
|
|
62
|
-
"ai-agents",
|
|
63
|
-
"multi-agent",
|
|
64
|
-
"agent-routing",
|
|
65
|
-
"model-router",
|
|
66
|
-
"llm-router",
|
|
25
|
+
"ai",
|
|
26
|
+
"machine-learning",
|
|
27
|
+
"rag",
|
|
67
28
|
"rust",
|
|
68
|
-
"napi",
|
|
69
|
-
"napi-rs",
|
|
70
29
|
"wasm",
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
30
|
+
"native",
|
|
31
|
+
"ruv",
|
|
32
|
+
"ruvector",
|
|
33
|
+
"attention",
|
|
34
|
+
"transformer",
|
|
35
|
+
"flash-attention",
|
|
36
|
+
"hyperbolic",
|
|
37
|
+
"sona",
|
|
38
|
+
"lora",
|
|
39
|
+
"ewc",
|
|
40
|
+
"adaptive-learning",
|
|
41
|
+
"continual-learning"
|
|
80
42
|
],
|
|
81
|
-
"author":
|
|
82
|
-
|
|
83
|
-
|
|
43
|
+
"author": "ruv.io Team <info@ruv.io> (https://ruv.io)",
|
|
44
|
+
"homepage": "https://ruv.io",
|
|
45
|
+
"bugs": {
|
|
46
|
+
"url": "https://github.com/ruvnet/ruvector/issues"
|
|
84
47
|
},
|
|
85
48
|
"license": "MIT",
|
|
86
|
-
"homepage": "https://github.com/ruvnet/ruvector#readme",
|
|
87
49
|
"repository": {
|
|
88
50
|
"type": "git",
|
|
89
|
-
"url": "
|
|
90
|
-
"directory": "npm/ruvector"
|
|
91
|
-
},
|
|
92
|
-
"bugs": {
|
|
93
|
-
"url": "https://github.com/ruvnet/ruvector/issues"
|
|
94
|
-
},
|
|
95
|
-
"funding": {
|
|
96
|
-
"type": "github",
|
|
97
|
-
"url": "https://github.com/sponsors/ruvnet"
|
|
51
|
+
"url": "https://github.com/ruvnet/ruvector.git",
|
|
52
|
+
"directory": "npm/packages/ruvector"
|
|
98
53
|
},
|
|
99
54
|
"dependencies": {
|
|
100
|
-
"
|
|
55
|
+
"@ruvector/core": "^0.1.25",
|
|
56
|
+
"@ruvector/attention": "^0.1.3",
|
|
57
|
+
"@ruvector/gnn": "^0.1.22",
|
|
58
|
+
"@ruvector/sona": "^0.1.4",
|
|
101
59
|
"chalk": "^4.1.2",
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"inquirer": "^8.2.6"
|
|
105
|
-
},
|
|
106
|
-
"optionalDependencies": {
|
|
107
|
-
"@ruvector/core": "^0.1.1",
|
|
108
|
-
"@ruvector/graph-node": "^0.1.0",
|
|
109
|
-
"@ruvector/graph-wasm": "^0.1.0",
|
|
110
|
-
"@ruvector/gnn-node": "^0.1.0",
|
|
111
|
-
"@ruvector/gnn-wasm": "^0.1.0"
|
|
60
|
+
"commander": "^11.1.0",
|
|
61
|
+
"ora": "^5.4.1"
|
|
112
62
|
},
|
|
113
63
|
"devDependencies": {
|
|
114
|
-
"@types/node": "^20.10.
|
|
115
|
-
"
|
|
116
|
-
"typescript": "^5.3.3",
|
|
117
|
-
"tsup": "^8.0.0"
|
|
64
|
+
"@types/node": "^20.10.5",
|
|
65
|
+
"typescript": "^5.3.3"
|
|
118
66
|
},
|
|
119
67
|
"engines": {
|
|
120
|
-
"node": ">=
|
|
68
|
+
"node": ">=14.0.0"
|
|
121
69
|
}
|
|
122
70
|
}
|