@getplumb/core 0.1.6 → 0.4.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.
Files changed (84) hide show
  1. package/README.md +2 -2
  2. package/dist/context-builder.d.ts +1 -7
  3. package/dist/context-builder.d.ts.map +1 -1
  4. package/dist/context-builder.js +7 -44
  5. package/dist/context-builder.js.map +1 -1
  6. package/dist/embedder.d.ts +16 -2
  7. package/dist/embedder.d.ts.map +1 -1
  8. package/dist/embedder.js +23 -4
  9. package/dist/embedder.js.map +1 -1
  10. package/dist/extraction-queue.d.ts +13 -3
  11. package/dist/extraction-queue.d.ts.map +1 -1
  12. package/dist/extraction-queue.js +21 -4
  13. package/dist/extraction-queue.js.map +1 -1
  14. package/dist/extractor.d.ts +2 -1
  15. package/dist/extractor.d.ts.map +1 -1
  16. package/dist/extractor.js +106 -7
  17. package/dist/extractor.js.map +1 -1
  18. package/dist/extractor.test.d.ts +2 -0
  19. package/dist/extractor.test.d.ts.map +1 -0
  20. package/dist/extractor.test.js +158 -0
  21. package/dist/extractor.test.js.map +1 -0
  22. package/dist/fact-search.d.ts +9 -5
  23. package/dist/fact-search.d.ts.map +1 -1
  24. package/dist/fact-search.js +25 -16
  25. package/dist/fact-search.js.map +1 -1
  26. package/dist/fact-search.test.d.ts +12 -0
  27. package/dist/fact-search.test.d.ts.map +1 -0
  28. package/dist/fact-search.test.js +117 -0
  29. package/dist/fact-search.test.js.map +1 -0
  30. package/dist/index.d.ts +6 -10
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +2 -5
  33. package/dist/index.js.map +1 -1
  34. package/dist/llm-client.d.ts +11 -2
  35. package/dist/llm-client.d.ts.map +1 -1
  36. package/dist/llm-client.js +47 -3
  37. package/dist/llm-client.js.map +1 -1
  38. package/dist/local-store.d.ts +19 -63
  39. package/dist/local-store.d.ts.map +1 -1
  40. package/dist/local-store.js +353 -262
  41. package/dist/local-store.js.map +1 -1
  42. package/dist/local-store.test.d.ts +2 -0
  43. package/dist/local-store.test.d.ts.map +1 -0
  44. package/dist/local-store.test.js +146 -0
  45. package/dist/local-store.test.js.map +1 -0
  46. package/dist/raw-log-search.d.ts +9 -5
  47. package/dist/raw-log-search.d.ts.map +1 -1
  48. package/dist/raw-log-search.js +107 -29
  49. package/dist/raw-log-search.js.map +1 -1
  50. package/dist/raw-log-search.test.d.ts +12 -0
  51. package/dist/raw-log-search.test.d.ts.map +1 -0
  52. package/dist/raw-log-search.test.js +124 -0
  53. package/dist/raw-log-search.test.js.map +1 -0
  54. package/dist/read-path.d.ts +6 -23
  55. package/dist/read-path.d.ts.map +1 -1
  56. package/dist/read-path.js +9 -48
  57. package/dist/read-path.js.map +1 -1
  58. package/dist/read-path.test.d.ts +15 -0
  59. package/dist/read-path.test.d.ts.map +1 -0
  60. package/dist/read-path.test.js +393 -0
  61. package/dist/read-path.test.js.map +1 -0
  62. package/dist/schema.d.ts +4 -13
  63. package/dist/schema.d.ts.map +1 -1
  64. package/dist/schema.js +42 -52
  65. package/dist/schema.js.map +1 -1
  66. package/dist/scorer.d.ts +0 -9
  67. package/dist/scorer.d.ts.map +1 -1
  68. package/dist/scorer.js +1 -31
  69. package/dist/scorer.js.map +1 -1
  70. package/dist/scorer.test.d.ts +10 -0
  71. package/dist/scorer.test.d.ts.map +1 -0
  72. package/dist/scorer.test.js +169 -0
  73. package/dist/scorer.test.js.map +1 -0
  74. package/dist/store.d.ts +2 -14
  75. package/dist/store.d.ts.map +1 -1
  76. package/dist/types.d.ts +0 -25
  77. package/dist/types.d.ts.map +1 -1
  78. package/dist/types.js +1 -6
  79. package/dist/types.js.map +1 -1
  80. package/dist/wasm-db.d.ts +63 -8
  81. package/dist/wasm-db.d.ts.map +1 -1
  82. package/dist/wasm-db.js +124 -31
  83. package/dist/wasm-db.js.map +1 -1
  84. package/package.json +14 -2
@@ -1 +1 @@
1
- {"version":3,"file":"local-store.js","sourceRoot":"","sources":["../src/local-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-store.js","sourceRoot":"","sources":["../src/local-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAe,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAA2B,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAwC9E;;;;;;;GAOG;AACH,QAAQ,CAAC,CAAC,iBAAiB,CAAC,IAAY;IACtC,MAAM,WAAW,GAAG,GAAG,CAAC;IACxB,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,MAAM,QAAQ,GAAG,GAAG,CAAC;IACrB,MAAM,gBAAgB,GAAG,WAAW,CAAC;IAErC,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC;QAC/B,uDAAuD;QACvD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,CAAC;QACvC,OAAO;IACT,CAAC;IAED,IAAI,GAAG,GAAG,CAAC,CAAC;IAEZ,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEtD,iDAAiD;QACjD,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,CAAC;YAChC,MAAM;QACR,CAAC;QAED,0DAA0D;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACvE,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAEvE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,qDAAqD;YACrD,IAAI,SAAS,GAAG,eAAe,CAAC,CAAC,CAAE,CAAC,CAAC,2BAA2B;YAChE,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;gBACpC,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,IAAI,WAAW,EAAE,CAAC;oBAC5D,SAAS,GAAG,KAAK,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACN,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBAChE,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,6BAA6B;gBAC7B,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,0DAA0D;YAC1D,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,KAAK,CAAC;QAElC,sCAAsC;QACtC,GAAG,GAAG,MAAM,GAAG,OAAO,CAAC;QACvB,IAAI,GAAG,GAAG,CAAC;YAAE,GAAG,GAAG,MAAM,CAAC,CAAC,4BAA4B;IACzD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,IAAY,EAAE,KAAa,EAAE,UAAkB,EAAE,OAAe;IACxF,MAAM,SAAS,GAAG,KAAK,GAAG,UAAU,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAEtD,+CAA+C;IAC/C,IAAI,MAAM,GAAG,SAAS,CAAC;IAEvB,6CAA6C;IAC7C,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAC7B,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,yBAAyB;YACzC,MAAM;QACR,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,IAAI,MAAM,KAAK,SAAS,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC;QAC/C,MAAM,GAAG,MAAM,CAAC;IAClB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,OAAO,UAAU;IACZ,GAAG,CAAS;IACZ,OAAO,CAAS;IAEzB,8CAA8C;IAC9C,kBAAkB,GAAG,KAAK,CAAC;IAC3B,kBAAkB,GAAyB,IAAI,CAAC;IACvC,YAAY,CAAS;IAE9B,mGAAmG;IACnG,qBAAqB,GAAsD,EAAE,CAAC;IAE9E,mEAAmE;IACnE,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,qBAAqB,GAAG,KAAK,CAAC,CAAC,0BAA0B;IAEzD,kDAAkD;IAClD,sBAAsB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACpC,oBAAoB,GAA0C,IAAI,CAAC;IAEnE,0DAA0D;IAC1D,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,mCAAmC;IACnC,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,YACE,EAAU,EACV,MAAc,EACd,OAAsC;QAEtC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,sCAAsC;QACtC,IAAI,CAAC,YAAY,GAAG,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAA6B,EAAE;QACjD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;QAE3C,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAEhC,mCAAmC;QACnC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACrC,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAEpC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEhB,eAAe;QACf,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAE1D,6EAA6E;QAC7E,MAAM,YAAY,EAAE,CAAC;QAErB,8EAA8E;QAC9E,oFAAoF;QACpF,MAAM,YAAY,EAAE,CAAC;QAErB,2GAA2G;QAC3G,iGAAiG;QACjG,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;KAKhC,CAAC,CAAC;QACH,OAAO,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAyC,CAAC;YAC1E,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC;gBAC/B,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,SAAS,EAAE,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC;aAC/C,CAAC,CAAC;QACL,CAAC;QACD,aAAa,CAAC,QAAQ,EAAE,CAAC;QAEzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CACjC,qDAAqD,CACtD,CAAC;QACF,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAChC,UAAU,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAW,CAAC;QAChD,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEtB,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CACxC,4DAA4D,CAC7D,CAAC;QACF,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACvC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,eAAe,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjD,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QAE7B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,mBAAmB,CAAW,CAAC;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAW,CAAC;QAEpE,OAAO;YACL,WAAW;YACX,aAAa,EAAE,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,eAAyB,CAAC,CAAC,CAAC,CAAC,IAAI;YACpF,YAAY,EAAE,SAAS,GAAG,QAAQ;SACnC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAyB;QACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE3C,8DAA8D;QAC9D,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEzE,gFAAgF;QAChF,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEvB,yDAAyD;YACzD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;;;;;;OAMnC,CAAC,CAAC;YACH,UAAU,CAAC,IAAI,CAAC;gBACd,QAAQ;gBACR,IAAI,CAAC,OAAO;gBACZ,QAAQ,CAAC,SAAS;gBAClB,QAAQ,CAAC,YAAY,IAAI,IAAI;gBAC7B,QAAQ,CAAC,WAAW;gBACpB,QAAQ,CAAC,aAAa;gBACtB,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE;gBAChC,QAAQ,CAAC,MAAM;gBACf,SAAS;gBACT,CAAC;gBACD,WAAW;gBACX,UAAU,EAAE,iCAAiC;gBAC7C,IAAI;gBACJ,IAAI;gBACJ,IAAI,EAAE,iCAAiC;aACxC,CAAC,CAAC;YACH,UAAU,CAAC,IAAI,EAAE,CAAC;YAClB,UAAU,CAAC,QAAQ,EAAE,CAAC;YAEtB,8DAA8D;YAC9D,kFAAkF;YAClF,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,KAAK,MAAM,SAAS,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;gBAErD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;gBACpC,IAAI,cAAc,GAAwB,IAAI,CAAC;gBAC/C,IAAI,kBAAkB,GAAkB,IAAI,CAAC;gBAC7C,IAAI,gBAAgB,GAAG,SAAS,CAAC;gBACjC,IAAI,eAAe,GAAkB,IAAI,CAAC;gBAC1C,IAAI,eAAe,GAAkB,IAAI,CAAC;gBAE1C,wBAAwB;gBACxB,IAAI,CAAC;oBACH,cAAc,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;oBACxC,kBAAkB,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;oBACxD,gBAAgB,GAAG,MAAM,CAAC;oBAC1B,eAAe,GAAG,0BAA0B,CAAC;gBAC/C,CAAC;gBAAC,OAAO,GAAY,EAAE,CAAC;oBACtB,gBAAgB,GAAG,QAAQ,CAAC;oBAC5B,eAAe,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrE,CAAC;gBAED,mBAAmB;gBACnB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;;;;;;SAMlC,CAAC,CAAC;gBACH,SAAS,CAAC,IAAI,CAAC;oBACb,OAAO;oBACP,IAAI,CAAC,OAAO;oBACZ,QAAQ,CAAC,SAAS;oBAClB,QAAQ,CAAC,YAAY,IAAI,IAAI;oBAC7B,QAAQ,CAAC,WAAW;oBACpB,QAAQ,CAAC,aAAa;oBACtB,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE;oBAChC,QAAQ,CAAC,MAAM;oBACf,SAAS;oBACT,CAAC,EAAE,2BAA2B;oBAC9B,IAAI,EAAE,iEAAiE;oBACvE,gBAAgB;oBAChB,eAAe;oBACf,eAAe;oBACf,QAAQ,EAAE,6BAA6B;iBACxC,CAAC,CAAC;gBACH,SAAS,CAAC,IAAI,EAAE,CAAC;gBACjB,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAErB,iEAAiE;gBACjE,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;oBAChC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC;oBAClF,OAAO,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;oBACnC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACf,OAAO,CAAC,QAAQ,EAAE,CAAC;oBAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,4BAA4B,CAAW,CAAC;oBAE9E,mCAAmC;oBACnC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC;oBACrF,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;oBACrC,UAAU,CAAC,IAAI,EAAE,CAAC;oBAClB,UAAU,CAAC,QAAQ,EAAE,CAAC;oBAEtB,mDAAmD;oBACnD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAe,EAAE,CAAC,CAAC;gBACnF,CAAC;gBAED,CAAC,EAAE,CAAC;YACN,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAE1B,4DAA4D;YAC5D,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACtE,sCAAsC;gBACtC,OAAO;oBACL,QAAQ,EAAE,EAAE;oBACZ,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YACD,gDAAgD;YAChD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,OAAO;YACL,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,KAAK,GAAG,EAAE;QAC1C,oGAAoG;QACpG,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACxF,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,MAAc;QACtB,+CAA+C;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;KAmBnC,CAAC,CAAC;QACH,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAE1B,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,OAAO,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAQ,CAAC,CAAC;QACzC,CAAC;QACD,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEtB,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,qBAAqB;QACnB,yBAAyB;QACzB,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACnD,CAAC;QAED,8EAA8E;QAC9E,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;YACvC,IAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC;gBAC1D,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,2BAA2B;gBAEzD,uDAAuD;gBACvD,IAAI,QAAQ,GAAG,aAAa,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACzD,OAAO,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBACxF,KAAK,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBACnC,CAAC;YACH,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,qBAAqB;QAClC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,oBAAoB;QACxB,qCAAqC;QACrC,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;YACvC,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACzC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACnC,CAAC;QAED,sBAAsB;QACtB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAE/B,kEAAkE;QAClE,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,kBAAkB,CAAC;YAC9B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe;QACnB,iDAAiD;QACjD,IAAI,uBAAuB,GAAG,CAAC,CAAC;QAChC,MAAM,iBAAiB,GAAG,IAAI,CAAC,CAAC,iDAAiD;QAEjF,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAElD,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;gBACpB,uBAAuB,EAAE,CAAC;gBAE1B,2DAA2D;gBAC3D,IAAI,uBAAuB,IAAI,iBAAiB,EAAE,CAAC;oBACjD,OAAO,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;oBAChF,IAAI,IAAI,CAAC,kBAAkB;wBAAE,MAAM;oBACnC,uBAAuB,GAAG,CAAC,CAAC,CAAC,qBAAqB;gBACpD,CAAC;gBAED,+CAA+C;gBAC/C,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,uBAAuB,GAAG,CAAC,CAAC;gBAC5B,mCAAmC;gBACnC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3C,CAAC;YACD,4DAA4D;QAC9D,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB;QACtB,MAAM,UAAU,GAAG,EAAE,CAAC,CAAC,kDAAkD;QAEzE,gEAAgE;QAChE,kGAAkG;QAClG,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;;;;;KAK7B,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;QAEtC,MAAM,WAAW,GAA8C,EAAE,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAQ,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAEvC,6CAA6C;QAC7C,MAAM,OAAO,CAAC,GAAG,CACf,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC9C,MAAM,aAAa,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBACpD,MAAM,UAAU,GAAG,0BAA0B,CAAC;gBAE9C,8DAA8D;gBAC9D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC;gBAClF,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC9B,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,4BAA4B,CAAW,CAAC;gBAE9E,8DAA8D;gBAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;;;;WAInC,CAAC,CAAC;gBACH,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChD,UAAU,CAAC,IAAI,EAAE,CAAC;gBAClB,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAEtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAExB,iDAAiD;gBACjD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;YAClE,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,6DAA6D;gBAC7D,MAAM,QAAQ,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;;;;WAInC,CAAC,CAAC;gBACH,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpC,UAAU,CAAC,IAAI,EAAE,CAAC;gBAClB,UAAU,CAAC,QAAQ,EAAE,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,6DAA6D;QAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC5D,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;gBAChD,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;YAC7B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,qEAAqE;IACrE,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=local-store.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-store.test.d.ts","sourceRoot":"","sources":["../src/local-store.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,146 @@
1
+ import { test, after } from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { tmpdir } from 'node:os';
4
+ import { join } from 'node:path';
5
+ import { rmSync } from 'node:fs';
6
+ import { LocalStore } from './local-store.js';
7
+ import { DecayRate } from './types.js';
8
+ // Use a unique temp path per test run so tests don't interfere with each other.
9
+ const dbPath = join(tmpdir(), `plumb-test-${Date.now()}.db`);
10
+ const store = new LocalStore({ dbPath, userId: 'test-user' });
11
+ after(() => {
12
+ store.close();
13
+ rmSync(dbPath, { force: true });
14
+ });
15
+ test('store() inserts a fact and returns a UUID', async () => {
16
+ const id = await store.store({
17
+ subject: 'user',
18
+ predicate: 'prefers',
19
+ object: 'dark mode',
20
+ confidence: 0.95,
21
+ decayRate: DecayRate.slow,
22
+ timestamp: new Date(),
23
+ sourceSessionId: 'session-abc',
24
+ sourceSessionLabel: 'test-session',
25
+ context: 'user mentioned this in passing',
26
+ });
27
+ assert.match(id, /^[0-9a-f-]{36}$/, 'id should be a UUID');
28
+ });
29
+ test('search() retrieves stored fact by keyword', async () => {
30
+ await store.store({
31
+ subject: 'user',
32
+ predicate: 'uses',
33
+ object: 'TypeScript',
34
+ confidence: 0.9,
35
+ decayRate: DecayRate.medium,
36
+ timestamp: new Date(),
37
+ sourceSessionId: 'session-abc',
38
+ });
39
+ const results = await store.search('TypeScript');
40
+ assert.ok(results.length > 0, 'should return at least one result');
41
+ const match = results.find((r) => r.fact.object === 'TypeScript');
42
+ assert.ok(match !== undefined, 'should find the TypeScript fact');
43
+ assert.equal(match.fact.subject, 'user');
44
+ assert.equal(match.fact.predicate, 'uses');
45
+ assert.ok(match.ageInDays >= 0, 'ageInDays should be non-negative');
46
+ assert.ok(match.score >= 0, 'score should be non-negative');
47
+ });
48
+ test('delete() soft-deletes a fact (sets deleted_at, excludes from search)', async () => {
49
+ const id = await store.store({
50
+ subject: 'user',
51
+ predicate: 'dislikes',
52
+ object: 'Comic Sans',
53
+ confidence: 0.99,
54
+ decayRate: DecayRate.slow,
55
+ timestamp: new Date(),
56
+ sourceSessionId: 'session-xyz',
57
+ });
58
+ // Fact should be findable before deletion.
59
+ const before = await store.search('Comic Sans');
60
+ assert.ok(before.some((r) => r.fact.id === id), 'fact should be visible before deletion');
61
+ await store.delete(id);
62
+ // Fact should be excluded after soft delete.
63
+ const after = await store.search('Comic Sans');
64
+ assert.ok(!after.some((r) => r.fact.id === id), 'soft-deleted fact should not appear in search');
65
+ });
66
+ test('status() returns accurate factCount and rawLogCount', async () => {
67
+ const fresh = new LocalStore({
68
+ dbPath: join(tmpdir(), `plumb-status-test-${Date.now()}.db`),
69
+ userId: 'status-test-user',
70
+ });
71
+ try {
72
+ const initial = await fresh.status();
73
+ assert.equal(initial.factCount, 0);
74
+ assert.equal(initial.rawLogCount, 0);
75
+ assert.equal(initial.lastIngestion, null);
76
+ assert.ok(initial.storageBytes > 0, 'storageBytes should be positive even for empty DB');
77
+ await fresh.store({
78
+ subject: 'user',
79
+ predicate: 'is',
80
+ object: 'a developer',
81
+ confidence: 0.8,
82
+ decayRate: DecayRate.slow,
83
+ timestamp: new Date(),
84
+ sourceSessionId: 's1',
85
+ });
86
+ const afterStore = await fresh.status();
87
+ assert.equal(afterStore.factCount, 1);
88
+ assert.equal(afterStore.rawLogCount, 0);
89
+ await fresh.ingest({
90
+ userMessage: 'Hello!',
91
+ agentResponse: 'Hi there!',
92
+ timestamp: new Date(),
93
+ source: 'openclaw',
94
+ sessionId: 'session-1',
95
+ });
96
+ const afterIngest = await fresh.status();
97
+ assert.equal(afterIngest.rawLogCount, 1);
98
+ assert.ok(afterIngest.lastIngestion !== null, 'lastIngestion should be set after ingest');
99
+ }
100
+ finally {
101
+ fresh.close();
102
+ }
103
+ });
104
+ test('ingest() writes to raw_log and returns rawLogId', async () => {
105
+ const result = await store.ingest({
106
+ userMessage: 'What is the capital of France?',
107
+ agentResponse: 'The capital of France is Paris.',
108
+ timestamp: new Date(),
109
+ source: 'claude-code',
110
+ sessionId: 'session-ingest-test',
111
+ sessionLabel: 'geography-chat',
112
+ });
113
+ assert.match(result.rawLogId, /^[0-9a-f-]{36}$/, 'rawLogId should be a UUID');
114
+ assert.equal(result.factsExtracted, 0, 'no facts extracted yet (T-005)');
115
+ assert.deepEqual(result.factIds, []);
116
+ });
117
+ test('ingest() cross-session: facts from different sessions visible in same status()', async () => {
118
+ const crossStore = new LocalStore({
119
+ dbPath: join(tmpdir(), `plumb-cross-session-${Date.now()}.db`),
120
+ userId: 'cross-user',
121
+ });
122
+ try {
123
+ await crossStore.ingest({
124
+ userMessage: 'Planning session A',
125
+ agentResponse: 'Got it.',
126
+ timestamp: new Date(),
127
+ source: 'openclaw',
128
+ sessionId: 'session-A',
129
+ sessionLabel: 'planning',
130
+ });
131
+ await crossStore.ingest({
132
+ userMessage: 'Continuing in session B',
133
+ agentResponse: 'Understood.',
134
+ timestamp: new Date(),
135
+ source: 'openclaw',
136
+ sessionId: 'session-B',
137
+ sessionLabel: 'followup',
138
+ });
139
+ const status = await crossStore.status();
140
+ assert.equal(status.rawLogCount, 2, 'both sessions should be counted in raw_log');
141
+ }
142
+ finally {
143
+ crossStore.close();
144
+ }
145
+ });
146
+ //# sourceMappingURL=local-store.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-store.test.js","sourceRoot":"","sources":["../src/local-store.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,gFAAgF;AAChF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,cAAc,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAE7D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;AAE9D,KAAK,CAAC,GAAG,EAAE;IACT,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;IAC3D,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC;QAC3B,OAAO,EAAE,MAAM;QACf,SAAS,EAAE,SAAS;QACpB,MAAM,EAAE,WAAW;QACnB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,SAAS,CAAC,IAAI;QACzB,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,eAAe,EAAE,aAAa;QAC9B,kBAAkB,EAAE,cAAc;QAClC,OAAO,EAAE,gCAAgC;KAC1C,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;IAC3D,MAAM,KAAK,CAAC,KAAK,CAAC;QAChB,OAAO,EAAE,MAAM;QACf,SAAS,EAAE,MAAM;QACjB,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,SAAS,CAAC,MAAM;QAC3B,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,eAAe,EAAE,aAAa;KAC/B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,mCAAmC,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC;IAClE,MAAM,CAAC,EAAE,CAAC,KAAK,KAAK,SAAS,EAAE,iCAAiC,CAAC,CAAC;IAClE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,EAAE,kCAAkC,CAAC,CAAC;IACpE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,8BAA8B,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;IACtF,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC;QAC3B,OAAO,EAAE,MAAM;QACf,SAAS,EAAE,UAAU;QACrB,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,SAAS,CAAC,IAAI;QACzB,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,eAAe,EAAE,aAAa;KAC/B,CAAC,CAAC;IAEH,2CAA2C;IAC3C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,wCAAwC,CAAC,CAAC;IAE1F,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEvB,6CAA6C;IAC7C,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,+CAA+C,CAAC,CAAC;AACnG,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;IACrE,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,qBAAqB,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC;QAC5D,MAAM,EAAE,kBAAkB;KAC3B,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC1C,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,EAAE,mDAAmD,CAAC,CAAC;QAEzF,MAAM,KAAK,CAAC,KAAK,CAAC;YAChB,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,aAAa;YACrB,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,SAAS,CAAC,IAAI;YACzB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAExC,MAAM,KAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,QAAQ;YACrB,aAAa,EAAE,WAAW;YAC1B,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,WAAW;SACvB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,aAAa,KAAK,IAAI,EAAE,0CAA0C,CAAC,CAAC;IAC5F,CAAC;YAAS,CAAC;QACT,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;IACjE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;QAChC,WAAW,EAAE,gCAAgC;QAC7C,aAAa,EAAE,iCAAiC;QAChD,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,qBAAqB;QAChC,YAAY,EAAE,gBAAgB;KAC/B,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE,2BAA2B,CAAC,CAAC;IAC9E,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,EAAE,gCAAgC,CAAC,CAAC;IACzE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;IAChG,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC;QAChC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,uBAAuB,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC;QAC9D,MAAM,EAAE,YAAY;KACrB,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,MAAM,CAAC;YACtB,WAAW,EAAE,oBAAoB;YACjC,aAAa,EAAE,SAAS;YACxB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,WAAW;YACtB,YAAY,EAAE,UAAU;SACzB,CAAC,CAAC;QAEH,MAAM,UAAU,CAAC,MAAM,CAAC;YACtB,WAAW,EAAE,yBAAyB;YACtC,aAAa,EAAE,aAAa;YAC5B,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,WAAW;YACtB,YAAY,EAAE,UAAU;SACzB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,4CAA4C,CAAC,CAAC;IACpF,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -24,10 +24,14 @@ export interface RawLogSearchResult {
24
24
  /**
25
25
  * Hybrid search over raw_log.
26
26
  *
27
- * @param db The WASM SQLite Database instance
28
- * @param userId Scopes the search to this user's data
29
- * @param query Natural language query string
30
- * @param limit Number of results to return (default 10)
27
+ * @param db The WASM SQLite Database instance
28
+ * @param userId Scopes the search to this user's data
29
+ * @param query Natural language query string
30
+ * @param limit Number of results to return (default 10)
31
+ * @param preloadedCorpus Optional pre-loaded vec_raw_log corpus (T-103: in-memory cache)
31
32
  */
32
- export declare function searchRawLog(db: WasmDb, userId: string, query: string, limit?: number): Promise<readonly RawLogSearchResult[]>;
33
+ export declare function searchRawLog(db: WasmDb, userId: string, query: string, limit?: number, preloadedCorpus?: Array<{
34
+ rowid: number;
35
+ embedding: Float32Array;
36
+ }>): Promise<readonly RawLogSearchResult[]>;
33
37
  //# sourceMappingURL=raw-log-search.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"raw-log-search.d.ts","sourceRoot":"","sources":["../src/raw-log-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAgB3C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8FAA8F;IAC9F,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAiDD;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,KAAK,SAAK,GACT,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAoGxC"}
1
+ {"version":3,"file":"raw-log-search.d.ts","sourceRoot":"","sources":["../src/raw-log-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAgB3C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8FAA8F;IAC9F,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAkDD;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,KAAK,SAAK,EACV,eAAe,CAAC,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,YAAY,CAAA;CAAE,CAAC,GAClE,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC,CA4LxC"}
@@ -53,23 +53,40 @@ function rrf(vecRanked, bm25Ranked) {
53
53
  /**
54
54
  * Hybrid search over raw_log.
55
55
  *
56
- * @param db The WASM SQLite Database instance
57
- * @param userId Scopes the search to this user's data
58
- * @param query Natural language query string
59
- * @param limit Number of results to return (default 10)
56
+ * @param db The WASM SQLite Database instance
57
+ * @param userId Scopes the search to this user's data
58
+ * @param query Natural language query string
59
+ * @param limit Number of results to return (default 10)
60
+ * @param preloadedCorpus Optional pre-loaded vec_raw_log corpus (T-103: in-memory cache)
60
61
  */
61
- export async function searchRawLog(db, userId, query, limit = 10) {
62
- // ── 1. Fetch all raw_log rows for this user ──────────────────────────────
63
- const stmt = db.prepare(`SELECT id, session_id, session_label, timestamp, chunk_text, vec_rowid
62
+ export async function searchRawLog(db, userId, query, limit = 10, preloadedCorpus) {
63
+ // ── 1. Fetch searchable rows: children + parent-only fallback (T-108) ───
64
+ // Child rows: parent_id IS NOT NULL (small chunks for fast reranking)
65
+ // Parent-only rows: parent_id IS NULL AND not a parent of any children (old data from pre-T-108)
66
+ const childStmt = db.prepare(`SELECT id, session_id, session_label, timestamp, chunk_text, vec_rowid, parent_id
64
67
  FROM raw_log
65
- WHERE user_id = ?
68
+ WHERE user_id = ? AND parent_id IS NOT NULL
66
69
  ORDER BY timestamp DESC`);
67
- stmt.bind([userId]);
68
- const allRows = [];
69
- while (stmt.step()) {
70
- allRows.push(stmt.get({}));
70
+ childStmt.bind([userId]);
71
+ const childRows = [];
72
+ while (childStmt.step()) {
73
+ childRows.push(childStmt.get({}));
71
74
  }
72
- stmt.finalize();
75
+ childStmt.finalize();
76
+ // Fetch parent-only rows (old data) — rows that are parents (parent_id IS NULL) but have no children.
77
+ const parentOnlyStmt = db.prepare(`SELECT id, session_id, session_label, timestamp, chunk_text, vec_rowid, parent_id
78
+ FROM raw_log
79
+ WHERE user_id = ? AND parent_id IS NULL
80
+ AND id NOT IN (SELECT DISTINCT parent_id FROM raw_log WHERE parent_id IS NOT NULL)
81
+ ORDER BY timestamp DESC`);
82
+ parentOnlyStmt.bind([userId]);
83
+ const parentOnlyRows = [];
84
+ while (parentOnlyStmt.step()) {
85
+ parentOnlyRows.push(parentOnlyStmt.get({}));
86
+ }
87
+ parentOnlyStmt.finalize();
88
+ // Combine both sets for search
89
+ const allRows = [...childRows, ...parentOnlyRows];
73
90
  if (allRows.length === 0)
74
91
  return [];
75
92
  const idToRow = new Map(allRows.map((r) => [r.id, r]));
@@ -82,17 +99,25 @@ export async function searchRawLog(db, userId, query, limit = 10) {
82
99
  .sort((a, b) => b[1] - a[1]);
83
100
  // ── 3. Vector search via JS cosine similarity ───────────────────────────
84
101
  const queryVec = await embedQuery(query);
85
- // Fetch all embeddings from vec_raw_log
86
- const vecStmt = db.prepare(`SELECT id, embedding FROM vec_raw_log`);
87
- const vecCorpus = [];
88
- while (vecStmt.step()) {
89
- const row = vecStmt.get({});
90
- vecCorpus.push({
91
- id: row.id,
92
- embedding: deserializeEmbedding(row.embedding),
93
- });
102
+ // T-103: Use preloaded corpus if provided, otherwise fetch from vec_raw_log
103
+ let vecCorpus;
104
+ if (preloadedCorpus !== undefined) {
105
+ // Map rowid → id for knnSearch compatibility
106
+ vecCorpus = preloadedCorpus.map(entry => ({ id: entry.rowid, embedding: entry.embedding }));
107
+ }
108
+ else {
109
+ // Fetch all embeddings from vec_raw_log (legacy path, used if cache not provided)
110
+ const vecStmt = db.prepare(`SELECT id, embedding FROM vec_raw_log`);
111
+ vecCorpus = [];
112
+ while (vecStmt.step()) {
113
+ const row = vecStmt.get({});
114
+ vecCorpus.push({
115
+ id: row.id,
116
+ embedding: deserializeEmbedding(row.embedding),
117
+ });
118
+ }
119
+ vecStmt.finalize();
94
120
  }
95
- vecStmt.finalize();
96
121
  // Perform KNN search
97
122
  const vecFetchLimit = Math.min(allRows.length, Math.max(RERANK_TOP_K * 2, limit * 3, 50));
98
123
  const vecResults = knnSearch(queryVec, vecCorpus, vecFetchLimit);
@@ -128,14 +153,67 @@ export async function searchRawLog(db, userId, query, limit = 10) {
128
153
  finalScore: hasRerankerSignal ? (rerankerScores[i] ?? 0) : rrfDecayScore,
129
154
  }));
130
155
  ranked.sort((a, b) => b.finalScore - a.finalScore);
131
- // ── 8. Build output ─────────────────────────────────────────────────────
132
- return ranked.slice(0, limit).map(({ id, finalScore }) => {
156
+ // ── 8. Deduplicate by parent_id (T-108) ────────────────────────────────
157
+ // For child rows (parent_id IS NOT NULL), keep the highest-scoring child per parent.
158
+ // For parent-only rows (parent_id IS NULL), keep them as-is.
159
+ const seenParents = new Set();
160
+ const deduplicated = [];
161
+ for (const item of ranked) {
162
+ const row = idToRow.get(item.id);
163
+ if (!row)
164
+ continue;
165
+ if (row.parent_id !== null) {
166
+ // Child row — deduplicate by parent_id
167
+ if (seenParents.has(row.parent_id)) {
168
+ continue; // Skip: already saw a higher-scoring child from this parent
169
+ }
170
+ seenParents.add(row.parent_id);
171
+ deduplicated.push(item);
172
+ }
173
+ else {
174
+ // Parent-only row — keep as-is (no dedup needed)
175
+ deduplicated.push(item);
176
+ }
177
+ }
178
+ // ── 9. Fetch parent chunk_text for child rows ──────────────────────────
179
+ // For child rows, return parent chunk_text. For parent-only rows, return their own chunk_text.
180
+ const parentIds = new Set();
181
+ for (const item of deduplicated.slice(0, limit)) {
182
+ const row = idToRow.get(item.id);
183
+ if (row && row.parent_id !== null) {
184
+ parentIds.add(row.parent_id);
185
+ }
186
+ }
187
+ // Fetch parent rows in one query
188
+ const parentMap = new Map();
189
+ if (parentIds.size > 0) {
190
+ const placeholders = Array.from(parentIds).map(() => '?').join(',');
191
+ const parentStmt = db.prepare(`SELECT id, session_id, session_label, timestamp, chunk_text, parent_id
192
+ FROM raw_log
193
+ WHERE id IN (${placeholders})`);
194
+ parentStmt.bind(Array.from(parentIds));
195
+ while (parentStmt.step()) {
196
+ const parent = parentStmt.get({});
197
+ parentMap.set(parent.id, parent);
198
+ }
199
+ parentStmt.finalize();
200
+ }
201
+ // ── 10. Build output ────────────────────────────────────────────────────
202
+ return deduplicated.slice(0, limit).map(({ id, finalScore }) => {
133
203
  const row = idToRow.get(id);
204
+ // If this is a child row, return parent chunk_text. Otherwise, return own chunk_text.
205
+ let displayRow = row;
206
+ if (row.parent_id !== null) {
207
+ const parent = parentMap.get(row.parent_id);
208
+ if (parent) {
209
+ displayRow = parent; // Use parent's chunk_text, session_id, etc.
210
+ }
211
+ }
134
212
  return {
135
- chunk_text: row.chunk_text,
136
- session_id: row.session_id,
137
- session_label: row.session_label,
138
- timestamp: row.timestamp,
213
+ chunk_text: displayRow.chunk_text,
214
+ session_id: displayRow.session_id,
215
+ session_label: displayRow.session_label,
216
+ timestamp: displayRow.timestamp,
139
217
  final_score: finalScore,
140
218
  };
141
219
  });
@@ -1 +1 @@
1
- {"version":3,"file":"raw-log-search.js","sourceRoot":"","sources":["../src/raw-log-search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"raw-log-search.js","sourceRoot":"","sources":["../src/raw-log-search.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Tests for Layer 1 hybrid search (raw-log-search.ts).
3
+ *
4
+ * Ingests 3 exchanges with distinct topics, then verifies that searchRawLog()
5
+ * returns ranked results with the expected structure.
6
+ *
7
+ * Note: The first test run downloads the BAAI/bge-small-en-v1.5 embedding model
8
+ * (~100 MB) and the ms-marco cross-encoder (~50 MB) — subsequent runs use the
9
+ * local ~/.cache/huggingface/ cache. Tests are marked with a generous timeout.
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=raw-log-search.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-log-search.test.d.ts","sourceRoot":"","sources":["../src/raw-log-search.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Tests for Layer 1 hybrid search (raw-log-search.ts).
3
+ *
4
+ * Ingests 3 exchanges with distinct topics, then verifies that searchRawLog()
5
+ * returns ranked results with the expected structure.
6
+ *
7
+ * Note: The first test run downloads the BAAI/bge-small-en-v1.5 embedding model
8
+ * (~100 MB) and the ms-marco cross-encoder (~50 MB) — subsequent runs use the
9
+ * local ~/.cache/huggingface/ cache. Tests are marked with a generous timeout.
10
+ */
11
+ import { test, after } from 'node:test';
12
+ import assert from 'node:assert/strict';
13
+ import { tmpdir } from 'node:os';
14
+ import { join } from 'node:path';
15
+ import { rmSync } from 'node:fs';
16
+ import { LocalStore } from './local-store.js';
17
+ const dbPath = join(tmpdir(), `plumb-search-test-${Date.now()}.db`);
18
+ const store = new LocalStore({ dbPath, userId: 'search-test-user' });
19
+ after(() => {
20
+ store.close();
21
+ rmSync(dbPath, { force: true });
22
+ });
23
+ // ─── Fixtures ────────────────────────────────────────────────────────────────
24
+ const EXCHANGES = [
25
+ {
26
+ userMessage: 'How do I configure TypeScript strict mode?',
27
+ agentResponse: 'Enable strict mode in tsconfig.json by setting "strict": true. ' +
28
+ 'This enables noImplicitAny, strictNullChecks, and several other checks ' +
29
+ 'that catch common bugs at compile time.',
30
+ sessionId: 'session-ts',
31
+ sessionLabel: 'typescript-help',
32
+ source: 'openclaw',
33
+ timestamp: new Date(Date.now() - 1 * 24 * 60 * 60 * 1000), // 1 day ago
34
+ },
35
+ {
36
+ userMessage: 'What is the best recipe for chocolate cake?',
37
+ agentResponse: 'For a classic chocolate cake, cream 200g butter with 200g sugar, ' +
38
+ 'beat in 4 eggs, fold in 175g self-raising flour and 50g cocoa powder. ' +
39
+ 'Bake at 180°C for 30 minutes. Frost with ganache when cool.',
40
+ sessionId: 'session-recipe',
41
+ sessionLabel: 'cooking-chat',
42
+ source: 'openclaw',
43
+ timestamp: new Date(Date.now() - 2 * 24 * 60 * 60 * 1000), // 2 days ago
44
+ },
45
+ {
46
+ userMessage: 'Explain SQLite WAL mode and when to use it.',
47
+ agentResponse: 'WAL (Write-Ahead Log) mode improves SQLite concurrency by allowing ' +
48
+ 'readers to proceed while a writer is active. Enable it with PRAGMA ' +
49
+ 'journal_mode = WAL. It is recommended for applications with multiple ' +
50
+ 'readers and infrequent writers, like desktop apps and local servers.',
51
+ sessionId: 'session-sqlite',
52
+ sessionLabel: 'database-chat',
53
+ source: 'claude-code',
54
+ timestamp: new Date(Date.now() - 3 * 24 * 60 * 60 * 1000), // 3 days ago
55
+ },
56
+ ];
57
+ // ─── Ingest (shared setup) ───────────────────────────────────────────────────
58
+ test('ingest 3 exchanges with distinct topics', { timeout: 120_000 }, async () => {
59
+ for (const exchange of EXCHANGES) {
60
+ const result = await store.ingest(exchange);
61
+ assert.match(result.rawLogId, /^[0-9a-f-]{36}$/, 'rawLogId should be a UUID');
62
+ }
63
+ const status = await store.status();
64
+ assert.equal(status.rawLogCount, 3, 'all 3 exchanges should be in raw_log');
65
+ });
66
+ // ─── Search ──────────────────────────────────────────────────────────────────
67
+ test('searchRawLog returns results with required fields', { timeout: 120_000 }, async () => {
68
+ const results = await store.searchRawLog('TypeScript configuration', 3);
69
+ assert.ok(results.length > 0, 'should return at least one result');
70
+ for (const r of results) {
71
+ assert.ok(typeof r.chunk_text === 'string', 'chunk_text must be a string');
72
+ assert.ok(typeof r.session_id === 'string', 'session_id must be a string');
73
+ assert.ok(typeof r.timestamp === 'string', 'timestamp must be a string');
74
+ assert.ok(typeof r.final_score === 'number', 'final_score must be a number');
75
+ // session_label may be null
76
+ assert.ok(r.session_label === null || typeof r.session_label === 'string', 'session_label must be string or null');
77
+ }
78
+ });
79
+ test('searchRawLog ranks TypeScript exchange first for TS query', { timeout: 120_000 }, async () => {
80
+ const results = await store.searchRawLog('TypeScript strict mode tsconfig', 3);
81
+ assert.ok(results.length > 0, 'should return results');
82
+ const top = results[0];
83
+ assert.ok(top !== undefined, 'should have a top result');
84
+ // The TypeScript exchange should rank first (or at least in top 2).
85
+ const tsResult = results.find((r) => r.session_id === 'session-ts');
86
+ assert.ok(tsResult !== undefined, 'TypeScript exchange should appear in results');
87
+ // Top result should be the TS exchange (semantic match is strong).
88
+ assert.equal(top.session_id, 'session-ts', 'TypeScript exchange should rank #1');
89
+ });
90
+ test('searchRawLog returns SQLite exchange in top results for database query', { timeout: 120_000 }, async () => {
91
+ const results = await store.searchRawLog('SQLite WAL journal mode database', 3);
92
+ assert.ok(results.length > 0, 'should return results');
93
+ // SQLite exchange should appear in top-3 results — exact rank depends on model scores.
94
+ const sqliteResult = results.find((r) => r.session_id === 'session-sqlite');
95
+ assert.ok(sqliteResult !== undefined, 'SQLite exchange should appear in top-3 results');
96
+ // The recipe exchange (no SQLite content) should NOT rank above SQLite.
97
+ const recipeRank = results.findIndex((r) => r.session_id === 'session-recipe');
98
+ const sqliteRank = results.findIndex((r) => r.session_id === 'session-sqlite');
99
+ assert.ok(recipeRank === -1 || sqliteRank < recipeRank, 'SQLite exchange should outrank the recipe exchange for a database query');
100
+ });
101
+ test('searchRawLog is cross-session (no session filter applied)', { timeout: 120_000 }, async () => {
102
+ // A broad query — all 3 sessions should be retrievable.
103
+ const results = await store.searchRawLog('what did we discuss', 3);
104
+ // We just check structure — cross-session means limit=3 can return up to all 3.
105
+ assert.ok(results.length <= 3);
106
+ assert.ok(results.length >= 1);
107
+ for (const r of results) {
108
+ assert.ok(['session-ts', 'session-recipe', 'session-sqlite'].includes(r.session_id));
109
+ }
110
+ });
111
+ test('searchRawLog returns empty array when no rows exist', { timeout: 30_000 }, async () => {
112
+ const emptyStore = new LocalStore({
113
+ dbPath: join(tmpdir(), `plumb-empty-${Date.now()}.db`),
114
+ userId: 'empty-user',
115
+ });
116
+ try {
117
+ const results = await emptyStore.searchRawLog('anything', 5);
118
+ assert.deepEqual(results, []);
119
+ }
120
+ finally {
121
+ emptyStore.close();
122
+ }
123
+ });
124
+ //# sourceMappingURL=raw-log-search.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-log-search.test.js","sourceRoot":"","sources":["../src/raw-log-search.test.ts"],"names":[],"mappings":"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"}