@thingd/sdk 0.74.2 → 0.75.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
@@ -21,6 +21,25 @@ const obj = await db.get("notes", "hello");
21
21
  console.log(obj); // { id: "hello", text: "Hello world", collection: "notes", version: 1, ... }
22
22
  ```
23
23
 
24
+ ### Optional native storage encryption
25
+
26
+ Native persistent storage accepts a 64-character hexadecimal representation of
27
+ a 32-byte encryption key:
28
+
29
+ ```typescript
30
+ const db = await ThingD.open({
31
+ driver: "native",
32
+ path: "./thingd-data",
33
+ encryption: { key: process.env.THINGD_ENCRYPTION_KEY },
34
+ });
35
+ ```
36
+
37
+ The key is required every time an encrypted database is reopened. Memory and
38
+ cloud drivers reject this local option. Do not commit keys or put them in MCP
39
+ configuration; inject them through the deployment environment. Storage
40
+ encryption does not change object, event, queue, graph, vector, search, REST,
41
+ or MCP APIs.
42
+
24
43
  ## Subpath imports
25
44
 
26
45
  ```typescript
@@ -1 +1 @@
1
- {"version":3,"file":"http-thing-store.d.ts","sourceRoot":"","sources":["../../src/client/http-thing-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-thing-store.d.ts","sourceRoot":"","sources":["../../src/client/http-thing-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,eAAe,EACf,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAUF,qBAAa,cAAe,YAAW,UAAU;IAMnC,OAAO,CAAC,QAAQ,CAAC,OAAO;IALpC,OAAa,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC,CAGvF;IAED,YAA6B,OAAO,EAAE,qBAAqB,EAAI;IAE/D,OAAO,KAAK,IAAI,GAGf;YAEa,OAAO;IAwBf,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAM/E;IAEK,GAAG,CAAC,CAAC,GAAG,kBAAkB,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAYnF;IAEK,QAAQ,CAAC,CAAC,GAAG,kBAAkB,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAM/F;IAEK,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAMvE;IAEK,WAAW,CAAC,CAAC,GAAG,kBAAkB,EACtC,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,CAAC,EAAE,CAAC,CAoBd;IAEK,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAEhF;IAEK,UAAU,CAAC,CAAC,GAAG,iBAAiB,EACpC,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,CAAC,EAAE,CAAC,CAed;IAEK,OAAO,CACX,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,QAAQ,CAAC,CAKnB;IAEK,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAMvF;IAEK,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAElE;IAEK,OAAO,CACX,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,cAAc,CAAC,CAEzB;IAEK,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAEjD;IAEK,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAErD;IAEK,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAE5F;IAEK,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,eAAe,EAAE,CAAC,CAO5B;IAEK,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAMzF;IAEK,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAOpE;IAEK,UAAU,CACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,OAAO,aAAa,EAAE,IAAI,CAAC,CAErC;IAEK,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAM7C;IAEK,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC,CAYpE;IAEK,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,OAAO,aAAa,EAAE,aAAsB,EACvD,OAAO,GAAE,OAAO,aAAa,EAAE,gBAAqB,GACnD,OAAO,CAAC,OAAO,aAAa,EAAE,IAAI,EAAE,CAAC,CASvC;IAEK,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAGpC;IAEK,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMlE;IAEK,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAGnC;IAEK,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAIvC;IAEK,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAErC;IAEK,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAGlC;IAEK,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAEzC;IAEK,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAErC;IAEK,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAEpC;IAEK,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElE;IAEK,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAEpD;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAG;IAEzB,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAExC;IAEK,uBAAuB,CAC3B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,aAAa,GACnB,OAAO,CAAC,eAAe,CAAC,CAU1B;IAEK,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAM7F;IAEK,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAEvF;IAEK,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAE1F;IAEK,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAKvF;IAEK,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAEzE;CACF"}
@@ -1,3 +1,10 @@
1
+ function trimTrailingSlashes(s) {
2
+ let end = s.length;
3
+ while (end > 0 && s.charCodeAt(end - 1) === 47) {
4
+ end--;
5
+ }
6
+ return s.slice(0, end);
7
+ }
1
8
  export class HttpThingStore {
2
9
  options;
3
10
  static async open(urlOrOptions) {
@@ -8,7 +15,7 @@ export class HttpThingStore {
8
15
  this.options = options;
9
16
  }
10
17
  get base() {
11
- const base = this.options.url.replace(/\/+$/, "");
18
+ const base = trimTrailingSlashes(this.options.url);
12
19
  return base.endsWith("/v1") ? base : `${base}/v1`;
13
20
  }
14
21
  async request(method, path, body) {
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@ export type { CloudThingStoreOptions } from "./stores/cloud-thing-store.js";
6
6
  export { CloudThingStore } from "./stores/cloud-thing-store.js";
7
7
  export { InMemoryThingStore } from "./stores/in-memory-thing-store.js";
8
8
  export { NativeThingStore } from "./stores/native-thing-store.js";
9
- export type { ThingDDriver, ThingDOpenConfig, ThingDOpenOptions } from "./thingd.js";
9
+ export type { ThingDDriver, ThingDEncryptionOptions, ThingDOpenConfig, ThingDOpenOptions, } from "./thingd.js";
10
10
  export { ThingD } from "./thingd.js";
11
11
  export type { AggregateFunction, AggregateGroupResult, AggregateOptions, AggregateResult, BackupCapableThingStore, CollectionSchema, ConnectorAuth, ConnectorSchema, ConnectorSyncOptions, ConnectorSyncResult, FieldSchema, FilterOperator, Link, LinkDirection, LinkQueryOptions, ListEventsOptions, ListObjectsOptions, LocalThingDConnection, MemoryEvent, MemoryObject, MemoryQueue, MemorySearchOptions, MemorySearchResult, NlqIntent, NlqOptions, NlqResult, PutOptions, QueueClaimOptions, QueueJob, QueueJobOptions, QueueJobPayload, QueueJobResult, QueueJobStatus, QueueNackOptions, ReconnectableThingStore, Schedule, ScheduleContext, ScheduleEvent, ScheduleHandler, ScheduleIntervalOptions, ScheduleOnceOptions, ScheduleOptions, SchedulerEventType, SchedulerFacade, SchedulerListener, SchedulerStats, SchemaOptions, SortBy, SortDirection, StoredMemoryEvent, StoredMemoryObject, ThingDConnection, ThingDeleteResult, ThingStore, TimeBucket, TimeSeriesBucket, TimeSeriesOptions, TimeSeriesResult, VectorSearchHit, VectorSearchOptions, WalCheckpointResult, } from "./types.js";
12
12
  export { SDK_VERSION } from "./version.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,UAAU,EACV,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,0BAA0B,EAC/B,8BAA8B,EAC9B,mBAAmB,EACnB,4BAA4B,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,GAC5B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,QAAQ,GACT,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,IAAI,EACJ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EACvB,QAAQ,EACR,eAAe,EACf,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,UAAU,EACV,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,0BAA0B,EAC/B,8BAA8B,EAC9B,mBAAmB,EACnB,4BAA4B,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,GAC5B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,QAAQ,GACT,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,YAAY,EACV,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,IAAI,EACJ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EACvB,QAAQ,EACR,eAAe,EACf,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/rest/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjE,KAAK,SAAS,GAAG,IAAI,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,SAAS,CAAC;AAC/E,KAAK,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAEpC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B,CAAC;AAIF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,SAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAavF;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAGjF;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAEjE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAEvF;AAED,wBAAgB,SAAS,CACvB,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,IAAI,CAEN;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,GAAG,SAAS,CAY5E;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAWxF;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAMtE"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/rest/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjE,KAAK,SAAS,GAAG,IAAI,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,SAAS,CAAC;AAC/E,KAAK,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAEpC,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B,CAAC;AAuBF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,SAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAavF;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAGjF;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAEjE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAEvF;AAED,wBAAgB,SAAS,CACvB,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,IAAI,CAEN;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,GAAG,SAAS,CAY5E;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAWxF;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAMtE"}
@@ -1,4 +1,22 @@
1
1
  const MAX_BODY_SIZE = 524_288; // 512KB
2
+ function sanitizeForJson(value) {
3
+ if (value instanceof Error) {
4
+ return { message: value.message };
5
+ }
6
+ if (Array.isArray(value)) {
7
+ return value.map(sanitizeForJson);
8
+ }
9
+ if (value && typeof value === "object") {
10
+ const clean = {};
11
+ for (const [k, v] of Object.entries(value)) {
12
+ if (k !== "stack") {
13
+ clean[k] = sanitizeForJson(v);
14
+ }
15
+ }
16
+ return clean;
17
+ }
18
+ return value;
19
+ }
2
20
  export function readBody(req, maxSize = MAX_BODY_SIZE) {
3
21
  return new Promise((resolve, reject) => {
4
22
  let body = "";
@@ -15,7 +33,7 @@ export function readBody(req, maxSize = MAX_BODY_SIZE) {
15
33
  }
16
34
  export function sendJson(res, status, data) {
17
35
  res.writeHead(status, { "Content-Type": "application/json" });
18
- res.end(JSON.stringify(data));
36
+ res.end(JSON.stringify(sanitizeForJson(data)));
19
37
  }
20
38
  export function sendData(res, data) {
21
39
  sendJson(res, 200, { data });
@@ -466,7 +466,7 @@ export async function handleRestRequest(db, req, res, pathname) {
466
466
  sendError(res, 404, "not_found", `No route for ${method} ${pathname}`);
467
467
  }
468
468
  catch (err) {
469
- const message = err instanceof Error ? err.message : String(err);
470
- sendError(res, 500, "internal_error", message);
469
+ console.error("Unhandled REST error", err);
470
+ sendError(res, 500, "internal_error", "An internal error occurred");
471
471
  }
472
472
  }
@@ -1,8 +1,9 @@
1
1
  import type { AggregateOptions, AggregateResult, CollectionSchema, ListEventsOptions, ListObjectsOptions, MemoryEvent, MemoryObject, MemorySearchOptions, MemorySearchResult, PutOptions, QueueClaimOptions, QueueJob, QueueJobOptions, QueueJobPayload, QueueJobResult, QueueNackOptions, SchemaOptions, StoredMemoryEvent, StoredMemoryObject, ThingDeleteResult, ThingStore, TimeSeriesOptions, TimeSeriesResult, VectorSearchHit, VectorSearchOptions } from "../types.js";
2
2
  export declare class NativeThingStore implements ThingStore {
3
3
  private readonly binding;
4
- static open(path: string): Promise<NativeThingStore>;
4
+ static open(path: string, encryptionKey?: string): Promise<NativeThingStore>;
5
5
  static isAvailable(): Promise<boolean>;
6
+ static reencrypt(sourcePath: string, destinationPath: string, sourceKey?: string, destinationKey?: string): Promise<void>;
6
7
  static getLoadedPath(): Promise<string | undefined>;
7
8
  private constructor();
8
9
  close(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"native-thing-store.d.ts","sourceRoot":"","sources":["../../src/stores/native-thing-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-thing-store.d.ts","sourceRoot":"","sources":["../../src/stores/native-thing-store.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,9 @@ const DEFAULT_LEASE_MS = 30_000;
4
4
  const NATIVE_PACKAGE_NAME = "@thingd/native";
5
5
  export class NativeThingStore {
6
6
  binding;
7
- static async open(path) {
7
+ static async open(path, encryptionKey) {
8
8
  const native = await loadNativeModule();
9
- return new NativeThingStore(native.NativeThingStore.open(path));
9
+ return new NativeThingStore(native.NativeThingStore.open(path, encryptionKey));
10
10
  }
11
11
  static async isAvailable() {
12
12
  try {
@@ -17,6 +17,10 @@ export class NativeThingStore {
17
17
  return false;
18
18
  }
19
19
  }
20
+ static async reencrypt(sourcePath, destinationPath, sourceKey, destinationKey) {
21
+ const native = await loadNativeModule();
22
+ native.reencrypt(sourcePath, destinationPath, sourceKey, destinationKey);
23
+ }
20
24
  static async getLoadedPath() {
21
25
  try {
22
26
  const native = await loadNativeModule();
@@ -228,6 +232,7 @@ async function loadNativeModule() {
228
232
  const binding = require(customPath);
229
233
  return {
230
234
  NativeThingStore: binding.NativeThingStore,
235
+ reencrypt: binding.reencrypt,
231
236
  loadedPath: customPath,
232
237
  };
233
238
  }
@@ -240,6 +245,7 @@ async function loadNativeModule() {
240
245
  const mod = (await import(NATIVE_PACKAGE_NAME));
241
246
  return {
242
247
  NativeThingStore: mod.NativeThingStore,
248
+ reencrypt: mod.reencrypt,
243
249
  loadedPath: mod.loadedPath,
244
250
  };
245
251
  }
@@ -268,6 +274,7 @@ async function loadNativeModule() {
268
274
  if (binding?.NativeThingStore) {
269
275
  return {
270
276
  NativeThingStore: binding.NativeThingStore,
277
+ reencrypt: binding.reencrypt,
271
278
  loadedPath: candidate,
272
279
  };
273
280
  }
package/dist/thingd.d.ts CHANGED
@@ -1,5 +1,9 @@
1
1
  import type { AggregateOptions, AggregateResult, CollectionSchema, ConnectorAuth, ConnectorSchema, ConnectorSyncOptions, ConnectorSyncResult, ListEventsOptions, ListObjectsOptions, LocalThingDConnection, MemoryEvent, MemoryObject, MemoryQueue, MemorySearchOptions, MemorySearchResult, NlqOptions, NlqResult, PutOptions, SchedulerFacade, SchemaOptions, StoredMemoryEvent, StoredMemoryObject, ThingDeleteResult, ThingStore, TimeSeriesOptions, TimeSeriesResult, VectorSearchHit, VectorSearchOptions } from "./types.js";
2
2
  export type ThingDDriver = "memory" | "native" | "cloud";
3
+ export type ThingDEncryptionOptions = {
4
+ /** 64 hexadecimal characters representing a 32-byte key. */
5
+ key?: string;
6
+ };
3
7
  export type ThingDOpenOptions = {
4
8
  driver?: ThingDDriver;
5
9
  store?: ThingStore;
@@ -8,6 +12,7 @@ export type ThingDOpenOptions = {
8
12
  apiKey?: string;
9
13
  /** Cloud instance slug for multi-instance routing. Passed as X-Instance-Slug header. */
10
14
  instanceSlug?: string;
15
+ encryption?: ThingDEncryptionOptions;
11
16
  };
12
17
  export type ThingDOpenConfig = ThingDOpenOptions & {
13
18
  path?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"thingd.d.ts","sourceRoot":"","sources":["../src/thingd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thingd.d.ts","sourceRoot":"","sources":["../src/thingd.ts"],"names":[],"mappings":"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"}
package/dist/thingd.js CHANGED
@@ -212,23 +212,29 @@ async function openStore(path, options) {
212
212
  return options.store;
213
213
  }
214
214
  if (options.driver === "cloud") {
215
+ if (options.encryption) {
216
+ throw new Error("Encryption options are only supported by the native persistent driver");
217
+ }
215
218
  return HttpThingStore.open({
216
219
  url: path,
217
220
  authToken: options.authToken,
218
221
  instanceSlug: options.instanceSlug,
219
222
  });
220
223
  }
224
+ if (options.driver === "memory" && options.encryption) {
225
+ throw new Error("Encryption options are only supported by the native persistent driver");
226
+ }
221
227
  const hasNative = await NativeThingStore.isAvailable();
222
228
  if (options.driver === "native") {
223
229
  if (!hasNative) {
224
230
  throw new Error(`The native thingd driver is not available. Install @thingd/native with "npm install @thingd/native". For monorepo development: "pnpm --filter thingd-native build".`);
225
231
  }
226
- return NativeThingStore.open(path);
232
+ return NativeThingStore.open(path, options.encryption?.key);
227
233
  }
228
234
  // Auto-detect and promote file paths to native store when available, with a warning fallback to memory.
229
235
  if (!options.driver && path !== ":memory:") {
230
236
  if (hasNative) {
231
- return NativeThingStore.open(path);
237
+ return NativeThingStore.open(path, options.encryption?.key);
232
238
  }
233
239
  console.warn(`Warning: The native thingd driver is not available. Falling back to the temporary in-memory store. Data will not persist. Run "pnpm --filter @thingd/native build" or install "@thingd/native" to enable native persistence.`);
234
240
  }
package/dist/version.d.ts CHANGED
@@ -2,5 +2,5 @@
2
2
  * The published version of the thingd SDK.
3
3
  * Updated automatically by Release Please during the release PR process.
4
4
  */
5
- export declare const SDK_VERSION = "0.74.2";
5
+ export declare const SDK_VERSION = "0.75.0";
6
6
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -2,4 +2,4 @@
2
2
  * The published version of the thingd SDK.
3
3
  * Updated automatically by Release Please during the release PR process.
4
4
  */
5
- export const SDK_VERSION = "0.74.2"; // x-release-please-version
5
+ export const SDK_VERSION = "0.75.0"; // x-release-please-version
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thingd/sdk",
3
- "version": "0.74.2",
3
+ "version": "0.75.0",
4
4
  "description": "A fast object-first data engine for applications and AI agents.",
5
5
  "type": "module",
6
6
  "author": "Sayan Mohsin",
@@ -67,7 +67,7 @@
67
67
  "README.md"
68
68
  ],
69
69
  "dependencies": {
70
- "@modelcontextprotocol/sdk": "^1.29.0",
70
+ "@modelcontextprotocol/sdk": "^1.30.0",
71
71
  "zod": "^4.4.3"
72
72
  },
73
73
  "optionalDependencies": {