@anvailabs/proximadb-client 0.3.0
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/README.md +160 -0
- package/dist/client.d.ts +319 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +681 -0
- package/dist/client.js.map +1 -0
- package/dist/collection.d.ts +227 -0
- package/dist/collection.d.ts.map +1 -0
- package/dist/collection.js +436 -0
- package/dist/collection.js.map +1 -0
- package/dist/esm/client.js +674 -0
- package/dist/esm/client.js.map +1 -0
- package/dist/esm/collection.js +428 -0
- package/dist/esm/collection.js.map +1 -0
- package/dist/esm/filter.js +228 -0
- package/dist/esm/filter.js.map +1 -0
- package/dist/esm/generated/schema.js +6 -0
- package/dist/esm/generated/schema.js.map +1 -0
- package/dist/esm/graph.js +678 -0
- package/dist/esm/graph.js.map +1 -0
- package/dist/esm/index.js +86 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/search.js +317 -0
- package/dist/esm/search.js.map +1 -0
- package/dist/esm/transport.js +33 -0
- package/dist/esm/transport.js.map +1 -0
- package/dist/esm/types.js +181 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/filter.d.ts +51 -0
- package/dist/filter.d.ts.map +1 -0
- package/dist/filter.js +241 -0
- package/dist/filter.js.map +1 -0
- package/dist/generated/schema.d.ts +4271 -0
- package/dist/generated/schema.d.ts.map +1 -0
- package/dist/generated/schema.js +7 -0
- package/dist/generated/schema.js.map +1 -0
- package/dist/graph.d.ts +350 -0
- package/dist/graph.d.ts.map +1 -0
- package/dist/graph.js +690 -0
- package/dist/graph.js.map +1 -0
- package/dist/index.d.ts +58 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +126 -0
- package/dist/index.js.map +1 -0
- package/dist/search.d.ts +160 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/search.js +322 -0
- package/dist/search.js.map +1 -0
- package/dist/transport.d.ts +40 -0
- package/dist/transport.d.ts.map +1 -0
- package/dist/transport.js +39 -0
- package/dist/transport.js.map +1 -0
- package/dist/types.d.ts +632 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +185 -0
- package/dist/types.js.map +1 -0
- package/package.json +72 -0
- package/src/client.ts +856 -0
- package/src/collection.ts +578 -0
- package/src/filter.ts +280 -0
- package/src/generated/schema.ts +4271 -0
- package/src/graph.ts +811 -0
- package/src/index.ts +184 -0
- package/src/search.ts +401 -0
- package/src/transport.ts +52 -0
- package/src/types.ts +726 -0
package/README.md
ADDED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# ProximaDB Embedded for Node.js
|
|
2
|
+
|
|
3
|
+
Zero-overhead embedded vector database for Node.js using NAPI-RS bindings to ProximaDB's Rust core.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Zero Network Overhead** - Direct in-process access to Rust core
|
|
8
|
+
- **Multi-Disk Support** - Configure multiple storage locations with weighted distribution
|
|
9
|
+
- **SIMD Acceleration** - Automatic AVX2/NEON optimization
|
|
10
|
+
- **Full Persistence** - WAL with configurable sync modes
|
|
11
|
+
- **TypeScript Support** - Full type definitions included
|
|
12
|
+
|
|
13
|
+
## Installation
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install proximadb-embedded
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Quick Start
|
|
20
|
+
|
|
21
|
+
```javascript
|
|
22
|
+
const { ProximaDB } = require('proximadb-embedded');
|
|
23
|
+
|
|
24
|
+
// Create database with simple configuration
|
|
25
|
+
const db = new ProximaDB({ dataDir: './my_database' });
|
|
26
|
+
|
|
27
|
+
// Or with multi-disk support
|
|
28
|
+
const dbMulti = new ProximaDB({
|
|
29
|
+
dataDirs: [
|
|
30
|
+
{ path: '/nvme/data', weight: 2 }, // Fast SSD - gets more data
|
|
31
|
+
{ path: '/hdd/data', weight: 1 }, // Slower HDD
|
|
32
|
+
],
|
|
33
|
+
metadataDir: '/nvme/metadata',
|
|
34
|
+
cacheSizeMb: 2048,
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
// Create collection
|
|
38
|
+
db.createCollection('embeddings', 768, 'sst');
|
|
39
|
+
|
|
40
|
+
// Insert vectors
|
|
41
|
+
const ids = ['doc_0', 'doc_1', 'doc_2'];
|
|
42
|
+
const vectors = [
|
|
43
|
+
[0.1, 0.2, /* ... 768 dimensions */],
|
|
44
|
+
[0.3, 0.4, /* ... */],
|
|
45
|
+
[0.5, 0.6, /* ... */],
|
|
46
|
+
];
|
|
47
|
+
const metadata = [
|
|
48
|
+
{ category: 'tech' },
|
|
49
|
+
{ category: 'science' },
|
|
50
|
+
{ category: 'tech' },
|
|
51
|
+
];
|
|
52
|
+
|
|
53
|
+
db.insert('embeddings', ids, vectors, metadata);
|
|
54
|
+
|
|
55
|
+
// Search for similar vectors
|
|
56
|
+
const query = [0.1, 0.2, /* ... */];
|
|
57
|
+
const results = db.search('embeddings', query, 10);
|
|
58
|
+
|
|
59
|
+
for (const r of results) {
|
|
60
|
+
console.log(`${r.id}: score=${r.score.toFixed(4)}`);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// Flush to ensure durability
|
|
64
|
+
db.flush();
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## TypeScript
|
|
68
|
+
|
|
69
|
+
```typescript
|
|
70
|
+
import { ProximaDB, SearchResult, CollectionInfo } from 'proximadb-embedded';
|
|
71
|
+
|
|
72
|
+
const db = new ProximaDB({ dataDir: './data' });
|
|
73
|
+
|
|
74
|
+
db.createCollection('vectors', 128);
|
|
75
|
+
|
|
76
|
+
const results: SearchResult[] = db.search('vectors', query, 10);
|
|
77
|
+
const info: CollectionInfo | null = db.getCollection('vectors');
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## API Reference
|
|
81
|
+
|
|
82
|
+
### Constructor
|
|
83
|
+
|
|
84
|
+
```javascript
|
|
85
|
+
new ProximaDB(config?: ProximaDBConfig)
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Configuration options:
|
|
89
|
+
- `dataDir` - Single data directory path
|
|
90
|
+
- `dataDirs` - Array of disk configurations for multi-disk
|
|
91
|
+
- `metadataDir` - Metadata storage path
|
|
92
|
+
- `cacheSizeMb` - Cache size in MB (default: 512)
|
|
93
|
+
- `defaultEngine` - Storage engine: "sst" (recommended), "nova", "helix", etc. (`viper` is DEPRECATED — see ADR-093, do not select for new collections)
|
|
94
|
+
- `enableWal` - Enable write-ahead logging (default: true)
|
|
95
|
+
- `walSyncMode` - WAL sync: "immediate", "batch", "async"
|
|
96
|
+
|
|
97
|
+
### Methods
|
|
98
|
+
|
|
99
|
+
#### createCollection(name, dimension, engine?)
|
|
100
|
+
Create a new vector collection.
|
|
101
|
+
|
|
102
|
+
#### deleteCollection(name)
|
|
103
|
+
Delete a collection.
|
|
104
|
+
|
|
105
|
+
#### getCollection(name)
|
|
106
|
+
Get collection information or null.
|
|
107
|
+
|
|
108
|
+
#### listCollections()
|
|
109
|
+
List all collections.
|
|
110
|
+
|
|
111
|
+
#### insert(collection, ids, vectors, metadata?)
|
|
112
|
+
Insert vectors. Returns count inserted.
|
|
113
|
+
|
|
114
|
+
#### search(collection, query, topK?, filter?)
|
|
115
|
+
Search for similar vectors. Returns array of results.
|
|
116
|
+
|
|
117
|
+
#### flush()
|
|
118
|
+
Flush pending writes to disk.
|
|
119
|
+
|
|
120
|
+
#### stats()
|
|
121
|
+
Get storage statistics.
|
|
122
|
+
|
|
123
|
+
### Storage Engines
|
|
124
|
+
|
|
125
|
+
| Engine | Best For |
|
|
126
|
+
|--------|----------|
|
|
127
|
+
| `sst` | OLTP, real-time queries (default) |
|
|
128
|
+
| `nova` | Mixed workloads, columnar analytics |
|
|
129
|
+
| `swift` | Hot data, low latency |
|
|
130
|
+
| `raptor` | Adaptive, multi-tenant |
|
|
131
|
+
| `helix` | High-dimensional vectors |
|
|
132
|
+
|
|
133
|
+
## Building from Source
|
|
134
|
+
|
|
135
|
+
### Prerequisites
|
|
136
|
+
|
|
137
|
+
- Node.js 16+
|
|
138
|
+
- Rust 1.88+
|
|
139
|
+
- @napi-rs/cli
|
|
140
|
+
|
|
141
|
+
### Build Steps
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# Install NAPI CLI
|
|
145
|
+
npm install -g @napi-rs/cli
|
|
146
|
+
|
|
147
|
+
# Build the package
|
|
148
|
+
cd clients/nodejs-embedded
|
|
149
|
+
npm install
|
|
150
|
+
npm run build
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## License
|
|
154
|
+
|
|
155
|
+
Apache License 2.0
|
|
156
|
+
|
|
157
|
+
## Links
|
|
158
|
+
|
|
159
|
+
- [ProximaDB Repository](https://github.com/anvai-labs/proximaDB)
|
|
160
|
+
- [Documentation](https://github.com/anvai-labs/proximaDB#readme)
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ProximaDB TypeScript SDK - Client
|
|
3
|
+
*
|
|
4
|
+
* Main entry point for connecting to ProximaDB servers.
|
|
5
|
+
*
|
|
6
|
+
* Copyright 2025 ProximaDB Contributors
|
|
7
|
+
* Licensed under the Apache License, Version 2.0
|
|
8
|
+
*/
|
|
9
|
+
import { ClientConfig, HealthStatus, CollectionInfo, GraphInfo, ProbeResponse, SchemaResponse, UpdateSchemaRequest, UpdateSchemaResponse, QueryRequest, ExplainQueryRequest, QueryResponse } from "./types";
|
|
10
|
+
import { CollectionBuilder, CollectionHandle, CollectionHttpClient } from "./collection";
|
|
11
|
+
import { GraphBuilder, GraphHandle, GraphHttpClient } from "./graph";
|
|
12
|
+
/**
|
|
13
|
+
* ProximaDB client for connecting to a remote server
|
|
14
|
+
*/
|
|
15
|
+
export declare class ProximaDBClient implements CollectionHttpClient, GraphHttpClient {
|
|
16
|
+
private config;
|
|
17
|
+
private fetchFn;
|
|
18
|
+
/**
|
|
19
|
+
* Generated typed REST transport (TD-126 Phase 4). Core collection / record
|
|
20
|
+
* / search operations route through this; it owns URL/path/query/body
|
|
21
|
+
* encoding per the OpenAPI spec. Auth, retries, and error mapping are
|
|
22
|
+
* injected via the facade's own fetch (see `transportFetch`).
|
|
23
|
+
*/
|
|
24
|
+
private gen;
|
|
25
|
+
/**
|
|
26
|
+
* Create a new client with the given URL
|
|
27
|
+
*/
|
|
28
|
+
static connect(url: string): ProximaDBClient;
|
|
29
|
+
/**
|
|
30
|
+
* Create a new client builder
|
|
31
|
+
*/
|
|
32
|
+
static builder(): ClientBuilder;
|
|
33
|
+
/**
|
|
34
|
+
* Create a client with configuration
|
|
35
|
+
*/
|
|
36
|
+
constructor(config?: Partial<ClientConfig>);
|
|
37
|
+
/**
|
|
38
|
+
* Transport `fetch` handed to the generated client.
|
|
39
|
+
*
|
|
40
|
+
* The generated client assembles a resolved `Request` (URL + method + body);
|
|
41
|
+
* this normalizes it back to the facade's `(url, init)` retry/auth/error
|
|
42
|
+
* pipeline so the wire plumbing and transport policy compose. The returned
|
|
43
|
+
* value is a `Response`-shaped object the generated client parses; on an
|
|
44
|
+
* unsuccessful response a `ProximaDBError` is thrown (matching the generic
|
|
45
|
+
* path), so callers never see a non-2xx body.
|
|
46
|
+
*/
|
|
47
|
+
private transportFetch;
|
|
48
|
+
/**
|
|
49
|
+
* Get the server URL
|
|
50
|
+
*/
|
|
51
|
+
url(): string;
|
|
52
|
+
/**
|
|
53
|
+
* Get the client configuration
|
|
54
|
+
*/
|
|
55
|
+
getConfig(): ClientConfig;
|
|
56
|
+
/**
|
|
57
|
+
* Make a GET request
|
|
58
|
+
*/
|
|
59
|
+
get<T>(requestUrl: string): Promise<T>;
|
|
60
|
+
/**
|
|
61
|
+
* Make a POST request
|
|
62
|
+
*/
|
|
63
|
+
post<T>(requestUrl: string, body: unknown): Promise<T>;
|
|
64
|
+
/**
|
|
65
|
+
* Make a PUT request
|
|
66
|
+
*/
|
|
67
|
+
put<T>(requestUrl: string, body: unknown): Promise<T>;
|
|
68
|
+
/**
|
|
69
|
+
* Make a DELETE request
|
|
70
|
+
*/
|
|
71
|
+
delete<T>(requestUrl: string): Promise<T>;
|
|
72
|
+
/**
|
|
73
|
+
* Make an HTTP request with retry logic
|
|
74
|
+
*/
|
|
75
|
+
private request;
|
|
76
|
+
/**
|
|
77
|
+
* Handle HTTP response
|
|
78
|
+
*/
|
|
79
|
+
private handleResponse;
|
|
80
|
+
/**
|
|
81
|
+
* Get a handle to a collection for fluent operations
|
|
82
|
+
*/
|
|
83
|
+
collection(name: string): CollectionHandle;
|
|
84
|
+
/**
|
|
85
|
+
* Create a collection builder
|
|
86
|
+
*/
|
|
87
|
+
createCollection(name: string): CollectionBuilder;
|
|
88
|
+
/**
|
|
89
|
+
* Delete a collection
|
|
90
|
+
*
|
|
91
|
+
* Routed through the generated typed transport (TD-126 Phase 4).
|
|
92
|
+
* Wire endpoint: DELETE /api/v2/collections/{collection_id}
|
|
93
|
+
* OpenAPI operationId: deleteCollection
|
|
94
|
+
*/
|
|
95
|
+
deleteCollection(name: string): Promise<void>;
|
|
96
|
+
/**
|
|
97
|
+
* List all collections
|
|
98
|
+
*
|
|
99
|
+
* Routed through the generated typed transport (TD-126 Phase 4).
|
|
100
|
+
* Wire endpoint: GET /api/v2/collections
|
|
101
|
+
* OpenAPI operationId: listCollections
|
|
102
|
+
*/
|
|
103
|
+
listCollections(): Promise<CollectionInfo[]>;
|
|
104
|
+
/**
|
|
105
|
+
* Get the schema for a collection
|
|
106
|
+
*
|
|
107
|
+
* Routed through the generated typed transport (TD-126 Phase 4).
|
|
108
|
+
* Wire endpoint: GET /api/v2/collections/{collection_id}/schema
|
|
109
|
+
* OpenAPI operationId: getCollectionSchema
|
|
110
|
+
*/
|
|
111
|
+
getCollectionSchema(collectionId: string): Promise<SchemaResponse>;
|
|
112
|
+
/**
|
|
113
|
+
* Update the schema for a collection
|
|
114
|
+
*
|
|
115
|
+
* Routed through the generated typed transport (TD-126 Phase 4).
|
|
116
|
+
* Wire endpoint: PUT /api/v2/collections/{collection_id}/schema
|
|
117
|
+
* OpenAPI operationId: updateCollectionSchema
|
|
118
|
+
*/
|
|
119
|
+
updateCollectionSchema(collectionId: string, schema: UpdateSchemaRequest): Promise<UpdateSchemaResponse>;
|
|
120
|
+
/**
|
|
121
|
+
* Execute an AQL or UQL query through the shared query facade
|
|
122
|
+
*
|
|
123
|
+
* Wire endpoint: POST /api/v2/query
|
|
124
|
+
* OpenAPI operationId: executeQuery
|
|
125
|
+
*/
|
|
126
|
+
executeQuery(req: QueryRequest): Promise<QueryResponse>;
|
|
127
|
+
/**
|
|
128
|
+
* Explain an AQL or UQL query through the shared query facade
|
|
129
|
+
*
|
|
130
|
+
* Wire endpoint: POST /api/v2/query/explain
|
|
131
|
+
* OpenAPI operationId: explainQuery
|
|
132
|
+
*/
|
|
133
|
+
explainQuery(req: ExplainQueryRequest): Promise<QueryResponse>;
|
|
134
|
+
/**
|
|
135
|
+
* Create a collection.
|
|
136
|
+
* Wire endpoint: POST /api/v2/collections (createCollection)
|
|
137
|
+
*/
|
|
138
|
+
createCollectionRequest(body: Record<string, unknown>): Promise<unknown>;
|
|
139
|
+
/**
|
|
140
|
+
* Get collection details.
|
|
141
|
+
* Wire endpoint: GET /api/v2/collections/{collection_id} (getCollection)
|
|
142
|
+
*/
|
|
143
|
+
getCollectionRequest(collectionId: string): Promise<unknown>;
|
|
144
|
+
/**
|
|
145
|
+
* Insert / upsert records in a batch.
|
|
146
|
+
* Wire endpoint: POST /api/v2/collections/{collection_id}/records/batch (insertRecords)
|
|
147
|
+
*/
|
|
148
|
+
insertRecordsRequest(collectionId: string, body: Record<string, unknown>): Promise<unknown>;
|
|
149
|
+
/**
|
|
150
|
+
* Get a single record by ID.
|
|
151
|
+
* Wire endpoint: GET /api/v2/collections/{collection_id}/records/{record_id} (getRecord)
|
|
152
|
+
*/
|
|
153
|
+
getRecordRequest(collectionId: string, recordId: string, includeVector: boolean, includeText: boolean): Promise<unknown>;
|
|
154
|
+
/**
|
|
155
|
+
* Delete a single record by ID.
|
|
156
|
+
* Wire endpoint: DELETE /api/v2/collections/{collection_id}/records/{record_id} (deleteRecord)
|
|
157
|
+
*/
|
|
158
|
+
deleteRecordRequest(collectionId: string, recordId: string): Promise<void>;
|
|
159
|
+
/**
|
|
160
|
+
* Vector similarity search.
|
|
161
|
+
* Wire endpoint: POST /api/v2/collections/{collection_id}/search (searchRecords)
|
|
162
|
+
*/
|
|
163
|
+
searchRecordsRequest(collectionId: string, body: Record<string, unknown>): Promise<unknown>;
|
|
164
|
+
/**
|
|
165
|
+
* Get a handle to a graph for fluent operations
|
|
166
|
+
*/
|
|
167
|
+
graph(name: string): GraphHandle;
|
|
168
|
+
/**
|
|
169
|
+
* Create a graph builder.
|
|
170
|
+
*
|
|
171
|
+
* Wire endpoint: POST /api/v2/graphs
|
|
172
|
+
* OpenAPI operationId: createGraph
|
|
173
|
+
*
|
|
174
|
+
* The argument is the server-true `graph_id` (unique identifier). Use
|
|
175
|
+
* `.name(...)` on the returned builder to set the optional display name.
|
|
176
|
+
*/
|
|
177
|
+
createGraph(graphId: string): GraphBuilder;
|
|
178
|
+
/**
|
|
179
|
+
* Delete a graph
|
|
180
|
+
*
|
|
181
|
+
* Routed through the generated typed transport (TD-126 Phase 4).
|
|
182
|
+
* Wire endpoint: DELETE /api/v2/graphs/{graph_id}
|
|
183
|
+
* OpenAPI operationId: deleteGraph
|
|
184
|
+
*/
|
|
185
|
+
deleteGraph(name: string): Promise<void>;
|
|
186
|
+
/**
|
|
187
|
+
* List all graphs
|
|
188
|
+
*
|
|
189
|
+
* Routed through the generated typed transport (TD-126 Phase 4).
|
|
190
|
+
* Wire endpoint: GET /api/v2/graphs
|
|
191
|
+
* OpenAPI operationId: listGraphs
|
|
192
|
+
*/
|
|
193
|
+
listGraphs(): Promise<GraphInfo[]>;
|
|
194
|
+
/**
|
|
195
|
+
* Create a graph collection.
|
|
196
|
+
* Wire endpoint: POST /api/v2/graphs (createGraph)
|
|
197
|
+
*/
|
|
198
|
+
createGraphRequest(body: Record<string, unknown>): Promise<unknown>;
|
|
199
|
+
/**
|
|
200
|
+
* Get a graph collection by id.
|
|
201
|
+
* Wire endpoint: GET /api/v2/graphs/{graph_id} (getGraph)
|
|
202
|
+
*/
|
|
203
|
+
getGraphRequest(graphId: string): Promise<unknown>;
|
|
204
|
+
/**
|
|
205
|
+
* Get graph statistics.
|
|
206
|
+
* Wire endpoint: GET /api/v2/graphs/{graph_id}/stats (getGraphStats)
|
|
207
|
+
*/
|
|
208
|
+
getGraphStatsRequest(graphId: string): Promise<unknown>;
|
|
209
|
+
/**
|
|
210
|
+
* Create a node in a graph.
|
|
211
|
+
* Wire endpoint: POST /api/v2/graphs/{graph_id}/nodes (createNode)
|
|
212
|
+
*/
|
|
213
|
+
createNodeRequest(graphId: string, body: Record<string, unknown>): Promise<unknown>;
|
|
214
|
+
/**
|
|
215
|
+
* Create multiple nodes in a single call.
|
|
216
|
+
* Wire endpoint: POST /api/v2/graphs/{graph_id}/nodes/batch (batchCreateNodes)
|
|
217
|
+
*/
|
|
218
|
+
batchCreateNodesRequest(graphId: string, body: Record<string, unknown>): Promise<unknown>;
|
|
219
|
+
/**
|
|
220
|
+
* Get a node by id.
|
|
221
|
+
* Wire endpoint: GET /api/v2/graphs/{graph_id}/nodes/{node_id} (getNode)
|
|
222
|
+
*/
|
|
223
|
+
getNodeRequest(graphId: string, nodeId: string): Promise<unknown>;
|
|
224
|
+
/**
|
|
225
|
+
* Delete a node by id.
|
|
226
|
+
* Wire endpoint: DELETE /api/v2/graphs/{graph_id}/nodes/{node_id} (deleteNode)
|
|
227
|
+
*/
|
|
228
|
+
deleteNodeRequest(graphId: string, nodeId: string): Promise<void>;
|
|
229
|
+
/**
|
|
230
|
+
* Create an edge in a graph.
|
|
231
|
+
* Wire endpoint: POST /api/v2/graphs/{graph_id}/edges (createEdge)
|
|
232
|
+
*/
|
|
233
|
+
createEdgeRequest(graphId: string, body: Record<string, unknown>): Promise<unknown>;
|
|
234
|
+
/**
|
|
235
|
+
* Create multiple edges in a single call.
|
|
236
|
+
* Wire endpoint: POST /api/v2/graphs/{graph_id}/edges/batch (batchCreateEdges)
|
|
237
|
+
*/
|
|
238
|
+
batchCreateEdgesRequest(graphId: string, body: Record<string, unknown>): Promise<unknown>;
|
|
239
|
+
/**
|
|
240
|
+
* Traverse a graph from a start node.
|
|
241
|
+
* Wire endpoint: POST /api/v2/graphs/{graph_id}/traverse (traverseGraph)
|
|
242
|
+
*/
|
|
243
|
+
traverseGraphRequest(graphId: string, body: Record<string, unknown>): Promise<unknown>;
|
|
244
|
+
/**
|
|
245
|
+
* Check if the server is healthy
|
|
246
|
+
*
|
|
247
|
+
* Routed through the generated typed transport (TD-126 Phase 4).
|
|
248
|
+
* Wire endpoint: GET /health
|
|
249
|
+
* OpenAPI operationId: getHealth
|
|
250
|
+
*/
|
|
251
|
+
health(): Promise<HealthStatus>;
|
|
252
|
+
/**
|
|
253
|
+
* Kubernetes-style liveness probe
|
|
254
|
+
*
|
|
255
|
+
* Routed through the generated typed transport (TD-126 Phase 4).
|
|
256
|
+
* Wire endpoint: GET /health/live
|
|
257
|
+
* OpenAPI operationId: getLiveness
|
|
258
|
+
*/
|
|
259
|
+
healthLive(): Promise<ProbeResponse>;
|
|
260
|
+
/**
|
|
261
|
+
* Kubernetes-style readiness probe
|
|
262
|
+
*
|
|
263
|
+
* Routed through the generated typed transport (TD-126 Phase 4).
|
|
264
|
+
* Wire endpoint: GET /health/ready
|
|
265
|
+
* OpenAPI operationId: getReadiness
|
|
266
|
+
*/
|
|
267
|
+
healthReady(): Promise<ProbeResponse>;
|
|
268
|
+
/**
|
|
269
|
+
* Check if the server is reachable
|
|
270
|
+
*/
|
|
271
|
+
ping(): Promise<boolean>;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Builder for creating a ProximaDB client with custom configuration
|
|
275
|
+
*/
|
|
276
|
+
export declare class ClientBuilder {
|
|
277
|
+
private config;
|
|
278
|
+
/**
|
|
279
|
+
* Set the server URL
|
|
280
|
+
*/
|
|
281
|
+
url(serverUrl: string): ClientBuilder;
|
|
282
|
+
/**
|
|
283
|
+
* Set the request timeout in milliseconds
|
|
284
|
+
*/
|
|
285
|
+
timeoutMs(timeout: number): ClientBuilder;
|
|
286
|
+
/**
|
|
287
|
+
* Set the maximum number of retries
|
|
288
|
+
*/
|
|
289
|
+
maxRetries(retries: number): ClientBuilder;
|
|
290
|
+
/**
|
|
291
|
+
* Set the API key for authentication
|
|
292
|
+
*/
|
|
293
|
+
apiKey(key: string): ClientBuilder;
|
|
294
|
+
/**
|
|
295
|
+
* Enable or disable connection pooling
|
|
296
|
+
*/
|
|
297
|
+
poolConnections(enable: boolean): ClientBuilder;
|
|
298
|
+
/**
|
|
299
|
+
* Set maximum idle connections in pool
|
|
300
|
+
*/
|
|
301
|
+
maxIdleConnections(max: number): ClientBuilder;
|
|
302
|
+
/**
|
|
303
|
+
* Build the ProximaDB client
|
|
304
|
+
*/
|
|
305
|
+
build(): ProximaDBClient;
|
|
306
|
+
/**
|
|
307
|
+
* Connect to the server (alias for build)
|
|
308
|
+
*/
|
|
309
|
+
connect(): ProximaDBClient;
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Create a ProximaDB client connected to the given URL
|
|
313
|
+
*/
|
|
314
|
+
export declare function connect(url?: string): ProximaDBClient;
|
|
315
|
+
/**
|
|
316
|
+
* Create a ProximaDB client with REST protocol
|
|
317
|
+
*/
|
|
318
|
+
export declare function connectRest(url?: string): ProximaDBClient;
|
|
319
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|