@fgv/ts-agent-memory 5.1.0-47 → 5.1.0-48

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 (341) hide show
  1. package/dist/packlets/ingest/orchestrator.js +11 -1
  2. package/dist/packlets/ingest/orchestrator.js.map +1 -1
  3. package/dist/packlets/observe/memoryObservationStore.js +6 -0
  4. package/dist/packlets/observe/memoryObservationStore.js.map +1 -1
  5. package/dist/packlets/observe/observer.js.map +1 -1
  6. package/dist/packlets/store/fileTreeMemoryStore.js +52 -131
  7. package/dist/packlets/store/fileTreeMemoryStore.js.map +1 -1
  8. package/dist/packlets/store/vectorMaintenance.js +251 -0
  9. package/dist/packlets/store/vectorMaintenance.js.map +1 -0
  10. package/dist/packlets/vector/inMemoryCosineIndex.js +81 -18
  11. package/dist/packlets/vector/inMemoryCosineIndex.js.map +1 -1
  12. package/dist/packlets/vector/inMemoryFragmentCosineIndex.js +7 -0
  13. package/dist/packlets/vector/inMemoryFragmentCosineIndex.js.map +1 -1
  14. package/dist/packlets/vector/vectorIndex.js.map +1 -1
  15. package/dist/ts-agent-memory.d.ts +297 -66
  16. package/lib/packlets/ingest/orchestrator.d.ts.map +1 -1
  17. package/lib/packlets/ingest/orchestrator.js +11 -1
  18. package/lib/packlets/ingest/orchestrator.js.map +1 -1
  19. package/lib/packlets/observe/memoryObservationStore.d.ts.map +1 -1
  20. package/lib/packlets/observe/memoryObservationStore.js +6 -0
  21. package/lib/packlets/observe/memoryObservationStore.js.map +1 -1
  22. package/lib/packlets/observe/observer.d.ts +61 -0
  23. package/lib/packlets/observe/observer.d.ts.map +1 -1
  24. package/lib/packlets/observe/observer.js.map +1 -1
  25. package/lib/packlets/store/fileTreeMemoryStore.d.ts +66 -59
  26. package/lib/packlets/store/fileTreeMemoryStore.d.ts.map +1 -1
  27. package/lib/packlets/store/fileTreeMemoryStore.js +52 -131
  28. package/lib/packlets/store/fileTreeMemoryStore.js.map +1 -1
  29. package/lib/packlets/store/vectorMaintenance.d.ts +149 -0
  30. package/lib/packlets/store/vectorMaintenance.d.ts.map +1 -0
  31. package/lib/packlets/store/vectorMaintenance.js +255 -0
  32. package/lib/packlets/store/vectorMaintenance.js.map +1 -0
  33. package/lib/packlets/vector/inMemoryCosineIndex.d.ts +30 -7
  34. package/lib/packlets/vector/inMemoryCosineIndex.d.ts.map +1 -1
  35. package/lib/packlets/vector/inMemoryCosineIndex.js +80 -17
  36. package/lib/packlets/vector/inMemoryCosineIndex.js.map +1 -1
  37. package/lib/packlets/vector/inMemoryFragmentCosineIndex.d.ts +7 -0
  38. package/lib/packlets/vector/inMemoryFragmentCosineIndex.d.ts.map +1 -1
  39. package/lib/packlets/vector/inMemoryFragmentCosineIndex.js +7 -0
  40. package/lib/packlets/vector/inMemoryFragmentCosineIndex.js.map +1 -1
  41. package/lib/packlets/vector/vectorIndex.d.ts +129 -1
  42. package/lib/packlets/vector/vectorIndex.d.ts.map +1 -1
  43. package/lib/packlets/vector/vectorIndex.js.map +1 -1
  44. package/package.json +17 -7
  45. package/.rush/temp/5667e36f1c0cc503a5c20a3ebff76e7b9a702d41.tar.log +0 -468
  46. package/.rush/temp/chunked-rush-logs/ts-agent-memory.build.chunks.jsonl +0 -9
  47. package/.rush/temp/operation/build/all.log +0 -9
  48. package/.rush/temp/operation/build/log-chunks.jsonl +0 -9
  49. package/.rush/temp/operation/build/state.json +0 -3
  50. package/.rush/temp/shrinkwrap-deps.json +0 -689
  51. package/config/api-extractor.json +0 -343
  52. package/config/jest.config.json +0 -14
  53. package/config/rig.json +0 -4
  54. package/dist/test/unit/converters/antagonistRoundTrip.test.js +0 -95
  55. package/dist/test/unit/converters/antagonistRoundTrip.test.js.map +0 -1
  56. package/dist/test/unit/converters/bodyConverterRegistry.test.js +0 -72
  57. package/dist/test/unit/converters/bodyConverterRegistry.test.js.map +0 -1
  58. package/dist/test/unit/converters/envelopeConverter.test.js +0 -313
  59. package/dist/test/unit/converters/envelopeConverter.test.js.map +0 -1
  60. package/dist/test/unit/index/memoryIndex.test.js +0 -214
  61. package/dist/test/unit/index/memoryIndex.test.js.map +0 -1
  62. package/dist/test/unit/ingest/antagonistCycleAndParity.test.js +0 -277
  63. package/dist/test/unit/ingest/antagonistCycleAndParity.test.js.map +0 -1
  64. package/dist/test/unit/ingest/cycleGuard.test.js +0 -81
  65. package/dist/test/unit/ingest/cycleGuard.test.js.map +0 -1
  66. package/dist/test/unit/ingest/dedupScope.test.js +0 -434
  67. package/dist/test/unit/ingest/dedupScope.test.js.map +0 -1
  68. package/dist/test/unit/ingest/orchestrator.test.js +0 -1058
  69. package/dist/test/unit/ingest/orchestrator.test.js.map +0 -1
  70. package/dist/test/unit/observe/memoryObservationStore.test.js +0 -118
  71. package/dist/test/unit/observe/memoryObservationStore.test.js.map +0 -1
  72. package/dist/test/unit/retrieve/fragmentSemanticRetriever.test.js +0 -116
  73. package/dist/test/unit/retrieve/fragmentSemanticRetriever.test.js.map +0 -1
  74. package/dist/test/unit/retrieve/linkTraversalRetriever.test.js +0 -257
  75. package/dist/test/unit/retrieve/linkTraversalRetriever.test.js.map +0 -1
  76. package/dist/test/unit/retrieve/retrievers.test.js +0 -768
  77. package/dist/test/unit/retrieve/retrievers.test.js.map +0 -1
  78. package/dist/test/unit/retrieve/temporalRetrievers.test.js +0 -182
  79. package/dist/test/unit/retrieve/temporalRetrievers.test.js.map +0 -1
  80. package/dist/test/unit/store/antagonistTemporalBoundary.test.js +0 -120
  81. package/dist/test/unit/store/antagonistTemporalBoundary.test.js.map +0 -1
  82. package/dist/test/unit/store/embedOnWrite.test.js +0 -317
  83. package/dist/test/unit/store/embedOnWrite.test.js.map +0 -1
  84. package/dist/test/unit/store/fileTreeMemoryStore.test.js +0 -778
  85. package/dist/test/unit/store/fileTreeMemoryStore.test.js.map +0 -1
  86. package/dist/test/unit/store/fragmentEmbedOnWrite.test.js +0 -255
  87. package/dist/test/unit/store/fragmentEmbedOnWrite.test.js.map +0 -1
  88. package/dist/test/unit/store/indexInjection.test.js +0 -432
  89. package/dist/test/unit/store/indexInjection.test.js.map +0 -1
  90. package/dist/test/unit/store/lenientOpen.test.js +0 -248
  91. package/dist/test/unit/store/lenientOpen.test.js.map +0 -1
  92. package/dist/test/unit/store/listScoped.test.js +0 -109
  93. package/dist/test/unit/store/listScoped.test.js.map +0 -1
  94. package/dist/test/unit/store/observations.test.js +0 -239
  95. package/dist/test/unit/store/observations.test.js.map +0 -1
  96. package/dist/test/unit/store/rankAxis.test.js +0 -254
  97. package/dist/test/unit/store/rankAxis.test.js.map +0 -1
  98. package/dist/test/unit/store/scopeEncoding.test.js +0 -24
  99. package/dist/test/unit/store/scopeEncoding.test.js.map +0 -1
  100. package/dist/test/unit/store/temporalStore.test.js +0 -398
  101. package/dist/test/unit/store/temporalStore.test.js.map +0 -1
  102. package/dist/test/unit/tools/memoryTools.test.js +0 -842
  103. package/dist/test/unit/tools/memoryTools.test.js.map +0 -1
  104. package/dist/test/unit/types/identityCodec.test.js +0 -187
  105. package/dist/test/unit/types/identityCodec.test.js.map +0 -1
  106. package/dist/test/unit/types/ids.test.js +0 -84
  107. package/dist/test/unit/types/ids.test.js.map +0 -1
  108. package/dist/test/unit/types/temporalCodec.test.js +0 -203
  109. package/dist/test/unit/types/temporalCodec.test.js.map +0 -1
  110. package/dist/test/unit/types/temporalPolicy.test.js +0 -83
  111. package/dist/test/unit/types/temporalPolicy.test.js.map +0 -1
  112. package/dist/test/unit/types/writePolicy.test.js +0 -331
  113. package/dist/test/unit/types/writePolicy.test.js.map +0 -1
  114. package/dist/test/unit/vector/fragmentConverters.test.js +0 -58
  115. package/dist/test/unit/vector/fragmentConverters.test.js.map +0 -1
  116. package/dist/test/unit/vector/inMemoryCosineIndex.test.js +0 -252
  117. package/dist/test/unit/vector/inMemoryCosineIndex.test.js.map +0 -1
  118. package/dist/test/unit/vector/inMemoryFragmentCosineIndex.test.js +0 -362
  119. package/dist/test/unit/vector/inMemoryFragmentCosineIndex.test.js.map +0 -1
  120. package/dist/test/unit/vector/vectorIndex.test.js +0 -51
  121. package/dist/test/unit/vector/vectorIndex.test.js.map +0 -1
  122. package/eslint.config.js +0 -15
  123. package/etc/ts-agent-memory.api.md +0 -940
  124. package/lib/test/unit/converters/antagonistRoundTrip.test.d.ts +0 -10
  125. package/lib/test/unit/converters/antagonistRoundTrip.test.d.ts.map +0 -1
  126. package/lib/test/unit/converters/antagonistRoundTrip.test.js +0 -97
  127. package/lib/test/unit/converters/antagonistRoundTrip.test.js.map +0 -1
  128. package/lib/test/unit/converters/bodyConverterRegistry.test.d.ts +0 -2
  129. package/lib/test/unit/converters/bodyConverterRegistry.test.d.ts.map +0 -1
  130. package/lib/test/unit/converters/bodyConverterRegistry.test.js +0 -74
  131. package/lib/test/unit/converters/bodyConverterRegistry.test.js.map +0 -1
  132. package/lib/test/unit/converters/envelopeConverter.test.d.ts +0 -2
  133. package/lib/test/unit/converters/envelopeConverter.test.d.ts.map +0 -1
  134. package/lib/test/unit/converters/envelopeConverter.test.js +0 -315
  135. package/lib/test/unit/converters/envelopeConverter.test.js.map +0 -1
  136. package/lib/test/unit/index/memoryIndex.test.d.ts +0 -2
  137. package/lib/test/unit/index/memoryIndex.test.d.ts.map +0 -1
  138. package/lib/test/unit/index/memoryIndex.test.js +0 -216
  139. package/lib/test/unit/index/memoryIndex.test.js.map +0 -1
  140. package/lib/test/unit/ingest/antagonistCycleAndParity.test.d.ts +0 -9
  141. package/lib/test/unit/ingest/antagonistCycleAndParity.test.d.ts.map +0 -1
  142. package/lib/test/unit/ingest/antagonistCycleAndParity.test.js +0 -279
  143. package/lib/test/unit/ingest/antagonistCycleAndParity.test.js.map +0 -1
  144. package/lib/test/unit/ingest/cycleGuard.test.d.ts +0 -2
  145. package/lib/test/unit/ingest/cycleGuard.test.d.ts.map +0 -1
  146. package/lib/test/unit/ingest/cycleGuard.test.js +0 -83
  147. package/lib/test/unit/ingest/cycleGuard.test.js.map +0 -1
  148. package/lib/test/unit/ingest/dedupScope.test.d.ts +0 -2
  149. package/lib/test/unit/ingest/dedupScope.test.d.ts.map +0 -1
  150. package/lib/test/unit/ingest/dedupScope.test.js +0 -436
  151. package/lib/test/unit/ingest/dedupScope.test.js.map +0 -1
  152. package/lib/test/unit/ingest/orchestrator.test.d.ts +0 -2
  153. package/lib/test/unit/ingest/orchestrator.test.d.ts.map +0 -1
  154. package/lib/test/unit/ingest/orchestrator.test.js +0 -1060
  155. package/lib/test/unit/ingest/orchestrator.test.js.map +0 -1
  156. package/lib/test/unit/observe/memoryObservationStore.test.d.ts +0 -2
  157. package/lib/test/unit/observe/memoryObservationStore.test.d.ts.map +0 -1
  158. package/lib/test/unit/observe/memoryObservationStore.test.js +0 -120
  159. package/lib/test/unit/observe/memoryObservationStore.test.js.map +0 -1
  160. package/lib/test/unit/retrieve/fragmentSemanticRetriever.test.d.ts +0 -2
  161. package/lib/test/unit/retrieve/fragmentSemanticRetriever.test.d.ts.map +0 -1
  162. package/lib/test/unit/retrieve/fragmentSemanticRetriever.test.js +0 -118
  163. package/lib/test/unit/retrieve/fragmentSemanticRetriever.test.js.map +0 -1
  164. package/lib/test/unit/retrieve/linkTraversalRetriever.test.d.ts +0 -2
  165. package/lib/test/unit/retrieve/linkTraversalRetriever.test.d.ts.map +0 -1
  166. package/lib/test/unit/retrieve/linkTraversalRetriever.test.js +0 -259
  167. package/lib/test/unit/retrieve/linkTraversalRetriever.test.js.map +0 -1
  168. package/lib/test/unit/retrieve/retrievers.test.d.ts +0 -2
  169. package/lib/test/unit/retrieve/retrievers.test.d.ts.map +0 -1
  170. package/lib/test/unit/retrieve/retrievers.test.js +0 -770
  171. package/lib/test/unit/retrieve/retrievers.test.js.map +0 -1
  172. package/lib/test/unit/retrieve/temporalRetrievers.test.d.ts +0 -2
  173. package/lib/test/unit/retrieve/temporalRetrievers.test.d.ts.map +0 -1
  174. package/lib/test/unit/retrieve/temporalRetrievers.test.js +0 -184
  175. package/lib/test/unit/retrieve/temporalRetrievers.test.js.map +0 -1
  176. package/lib/test/unit/store/antagonistTemporalBoundary.test.d.ts +0 -9
  177. package/lib/test/unit/store/antagonistTemporalBoundary.test.d.ts.map +0 -1
  178. package/lib/test/unit/store/antagonistTemporalBoundary.test.js +0 -122
  179. package/lib/test/unit/store/antagonistTemporalBoundary.test.js.map +0 -1
  180. package/lib/test/unit/store/embedOnWrite.test.d.ts +0 -2
  181. package/lib/test/unit/store/embedOnWrite.test.d.ts.map +0 -1
  182. package/lib/test/unit/store/embedOnWrite.test.js +0 -319
  183. package/lib/test/unit/store/embedOnWrite.test.js.map +0 -1
  184. package/lib/test/unit/store/fileTreeMemoryStore.test.d.ts +0 -2
  185. package/lib/test/unit/store/fileTreeMemoryStore.test.d.ts.map +0 -1
  186. package/lib/test/unit/store/fileTreeMemoryStore.test.js +0 -780
  187. package/lib/test/unit/store/fileTreeMemoryStore.test.js.map +0 -1
  188. package/lib/test/unit/store/fragmentEmbedOnWrite.test.d.ts +0 -2
  189. package/lib/test/unit/store/fragmentEmbedOnWrite.test.d.ts.map +0 -1
  190. package/lib/test/unit/store/fragmentEmbedOnWrite.test.js +0 -257
  191. package/lib/test/unit/store/fragmentEmbedOnWrite.test.js.map +0 -1
  192. package/lib/test/unit/store/indexInjection.test.d.ts +0 -2
  193. package/lib/test/unit/store/indexInjection.test.d.ts.map +0 -1
  194. package/lib/test/unit/store/indexInjection.test.js +0 -434
  195. package/lib/test/unit/store/indexInjection.test.js.map +0 -1
  196. package/lib/test/unit/store/lenientOpen.test.d.ts +0 -2
  197. package/lib/test/unit/store/lenientOpen.test.d.ts.map +0 -1
  198. package/lib/test/unit/store/lenientOpen.test.js +0 -250
  199. package/lib/test/unit/store/lenientOpen.test.js.map +0 -1
  200. package/lib/test/unit/store/listScoped.test.d.ts +0 -2
  201. package/lib/test/unit/store/listScoped.test.d.ts.map +0 -1
  202. package/lib/test/unit/store/listScoped.test.js +0 -111
  203. package/lib/test/unit/store/listScoped.test.js.map +0 -1
  204. package/lib/test/unit/store/observations.test.d.ts +0 -2
  205. package/lib/test/unit/store/observations.test.d.ts.map +0 -1
  206. package/lib/test/unit/store/observations.test.js +0 -241
  207. package/lib/test/unit/store/observations.test.js.map +0 -1
  208. package/lib/test/unit/store/rankAxis.test.d.ts +0 -2
  209. package/lib/test/unit/store/rankAxis.test.d.ts.map +0 -1
  210. package/lib/test/unit/store/rankAxis.test.js +0 -256
  211. package/lib/test/unit/store/rankAxis.test.js.map +0 -1
  212. package/lib/test/unit/store/scopeEncoding.test.d.ts +0 -2
  213. package/lib/test/unit/store/scopeEncoding.test.d.ts.map +0 -1
  214. package/lib/test/unit/store/scopeEncoding.test.js +0 -26
  215. package/lib/test/unit/store/scopeEncoding.test.js.map +0 -1
  216. package/lib/test/unit/store/temporalStore.test.d.ts +0 -2
  217. package/lib/test/unit/store/temporalStore.test.d.ts.map +0 -1
  218. package/lib/test/unit/store/temporalStore.test.js +0 -400
  219. package/lib/test/unit/store/temporalStore.test.js.map +0 -1
  220. package/lib/test/unit/tools/memoryTools.test.d.ts +0 -2
  221. package/lib/test/unit/tools/memoryTools.test.d.ts.map +0 -1
  222. package/lib/test/unit/tools/memoryTools.test.js +0 -844
  223. package/lib/test/unit/tools/memoryTools.test.js.map +0 -1
  224. package/lib/test/unit/types/identityCodec.test.d.ts +0 -2
  225. package/lib/test/unit/types/identityCodec.test.d.ts.map +0 -1
  226. package/lib/test/unit/types/identityCodec.test.js +0 -189
  227. package/lib/test/unit/types/identityCodec.test.js.map +0 -1
  228. package/lib/test/unit/types/ids.test.d.ts +0 -2
  229. package/lib/test/unit/types/ids.test.d.ts.map +0 -1
  230. package/lib/test/unit/types/ids.test.js +0 -86
  231. package/lib/test/unit/types/ids.test.js.map +0 -1
  232. package/lib/test/unit/types/temporalCodec.test.d.ts +0 -2
  233. package/lib/test/unit/types/temporalCodec.test.d.ts.map +0 -1
  234. package/lib/test/unit/types/temporalCodec.test.js +0 -205
  235. package/lib/test/unit/types/temporalCodec.test.js.map +0 -1
  236. package/lib/test/unit/types/temporalPolicy.test.d.ts +0 -2
  237. package/lib/test/unit/types/temporalPolicy.test.d.ts.map +0 -1
  238. package/lib/test/unit/types/temporalPolicy.test.js +0 -85
  239. package/lib/test/unit/types/temporalPolicy.test.js.map +0 -1
  240. package/lib/test/unit/types/writePolicy.test.d.ts +0 -2
  241. package/lib/test/unit/types/writePolicy.test.d.ts.map +0 -1
  242. package/lib/test/unit/types/writePolicy.test.js +0 -333
  243. package/lib/test/unit/types/writePolicy.test.js.map +0 -1
  244. package/lib/test/unit/vector/fragmentConverters.test.d.ts +0 -2
  245. package/lib/test/unit/vector/fragmentConverters.test.d.ts.map +0 -1
  246. package/lib/test/unit/vector/fragmentConverters.test.js +0 -60
  247. package/lib/test/unit/vector/fragmentConverters.test.js.map +0 -1
  248. package/lib/test/unit/vector/inMemoryCosineIndex.test.d.ts +0 -2
  249. package/lib/test/unit/vector/inMemoryCosineIndex.test.d.ts.map +0 -1
  250. package/lib/test/unit/vector/inMemoryCosineIndex.test.js +0 -254
  251. package/lib/test/unit/vector/inMemoryCosineIndex.test.js.map +0 -1
  252. package/lib/test/unit/vector/inMemoryFragmentCosineIndex.test.d.ts +0 -2
  253. package/lib/test/unit/vector/inMemoryFragmentCosineIndex.test.d.ts.map +0 -1
  254. package/lib/test/unit/vector/inMemoryFragmentCosineIndex.test.js +0 -364
  255. package/lib/test/unit/vector/inMemoryFragmentCosineIndex.test.js.map +0 -1
  256. package/lib/test/unit/vector/vectorIndex.test.d.ts +0 -2
  257. package/lib/test/unit/vector/vectorIndex.test.d.ts.map +0 -1
  258. package/lib/test/unit/vector/vectorIndex.test.js +0 -53
  259. package/lib/test/unit/vector/vectorIndex.test.js.map +0 -1
  260. package/rush-logs/ts-agent-memory.build.cache.log +0 -3
  261. package/rush-logs/ts-agent-memory.build.log +0 -9
  262. package/src/index.ts +0 -14
  263. package/src/packlets/converters/bodyConverterRegistry.ts +0 -105
  264. package/src/packlets/converters/envelopeConverter.ts +0 -233
  265. package/src/packlets/converters/index.ts +0 -7
  266. package/src/packlets/index/index.ts +0 -6
  267. package/src/packlets/index/memoryIndex.ts +0 -332
  268. package/src/packlets/ingest/cycleGuard.ts +0 -153
  269. package/src/packlets/ingest/hostStages.ts +0 -111
  270. package/src/packlets/ingest/index.ts +0 -9
  271. package/src/packlets/ingest/model.ts +0 -195
  272. package/src/packlets/ingest/orchestrator.ts +0 -968
  273. package/src/packlets/observe/index.ts +0 -7
  274. package/src/packlets/observe/memoryObservationStore.ts +0 -153
  275. package/src/packlets/observe/observer.ts +0 -119
  276. package/src/packlets/retrieve/fragmentSemanticRetriever.ts +0 -138
  277. package/src/packlets/retrieve/hybridRetriever.ts +0 -194
  278. package/src/packlets/retrieve/index.ts +0 -14
  279. package/src/packlets/retrieve/linkTraversalRetriever.ts +0 -158
  280. package/src/packlets/retrieve/recencyRetriever.ts +0 -54
  281. package/src/packlets/retrieve/retriever.ts +0 -291
  282. package/src/packlets/retrieve/semanticRetriever.ts +0 -152
  283. package/src/packlets/retrieve/structuredFilterRetriever.ts +0 -58
  284. package/src/packlets/retrieve/tagRetriever.ts +0 -58
  285. package/src/packlets/retrieve/temporalRetrievers.ts +0 -210
  286. package/src/packlets/store/fileTreeMemoryStore.ts +0 -1872
  287. package/src/packlets/store/index.ts +0 -7
  288. package/src/packlets/store/scopeEncoding.ts +0 -36
  289. package/src/packlets/tools/index.ts +0 -6
  290. package/src/packlets/tools/memoryTools.ts +0 -706
  291. package/src/packlets/types/envelope.ts +0 -196
  292. package/src/packlets/types/filenameSafety.ts +0 -57
  293. package/src/packlets/types/identityCodec.ts +0 -447
  294. package/src/packlets/types/ids.ts +0 -124
  295. package/src/packlets/types/index.ts +0 -11
  296. package/src/packlets/types/temporal.ts +0 -96
  297. package/src/packlets/types/writePolicy.ts +0 -612
  298. package/src/packlets/vector/fragmentConverters.ts +0 -55
  299. package/src/packlets/vector/inMemoryCosineIndex.ts +0 -196
  300. package/src/packlets/vector/inMemoryFragmentCosineIndex.ts +0 -289
  301. package/src/packlets/vector/index.ts +0 -9
  302. package/src/packlets/vector/vectorIndex.ts +0 -273
  303. package/src/test/unit/converters/antagonistRoundTrip.test.ts +0 -110
  304. package/src/test/unit/converters/bodyConverterRegistry.test.ts +0 -89
  305. package/src/test/unit/converters/envelopeConverter.test.ts +0 -418
  306. package/src/test/unit/index/memoryIndex.test.ts +0 -272
  307. package/src/test/unit/ingest/antagonistCycleAndParity.test.ts +0 -367
  308. package/src/test/unit/ingest/cycleGuard.test.ts +0 -110
  309. package/src/test/unit/ingest/dedupScope.test.ts +0 -542
  310. package/src/test/unit/ingest/orchestrator.test.ts +0 -1355
  311. package/src/test/unit/observe/memoryObservationStore.test.ts +0 -158
  312. package/src/test/unit/retrieve/fragmentSemanticRetriever.test.ts +0 -163
  313. package/src/test/unit/retrieve/linkTraversalRetriever.test.ts +0 -329
  314. package/src/test/unit/retrieve/retrievers.test.ts +0 -1018
  315. package/src/test/unit/retrieve/temporalRetrievers.test.ts +0 -226
  316. package/src/test/unit/store/antagonistTemporalBoundary.test.ts +0 -158
  317. package/src/test/unit/store/embedOnWrite.test.ts +0 -418
  318. package/src/test/unit/store/fileTreeMemoryStore.test.ts +0 -1041
  319. package/src/test/unit/store/fragmentEmbedOnWrite.test.ts +0 -349
  320. package/src/test/unit/store/indexInjection.test.ts +0 -550
  321. package/src/test/unit/store/lenientOpen.test.ts +0 -292
  322. package/src/test/unit/store/listScoped.test.ts +0 -138
  323. package/src/test/unit/store/observations.test.ts +0 -290
  324. package/src/test/unit/store/rankAxis.test.ts +0 -349
  325. package/src/test/unit/store/scopeEncoding.test.ts +0 -37
  326. package/src/test/unit/store/temporalStore.test.ts +0 -469
  327. package/src/test/unit/tools/memoryTools.test.ts +0 -1121
  328. package/src/test/unit/types/identityCodec.test.ts +0 -266
  329. package/src/test/unit/types/ids.test.ts +0 -94
  330. package/src/test/unit/types/temporalCodec.test.ts +0 -259
  331. package/src/test/unit/types/temporalPolicy.test.ts +0 -124
  332. package/src/test/unit/types/writePolicy.test.ts +0 -446
  333. package/src/test/unit/vector/fragmentConverters.test.ts +0 -80
  334. package/src/test/unit/vector/inMemoryCosineIndex.test.ts +0 -318
  335. package/src/test/unit/vector/inMemoryFragmentCosineIndex.test.ts +0 -477
  336. package/src/test/unit/vector/vectorIndex.test.ts +0 -64
  337. package/temp/build/lint/_eslint-5eVG3S6w.json +0 -306
  338. package/temp/build/typescript/ts_8nwakTlr.json +0 -1
  339. package/temp/ts-agent-memory.api.json +0 -21030
  340. package/temp/ts-agent-memory.api.md +0 -940
  341. package/tsconfig.json +0 -8
@@ -1,940 +0,0 @@
1
- ## API Report File for "@fgv/ts-agent-memory"
2
-
3
- > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4
-
5
- ```ts
6
-
7
- import { AiAssist } from '@fgv/ts-extras';
8
- import { Brand } from '@fgv/ts-utils';
9
- import { Converter } from '@fgv/ts-utils';
10
- import { FileTree } from '@fgv/ts-json-base';
11
- import { JsonSchema } from '@fgv/ts-json-base';
12
- import { Logging } from '@fgv/ts-utils';
13
- import { Result } from '@fgv/ts-utils';
14
-
15
- // @public
16
- export type AdmissionDecision = {
17
- readonly decision: 'accept';
18
- } | {
19
- readonly decision: 'reject';
20
- readonly reason: string;
21
- } | {
22
- readonly decision: 'cull-oldest';
23
- readonly evict: ReadonlyArray<MemoryId>;
24
- };
25
-
26
- // @public
27
- export class AsOfRetriever implements IMemoryRetriever {
28
- get capabilities(): IMemoryRetrieverCapabilities;
29
- static create(index: IMemoryIndex): Result<AsOfRetriever>;
30
- retrieve(query: IMemoryQuery): Promise<Result<ReadonlyArray<IMemoryRecord<unknown>>>>;
31
- }
32
-
33
- // @public
34
- export function assertNoCycles(existing: ReadonlyArray<ICycleGuardEdge>, proposed: ReadonlyArray<ICycleGuardEdge>): Result<true>;
35
-
36
- // @public
37
- export function assertPortableFilenameStem(stem: string): Result<string>;
38
-
39
- // @public
40
- export class BodyConverterRegistry implements IBodyConverterRegistry {
41
- convert(kind: Kind, body: unknown): Result<unknown>;
42
- static create(): Result<BodyConverterRegistry>;
43
- getConverter(kind: Kind): Result<Converter<unknown>>;
44
- has(kind: Kind): boolean;
45
- register<T>(kind: Kind, converter: Converter<T>): void;
46
- registerSchema<T>(kind: Kind, schema: JsonSchema.ISchemaValidator<T>): void;
47
- }
48
-
49
- // @public
50
- export function buildCycleKey(edge: ICycleGuardEdge): Result<string>;
51
-
52
- // @public
53
- export const CONTRADICTS_LINK_TYPE: LinkType;
54
-
55
- // @public
56
- export const Convert: {
57
- readonly memoryId: Converter<MemoryId>;
58
- readonly entityId: Converter<EntityId>;
59
- readonly kind: Converter<Kind>;
60
- readonly tag: Converter<Tag>;
61
- readonly scopeKey: Converter<MemoryScopeKey>;
62
- readonly linkType: Converter<LinkType>;
63
- };
64
-
65
- // @public
66
- export function createMemoryTools(params: ICreateMemoryToolsParams): ReadonlyArray<AiAssist.IAiClientTool>;
67
-
68
- // @public
69
- export class CurrentValidRetriever implements IMemoryRetriever {
70
- get capabilities(): IMemoryRetrieverCapabilities;
71
- static create(index: IMemoryIndex): Result<CurrentValidRetriever>;
72
- retrieve(query: IMemoryQuery): Promise<Result<ReadonlyArray<IMemoryRecord<unknown>>>>;
73
- }
74
-
75
- // @public
76
- export type CycleGuardMode = 'reject' | 'off';
77
-
78
- // @public
79
- export type DedupScope = 'content' | 'entity';
80
-
81
- // @public
82
- export const DEFAULT_DEDUP_SCOPE: DedupScope;
83
-
84
- // @public
85
- export const DEFAULT_MEMORY_TOOLS: ReadonlyArray<MemoryToolName>;
86
-
87
- // @public
88
- export const DEFAULT_SIMILARITY_THRESHOLD: number;
89
-
90
- // @public
91
- export const DEFAULT_SIMILARITY_TOP_K: number;
92
-
93
- // @public
94
- export function defaultMemoryScopeEncoding(scope: MemoryScopeKey): Result<string>;
95
-
96
- // @public
97
- export const edgeConverter: Converter<IEdge>;
98
-
99
- // @public
100
- export const edgeTargetConverter: Converter<IEdgeTarget>;
101
-
102
- // @public
103
- export function edgeTargetKey(target: IEdgeTarget): string;
104
-
105
- // @public
106
- export const embeddedFragmentConverter: Converter<IEmbeddedFragment>;
107
-
108
- // @public
109
- export type EntityId = Brand<string, 'EntityId'>;
110
-
111
- // @public
112
- export const envelopeConverter: Converter<IMemoryEnvelope>;
113
-
114
- // @public
115
- export const envelopeYamlConverter: Converter<IMemoryEnvelope>;
116
-
117
- // @public
118
- export class FileTreeMemoryStore implements IMemoryStore {
119
- asRecordSource(): IMemoryRecordSource;
120
- static create(params: IFileTreeMemoryStoreCreateParams): Result<FileTreeMemoryStore>;
121
- dedupScopeFor(kind: Kind): DedupScope;
122
- delete(kind: Kind, entityId: EntityId): Promise<Result<MemoryId>>;
123
- get(kind: Kind, entityId: EntityId): Promise<Result<IMemoryRecord<unknown> | undefined>>;
124
- getById(scope: MemoryScopeKey, id: MemoryId): Promise<Result<IMemoryRecord<unknown> | undefined>>;
125
- list(filter?: IMemoryStoreListFilter): Promise<Result<ReadonlyArray<IMemoryRecord<unknown>>>>;
126
- listScoped(): Promise<Result<ReadonlyArray<IScopedMemoryRecord>>>;
127
- put(record: IMemoryRecord<unknown>): Promise<Result<IMemoryRecord<unknown>>>;
128
- get skippedRecords(): ReadonlyArray<ISkippedRecord>;
129
- }
130
-
131
- // @public
132
- export const FRAGMENT_SEMANTIC_UNWIRED_MESSAGE: string;
133
-
134
- // @public
135
- export type FragmentEmbedder = (record: IMemoryRecord<unknown>) => Promise<Result<ReadonlyArray<IEmbeddedFragment>>>;
136
-
137
- // @public
138
- export const fragmentLocatorConverter: Converter<IFragmentLocator>;
139
-
140
- // @public
141
- export class FragmentSemanticRetriever {
142
- get capabilities(): IFragmentRetrieverCapabilities;
143
- static create(params: {
144
- readonly backend?: IFragmentSemanticBackend;
145
- }): Result<FragmentSemanticRetriever>;
146
- retrieve(query: IFragmentQuery): Promise<Result<ReadonlyArray<IVectorQueryHit>>>;
147
- }
148
-
149
- // @public
150
- export function guardRetrieverCapabilities(query: IMemoryQuery, capabilities: IMemoryRetrieverCapabilities): Result<true>;
151
-
152
- // @public
153
- export class HistoryRetriever implements IMemoryRetriever {
154
- get capabilities(): IMemoryRetrieverCapabilities;
155
- static create(index: IMemoryIndex): Result<HistoryRetriever>;
156
- retrieve(query: IMemoryQuery): Promise<Result<ReadonlyArray<IMemoryRecord<unknown>>>>;
157
- }
158
-
159
- // @public
160
- export const HOST_INGEST_PROVENANCE_SOURCE: string;
161
-
162
- // @public
163
- export class HybridRetriever implements IMemoryRetriever {
164
- get capabilities(): IMemoryRetrieverCapabilities;
165
- static create(retrievers: ReadonlyArray<IMemoryRetriever>, mergeStrategy: IMergeStrategy): Result<HybridRetriever>;
166
- retrieve(query: IMemoryQuery): Promise<Result<ReadonlyArray<IMemoryRecord<unknown>>>>;
167
- }
168
-
169
- // @public
170
- export interface IBodyConverterRegistry {
171
- convert(kind: Kind, body: unknown): Result<unknown>;
172
- getConverter(kind: Kind): Result<Converter<unknown>>;
173
- has(kind: Kind): boolean;
174
- register<T>(kind: Kind, converter: Converter<T>): void;
175
- registerSchema<T>(kind: Kind, schema: JsonSchema.ISchemaValidator<T>): void;
176
- }
177
-
178
- // @public
179
- export interface ICandidateEdge {
180
- readonly edge: IEdge;
181
- readonly source: IEdgeTarget;
182
- }
183
-
184
- // @public
185
- export interface ICandidateRecord {
186
- readonly body: unknown;
187
- readonly envelope: Omit<IMemoryEnvelope, StoreStampedEnvelopeField>;
188
- }
189
-
190
- // @public
191
- export interface ICreateMemoryToolsParams {
192
- readonly codecs?: ReadonlyMap<Kind, IIdentityCodec>;
193
- readonly defaultCodec?: IIdentityCodec;
194
- readonly handleFor?: (record: IMemoryRecord<unknown>) => string;
195
- readonly kinds?: ReadonlyArray<Kind>;
196
- readonly projectItem?: (record: IMemoryRecord<unknown>, detail: MemoryDetailTier) => IMemoryToolResultItem;
197
- readonly registry: IBodyConverterRegistry;
198
- readonly retriever: IMemoryRetriever;
199
- readonly store: IMemoryStore;
200
- readonly tools?: ReadonlyArray<MemoryToolName>;
201
- }
202
-
203
- // @public
204
- export interface ICycleGuardEdge {
205
- // (undocumented)
206
- readonly source: IEdgeTarget;
207
- // (undocumented)
208
- readonly target: IEdgeTarget;
209
- // (undocumented)
210
- readonly type: LinkType;
211
- }
212
-
213
- // @public
214
- export interface IEdge {
215
- readonly confidence?: number;
216
- readonly invalid_at?: number | null;
217
- readonly provenance?: IProvenance;
218
- readonly target: IEdgeTarget;
219
- readonly type: LinkType;
220
- readonly valid_at?: number;
221
- }
222
-
223
- // @public
224
- export interface IEdgeTarget {
225
- readonly id: MemoryId;
226
- readonly scope: MemoryScopeKey;
227
- }
228
-
229
- // @public
230
- export interface IEmbeddedFragment {
231
- readonly fragmentId?: string;
232
- readonly locator?: IFragmentLocator;
233
- readonly vector: Float32Array;
234
- }
235
-
236
- // @public
237
- export interface IEntityResolutionCandidate {
238
- readonly record: IMemoryRecord<unknown>;
239
- readonly score: number;
240
- readonly target: IEdgeTarget;
241
- }
242
-
243
- // @public
244
- export interface IEntityResolver {
245
- resolve(candidate: ICandidateRecord, similar: ReadonlyArray<IEntityResolutionCandidate>): Promise<Result<ResolutionVerdict>>;
246
- }
247
-
248
- // @public
249
- export interface IFactExtractor {
250
- extract(item: IIngestItem, classification: IMemoryClassification): Promise<Result<ReadonlyArray<ICandidateRecord>>>;
251
- }
252
-
253
- // @public
254
- export interface IFileTreeMemoryStoreCreateParams {
255
- readonly clock?: () => number;
256
- readonly codecs?: ReadonlyMap<Kind, IIdentityCodec>;
257
- readonly defaultCodec?: IIdentityCodec;
258
- readonly embed?: MemoryEmbedder;
259
- readonly fragmentEmbedder?: FragmentEmbedder;
260
- readonly fragmentIndex?: IFragmentVectorIndex;
261
- readonly index?: IMemoryIndex;
262
- readonly logger?: Logging.ILogger;
263
- readonly observers?: ReadonlyArray<IMemoryObserver>;
264
- readonly onRecordError?: MemoryRecordErrorMode;
265
- readonly rankProjectors?: ReadonlyMap<Kind, RankProjector>;
266
- readonly registry: IBodyConverterRegistry;
267
- readonly root: FileTree.IMutableFileTreeDirectoryItem;
268
- readonly scopeEncoding?: (scope: MemoryScopeKey) => Result<string>;
269
- readonly vectorIndex?: IVectorIndex;
270
- readonly writePolicies?: ReadonlyMap<Kind, IWritePolicy>;
271
- }
272
-
273
- // @public
274
- export interface IFragmentLocator {
275
- readonly end: number;
276
- readonly start: number;
277
- }
278
-
279
- // @public
280
- export interface IFragmentQuery {
281
- readonly maxPerRecord?: number;
282
- readonly semantic: string;
283
- readonly topK?: number;
284
- }
285
-
286
- // @public
287
- export interface IFragmentRetrieverCapabilities {
288
- readonly supportsFragmentRecall: boolean;
289
- }
290
-
291
- // @public
292
- export interface IFragmentSemanticBackend {
293
- readonly embedQuery: QueryEmbedder;
294
- readonly fragmentIndex: IFragmentVectorIndex;
295
- }
296
-
297
- // @public
298
- export interface IFragmentVectorIndex {
299
- addFragments(target: IEdgeTarget, fragments: ReadonlyArray<IEmbeddedFragment>): Promise<Result<number>>;
300
- query(vector: Float32Array, topK: number, maxPerRecord?: number): Promise<Result<ReadonlyArray<IVectorQueryHit>>>;
301
- remove(target: IEdgeTarget): Promise<Result<IEdgeTarget>>;
302
- }
303
-
304
- // @public
305
- export interface IIdentityCodec {
306
- decode(scope: MemoryScopeKey, encodedStem: string): Result<EntityId>;
307
- encode(entityId: EntityId): Result<IIdentityCodecResult>;
308
- verifyRoundTrip(scope: MemoryScopeKey, stem: string): Result<true>;
309
- }
310
-
311
- // @public
312
- export interface IIdentityCodecResult {
313
- readonly idStem: string;
314
- readonly isVersioned: boolean;
315
- readonly scope: MemoryScopeKey;
316
- }
317
-
318
- // @public
319
- export interface IIndexedMemoryRecord {
320
- readonly record: IMemoryRecord<unknown>;
321
- readonly scope: MemoryScopeKey;
322
- }
323
-
324
- // @public
325
- export interface IIngestedRecordResult {
326
- readonly candidate: ICandidateRecord;
327
- readonly disposition: IngestDisposition;
328
- readonly edges: ReadonlyArray<ICandidateEdge>;
329
- readonly id: MemoryId;
330
- readonly interlock?: 'temporal-versioned';
331
- readonly record?: IMemoryRecord<unknown>;
332
- readonly resolution: ResolutionVerdict;
333
- }
334
-
335
- // @public
336
- export interface IIngestItem {
337
- readonly content: unknown;
338
- readonly id: string;
339
- readonly metadata?: Record<string, unknown>;
340
- readonly sourceId?: IEdgeTarget;
341
- }
342
-
343
- // @public
344
- export interface IIngestItemResult {
345
- readonly item: IIngestItem;
346
- readonly records: ReadonlyArray<IIngestedRecordResult>;
347
- }
348
-
349
- // @public
350
- export interface IMemoryCapCullPolicyParams {
351
- readonly maxRecords?: number;
352
- readonly mutableFields: ReadonlyArray<string>;
353
- }
354
-
355
- // @public
356
- export interface IMemoryClassification {
357
- readonly [key: string]: unknown;
358
- readonly confidence?: number;
359
- readonly kind: Kind;
360
- readonly tags?: ReadonlyArray<Tag>;
361
- }
362
-
363
- // @public
364
- export interface IMemoryClassifier {
365
- classify(item: IIngestItem): Promise<Result<IMemoryClassification>>;
366
- }
367
-
368
- // @public
369
- export interface IMemoryEnvelope {
370
- readonly contentHash: string;
371
- readonly created: number;
372
- readonly embeddingRef?: string | null;
373
- readonly entityId: EntityId;
374
- readonly id: MemoryId;
375
- readonly kind: Kind;
376
- readonly links: ReadonlyArray<IEdge>;
377
- readonly provenance: IProvenance;
378
- readonly rank?: number;
379
- readonly seq: number;
380
- readonly tags: ReadonlyArray<Tag>;
381
- readonly temporal?: ITemporalBlock;
382
- readonly updated: number;
383
- }
384
-
385
- // @public
386
- export interface IMemoryFileParts {
387
- readonly body: string;
388
- readonly frontmatter: string;
389
- }
390
-
391
- // @public
392
- export interface IMemoryIndex {
393
- backlinks(target: IEdgeTarget): ReadonlyArray<IEdgeTarget>;
394
- byKind(kind: Kind): ReadonlyArray<IMemoryRecord<unknown>>;
395
- byRank(): ReadonlyArray<IMemoryRecord<unknown>>;
396
- byRecency(): ReadonlyArray<IMemoryRecord<unknown>>;
397
- byTag(tag: Tag): ReadonlyArray<IMemoryRecord<unknown>>;
398
- entries(): ReadonlyArray<IIndexedMemoryRecord>;
399
- patch(op: MemoryIndexPatchOp, entry: IIndexedMemoryRecord): Result<IIndexedMemoryRecord>;
400
- rebuild(entries: ReadonlyArray<IIndexedMemoryRecord>): Result<number>;
401
- }
402
-
403
- // @public
404
- export interface IMemoryIngestOrchestrator {
405
- ingestBatch(items: ReadonlyArray<IIngestItem>): Promise<Result<ReadonlyArray<IIngestItemResult>>>;
406
- ingestItem(item: IIngestItem): Promise<Result<IIngestItemResult>>;
407
- }
408
-
409
- // @public
410
- export interface IMemoryIngestOrchestratorCreateParams {
411
- readonly classifier: IMemoryClassifier;
412
- readonly codecs?: ReadonlyMap<Kind, IIdentityCodec>;
413
- readonly cycleGuard?: CycleGuardMode;
414
- readonly defaultCodec?: IIdentityCodec;
415
- readonly embed?: MemoryEmbedder;
416
- readonly entityResolver?: IEntityResolver;
417
- readonly extractor: IFactExtractor;
418
- readonly logger?: Logging.ILogger;
419
- readonly registry: IBodyConverterRegistry;
420
- readonly relationExtractor: IRelationExtractor;
421
- readonly similarityThreshold?: number;
422
- readonly similarityTopK?: number;
423
- readonly store: IMemoryStore;
424
- readonly vectorIndex?: IVectorIndex;
425
- }
426
-
427
- // @public
428
- export interface IMemoryObservationQuery {
429
- readonly kind?: Kind;
430
- readonly limit?: number;
431
- readonly outcome?: MemoryObservationOutcome;
432
- readonly phase?: MemoryObservationPhase;
433
- readonly scope?: MemoryScopeKey;
434
- readonly since?: number;
435
- readonly sinceSeq?: number;
436
- readonly until?: number;
437
- }
438
-
439
- // @public
440
- export interface IMemoryObservationRecord {
441
- readonly error?: string;
442
- readonly id?: MemoryId;
443
- readonly kind?: Kind;
444
- readonly outcome: MemoryObservationOutcome;
445
- readonly phase: MemoryObservationPhase;
446
- readonly provenance?: IProvenance;
447
- readonly querySnapshot?: Readonly<Record<string, unknown>>;
448
- readonly scope?: MemoryScopeKey;
449
- readonly seq: number;
450
- readonly timestamp: number;
451
- }
452
-
453
- // @public
454
- export interface IMemoryObservationStoreCreateParams {
455
- readonly maxRecords?: number;
456
- }
457
-
458
- // @public
459
- export interface IMemoryObserver {
460
- readonly fireAndForget?: boolean;
461
- observe(record: IMemoryObservationRecord): Promise<Result<unknown>>;
462
- }
463
-
464
- // @public
465
- export interface IMemoryQuery {
466
- readonly asOf?: number;
467
- readonly filter?: (record: IMemoryRecord<unknown>) => boolean;
468
- readonly hops?: number;
469
- readonly kind?: Kind;
470
- readonly kinds?: ReadonlyArray<Kind>;
471
- readonly limit?: number;
472
- readonly linkedFrom?: IEdgeTarget;
473
- readonly linkedTo?: IEdgeTarget;
474
- readonly offset?: number;
475
- readonly orderBy?: 'recency' | 'rank';
476
- readonly scope?: MemoryScopeKey;
477
- readonly semantic?: string;
478
- readonly tag?: Tag;
479
- readonly topK?: number;
480
- }
481
-
482
- // @public
483
- export interface IMemoryRecord<TBody = unknown> {
484
- readonly body: TBody;
485
- readonly envelope: IMemoryEnvelope;
486
- }
487
-
488
- // @public
489
- export interface IMemoryRecordSource {
490
- list(): Promise<Result<ReadonlyArray<IScopedMemoryRecord>>>;
491
- }
492
-
493
- // @public
494
- export interface IMemoryRetriever {
495
- readonly capabilities: IMemoryRetrieverCapabilities;
496
- retrieve(query: IMemoryQuery): Promise<Result<ReadonlyArray<IMemoryRecord<unknown>>>>;
497
- }
498
-
499
- // @public
500
- export interface IMemoryRetrieverCapabilities {
501
- readonly supportsLinkTraversal: boolean;
502
- readonly supportsSemanticRecall: boolean;
503
- readonly supportsTemporalQuery: boolean;
504
- }
505
-
506
- // @public
507
- export interface IMemoryStore {
508
- asRecordSource(): IMemoryRecordSource;
509
- dedupScopeFor(kind: Kind): DedupScope;
510
- delete(kind: Kind, entityId: EntityId): Promise<Result<MemoryId>>;
511
- get(kind: Kind, entityId: EntityId): Promise<Result<IMemoryRecord<unknown> | undefined>>;
512
- getById(scope: MemoryScopeKey, id: MemoryId): Promise<Result<IMemoryRecord<unknown> | undefined>>;
513
- list(filter?: IMemoryStoreListFilter): Promise<Result<ReadonlyArray<IMemoryRecord<unknown>>>>;
514
- listScoped(): Promise<Result<ReadonlyArray<IScopedMemoryRecord>>>;
515
- put(record: IMemoryRecord<unknown>): Promise<Result<IMemoryRecord<unknown>>>;
516
- }
517
-
518
- // @public
519
- export interface IMemoryStoreListFilter {
520
- readonly asOf?: number;
521
- readonly kind?: Kind;
522
- readonly scope?: MemoryScopeKey;
523
- readonly tag?: Tag;
524
- }
525
-
526
- // @public
527
- export interface IMemoryToolResultItem {
528
- readonly body: unknown;
529
- readonly entityId: EntityId;
530
- readonly handle: string;
531
- readonly kind: Kind;
532
- readonly tags: ReadonlyArray<string>;
533
- }
534
-
535
- // @public
536
- export interface IMemoryWriteResult {
537
- readonly entityId: EntityId;
538
- readonly id: MemoryId;
539
- readonly kind: Kind;
540
- readonly outcome: MemoryWriteOutcome;
541
- }
542
-
543
- // @public
544
- export interface IMergeStrategy {
545
- merge(resultSets: ReadonlyArray<ReadonlyArray<IMemoryRecord<unknown>>>): Result<ReadonlyArray<IMemoryRecord<unknown>>>;
546
- }
547
-
548
- // @public
549
- export function indexedRecordMatchesQuery(entry: IIndexedMemoryRecord, query: IMemoryQuery): boolean;
550
-
551
- // @public
552
- export type IngestDisposition = 'written' | 'deduped' | 'merged';
553
-
554
- // @public
555
- export class InMemoryCosineIndex implements IVectorIndex {
556
- add(target: IEdgeTarget, vector: Float32Array): Promise<Result<string>>;
557
- static create(): Result<InMemoryCosineIndex>;
558
- query(vector: Float32Array, topK: number): Promise<Result<ReadonlyArray<IVectorQueryHit>>>;
559
- rebuild(source: IMemoryRecordSource, embed: MemoryEmbedder): Promise<Result<number>>;
560
- remove(target: IEdgeTarget): Promise<Result<IEdgeTarget>>;
561
- get size(): number;
562
- }
563
-
564
- // @public
565
- export class InMemoryFragmentCosineIndex implements IFragmentVectorIndex {
566
- addFragments(target: IEdgeTarget, fragments: ReadonlyArray<IEmbeddedFragment>): Promise<Result<number>>;
567
- static create(): Result<InMemoryFragmentCosineIndex>;
568
- get fragmentCount(): number;
569
- query(vector: Float32Array, topK: number, maxPerRecord?: number): Promise<Result<ReadonlyArray<IVectorQueryHit>>>;
570
- rebuild(source: IMemoryRecordSource, embed: FragmentEmbedder): Promise<Result<number>>;
571
- get recordCount(): number;
572
- remove(target: IEdgeTarget): Promise<Result<IEdgeTarget>>;
573
- }
574
-
575
- // @public
576
- export interface IProvenance {
577
- readonly [key: string]: unknown;
578
- readonly by?: string;
579
- readonly confidence?: number;
580
- readonly derivedFrom?: IEdgeTarget;
581
- readonly model?: string;
582
- readonly source: ProvenanceSource;
583
- }
584
-
585
- // @public
586
- export interface IRelationCandidate {
587
- readonly candidate: ICandidateRecord;
588
- readonly id: IEdgeTarget;
589
- }
590
-
591
- // @public
592
- export interface IRelationContext {
593
- readonly candidates: ReadonlyArray<IRelationCandidate>;
594
- readonly item: IIngestItem;
595
- }
596
-
597
- // @public
598
- export interface IRelationExtractor {
599
- relate(context: IRelationContext): Promise<Result<ReadonlyArray<ICandidateEdge>>>;
600
- }
601
-
602
- // @public
603
- export interface IScopedMemoryRecord {
604
- readonly record: IMemoryRecord<unknown>;
605
- readonly target: IEdgeTarget;
606
- }
607
-
608
- // @public
609
- export interface ISemanticBackend {
610
- readonly embedQuery: QueryEmbedder;
611
- readonly vectorIndex: IVectorIndex;
612
- }
613
-
614
- // @public
615
- export interface ISemanticRetrieverCreateParams {
616
- readonly backend?: ISemanticBackend;
617
- readonly index: IMemoryIndex;
618
- }
619
-
620
- // @public
621
- export interface ISkippedRecord {
622
- readonly error: string;
623
- readonly path: string;
624
- readonly scope: MemoryScopeKey;
625
- }
626
-
627
- // @public
628
- export function isTemporalIdentityCodec(codec: IIdentityCodec): codec is ITemporalIdentityCodec;
629
-
630
- // @public
631
- export function isTemporalRecord(record: IMemoryRecord<unknown>): boolean;
632
-
633
- // @public
634
- export function isVersionCurrent(record: IMemoryRecord<unknown>): boolean;
635
-
636
- // @public
637
- export function isVersionValidAt(record: IMemoryRecord<unknown>, asOf: number): boolean;
638
-
639
- // @public
640
- export interface ITemporalBlock {
641
- readonly invalid_at?: number | null;
642
- readonly valid_at?: number;
643
- }
644
-
645
- // @public
646
- export interface ITemporalIdentityCodec extends IIdentityCodec {
647
- decodeVersion(scope: MemoryScopeKey, stem: string): Result<ITemporalVersionAddress>;
648
- encodeVersion(entityId: EntityId, seq: number): Result<string>;
649
- }
650
-
651
- // @public
652
- export interface ITemporalVersionAddress {
653
- readonly entityId: EntityId;
654
- readonly seq: number;
655
- }
656
-
657
- // @public
658
- export interface IVectorIndex {
659
- add(target: IEdgeTarget, vector: Float32Array): Promise<Result<string>>;
660
- query(vector: Float32Array, topK: number): Promise<Result<ReadonlyArray<IVectorQueryHit>>>;
661
- remove(target: IEdgeTarget): Promise<Result<IEdgeTarget>>;
662
- }
663
-
664
- // @public
665
- export interface IVectorQueryHit {
666
- readonly fragmentId?: string;
667
- readonly locator?: IFragmentLocator;
668
- readonly score: number;
669
- readonly target: IEdgeTarget;
670
- }
671
-
672
- // @public
673
- export interface IWritePolicy {
674
- admit(incoming: IMemoryRecord<unknown>, existing: ReadonlyArray<IMemoryRecord<unknown>>): Result<AdmissionDecision>;
675
- applyUpdate(existing: IMemoryRecord<unknown>, patch: Record<string, unknown>): Result<IMemoryRecord<unknown>>;
676
- readonly dedupScope?: DedupScope;
677
- readonly mutableFields: ReadonlyArray<string>;
678
- }
679
-
680
- // @public
681
- export function joinFrontmatter(frontmatter: string, body: string): string;
682
-
683
- // @public
684
- export type Kind = Brand<string, 'Kind'>;
685
-
686
- // @public
687
- export class KnowledgeIdentityCodec implements IIdentityCodec {
688
- decode(scope: MemoryScopeKey, encodedStem: string): Result<EntityId>;
689
- encode(entityId: EntityId): Result<IIdentityCodecResult>;
690
- static readonly scope: MemoryScopeKey;
691
- verifyRoundTrip(scope: MemoryScopeKey, stem: string): Result<true>;
692
- }
693
-
694
- // @public
695
- export class KnowledgeLwwPolicy implements IWritePolicy {
696
- admit(__incoming: IMemoryRecord<unknown>, __existing: ReadonlyArray<IMemoryRecord<unknown>>): Result<AdmissionDecision>;
697
- applyUpdate(existing: IMemoryRecord<unknown>, patch: Record<string, unknown>): Result<IMemoryRecord<unknown>>;
698
- static create(): Result<KnowledgeLwwPolicy>;
699
- readonly dedupScope: DedupScope;
700
- readonly mutableFields: ReadonlyArray<string>;
701
- }
702
-
703
- // @public
704
- export function limitRecords(records: ReadonlyArray<IMemoryRecord<unknown>>, limit?: number, offset?: number): ReadonlyArray<IMemoryRecord<unknown>>;
705
-
706
- // @public
707
- export const LINK_TRAVERSAL_NO_SEED_MESSAGE: string;
708
-
709
- // @public
710
- export const LINK_TRAVERSAL_UNWIRED_MESSAGE: string;
711
-
712
- // @public
713
- export class LinkTraversalRetriever implements IMemoryRetriever {
714
- get capabilities(): IMemoryRetrieverCapabilities;
715
- static create(index: IMemoryIndex): Result<LinkTraversalRetriever>;
716
- retrieve(query: IMemoryQuery): Promise<Result<ReadonlyArray<IMemoryRecord<unknown>>>>;
717
- }
718
-
719
- // @public
720
- export type LinkType = Brand<string, 'LinkType'>;
721
-
722
- // @public
723
- export class LtmIdentityCodec implements IIdentityCodec {
724
- decode(scope: MemoryScopeKey, encodedStem: string): Result<EntityId>;
725
- encode(entityId: EntityId): Result<IIdentityCodecResult>;
726
- static readonly scope: MemoryScopeKey;
727
- verifyRoundTrip(scope: MemoryScopeKey, stem: string): Result<true>;
728
- }
729
-
730
- // @public
731
- export class MemoryCapCullPolicy implements IWritePolicy {
732
- admit(__incoming: IMemoryRecord<unknown>, existing: ReadonlyArray<IMemoryRecord<unknown>>): Result<AdmissionDecision>;
733
- applyUpdate(existing: IMemoryRecord<unknown>, patch: Record<string, unknown>): Result<IMemoryRecord<unknown>>;
734
- static create(params: IMemoryCapCullPolicyParams): Result<MemoryCapCullPolicy>;
735
- readonly dedupScope: DedupScope;
736
- readonly mutableFields: ReadonlyArray<string>;
737
- }
738
-
739
- // @public
740
- export type MemoryDetailTier = 'gist' | 'full';
741
-
742
- // @public
743
- export type MemoryEmbedder = (record: IMemoryRecord<unknown>) => Promise<Result<Float32Array>>;
744
-
745
- // @public
746
- export type MemoryId = Brand<string, 'MemoryId'>;
747
-
748
- // @public
749
- export class MemoryIndex implements IMemoryIndex {
750
- backlinks(target: IEdgeTarget): ReadonlyArray<IEdgeTarget>;
751
- byKind(kind: Kind): ReadonlyArray<IMemoryRecord<unknown>>;
752
- byRank(): ReadonlyArray<IMemoryRecord<unknown>>;
753
- byRecency(): ReadonlyArray<IMemoryRecord<unknown>>;
754
- byTag(tag: Tag): ReadonlyArray<IMemoryRecord<unknown>>;
755
- static create(): Result<MemoryIndex>;
756
- entries(): ReadonlyArray<IIndexedMemoryRecord>;
757
- patch(op: MemoryIndexPatchOp, entry: IIndexedMemoryRecord): Result<IIndexedMemoryRecord>;
758
- rebuild(entries: ReadonlyArray<IIndexedMemoryRecord>): Result<number>;
759
- }
760
-
761
- // @public
762
- export type MemoryIndexPatchOp = 'put' | 'delete';
763
-
764
- // @public
765
- export class MemoryIngestOrchestrator implements IMemoryIngestOrchestrator {
766
- static create(params: IMemoryIngestOrchestratorCreateParams): Result<MemoryIngestOrchestrator>;
767
- ingestBatch(items: ReadonlyArray<IIngestItem>): Promise<Result<ReadonlyArray<IIngestItemResult>>>;
768
- ingestItem(item: IIngestItem): Promise<Result<IIngestItemResult>>;
769
- }
770
-
771
- // @public
772
- export type MemoryObservationOutcome = 'success' | 'failure';
773
-
774
- // @public
775
- export type MemoryObservationPhase = 'read' | 'write' | 'delete' | 'retrieve';
776
-
777
- // @public
778
- export class MemoryObservationStore implements IMemoryObserver {
779
- clear(): void;
780
- static create(params?: IMemoryObservationStoreCreateParams): Result<MemoryObservationStore>;
781
- get lastSeq(): number;
782
- observe(record: IMemoryObservationRecord): Promise<Result<unknown>>;
783
- query(criteria?: IMemoryObservationQuery): ReadonlyArray<IMemoryObservationRecord>;
784
- get size(): number;
785
- }
786
-
787
- // @public
788
- export type MemoryRecordErrorMode = 'skip' | 'fail';
789
-
790
- // @public
791
- export type MemoryScopeKey = Brand<string, 'MemoryScopeKey'>;
792
-
793
- // @public
794
- export type MemoryToolName = 'memory_write' | 'memory_read' | 'memory_search' | 'memory_context' | 'memory_delete';
795
-
796
- // @public
797
- export type MemoryWriteOutcome = 'written' | 'deduped';
798
-
799
- // @public
800
- export class MtmIdentityCodec implements IIdentityCodec {
801
- decode(scope: MemoryScopeKey, encodedStem: string): Result<EntityId>;
802
- encode(entityId: EntityId): Result<IIdentityCodecResult>;
803
- static readonly rootScopeSegment: string;
804
- static readonly turnStemPrefix: string;
805
- verifyRoundTrip(scope: MemoryScopeKey, stem: string): Result<true>;
806
- }
807
-
808
- // @public
809
- export const NON_SEMANTIC_CAPABILITIES: IMemoryRetrieverCapabilities;
810
-
811
- // @public
812
- export function orderingCompare(orderBy?: IMemoryQuery['orderBy']): (a: IMemoryRecord<unknown>, b: IMemoryRecord<unknown>) => number;
813
-
814
- // @public
815
- export function parseMemoryFile(raw: string, registry: IBodyConverterRegistry): Result<IMemoryRecord<unknown>>;
816
-
817
- // @public
818
- export const provenanceConverter: Converter<IProvenance>;
819
-
820
- // @public
821
- export type ProvenanceSource = 'agent' | 'host-ingest' | 'human' | (string & {});
822
-
823
- // @public
824
- export type QueryEmbedder = (text: string) => Promise<Result<Float32Array>>;
825
-
826
- // @public
827
- export function rankCompare(a: IMemoryRecord<unknown>, b: IMemoryRecord<unknown>): number;
828
-
829
- // @public
830
- export type RankProjector = (record: IMemoryRecord<unknown>) => number;
831
-
832
- // @public
833
- export function recencyCompare(a: IMemoryRecord<unknown>, b: IMemoryRecord<unknown>): number;
834
-
835
- // @public
836
- export class RecencyRetriever implements IMemoryRetriever {
837
- get capabilities(): IMemoryRetrieverCapabilities;
838
- static create(index: IMemoryIndex): Result<RecencyRetriever>;
839
- retrieve(query: IMemoryQuery): Promise<Result<ReadonlyArray<IMemoryRecord<unknown>>>>;
840
- }
841
-
842
- // @public
843
- export type ResolutionVerdict = {
844
- readonly verdict: 'new';
845
- } | {
846
- readonly verdict: 'duplicate-of';
847
- readonly target: IEdgeTarget;
848
- } | {
849
- readonly verdict: 'supersede';
850
- readonly target: IEdgeTarget;
851
- } | {
852
- readonly verdict: 'merge-into';
853
- readonly target: IEdgeTarget;
854
- };
855
-
856
- // @public
857
- export class ScoreUnionMergeStrategy implements IMergeStrategy {
858
- static create(): Result<ScoreUnionMergeStrategy>;
859
- merge(resultSets: ReadonlyArray<ReadonlyArray<IMemoryRecord<unknown>>>): Result<ReadonlyArray<IMemoryRecord<unknown>>>;
860
- }
861
-
862
- // @public
863
- export function selectByQuery(entries: ReadonlyArray<IIndexedMemoryRecord>, query: IMemoryQuery): IMemoryRecord<unknown>[];
864
-
865
- // @public
866
- export function selectCurrentVersion(versions: ReadonlyArray<IMemoryRecord<unknown>>): IMemoryRecord<unknown> | undefined;
867
-
868
- // @public
869
- export function selectVersionAsOf(versions: ReadonlyArray<IMemoryRecord<unknown>>, asOf: number): IMemoryRecord<unknown> | undefined;
870
-
871
- // @public
872
- export const SEMANTIC_UNWIRED_MESSAGE: string;
873
-
874
- // @public
875
- export class SemanticRetriever implements IMemoryRetriever {
876
- get capabilities(): IMemoryRetrieverCapabilities;
877
- static create(params: ISemanticRetrieverCreateParams): Result<SemanticRetriever>;
878
- retrieve(query: IMemoryQuery): Promise<Result<ReadonlyArray<IMemoryRecord<unknown>>>>;
879
- }
880
-
881
- // @public
882
- export function serializeMemoryFile(envelope: IMemoryEnvelope, body: string): Result<string>;
883
-
884
- // @public
885
- export function splitFrontmatter(raw: string): Result<IMemoryFileParts>;
886
-
887
- // @public
888
- export type StoreStampedEnvelopeField = 'id' | 'seq' | 'contentHash' | 'created' | 'updated';
889
-
890
- // @public
891
- export class StructuredFilterRetriever implements IMemoryRetriever {
892
- get capabilities(): IMemoryRetrieverCapabilities;
893
- static create(index: IMemoryIndex): Result<StructuredFilterRetriever>;
894
- retrieve(query: IMemoryQuery): Promise<Result<ReadonlyArray<IMemoryRecord<unknown>>>>;
895
- }
896
-
897
- // @public
898
- export type Tag = Brand<string, 'Tag'>;
899
-
900
- // @public
901
- export class TagRetriever implements IMemoryRetriever {
902
- get capabilities(): IMemoryRetrieverCapabilities;
903
- static create(index: IMemoryIndex): Result<TagRetriever>;
904
- retrieve(query: IMemoryQuery): Promise<Result<ReadonlyArray<IMemoryRecord<unknown>>>>;
905
- }
906
-
907
- // @public
908
- export const TEMPORAL_CAPABILITIES: IMemoryRetrieverCapabilities;
909
-
910
- // @public
911
- export const temporalConverter: Converter<ITemporalBlock>;
912
-
913
- // @public
914
- export class TemporalIdentityCodec implements ITemporalIdentityCodec {
915
- readonly baseScope: string;
916
- static create(baseScope: string): Result<TemporalIdentityCodec>;
917
- decode(scope: MemoryScopeKey, encodedStem: string): Result<EntityId>;
918
- decodeVersion(scope: MemoryScopeKey, stem: string): Result<ITemporalVersionAddress>;
919
- encode(entityId: EntityId): Result<IIdentityCodecResult>;
920
- encodeVersion(entityId: EntityId, seq: number): Result<string>;
921
- static readonly entitiesSegment: string;
922
- verifyRoundTrip(scope: MemoryScopeKey, stem: string): Result<true>;
923
- static readonly versionInfix: string;
924
- }
925
-
926
- // @public
927
- export function temporalUnwiredMessage(kind?: Kind): string;
928
-
929
- // @public
930
- export class TemporalVersionedPolicy implements IWritePolicy {
931
- admit(__incoming: IMemoryRecord<unknown>, __existing: ReadonlyArray<IMemoryRecord<unknown>>): Result<AdmissionDecision>;
932
- applyUpdate(existing: IMemoryRecord<unknown>, patch: Record<string, unknown>): Result<IMemoryRecord<unknown>>;
933
- static create(): Result<TemporalVersionedPolicy>;
934
- readonly dedupScope: DedupScope;
935
- readonly mutableFields: ReadonlyArray<string>;
936
- }
937
-
938
- // (No @packageDocumentation comment for this package)
939
-
940
- ```