trellis 3.1.6 → 3.1.7

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.
Files changed (56) hide show
  1. package/README.md +1 -0
  2. package/bin/trellis.mjs +68 -2
  3. package/dist/better-sqlite-backend-ahx5p0br.js +147 -0
  4. package/dist/cli/index.js +116 -45
  5. package/dist/client/index.js +5 -4
  6. package/dist/cms/client.d.ts +2 -1
  7. package/dist/cms/client.d.ts.map +1 -1
  8. package/dist/cms/index.js +4 -0
  9. package/dist/cms/types.d.ts +1 -1
  10. package/dist/cms/types.d.ts.map +1 -1
  11. package/dist/core/index.d.ts +4 -0
  12. package/dist/core/index.d.ts.map +1 -1
  13. package/dist/core/index.js +14 -4
  14. package/dist/core/persist/factory.d.ts +28 -0
  15. package/dist/core/persist/factory.d.ts.map +1 -0
  16. package/dist/core/persist/factory.js +8 -0
  17. package/dist/core/persist/sqlite-backend.d.ts.map +1 -1
  18. package/dist/core/persist/sqljs-backend.d.ts +60 -0
  19. package/dist/core/persist/sqljs-backend.d.ts.map +1 -0
  20. package/dist/core/persist/sqljs-backend.js +8 -0
  21. package/dist/db/index.js +11 -10
  22. package/dist/embeddings/index.js +1 -1
  23. package/dist/embeddings/store.d.ts.map +1 -1
  24. package/dist/{index-0zk3fx2s.js → index-4wxa8xz4.js} +4 -237
  25. package/dist/{index-6n5dcebj.js → index-53f3b8p8.js} +84 -30
  26. package/dist/{index-y3d71wzd.js → index-7pjz3tsy.js} +36 -6
  27. package/dist/{index-0q7wbasy.js → index-a2a394zz.js} +7 -3
  28. package/dist/index-h32txmxe.js +42 -0
  29. package/dist/index-h7zxhhhh.js +252 -0
  30. package/dist/index-h9e2efx4.js +251 -0
  31. package/dist/{index-2917tjd8.js → index-hr9qvv77.js} +15 -3
  32. package/dist/{index-hmdbnd4n.js → index-hy73j9z8.js} +1 -1
  33. package/dist/{index-q31hfjja.js → index-jgda3xyv.js} +1 -1
  34. package/dist/{index-7e27kvvj.js → index-wncptktd.js} +1 -1
  35. package/dist/index.js +8 -6
  36. package/dist/react/index.js +5 -4
  37. package/dist/{sdk-snn5gad3.js → sdk-bepky0xs.js} +5 -4
  38. package/dist/server/index.d.ts +2 -2
  39. package/dist/server/index.d.ts.map +1 -1
  40. package/dist/server/index.js +27 -24
  41. package/dist/server/node-adapter.d.ts +38 -0
  42. package/dist/server/node-adapter.d.ts.map +1 -0
  43. package/dist/server/node-adapter.js +108 -0
  44. package/dist/server/server-shared.d.ts +21 -0
  45. package/dist/server/server-shared.d.ts.map +1 -0
  46. package/dist/server/server.d.ts +19 -2
  47. package/dist/server/server.d.ts.map +1 -1
  48. package/dist/server/tenancy.d.ts +28 -2
  49. package/dist/server/tenancy.d.ts.map +1 -1
  50. package/dist/{server-mrctdwzr.js → server-szdjx0nt.js} +5 -3
  51. package/dist/sqlite-backend-0vsmc6qj.js +8 -0
  52. package/dist/{tenancy-7d1g4ayp.js → tenancy-pjm32b4v.js} +4 -3
  53. package/dist/vcs/blob-store.d.ts +2 -1
  54. package/dist/vcs/blob-store.d.ts.map +1 -1
  55. package/dist/vcs/index.js +2 -2
  56. package/package.json +16 -3
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/cms/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/cms/client.ts"],"names":[],"mappings":"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"}
package/dist/cms/index.js CHANGED
@@ -477,6 +477,10 @@ class CollectionRef {
477
477
  const key = `coll:${typeKey(this.key)}:${JSON.stringify(listOpts)}`;
478
478
  return this.client._share(key, () => this.list(listOpts), callback, { onError, equals });
479
479
  }
480
+ async schema() {
481
+ const facts = await this.client._get(`/facts?limit=${MAX_FACTS_PER_FETCH}`);
482
+ return schemaFields(facts ?? [], [this.key]);
483
+ }
480
484
  }
481
485
 
482
486
  class EntryRef {
@@ -4,7 +4,7 @@
4
4
  * @module trellis/cms
5
5
  */
6
6
  export type EntryStatus = 'draft' | 'published';
7
- export type FieldKind = 'text' | 'rich_text' | 'number' | 'boolean' | 'date' | 'email' | 'url' | 'color' | 'select' | 'multiselect' | 'file' | 'formula' | 'reference' | 'image';
7
+ export type FieldKind = 'text' | 'rich_text' | 'number' | 'boolean' | 'date' | 'email' | 'url' | 'color' | 'select' | 'multiselect' | 'file' | 'formula' | 'reference' | 'image' | 'video' | 'audio';
8
8
  export type FieldDefinition = {
9
9
  key: string;
10
10
  label?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cms/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cms/types.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,10 @@ export type { Atom, EntityRef, Fact, Link, CatalogEntry, QueryTraceEntry, QueryR
11
11
  export type { KernelOp, KernelOpKind, KernelBackend, } from './persist/backend.js';
12
12
  export type { KernelMiddleware, MiddlewareContext, OpMiddlewareNext, } from './kernel/middleware.js';
13
13
  export { SqliteKernelBackend } from './persist/sqlite-backend.js';
14
+ export { SqlJsKernelBackend } from './persist/sqljs-backend.js';
15
+ export type { SqlJsKernelBackendOptions } from './persist/sqljs-backend.js';
16
+ export { createKernelBackend } from './persist/factory.js';
17
+ export type { CreateKernelBackendOptions } from './persist/factory.js';
14
18
  export { QueryEngine, parseQuery, parseRule, parseSimple, DatalogRuntime, } from './query/index.js';
15
19
  export type { Query, Pattern, FactPattern, LinkPattern, Term, Variable, Literal, Filter, FilterOp, Aggregate, OrderBy, Bindings, DatalogRule, } from './query/index.js';
16
20
  export { OntologyRegistry, validateEntity, validateStore, createValidationMiddleware, } from './ontology/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE1E,YAAY,EACV,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,YAAY,EACZ,eAAe,EACf,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,aAAa,GACd,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EACL,WAAW,EACX,UAAU,EACV,SAAS,EACT,WAAW,EACX,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,KAAK,EACL,OAAO,EACP,WAAW,EACX,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,YAAY,EACZ,aAAa,EACb,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,SAAS,EACT,cAAc,EACd,eAAe,EACf,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EACV,QAAQ,EACR,OAAO,EACP,WAAW,EACX,UAAU,EACV,QAAQ,EACR,aAAa,EACb,SAAS,EACT,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9D,YAAY,EACV,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,GACb,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE1E,YAAY,EACV,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,YAAY,EACZ,eAAe,EACf,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,aAAa,GACd,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,YAAY,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAG5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAGvE,OAAO,EACL,WAAW,EACX,UAAU,EACV,SAAS,EACT,WAAW,EACX,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,KAAK,EACL,OAAO,EACP,WAAW,EACX,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,YAAY,EACZ,aAAa,EACb,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,SAAS,EACT,cAAc,EACd,eAAe,EACf,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EACV,QAAQ,EACR,OAAO,EACP,WAAW,EACX,UAAU,EACV,QAAQ,EACR,aAAa,EACb,SAAS,EACT,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9D,YAAY,EACV,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,GACb,MAAM,4BAA4B,CAAC"}
@@ -9,6 +9,12 @@ import {
9
9
  validateEntity,
10
10
  validateStore
11
11
  } from "../index-w7ng765c.js";
12
+ import {
13
+ SqlJsKernelBackend
14
+ } from "../index-h9e2efx4.js";
15
+ import {
16
+ createKernelBackend
17
+ } from "../index-h32txmxe.js";
12
18
  import {
13
19
  DatalogRuntime,
14
20
  parseQuery,
@@ -16,9 +22,11 @@ import {
16
22
  parseSimple
17
23
  } from "../index-n9f2qyh5.js";
18
24
  import {
19
- SqliteKernelBackend,
20
25
  TrellisKernel
21
- } from "../index-0zk3fx2s.js";
26
+ } from "../index-4wxa8xz4.js";
27
+ import {
28
+ QueryEngine
29
+ } from "../index-yp88he8n.js";
22
30
  import {
23
31
  EAVStore,
24
32
  flatten,
@@ -26,8 +34,8 @@ import {
26
34
  jsonEntityFacts
27
35
  } from "../index-yhwjgfvj.js";
28
36
  import {
29
- QueryEngine
30
- } from "../index-yp88he8n.js";
37
+ SqliteKernelBackend
38
+ } from "../index-h7zxhhhh.js";
31
39
  import"../index-a76rekgs.js";
32
40
 
33
41
  // src/core/index.ts
@@ -565,10 +573,12 @@ export {
565
573
  jsonEntityFacts,
566
574
  flatten,
567
575
  createValidationMiddleware,
576
+ createKernelBackend,
568
577
  builtinOntologies,
569
578
  agentOntology,
570
579
  TrellisKernel,
571
580
  SqliteKernelBackend,
581
+ SqlJsKernelBackend,
572
582
  QueryEngine,
573
583
  PluginRegistry,
574
584
  OntologyRegistry,
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Kernel backend factory.
3
+ *
4
+ * Picks the right `KernelBackend` for the host runtime:
5
+ * - Bun → SqliteKernelBackend (bun:sqlite, native)
6
+ * - Node + better-sqlite3 installed → BetterSqliteKernelBackend
7
+ * - Otherwise → SqlJsKernelBackend (pure WASM, requires `sql.js`)
8
+ *
9
+ * This is an additive helper; existing callsites that construct a specific
10
+ * backend directly are unaffected. Use this when you want runtime portability
11
+ * (e.g. WebContainer demos, browser builds, restricted Node hosts).
12
+ *
13
+ * @module trellis/core/persist
14
+ */
15
+ import type { KernelBackend } from './backend.js';
16
+ export interface CreateKernelBackendOptions {
17
+ /**
18
+ * Override automatic detection. Useful for tests and for environments
19
+ * where the runtime check would pick the wrong backend.
20
+ */
21
+ backend?: 'bun' | 'better-sqlite' | 'sqljs';
22
+ /** Forwarded to `SqlJsKernelBackend` when that backend is selected. */
23
+ sqljs?: {
24
+ autoFlushEvery?: number;
25
+ };
26
+ }
27
+ export declare function createKernelBackend(dbPath: string, opts?: CreateKernelBackendOptions): Promise<KernelBackend>;
28
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/core/persist/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,GAAG,eAAe,GAAG,OAAO,CAAC;IAC5C,uEAAuE;IACvE,KAAK,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACrC;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,0BAA+B,GACpC,OAAO,CAAC,aAAa,CAAC,CA0BxB"}
@@ -0,0 +1,8 @@
1
+ // @bun
2
+ import {
3
+ createKernelBackend
4
+ } from "../../index-h32txmxe.js";
5
+ import"../../index-a76rekgs.js";
6
+ export {
7
+ createKernelBackend
8
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-backend.d.ts","sourceRoot":"","sources":["../../../src/core/persist/sqlite-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAuC5D,qBAAa,mBAAoB,YAAW,aAAa;IAiB3C,OAAO,CAAC,MAAM;IAhB1B,OAAO,CAAC,EAAE,CAAW;IACrB,OAAO,CAAC,MAAM,CAaE;gBAEI,MAAM,EAAE,MAAM;IAIlC,IAAI,IAAI,IAAI;IAQZ,OAAO,CAAC,kBAAkB;IAqD1B,MAAM,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI;IAoB1B,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,IAAI;IASlC,OAAO,IAAI,QAAQ,EAAE;IAKrB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE;IAKnC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE;IAKnC,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,EAAE;IAUpD,SAAS,IAAI,QAAQ,GAAG,SAAS;IAKjC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI7C,UAAU,IAAI,MAAM;IAIpB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAK/C,KAAK,IAAI,MAAM;IAKf;;;OAGG;IACH,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IA2BtE,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IAOjD,kBAAkB,IAAI;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,GAAG,SAAS;IAanE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAOhD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAM7C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQ9B,KAAK,IAAI,IAAI;CAGd"}
1
+ {"version":3,"file":"sqlite-backend.d.ts","sourceRoot":"","sources":["../../../src/core/persist/sqlite-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AA6D5D,qBAAa,mBAAoB,YAAW,aAAa;IAiB3C,OAAO,CAAC,MAAM;IAhB1B,OAAO,CAAC,EAAE,CAAW;IACrB,OAAO,CAAC,MAAM,CAaE;gBAEI,MAAM,EAAE,MAAM;IAKlC,IAAI,IAAI,IAAI;IAQZ,OAAO,CAAC,kBAAkB;IAqD1B,MAAM,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI;IAoB1B,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,IAAI;IASlC,OAAO,IAAI,QAAQ,EAAE;IAKrB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE;IAKnC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE;IAKnC,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,EAAE;IAUpD,SAAS,IAAI,QAAQ,GAAG,SAAS;IAKjC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI7C,UAAU,IAAI,MAAM;IAIpB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAK/C,KAAK,IAAI,MAAM;IAKf;;;OAGG;IACH,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IA2BtE,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IAOjD,kBAAkB,IAAI;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,GAAG,SAAS;IAanE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAOhD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAM7C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQ9B,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * sql.js-backed Kernel Backend
3
+ *
4
+ * Pure-WASM SQLite. Use this backend in environments that cannot load
5
+ * native binaries or `bun:sqlite` — Node-without-Bun, WebContainer, browser.
6
+ *
7
+ * sql.js holds the database image in memory. Persistence is implemented by
8
+ * snapshotting the full image to disk on close and at a configurable write
9
+ * interval. Appropriate for kernel op-log sized datasets; not appropriate
10
+ * for very large stores where incremental flushes matter.
11
+ *
12
+ * @module trellis/core/persist
13
+ */
14
+ import type { KernelOp, KernelBackend } from './backend.js';
15
+ export interface SqlJsKernelBackendOptions {
16
+ /** Filesystem path to load/persist DB image. Pass `:memory:` to disable disk I/O. */
17
+ dbPath: string;
18
+ /** Auto-flush every N writes. Default 50. Set 0 to disable auto-flush. */
19
+ autoFlushEvery?: number;
20
+ }
21
+ export declare class SqlJsKernelBackend implements KernelBackend {
22
+ private opts;
23
+ private db;
24
+ private stmts;
25
+ private writes;
26
+ private flushEvery;
27
+ private initialized;
28
+ private constructor();
29
+ /**
30
+ * Async factory — sql.js WASM init is async, but the resulting backend
31
+ * exposes the synchronous KernelBackend surface, so it slots into the
32
+ * existing kernel without interface changes.
33
+ */
34
+ static create(opts: SqlJsKernelBackendOptions): Promise<SqlJsKernelBackend>;
35
+ private bootstrap;
36
+ private loadFromDisk;
37
+ private flushToDisk;
38
+ init(): void;
39
+ private prepareStatements;
40
+ append(op: KernelOp): void;
41
+ readAll(): KernelOp[];
42
+ readUntil(hash: string): KernelOp[];
43
+ readAfter(hash: string): KernelOp[];
44
+ readUntilTimestamp(iso: string): KernelOp[];
45
+ getByHash(hash: string): KernelOp | undefined;
46
+ getLastOp(): KernelOp | undefined;
47
+ getOpCount(): number;
48
+ saveSnapshot(lastOpHash: string, data: any): void;
49
+ loadLatestSnapshot(): {
50
+ lastOpHash: string;
51
+ data: any;
52
+ } | undefined;
53
+ close(): void;
54
+ /** Force a write of the in-memory DB image to disk. */
55
+ flush(): void;
56
+ private runAll;
57
+ private runOne;
58
+ private tickFlush;
59
+ }
60
+ //# sourceMappingURL=sqljs-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqljs-backend.d.ts","sourceRoot":"","sources":["../../../src/core/persist/sqljs-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAgC5D,MAAM,WAAW,yBAAyB;IACxC,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,kBAAmB,YAAW,aAAa;IAOlC,OAAO,CAAC,IAAI;IANhC,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO;IAIP;;;;OAIG;WACU,MAAM,CACjB,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,kBAAkB,CAAC;YAMhB,SAAS;IAwCvB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,WAAW;IAgBnB,IAAI,IAAI,IAAI;IAOZ,OAAO,CAAC,iBAAiB;IAsCzB,MAAM,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI;IAqB1B,OAAO,IAAI,QAAQ,EAAE;IAGrB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE;IAGnC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE;IAGnC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE;IAS3C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAG7C,SAAS,IAAI,QAAQ,GAAG,SAAS;IAGjC,UAAU,IAAI,MAAM;IAQpB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IASjD,kBAAkB,IAAI;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,GAAG,SAAS;IAYnE,KAAK,IAAI,IAAI;IASb,uDAAuD;IACvD,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,SAAS;CAIlB"}
@@ -0,0 +1,8 @@
1
+ // @bun
2
+ import {
3
+ SqlJsKernelBackend
4
+ } from "../../index-h9e2efx4.js";
5
+ import"../../index-a76rekgs.js";
6
+ export {
7
+ SqlJsKernelBackend
8
+ };
package/dist/db/index.js CHANGED
@@ -1,5 +1,10 @@
1
1
  // @bun
2
2
  import"../index-c9h37r6h.js";
3
+ import {
4
+ deploy
5
+ } from "../index-wt8rz4gn.js";
6
+ import"../index-bmyt7k8n.js";
7
+ import"../index-y6a4kj0p.js";
3
8
  import {
4
9
  ADMIN_ONLY,
5
10
  ANONYMOUS,
@@ -17,22 +22,17 @@ import {
17
22
  signJwt,
18
23
  startServer,
19
24
  verifyJwt
20
- } from "../index-6n5dcebj.js";
25
+ } from "../index-53f3b8p8.js";
21
26
  import {
22
27
  importFile,
23
28
  importRecords
24
29
  } from "../index-skhn0agf.js";
25
- import {
26
- deploy
27
- } from "../index-wt8rz4gn.js";
28
- import"../index-bmyt7k8n.js";
29
- import"../index-y6a4kj0p.js";
30
30
  import"../index-n9f2qyh5.js";
31
31
  import"../index-k5b0xskw.js";
32
32
  import {
33
33
  FetchError,
34
34
  TrellisDb
35
- } from "../index-7e27kvvj.js";
35
+ } from "../index-wncptktd.js";
36
36
  import {
37
37
  CONFIG_FILE,
38
38
  configPath,
@@ -45,10 +45,11 @@ import {
45
45
  import {
46
46
  DEFAULT_TENANT,
47
47
  TenantPool
48
- } from "../index-y3d71wzd.js";
49
- import"../index-0zk3fx2s.js";
50
- import"../index-yhwjgfvj.js";
48
+ } from "../index-7pjz3tsy.js";
49
+ import"../index-4wxa8xz4.js";
51
50
  import"../index-yp88he8n.js";
51
+ import"../index-yhwjgfvj.js";
52
+ import"../index-h7zxhhhh.js";
52
53
  import"../index-a76rekgs.js";
53
54
  export {
54
55
  writeConfig,
@@ -20,7 +20,7 @@ import {
20
20
  loadModel,
21
21
  resetModel,
22
22
  slidingWindow
23
- } from "../index-2917tjd8.js";
23
+ } from "../index-hr9qvv77.js";
24
24
  import"../index-a76rekgs.js";
25
25
  init_embeddings();
26
26
 
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/embeddings/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EACV,SAAS,EAET,eAAe,EACf,aAAa,EACb,YAAY,EACb,MAAM,YAAY,CAAC;AA+BpB,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAAW;gBAET,MAAM,EAAE,MAAM;IAO1B;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IA4BrC;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI;IA+B7C;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKxB;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAetC;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAepC;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAQtC;;;OAGG;IACH,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,GAAE,aAAkB,GAAG,YAAY,EAAE;IAwD3E;;OAEG;IACH,KAAK,IAAI,MAAM;IAOf;;OAEG;IACH,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAarC;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd;AAiBD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAYzE"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/embeddings/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,SAAS,EAET,eAAe,EACf,aAAa,EACb,YAAY,EACb,MAAM,YAAY,CAAC;AAqDpB,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAAW;gBAET,MAAM,EAAE,MAAM;IAQ1B;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IA4BrC;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI;IA+B7C;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKxB;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAetC;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAepC;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAQtC;;;OAGG;IACH,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,GAAE,aAAkB,GAAG,YAAY,EAAE;IAwD3E;;OAEG;IACH,KAAK,IAAI,MAAM;IAOf;;OAEG;IACH,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAarC;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd;AAiBD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAYzE"}
@@ -1,11 +1,11 @@
1
1
  // @bun
2
+ import {
3
+ QueryEngine
4
+ } from "./index-yp88he8n.js";
2
5
  import {
3
6
  EAVStore,
4
7
  init_eav_store
5
8
  } from "./index-yhwjgfvj.js";
6
- import {
7
- QueryEngine
8
- } from "./index-yp88he8n.js";
9
9
 
10
10
  // src/core/kernel/trellis-kernel.ts
11
11
  init_eav_store();
@@ -768,237 +768,4 @@ class TrellisKernel {
768
768
  }
769
769
  }
770
770
 
771
- // src/core/persist/sqlite-backend.ts
772
- import { Database } from "bun:sqlite";
773
- var SCHEMA_SQL = `
774
- CREATE TABLE IF NOT EXISTS ops (
775
- hash TEXT PRIMARY KEY,
776
- kind TEXT NOT NULL,
777
- timestamp TEXT NOT NULL,
778
- agent_id TEXT NOT NULL,
779
- previous_hash TEXT,
780
- payload TEXT NOT NULL
781
- );
782
-
783
- CREATE TABLE IF NOT EXISTS snapshots (
784
- id INTEGER PRIMARY KEY AUTOINCREMENT,
785
- last_op_hash TEXT NOT NULL,
786
- data TEXT NOT NULL,
787
- created_at TEXT NOT NULL DEFAULT (datetime('now'))
788
- );
789
-
790
- CREATE TABLE IF NOT EXISTS blobs (
791
- hash TEXT PRIMARY KEY,
792
- content BLOB NOT NULL
793
- );
794
-
795
- CREATE INDEX IF NOT EXISTS idx_ops_kind ON ops(kind);
796
- CREATE INDEX IF NOT EXISTS idx_ops_timestamp ON ops(timestamp);
797
- CREATE INDEX IF NOT EXISTS idx_ops_agent ON ops(agent_id);
798
- CREATE INDEX IF NOT EXISTS idx_ops_previous ON ops(previous_hash);
799
- CREATE INDEX IF NOT EXISTS idx_snapshots_op ON snapshots(last_op_hash);
800
- `;
801
-
802
- class SqliteKernelBackend {
803
- dbPath;
804
- db;
805
- _stmts = null;
806
- constructor(dbPath) {
807
- this.dbPath = dbPath;
808
- this.db = new Database(dbPath);
809
- }
810
- init() {
811
- this.db.exec("PRAGMA journal_mode=WAL;");
812
- this.db.exec("PRAGMA foreign_keys=ON;");
813
- this.db.exec("PRAGMA synchronous=NORMAL;");
814
- this.db.exec(SCHEMA_SQL);
815
- this._prepareStatements();
816
- }
817
- _prepareStatements() {
818
- this._stmts = {
819
- insert: this.db.prepare(`
820
- INSERT OR IGNORE INTO ops (hash, kind, timestamp, agent_id, previous_hash, payload)
821
- VALUES ($hash, $kind, $timestamp, $agentId, $previousHash, $payload)
822
- `),
823
- readAll: this.db.prepare(`
824
- SELECT hash, kind, timestamp, agent_id, previous_hash, payload
825
- FROM ops ORDER BY rowid ASC
826
- `),
827
- readUntil: this.db.prepare(`
828
- SELECT hash, kind, timestamp, agent_id, previous_hash, payload
829
- FROM ops WHERE rowid <= (SELECT rowid FROM ops WHERE hash = $hash)
830
- ORDER BY rowid ASC
831
- `),
832
- readAfter: this.db.prepare(`
833
- SELECT hash, kind, timestamp, agent_id, previous_hash, payload
834
- FROM ops WHERE rowid > (SELECT rowid FROM ops WHERE hash = $hash)
835
- ORDER BY rowid ASC
836
- `),
837
- getByHash: this.db.prepare(`
838
- SELECT hash, kind, timestamp, agent_id, previous_hash, payload
839
- FROM ops WHERE hash = $hash
840
- `),
841
- getLast: this.db.prepare(`
842
- SELECT hash, kind, timestamp, agent_id, previous_hash, payload
843
- FROM ops ORDER BY rowid DESC LIMIT 1
844
- `),
845
- count: this.db.prepare("SELECT COUNT(*) as cnt FROM ops"),
846
- saveSnapshot: this.db.prepare(`
847
- INSERT INTO snapshots (last_op_hash, data)
848
- VALUES ($lastOpHash, $data)
849
- `),
850
- loadSnapshot: this.db.prepare(`
851
- SELECT last_op_hash, data FROM snapshots
852
- ORDER BY id DESC LIMIT 1
853
- `),
854
- putBlob: this.db.prepare(`
855
- INSERT OR IGNORE INTO blobs (hash, content) VALUES ($hash, $content)
856
- `),
857
- getBlob: this.db.prepare(`
858
- SELECT content FROM blobs WHERE hash = $hash
859
- `),
860
- hasBlob: this.db.prepare(`
861
- SELECT 1 FROM blobs WHERE hash = $hash
862
- `)
863
- };
864
- }
865
- append(op) {
866
- const payload = JSON.stringify({
867
- facts: op.facts,
868
- links: op.links,
869
- ...op.deleteFacts?.length ? { deleteFacts: op.deleteFacts } : {},
870
- ...op.deleteLinks?.length ? { deleteLinks: op.deleteLinks } : {},
871
- ...op.vcs ? { vcs: op.vcs } : {},
872
- ...op.signature ? { signature: op.signature } : {}
873
- });
874
- this._stmts.insert.run({
875
- $hash: op.hash,
876
- $kind: op.kind,
877
- $timestamp: op.timestamp,
878
- $agentId: op.agentId,
879
- $previousHash: op.previousHash ?? null,
880
- $payload: payload
881
- });
882
- }
883
- appendBatch(ops) {
884
- if (ops.length === 0)
885
- return;
886
- this.db.transaction(() => {
887
- for (const op of ops) {
888
- this.append(op);
889
- }
890
- })();
891
- }
892
- readAll() {
893
- const rows = this._stmts.readAll.all();
894
- return rows.map(rowToOp);
895
- }
896
- readUntil(hash) {
897
- const rows = this._stmts.readUntil.all({ $hash: hash });
898
- return rows.map(rowToOp);
899
- }
900
- readAfter(hash) {
901
- const rows = this._stmts.readAfter.all({ $hash: hash });
902
- return rows.map(rowToOp);
903
- }
904
- readUntilTimestamp(isoTimestamp) {
905
- const rows = this.db.prepare(`SELECT hash, kind, timestamp, agent_id, previous_hash, payload
906
- FROM ops WHERE timestamp <= $ts ORDER BY rowid ASC`).all({ $ts: isoTimestamp });
907
- return rows.map(rowToOp);
908
- }
909
- getLastOp() {
910
- const row = this._stmts.getLast.get();
911
- return row ? rowToOp(row) : undefined;
912
- }
913
- getByHash(hash) {
914
- return this.getOpByHash(hash);
915
- }
916
- getOpCount() {
917
- return this.count();
918
- }
919
- getOpByHash(hash) {
920
- const row = this._stmts.getByHash.get({ $hash: hash });
921
- return row ? rowToOp(row) : undefined;
922
- }
923
- count() {
924
- const row = this._stmts.count.get();
925
- return row?.cnt ?? 0;
926
- }
927
- findCommonAncestor(hashA, hashB) {
928
- const ancestorsA = new Set;
929
- let cursor = hashA;
930
- while (cursor) {
931
- ancestorsA.add(cursor);
932
- const op = this.getOpByHash(cursor);
933
- cursor = op?.previousHash;
934
- }
935
- cursor = hashB;
936
- while (cursor) {
937
- if (ancestorsA.has(cursor)) {
938
- return this.getOpByHash(cursor);
939
- }
940
- const op = this.getOpByHash(cursor);
941
- cursor = op?.previousHash;
942
- }
943
- return;
944
- }
945
- saveSnapshot(lastOpHash, data) {
946
- this._stmts.saveSnapshot.run({
947
- $lastOpHash: lastOpHash,
948
- $data: JSON.stringify(data)
949
- });
950
- }
951
- loadLatestSnapshot() {
952
- const row = this._stmts.loadSnapshot.get();
953
- if (!row)
954
- return;
955
- return {
956
- lastOpHash: row.last_op_hash,
957
- data: JSON.parse(row.data)
958
- };
959
- }
960
- putBlob(hash, content) {
961
- this._stmts.putBlob.run({
962
- $hash: hash,
963
- $content: Buffer.from(content)
964
- });
965
- }
966
- getBlob(hash) {
967
- const row = this._stmts.getBlob.get({ $hash: hash });
968
- if (!row)
969
- return;
970
- return new Uint8Array(row.content);
971
- }
972
- hasBlob(hash) {
973
- return !!this._stmts.hasBlob.get({ $hash: hash });
974
- }
975
- close() {
976
- this.db.close();
977
- }
978
- }
979
- function rowToOp(row) {
980
- const payload = JSON.parse(row.payload);
981
- const op = {
982
- hash: row.hash,
983
- kind: row.kind,
984
- timestamp: row.timestamp,
985
- agentId: row.agent_id
986
- };
987
- if (row.previous_hash)
988
- op.previousHash = row.previous_hash;
989
- if (payload.facts)
990
- op.facts = payload.facts;
991
- if (payload.links)
992
- op.links = payload.links;
993
- if (payload.deleteFacts)
994
- op.deleteFacts = payload.deleteFacts;
995
- if (payload.deleteLinks)
996
- op.deleteLinks = payload.deleteLinks;
997
- if (payload.vcs)
998
- op.vcs = payload.vcs;
999
- if (payload.signature)
1000
- op.signature = payload.signature;
1001
- return op;
1002
- }
1003
-
1004
- export { TrellisKernel, SqliteKernelBackend };
771
+ export { TrellisKernel };