@thingd/native 0.91.0 → 0.92.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 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.91.0",
3
+ "version": "0.92.0",
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": "cargo build -p thingd-native --release && node scripts/copy-native.mjs",
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"