@loradb/lora-node 0.6.0 → 0.8.1
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 +57 -13
- package/dist/decode.d.ts +29 -0
- package/dist/decode.d.ts.map +1 -0
- package/dist/decode.js +341 -0
- package/dist/decode.js.map +1 -0
- package/dist/index.d.ts +23 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +45 -9
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +68 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -2
- package/dist/types.js.map +1 -1
- package/package.json +11 -10
- package/ts/native.d.ts +17 -3
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# lora-node
|
|
2
2
|
|
|
3
|
-
Node.js / TypeScript bindings for the [Lora](
|
|
3
|
+
Node.js / TypeScript bindings for the [Lora](../../../README.md) graph
|
|
4
4
|
engine. The package exposes a first-class typed API: query results are
|
|
5
5
|
modelled as discriminated unions, temporal values carry `kind` tags, and the
|
|
6
6
|
`Database` class is strongly typed in both directions (params and rows).
|
|
@@ -11,12 +11,12 @@ stays free for the full duration of a query — a 2 000-node MATCH happily
|
|
|
11
11
|
interleaves with `setImmediate` ticks on the main thread (proven by a
|
|
12
12
|
dedicated vitest).
|
|
13
13
|
|
|
14
|
-
> **
|
|
14
|
+
> **Package:** `@loradb/lora-node`.
|
|
15
15
|
|
|
16
16
|
## Install (local dev)
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
|
-
cd crates/lora-node
|
|
19
|
+
cd crates/bindings/lora-node
|
|
20
20
|
npm install
|
|
21
21
|
npm run build # builds the Rust cdylib + TypeScript declarations
|
|
22
22
|
npm test # runs the vitest suite
|
|
@@ -33,7 +33,7 @@ to `package.json`.
|
|
|
33
33
|
`Database.create()` static; `Database` is a type-only export.
|
|
34
34
|
|
|
35
35
|
```ts
|
|
36
|
-
import { createDatabase, isNode, type LoraNode } from "lora-node";
|
|
36
|
+
import { createDatabase, isNode, type LoraNode } from "@loradb/lora-node";
|
|
37
37
|
|
|
38
38
|
const db = await createDatabase(); // in-memory by default
|
|
39
39
|
await db.execute("CREATE (:Person {name: $n, age: $a})", { n: "Alice", a: 30 });
|
|
@@ -46,10 +46,42 @@ for (const row of res.rows) {
|
|
|
46
46
|
}
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
+
### Explain & Profile
|
|
50
|
+
|
|
51
|
+
`db.explain()` and `db.profile()` are first-class methods alongside
|
|
52
|
+
`db.execute()`. They are intentionally *separate calls*, not a flag on
|
|
53
|
+
`execute()`, so you have to opt in explicitly to plan inspection or
|
|
54
|
+
metrics collection.
|
|
55
|
+
|
|
56
|
+
```ts
|
|
57
|
+
const plan = await db.explain(
|
|
58
|
+
"MATCH (p:Person) WHERE p.name = $name RETURN p",
|
|
59
|
+
{ name: "Alice" },
|
|
60
|
+
);
|
|
61
|
+
console.log(plan.shape); // "readOnly"
|
|
62
|
+
console.log(plan.tree.operator); // top-most operator label
|
|
63
|
+
|
|
64
|
+
const profile = await db.profile(
|
|
65
|
+
"MATCH (p:Person) WHERE p.name = $name RETURN p",
|
|
66
|
+
{ name: "Alice" },
|
|
67
|
+
);
|
|
68
|
+
console.log(profile.metrics.totalElapsedNs);
|
|
69
|
+
console.log(profile.metrics.perOperator);
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
`explain()` never invokes the executor — calling it on a mutating
|
|
73
|
+
query (`CREATE`, `MERGE`, `SET`, `DELETE`, `REMOVE`) leaves the graph
|
|
74
|
+
untouched.
|
|
75
|
+
|
|
76
|
+
> **`profile()` executes the query for real.** Mutating queries
|
|
77
|
+
> produce the same side effects as `execute()`: the WAL is written,
|
|
78
|
+
> snapshots observe the commit, and the live store advances. Use
|
|
79
|
+
> `explain()` to inspect a mutating plan without running it.
|
|
80
|
+
|
|
49
81
|
The initialization rule is:
|
|
50
82
|
|
|
51
83
|
```ts
|
|
52
|
-
import { createDatabase } from "lora-node";
|
|
84
|
+
import { createDatabase } from "@loradb/lora-node";
|
|
53
85
|
|
|
54
86
|
const inMemory = await createDatabase(); // in-memory only
|
|
55
87
|
const defaultPersistent = await createDatabase("app"); // ./app.loradb
|
|
@@ -70,7 +102,7 @@ copying the portable `.loradb` archive while the database is still open.
|
|
|
70
102
|
Node also has an archive-backed convenience overload:
|
|
71
103
|
|
|
72
104
|
```ts
|
|
73
|
-
import { createDatabase } from "lora-node";
|
|
105
|
+
import { createDatabase } from "@loradb/lora-node";
|
|
74
106
|
|
|
75
107
|
const db = await createDatabase("app", { databaseDir: "./data" });
|
|
76
108
|
```
|
|
@@ -89,7 +121,7 @@ split-brain writers.
|
|
|
89
121
|
For explicit WAL directories with managed snapshots, use `openWalDatabase`:
|
|
90
122
|
|
|
91
123
|
```ts
|
|
92
|
-
import { openWalDatabase } from "lora-node";
|
|
124
|
+
import { openWalDatabase } from "@loradb/lora-node";
|
|
93
125
|
|
|
94
126
|
const db = await openWalDatabase({
|
|
95
127
|
walDir: "./data/wal",
|
|
@@ -119,7 +151,7 @@ HTTP(S) or `data:` URL, `Buffer`, `Uint8Array`, `ArrayBuffer`, Node
|
|
|
119
151
|
import { readFile } from "node:fs/promises";
|
|
120
152
|
import { createReadStream } from "node:fs";
|
|
121
153
|
import { pathToFileURL } from "node:url";
|
|
122
|
-
import { createDatabase } from "lora-node";
|
|
154
|
+
import { createDatabase } from "@loradb/lora-node";
|
|
123
155
|
|
|
124
156
|
const db = await createDatabase();
|
|
125
157
|
await db.execute("CREATE (:Person {name: 'Alice'})");
|
|
@@ -164,7 +196,7 @@ narrowing guards (`isNode`, `isRelationship`, `isPath`, `isPoint`, `isTemporal`)
|
|
|
164
196
|
are exported from `lora-node`.
|
|
165
197
|
|
|
166
198
|
> `distance()` on WGS-84-3D points ignores `height` — see
|
|
167
|
-
> [functions reference](
|
|
199
|
+
> [functions reference](../../../apps/loradb.com/docs/functions/overview.md) for the full spatial
|
|
168
200
|
> reference and known limitations.
|
|
169
201
|
|
|
170
202
|
## Architecture
|
|
@@ -173,7 +205,7 @@ are exported from `lora-node`.
|
|
|
173
205
|
lora-database (Rust)
|
|
174
206
|
└── lora-node (crate, cdylib) <- napi-rs bindings, AsyncTask
|
|
175
207
|
└── ts/index.ts <- strongly-typed async wrapper
|
|
176
|
-
└── ../shared-ts/types.ts
|
|
208
|
+
└── ../shared-ts/types.ts <- shared TS contract (with lora-wasm)
|
|
177
209
|
```
|
|
178
210
|
|
|
179
211
|
Query execution path:
|
|
@@ -196,10 +228,22 @@ identical to `lora-wasm`.
|
|
|
196
228
|
|
|
197
229
|
## Errors
|
|
198
230
|
|
|
199
|
-
`db.execute(...)` throws `LoraError` with a narrowed `code
|
|
231
|
+
`db.execute(...)` throws `LoraError` with a narrowed `code` from the
|
|
232
|
+
`LoraErrorCode` union — these mirror `lora_database::LoraErrorCode` 1:1.
|
|
233
|
+
|
|
234
|
+
Common ones:
|
|
235
|
+
|
|
236
|
+
- `LORA_PARSE` — Cypher syntax could not be parsed
|
|
237
|
+
- `LORA_SEMANTIC` — analysis failure (unknown variable, label, type mismatch, …)
|
|
238
|
+
- `LORA_INVALID_PARAMS` — a parameter value could not be coerced to a `LoraValue`
|
|
239
|
+
- `LORA_INVALID_VECTOR` — vector value failed dimension / coordinate-type validation
|
|
240
|
+
- `LORA_TIMEOUT` — query exceeded its cooperative deadline
|
|
241
|
+
- `LORA_DATABASE_NAME` — logical database name violates the portable-path rules
|
|
242
|
+
- `LORA_IO`, `LORA_WAL_CORRUPTION`, `LORA_WAL_POISONED` — storage failures
|
|
243
|
+
- `LORA_SNAPSHOT_CODEC`, `LORA_SNAPSHOT_CRYPTO` — snapshot codec / crypto failures
|
|
244
|
+
- `LORA_INTERNAL` — last-resort fallback when the engine cannot classify the failure
|
|
200
245
|
|
|
201
|
-
|
|
202
|
-
- `INVALID_PARAMS` — a param value could not be mapped to a `LoraValue`
|
|
246
|
+
See `ts/types.ts` (`LoraErrorCode`) for the full list.
|
|
203
247
|
|
|
204
248
|
## Known limitations
|
|
205
249
|
|
package/dist/decode.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Decoder for the binary result format produced by the native side.
|
|
3
|
+
*
|
|
4
|
+
* The native `execute()` ships a single `Uint8Array` whose layout is
|
|
5
|
+
* defined by `crates/bindings/lora-binding-buffer/src/lib.rs`. This
|
|
6
|
+
* file is the sole reader; it must stay byte-compatible with the
|
|
7
|
+
* encoder there.
|
|
8
|
+
*
|
|
9
|
+
* Why this exists: each FFI syscall costs ~150 ns; for a 10 000-row
|
|
10
|
+
* scan, the per-cell loop takes thousands of crossings and dominates
|
|
11
|
+
* wall-clock time. Transferring the whole result as one buffer and
|
|
12
|
+
* decoding it in JIT'd JavaScript is materially faster — V8 walks
|
|
13
|
+
* contiguous bytes far more cheaply than the FFI layer can hand
|
|
14
|
+
* values across one at a time.
|
|
15
|
+
*
|
|
16
|
+
* Shared between the `lora-node` and `lora-wasm` bindings; the source
|
|
17
|
+
* of truth lives in `crates/bindings/shared-ts/decode.ts` and is
|
|
18
|
+
* synced into each binding's `ts/` by their `npm run sync:types`
|
|
19
|
+
* script (mirrors how `types.ts` is shared).
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* Decode the wire format produced by `encode_rows` in the native crate
|
|
23
|
+
* into the public `{ columns, rows }` shape.
|
|
24
|
+
*/
|
|
25
|
+
export declare function decodeResult(buf: Uint8Array): {
|
|
26
|
+
columns: string[];
|
|
27
|
+
rows: Array<Record<string, any>>;
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=decode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../ts/decode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAsTH;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,UAAU,GACd;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;CAAE,CA4BzD"}
|
package/dist/decode.js
ADDED
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Decoder for the binary result format produced by the native side.
|
|
4
|
+
*
|
|
5
|
+
* The native `execute()` ships a single `Uint8Array` whose layout is
|
|
6
|
+
* defined by `crates/bindings/lora-binding-buffer/src/lib.rs`. This
|
|
7
|
+
* file is the sole reader; it must stay byte-compatible with the
|
|
8
|
+
* encoder there.
|
|
9
|
+
*
|
|
10
|
+
* Why this exists: each FFI syscall costs ~150 ns; for a 10 000-row
|
|
11
|
+
* scan, the per-cell loop takes thousands of crossings and dominates
|
|
12
|
+
* wall-clock time. Transferring the whole result as one buffer and
|
|
13
|
+
* decoding it in JIT'd JavaScript is materially faster — V8 walks
|
|
14
|
+
* contiguous bytes far more cheaply than the FFI layer can hand
|
|
15
|
+
* values across one at a time.
|
|
16
|
+
*
|
|
17
|
+
* Shared between the `lora-node` and `lora-wasm` bindings; the source
|
|
18
|
+
* of truth lives in `crates/bindings/shared-ts/decode.ts` and is
|
|
19
|
+
* synced into each binding's `ts/` by their `npm run sync:types`
|
|
20
|
+
* script (mirrors how `types.ts` is shared).
|
|
21
|
+
*/
|
|
22
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.decodeResult = decodeResult;
|
|
25
|
+
const MAGIC_0 = 0x4c; // L
|
|
26
|
+
const MAGIC_1 = 0x52; // R
|
|
27
|
+
const MAGIC_2 = 0x31; // 1
|
|
28
|
+
const MAGIC_3 = 0x00;
|
|
29
|
+
// Cell tags — keep in sync with `tag::` constants in encode.rs.
|
|
30
|
+
const TAG_NULL = 0x00;
|
|
31
|
+
const TAG_FALSE = 0x01;
|
|
32
|
+
const TAG_TRUE = 0x02;
|
|
33
|
+
const TAG_I32 = 0x03;
|
|
34
|
+
const TAG_I64 = 0x04;
|
|
35
|
+
const TAG_F64 = 0x05;
|
|
36
|
+
const TAG_STRING = 0x06;
|
|
37
|
+
const TAG_LIST = 0x07;
|
|
38
|
+
const TAG_MAP = 0x08;
|
|
39
|
+
const TAG_NODE = 0x09;
|
|
40
|
+
const TAG_RELATIONSHIP = 0x0a;
|
|
41
|
+
const TAG_PATH = 0x0b;
|
|
42
|
+
const TAG_DATE = 0x0c;
|
|
43
|
+
const TAG_TIME = 0x0d;
|
|
44
|
+
const TAG_LOCAL_TIME = 0x0e;
|
|
45
|
+
const TAG_DATETIME = 0x0f;
|
|
46
|
+
const TAG_LOCAL_DATETIME = 0x10;
|
|
47
|
+
const TAG_DURATION = 0x11;
|
|
48
|
+
const TAG_POINT = 0x12;
|
|
49
|
+
const TAG_VECTOR = 0x13;
|
|
50
|
+
const TAG_BINARY = 0x14;
|
|
51
|
+
const VECTOR_FLOAT64 = 0;
|
|
52
|
+
const VECTOR_FLOAT32 = 1;
|
|
53
|
+
const VECTOR_INT64 = 2;
|
|
54
|
+
const VECTOR_INT32 = 3;
|
|
55
|
+
const VECTOR_INT16 = 4;
|
|
56
|
+
const VECTOR_INT8 = 5;
|
|
57
|
+
const SRID_CARTESIAN_2D = 7203;
|
|
58
|
+
const SRID_CARTESIAN_3D = 9157;
|
|
59
|
+
const SRID_WGS84_2D = 4326;
|
|
60
|
+
const SRID_WGS84_3D = 4979;
|
|
61
|
+
function sridToCrs(srid) {
|
|
62
|
+
switch (srid) {
|
|
63
|
+
case SRID_CARTESIAN_2D:
|
|
64
|
+
return "cartesian";
|
|
65
|
+
case SRID_CARTESIAN_3D:
|
|
66
|
+
return "cartesian-3D";
|
|
67
|
+
case SRID_WGS84_2D:
|
|
68
|
+
return "WGS-84-2D";
|
|
69
|
+
case SRID_WGS84_3D:
|
|
70
|
+
return "WGS-84-3D";
|
|
71
|
+
default:
|
|
72
|
+
return "cartesian";
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const utf8 = new TextDecoder("utf-8");
|
|
76
|
+
class Reader {
|
|
77
|
+
view;
|
|
78
|
+
bytes;
|
|
79
|
+
off = 0;
|
|
80
|
+
constructor(buf) {
|
|
81
|
+
this.bytes = buf;
|
|
82
|
+
this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
83
|
+
}
|
|
84
|
+
u8() {
|
|
85
|
+
// `noUncheckedIndexedAccess` says this might be undefined; we
|
|
86
|
+
// never read past the buffer because the encoder writes a
|
|
87
|
+
// bounded layout. The hot path can't afford a check.
|
|
88
|
+
return this.bytes[this.off++];
|
|
89
|
+
}
|
|
90
|
+
u32() {
|
|
91
|
+
const v = this.view.getUint32(this.off, true);
|
|
92
|
+
this.off += 4;
|
|
93
|
+
return v;
|
|
94
|
+
}
|
|
95
|
+
i32() {
|
|
96
|
+
const v = this.view.getInt32(this.off, true);
|
|
97
|
+
this.off += 4;
|
|
98
|
+
return v;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Reads an i64 LE and returns it as a JS Number. Values outside the
|
|
102
|
+
* `Number.MAX_SAFE_INTEGER` range silently lose precision — same
|
|
103
|
+
* behaviour the binding has always had on the read path. Callers that
|
|
104
|
+
* need exact representation of large ints should use a separate
|
|
105
|
+
* binding-side path; this is a hot loop.
|
|
106
|
+
*/
|
|
107
|
+
i64AsNumber() {
|
|
108
|
+
// Two getInt32 calls beat getBigInt64 + Number(BigInt) by ~3× in V8.
|
|
109
|
+
// Manual reconstruction is exact for the |x| < 2^53 range.
|
|
110
|
+
const lo = this.view.getUint32(this.off, true);
|
|
111
|
+
const hi = this.view.getInt32(this.off + 4, true);
|
|
112
|
+
this.off += 8;
|
|
113
|
+
return hi * 0x1_0000_0000 + lo;
|
|
114
|
+
}
|
|
115
|
+
f64() {
|
|
116
|
+
const v = this.view.getFloat64(this.off, true);
|
|
117
|
+
this.off += 8;
|
|
118
|
+
return v;
|
|
119
|
+
}
|
|
120
|
+
str() {
|
|
121
|
+
const len = this.u32();
|
|
122
|
+
const start = this.off;
|
|
123
|
+
this.off += len;
|
|
124
|
+
if (len === 0)
|
|
125
|
+
return "";
|
|
126
|
+
// TextDecoder is a fused C++ path in V8; faster than Buffer.toString
|
|
127
|
+
// for short-to-medium strings and avoids hitting Buffer's own
|
|
128
|
+
// string-cache layer.
|
|
129
|
+
return utf8.decode(this.bytes.subarray(start, this.off));
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
function readValue(r) {
|
|
133
|
+
const tag = r.u8();
|
|
134
|
+
switch (tag) {
|
|
135
|
+
case TAG_NULL:
|
|
136
|
+
return null;
|
|
137
|
+
case TAG_FALSE:
|
|
138
|
+
return false;
|
|
139
|
+
case TAG_TRUE:
|
|
140
|
+
return true;
|
|
141
|
+
case TAG_I32:
|
|
142
|
+
return r.i32();
|
|
143
|
+
case TAG_I64:
|
|
144
|
+
return r.i64AsNumber();
|
|
145
|
+
case TAG_F64:
|
|
146
|
+
return r.f64();
|
|
147
|
+
case TAG_STRING:
|
|
148
|
+
return r.str();
|
|
149
|
+
case TAG_LIST: {
|
|
150
|
+
const n = r.u32();
|
|
151
|
+
const arr = new Array(n);
|
|
152
|
+
for (let i = 0; i < n; i++)
|
|
153
|
+
arr[i] = readValue(r);
|
|
154
|
+
return arr;
|
|
155
|
+
}
|
|
156
|
+
case TAG_MAP: {
|
|
157
|
+
const n = r.u32();
|
|
158
|
+
const obj = {};
|
|
159
|
+
for (let i = 0; i < n; i++) {
|
|
160
|
+
const k = r.str();
|
|
161
|
+
obj[k] = readValue(r);
|
|
162
|
+
}
|
|
163
|
+
return obj;
|
|
164
|
+
}
|
|
165
|
+
case TAG_NODE:
|
|
166
|
+
return {
|
|
167
|
+
kind: "node",
|
|
168
|
+
id: r.i64AsNumber(),
|
|
169
|
+
labels: [],
|
|
170
|
+
properties: {},
|
|
171
|
+
};
|
|
172
|
+
case TAG_RELATIONSHIP:
|
|
173
|
+
return { kind: "relationship", id: r.i64AsNumber() };
|
|
174
|
+
case TAG_PATH: {
|
|
175
|
+
const nN = r.u32();
|
|
176
|
+
const nodes = new Array(nN);
|
|
177
|
+
for (let i = 0; i < nN; i++)
|
|
178
|
+
nodes[i] = r.i64AsNumber();
|
|
179
|
+
const nR = r.u32();
|
|
180
|
+
const rels = new Array(nR);
|
|
181
|
+
for (let i = 0; i < nR; i++)
|
|
182
|
+
rels[i] = r.i64AsNumber();
|
|
183
|
+
return { kind: "path", nodes, rels };
|
|
184
|
+
}
|
|
185
|
+
case TAG_DATE:
|
|
186
|
+
return { kind: "date", iso: r.str() };
|
|
187
|
+
case TAG_TIME:
|
|
188
|
+
return { kind: "time", iso: r.str() };
|
|
189
|
+
case TAG_LOCAL_TIME:
|
|
190
|
+
return { kind: "localtime", iso: r.str() };
|
|
191
|
+
case TAG_DATETIME:
|
|
192
|
+
return { kind: "datetime", iso: r.str() };
|
|
193
|
+
case TAG_LOCAL_DATETIME:
|
|
194
|
+
return { kind: "localdatetime", iso: r.str() };
|
|
195
|
+
case TAG_DURATION:
|
|
196
|
+
return { kind: "duration", iso: r.str() };
|
|
197
|
+
case TAG_POINT: {
|
|
198
|
+
const hasZ = r.u8();
|
|
199
|
+
const srid = r.u32();
|
|
200
|
+
const x = r.f64();
|
|
201
|
+
const y = r.f64();
|
|
202
|
+
const point = {
|
|
203
|
+
kind: "point",
|
|
204
|
+
srid,
|
|
205
|
+
crs: sridToCrs(srid),
|
|
206
|
+
x,
|
|
207
|
+
y,
|
|
208
|
+
};
|
|
209
|
+
if (hasZ)
|
|
210
|
+
point.z = r.f64();
|
|
211
|
+
if (srid === SRID_WGS84_2D || srid === SRID_WGS84_3D) {
|
|
212
|
+
point.longitude = x;
|
|
213
|
+
point.latitude = y;
|
|
214
|
+
if (hasZ)
|
|
215
|
+
point.height = point.z;
|
|
216
|
+
}
|
|
217
|
+
return point;
|
|
218
|
+
}
|
|
219
|
+
case TAG_VECTOR:
|
|
220
|
+
return readVector(r);
|
|
221
|
+
case TAG_BINARY:
|
|
222
|
+
return readBinary(r);
|
|
223
|
+
default:
|
|
224
|
+
throw new Error(`unknown LoraValue tag: 0x${tag.toString(16)}`);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
function readVector(r) {
|
|
228
|
+
const coordTag = r.u8();
|
|
229
|
+
const dim = r.u32();
|
|
230
|
+
const values = new Array(dim);
|
|
231
|
+
let coordinateType;
|
|
232
|
+
switch (coordTag) {
|
|
233
|
+
case VECTOR_FLOAT64:
|
|
234
|
+
coordinateType = "FLOAT64";
|
|
235
|
+
for (let i = 0; i < dim; i++)
|
|
236
|
+
values[i] = r.f64();
|
|
237
|
+
break;
|
|
238
|
+
case VECTOR_FLOAT32:
|
|
239
|
+
coordinateType = "FLOAT32";
|
|
240
|
+
for (let i = 0; i < dim; i++) {
|
|
241
|
+
values[i] = r.view.getFloat32(r.off, true);
|
|
242
|
+
r.off += 4;
|
|
243
|
+
}
|
|
244
|
+
break;
|
|
245
|
+
case VECTOR_INT64:
|
|
246
|
+
coordinateType = "INTEGER";
|
|
247
|
+
for (let i = 0; i < dim; i++)
|
|
248
|
+
values[i] = r.i64AsNumber();
|
|
249
|
+
break;
|
|
250
|
+
case VECTOR_INT32:
|
|
251
|
+
coordinateType = "INTEGER32";
|
|
252
|
+
for (let i = 0; i < dim; i++)
|
|
253
|
+
values[i] = r.i32();
|
|
254
|
+
break;
|
|
255
|
+
case VECTOR_INT16:
|
|
256
|
+
coordinateType = "INTEGER16";
|
|
257
|
+
for (let i = 0; i < dim; i++) {
|
|
258
|
+
values[i] = r.view.getInt16(r.off, true);
|
|
259
|
+
r.off += 2;
|
|
260
|
+
}
|
|
261
|
+
break;
|
|
262
|
+
case VECTOR_INT8:
|
|
263
|
+
coordinateType = "INTEGER8";
|
|
264
|
+
for (let i = 0; i < dim; i++) {
|
|
265
|
+
values[i] = r.view.getInt8(r.off);
|
|
266
|
+
r.off += 1;
|
|
267
|
+
}
|
|
268
|
+
break;
|
|
269
|
+
default:
|
|
270
|
+
throw new Error(`unknown vector coord type: ${coordTag}`);
|
|
271
|
+
}
|
|
272
|
+
return { kind: "vector", dimension: dim, coordinateType, values };
|
|
273
|
+
}
|
|
274
|
+
function readBinary(r) {
|
|
275
|
+
const segCount = r.u32();
|
|
276
|
+
const segments = new Array(segCount);
|
|
277
|
+
let total = 0;
|
|
278
|
+
for (let i = 0; i < segCount; i++) {
|
|
279
|
+
const len = r.u32();
|
|
280
|
+
const seg = new Array(len);
|
|
281
|
+
for (let j = 0; j < len; j++)
|
|
282
|
+
seg[j] = r.bytes[r.off + j];
|
|
283
|
+
r.off += len;
|
|
284
|
+
segments[i] = seg;
|
|
285
|
+
total += len;
|
|
286
|
+
}
|
|
287
|
+
return { kind: "binary", length: total, segments };
|
|
288
|
+
}
|
|
289
|
+
const factoryCache = new Map();
|
|
290
|
+
function rowFactory(columns) {
|
|
291
|
+
const key = columns.join("\x1f");
|
|
292
|
+
let factory = factoryCache.get(key);
|
|
293
|
+
if (factory)
|
|
294
|
+
return factory;
|
|
295
|
+
// Build:
|
|
296
|
+
// function (read, r) {
|
|
297
|
+
// const row = {};
|
|
298
|
+
// row[colA] = read(r);
|
|
299
|
+
// row[colB] = read(r);
|
|
300
|
+
// return row;
|
|
301
|
+
// }
|
|
302
|
+
const lines = ["const row = {};"];
|
|
303
|
+
for (const col of columns) {
|
|
304
|
+
lines.push(`row[${JSON.stringify(col)}] = read(r);`);
|
|
305
|
+
}
|
|
306
|
+
lines.push("return row;");
|
|
307
|
+
factory = new Function("read", "r", lines.join("\n"));
|
|
308
|
+
factoryCache.set(key, factory);
|
|
309
|
+
return factory;
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Decode the wire format produced by `encode_rows` in the native crate
|
|
313
|
+
* into the public `{ columns, rows }` shape.
|
|
314
|
+
*/
|
|
315
|
+
function decodeResult(buf) {
|
|
316
|
+
const r = new Reader(buf);
|
|
317
|
+
if (r.bytes[0] !== MAGIC_0 ||
|
|
318
|
+
r.bytes[1] !== MAGIC_1 ||
|
|
319
|
+
r.bytes[2] !== MAGIC_2 ||
|
|
320
|
+
r.bytes[3] !== MAGIC_3) {
|
|
321
|
+
throw new Error("lora-node: invalid result buffer magic");
|
|
322
|
+
}
|
|
323
|
+
r.off = 4;
|
|
324
|
+
const colCount = r.u32();
|
|
325
|
+
const columns = new Array(colCount);
|
|
326
|
+
for (let i = 0; i < colCount; i++)
|
|
327
|
+
columns[i] = r.str();
|
|
328
|
+
const rowCount = r.u32();
|
|
329
|
+
const rows = new Array(rowCount);
|
|
330
|
+
if (colCount === 0) {
|
|
331
|
+
for (let i = 0; i < rowCount; i++)
|
|
332
|
+
rows[i] = {};
|
|
333
|
+
return { columns, rows };
|
|
334
|
+
}
|
|
335
|
+
const factory = rowFactory(columns);
|
|
336
|
+
for (let i = 0; i < rowCount; i++) {
|
|
337
|
+
rows[i] = factory(readValue, r);
|
|
338
|
+
}
|
|
339
|
+
return { columns, rows };
|
|
340
|
+
}
|
|
341
|
+
//# sourceMappingURL=decode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decode.js","sourceRoot":"","sources":["../ts/decode.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* native layer, which runs each query on the libuv threadpool so the JS
|
|
6
6
|
* event loop stays responsive. This file only narrows the `unknown`-valued
|
|
7
7
|
* native surface into the strongly-typed `QueryResult<T>` / `LoraParams`
|
|
8
|
-
* shapes defined in the shared TS contract (`crates/shared-ts/types.ts`).
|
|
8
|
+
* shapes defined in the shared TS contract (`crates/bindings/shared-ts/types.ts`).
|
|
9
9
|
*
|
|
10
10
|
* **Initialization is async-only.** The canonical entry point is
|
|
11
11
|
* `createDatabase(...)`, optionally with archive-backed persistence. There is no
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import { Buffer } from "node:buffer";
|
|
16
16
|
import { Readable } from "node:stream";
|
|
17
|
-
import type { LoraParams, LoraValue, QueryResult } from "./types.js";
|
|
17
|
+
import type { LoraParams, LoraQueryPlan, LoraQueryProfile, LoraValue, QueryResult } from "./types.js";
|
|
18
18
|
declare const NativeDatabase: typeof import("./native.js").Database;
|
|
19
19
|
export * from "./types.js";
|
|
20
20
|
/**
|
|
@@ -145,9 +145,29 @@ declare class DatabaseImpl {
|
|
|
145
145
|
/**
|
|
146
146
|
* Execute a Lora query on the libuv threadpool. Returns a Promise that
|
|
147
147
|
* resolves with `{ columns, rows }`; errors surface as `LoraError`
|
|
148
|
-
* with a narrowed `code`
|
|
148
|
+
* with a narrowed `code` from the `LoraErrorCode` union (e.g.
|
|
149
|
+
* `LORA_PARSE`, `LORA_INVALID_PARAMS`, `LORA_INTERNAL`).
|
|
149
150
|
*/
|
|
150
151
|
execute<T extends Record<string, LoraValue> = Record<string, LoraValue>>(query: string, params?: LoraParams): Promise<QueryResult<T>>;
|
|
152
|
+
/**
|
|
153
|
+
* Compile a query and return its execution plan without running it.
|
|
154
|
+
*
|
|
155
|
+
* This is a separate API method from `execute()`; it never invokes the
|
|
156
|
+
* executor, so calling `explain()` on a mutating query (`CREATE`,
|
|
157
|
+
* `MERGE`, `SET`, `DELETE`, `REMOVE`) leaves the graph untouched.
|
|
158
|
+
* Errors surface with the same `LoraError` shape as `execute()`.
|
|
159
|
+
*/
|
|
160
|
+
explain(query: string, params?: LoraParams): Promise<LoraQueryPlan>;
|
|
161
|
+
/**
|
|
162
|
+
* Execute a query and return the plan plus runtime metrics.
|
|
163
|
+
*
|
|
164
|
+
* **`profile()` runs the query for real.** Mutating queries
|
|
165
|
+
* (`CREATE`, `MERGE`, `SET`, `DELETE`, `REMOVE`) produce the same
|
|
166
|
+
* side effects as `execute()`: the WAL is written, snapshots observe
|
|
167
|
+
* the commit, and the live store advances. Use `explain()` if you
|
|
168
|
+
* want to inspect a mutating plan without running it.
|
|
169
|
+
*/
|
|
170
|
+
profile(query: string, params?: LoraParams): Promise<LoraQueryProfile>;
|
|
151
171
|
/**
|
|
152
172
|
* Return an async row iterator for a query.
|
|
153
173
|
*
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACZ,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* native layer, which runs each query on the libuv threadpool so the JS
|
|
7
7
|
* event loop stays responsive. This file only narrows the `unknown`-valued
|
|
8
8
|
* native surface into the strongly-typed `QueryResult<T>` / `LoraParams`
|
|
9
|
-
* shapes defined in the shared TS contract (`crates/shared-ts/types.ts`).
|
|
9
|
+
* shapes defined in the shared TS contract (`crates/bindings/shared-ts/types.ts`).
|
|
10
10
|
*
|
|
11
11
|
* **Initialization is async-only.** The canonical entry point is
|
|
12
12
|
* `createDatabase(...)`, optionally with archive-backed persistence. There is no
|
|
@@ -37,6 +37,7 @@ const node_buffer_1 = require("node:buffer");
|
|
|
37
37
|
const node_stream_1 = require("node:stream");
|
|
38
38
|
const node_url_1 = require("node:url");
|
|
39
39
|
const types_js_1 = require("./types.js");
|
|
40
|
+
const decode_js_1 = require("./decode.js");
|
|
40
41
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
41
42
|
// @ts-ignore - resolved at runtime via native.js loader
|
|
42
43
|
const native_js_1 = __importDefault(require("./native.js"));
|
|
@@ -256,12 +257,46 @@ class DatabaseImpl {
|
|
|
256
257
|
/**
|
|
257
258
|
* Execute a Lora query on the libuv threadpool. Returns a Promise that
|
|
258
259
|
* resolves with `{ columns, rows }`; errors surface as `LoraError`
|
|
259
|
-
* with a narrowed `code`
|
|
260
|
+
* with a narrowed `code` from the `LoraErrorCode` union (e.g.
|
|
261
|
+
* `LORA_PARSE`, `LORA_INVALID_PARAMS`, `LORA_INTERNAL`).
|
|
260
262
|
*/
|
|
261
263
|
async execute(query, params) {
|
|
262
264
|
try {
|
|
263
|
-
const
|
|
264
|
-
return
|
|
265
|
+
const buf = await this.#inner.execute(query, params ?? null);
|
|
266
|
+
return (0, decode_js_1.decodeResult)(buf);
|
|
267
|
+
}
|
|
268
|
+
catch (err) {
|
|
269
|
+
throw (0, types_js_1.wrapError)(err);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Compile a query and return its execution plan without running it.
|
|
274
|
+
*
|
|
275
|
+
* This is a separate API method from `execute()`; it never invokes the
|
|
276
|
+
* executor, so calling `explain()` on a mutating query (`CREATE`,
|
|
277
|
+
* `MERGE`, `SET`, `DELETE`, `REMOVE`) leaves the graph untouched.
|
|
278
|
+
* Errors surface with the same `LoraError` shape as `execute()`.
|
|
279
|
+
*/
|
|
280
|
+
async explain(query, params) {
|
|
281
|
+
try {
|
|
282
|
+
return (await this.#inner.explain(query, params ?? null));
|
|
283
|
+
}
|
|
284
|
+
catch (err) {
|
|
285
|
+
throw (0, types_js_1.wrapError)(err);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Execute a query and return the plan plus runtime metrics.
|
|
290
|
+
*
|
|
291
|
+
* **`profile()` runs the query for real.** Mutating queries
|
|
292
|
+
* (`CREATE`, `MERGE`, `SET`, `DELETE`, `REMOVE`) produce the same
|
|
293
|
+
* side effects as `execute()`: the WAL is written, snapshots observe
|
|
294
|
+
* the commit, and the live store advances. Use `explain()` if you
|
|
295
|
+
* want to inspect a mutating plan without running it.
|
|
296
|
+
*/
|
|
297
|
+
async profile(query, params) {
|
|
298
|
+
try {
|
|
299
|
+
return (await this.#inner.profile(query, params ?? null));
|
|
265
300
|
}
|
|
266
301
|
catch (err) {
|
|
267
302
|
throw (0, types_js_1.wrapError)(err);
|
|
@@ -296,7 +331,8 @@ class DatabaseImpl {
|
|
|
296
331
|
*/
|
|
297
332
|
async transaction(statements, mode = "read_write") {
|
|
298
333
|
try {
|
|
299
|
-
|
|
334
|
+
const buffers = await this.#inner.transaction(statements, mode);
|
|
335
|
+
return buffers.map((buf) => (0, decode_js_1.decodeResult)(buf));
|
|
300
336
|
}
|
|
301
337
|
catch (err) {
|
|
302
338
|
throw (0, types_js_1.wrapError)(err);
|
|
@@ -477,10 +513,10 @@ async function createDatabase(databaseName, options = {}) {
|
|
|
477
513
|
rawOptions.snapshotKeepOld !== undefined ||
|
|
478
514
|
rawOptions.snapshotOptions !== undefined;
|
|
479
515
|
if (hasWalOptions) {
|
|
480
|
-
throw new types_js_1.LoraError("walDir/snapshotDir are not valid for createDatabase(); use openWalDatabase()", "
|
|
516
|
+
throw new types_js_1.LoraError("walDir/snapshotDir are not valid for createDatabase(); use openWalDatabase()", "LORA_INVALID_PARAMS");
|
|
481
517
|
}
|
|
482
518
|
if (databaseName == null && hasPersistenceOptions) {
|
|
483
|
-
throw new types_js_1.LoraError("databaseName is required when persistence options are provided", "
|
|
519
|
+
throw new types_js_1.LoraError("databaseName is required when persistence options are provided", "LORA_INVALID_PARAMS");
|
|
484
520
|
}
|
|
485
521
|
const syncMode = options.syncMode ?? null;
|
|
486
522
|
const groupSyncIntervalMs = options.groupSyncIntervalMs ?? null;
|
|
@@ -498,10 +534,10 @@ async function openWalDatabase(options) {
|
|
|
498
534
|
options.snapshotKeepOld !== undefined ||
|
|
499
535
|
options.snapshotOptions !== undefined;
|
|
500
536
|
if (!options.walDir) {
|
|
501
|
-
throw new types_js_1.LoraError("walDir is required for openWalDatabase()", "
|
|
537
|
+
throw new types_js_1.LoraError("walDir is required for openWalDatabase()", "LORA_INVALID_PARAMS");
|
|
502
538
|
}
|
|
503
539
|
if (options.snapshotDir === undefined && hasSnapshotTuningOptions) {
|
|
504
|
-
throw new types_js_1.LoraError("snapshotDir is required when managed snapshot options are provided", "
|
|
540
|
+
throw new types_js_1.LoraError("snapshotDir is required when managed snapshot options are provided", "LORA_INVALID_PARAMS");
|
|
505
541
|
}
|
|
506
542
|
const syncMode = options.syncMode ?? null;
|
|
507
543
|
const groupSyncIntervalMs = options.groupSyncIntervalMs ?? null;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* spatial values are tagged so TypeScript can narrow safely after a
|
|
7
7
|
* query runs.
|
|
8
8
|
*
|
|
9
|
-
* Canonical source: `crates/shared-ts/types.ts`. Each JS-facing package
|
|
9
|
+
* Canonical source: `crates/bindings/shared-ts/types.ts`. Each JS-facing package
|
|
10
10
|
* (`lora-node`, `lora-wasm`) copies this file into its own `ts/` dir
|
|
11
11
|
* via its `sync:types` npm script. The `verify:types` script fails CI if
|
|
12
12
|
* the copies drift — do not edit the per-package copies directly.
|
|
@@ -182,6 +182,48 @@ export interface QueryResult<T extends Record<string, LoraValue> = Record<string
|
|
|
182
182
|
columns: string[];
|
|
183
183
|
rows: QueryRow<T>[];
|
|
184
184
|
}
|
|
185
|
+
export type LoraPlanShape = "readOnly" | "mutating";
|
|
186
|
+
export interface LoraPlanNode {
|
|
187
|
+
/** Stable physical-node id within the owning plan, or `Number.MAX_SAFE_INTEGER` for synthetic Union / UnionBranch wrappers. */
|
|
188
|
+
id: number;
|
|
189
|
+
/** Operator label, e.g. "NodeByLabelScan", "Expand", "Projection". */
|
|
190
|
+
operator: string;
|
|
191
|
+
/** Human-readable details map keyed on stable strings. Values are opaque strings — internal expression / variable types are not exposed here. */
|
|
192
|
+
details: Record<string, string>;
|
|
193
|
+
/** Reserved for a future cost model. Always `null` today. */
|
|
194
|
+
estimatedRows: number | null;
|
|
195
|
+
children: LoraPlanNode[];
|
|
196
|
+
}
|
|
197
|
+
export interface LoraQueryPlan {
|
|
198
|
+
/** The exact query string the caller submitted to `explain()`. */
|
|
199
|
+
query: string;
|
|
200
|
+
shape: LoraPlanShape;
|
|
201
|
+
/** Result column names in projection order. Empty for plans without a top-level projection. */
|
|
202
|
+
resultColumns: string[];
|
|
203
|
+
tree: LoraPlanNode;
|
|
204
|
+
}
|
|
205
|
+
export interface LoraOperatorMetrics {
|
|
206
|
+
rows: number;
|
|
207
|
+
/** Reserved for a future phase. `0` today. */
|
|
208
|
+
dbHits: number;
|
|
209
|
+
/** Wall-clock time spent inside this operator's `next_row`, *inclusive* of children. */
|
|
210
|
+
elapsedNs: number;
|
|
211
|
+
nextCalls: number;
|
|
212
|
+
}
|
|
213
|
+
export interface LoraQueryProfile {
|
|
214
|
+
/** Same shape as the result of `explain()`. */
|
|
215
|
+
plan: LoraQueryPlan;
|
|
216
|
+
metrics: {
|
|
217
|
+
/** Wall-clock time spent inside the executor for this query. */
|
|
218
|
+
totalElapsedNs: number;
|
|
219
|
+
/** Number of rows produced (before result-format projection). */
|
|
220
|
+
totalRows: number;
|
|
221
|
+
/** Whether at least one mutating operator ran. */
|
|
222
|
+
mutated: boolean;
|
|
223
|
+
/** Per-operator metrics keyed by physical node id (string-encoded for object compatibility). */
|
|
224
|
+
perOperator: Record<string, LoraOperatorMetrics>;
|
|
225
|
+
};
|
|
226
|
+
}
|
|
185
227
|
export declare function isNode(v: LoraValue): v is LoraNode;
|
|
186
228
|
export declare function isRelationship(v: LoraValue): v is LoraRelationship;
|
|
187
229
|
export declare function isPath(v: LoraValue): v is LoraPath;
|
|
@@ -207,14 +249,35 @@ export declare const cartesian3d: (x: number, y: number, z: number) => LoraCarte
|
|
|
207
249
|
export declare const wgs84: (longitude: number, latitude: number) => LoraWgs84Point;
|
|
208
250
|
export declare const wgs84_3d: (longitude: number, latitude: number, height: number) => LoraWgs84Point3D;
|
|
209
251
|
/**
|
|
210
|
-
* Error codes emitted by the engine bridges.
|
|
252
|
+
* Error codes emitted by the engine bridges. Mirrors
|
|
253
|
+
* `lora_database::LoraErrorCode::as_str` 1:1, plus two binding-only
|
|
254
|
+
* codes (`WORKER_ERROR`, `UNKNOWN`).
|
|
255
|
+
*
|
|
256
|
+
* Client errors (caller's fault):
|
|
257
|
+
* - `LORA_PARSE` — Cypher syntax could not be parsed
|
|
258
|
+
* - `LORA_SEMANTIC` — analysis failure (unknown variable, label, type mismatch, …)
|
|
259
|
+
* - `LORA_INVALID_PARAMS` — a parameter value could not be coerced
|
|
260
|
+
* - `LORA_READ_ONLY` — mutating statement issued in a read-only context
|
|
261
|
+
* - `LORA_NOT_FOUND` — a named entity does not exist
|
|
262
|
+
* - `LORA_CONSTRAINT` — a precondition (e.g. delete-with-relationships) is not satisfied
|
|
263
|
+
* - `LORA_INVALID_VECTOR` — vector value failed dimension / coordinate-type validation
|
|
264
|
+
* - `LORA_TIMEOUT` — query exceeded its cooperative deadline
|
|
265
|
+
* - `LORA_DATABASE_NAME` — logical database name violates the portable-path rules
|
|
266
|
+
* - `LORA_CONFIG` — required parameters are missing or malformed
|
|
267
|
+
*
|
|
268
|
+
* Server errors (engine-side):
|
|
269
|
+
* - `LORA_IO` — I/O failure outside the WAL / snapshot boundaries
|
|
270
|
+
* - `LORA_WAL_CORRUPTION` — WAL record was truncated, mis-CRC'd, or otherwise unreadable
|
|
271
|
+
* - `LORA_WAL_POISONED` — WAL is poisoned and no longer accepts durable writes
|
|
272
|
+
* - `LORA_SNAPSHOT_CODEC` — snapshot codec failure (bad magic, version, checksum, …)
|
|
273
|
+
* - `LORA_SNAPSHOT_CRYPTO` — snapshot encryption / decryption / KDF failure
|
|
274
|
+
* - `LORA_INTERNAL` — last-resort fallback when the engine cannot classify the failure
|
|
211
275
|
*
|
|
212
|
-
* -
|
|
213
|
-
* - `INVALID_PARAMS` — a param value could not be mapped to a Lora value
|
|
276
|
+
* Binding-only:
|
|
214
277
|
* - `WORKER_ERROR` — worker transport / lifecycle failure (wasm worker only)
|
|
215
278
|
* - `UNKNOWN` — fall-through for unrecognised error shapes
|
|
216
279
|
*/
|
|
217
|
-
export type LoraErrorCode = "
|
|
280
|
+
export type LoraErrorCode = "LORA_PARSE" | "LORA_SEMANTIC" | "LORA_INVALID_PARAMS" | "LORA_READ_ONLY" | "LORA_NOT_FOUND" | "LORA_CONSTRAINT" | "LORA_INVALID_VECTOR" | "LORA_TIMEOUT" | "LORA_DATABASE_NAME" | "LORA_CONFIG" | "LORA_IO" | "LORA_WAL_CORRUPTION" | "LORA_WAL_POISONED" | "LORA_SNAPSHOT_CODEC" | "LORA_SNAPSHOT_CRYPTO" | "LORA_INTERNAL" | "WORKER_ERROR" | "UNKNOWN";
|
|
218
281
|
/**
|
|
219
282
|
* Error thrown by `Database.execute` when Lora parsing, analysis, or
|
|
220
283
|
* execution fails.
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../ts/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../ts/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* spatial values are tagged so TypeScript can narrow safely after a
|
|
8
8
|
* query runs.
|
|
9
9
|
*
|
|
10
|
-
* Canonical source: `crates/shared-ts/types.ts`. Each JS-facing package
|
|
10
|
+
* Canonical source: `crates/bindings/shared-ts/types.ts`. Each JS-facing package
|
|
11
11
|
* (`lora-node`, `lora-wasm`) copies this file into its own `ts/` dir
|
|
12
12
|
* via its `sync:types` npm script. The `verify:types` script fails CI if
|
|
13
13
|
* the copies drift — do not edit the per-package copies directly.
|
|
@@ -134,7 +134,7 @@ class LoraError extends Error {
|
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
136
|
exports.LoraError = LoraError;
|
|
137
|
-
const ERROR_PREFIX_RE = /^(
|
|
137
|
+
const ERROR_PREFIX_RE = /^(LORA_[A-Z_]+|WORKER_ERROR):\s*(.*)$/s;
|
|
138
138
|
/**
|
|
139
139
|
* Normalise a thrown value into a `LoraError` with a narrowed `code`
|
|
140
140
|
* when the message carries a recognised prefix; otherwise returns the
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../ts/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../ts/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loradb/lora-node",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.1",
|
|
4
4
|
"description": "Node.js / TypeScript bindings for the Lora in-memory graph database",
|
|
5
5
|
"license": "BUSL-1.1",
|
|
6
6
|
"author": "LoraDB, Inc.",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
10
|
"url": "git+https://github.com/lora-db/lora.git",
|
|
11
|
-
"directory": "crates/lora-node"
|
|
11
|
+
"directory": "crates/bindings/lora-node"
|
|
12
12
|
},
|
|
13
13
|
"bugs": {
|
|
14
14
|
"url": "https://github.com/lora-db/lora/issues"
|
|
@@ -64,8 +64,8 @@
|
|
|
64
64
|
"node": ">=18"
|
|
65
65
|
},
|
|
66
66
|
"scripts": {
|
|
67
|
-
"sync:types": "node -e \"require('fs').copyFileSync('../shared-ts/
|
|
68
|
-
"verify:types": "node -e \"const fs=require('fs'); const a=fs.readFileSync('../shared-ts/
|
|
67
|
+
"sync:types": "node -e \"const fs=require('fs'); for (const f of ['types.ts','decode.ts']) fs.copyFileSync('../shared-ts/' + f, 'ts/' + f);\"",
|
|
68
|
+
"verify:types": "node -e \"const fs=require('fs'); for (const f of ['types.ts','decode.ts']) { const a=fs.readFileSync('../shared-ts/' + f,'utf8'); const b=fs.readFileSync('ts/' + f,'utf8'); if (a!==b) { console.error('ts/' + f + ' is out of sync with shared-ts/' + f + ' — run npm run sync:types'); process.exit(1);} } \"",
|
|
69
69
|
"prebuild": "npm run sync:types",
|
|
70
70
|
"pretypecheck": "npm run sync:types",
|
|
71
71
|
"pretest": "npm run sync:types",
|
|
@@ -76,9 +76,10 @@
|
|
|
76
76
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
77
77
|
"test": "vitest run",
|
|
78
78
|
"test:watch": "vitest",
|
|
79
|
+
"bench": "node bench/run.mjs",
|
|
79
80
|
"artifacts": "napi artifacts",
|
|
80
81
|
"create-npm-dirs": "napi create-npm-dir -t .",
|
|
81
|
-
"copy-license": "node -e \"const fs=require('fs'); try { fs.copyFileSync('
|
|
82
|
+
"copy-license": "node -e \"const fs=require('fs'); try { fs.copyFileSync('../../../LICENSE','LICENSE'); } catch (e) { if (e.code !== 'ENOENT') throw e; }\"",
|
|
82
83
|
"prepack": "npm run sync:types && npm run copy-license && npm run build",
|
|
83
84
|
"pack:dry": "npm pack --dry-run"
|
|
84
85
|
},
|
|
@@ -89,10 +90,10 @@
|
|
|
89
90
|
"vitest": "^2.1.1"
|
|
90
91
|
},
|
|
91
92
|
"optionalDependencies": {
|
|
92
|
-
"@loradb/lora-node-linux-x64-gnu": "0.
|
|
93
|
-
"@loradb/lora-node-linux-arm64-gnu": "0.
|
|
94
|
-
"@loradb/lora-node-darwin-x64": "0.
|
|
95
|
-
"@loradb/lora-node-darwin-arm64": "0.
|
|
96
|
-
"@loradb/lora-node-win32-x64-msvc": "0.
|
|
93
|
+
"@loradb/lora-node-linux-x64-gnu": "0.8.1",
|
|
94
|
+
"@loradb/lora-node-linux-arm64-gnu": "0.8.1",
|
|
95
|
+
"@loradb/lora-node-darwin-x64": "0.8.1",
|
|
96
|
+
"@loradb/lora-node-darwin-arm64": "0.8.1",
|
|
97
|
+
"@loradb/lora-node-win32-x64-msvc": "0.8.1"
|
|
97
98
|
}
|
|
98
99
|
}
|
package/ts/native.d.ts
CHANGED
|
@@ -32,11 +32,25 @@ export declare class Database {
|
|
|
32
32
|
snapshotKeepOld?: number | null,
|
|
33
33
|
snapshotOptions?: NativeSnapshotOptions | null,
|
|
34
34
|
);
|
|
35
|
-
/**
|
|
35
|
+
/**
|
|
36
|
+
* Non-blocking: runs on the libuv threadpool, returns a Promise.
|
|
37
|
+
* Resolves to the encoded result Buffer; the TS wrapper decodes it
|
|
38
|
+
* into the public `{columns, rows}` shape.
|
|
39
|
+
*/
|
|
36
40
|
execute(
|
|
37
41
|
query: string,
|
|
38
42
|
params?: Record<string, unknown> | null,
|
|
39
|
-
): Promise<
|
|
43
|
+
): Promise<Buffer>;
|
|
44
|
+
/** Compile a query and return its plan without executing it. */
|
|
45
|
+
explain(
|
|
46
|
+
query: string,
|
|
47
|
+
params?: Record<string, unknown> | null,
|
|
48
|
+
): Promise<unknown>;
|
|
49
|
+
/** Execute a query and return the plan plus runtime metrics. PROFILE executes writes. */
|
|
50
|
+
profile(
|
|
51
|
+
query: string,
|
|
52
|
+
params?: Record<string, unknown> | null,
|
|
53
|
+
): Promise<unknown>;
|
|
40
54
|
openStream(
|
|
41
55
|
query: string,
|
|
42
56
|
params?: Record<string, unknown> | null,
|
|
@@ -47,7 +61,7 @@ export declare class Database {
|
|
|
47
61
|
transaction(
|
|
48
62
|
statements: Array<{ query: string; params?: Record<string, unknown> | null }>,
|
|
49
63
|
mode?: "read_write" | "read_only" | "readwrite" | "readonly" | "rw" | "ro" | null,
|
|
50
|
-
): Promise<
|
|
64
|
+
): Promise<Buffer[]>;
|
|
51
65
|
/** Force pending WAL bytes and the portable archive mirror to disk. */
|
|
52
66
|
sync(): Promise<void>;
|
|
53
67
|
clear(): Promise<void>;
|