@kybernesis/brain-core 0.2.0 → 0.5.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/dist/entity-graph.d.ts +11 -13
- package/dist/entity-graph.d.ts.map +1 -1
- package/dist/entity-graph.js +36 -548
- package/dist/entity-graph.js.map +1 -1
- package/dist/fact-store.d.ts +6 -1
- package/dist/fact-store.d.ts.map +1 -1
- package/dist/fact-store.js +17 -157
- package/dist/fact-store.js.map +1 -1
- package/dist/fts-sanitizer.d.ts +7 -28
- package/dist/fts-sanitizer.d.ts.map +1 -1
- package/dist/fts-sanitizer.js +7 -57
- package/dist/fts-sanitizer.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/ops.d.ts.map +1 -1
- package/dist/ops.js +10 -34
- package/dist/ops.js.map +1 -1
- package/dist/storage.d.ts +28 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +40 -0
- package/dist/storage.js.map +1 -0
- package/dist/timeline.d.ts +11 -22
- package/dist/timeline.d.ts.map +1 -1
- package/dist/timeline.js +24 -310
- package/dist/timeline.js.map +1 -1
- package/dist/user-profile.d.ts.map +1 -1
- package/dist/user-profile.js +11 -57
- package/dist/user-profile.js.map +1 -1
- package/dist/vectors.d.ts +8 -10
- package/dist/vectors.d.ts.map +1 -1
- package/dist/vectors.js +22 -72
- package/dist/vectors.js.map +1 -1
- package/package.json +6 -6
package/dist/entity-graph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-graph.js","sourceRoot":"","sources":["../src/entity-graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAgCxE,SAAS,WAAW,CAAC,GAAc;IACjC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,eAAe,EAAE,GAAG,CAAC,eAAe;QACpC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC;QACxC,IAAI,EAAE,GAAG,CAAC,IAAkB;QAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,GAAG;QAC7B,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,GAAG;QACnC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAmB;QAC5C,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,SAAS;QAC7C,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC;QACnC,SAAS,EAAE,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC;QACrC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,IAAI,SAAS;KACpD,CAAC;AACJ,CAAC;AAaD,SAAS,YAAY,CAAC,GAAe;IACnC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,eAAe,EAAE,GAAG,CAAC,eAAe;QACpC,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS;QACjC,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,MAAM;QACtC,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,IAAI;KACnC,CAAC;AACJ,CAAC;AAeD,SAAS,YAAY,CAAC,GAAe;IACnC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,YAAY,EAAE,GAAG,CAAC,YAA2B;QAC7C,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC;QAC5D,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,SAAS;QACvC,QAAQ,EAAE,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;AAEtC,SAAS,YAAY,CAAC,CAAgB;IACpC,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAAE,OAAO;IACpC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAEnC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6GP,CAAC,CAAC;IAEH,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,iFAAiF;AAEjF,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,iFAAiF;AAEjF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,CAAgB,EAChB,IAAY,EACZ,IAAgB,EAChB,SAAiB;IAEjB,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnC,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEjD,IAAI,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,+DAA+D,CAAC;SACvF,GAAG,CAAC,cAAc,EAAE,IAAI,CAA0B,CAAC;IAEtD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,6EAA6E,CAAC;aACjG,GAAG,CAAC,IAAI,EAAE,KAAK,UAAU,CAAC,cAAc,CAAC,IAAI,CAA0B,CAAC;IAC7E,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,EAAE,CAAC,OAAO,CAAC,mFAAmF,CAAC;aAC5F,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO,WAAW,CAAC,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC;;;GAGzB,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAE/D,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,eAAyB;QACpC,IAAI;QACJ,eAAe,EAAE,cAAc;QAC/B,OAAO,EAAE,EAAE;QACX,IAAI;QACJ,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,SAAS;QACpB,aAAa,EAAE,CAAC;QAChB,QAAQ,EAAE,GAAG;QACb,WAAW,EAAE,GAAG;QAChB,IAAI,EAAE,MAAM;QACZ,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,KAAK;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,CAAgB,EAAE,QAAgB,EAAE,KAAa;IACpF,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAoC,CAAC;IACxH,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,OAAO,GAAa,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9B,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;IACpG,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,CAAgB,EAChB,QAAgB,EAChB,cAAsB,EACtB,UAAkB,EAClB,OAAe,EACf,SAAiB,EACjB,aAAqB,MAAM,EAC3B,aAAqB,IAAI;IAEzB,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnC,EAAE,CAAC,OAAO,CAAC;;;GAGV,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,CAAgB,EAChB,QAAgB,EAChB,QAAgB,EAChB,eAAiC,aAAa;IAE9C,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACrF,EAAE,CAAC,OAAO,CAAC;;;;GAIV,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,CAAgB,EAChB,QAAgB,EAChB,QAAgB,EAChB,OAKC;IAED,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAEnC,MAAM,aAAa,GAAG,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1E,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,aAAa;QAC9B,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACtB,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEtE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,eAAe,CAAC;IACjD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;GAYV,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,CAAgB,EAChB,QAAgB;IAQhB,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAEnC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;GAa1B,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAKjC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzB,MAAM,EAAE,WAAW,CAAC;YAClB,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO;YACtG,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa;YACtF,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa;YACtG,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;SACjG,CAAC;QACF,YAAY,EAAE,GAAG,CAAC,YAAgC;QAClD,SAAS,EAAE,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;QAC/D,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,GAAG;QACjC,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,SAAS;KACtC,CAAC,CAAC,CAAC;AACN,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,CAAgB,EAChB,cAAsB,EACtB,UAAkB,EAClB,SAAiB,EACjB,QAA8B;IAE9B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAClC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAClF,MAAM,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;IACtG,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,CAAgB,EAChB,QAAyB;IAEzB,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAEnC,IAAI,MAA6B,CAAC;IAClC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAA0B,CAAC;IACpG,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,gFAAgF,CAAC;aAClG,GAAG,CAAC,UAAU,EAAE,KAAK,UAAU,CAAC,UAAU,CAAC,IAAI,CAA0B,CAAC;IAC/E,CAAC;IACD,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,QAAQ,GAAI,EAAE,CAAC,OAAO,CAAC,2EAA2E,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAkB;SACtI,GAAG,CAAC,YAAY,CAAC,CAAC;IAErB,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;GAO5B,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAA0E,CAAC;IAEjH,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC9C,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAA0B,CAAC;QAC/G,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpG,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,CAAgB,EAChB,KAAa,EACb,UAAiD,EAAE;IAEnD,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IAElC,IAAI,GAAG,GAAG,iGAAiG,CAAC;IAC5G,MAAM,MAAM,GAAc,CAAC,IAAI,OAAO,GAAG,EAAE,IAAI,OAAO,GAAG,CAAC,CAAC;IAE3D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAAC,GAAG,IAAI,eAAe,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IACxE,GAAG,IAAI,sCAAsC,CAAC;IAC9C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEnB,OAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,CAAgB,EAAE,KAAK,GAAG,EAAE;IAClE,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnC,OAAQ,EAAE,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC,GAAG,CAAC,KAAK,CAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC3H,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,CAAgB,EAChB,UAAiD,EAAE;IAEnD,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IAClC,IAAI,GAAG,GAAG,wBAAwB,CAAC;IACnC,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAAC,GAAG,IAAI,iBAAiB,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IAC1E,GAAG,IAAI,sCAAsC,CAAC;IAC9C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,OAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,CAAgB;IAMxD,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAEnC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,GAAG,EAAuB,CAAC;IACjH,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,GAAG,EAAuB,CAAC;IACxH,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC,GAAG,EAAuB,CAAC;IAC1H,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,4DAA4D,CAAC,CAAC,GAAG,EAA4C,CAAC;IAE5I,MAAM,MAAM,GAA+B,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACrG,KAAK,MAAM,GAAG,IAAI,UAAU;QAAE,MAAM,CAAC,GAAG,CAAC,IAAkB,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;IAEzE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,CAAgB,EAChB,KAAa;IAEb,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAEnC,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC;;;;GAI9B,CAAC,CAAC,GAAG,EAAoE,CAAC;IAE3E,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACrF,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEtG,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACzD,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnC,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACrG,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAC;AACxD,CAAC;AAED,iFAAiF;AAEjF,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,CAAgB,EAChB,MAAc,EACd,QAAgB,EAChB,MAAc,EACd,UAAmB,EACnB,WAAoB,EACpB,QAAiB;IAEjB,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAEnC,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,MAAM,CAA0B,CAAC;IAC1G,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAA0B,CAAC;IAC9G,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,WAAW,QAAQ,EAAE,CAAC,CAAC;IAEzG,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QAClC,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC,8DAA8D,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACvH,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC;QAEtC,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC;QAe7G,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAa,EAAE,CAAC;YAC7G,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;YACrE,IAAI,QAAQ,KAAK,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAC7D,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,sEAAsE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC1H,IAAI,QAAQ,EAAE,CAAC;gBACb,EAAE,CAAC,OAAO,CAAC,4HAA4H,CAAC;qBACrI,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,IAAI,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,OAAO,CAAC,yIAAyI,CAAC;qBAClJ,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,IAAI,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,QAAQ,EAAE,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;gBAC/H,cAAc,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAa,EAAE,CAAC;YAC7G,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;YACrE,IAAI,QAAQ,KAAK,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAC7D,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,sEAAsE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC1H,IAAI,QAAQ,EAAE,CAAC;gBACb,EAAE,CAAC,OAAO,CAAC,4HAA4H,CAAC;qBACrI,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,IAAI,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,OAAO,CAAC,yIAAyI,CAAC;qBAClJ,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,IAAI,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,QAAQ,EAAE,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;gBAC/H,cAAc,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;QAED,EAAE,CAAC,OAAO,CAAC,mEAAmE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACxG,EAAE,CAAC,OAAO,CAAC,oEAAoE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAErG,MAAM,WAAW,GAAa,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QACrE,MAAM,aAAa,GAAa,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,aAAa,EAAE,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvG,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAExG,EAAE,CAAC,OAAO,CAAC;;;;;;KAMV,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa,EAAE,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAE5F,EAAE,CAAC,OAAO,CAAC;;;KAGV,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,EAC7F,MAAM,EAAE,UAAU,IAAI,IAAI,EAAE,WAAW,IAAI,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,IAAI,sBAAsB,CAAC,CAAC;QAEtH,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,CAAgB,EAChB,QAAgB,EAChB,MAAc,EACd,QAAiB;IAEjB,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAA0B,CAAC;IACxG,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QACnC,MAAM,YAAY,GAAI,EAAE,CAAC,OAAO,CAAC,+DAA+D,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAmB,CAAC,CAAC,CAAC;QACpI,MAAM,QAAQ,GAAI,EAAE,CAAC,OAAO,CAAC,iFAAiF,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAmB,CAAC,CAAC,CAAC;QAE5J,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5E,EAAE,CAAC,OAAO,CAAC,mEAAmE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACxG,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE9D,EAAE,CAAC,OAAO,CAAC;;;KAGV,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,IAAI,sBAAsB,CAAC,CAAC;IACjH,CAAC,CAAC,CAAC;IAEH,QAAQ,EAAE,CAAC;AACb,CAAC;AAED,iFAAiF;AAEjF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,CAAgB,EAChB,QAAgB;IAEhB,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,mFAAmF,CAAC;SACxG,GAAG,CAAC,QAAQ,CAAyE,CAAC;IACzF,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC;AAC9F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,CAAgB,EAChB,QAAgB,EAChB,OAAe,EACf,SAAiB;IAEjB,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnC,EAAE,CAAC,OAAO,CAAC;;;;;;;GAOV,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;AACvC,CAAC;AAED,iFAAiF;AAEjF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,CAAgB,EAChB,QAAgB,EAChB,OAAe,EACf,OAAe,EACf,KAAa,EACb,KAAa,EACb,WAAmB;IAEnB,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC;;;GAGzB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC,eAAyB,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,CAAgB,EAChB,QAAgB;IAEhB,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,sEAAsE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAI1G,CAAC;IACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpB,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS;QAClF,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS;QACjG,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,MAA6B;QAChF,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU;KAClE,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,CAAgB,EAChB,eAAuB,EACvB,UAAkB;IAElB,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnC,EAAE,CAAC,OAAO,CAAC,6EAA6E,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AAC7H,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,CAAgB,EAChB,QAAgB,EAChB,OAAiB;IAEjB,wFAAwF;IACxF,wFAAwF;IACxF,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,EAAE,CAAC,OAAO,CAAC,sHAAsH,CAAC;aAC/H,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,CAAgB,EAChB,QAAgB,EAChB,WAAwB,EACxB,OAAe,EACf,SAAiB,EACjB,UAAkB,EAClB,kBAA4B,EAAE,EAC9B,SAAkB;IAElB,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC;;;GAGzB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC;IAClH,OAAO,MAAM,CAAC,eAAyB,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,CAAgB,EAChB,QAAgB,EAChB,gBAAwB,IAAI;IAE5B,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;GAKvB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAiB,CAAC;IAChD,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,CAAgB,EAAE,QAAgB;IACxE,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnC,EAAE,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,CAAgB,EAChB,QAAgB,CAAC,EACjB,YAAoB,CAAC,EACrB,cAAsB,EAAE;IAExB,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnC,OAAO,EAAE,CAAC,OAAO,CAAC;;;;;;;GAOjB,CAAC,CAAC,GAAG,CAAC,IAAI,SAAS,OAAO,EAAE,IAAI,WAAW,OAAO,EAAE,KAAK,CAAsD,CAAC;AACnH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,CAAgB,EAAE,QAAgB;IACzE,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnC,EAAE,CAAC,OAAO,CAAC,qEAAqE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAClG,CAAC;AAED,iFAAiF;AAEjF,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,CAAgB,EAAE,QAAgB,EAAE,SAAkB,IAAI;IACxF,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnC,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,CAAgB,EAAE,IAAiB;IAClE,YAAY,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnC,IAAI,GAAG,GAAG,4CAA4C,CAAC;IACvD,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,IAAI,IAAI,EAAE,CAAC;QAAC,GAAG,IAAI,eAAe,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IACxD,GAAG,IAAI,0BAA0B,CAAC;IAClC,OAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC1E,CAAC"}
|
|
1
|
+
{"version":3,"file":"entity-graph.js","sourceRoot":"","sources":["../src/entity-graph.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,CAAgB,EAChB,IAAY,EACZ,IAAgB,EAChB,SAAiB;IAEjB,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,CAAgB,EAAE,QAAgB,EAAE,KAAa;IACpF,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,CAAgB,EAChB,QAAgB,EAChB,cAAsB,EACtB,UAAkB,EAClB,OAAe,EACf,SAAiB,EACjB,aAAqB,MAAM,EAC3B,aAAqB,IAAI;IAEzB,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AACrI,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,CAAgB,EAChB,QAAgB,EAChB,QAAgB,EAChB,eAAiC,aAAa;IAE9C,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,CAAgB,EAChB,QAAgB,EAChB,QAAgB,EAChB,OAAqG;IAErG,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,CAAgB,EAAE,QAAgB;IAC5E,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAClE,CAAC;AAQD,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,CAAgB,EAChB,cAAsB,EACtB,UAAkB,EAClB,SAAiB,EACjB,QAA8B;IAE9B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAClC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAClF,MAAM,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;IACtG,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,CAAgB,EAChB,QAAyB;IAEzB,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,CAAgB,EAChB,KAAa,EACb,UAAiD,EAAE;IAEnD,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,CAAgB,EAAE,KAAK,GAAG,EAAE;IAClE,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,CAAgB,EAChB,UAAiD,EAAE;IAEnD,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,CAAgB;IAMxD,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,CAAgB,EAChB,KAAa;IAEb,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,CAAgB,EAChB,MAAc,EACd,QAAgB,EAChB,MAAc,EACd,UAAmB,EACnB,WAAoB,EACpB,QAAiB;IAEjB,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;AAC7G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,CAAgB,EAChB,QAAgB,EAChB,MAAc,EACd,QAAiB;IAEjB,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,CAAgB,EAChB,QAAgB;IAEhB,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,CAAgB,EAChB,QAAgB,EAChB,OAAe,EACf,SAAiB;IAEjB,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,CAAgB,EAChB,QAAgB,EAChB,OAAe,EACf,OAAe,EACf,KAAa,EACb,KAAa,EACb,WAAmB;IAEnB,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AAC7G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,CAAgB,EAAE,QAAgB;IAC5E,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,CAAgB,EAChB,eAAuB,EACvB,UAAkB;IAElB,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,CAAgB,EAChB,QAAgB,EAChB,OAAiB;IAEjB,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,CAAgB,EAChB,QAAgB,EAChB,WAAwB,EACxB,OAAe,EACf,SAAiB,EACjB,UAAkB,EAClB,kBAA4B,EAAE,EAC9B,SAAkB;IAElB,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;AACvI,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,CAAgB,EAChB,QAAgB,EAChB,gBAAwB,IAAI;IAE5B,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,CAAgB,EAAE,QAAgB;IACxE,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,CAAgB,EAChB,QAAgB,CAAC,EACjB,YAAoB,CAAC,EACrB,cAAsB,EAAE;IAExB,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,CAAgB,EAAE,QAAgB;IACzE,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,CAAgB,EAAE,QAAgB,EAAE,SAAkB,IAAI;IACxF,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,CAAgB,EAAE,IAAiB;IAClE,OAAO,UAAU,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACnD,CAAC"}
|
package/dist/fact-store.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fact store — public API. Behaviour now lives behind the storage seam
|
|
3
|
+
* (getStorage().facts); these are thin, signature-stable delegators so
|
|
4
|
+
* consumers and internal callers are unchanged (Stage 1, G1).
|
|
5
|
+
*/
|
|
1
6
|
import type { TenantContext, FactCategory, Fact } from '@kybernesis/brain-contracts';
|
|
2
|
-
export declare const VALID_CATEGORIES: Set<"biographical" | "preference" | "
|
|
7
|
+
export declare const VALID_CATEGORIES: Set<"biographical" | "preference" | "relationship" | "plan" | "event" | "temporal" | "opinion" | "general">;
|
|
3
8
|
export declare function ensureFactsTable(t: TenantContext): Promise<void>;
|
|
4
9
|
export declare function storeFact(t: TenantContext, fact: Omit<Fact, 'id' | 'created_at' | 'is_latest' | 'access_count' | 'is_retracted'>): Promise<number>;
|
|
5
10
|
export declare function retractFact(t: TenantContext, factId: number, retractedBy?: string): Promise<void>;
|
package/dist/fact-store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fact-store.d.ts","sourceRoot":"","sources":["../src/fact-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fact-store.d.ts","sourceRoot":"","sources":["../src/fact-store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAGrF,eAAO,MAAM,gBAAgB,6GAG3B,CAAC;AAEH,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtE;AAED,wBAAsB,SAAS,CAC7B,CAAC,EAAE,aAAa,EAChB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,cAAc,CAAC,GACpF,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAsB,WAAW,CAC/B,CAAC,EAAE,aAAa,EAChB,MAAM,EAAE,MAAM,EACd,WAAW,GAAE,MAA0B,GACtC,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,aAAa,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnF;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAExF;AAED,wBAAsB,iBAAiB,CACrC,CAAC,EAAE,aAAa,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;CAAO,GAC9E,OAAO,CAAC,IAAI,EAAE,CAAC,CAEjB;AAED,wBAAsB,kBAAkB,CACtC,CAAC,EAAE,aAAa,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,UAAU,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAElE;AAED,wBAAsB,SAAS,CAC7B,CAAC,EAAE,aAAa,EAChB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;CAAO,GAC/F,OAAO,CAAC,IAAI,EAAE,CAAC,CAEjB;AAED,wBAAsB,iBAAiB,CACrC,CAAC,EAAE,aAAa,EAChB,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GACzD,OAAO,CAAC,IAAI,EAAE,CAAC,CAEjB;AAED,wBAAsB,cAAc,CAClC,CAAC,EAAE,aAAa,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,IAAI,EAAE,CAAC,CAEjB"}
|
package/dist/fact-store.js
CHANGED
|
@@ -1,184 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Fact store — public API. Behaviour now lives behind the storage seam
|
|
3
|
+
* (getStorage().facts); these are thin, signature-stable delegators so
|
|
4
|
+
* consumers and internal callers are unchanged (Stage 1, G1).
|
|
5
|
+
*/
|
|
6
|
+
import { getStorage } from './storage.js';
|
|
3
7
|
export const VALID_CATEGORIES = new Set([
|
|
4
8
|
'biographical', 'preference', 'event', 'relationship',
|
|
5
9
|
'temporal', 'opinion', 'plan', 'general',
|
|
6
10
|
]);
|
|
7
|
-
function rowToFact(row) {
|
|
8
|
-
return {
|
|
9
|
-
id: row.id,
|
|
10
|
-
content: row.content,
|
|
11
|
-
source_path: row.source_path,
|
|
12
|
-
source_conversation_id: row.source_conversation_id,
|
|
13
|
-
entities: JSON.parse(row.entities_json || '[]'),
|
|
14
|
-
timestamp: row.timestamp,
|
|
15
|
-
confidence: row.confidence,
|
|
16
|
-
category: row.category,
|
|
17
|
-
created_at: row.created_at,
|
|
18
|
-
is_latest: (row.is_latest ?? 1) === 1,
|
|
19
|
-
superseded_by: row.superseded_by ?? undefined,
|
|
20
|
-
expires_at: row.expires_at ?? undefined,
|
|
21
|
-
updated_at: row.updated_at ?? undefined,
|
|
22
|
-
access_count: row.access_count ?? 0,
|
|
23
|
-
source_type: row.source_type ?? 'chat',
|
|
24
|
-
is_retracted: (row.is_retracted ?? 0) === 1,
|
|
25
|
-
retracted_by: row.retracted_by ?? undefined,
|
|
26
|
-
last_reinforced_at: row.last_reinforced_at ?? undefined,
|
|
27
|
-
project_id: row.project_id ?? undefined,
|
|
28
|
-
tags: JSON.parse(row.tags_json || '[]'),
|
|
29
|
-
classification: row.classification ?? undefined,
|
|
30
|
-
connection_id: row.connection_id ?? undefined,
|
|
31
|
-
source_did: row.source_did ?? undefined,
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
// ─── Schema initialization ────────────────────────────────────────────────────
|
|
35
|
-
// Facts table lives in timeline.db (same file as timeline_events).
|
|
36
|
-
// Schema is created by timeline.ts ensureSchema. This module only ensures
|
|
37
|
-
// the FTS index and triggers exist.
|
|
38
|
-
const initialized = new Set();
|
|
39
|
-
function ensureFactsFts(t) {
|
|
40
|
-
if (initialized.has(t.slug))
|
|
41
|
-
return;
|
|
42
|
-
const db = getDb(t, 'timeline');
|
|
43
|
-
// Bug Fix 1 (CANONICAL.md §6): The non-contentless facts_fts table must use
|
|
44
|
-
// explicit DELETE FROM ... WHERE rowid = ? in triggers, NOT the ('delete', ...)
|
|
45
|
-
// command form which is only valid for contentless FTS5 tables. Using the wrong
|
|
46
|
-
// form threw SqliteError on every UPDATE/DELETE, silently swallowed by empty
|
|
47
|
-
// catch{} in decay.ts, meaning KAD has NEVER expired temporal facts in production.
|
|
48
|
-
db.exec(`
|
|
49
|
-
CREATE VIRTUAL TABLE IF NOT EXISTS facts_fts USING fts5(
|
|
50
|
-
content, entities,
|
|
51
|
-
tokenize = 'unicode61 remove_diacritics 2'
|
|
52
|
-
);
|
|
53
|
-
|
|
54
|
-
CREATE TRIGGER IF NOT EXISTS facts_fts_ai AFTER INSERT ON facts BEGIN
|
|
55
|
-
INSERT INTO facts_fts(rowid, content, entities) VALUES (new.id, new.content, new.entities_json);
|
|
56
|
-
END;
|
|
57
|
-
|
|
58
|
-
CREATE TRIGGER IF NOT EXISTS facts_fts_ad AFTER DELETE ON facts BEGIN
|
|
59
|
-
DELETE FROM facts_fts WHERE rowid = old.id;
|
|
60
|
-
END;
|
|
61
|
-
|
|
62
|
-
CREATE TRIGGER IF NOT EXISTS facts_fts_au AFTER UPDATE ON facts BEGIN
|
|
63
|
-
DELETE FROM facts_fts WHERE rowid = old.id;
|
|
64
|
-
INSERT INTO facts_fts(rowid, content, entities) VALUES (new.id, new.content, new.entities_json);
|
|
65
|
-
END;
|
|
66
|
-
`);
|
|
67
|
-
initialized.add(t.slug);
|
|
68
|
-
}
|
|
69
|
-
// ─── Operations ───────────────────────────────────────────────────────────────
|
|
70
11
|
export async function ensureFactsTable(t) {
|
|
71
|
-
|
|
12
|
+
return getStorage().facts.ensureFactsTable(t);
|
|
72
13
|
}
|
|
73
14
|
export async function storeFact(t, fact) {
|
|
74
|
-
|
|
75
|
-
const db = getDb(t, 'timeline');
|
|
76
|
-
const result = db.prepare(`
|
|
77
|
-
INSERT OR REPLACE INTO facts
|
|
78
|
-
(content, source_path, source_conversation_id, entities_json, timestamp, confidence, category,
|
|
79
|
-
expires_at, source_type, project_id, tags_json, classification, connection_id, source_did)
|
|
80
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
81
|
-
`).run(fact.content, fact.source_path, fact.source_conversation_id, JSON.stringify(fact.entities), fact.timestamp, fact.confidence, fact.category, fact.expires_at ?? null, fact.source_type ?? 'chat', fact.project_id ?? null, JSON.stringify(fact.tags ?? []), fact.classification ?? null, fact.connection_id ?? null, fact.source_did ?? null);
|
|
82
|
-
return result.lastInsertRowid;
|
|
15
|
+
return getStorage().facts.storeFact(t, fact);
|
|
83
16
|
}
|
|
84
17
|
export async function retractFact(t, factId, retractedBy = 'user-correction') {
|
|
85
|
-
|
|
86
|
-
const db = getDb(t, 'timeline');
|
|
87
|
-
db.prepare(`
|
|
88
|
-
UPDATE facts SET is_retracted = 1, retracted_by = ?, is_latest = 0, updated_at = datetime('now')
|
|
89
|
-
WHERE id = ?
|
|
90
|
-
`).run(retractedBy, factId);
|
|
18
|
+
return getStorage().facts.retractFact(t, factId, retractedBy);
|
|
91
19
|
}
|
|
92
20
|
export async function reinforceFact(t, factId) {
|
|
93
|
-
|
|
94
|
-
const db = getDb(t, 'timeline');
|
|
95
|
-
db.prepare(`UPDATE facts SET last_reinforced_at = datetime('now'), updated_at = datetime('now') WHERE id = ?`).run(factId);
|
|
21
|
+
return getStorage().facts.reinforceFact(t, factId);
|
|
96
22
|
}
|
|
97
23
|
export async function getFactById(t, factId) {
|
|
98
|
-
|
|
99
|
-
const db = getDb(t, 'timeline');
|
|
100
|
-
const row = db.prepare('SELECT * FROM facts WHERE id = ?').get(factId);
|
|
101
|
-
return row ? rowToFact(row) : null;
|
|
24
|
+
return getStorage().facts.getFactById(t, factId);
|
|
102
25
|
}
|
|
103
26
|
export async function getFactsForEntity(t, entity, options = {}) {
|
|
104
|
-
|
|
105
|
-
ensureFactsFts(t);
|
|
106
|
-
const db = getDb(t, 'timeline');
|
|
107
|
-
const escapedEntity = entity.toLowerCase().replace(/[%_\\]/g, ch => `\\${ch}`);
|
|
108
|
-
const entityPattern = `%${escapedEntity}%`;
|
|
109
|
-
let sql = `
|
|
110
|
-
SELECT * FROM facts
|
|
111
|
-
WHERE LOWER(entities_json) LIKE ? ESCAPE '\\'
|
|
112
|
-
AND COALESCE(is_retracted, 0) = 0
|
|
113
|
-
`;
|
|
114
|
-
const params = [entityPattern];
|
|
115
|
-
if (latestOnly) {
|
|
116
|
-
sql += ` AND COALESCE(is_latest, 1) = 1`;
|
|
117
|
-
}
|
|
118
|
-
if (category) {
|
|
119
|
-
sql += ` AND category = ?`;
|
|
120
|
-
params.push(category);
|
|
121
|
-
}
|
|
122
|
-
sql += ` ORDER BY timestamp DESC LIMIT ?`;
|
|
123
|
-
params.push(limit);
|
|
124
|
-
return db.prepare(sql).all(...params).map(rowToFact);
|
|
27
|
+
return getStorage().facts.getFactsForEntity(t, entity, options);
|
|
125
28
|
}
|
|
126
29
|
export async function markFactSuperseded(t, oldFactId, newFactId) {
|
|
127
|
-
|
|
128
|
-
const db = getDb(t, 'timeline');
|
|
129
|
-
db.prepare('UPDATE facts SET is_latest = 0, superseded_by = ? WHERE id = ?').run(newFactId, oldFactId);
|
|
30
|
+
return getStorage().facts.markFactSuperseded(t, oldFactId, newFactId);
|
|
130
31
|
}
|
|
131
32
|
export async function factsCount(t) {
|
|
132
|
-
|
|
133
|
-
const db = getDb(t, 'timeline');
|
|
134
|
-
const { count } = db.prepare('SELECT COUNT(*) as count FROM facts WHERE COALESCE(is_retracted, 0) = 0').get();
|
|
135
|
-
return count;
|
|
33
|
+
return getStorage().facts.factsCount(t);
|
|
136
34
|
}
|
|
137
35
|
export async function listFacts(t, options = {}) {
|
|
138
|
-
|
|
139
|
-
ensureFactsFts(t);
|
|
140
|
-
const db = getDb(t, 'timeline');
|
|
141
|
-
let sql = 'SELECT * FROM facts WHERE COALESCE(is_retracted, 0) = 0';
|
|
142
|
-
const params = [];
|
|
143
|
-
if (latestOnly) {
|
|
144
|
-
sql += ' AND COALESCE(is_latest, 1) = 1';
|
|
145
|
-
}
|
|
146
|
-
if (category) {
|
|
147
|
-
sql += ' AND category = ?';
|
|
148
|
-
params.push(category);
|
|
149
|
-
}
|
|
150
|
-
sql += ' ORDER BY timestamp DESC LIMIT ? OFFSET ?';
|
|
151
|
-
params.push(limit, offset);
|
|
152
|
-
return db.prepare(sql).all(...params).map(rowToFact);
|
|
36
|
+
return getStorage().facts.listFacts(t, options);
|
|
153
37
|
}
|
|
154
38
|
export async function listTemporalFacts(t, options = {}) {
|
|
155
|
-
|
|
156
|
-
ensureFactsFts(t);
|
|
157
|
-
const db = getDb(t, 'timeline');
|
|
158
|
-
let sql = `SELECT * FROM facts WHERE expires_at IS NOT NULL AND COALESCE(is_retracted, 0) = 0`;
|
|
159
|
-
const params = [];
|
|
160
|
-
if (!includeExpired) {
|
|
161
|
-
sql += ` AND (expires_at IS NULL OR expires_at > datetime('now'))`;
|
|
162
|
-
}
|
|
163
|
-
sql += ' ORDER BY expires_at ASC LIMIT ?';
|
|
164
|
-
params.push(limit);
|
|
165
|
-
return db.prepare(sql).all(...params).map(rowToFact);
|
|
39
|
+
return getStorage().facts.listTemporalFacts(t, options);
|
|
166
40
|
}
|
|
167
41
|
export async function searchFactsFts(t, query, limit = 20) {
|
|
168
|
-
|
|
169
|
-
const db = getDb(t, 'timeline');
|
|
170
|
-
const sanitized = sanitizeFtsQuery(query);
|
|
171
|
-
if (!sanitized)
|
|
172
|
-
return [];
|
|
173
|
-
try {
|
|
174
|
-
const rowids = db.prepare(`SELECT rowid FROM facts_fts WHERE facts_fts MATCH ? LIMIT ?`).all(sanitized, limit);
|
|
175
|
-
if (rowids.length === 0)
|
|
176
|
-
return [];
|
|
177
|
-
const placeholders = rowids.map(() => '?').join(',');
|
|
178
|
-
return db.prepare(`SELECT * FROM facts WHERE id IN (${placeholders})`).all(...rowids.map(r => r.rowid)).map(rowToFact);
|
|
179
|
-
}
|
|
180
|
-
catch {
|
|
181
|
-
return [];
|
|
182
|
-
}
|
|
42
|
+
return getStorage().facts.searchFactsFts(t, query, limit);
|
|
183
43
|
}
|
|
184
44
|
//# sourceMappingURL=fact-store.js.map
|
package/dist/fact-store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fact-store.js","sourceRoot":"","sources":["../src/fact-store.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"fact-store.js","sourceRoot":"","sources":["../src/fact-store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAe;IACpD,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc;IACrD,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;CACzC,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,CAAgB;IACrD,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,CAAgB,EAChB,IAAqF;IAErF,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,CAAgB,EAChB,MAAc,EACd,cAAsB,iBAAiB;IAEvC,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,CAAgB,EAAE,MAAc;IAClE,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,CAAgB,EAAE,MAAc;IAChE,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,CAAgB,EAChB,MAAc,EACd,UAA6E,EAAE;IAE/E,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,CAAgB,EAChB,SAAiB,EACjB,SAAiB;IAEjB,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,CAAgB;IAC/C,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,CAAgB,EAChB,UAA8F,EAAE;IAEhG,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,CAAgB,EAChB,UAAwD,EAAE;IAE1D,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,CAAgB,EAChB,KAAa,EACb,QAAgB,EAAE;IAElB,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAC5D,CAAC"}
|
package/dist/fts-sanitizer.d.ts
CHANGED
|
@@ -1,32 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* FTS5 query sanitizer —
|
|
2
|
+
* FTS5 query sanitizer — re-export.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* This helper is the single shared sanitizer for all three FTS call sites:
|
|
11
|
-
* 1. `searchFactsFts` in fact-store.ts
|
|
12
|
-
* 2. `searchFactsDirect` in fact-retrieval.ts
|
|
13
|
-
* 3. `queryTimeline` FTS MATCH path in timeline.ts
|
|
14
|
-
*/
|
|
15
|
-
/**
|
|
16
|
-
* Convert a natural-language query into a safe FTS5 MATCH expression.
|
|
17
|
-
*
|
|
18
|
-
* Strategy:
|
|
19
|
-
* - Normalize unicode (NFC)
|
|
20
|
-
* - Split on whitespace
|
|
21
|
-
* - Strip leading/trailing punctuation from each token
|
|
22
|
-
* - Replace hyphens with spaces (FTS5 leading `-` = NOT operator)
|
|
23
|
-
* - Drop FTS5 reserved operator words
|
|
24
|
-
* - Drop tokens shorter than 2 chars
|
|
25
|
-
* - Double-quote each token so FTS5 treats it as a literal phrase
|
|
26
|
-
* - Join with OR for broad matching
|
|
27
|
-
*
|
|
28
|
-
* Returns empty string when no usable tokens remain; callers must
|
|
29
|
-
* skip the FTS query entirely on empty string to avoid a syntax error.
|
|
4
|
+
* The implementation now lives in @kybernesis/brain-storage-sqlite (FTS5 is a
|
|
5
|
+
* SQLite-dialect concern owned by the storage impl). This re-export keeps
|
|
6
|
+
* brain-core's public `sanitizeFtsQuery` export unchanged for consumers, and
|
|
7
|
+
* lets the not-yet-migrated brain-core FTS callers (fact-retrieval, hybrid-search)
|
|
8
|
+
* keep importing it from here until they migrate.
|
|
30
9
|
*/
|
|
31
|
-
export
|
|
10
|
+
export { sanitizeFtsQuery } from '@kybernesis/brain-storage-sqlite';
|
|
32
11
|
//# sourceMappingURL=fts-sanitizer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fts-sanitizer.d.ts","sourceRoot":"","sources":["../src/fts-sanitizer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"fts-sanitizer.d.ts","sourceRoot":"","sources":["../src/fts-sanitizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC"}
|
package/dist/fts-sanitizer.js
CHANGED
|
@@ -1,61 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* FTS5 query sanitizer —
|
|
2
|
+
* FTS5 query sanitizer — re-export.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* This helper is the single shared sanitizer for all three FTS call sites:
|
|
11
|
-
* 1. `searchFactsFts` in fact-store.ts
|
|
12
|
-
* 2. `searchFactsDirect` in fact-retrieval.ts
|
|
13
|
-
* 3. `queryTimeline` FTS MATCH path in timeline.ts
|
|
14
|
-
*/
|
|
15
|
-
const FTS5_RESERVED = new Set(['NEAR', 'AND', 'OR', 'NOT']);
|
|
16
|
-
/**
|
|
17
|
-
* Convert a natural-language query into a safe FTS5 MATCH expression.
|
|
18
|
-
*
|
|
19
|
-
* Strategy:
|
|
20
|
-
* - Normalize unicode (NFC)
|
|
21
|
-
* - Split on whitespace
|
|
22
|
-
* - Strip leading/trailing punctuation from each token
|
|
23
|
-
* - Replace hyphens with spaces (FTS5 leading `-` = NOT operator)
|
|
24
|
-
* - Drop FTS5 reserved operator words
|
|
25
|
-
* - Drop tokens shorter than 2 chars
|
|
26
|
-
* - Double-quote each token so FTS5 treats it as a literal phrase
|
|
27
|
-
* - Join with OR for broad matching
|
|
28
|
-
*
|
|
29
|
-
* Returns empty string when no usable tokens remain; callers must
|
|
30
|
-
* skip the FTS query entirely on empty string to avoid a syntax error.
|
|
4
|
+
* The implementation now lives in @kybernesis/brain-storage-sqlite (FTS5 is a
|
|
5
|
+
* SQLite-dialect concern owned by the storage impl). This re-export keeps
|
|
6
|
+
* brain-core's public `sanitizeFtsQuery` export unchanged for consumers, and
|
|
7
|
+
* lets the not-yet-migrated brain-core FTS callers (fact-retrieval, hybrid-search)
|
|
8
|
+
* keep importing it from here until they migrate.
|
|
31
9
|
*/
|
|
32
|
-
export
|
|
33
|
-
const normalized = query.normalize('NFC');
|
|
34
|
-
const rawTokens = normalized.split(/\s+/).filter(Boolean);
|
|
35
|
-
const quoted = [];
|
|
36
|
-
for (const raw of rawTokens) {
|
|
37
|
-
// Strip leading/trailing punctuation (preserve inner chars including unicode)
|
|
38
|
-
const stripped = raw.replace(/^[.,!?;:'"()\[\]{}|\\^*]+|[.,!?;:'"()\[\]{}|\\^*]+$/g, '');
|
|
39
|
-
if (!stripped)
|
|
40
|
-
continue;
|
|
41
|
-
// Replace hyphens with spaces — FTS5 treats leading "-" as NOT operator
|
|
42
|
-
const dehyphenated = stripped.replace(/-/g, ' ').trim();
|
|
43
|
-
if (!dehyphenated)
|
|
44
|
-
continue;
|
|
45
|
-
// Split any sub-tokens produced by hyphen removal
|
|
46
|
-
for (const sub of dehyphenated.split(/\s+/)) {
|
|
47
|
-
if (sub.length < 2)
|
|
48
|
-
continue;
|
|
49
|
-
// Skip bare FTS5 reserved words
|
|
50
|
-
if (FTS5_RESERVED.has(sub.toUpperCase()))
|
|
51
|
-
continue;
|
|
52
|
-
// Escape embedded double-quotes and wrap in quotes
|
|
53
|
-
const escaped = sub.replace(/"/g, '');
|
|
54
|
-
if (!escaped)
|
|
55
|
-
continue;
|
|
56
|
-
quoted.push(`"${escaped}"`);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return quoted.join(' OR ');
|
|
60
|
-
}
|
|
10
|
+
export { sanitizeFtsQuery } from '@kybernesis/brain-storage-sqlite';
|
|
61
11
|
//# sourceMappingURL=fts-sanitizer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fts-sanitizer.js","sourceRoot":"","sources":["../src/fts-sanitizer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"fts-sanitizer.js","sourceRoot":"","sources":["../src/fts-sanitizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export { findOrCreateEntity, addEntityAlias, addEntityMention, linkEntities, lin
|
|
|
6
6
|
export type { ConversationEntity } from './entity-graph.js';
|
|
7
7
|
export { ensureFactsTable, storeFact, retractFact, reinforceFact, getFactById, getFactsForEntity, markFactSuperseded, factsCount, listFacts, listTemporalFacts, searchFactsFts, VALID_CATEGORIES, } from './fact-store.js';
|
|
8
8
|
export { sanitizeFtsQuery } from './fts-sanitizer.js';
|
|
9
|
+
export { setStorageProvider, resetStorageProvider, storageProviderIsExplicit, getStorage, } from './storage.js';
|
|
9
10
|
export { setLLMProvider, resetLLMProvider, llmAvailable, callClaude, callClaudeJSON, } from './claude-call.js';
|
|
10
11
|
export type { LLMProvider, ClaudeCallOpts } from './claude-call.js';
|
|
11
12
|
export { indexChunk, semanticSearch, vectorStats, setEmbeddingProvider, resetEmbeddingProvider, embeddingAvailable, EMBEDDING_DIM, } from './vectors.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,2BAA2B,EAC3B,gBAAgB,EAChB,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,EAC5B,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,SAAS,EACT,UAAU,GACX,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EACL,UAAU,EAAE,cAAc,EAAE,WAAW,EACvC,oBAAoB,EAAE,sBAAsB,EAAE,kBAAkB,EAChE,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,GAClE,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,IAAI,oBAAoB,GACvC,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,WAAW,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACvF,YAAY,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAEvG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAElF,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,7 @@ export { addToTimeline, removeFromTimeline, updateTimelineEvent, deleteTimelineE
|
|
|
3
3
|
export { findOrCreateEntity, addEntityAlias, addEntityMention, linkEntities, linkEntitiesWithType, getTypedRelationships, linkEntitiesFromConversation, getEntityContext, searchEntities, getRecentEntities, getMostMentionedEntities, getEntityGraphStats, detectEntitiesInQuery, mergeEntities, deleteEntity, getEntityProfile, saveEntityProfile, createContradiction, getOpenContradictions, resolveContradiction, applyContradictions, saveEntityInsight, getEntityInsights, markInsightsStale, getEntitiesForReasoning, markEntityReasoned, pinEntity, listPinned, } from './entity-graph.js';
|
|
4
4
|
export { ensureFactsTable, storeFact, retractFact, reinforceFact, getFactById, getFactsForEntity, markFactSuperseded, factsCount, listFacts, listTemporalFacts, searchFactsFts, VALID_CATEGORIES, } from './fact-store.js';
|
|
5
5
|
export { sanitizeFtsQuery } from './fts-sanitizer.js';
|
|
6
|
+
export { setStorageProvider, resetStorageProvider, storageProviderIsExplicit, getStorage, } from './storage.js';
|
|
6
7
|
export { setLLMProvider, resetLLMProvider, llmAvailable, callClaude, callClaudeJSON, } from './claude-call.js';
|
|
7
8
|
export { indexChunk, semanticSearch, vectorStats, setEmbeddingProvider, resetEmbeddingProvider, embeddingAvailable, EMBEDDING_DIM, } from './vectors.js';
|
|
8
9
|
export { runSleepCycleNow, ensureSleepSchema, recoverStaleSleepRuns, DEFAULT_CONFIG as SLEEP_DEFAULT_CONFIG, } from './sleep/index.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,2BAA2B,EAC3B,gBAAgB,EAChB,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,GAChB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,EAC5B,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,SAAS,EACT,UAAU,GACX,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,cAAc,GACf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,UAAU,EAAE,cAAc,EAAE,WAAW,EACvC,oBAAoB,EAAE,sBAAsB,EAAE,kBAAkB,EAChE,aAAa,GACd,MAAM,cAAc,CAAC;AAKtB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,IAAI,oBAAoB,GACvC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,GACd,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,2BAA2B,EAC3B,gBAAgB,EAChB,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,GAChB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,EAC5B,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,SAAS,EACT,UAAU,GACX,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,EACzB,UAAU,GACX,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,cAAc,GACf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,UAAU,EAAE,cAAc,EAAE,WAAW,EACvC,oBAAoB,EAAE,sBAAsB,EAAE,kBAAkB,EAChE,aAAa,GACd,MAAM,cAAc,CAAC;AAKtB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,IAAI,oBAAoB,GACvC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,GACd,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,UAAU,CAAC"}
|
package/dist/ops.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../src/ops.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAA4B,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../src/ops.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAA4B,MAAM,6BAA6B,CAAC;AAkJ3F,wBAAsB,YAAY,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CA+B/F;AAmED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBpG;AAID,MAAM,WAAW,gBAAgB;IAC/B,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAchG"}
|
package/dist/ops.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* per CANONICAL.md §4). Output is byte-identical to what KAD renders.
|
|
4
4
|
* Wire contract for MCP skills — do NOT change output format.
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { getStorage } from './storage.js';
|
|
7
7
|
import { getEntityContext, searchEntities, getEntityGraphStats, getMostMentionedEntities, getTypedRelationships, getEntityProfile, getOpenContradictions, getEntityInsights, } from './entity-graph.js';
|
|
8
8
|
import { formatRelationship } from './relationship-extractor.js';
|
|
9
9
|
import { getFactsForEntity } from './fact-store.js';
|
|
@@ -98,46 +98,25 @@ async function formatEntityContext(t, context) {
|
|
|
98
98
|
}
|
|
99
99
|
async function getRelatedMemories(t, entityName) {
|
|
100
100
|
try {
|
|
101
|
-
const
|
|
102
|
-
let sleep = null;
|
|
103
|
-
try {
|
|
104
|
-
sleep = getDb(t, 'sleep');
|
|
105
|
-
}
|
|
106
|
-
catch {
|
|
107
|
-
return [];
|
|
108
|
-
}
|
|
101
|
+
const storage = getStorage();
|
|
109
102
|
const entityLower = entityName.toLowerCase();
|
|
110
|
-
const sourcePaths =
|
|
111
|
-
SELECT DISTINCT source_path FROM timeline_events
|
|
112
|
-
WHERE LOWER(title) LIKE ? OR LOWER(tags_json) LIKE ? OR LOWER(entities_json) LIKE ?
|
|
113
|
-
LIMIT 20
|
|
114
|
-
`).all(`%${entityLower}%`, `%${entityLower}%`, `%${entityLower}%`);
|
|
103
|
+
const sourcePaths = await storage.timeline.findSourcePathsMatching(t, entityLower, 20);
|
|
115
104
|
if (sourcePaths.length === 0)
|
|
116
105
|
return [];
|
|
117
106
|
const relatedPaths = new Set();
|
|
118
|
-
for (const
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
FROM memory_edges
|
|
124
|
-
WHERE from_path = ? OR to_path = ?
|
|
125
|
-
ORDER BY confidence DESC LIMIT 3
|
|
126
|
-
`).all(source_path, source_path, source_path);
|
|
127
|
-
for (const edge of edges) {
|
|
128
|
-
if (!sourcePaths.some(s => s.source_path === edge.related_path)) {
|
|
129
|
-
relatedPaths.add(edge.related_path);
|
|
130
|
-
}
|
|
107
|
+
for (const source_path of sourcePaths) {
|
|
108
|
+
const edges = await storage.sleep.getRelatedEdges(t, source_path, 3);
|
|
109
|
+
for (const edge of edges) {
|
|
110
|
+
if (!sourcePaths.includes(edge.related_path)) {
|
|
111
|
+
relatedPaths.add(edge.related_path);
|
|
131
112
|
}
|
|
132
113
|
}
|
|
133
|
-
catch { /* memory_edges may not exist */ }
|
|
134
114
|
}
|
|
135
115
|
if (relatedPaths.size === 0)
|
|
136
116
|
return [];
|
|
137
117
|
const lines = [];
|
|
138
118
|
for (const path of relatedPaths) {
|
|
139
|
-
const item =
|
|
140
|
-
.get(path);
|
|
119
|
+
const item = await storage.timeline.getEventByPath(t, path);
|
|
141
120
|
if (item) {
|
|
142
121
|
const date = new Date(item.timestamp).toLocaleDateString();
|
|
143
122
|
lines.push(`- ${item.title} [${date}] (${item.tier})`);
|
|
@@ -151,10 +130,7 @@ async function getRelatedMemories(t, entityName) {
|
|
|
151
130
|
}
|
|
152
131
|
async function trackEntityAccess(t, entityId) {
|
|
153
132
|
try {
|
|
154
|
-
|
|
155
|
-
db.prepare(`
|
|
156
|
-
UPDATE entities SET access_count = access_count + 1, last_accessed = datetime('now') WHERE id = ?
|
|
157
|
-
`).run(entityId);
|
|
133
|
+
await getStorage().entities.trackAccess(t, entityId);
|
|
158
134
|
}
|
|
159
135
|
catch { /* non-critical */ }
|
|
160
136
|
}
|