@thingd/native 0.91.1 → 0.92.2
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 +28 -0
- package/index.d.ts +2 -0
- package/package.json +2 -2
- package/prebuilds/darwin-arm64/thingd_native.node +0 -0
- package/prebuilds/darwin-x64/thingd_native.node +0 -0
- package/prebuilds/linux-arm64/thingd_native.node +0 -0
- package/prebuilds/linux-x64/thingd_native.node +0 -0
- package/prebuilds/win32-x64/thingd_native.node +0 -0
package/README.md
CHANGED
|
@@ -12,9 +12,37 @@ by default; set `THINGD_STORAGE_BACKEND=thingdb` to opt into the experimental
|
|
|
12
12
|
Rust-native durable backend. Published packages include prebuilt native
|
|
13
13
|
artifacts for supported targets, so consumers normally do not install LLVM,
|
|
14
14
|
Clang, or RocksDB locally. The public SDK store contract remains unchanged.
|
|
15
|
+
Local native builds on macOS 26+ select a compatible deployment target when
|
|
16
|
+
`MACOSX_DEPLOYMENT_TARGET` is unset. This works around
|
|
17
|
+
[rust-lang/rust#157750](https://github.com/rust-lang/rust/issues/157750), where
|
|
18
|
+
the macOS loader rejects a misaligned native-library string table. An explicit
|
|
19
|
+
deployment target is always respected.
|
|
15
20
|
|
|
16
21
|
The native open boundary accepts an optional 64-character hexadecimal key for
|
|
17
22
|
authenticated encrypted storage. The key is validated before opening the Rust
|
|
18
23
|
engine. Missing or wrong keys are reported as stable open errors without
|
|
19
24
|
including key material. MCP and REST callers do not pass this key in requests;
|
|
20
25
|
the host process supplies it during startup.
|
|
26
|
+
|
|
27
|
+
## Rust build features
|
|
28
|
+
|
|
29
|
+
The Cargo package preserves its existing default build: RocksDB and ThingDB
|
|
30
|
+
backends, search, and vectors are enabled. Applications embedding this crate
|
|
31
|
+
can choose a smaller backend set explicitly:
|
|
32
|
+
|
|
33
|
+
```toml
|
|
34
|
+
thingd-native = { version = "0.91", default-features = false, features = [
|
|
35
|
+
"thingdb-backend",
|
|
36
|
+
"search",
|
|
37
|
+
"vectors",
|
|
38
|
+
] }
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
That ThingDB-only build does not compile `librocksdb-sys` or require the
|
|
42
|
+
RocksDB/LLVM/Clang toolchain. A filesystem-backed open must select
|
|
43
|
+
`THINGD_STORAGE_BACKEND=thingdb`; the runtime still defaults to RocksDB for
|
|
44
|
+
durable paths and returns an explicit unavailable-backend error if RocksDB was
|
|
45
|
+
not compiled in. The `:memory:` path continues to use ThingDB RAM mode. To keep
|
|
46
|
+
the historical durable backend, use the default features or explicitly enable
|
|
47
|
+
`rocksdb-backend`. That feature also enables ThingDB support because the shared
|
|
48
|
+
Thingd engine uses ThingDB for its RAM implementation.
|
package/index.d.ts
CHANGED
|
@@ -36,7 +36,9 @@ export class NativeThingStore {
|
|
|
36
36
|
priority?: number
|
|
37
37
|
): string;
|
|
38
38
|
claimJobJson(queue: string, leaseMs: number): string | null;
|
|
39
|
+
claimJobsJson(queue: string, leaseMs: number, limit: number): string;
|
|
39
40
|
ackJobJson(queue: string, id: string): string;
|
|
41
|
+
ackJobsJson(queue: string, idsJson: string): string;
|
|
40
42
|
nackJobJson(queue: string, id: string, delayMs: number, error?: string): string;
|
|
41
43
|
listJobsJson(queue: string): string;
|
|
42
44
|
listDeadJobsJson(queue: string): string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thingd/native",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.92.2",
|
|
4
4
|
"description": "Native Node.js binding for thingd — a fast object-first data engine for applications and AI agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"publishConfig": {
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"README.md"
|
|
30
30
|
],
|
|
31
31
|
"scripts": {
|
|
32
|
-
"build": "
|
|
32
|
+
"build": "node scripts/build-native.mjs",
|
|
33
33
|
"build:prebuild": "node scripts/copy-prebuild.mjs",
|
|
34
34
|
"clean": "node scripts/clean-native.mjs",
|
|
35
35
|
"prepack": "node scripts/validate-package.mjs"
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|