agentdb 1.0.5 → 1.0.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"vector-db.d.ts","sourceRoot":"","sources":["../../src/core/vector-db.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGzF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAAC,CAA6B;IAChD,OAAO,CAAC,SAAS,CAAC,CAAmB;gBAEzB,MAAM,GAAE,sBAA2B;IAiC/C;;OAEG;IACH,OAAO,CAAC,aAAa;IAqBrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;;OAGG;IACG,eAAe,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7D;;OAEG;IACH,cAAc,IAAI,WAAW;IAI7B;;OAEG;IACH,aAAa,IAAI,OAAO;IAOxB;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAI9B;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAIxC;;OAEG;IACH,MAAM,CACJ,cAAc,EAAE,MAAM,EAAE,EACxB,CAAC,GAAE,MAAU,EACb,MAAM,GAAE,gBAA2B,EACnC,SAAS,GAAE,MAAY,GACtB,YAAY,EAAE;IAmBjB;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI9B;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI3B;;OAEG;IACH,KAAK,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAIxC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,MAAM,IAAI,UAAU,GAAG,SAAS;IAOhC;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlD;;OAEG;IACH,UAAU,IAAI,aAAa;IAI3B;;;OAGG;IACH,WAAW,IAAI,GAAG;IAOlB;;OAEG;IACH,aAAa,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC,GAAG,SAAS;IAIvD;;OAEG;IACH,aAAa;IAIb;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,YAAY,IAAI,gBAAgB,GAAG,SAAS;IAI5C;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBrC;;OAEG;IACH,mBAAmB;IAInB;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,CAAC,GAAG,GAAG,KAAK,kBAAkB,CAAC,CAAC,CAAC;CAGxC"}
1
+ {"version":3,"file":"vector-db.d.ts","sourceRoot":"","sources":["../../src/core/vector-db.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAEzF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAK5D,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAAC,CAA6B;IAChD,OAAO,CAAC,SAAS,CAAC,CAAmB;gBAEzB,MAAM,GAAE,sBAA2B;IAiC/C;;OAEG;IACH,OAAO,CAAC,aAAa;IAgBrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAmBrB;;;OAGG;IACG,eAAe,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7D;;OAEG;IACH,cAAc,IAAI,WAAW;IAI7B;;OAEG;IACH,aAAa,IAAI,OAAO;IAOxB;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAI9B;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAIxC;;OAEG;IACH,MAAM,CACJ,cAAc,EAAE,MAAM,EAAE,EACxB,CAAC,GAAE,MAAU,EACb,MAAM,GAAE,gBAA2B,EACnC,SAAS,GAAE,MAAY,GACtB,YAAY,EAAE;IAmBjB;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI9B;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI3B;;OAEG;IACH,KAAK,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAIxC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,MAAM,IAAI,UAAU,GAAG,SAAS;IAOhC;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlD;;OAEG;IACH,UAAU,IAAI,aAAa;IAI3B;;;OAGG;IACH,WAAW,IAAI,GAAG;IAOlB;;OAEG;IACH,aAAa,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC,GAAG,SAAS;IAIvD;;OAEG;IACH,aAAa;IAIb;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,YAAY,IAAI,gBAAgB,GAAG,SAAS;IAI5C;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBrC;;OAEG;IACH,mBAAmB;IAInB;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,CAAC,GAAG,GAAG,KAAK,kBAAkB,CAAC,CAAC,CAAC;CAGxC"}
@@ -6,11 +6,12 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.SQLiteVectorDB = void 0;
8
8
  const backend_interface_1 = require("./backend-interface");
9
- const native_backend_1 = require("./native-backend");
10
9
  const wasm_backend_1 = require("./wasm-backend");
11
10
  const query_cache_1 = require("../cache/query-cache");
12
11
  const product_quantization_1 = require("../quantization/product-quantization");
13
12
  const query_builder_1 = require("../query/query-builder");
13
+ // Dynamic import for NativeBackend to avoid bundling better-sqlite3 in browser builds
14
+ let NativeBackend = null;
14
15
  class SQLiteVectorDB {
15
16
  constructor(config = {}) {
16
17
  // If path is provided but memoryMode not specified, default to file mode
@@ -53,14 +54,8 @@ class SQLiteVectorDB {
53
54
  // Browser environment
54
55
  return backend_interface_1.BackendType.WASM;
55
56
  }
56
- // Node.js environment - check if better-sqlite3 is available
57
- try {
58
- require.resolve('better-sqlite3');
59
- return backend_interface_1.BackendType.NATIVE;
60
- }
61
- catch {
62
- return backend_interface_1.BackendType.WASM;
63
- }
57
+ // Node.js environment - default to NATIVE, will fallback to WASM if not available
58
+ return backend_interface_1.BackendType.NATIVE;
64
59
  }
65
60
  /**
66
61
  * Create backend instance
@@ -68,7 +63,16 @@ class SQLiteVectorDB {
68
63
  createBackend(type) {
69
64
  switch (type) {
70
65
  case backend_interface_1.BackendType.NATIVE:
71
- return new native_backend_1.NativeBackend();
66
+ // Lazy load NativeBackend only when needed (Node.js environment)
67
+ if (!NativeBackend) {
68
+ try {
69
+ NativeBackend = require('./native-backend').NativeBackend;
70
+ }
71
+ catch (error) {
72
+ throw new Error('NativeBackend not available. Install better-sqlite3 or use WASM backend.');
73
+ }
74
+ }
75
+ return new NativeBackend();
72
76
  case backend_interface_1.BackendType.WASM:
73
77
  return new wasm_backend_1.WasmBackend();
74
78
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"vector-db.js","sourceRoot":"","sources":["../../src/core/vector-db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vector-db.js","sourceRoot":"","sources":["../../src/core/vector-db.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,2DAAyF;AACzF,iDAA6C;AAC7C,sDAAkD;AAClD,+EAAwE;AACxE,0DAA4D;AAE5D,sFAAsF;AACtF,IAAI,aAAa,GAAQ,IAAI,CAAC;AAE9B,MAAa,cAAc;IAMzB,YAAY,SAAiC,EAAE;QAC7C,yEAAyE;QACzE,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACnD,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;QAC5B,CAAC;QAED,yBAAyB;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE9C,6BAA6B;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEpD,oCAAoC;QACpC,IAAI,MAAM,CAAC,UAAU,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;YACzC,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAU,CAAiB,MAAM,CAAC,UAAU,CAAC,CAAC;QACtE,CAAC;QAED,kCAAkC;QAClC,IAAI,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,GAAG,IAAI,uCAAgB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC7D,CAAC;QAED,qBAAqB;QACrB,IAAI,IAAI,CAAC,WAAW,KAAK,+BAAW,CAAC,IAAI,EAAE,CAAC;YAC1C,6CAA6C;YAC7C,oCAAoC;YACnC,IAAI,CAAC,OAAe,CAAC,cAAc,GAAG,MAAM,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,8CAA8C;YAC9C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,MAA8B;QAClD,6BAA6B;QAC7B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;QAED,mCAAmC;QACnC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;YACpE,sBAAsB;YACtB,OAAO,+BAAW,CAAC,IAAI,CAAC;QAC1B,CAAC;QAED,kFAAkF;QAClF,OAAO,+BAAW,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,IAAiB;QACrC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,+BAAW,CAAC,MAAM;gBACrB,iEAAiE;gBACjE,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,IAAI,CAAC;wBACH,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,aAAa,CAAC;oBAC5D,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;oBAC9F,CAAC;gBACH,CAAC;gBACD,OAAO,IAAI,aAAa,EAAE,CAAC;YAC7B,KAAK,+BAAW,CAAC,IAAI;gBACnB,OAAO,IAAI,0BAAW,EAAE,CAAC;YAC3B;gBACE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CAAC,MAAuB;QAC3C,IAAI,IAAI,CAAC,WAAW,KAAK,+BAAW,CAAC,IAAI,EAAE,CAAC;YAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAsB,CAAC;YAChD,MAAM,WAAW,GAAG,MAAM,IAAK,WAAmB,CAAC,cAAc,IAAI,EAAE,CAAC;YACxE,MAAM,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAC/C,OAAQ,WAAmB,CAAC,cAAc,CAAC;QAC7C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,aAAa;QACX,IAAI,IAAI,CAAC,WAAW,KAAK,+BAAW,CAAC,IAAI,EAAE,CAAC;YAC1C,OAAQ,IAAI,CAAC,OAAuB,CAAC,aAAa,EAAE,CAAC;QACvD,CAAC;QACD,OAAQ,IAAI,CAAC,OAAe,CAAC,aAAa,EAAE,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAc;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,OAAiB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,MAAM,CACJ,cAAwB,EACxB,IAAY,CAAC,EACb,SAA2B,QAAQ,EACnC,YAAoB,GAAG;QAEvB,yBAAyB;QACzB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,wBAAU,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,+CAA+C;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YAC1E,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvC,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,qCAAqC;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,EAAU;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC/B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,IAAgB;QAChC,IAAI,IAAI,CAAC,WAAW,KAAK,+BAAW,CAAC,IAAI,EAAE,CAAC;YAC1C,MAAO,IAAI,CAAC,OAAuB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,KAAK,+BAAW,CAAC,MAAM,EAAE,CAAC;YAC5C,OAAQ,IAAI,CAAC,OAAe,CAAC,WAAW,EAAE,CAAC;QAC7C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC/F,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,gCAAgC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,QAAQ,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,gEAAgE;QAChE,MAAM,OAAO,GAAe,EAAE,CAAC;QAC/B,4EAA4E;QAC5E,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAE3D,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACpC,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK;QACH,OAAO,IAAI,kCAAkB,CAAI,IAAI,CAAC,CAAC;IACzC,CAAC;CACF;AAvSD,wCAuSC"}
@@ -3,11 +3,12 @@
3
3
  * Supports both native (better-sqlite3) and WASM (sql.js) backends
4
4
  */
5
5
  import { BackendType } from './backend-interface.mjs';
6
- import { NativeBackend } from './native-backend.mjs';
7
6
  import { WasmBackend } from './wasm-backend.mjs';
8
7
  import { QueryCache } from '../cache/query-cache.mjs';
9
8
  import { ProductQuantizer } from '../quantization/product-quantization.mjs';
10
9
  import { VectorQueryBuilder } from '../query/query-builder.mjs';
10
+ // Dynamic import for NativeBackend to avoid bundling better-sqlite3 in browser builds
11
+ let NativeBackend = null;
11
12
  export class SQLiteVectorDB {
12
13
  constructor(config = {}) {
13
14
  // If path is provided but memoryMode not specified, default to file mode
@@ -50,14 +51,8 @@ export class SQLiteVectorDB {
50
51
  // Browser environment
51
52
  return BackendType.WASM;
52
53
  }
53
- // Node.js environment - check if better-sqlite3 is available
54
- try {
55
- require.resolve('better-sqlite3');
56
- return BackendType.NATIVE;
57
- }
58
- catch {
59
- return BackendType.WASM;
60
- }
54
+ // Node.js environment - default to NATIVE, will fallback to WASM if not available
55
+ return BackendType.NATIVE;
61
56
  }
62
57
  /**
63
58
  * Create backend instance
@@ -65,6 +60,15 @@ export class SQLiteVectorDB {
65
60
  createBackend(type) {
66
61
  switch (type) {
67
62
  case BackendType.NATIVE:
63
+ // Lazy load NativeBackend only when needed (Node.js environment)
64
+ if (!NativeBackend) {
65
+ try {
66
+ NativeBackend = require('./native-backend').NativeBackend;
67
+ }
68
+ catch (error) {
69
+ throw new Error('NativeBackend not available. Install better-sqlite3 or use WASM backend.');
70
+ }
71
+ }
68
72
  return new NativeBackend();
69
73
  case BackendType.WASM:
70
74
  return new WasmBackend();
@@ -0,0 +1,47 @@
1
+ /**
2
+ * AgentDB Browser Entry Point
3
+ * Only includes WASM backend - no Node.js dependencies
4
+ *
5
+ * @module agentdb/browser
6
+ * @packageDocumentation
7
+ */
8
+ import { SQLiteVectorDB } from './core/vector-db';
9
+ import { WasmBackend } from './core/wasm-backend';
10
+ import { BackendType, ExtendedDatabaseConfig, VectorBackend } from './core/backend-interface';
11
+ import { initWasm, initSQL, getWasm, isInitialized, resetWasm } from './wasm-loader';
12
+ export { SQLiteVectorDB };
13
+ export { WasmBackend };
14
+ export { BackendType };
15
+ export type { VectorBackend, ExtendedDatabaseConfig };
16
+ export { HNSWIndex, DEFAULT_HNSW_CONFIG } from './index/hnsw';
17
+ export { OptimizedHNSWIndex } from './index/hnsw-optimized';
18
+ export type { HNSWConfig } from './index/hnsw';
19
+ export { QueryCache } from './cache/query-cache';
20
+ export type { QueryCacheConfig, CacheStats } from './cache/query-cache';
21
+ export { VectorQueryBuilder } from './query/query-builder';
22
+ export type { Operator, SortDirection } from './query/query-builder';
23
+ export { ProductQuantizer } from './quantization/product-quantization';
24
+ export type { ProductQuantizerConfig, CompressionStats } from './quantization/product-quantization';
25
+ export { ScalarQuantizer } from './quantization/scalar-quantization';
26
+ export type { ScalarQuantizerConfig, AccuracyMetrics, ScalarQuantizationStats } from './quantization/scalar-quantization';
27
+ export { ImprovedProductQuantizer, QuantizationProfiles, QuantizationUtils } from './quantization/optimized-pq';
28
+ export type { QuantizationProfile } from './quantization/optimized-pq';
29
+ export { BinaryQuantizer, createBinaryQuantizer } from './quantization/binary-quantization';
30
+ export type { BinaryQuantizationConfig, BinaryQuantizationStats } from './quantization/binary-quantization';
31
+ export type { Vector, SearchResult, SimilarityMetric, DatabaseConfig, VectorMetadata, QuantizationConfig } from './types';
32
+ export type { Pattern, Experience, Context, LearningMetrics } from './types';
33
+ export { initWasm, initSQL, getWasm, resetWasm };
34
+ export { isInitialized as isWasmInitialized };
35
+ /**
36
+ * Convenience function to create a vector database (browser version)
37
+ * Always uses WASM backend in browser
38
+ */
39
+ export declare function createVectorDB(config?: ExtendedDatabaseConfig): Promise<SQLiteVectorDB>;
40
+ declare const _default: {
41
+ SQLiteVectorDB: typeof SQLiteVectorDB;
42
+ createVectorDB: typeof createVectorDB;
43
+ BackendType: typeof BackendType;
44
+ initWasm: typeof initWasm;
45
+ };
46
+ export default _default;
47
+ //# sourceMappingURL=index.browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../src/index.browser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9F,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAGrF,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,CAAC;AAGtD,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,YAAY,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAGpG,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACxB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGvE,OAAO,EACL,eAAe,EACf,qBAAqB,EACtB,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EACV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,oCAAoC,CAAC;AAG5C,YAAY,EACV,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,OAAO,EACP,UAAU,EACV,OAAO,EACP,eAAe,EAChB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AACjD,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,CAAC;AAE9C;;;GAGG;AACH,wBAAsB,cAAc,CAAC,MAAM,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,CAU7F;;;;;;;AAGD,wBAKE"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ /**
3
+ * AgentDB Browser Entry Point
4
+ * Only includes WASM backend - no Node.js dependencies
5
+ *
6
+ * @module agentdb/browser
7
+ * @packageDocumentation
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.isWasmInitialized = exports.resetWasm = exports.getWasm = exports.initSQL = exports.initWasm = exports.createBinaryQuantizer = exports.BinaryQuantizer = exports.QuantizationUtils = exports.QuantizationProfiles = exports.ImprovedProductQuantizer = exports.ScalarQuantizer = exports.ProductQuantizer = exports.VectorQueryBuilder = exports.QueryCache = exports.OptimizedHNSWIndex = exports.DEFAULT_HNSW_CONFIG = exports.HNSWIndex = exports.BackendType = exports.WasmBackend = exports.SQLiteVectorDB = void 0;
11
+ exports.createVectorDB = createVectorDB;
12
+ // Main unified API (browser-compatible only)
13
+ const vector_db_1 = require("./core/vector-db");
14
+ Object.defineProperty(exports, "SQLiteVectorDB", { enumerable: true, get: function () { return vector_db_1.SQLiteVectorDB; } });
15
+ const wasm_backend_1 = require("./core/wasm-backend");
16
+ Object.defineProperty(exports, "WasmBackend", { enumerable: true, get: function () { return wasm_backend_1.WasmBackend; } });
17
+ const backend_interface_1 = require("./core/backend-interface");
18
+ Object.defineProperty(exports, "BackendType", { enumerable: true, get: function () { return backend_interface_1.BackendType; } });
19
+ const wasm_loader_1 = require("./wasm-loader");
20
+ Object.defineProperty(exports, "initWasm", { enumerable: true, get: function () { return wasm_loader_1.initWasm; } });
21
+ Object.defineProperty(exports, "initSQL", { enumerable: true, get: function () { return wasm_loader_1.initSQL; } });
22
+ Object.defineProperty(exports, "getWasm", { enumerable: true, get: function () { return wasm_loader_1.getWasm; } });
23
+ Object.defineProperty(exports, "isWasmInitialized", { enumerable: true, get: function () { return wasm_loader_1.isInitialized; } });
24
+ Object.defineProperty(exports, "resetWasm", { enumerable: true, get: function () { return wasm_loader_1.resetWasm; } });
25
+ // HNSW indexing for high-performance search
26
+ var hnsw_1 = require("./index/hnsw");
27
+ Object.defineProperty(exports, "HNSWIndex", { enumerable: true, get: function () { return hnsw_1.HNSWIndex; } });
28
+ Object.defineProperty(exports, "DEFAULT_HNSW_CONFIG", { enumerable: true, get: function () { return hnsw_1.DEFAULT_HNSW_CONFIG; } });
29
+ var hnsw_optimized_1 = require("./index/hnsw-optimized");
30
+ Object.defineProperty(exports, "OptimizedHNSWIndex", { enumerable: true, get: function () { return hnsw_optimized_1.OptimizedHNSWIndex; } });
31
+ // Query caching for 50-100x speedup on repeated queries
32
+ var query_cache_1 = require("./cache/query-cache");
33
+ Object.defineProperty(exports, "QueryCache", { enumerable: true, get: function () { return query_cache_1.QueryCache; } });
34
+ // Query builder for fluent, type-safe queries
35
+ var query_builder_1 = require("./query/query-builder");
36
+ Object.defineProperty(exports, "VectorQueryBuilder", { enumerable: true, get: function () { return query_builder_1.VectorQueryBuilder; } });
37
+ // Vector quantization for 4-32x compression
38
+ var product_quantization_1 = require("./quantization/product-quantization");
39
+ Object.defineProperty(exports, "ProductQuantizer", { enumerable: true, get: function () { return product_quantization_1.ProductQuantizer; } });
40
+ // Scalar quantization for 4-16x compression with 85-95% accuracy (RECOMMENDED)
41
+ var scalar_quantization_1 = require("./quantization/scalar-quantization");
42
+ Object.defineProperty(exports, "ScalarQuantizer", { enumerable: true, get: function () { return scalar_quantization_1.ScalarQuantizer; } });
43
+ // Optimized quantization with accuracy profiles
44
+ var optimized_pq_1 = require("./quantization/optimized-pq");
45
+ Object.defineProperty(exports, "ImprovedProductQuantizer", { enumerable: true, get: function () { return optimized_pq_1.ImprovedProductQuantizer; } });
46
+ Object.defineProperty(exports, "QuantizationProfiles", { enumerable: true, get: function () { return optimized_pq_1.QuantizationProfiles; } });
47
+ Object.defineProperty(exports, "QuantizationUtils", { enumerable: true, get: function () { return optimized_pq_1.QuantizationUtils; } });
48
+ // Binary quantization for 256x compression and 32x faster search
49
+ var binary_quantization_1 = require("./quantization/binary-quantization");
50
+ Object.defineProperty(exports, "BinaryQuantizer", { enumerable: true, get: function () { return binary_quantization_1.BinaryQuantizer; } });
51
+ Object.defineProperty(exports, "createBinaryQuantizer", { enumerable: true, get: function () { return binary_quantization_1.createBinaryQuantizer; } });
52
+ /**
53
+ * Convenience function to create a vector database (browser version)
54
+ * Always uses WASM backend in browser
55
+ */
56
+ async function createVectorDB(config) {
57
+ const browserConfig = {
58
+ ...config,
59
+ backend: backend_interface_1.BackendType.WASM, // Force WASM in browser
60
+ };
61
+ const db = new vector_db_1.SQLiteVectorDB(browserConfig);
62
+ await db.initializeAsync();
63
+ return db;
64
+ }
65
+ // Default export for convenience
66
+ exports.default = {
67
+ SQLiteVectorDB: vector_db_1.SQLiteVectorDB,
68
+ createVectorDB,
69
+ BackendType: backend_interface_1.BackendType,
70
+ initWasm: wasm_loader_1.initWasm,
71
+ };
72
+ //# sourceMappingURL=index.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../src/index.browser.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAmFH,wCAUC;AA3FD,6CAA6C;AAC7C,gDAAkD;AAMzC,+FANA,0BAAc,OAMA;AALvB,sDAAkD;AAMzC,4FANA,0BAAW,OAMA;AALpB,gEAA8F;AAMrF,4FANA,+BAAW,OAMA;AALpB,+CAAqF;AAsE5E,yFAtEA,sBAAQ,OAsEA;AAAE,wFAtEA,qBAAO,OAsEA;AAAE,wFAtEA,qBAAO,OAsEA;AACT,kGAvEW,2BAAa,OAuEP;AADN,0FAtEe,uBAAS,OAsEf;AA9D9C,4CAA4C;AAC5C,qCAA8D;AAArD,iGAAA,SAAS,OAAA;AAAE,2GAAA,mBAAmB,OAAA;AACvC,yDAA4D;AAAnD,oHAAA,kBAAkB,OAAA;AAG3B,wDAAwD;AACxD,mDAAiD;AAAxC,yGAAA,UAAU,OAAA;AAGnB,8CAA8C;AAC9C,uDAA2D;AAAlD,mHAAA,kBAAkB,OAAA;AAG3B,4CAA4C;AAC5C,4EAAuE;AAA9D,wHAAA,gBAAgB,OAAA;AAGzB,+EAA+E;AAC/E,0EAAqE;AAA5D,sHAAA,eAAe,OAAA;AAOxB,gDAAgD;AAChD,4DAIqC;AAHnC,wHAAA,wBAAwB,OAAA;AACxB,oHAAA,oBAAoB,OAAA;AACpB,iHAAA,iBAAiB,OAAA;AAInB,iEAAiE;AACjE,0EAG4C;AAF1C,sHAAA,eAAe,OAAA;AACf,4HAAA,qBAAqB,OAAA;AA6BvB;;;GAGG;AACI,KAAK,UAAU,cAAc,CAAC,MAA+B;IAClE,MAAM,aAAa,GAAG;QACpB,GAAG,MAAM;QACT,OAAO,EAAE,+BAAW,CAAC,IAAI,EAAE,wBAAwB;KACpD,CAAC;IAEF,MAAM,EAAE,GAAG,IAAI,0BAAc,CAAC,aAAa,CAAC,CAAC;IAC7C,MAAM,EAAE,CAAC,eAAe,EAAE,CAAC;IAE3B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,iCAAiC;AACjC,kBAAe;IACb,cAAc,EAAd,0BAAc;IACd,cAAc;IACd,WAAW,EAAX,+BAAW;IACX,QAAQ,EAAR,sBAAQ;CACT,CAAC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * AgentDB Browser Entry Point
3
+ * Only includes WASM backend - no Node.js dependencies
4
+ *
5
+ * @module agentdb/browser
6
+ * @packageDocumentation
7
+ */
8
+ // Main unified API (browser-compatible only)
9
+ import { SQLiteVectorDB } from './core/vector-db.mjs';
10
+ import { WasmBackend } from './core/wasm-backend.mjs';
11
+ import { BackendType } from './core/backend-interface.mjs';
12
+ import { initWasm, initSQL, getWasm, isInitialized, resetWasm } from './wasm-loader.mjs';
13
+ // Re-export browser-compatible exports
14
+ export { SQLiteVectorDB };
15
+ export { WasmBackend };
16
+ export { BackendType };
17
+ // HNSW indexing for high-performance search
18
+ export { HNSWIndex, DEFAULT_HNSW_CONFIG } from './index/hnsw.mjs';
19
+ export { OptimizedHNSWIndex } from './index/hnsw-optimized.mjs';
20
+ // Query caching for 50-100x speedup on repeated queries
21
+ export { QueryCache } from './cache/query-cache.mjs';
22
+ // Query builder for fluent, type-safe queries
23
+ export { VectorQueryBuilder } from './query/query-builder.mjs';
24
+ // Vector quantization for 4-32x compression
25
+ export { ProductQuantizer } from './quantization/product-quantization.mjs';
26
+ // Scalar quantization for 4-16x compression with 85-95% accuracy (RECOMMENDED)
27
+ export { ScalarQuantizer } from './quantization/scalar-quantization.mjs';
28
+ // Optimized quantization with accuracy profiles
29
+ export { ImprovedProductQuantizer, QuantizationProfiles, QuantizationUtils } from './quantization/optimized-pq.mjs';
30
+ // Binary quantization for 256x compression and 32x faster search
31
+ export { BinaryQuantizer, createBinaryQuantizer } from './quantization/binary-quantization.mjs';
32
+ // WASM loader utilities
33
+ export { initWasm, initSQL, getWasm, resetWasm };
34
+ export { isInitialized as isWasmInitialized };
35
+ /**
36
+ * Convenience function to create a vector database (browser version)
37
+ * Always uses WASM backend in browser
38
+ */
39
+ export async function createVectorDB(config) {
40
+ const browserConfig = {
41
+ ...config,
42
+ backend: BackendType.WASM, // Force WASM in browser
43
+ };
44
+ const db = new SQLiteVectorDB(browserConfig);
45
+ await db.initializeAsync();
46
+ return db;
47
+ }
48
+ // Default export for convenience
49
+ export default {
50
+ SQLiteVectorDB,
51
+ createVectorDB,
52
+ BackendType,
53
+ initWasm,
54
+ };
package/dist/index.d.ts CHANGED
@@ -16,10 +16,12 @@ import { NativeBackend } from './core/native-backend';
16
16
  import { WasmBackend } from './core/wasm-backend';
17
17
  import { BackendType, ExtendedDatabaseConfig, VectorBackend } from './core/backend-interface';
18
18
  import { initWasm, initSQL, getWasm, isInitialized, resetWasm } from './wasm-loader';
19
+ import { Presets } from './presets';
19
20
  export { SQLiteVectorDB };
20
21
  export { NativeBackend };
21
22
  export { WasmBackend };
22
23
  export { BackendType };
24
+ export { Presets };
23
25
  export type { VectorBackend, ExtendedDatabaseConfig };
24
26
  export { HNSWIndex, DEFAULT_HNSW_CONFIG } from './index/hnsw';
25
27
  export { OptimizedHNSWIndex } from './index/hnsw-optimized';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9F,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAGrF,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,CAAC;AAGtD,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAGjE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,YAAY,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAGpG,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACxB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGvE,OAAO,EACL,eAAe,EACf,qBAAqB,EACtB,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EACV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,oCAAoC,CAAC;AAG5C,YAAY,EACV,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,OAAO,EACP,UAAU,EACV,OAAO,EACP,eAAe,EAChB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AACjD,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,CAAC;AAG9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,MAAM,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,CAS7F;;;;;;;AAGD,wBAKE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9F,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,CAAC;AACnB,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,CAAC;AAGtD,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAGjE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,YAAY,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAGpG,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACxB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGvE,OAAO,EACL,eAAe,EACf,qBAAqB,EACtB,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EACV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,oCAAoC,CAAC;AAG5C,YAAY,EACV,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,OAAO,EACP,UAAU,EACV,OAAO,EACP,eAAe,EAChB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AACjD,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,CAAC;AAG9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,MAAM,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,CAS7F;;;;;;;AAGD,wBAKE"}
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@
8
8
  * @license MIT OR Apache-2.0
9
9
  */
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.AgentDBMCPServer = exports.isWasmInitialized = exports.resetWasm = exports.getWasm = exports.initSQL = exports.initWasm = exports.createBinaryQuantizer = exports.BinaryQuantizer = exports.QuantizationUtils = exports.QuantizationProfiles = exports.ImprovedProductQuantizer = exports.ScalarQuantizer = exports.ProductQuantizer = exports.VectorQueryBuilder = exports.QueryCache = exports.OptimizedHNSWIndex = exports.DEFAULT_HNSW_CONFIG = exports.HNSWIndex = exports.BackendType = exports.WasmBackend = exports.NativeBackend = exports.SQLiteVectorDB = void 0;
11
+ exports.AgentDBMCPServer = exports.isWasmInitialized = exports.resetWasm = exports.getWasm = exports.initSQL = exports.initWasm = exports.createBinaryQuantizer = exports.BinaryQuantizer = exports.QuantizationUtils = exports.QuantizationProfiles = exports.ImprovedProductQuantizer = exports.ScalarQuantizer = exports.ProductQuantizer = exports.VectorQueryBuilder = exports.QueryCache = exports.OptimizedHNSWIndex = exports.DEFAULT_HNSW_CONFIG = exports.HNSWIndex = exports.Presets = exports.BackendType = exports.WasmBackend = exports.NativeBackend = exports.SQLiteVectorDB = void 0;
12
12
  exports.createVectorDB = createVectorDB;
13
13
  /**
14
14
  * SQLiteVector - Ultra-fast vector database with dual backend support
@@ -30,6 +30,8 @@ Object.defineProperty(exports, "initSQL", { enumerable: true, get: function () {
30
30
  Object.defineProperty(exports, "getWasm", { enumerable: true, get: function () { return wasm_loader_1.getWasm; } });
31
31
  Object.defineProperty(exports, "isWasmInitialized", { enumerable: true, get: function () { return wasm_loader_1.isInitialized; } });
32
32
  Object.defineProperty(exports, "resetWasm", { enumerable: true, get: function () { return wasm_loader_1.resetWasm; } });
33
+ const presets_1 = require("./presets");
34
+ Object.defineProperty(exports, "Presets", { enumerable: true, get: function () { return presets_1.Presets; } });
33
35
  // HNSW indexing for high-performance search
34
36
  var hnsw_1 = require("./index/hnsw");
35
37
  Object.defineProperty(exports, "HNSWIndex", { enumerable: true, get: function () { return hnsw_1.HNSWIndex; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AA+FH,wCASC;AAtGD;;;;GAIG;AAEH,mBAAmB;AACnB,gDAAkD;AAOzC,+FAPA,0BAAc,OAOA;AANvB,0DAAsD;AAO7C,8FAPA,8BAAa,OAOA;AANtB,sDAAkD;AAOzC,4FAPA,0BAAW,OAOA;AANpB,gEAA8F;AAOrF,4FAPA,+BAAW,OAOA;AANpB,+CAAqF;AAwE5E,yFAxEA,sBAAQ,OAwEA;AAAE,wFAxEA,qBAAO,OAwEA;AAAE,wFAxEA,qBAAO,OAwEA;AACT,kGAzEW,2BAAa,OAyEP;AADN,0FAxEe,uBAAS,OAwEf;AA/D9C,4CAA4C;AAC5C,qCAA8D;AAArD,iGAAA,SAAS,OAAA;AAAE,2GAAA,mBAAmB,OAAA;AACvC,yDAA4D;AAAnD,oHAAA,kBAAkB,OAAA;AAI3B,wDAAwD;AACxD,mDAAiD;AAAxC,yGAAA,UAAU,OAAA;AAGnB,8CAA8C;AAC9C,uDAA2D;AAAlD,mHAAA,kBAAkB,OAAA;AAG3B,4CAA4C;AAC5C,4EAAuE;AAA9D,wHAAA,gBAAgB,OAAA;AAGzB,+EAA+E;AAC/E,0EAAqE;AAA5D,sHAAA,eAAe,OAAA;AAOxB,gDAAgD;AAChD,4DAIqC;AAHnC,wHAAA,wBAAwB,OAAA;AACxB,oHAAA,oBAAoB,OAAA;AACpB,iHAAA,iBAAiB,OAAA;AAInB,iEAAiE;AACjE,0EAG4C;AAF1C,sHAAA,eAAe,OAAA;AACf,4HAAA,qBAAqB,OAAA;AA6BvB,aAAa;AACb,iDAAmD;AAA1C,iHAAA,gBAAgB,OAAA;AAEzB;;;GAGG;AACI,KAAK,UAAU,cAAc,CAAC,MAA+B;IAClE,MAAM,EAAE,GAAG,IAAI,0BAAc,CAAC,MAAM,CAAC,CAAC;IAEtC,mCAAmC;IACnC,IAAI,EAAE,CAAC,cAAc,EAAE,KAAK,+BAAW,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,EAAE,CAAC,eAAe,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,iCAAiC;AACjC,kBAAe;IACb,cAAc,EAAd,0BAAc;IACd,cAAc;IACd,WAAW,EAAX,+BAAW;IACX,QAAQ,EAAR,sBAAQ;CACT,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAiGH,wCASC;AAxGD;;;;GAIG;AAEH,mBAAmB;AACnB,gDAAkD;AAQzC,+FARA,0BAAc,OAQA;AAPvB,0DAAsD;AAQ7C,8FARA,8BAAa,OAQA;AAPtB,sDAAkD;AAQzC,4FARA,0BAAW,OAQA;AAPpB,gEAA8F;AAQrF,4FARA,+BAAW,OAQA;AAPpB,+CAAqF;AA0E5E,yFA1EA,sBAAQ,OA0EA;AAAE,wFA1EA,qBAAO,OA0EA;AAAE,wFA1EA,qBAAO,OA0EA;AACT,kGA3EW,2BAAa,OA2EP;AADN,0FA1Ee,uBAAS,OA0Ef;AAzE9C,uCAAoC;AAO3B,wFAPA,iBAAO,OAOA;AAGhB,4CAA4C;AAC5C,qCAA8D;AAArD,iGAAA,SAAS,OAAA;AAAE,2GAAA,mBAAmB,OAAA;AACvC,yDAA4D;AAAnD,oHAAA,kBAAkB,OAAA;AAI3B,wDAAwD;AACxD,mDAAiD;AAAxC,yGAAA,UAAU,OAAA;AAGnB,8CAA8C;AAC9C,uDAA2D;AAAlD,mHAAA,kBAAkB,OAAA;AAG3B,4CAA4C;AAC5C,4EAAuE;AAA9D,wHAAA,gBAAgB,OAAA;AAGzB,+EAA+E;AAC/E,0EAAqE;AAA5D,sHAAA,eAAe,OAAA;AAOxB,gDAAgD;AAChD,4DAIqC;AAHnC,wHAAA,wBAAwB,OAAA;AACxB,oHAAA,oBAAoB,OAAA;AACpB,iHAAA,iBAAiB,OAAA;AAInB,iEAAiE;AACjE,0EAG4C;AAF1C,sHAAA,eAAe,OAAA;AACf,4HAAA,qBAAqB,OAAA;AA6BvB,aAAa;AACb,iDAAmD;AAA1C,iHAAA,gBAAgB,OAAA;AAEzB;;;GAGG;AACI,KAAK,UAAU,cAAc,CAAC,MAA+B;IAClE,MAAM,EAAE,GAAG,IAAI,0BAAc,CAAC,MAAM,CAAC,CAAC;IAEtC,mCAAmC;IACnC,IAAI,EAAE,CAAC,cAAc,EAAE,KAAK,+BAAW,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,EAAE,CAAC,eAAe,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,iCAAiC;AACjC,kBAAe;IACb,cAAc,EAAd,0BAAc;IACd,cAAc;IACd,WAAW,EAAX,+BAAW;IACX,QAAQ,EAAR,sBAAQ;CACT,CAAC"}
package/dist/index.mjs CHANGED
@@ -17,11 +17,13 @@ import { NativeBackend } from './core/native-backend.mjs';
17
17
  import { WasmBackend } from './core/wasm-backend.mjs';
18
18
  import { BackendType } from './core/backend-interface.mjs';
19
19
  import { initWasm, initSQL, getWasm, isInitialized, resetWasm } from './wasm-loader.mjs';
20
+ import { Presets } from './presets.mjs';
20
21
  // Re-export everything
21
22
  export { SQLiteVectorDB };
22
23
  export { NativeBackend };
23
24
  export { WasmBackend };
24
25
  export { BackendType };
26
+ export { Presets };
25
27
  // HNSW indexing for high-performance search
26
28
  export { HNSWIndex, DEFAULT_HNSW_CONFIG } from './index/hnsw.mjs';
27
29
  export { OptimizedHNSWIndex } from './index/hnsw-optimized.mjs';
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Database configuration presets for common use cases
3
+ * Provides convenient factory functions for different dataset sizes
4
+ *
5
+ * Note: Vector dimension is not part of DatabaseConfig - it's determined
6
+ * by the actual vectors inserted. These presets configure database behavior,
7
+ * caching, and optimization settings.
8
+ */
9
+ import { DatabaseConfig } from './types';
10
+ export declare class Presets {
11
+ /**
12
+ * Small dataset preset (< 10K vectors)
13
+ * Optimized for quick initialization and small-scale testing
14
+ *
15
+ * @param dimension - Vector dimension (for backward compatibility, not used)
16
+ * @param path - Database file path (omit or use undefined for in-memory)
17
+ * @returns Database configuration optimized for small datasets
18
+ */
19
+ static smallDataset(dimension?: number, path?: string): DatabaseConfig;
20
+ /**
21
+ * Medium dataset preset (10K - 100K vectors)
22
+ * Balanced configuration for moderate-scale applications
23
+ *
24
+ * @param dimension - Vector dimension (for backward compatibility, not used)
25
+ * @param path - Database file path (omit or use undefined for in-memory)
26
+ * @returns Database configuration optimized for medium datasets
27
+ */
28
+ static mediumDataset(dimension?: number, path?: string): DatabaseConfig;
29
+ /**
30
+ * Large dataset preset (100K+ vectors)
31
+ * High-performance configuration for large-scale production use
32
+ *
33
+ * @param dimension - Vector dimension (for backward compatibility, not used)
34
+ * @param path - Database file path
35
+ * @returns Database configuration optimized for large datasets
36
+ */
37
+ static largeDataset(dimension?: number, path?: string): DatabaseConfig;
38
+ /**
39
+ * In-memory preset
40
+ * Fast, ephemeral database for testing and temporary operations
41
+ *
42
+ * @param dimension - Vector dimension (for backward compatibility, not used)
43
+ * @returns Database configuration for in-memory database
44
+ */
45
+ static inMemory(dimension?: number): DatabaseConfig;
46
+ /**
47
+ * High-accuracy preset
48
+ * Larger cache and longer TTL for better accuracy
49
+ *
50
+ * @param dimension - Vector dimension (for backward compatibility, not used)
51
+ * @param path - Database file path
52
+ * @returns Database configuration optimized for accuracy
53
+ */
54
+ static highAccuracy(dimension?: number, path?: string): DatabaseConfig;
55
+ /**
56
+ * Fast search preset
57
+ * Optimized for speed with minimal caching
58
+ *
59
+ * @param dimension - Vector dimension (for backward compatibility, not used)
60
+ * @param path - Database file path
61
+ * @returns Database configuration optimized for speed
62
+ */
63
+ static fastSearch(dimension?: number, path?: string): DatabaseConfig;
64
+ }
65
+ //# sourceMappingURL=presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,qBAAa,OAAO;IAClB;;;;;;;OAOG;IACH,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc;IAetE;;;;;;;OAOG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc;IAevE;;;;;;;OAOG;IACH,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc;IAgBtE;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc;IAanD;;;;;;;OAOG;IACH,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc;IAetE;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc;CAcrE"}
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ /**
3
+ * Database configuration presets for common use cases
4
+ * Provides convenient factory functions for different dataset sizes
5
+ *
6
+ * Note: Vector dimension is not part of DatabaseConfig - it's determined
7
+ * by the actual vectors inserted. These presets configure database behavior,
8
+ * caching, and optimization settings.
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.Presets = void 0;
12
+ class Presets {
13
+ /**
14
+ * Small dataset preset (< 10K vectors)
15
+ * Optimized for quick initialization and small-scale testing
16
+ *
17
+ * @param dimension - Vector dimension (for backward compatibility, not used)
18
+ * @param path - Database file path (omit or use undefined for in-memory)
19
+ * @returns Database configuration optimized for small datasets
20
+ */
21
+ static smallDataset(dimension, path) {
22
+ return {
23
+ path: path || undefined,
24
+ memoryMode: !path || path === ':memory:',
25
+ cacheSize: 100, // 100MB cache for small datasets
26
+ walMode: true,
27
+ queryCache: {
28
+ enabled: true,
29
+ maxSize: 1000,
30
+ ttl: 60000, // 1 minute
31
+ enableStats: true
32
+ }
33
+ };
34
+ }
35
+ /**
36
+ * Medium dataset preset (10K - 100K vectors)
37
+ * Balanced configuration for moderate-scale applications
38
+ *
39
+ * @param dimension - Vector dimension (for backward compatibility, not used)
40
+ * @param path - Database file path (omit or use undefined for in-memory)
41
+ * @returns Database configuration optimized for medium datasets
42
+ */
43
+ static mediumDataset(dimension, path) {
44
+ return {
45
+ path: path || undefined,
46
+ memoryMode: !path || path === ':memory:',
47
+ cacheSize: 500, // 500MB cache for medium datasets
48
+ walMode: true,
49
+ queryCache: {
50
+ enabled: true,
51
+ maxSize: 5000,
52
+ ttl: 300000, // 5 minutes
53
+ enableStats: true
54
+ }
55
+ };
56
+ }
57
+ /**
58
+ * Large dataset preset (100K+ vectors)
59
+ * High-performance configuration for large-scale production use
60
+ *
61
+ * @param dimension - Vector dimension (for backward compatibility, not used)
62
+ * @param path - Database file path
63
+ * @returns Database configuration optimized for large datasets
64
+ */
65
+ static largeDataset(dimension, path) {
66
+ return {
67
+ path: path || undefined,
68
+ memoryMode: !path || path === ':memory:',
69
+ cacheSize: 2000, // 2GB cache for large datasets
70
+ walMode: true,
71
+ mmapSize: 1073741824, // 1GB mmap
72
+ queryCache: {
73
+ enabled: true,
74
+ maxSize: 10000,
75
+ ttl: 600000, // 10 minutes
76
+ enableStats: true
77
+ }
78
+ };
79
+ }
80
+ /**
81
+ * In-memory preset
82
+ * Fast, ephemeral database for testing and temporary operations
83
+ *
84
+ * @param dimension - Vector dimension (for backward compatibility, not used)
85
+ * @returns Database configuration for in-memory database
86
+ */
87
+ static inMemory(dimension) {
88
+ return {
89
+ memoryMode: true,
90
+ cacheSize: 100,
91
+ queryCache: {
92
+ enabled: true,
93
+ maxSize: 500,
94
+ ttl: 60000,
95
+ enableStats: true
96
+ }
97
+ };
98
+ }
99
+ /**
100
+ * High-accuracy preset
101
+ * Larger cache and longer TTL for better accuracy
102
+ *
103
+ * @param dimension - Vector dimension (for backward compatibility, not used)
104
+ * @param path - Database file path
105
+ * @returns Database configuration optimized for accuracy
106
+ */
107
+ static highAccuracy(dimension, path) {
108
+ return {
109
+ path: path || undefined,
110
+ memoryMode: !path || path === ':memory:',
111
+ cacheSize: 1000,
112
+ walMode: true,
113
+ queryCache: {
114
+ enabled: true,
115
+ maxSize: 20000,
116
+ ttl: 1800000, // 30 minutes
117
+ enableStats: true
118
+ }
119
+ };
120
+ }
121
+ /**
122
+ * Fast search preset
123
+ * Optimized for speed with minimal caching
124
+ *
125
+ * @param dimension - Vector dimension (for backward compatibility, not used)
126
+ * @param path - Database file path
127
+ * @returns Database configuration optimized for speed
128
+ */
129
+ static fastSearch(dimension, path) {
130
+ return {
131
+ path: path || undefined,
132
+ memoryMode: !path || path === ':memory:',
133
+ cacheSize: 50, // Minimal cache
134
+ walMode: true,
135
+ queryCache: {
136
+ enabled: true,
137
+ maxSize: 100,
138
+ ttl: 10000, // 10 seconds
139
+ enableStats: false
140
+ }
141
+ };
142
+ }
143
+ }
144
+ exports.Presets = Presets;
145
+ //# sourceMappingURL=presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAIH,MAAa,OAAO;IAClB;;;;;;;OAOG;IACH,MAAM,CAAC,YAAY,CAAC,SAAkB,EAAE,IAAa;QACnD,OAAO;YACL,IAAI,EAAE,IAAI,IAAI,SAAS;YACvB,UAAU,EAAE,CAAC,IAAI,IAAI,IAAI,KAAK,UAAU;YACxC,SAAS,EAAE,GAAG,EAAE,iCAAiC;YACjD,OAAO,EAAE,IAAI;YACb,UAAU,EAAE;gBACV,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI;gBACb,GAAG,EAAE,KAAK,EAAE,WAAW;gBACvB,WAAW,EAAE,IAAI;aAClB;SACF,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,aAAa,CAAC,SAAkB,EAAE,IAAa;QACpD,OAAO;YACL,IAAI,EAAE,IAAI,IAAI,SAAS;YACvB,UAAU,EAAE,CAAC,IAAI,IAAI,IAAI,KAAK,UAAU;YACxC,SAAS,EAAE,GAAG,EAAE,kCAAkC;YAClD,OAAO,EAAE,IAAI;YACb,UAAU,EAAE;gBACV,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI;gBACb,GAAG,EAAE,MAAM,EAAE,YAAY;gBACzB,WAAW,EAAE,IAAI;aAClB;SACF,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,YAAY,CAAC,SAAkB,EAAE,IAAa;QACnD,OAAO;YACL,IAAI,EAAE,IAAI,IAAI,SAAS;YACvB,UAAU,EAAE,CAAC,IAAI,IAAI,IAAI,KAAK,UAAU;YACxC,SAAS,EAAE,IAAI,EAAE,+BAA+B;YAChD,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,UAAU,EAAE,WAAW;YACjC,UAAU,EAAE;gBACV,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,KAAK;gBACd,GAAG,EAAE,MAAM,EAAE,aAAa;gBAC1B,WAAW,EAAE,IAAI;aAClB;SACF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,SAAkB;QAChC,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,GAAG;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,GAAG;gBACZ,GAAG,EAAE,KAAK;gBACV,WAAW,EAAE,IAAI;aAClB;SACF,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,YAAY,CAAC,SAAkB,EAAE,IAAa;QACnD,OAAO;YACL,IAAI,EAAE,IAAI,IAAI,SAAS;YACvB,UAAU,EAAE,CAAC,IAAI,IAAI,IAAI,KAAK,UAAU;YACxC,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,IAAI;YACb,UAAU,EAAE;gBACV,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,KAAK;gBACd,GAAG,EAAE,OAAO,EAAE,aAAa;gBAC3B,WAAW,EAAE,IAAI;aAClB;SACF,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,SAAkB,EAAE,IAAa;QACjD,OAAO;YACL,IAAI,EAAE,IAAI,IAAI,SAAS;YACvB,UAAU,EAAE,CAAC,IAAI,IAAI,IAAI,KAAK,UAAU;YACxC,SAAS,EAAE,EAAE,EAAE,gBAAgB;YAC/B,OAAO,EAAE,IAAI;YACb,UAAU,EAAE;gBACV,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,GAAG;gBACZ,GAAG,EAAE,KAAK,EAAE,aAAa;gBACzB,WAAW,EAAE,KAAK;aACnB;SACF,CAAC;IACJ,CAAC;CACF;AAxID,0BAwIC"}