@fgv/ts-agent-memory 5.1.0-36

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 (331) hide show
  1. package/.rush/temp/chunked-rush-logs/ts-agent-memory.build.chunks.jsonl +9 -0
  2. package/.rush/temp/f6a88bfdd66517ccb98c2c7ae1be6e6fe9e15d38.tar.log +282 -0
  3. package/.rush/temp/operation/build/all.log +9 -0
  4. package/.rush/temp/operation/build/log-chunks.jsonl +9 -0
  5. package/.rush/temp/operation/build/state.json +3 -0
  6. package/.rush/temp/shrinkwrap-deps.json +688 -0
  7. package/LICENSE +21 -0
  8. package/README.md +45 -0
  9. package/config/api-extractor.json +343 -0
  10. package/config/jest.config.json +14 -0
  11. package/config/rig.json +4 -0
  12. package/dist/index.js +12 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/packlets/converters/bodyConverterRegistry.js +51 -0
  15. package/dist/packlets/converters/bodyConverterRegistry.js.map +1 -0
  16. package/dist/packlets/converters/envelopeConverter.js +159 -0
  17. package/dist/packlets/converters/envelopeConverter.js.map +1 -0
  18. package/dist/packlets/converters/index.js +7 -0
  19. package/dist/packlets/converters/index.js.map +1 -0
  20. package/dist/packlets/index/index.js +6 -0
  21. package/dist/packlets/index/index.js.map +1 -0
  22. package/dist/packlets/index/memoryIndex.js +170 -0
  23. package/dist/packlets/index/memoryIndex.js.map +1 -0
  24. package/dist/packlets/observe/index.js +7 -0
  25. package/dist/packlets/observe/index.js.map +1 -0
  26. package/dist/packlets/observe/memoryObservationStore.js +119 -0
  27. package/dist/packlets/observe/memoryObservationStore.js.map +1 -0
  28. package/dist/packlets/observe/observer.js +6 -0
  29. package/dist/packlets/observe/observer.js.map +1 -0
  30. package/dist/packlets/retrieve/hybridRetriever.js +135 -0
  31. package/dist/packlets/retrieve/hybridRetriever.js.map +1 -0
  32. package/dist/packlets/retrieve/index.js +12 -0
  33. package/dist/packlets/retrieve/index.js.map +1 -0
  34. package/dist/packlets/retrieve/linkTraversalRetriever.js +143 -0
  35. package/dist/packlets/retrieve/linkTraversalRetriever.js.map +1 -0
  36. package/dist/packlets/retrieve/recencyRetriever.js +33 -0
  37. package/dist/packlets/retrieve/recencyRetriever.js.map +1 -0
  38. package/dist/packlets/retrieve/retriever.js +110 -0
  39. package/dist/packlets/retrieve/retriever.js.map +1 -0
  40. package/dist/packlets/retrieve/semanticRetriever.js +86 -0
  41. package/dist/packlets/retrieve/semanticRetriever.js.map +1 -0
  42. package/dist/packlets/retrieve/structuredFilterRetriever.js +37 -0
  43. package/dist/packlets/retrieve/structuredFilterRetriever.js.map +1 -0
  44. package/dist/packlets/retrieve/tagRetriever.js +37 -0
  45. package/dist/packlets/retrieve/tagRetriever.js.map +1 -0
  46. package/dist/packlets/store/fileTreeMemoryStore.js +698 -0
  47. package/dist/packlets/store/fileTreeMemoryStore.js.map +1 -0
  48. package/dist/packlets/store/index.js +7 -0
  49. package/dist/packlets/store/index.js.map +1 -0
  50. package/dist/packlets/store/scopeEncoding.js +31 -0
  51. package/dist/packlets/store/scopeEncoding.js.map +1 -0
  52. package/dist/packlets/types/envelope.js +6 -0
  53. package/dist/packlets/types/envelope.js.map +1 -0
  54. package/dist/packlets/types/filenameSafety.js +52 -0
  55. package/dist/packlets/types/filenameSafety.js.map +1 -0
  56. package/dist/packlets/types/identityCodec.js +184 -0
  57. package/dist/packlets/types/identityCodec.js.map +1 -0
  58. package/dist/packlets/types/ids.js +67 -0
  59. package/dist/packlets/types/ids.js.map +1 -0
  60. package/dist/packlets/types/index.js +10 -0
  61. package/dist/packlets/types/index.js.map +1 -0
  62. package/dist/packlets/types/writePolicy.js +263 -0
  63. package/dist/packlets/types/writePolicy.js.map +1 -0
  64. package/dist/packlets/vector/inMemoryCosineIndex.js +150 -0
  65. package/dist/packlets/vector/inMemoryCosineIndex.js.map +1 -0
  66. package/dist/packlets/vector/index.js +7 -0
  67. package/dist/packlets/vector/index.js.map +1 -0
  68. package/dist/packlets/vector/vectorIndex.js +6 -0
  69. package/dist/packlets/vector/vectorIndex.js.map +1 -0
  70. package/dist/test/unit/converters/bodyConverterRegistry.test.js +72 -0
  71. package/dist/test/unit/converters/bodyConverterRegistry.test.js.map +1 -0
  72. package/dist/test/unit/converters/envelopeConverter.test.js +196 -0
  73. package/dist/test/unit/converters/envelopeConverter.test.js.map +1 -0
  74. package/dist/test/unit/index/memoryIndex.test.js +152 -0
  75. package/dist/test/unit/index/memoryIndex.test.js.map +1 -0
  76. package/dist/test/unit/observe/memoryObservationStore.test.js +118 -0
  77. package/dist/test/unit/observe/memoryObservationStore.test.js.map +1 -0
  78. package/dist/test/unit/retrieve/linkTraversalRetriever.test.js +182 -0
  79. package/dist/test/unit/retrieve/linkTraversalRetriever.test.js.map +1 -0
  80. package/dist/test/unit/retrieve/retrievers.test.js +506 -0
  81. package/dist/test/unit/retrieve/retrievers.test.js.map +1 -0
  82. package/dist/test/unit/store/embedOnWrite.test.js +260 -0
  83. package/dist/test/unit/store/embedOnWrite.test.js.map +1 -0
  84. package/dist/test/unit/store/fileTreeMemoryStore.test.js +647 -0
  85. package/dist/test/unit/store/fileTreeMemoryStore.test.js.map +1 -0
  86. package/dist/test/unit/store/observations.test.js +239 -0
  87. package/dist/test/unit/store/observations.test.js.map +1 -0
  88. package/dist/test/unit/store/scopeEncoding.test.js +24 -0
  89. package/dist/test/unit/store/scopeEncoding.test.js.map +1 -0
  90. package/dist/test/unit/types/identityCodec.test.js +187 -0
  91. package/dist/test/unit/types/identityCodec.test.js.map +1 -0
  92. package/dist/test/unit/types/ids.test.js +84 -0
  93. package/dist/test/unit/types/ids.test.js.map +1 -0
  94. package/dist/test/unit/types/writePolicy.test.js +241 -0
  95. package/dist/test/unit/types/writePolicy.test.js.map +1 -0
  96. package/dist/test/unit/vector/inMemoryCosineIndex.test.js +192 -0
  97. package/dist/test/unit/vector/inMemoryCosineIndex.test.js.map +1 -0
  98. package/dist/test/unit/vector/vectorIndex.test.js +42 -0
  99. package/dist/test/unit/vector/vectorIndex.test.js.map +1 -0
  100. package/dist/ts-agent-memory.d.ts +1901 -0
  101. package/dist/tsdoc-metadata.json +11 -0
  102. package/eslint.config.js +15 -0
  103. package/etc/ts-agent-memory.api.md +525 -0
  104. package/lib/index.d.ts +8 -0
  105. package/lib/index.d.ts.map +1 -0
  106. package/lib/index.js +28 -0
  107. package/lib/index.js.map +1 -0
  108. package/lib/packlets/converters/bodyConverterRegistry.d.ts +64 -0
  109. package/lib/packlets/converters/bodyConverterRegistry.d.ts.map +1 -0
  110. package/lib/packlets/converters/bodyConverterRegistry.js +55 -0
  111. package/lib/packlets/converters/bodyConverterRegistry.js.map +1 -0
  112. package/lib/packlets/converters/envelopeConverter.d.ts +70 -0
  113. package/lib/packlets/converters/envelopeConverter.d.ts.map +1 -0
  114. package/lib/packlets/converters/envelopeConverter.js +166 -0
  115. package/lib/packlets/converters/envelopeConverter.js.map +1 -0
  116. package/lib/packlets/converters/index.d.ts +3 -0
  117. package/lib/packlets/converters/index.d.ts.map +1 -0
  118. package/lib/packlets/converters/index.js +23 -0
  119. package/lib/packlets/converters/index.js.map +1 -0
  120. package/lib/packlets/index/index.d.ts +2 -0
  121. package/lib/packlets/index/index.d.ts.map +1 -0
  122. package/lib/packlets/index/index.js +22 -0
  123. package/lib/packlets/index/index.js.map +1 -0
  124. package/lib/packlets/index/memoryIndex.d.ts +127 -0
  125. package/lib/packlets/index/memoryIndex.d.ts.map +1 -0
  126. package/lib/packlets/index/memoryIndex.js +174 -0
  127. package/lib/packlets/index/memoryIndex.js.map +1 -0
  128. package/lib/packlets/observe/index.d.ts +3 -0
  129. package/lib/packlets/observe/index.d.ts.map +1 -0
  130. package/lib/packlets/observe/index.js +23 -0
  131. package/lib/packlets/observe/index.js.map +1 -0
  132. package/lib/packlets/observe/memoryObservationStore.d.ts +91 -0
  133. package/lib/packlets/observe/memoryObservationStore.d.ts.map +1 -0
  134. package/lib/packlets/observe/memoryObservationStore.js +123 -0
  135. package/lib/packlets/observe/memoryObservationStore.js.map +1 -0
  136. package/lib/packlets/observe/observer.d.ts +110 -0
  137. package/lib/packlets/observe/observer.d.ts.map +1 -0
  138. package/lib/packlets/observe/observer.js +7 -0
  139. package/lib/packlets/observe/observer.js.map +1 -0
  140. package/lib/packlets/retrieve/hybridRetriever.d.ts +79 -0
  141. package/lib/packlets/retrieve/hybridRetriever.d.ts.map +1 -0
  142. package/lib/packlets/retrieve/hybridRetriever.js +140 -0
  143. package/lib/packlets/retrieve/hybridRetriever.js.map +1 -0
  144. package/lib/packlets/retrieve/index.d.ts +8 -0
  145. package/lib/packlets/retrieve/index.d.ts.map +1 -0
  146. package/lib/packlets/retrieve/index.js +28 -0
  147. package/lib/packlets/retrieve/index.js.map +1 -0
  148. package/lib/packlets/retrieve/linkTraversalRetriever.d.ts +61 -0
  149. package/lib/packlets/retrieve/linkTraversalRetriever.d.ts.map +1 -0
  150. package/lib/packlets/retrieve/linkTraversalRetriever.js +147 -0
  151. package/lib/packlets/retrieve/linkTraversalRetriever.js.map +1 -0
  152. package/lib/packlets/retrieve/recencyRetriever.d.ts +21 -0
  153. package/lib/packlets/retrieve/recencyRetriever.d.ts.map +1 -0
  154. package/lib/packlets/retrieve/recencyRetriever.js +37 -0
  155. package/lib/packlets/retrieve/recencyRetriever.js.map +1 -0
  156. package/lib/packlets/retrieve/retriever.d.ts +133 -0
  157. package/lib/packlets/retrieve/retriever.d.ts.map +1 -0
  158. package/lib/packlets/retrieve/retriever.js +119 -0
  159. package/lib/packlets/retrieve/retriever.js.map +1 -0
  160. package/lib/packlets/retrieve/semanticRetriever.d.ts +69 -0
  161. package/lib/packlets/retrieve/semanticRetriever.d.ts.map +1 -0
  162. package/lib/packlets/retrieve/semanticRetriever.js +90 -0
  163. package/lib/packlets/retrieve/semanticRetriever.js.map +1 -0
  164. package/lib/packlets/retrieve/structuredFilterRetriever.d.ts +22 -0
  165. package/lib/packlets/retrieve/structuredFilterRetriever.d.ts.map +1 -0
  166. package/lib/packlets/retrieve/structuredFilterRetriever.js +41 -0
  167. package/lib/packlets/retrieve/structuredFilterRetriever.js.map +1 -0
  168. package/lib/packlets/retrieve/tagRetriever.d.ts +22 -0
  169. package/lib/packlets/retrieve/tagRetriever.d.ts.map +1 -0
  170. package/lib/packlets/retrieve/tagRetriever.js +41 -0
  171. package/lib/packlets/retrieve/tagRetriever.js.map +1 -0
  172. package/lib/packlets/store/fileTreeMemoryStore.d.ts +327 -0
  173. package/lib/packlets/store/fileTreeMemoryStore.d.ts.map +1 -0
  174. package/lib/packlets/store/fileTreeMemoryStore.js +702 -0
  175. package/lib/packlets/store/fileTreeMemoryStore.js.map +1 -0
  176. package/lib/packlets/store/index.d.ts +3 -0
  177. package/lib/packlets/store/index.d.ts.map +1 -0
  178. package/lib/packlets/store/index.js +23 -0
  179. package/lib/packlets/store/index.js.map +1 -0
  180. package/lib/packlets/store/scopeEncoding.d.ts +19 -0
  181. package/lib/packlets/store/scopeEncoding.d.ts.map +1 -0
  182. package/lib/packlets/store/scopeEncoding.js +34 -0
  183. package/lib/packlets/store/scopeEncoding.js.map +1 -0
  184. package/lib/packlets/types/envelope.d.ts +119 -0
  185. package/lib/packlets/types/envelope.d.ts.map +1 -0
  186. package/lib/packlets/types/envelope.js +7 -0
  187. package/lib/packlets/types/envelope.js.map +1 -0
  188. package/lib/packlets/types/filenameSafety.d.ts +16 -0
  189. package/lib/packlets/types/filenameSafety.d.ts.map +1 -0
  190. package/lib/packlets/types/filenameSafety.js +55 -0
  191. package/lib/packlets/types/filenameSafety.js.map +1 -0
  192. package/lib/packlets/types/identityCodec.d.ts +136 -0
  193. package/lib/packlets/types/identityCodec.d.ts.map +1 -0
  194. package/lib/packlets/types/identityCodec.js +190 -0
  195. package/lib/packlets/types/identityCodec.js.map +1 -0
  196. package/lib/packlets/types/ids.d.ts +55 -0
  197. package/lib/packlets/types/ids.d.ts.map +1 -0
  198. package/lib/packlets/types/ids.js +70 -0
  199. package/lib/packlets/types/ids.js.map +1 -0
  200. package/lib/packlets/types/index.d.ts +6 -0
  201. package/lib/packlets/types/index.d.ts.map +1 -0
  202. package/lib/packlets/types/index.js +26 -0
  203. package/lib/packlets/types/index.js.map +1 -0
  204. package/lib/packlets/types/writePolicy.d.ts +213 -0
  205. package/lib/packlets/types/writePolicy.d.ts.map +1 -0
  206. package/lib/packlets/types/writePolicy.js +268 -0
  207. package/lib/packlets/types/writePolicy.js.map +1 -0
  208. package/lib/packlets/vector/inMemoryCosineIndex.d.ts +69 -0
  209. package/lib/packlets/vector/inMemoryCosineIndex.d.ts.map +1 -0
  210. package/lib/packlets/vector/inMemoryCosineIndex.js +154 -0
  211. package/lib/packlets/vector/inMemoryCosineIndex.js.map +1 -0
  212. package/lib/packlets/vector/index.d.ts +3 -0
  213. package/lib/packlets/vector/index.d.ts.map +1 -0
  214. package/lib/packlets/vector/index.js +23 -0
  215. package/lib/packlets/vector/index.js.map +1 -0
  216. package/lib/packlets/vector/vectorIndex.d.ts +68 -0
  217. package/lib/packlets/vector/vectorIndex.d.ts.map +1 -0
  218. package/lib/packlets/vector/vectorIndex.js +7 -0
  219. package/lib/packlets/vector/vectorIndex.js.map +1 -0
  220. package/lib/test/unit/converters/bodyConverterRegistry.test.d.ts +2 -0
  221. package/lib/test/unit/converters/bodyConverterRegistry.test.d.ts.map +1 -0
  222. package/lib/test/unit/converters/bodyConverterRegistry.test.js +74 -0
  223. package/lib/test/unit/converters/bodyConverterRegistry.test.js.map +1 -0
  224. package/lib/test/unit/converters/envelopeConverter.test.d.ts +2 -0
  225. package/lib/test/unit/converters/envelopeConverter.test.d.ts.map +1 -0
  226. package/lib/test/unit/converters/envelopeConverter.test.js +198 -0
  227. package/lib/test/unit/converters/envelopeConverter.test.js.map +1 -0
  228. package/lib/test/unit/index/memoryIndex.test.d.ts +2 -0
  229. package/lib/test/unit/index/memoryIndex.test.d.ts.map +1 -0
  230. package/lib/test/unit/index/memoryIndex.test.js +154 -0
  231. package/lib/test/unit/index/memoryIndex.test.js.map +1 -0
  232. package/lib/test/unit/observe/memoryObservationStore.test.d.ts +2 -0
  233. package/lib/test/unit/observe/memoryObservationStore.test.d.ts.map +1 -0
  234. package/lib/test/unit/observe/memoryObservationStore.test.js +120 -0
  235. package/lib/test/unit/observe/memoryObservationStore.test.js.map +1 -0
  236. package/lib/test/unit/retrieve/linkTraversalRetriever.test.d.ts +2 -0
  237. package/lib/test/unit/retrieve/linkTraversalRetriever.test.d.ts.map +1 -0
  238. package/lib/test/unit/retrieve/linkTraversalRetriever.test.js +184 -0
  239. package/lib/test/unit/retrieve/linkTraversalRetriever.test.js.map +1 -0
  240. package/lib/test/unit/retrieve/retrievers.test.d.ts +2 -0
  241. package/lib/test/unit/retrieve/retrievers.test.d.ts.map +1 -0
  242. package/lib/test/unit/retrieve/retrievers.test.js +508 -0
  243. package/lib/test/unit/retrieve/retrievers.test.js.map +1 -0
  244. package/lib/test/unit/store/embedOnWrite.test.d.ts +2 -0
  245. package/lib/test/unit/store/embedOnWrite.test.d.ts.map +1 -0
  246. package/lib/test/unit/store/embedOnWrite.test.js +262 -0
  247. package/lib/test/unit/store/embedOnWrite.test.js.map +1 -0
  248. package/lib/test/unit/store/fileTreeMemoryStore.test.d.ts +2 -0
  249. package/lib/test/unit/store/fileTreeMemoryStore.test.d.ts.map +1 -0
  250. package/lib/test/unit/store/fileTreeMemoryStore.test.js +649 -0
  251. package/lib/test/unit/store/fileTreeMemoryStore.test.js.map +1 -0
  252. package/lib/test/unit/store/observations.test.d.ts +2 -0
  253. package/lib/test/unit/store/observations.test.d.ts.map +1 -0
  254. package/lib/test/unit/store/observations.test.js +241 -0
  255. package/lib/test/unit/store/observations.test.js.map +1 -0
  256. package/lib/test/unit/store/scopeEncoding.test.d.ts +2 -0
  257. package/lib/test/unit/store/scopeEncoding.test.d.ts.map +1 -0
  258. package/lib/test/unit/store/scopeEncoding.test.js +26 -0
  259. package/lib/test/unit/store/scopeEncoding.test.js.map +1 -0
  260. package/lib/test/unit/types/identityCodec.test.d.ts +2 -0
  261. package/lib/test/unit/types/identityCodec.test.d.ts.map +1 -0
  262. package/lib/test/unit/types/identityCodec.test.js +189 -0
  263. package/lib/test/unit/types/identityCodec.test.js.map +1 -0
  264. package/lib/test/unit/types/ids.test.d.ts +2 -0
  265. package/lib/test/unit/types/ids.test.d.ts.map +1 -0
  266. package/lib/test/unit/types/ids.test.js +86 -0
  267. package/lib/test/unit/types/ids.test.js.map +1 -0
  268. package/lib/test/unit/types/writePolicy.test.d.ts +2 -0
  269. package/lib/test/unit/types/writePolicy.test.d.ts.map +1 -0
  270. package/lib/test/unit/types/writePolicy.test.js +243 -0
  271. package/lib/test/unit/types/writePolicy.test.js.map +1 -0
  272. package/lib/test/unit/vector/inMemoryCosineIndex.test.d.ts +2 -0
  273. package/lib/test/unit/vector/inMemoryCosineIndex.test.d.ts.map +1 -0
  274. package/lib/test/unit/vector/inMemoryCosineIndex.test.js +194 -0
  275. package/lib/test/unit/vector/inMemoryCosineIndex.test.js.map +1 -0
  276. package/lib/test/unit/vector/vectorIndex.test.d.ts +2 -0
  277. package/lib/test/unit/vector/vectorIndex.test.d.ts.map +1 -0
  278. package/lib/test/unit/vector/vectorIndex.test.js +44 -0
  279. package/lib/test/unit/vector/vectorIndex.test.js.map +1 -0
  280. package/package.json +81 -0
  281. package/rush-logs/ts-agent-memory.build.cache.log +3 -0
  282. package/rush-logs/ts-agent-memory.build.log +9 -0
  283. package/src/index.ts +12 -0
  284. package/src/packlets/converters/bodyConverterRegistry.ts +105 -0
  285. package/src/packlets/converters/envelopeConverter.ts +210 -0
  286. package/src/packlets/converters/index.ts +7 -0
  287. package/src/packlets/index/index.ts +6 -0
  288. package/src/packlets/index/memoryIndex.ts +268 -0
  289. package/src/packlets/observe/index.ts +7 -0
  290. package/src/packlets/observe/memoryObservationStore.ts +153 -0
  291. package/src/packlets/observe/observer.ts +119 -0
  292. package/src/packlets/retrieve/hybridRetriever.ts +181 -0
  293. package/src/packlets/retrieve/index.ts +12 -0
  294. package/src/packlets/retrieve/linkTraversalRetriever.ts +169 -0
  295. package/src/packlets/retrieve/recencyRetriever.ts +54 -0
  296. package/src/packlets/retrieve/retriever.ts +207 -0
  297. package/src/packlets/retrieve/semanticRetriever.ts +147 -0
  298. package/src/packlets/retrieve/structuredFilterRetriever.ts +58 -0
  299. package/src/packlets/retrieve/tagRetriever.ts +58 -0
  300. package/src/packlets/store/fileTreeMemoryStore.ts +1073 -0
  301. package/src/packlets/store/index.ts +7 -0
  302. package/src/packlets/store/scopeEncoding.ts +36 -0
  303. package/src/packlets/types/envelope.ts +138 -0
  304. package/src/packlets/types/filenameSafety.ts +57 -0
  305. package/src/packlets/types/identityCodec.ts +263 -0
  306. package/src/packlets/types/ids.ts +124 -0
  307. package/src/packlets/types/index.ts +10 -0
  308. package/src/packlets/types/writePolicy.ts +447 -0
  309. package/src/packlets/vector/inMemoryCosineIndex.ts +173 -0
  310. package/src/packlets/vector/index.ts +7 -0
  311. package/src/packlets/vector/vectorIndex.ts +78 -0
  312. package/src/test/unit/converters/bodyConverterRegistry.test.ts +89 -0
  313. package/src/test/unit/converters/envelopeConverter.test.ts +261 -0
  314. package/src/test/unit/index/memoryIndex.test.ts +187 -0
  315. package/src/test/unit/observe/memoryObservationStore.test.ts +158 -0
  316. package/src/test/unit/retrieve/linkTraversalRetriever.test.ts +230 -0
  317. package/src/test/unit/retrieve/retrievers.test.ts +662 -0
  318. package/src/test/unit/store/embedOnWrite.test.ts +346 -0
  319. package/src/test/unit/store/fileTreeMemoryStore.test.ts +875 -0
  320. package/src/test/unit/store/observations.test.ts +290 -0
  321. package/src/test/unit/store/scopeEncoding.test.ts +37 -0
  322. package/src/test/unit/types/identityCodec.test.ts +266 -0
  323. package/src/test/unit/types/ids.test.ts +94 -0
  324. package/src/test/unit/types/writePolicy.test.ts +325 -0
  325. package/src/test/unit/vector/inMemoryCosineIndex.test.ts +242 -0
  326. package/src/test/unit/vector/vectorIndex.test.ts +48 -0
  327. package/temp/build/lint/_eslint-5eVG3S6w.json +182 -0
  328. package/temp/build/typescript/ts_8nwakTlr.json +1 -0
  329. package/temp/ts-agent-memory.api.json +12438 -0
  330. package/temp/ts-agent-memory.api.md +525 -0
  331. package/tsconfig.json +8 -0
@@ -0,0 +1,11 @@
1
+ // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
+ // It should be published with your NPM package. It should not be tracked by Git.
3
+ {
4
+ "tsdocVersion": "0.12",
5
+ "toolPackages": [
6
+ {
7
+ "packageName": "@microsoft/api-extractor",
8
+ "packageVersion": "7.58.7"
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,15 @@
1
+ // ESLint 9 flat config
2
+ const nodeProfile = require('@rushstack/eslint-config/flat/profile/node');
3
+ const packletsPlugin = require('@rushstack/eslint-config/flat/mixins/packlets');
4
+ const tsdocPlugin = require('@rushstack/eslint-config/flat/mixins/tsdoc');
5
+
6
+ module.exports = [
7
+ ...nodeProfile,
8
+ packletsPlugin,
9
+ ...tsdocPlugin,
10
+ {
11
+ rules: {
12
+ '@rushstack/packlets/mechanics': 'warn'
13
+ }
14
+ }
15
+ ];
@@ -0,0 +1,525 @@
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 { Brand } from '@fgv/ts-utils';
8
+ import { Converter } from '@fgv/ts-utils';
9
+ import { FileTree } from '@fgv/ts-json-base';
10
+ import { JsonSchema } from '@fgv/ts-json-base';
11
+ import { Logging } from '@fgv/ts-utils';
12
+ import { Result } from '@fgv/ts-utils';
13
+
14
+ // @public
15
+ export type AdmissionDecision = {
16
+ readonly decision: 'accept';
17
+ } | {
18
+ readonly decision: 'reject';
19
+ readonly reason: string;
20
+ } | {
21
+ readonly decision: 'cull-oldest';
22
+ readonly evict: ReadonlyArray<MemoryId>;
23
+ };
24
+
25
+ // @public
26
+ export function assertPortableFilenameStem(stem: string): Result<string>;
27
+
28
+ // @public
29
+ export class BodyConverterRegistry implements IBodyConverterRegistry {
30
+ convert(kind: Kind, body: unknown): Result<unknown>;
31
+ static create(): Result<BodyConverterRegistry>;
32
+ getConverter(kind: Kind): Result<Converter<unknown>>;
33
+ has(kind: Kind): boolean;
34
+ register<T>(kind: Kind, converter: Converter<T>): void;
35
+ registerSchema<T>(kind: Kind, schema: JsonSchema.ISchemaValidator<T>): void;
36
+ }
37
+
38
+ // @public
39
+ export const Convert: {
40
+ readonly memoryId: Converter<MemoryId>;
41
+ readonly entityId: Converter<EntityId>;
42
+ readonly kind: Converter<Kind>;
43
+ readonly tag: Converter<Tag>;
44
+ readonly scopeKey: Converter<MemoryScopeKey>;
45
+ readonly linkType: Converter<LinkType>;
46
+ };
47
+
48
+ // @public
49
+ export type DedupScope = 'content' | 'entity';
50
+
51
+ // @public
52
+ export const DEFAULT_DEDUP_SCOPE: DedupScope;
53
+
54
+ // @public
55
+ export function defaultMemoryScopeEncoding(scope: MemoryScopeKey): Result<string>;
56
+
57
+ // @public
58
+ export const edgeConverter: Converter<IEdge>;
59
+
60
+ // @public
61
+ export type EntityId = Brand<string, 'EntityId'>;
62
+
63
+ // @public
64
+ export const envelopeConverter: Converter<IMemoryEnvelope>;
65
+
66
+ // @public
67
+ export const envelopeYamlConverter: Converter<IMemoryEnvelope>;
68
+
69
+ // @public
70
+ export class FileTreeMemoryStore implements IMemoryStore {
71
+ static create(params: IFileTreeMemoryStoreCreateParams): Result<FileTreeMemoryStore>;
72
+ delete(kind: Kind, entityId: EntityId): Promise<Result<MemoryId>>;
73
+ get(kind: Kind, entityId: EntityId): Promise<Result<IMemoryRecord<unknown> | undefined>>;
74
+ getById(scope: MemoryScopeKey, id: MemoryId): Promise<Result<IMemoryRecord<unknown> | undefined>>;
75
+ list(filter?: IMemoryStoreListFilter): Promise<Result<ReadonlyArray<IMemoryRecord<unknown>>>>;
76
+ put(record: IMemoryRecord<unknown>): Promise<Result<IMemoryRecord<unknown>>>;
77
+ }
78
+
79
+ // @public
80
+ export function guardRetrieverCapabilities(query: IMemoryQuery, capabilities: IMemoryRetrieverCapabilities): Result<true>;
81
+
82
+ // @public
83
+ export class HybridRetriever implements IMemoryRetriever {
84
+ get capabilities(): IMemoryRetrieverCapabilities;
85
+ static create(retrievers: ReadonlyArray<IMemoryRetriever>, mergeStrategy: IMergeStrategy): Result<HybridRetriever>;
86
+ retrieve(query: IMemoryQuery): Promise<Result<ReadonlyArray<IMemoryRecord<unknown>>>>;
87
+ }
88
+
89
+ // @public
90
+ export interface IBodyConverterRegistry {
91
+ convert(kind: Kind, body: unknown): Result<unknown>;
92
+ getConverter(kind: Kind): Result<Converter<unknown>>;
93
+ has(kind: Kind): boolean;
94
+ register<T>(kind: Kind, converter: Converter<T>): void;
95
+ registerSchema<T>(kind: Kind, schema: JsonSchema.ISchemaValidator<T>): void;
96
+ }
97
+
98
+ // @public
99
+ export interface IEdge {
100
+ readonly confidence?: number;
101
+ readonly invalid_at?: number | null;
102
+ readonly provenance?: IProvenance;
103
+ readonly target: MemoryId;
104
+ readonly type: LinkType;
105
+ readonly valid_at?: number;
106
+ }
107
+
108
+ // @public
109
+ export interface IFileTreeMemoryStoreCreateParams {
110
+ readonly clock?: () => number;
111
+ readonly codecs?: ReadonlyMap<Kind, IIdentityCodec>;
112
+ readonly defaultCodec?: IIdentityCodec;
113
+ readonly embed?: MemoryEmbedder;
114
+ readonly logger?: Logging.ILogger;
115
+ readonly observers?: ReadonlyArray<IMemoryObserver>;
116
+ readonly registry: IBodyConverterRegistry;
117
+ readonly root: FileTree.IMutableFileTreeDirectoryItem;
118
+ readonly scopeEncoding?: (scope: MemoryScopeKey) => Result<string>;
119
+ readonly vectorIndex?: IVectorIndex;
120
+ readonly writePolicies?: ReadonlyMap<Kind, IWritePolicy>;
121
+ }
122
+
123
+ // @public
124
+ export interface IIdentityCodec {
125
+ decode(scope: MemoryScopeKey, encodedStem: string): Result<EntityId>;
126
+ encode(entityId: EntityId): Result<IIdentityCodecResult>;
127
+ verifyRoundTrip(scope: MemoryScopeKey, stem: string): Result<true>;
128
+ }
129
+
130
+ // @public
131
+ export interface IIdentityCodecResult {
132
+ readonly idStem: string;
133
+ readonly isVersioned: boolean;
134
+ readonly scope: MemoryScopeKey;
135
+ }
136
+
137
+ // @public
138
+ export interface IIndexedMemoryRecord {
139
+ readonly record: IMemoryRecord<unknown>;
140
+ readonly scope: MemoryScopeKey;
141
+ }
142
+
143
+ // @public
144
+ export interface IMemoryCapCullPolicyParams {
145
+ readonly maxRecords?: number;
146
+ readonly mutableFields: ReadonlyArray<string>;
147
+ }
148
+
149
+ // @public
150
+ export interface IMemoryEnvelope {
151
+ readonly contentHash: string;
152
+ readonly created: number;
153
+ readonly embeddingRef?: string | null;
154
+ readonly entityId: EntityId;
155
+ readonly id: MemoryId;
156
+ readonly kind: Kind;
157
+ readonly links: ReadonlyArray<IEdge>;
158
+ readonly provenance: IProvenance;
159
+ readonly seq: number;
160
+ readonly tags: ReadonlyArray<Tag>;
161
+ readonly temporal?: ITemporalBlock;
162
+ readonly updated: number;
163
+ }
164
+
165
+ // @public
166
+ export interface IMemoryFileParts {
167
+ readonly body: string;
168
+ readonly frontmatter: string;
169
+ }
170
+
171
+ // @public
172
+ export interface IMemoryIndex {
173
+ backlinks(target: MemoryId): ReadonlyArray<MemoryId>;
174
+ byKind(kind: Kind): ReadonlyArray<IMemoryRecord<unknown>>;
175
+ byRecency(): ReadonlyArray<IMemoryRecord<unknown>>;
176
+ byTag(tag: Tag): ReadonlyArray<IMemoryRecord<unknown>>;
177
+ entries(): ReadonlyArray<IIndexedMemoryRecord>;
178
+ patch(op: MemoryIndexPatchOp, entry: IIndexedMemoryRecord): Result<IIndexedMemoryRecord>;
179
+ rebuild(entries: ReadonlyArray<IIndexedMemoryRecord>): Result<number>;
180
+ }
181
+
182
+ // @public
183
+ export interface IMemoryObservationQuery {
184
+ readonly kind?: Kind;
185
+ readonly limit?: number;
186
+ readonly outcome?: MemoryObservationOutcome;
187
+ readonly phase?: MemoryObservationPhase;
188
+ readonly scope?: MemoryScopeKey;
189
+ readonly since?: number;
190
+ readonly sinceSeq?: number;
191
+ readonly until?: number;
192
+ }
193
+
194
+ // @public
195
+ export interface IMemoryObservationRecord {
196
+ readonly error?: string;
197
+ readonly id?: MemoryId;
198
+ readonly kind?: Kind;
199
+ readonly outcome: MemoryObservationOutcome;
200
+ readonly phase: MemoryObservationPhase;
201
+ readonly provenance?: IProvenance;
202
+ readonly querySnapshot?: Readonly<Record<string, unknown>>;
203
+ readonly scope?: MemoryScopeKey;
204
+ readonly seq: number;
205
+ readonly timestamp: number;
206
+ }
207
+
208
+ // @public
209
+ export interface IMemoryObservationStoreCreateParams {
210
+ readonly maxRecords?: number;
211
+ }
212
+
213
+ // @public
214
+ export interface IMemoryObserver {
215
+ readonly fireAndForget?: boolean;
216
+ observe(record: IMemoryObservationRecord): Promise<Result<unknown>>;
217
+ }
218
+
219
+ // @public
220
+ export interface IMemoryQuery {
221
+ readonly asOf?: number;
222
+ readonly filter?: (record: IMemoryRecord<unknown>) => boolean;
223
+ readonly hops?: number;
224
+ readonly kind?: Kind;
225
+ readonly limit?: number;
226
+ readonly linkedFrom?: MemoryId;
227
+ readonly linkedTo?: MemoryId;
228
+ readonly scope?: MemoryScopeKey;
229
+ readonly semantic?: string;
230
+ readonly tag?: Tag;
231
+ readonly topK?: number;
232
+ }
233
+
234
+ // @public
235
+ export interface IMemoryRecord<TBody = unknown> {
236
+ readonly body: TBody;
237
+ readonly envelope: IMemoryEnvelope;
238
+ }
239
+
240
+ // @public
241
+ export interface IMemoryRecordSource {
242
+ list(): Promise<Result<ReadonlyArray<IMemoryRecord<unknown>>>>;
243
+ }
244
+
245
+ // @public
246
+ export interface IMemoryRetriever {
247
+ readonly capabilities: IMemoryRetrieverCapabilities;
248
+ retrieve(query: IMemoryQuery): Promise<Result<ReadonlyArray<IMemoryRecord<unknown>>>>;
249
+ }
250
+
251
+ // @public
252
+ export interface IMemoryRetrieverCapabilities {
253
+ readonly supportsLinkTraversal: boolean;
254
+ readonly supportsSemanticRecall: boolean;
255
+ readonly supportsTemporalQuery: boolean;
256
+ }
257
+
258
+ // @public
259
+ export interface IMemoryStore {
260
+ delete(kind: Kind, entityId: EntityId): Promise<Result<MemoryId>>;
261
+ get(kind: Kind, entityId: EntityId): Promise<Result<IMemoryRecord<unknown> | undefined>>;
262
+ getById(scope: MemoryScopeKey, id: MemoryId): Promise<Result<IMemoryRecord<unknown> | undefined>>;
263
+ list(filter?: IMemoryStoreListFilter): Promise<Result<ReadonlyArray<IMemoryRecord<unknown>>>>;
264
+ put(record: IMemoryRecord<unknown>): Promise<Result<IMemoryRecord<unknown>>>;
265
+ }
266
+
267
+ // @public
268
+ export interface IMemoryStoreListFilter {
269
+ readonly asOf?: number;
270
+ readonly kind?: Kind;
271
+ readonly scope?: MemoryScopeKey;
272
+ readonly tag?: Tag;
273
+ }
274
+
275
+ // @public
276
+ export interface IMergeStrategy {
277
+ merge(resultSets: ReadonlyArray<ReadonlyArray<IMemoryRecord<unknown>>>): Result<ReadonlyArray<IMemoryRecord<unknown>>>;
278
+ }
279
+
280
+ // @public
281
+ export function indexedRecordMatchesQuery(entry: IIndexedMemoryRecord, query: IMemoryQuery): boolean;
282
+
283
+ // @public
284
+ export class InMemoryCosineIndex implements IVectorIndex {
285
+ add(id: MemoryId, vector: Float32Array): Promise<Result<string>>;
286
+ static create(): Result<InMemoryCosineIndex>;
287
+ query(vector: Float32Array, topK: number): Promise<Result<ReadonlyArray<IVectorQueryHit>>>;
288
+ rebuild(source: IMemoryRecordSource, embed: MemoryEmbedder): Promise<Result<number>>;
289
+ remove(id: MemoryId): Promise<Result<MemoryId>>;
290
+ get size(): number;
291
+ }
292
+
293
+ // @public
294
+ export interface IProvenance {
295
+ readonly [key: string]: unknown;
296
+ readonly by?: string;
297
+ readonly confidence?: number;
298
+ readonly derivedFrom?: MemoryId;
299
+ readonly model?: string;
300
+ readonly source: ProvenanceSource;
301
+ }
302
+
303
+ // @public
304
+ export interface ISemanticBackend {
305
+ readonly embedQuery: QueryEmbedder;
306
+ readonly vectorIndex: IVectorIndex;
307
+ }
308
+
309
+ // @public
310
+ export interface ISemanticRetrieverCreateParams {
311
+ readonly backend?: ISemanticBackend;
312
+ readonly index: IMemoryIndex;
313
+ }
314
+
315
+ // @public
316
+ export interface ITemporalBlock {
317
+ readonly invalid_at?: number | null;
318
+ readonly valid_at?: number;
319
+ }
320
+
321
+ // @public
322
+ export interface IVectorIndex {
323
+ add(id: MemoryId, vector: Float32Array): Promise<Result<string>>;
324
+ query(vector: Float32Array, topK: number): Promise<Result<ReadonlyArray<IVectorQueryHit>>>;
325
+ remove(id: MemoryId): Promise<Result<MemoryId>>;
326
+ }
327
+
328
+ // @public
329
+ export interface IVectorQueryHit {
330
+ readonly id: MemoryId;
331
+ readonly score: number;
332
+ }
333
+
334
+ // @public
335
+ export interface IWritePolicy {
336
+ admit(incoming: IMemoryRecord<unknown>, existing: ReadonlyArray<IMemoryRecord<unknown>>): Result<AdmissionDecision>;
337
+ applyUpdate(existing: IMemoryRecord<unknown>, patch: Record<string, unknown>): Result<IMemoryRecord<unknown>>;
338
+ readonly dedupScope?: DedupScope;
339
+ readonly mutableFields: ReadonlyArray<string>;
340
+ }
341
+
342
+ // @public
343
+ export function joinFrontmatter(frontmatter: string, body: string): string;
344
+
345
+ // @public
346
+ export type Kind = Brand<string, 'Kind'>;
347
+
348
+ // @public
349
+ export class KnowledgeIdentityCodec implements IIdentityCodec {
350
+ decode(scope: MemoryScopeKey, encodedStem: string): Result<EntityId>;
351
+ encode(entityId: EntityId): Result<IIdentityCodecResult>;
352
+ static readonly scope: MemoryScopeKey;
353
+ verifyRoundTrip(scope: MemoryScopeKey, stem: string): Result<true>;
354
+ }
355
+
356
+ // @public
357
+ export class KnowledgeLwwPolicy implements IWritePolicy {
358
+ admit(__incoming: IMemoryRecord<unknown>, __existing: ReadonlyArray<IMemoryRecord<unknown>>): Result<AdmissionDecision>;
359
+ applyUpdate(existing: IMemoryRecord<unknown>, patch: Record<string, unknown>): Result<IMemoryRecord<unknown>>;
360
+ static create(): Result<KnowledgeLwwPolicy>;
361
+ readonly dedupScope: DedupScope;
362
+ readonly mutableFields: ReadonlyArray<string>;
363
+ }
364
+
365
+ // @public
366
+ export function limitRecords(records: ReadonlyArray<IMemoryRecord<unknown>>, limit?: number): ReadonlyArray<IMemoryRecord<unknown>>;
367
+
368
+ // @public
369
+ export const LINK_TRAVERSAL_NO_SEED_MESSAGE: string;
370
+
371
+ // @public
372
+ export const LINK_TRAVERSAL_UNWIRED_MESSAGE: string;
373
+
374
+ // @public
375
+ export class LinkTraversalRetriever implements IMemoryRetriever {
376
+ get capabilities(): IMemoryRetrieverCapabilities;
377
+ static create(index: IMemoryIndex): Result<LinkTraversalRetriever>;
378
+ retrieve(query: IMemoryQuery): Promise<Result<ReadonlyArray<IMemoryRecord<unknown>>>>;
379
+ }
380
+
381
+ // @public
382
+ export type LinkType = Brand<string, 'LinkType'>;
383
+
384
+ // @public
385
+ export class LtmIdentityCodec implements IIdentityCodec {
386
+ decode(scope: MemoryScopeKey, encodedStem: string): Result<EntityId>;
387
+ encode(entityId: EntityId): Result<IIdentityCodecResult>;
388
+ static readonly scope: MemoryScopeKey;
389
+ verifyRoundTrip(scope: MemoryScopeKey, stem: string): Result<true>;
390
+ }
391
+
392
+ // @public
393
+ export class MemoryCapCullPolicy implements IWritePolicy {
394
+ admit(__incoming: IMemoryRecord<unknown>, existing: ReadonlyArray<IMemoryRecord<unknown>>): Result<AdmissionDecision>;
395
+ applyUpdate(existing: IMemoryRecord<unknown>, patch: Record<string, unknown>): Result<IMemoryRecord<unknown>>;
396
+ static create(params: IMemoryCapCullPolicyParams): Result<MemoryCapCullPolicy>;
397
+ readonly dedupScope: DedupScope;
398
+ readonly mutableFields: ReadonlyArray<string>;
399
+ }
400
+
401
+ // @public
402
+ export type MemoryEmbedder = (record: IMemoryRecord<unknown>) => Promise<Result<Float32Array>>;
403
+
404
+ // @public
405
+ export type MemoryId = Brand<string, 'MemoryId'>;
406
+
407
+ // @public
408
+ export class MemoryIndex implements IMemoryIndex {
409
+ backlinks(target: MemoryId): ReadonlyArray<MemoryId>;
410
+ byKind(kind: Kind): ReadonlyArray<IMemoryRecord<unknown>>;
411
+ byRecency(): ReadonlyArray<IMemoryRecord<unknown>>;
412
+ byTag(tag: Tag): ReadonlyArray<IMemoryRecord<unknown>>;
413
+ static create(): Result<MemoryIndex>;
414
+ entries(): ReadonlyArray<IIndexedMemoryRecord>;
415
+ patch(op: MemoryIndexPatchOp, entry: IIndexedMemoryRecord): Result<IIndexedMemoryRecord>;
416
+ rebuild(entries: ReadonlyArray<IIndexedMemoryRecord>): Result<number>;
417
+ }
418
+
419
+ // @public
420
+ export type MemoryIndexPatchOp = 'put' | 'delete';
421
+
422
+ // @public
423
+ export type MemoryObservationOutcome = 'success' | 'failure';
424
+
425
+ // @public
426
+ export type MemoryObservationPhase = 'read' | 'write' | 'delete' | 'retrieve';
427
+
428
+ // @public
429
+ export class MemoryObservationStore implements IMemoryObserver {
430
+ clear(): void;
431
+ static create(params?: IMemoryObservationStoreCreateParams): Result<MemoryObservationStore>;
432
+ get lastSeq(): number;
433
+ observe(record: IMemoryObservationRecord): Promise<Result<unknown>>;
434
+ query(criteria?: IMemoryObservationQuery): ReadonlyArray<IMemoryObservationRecord>;
435
+ get size(): number;
436
+ }
437
+
438
+ // @public
439
+ export type MemoryScopeKey = Brand<string, 'MemoryScopeKey'>;
440
+
441
+ // @public
442
+ export class MtmIdentityCodec implements IIdentityCodec {
443
+ decode(scope: MemoryScopeKey, encodedStem: string): Result<EntityId>;
444
+ encode(entityId: EntityId): Result<IIdentityCodecResult>;
445
+ static readonly rootScopeSegment: string;
446
+ static readonly turnStemPrefix: string;
447
+ verifyRoundTrip(scope: MemoryScopeKey, stem: string): Result<true>;
448
+ }
449
+
450
+ // @public
451
+ export const NON_SEMANTIC_CAPABILITIES: IMemoryRetrieverCapabilities;
452
+
453
+ // @public
454
+ export function parseMemoryFile(raw: string, registry: IBodyConverterRegistry): Result<IMemoryRecord<unknown>>;
455
+
456
+ // @public
457
+ export const provenanceConverter: Converter<IProvenance>;
458
+
459
+ // @public
460
+ export type ProvenanceSource = 'agent' | 'host-ingest' | 'human' | (string & {});
461
+
462
+ // @public
463
+ export type QueryEmbedder = (text: string) => Promise<Result<Float32Array>>;
464
+
465
+ // @public
466
+ export function recencyCompare(a: IMemoryRecord<unknown>, b: IMemoryRecord<unknown>): number;
467
+
468
+ // @public
469
+ export class RecencyRetriever implements IMemoryRetriever {
470
+ get capabilities(): IMemoryRetrieverCapabilities;
471
+ static create(index: IMemoryIndex): Result<RecencyRetriever>;
472
+ retrieve(query: IMemoryQuery): Promise<Result<ReadonlyArray<IMemoryRecord<unknown>>>>;
473
+ }
474
+
475
+ // @public
476
+ export class ScoreUnionMergeStrategy implements IMergeStrategy {
477
+ static create(): Result<ScoreUnionMergeStrategy>;
478
+ merge(resultSets: ReadonlyArray<ReadonlyArray<IMemoryRecord<unknown>>>): Result<ReadonlyArray<IMemoryRecord<unknown>>>;
479
+ }
480
+
481
+ // @public
482
+ export function selectByQuery(entries: ReadonlyArray<IIndexedMemoryRecord>, query: IMemoryQuery): IMemoryRecord<unknown>[];
483
+
484
+ // @public
485
+ export const SEMANTIC_UNWIRED_MESSAGE: string;
486
+
487
+ // @public
488
+ export class SemanticRetriever implements IMemoryRetriever {
489
+ get capabilities(): IMemoryRetrieverCapabilities;
490
+ static create(params: ISemanticRetrieverCreateParams): Result<SemanticRetriever>;
491
+ retrieve(query: IMemoryQuery): Promise<Result<ReadonlyArray<IMemoryRecord<unknown>>>>;
492
+ }
493
+
494
+ // @public
495
+ export function serializeMemoryFile(envelope: IMemoryEnvelope, body: string): Result<string>;
496
+
497
+ // @public
498
+ export function splitFrontmatter(raw: string): Result<IMemoryFileParts>;
499
+
500
+ // @public
501
+ export class StructuredFilterRetriever implements IMemoryRetriever {
502
+ get capabilities(): IMemoryRetrieverCapabilities;
503
+ static create(index: IMemoryIndex): Result<StructuredFilterRetriever>;
504
+ retrieve(query: IMemoryQuery): Promise<Result<ReadonlyArray<IMemoryRecord<unknown>>>>;
505
+ }
506
+
507
+ // @public
508
+ export type Tag = Brand<string, 'Tag'>;
509
+
510
+ // @public
511
+ export class TagRetriever implements IMemoryRetriever {
512
+ get capabilities(): IMemoryRetrieverCapabilities;
513
+ static create(index: IMemoryIndex): Result<TagRetriever>;
514
+ retrieve(query: IMemoryQuery): Promise<Result<ReadonlyArray<IMemoryRecord<unknown>>>>;
515
+ }
516
+
517
+ // @public
518
+ export const temporalConverter: Converter<ITemporalBlock>;
519
+
520
+ // @public
521
+ export function temporalUnwiredMessage(kind?: Kind): string;
522
+
523
+ // (No @packageDocumentation comment for this package)
524
+
525
+ ```
package/lib/index.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ export * from './packlets/types';
2
+ export * from './packlets/converters';
3
+ export * from './packlets/store';
4
+ export * from './packlets/index';
5
+ export * from './packlets/retrieve';
6
+ export * from './packlets/observe';
7
+ export * from './packlets/vector';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
package/lib/index.js ADDED
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2026 Erik Fortune
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ __exportStar(require("./packlets/types"), exports);
22
+ __exportStar(require("./packlets/converters"), exports);
23
+ __exportStar(require("./packlets/store"), exports);
24
+ __exportStar(require("./packlets/index"), exports);
25
+ __exportStar(require("./packlets/retrieve"), exports);
26
+ __exportStar(require("./packlets/observe"), exports);
27
+ __exportStar(require("./packlets/vector"), exports);
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,mDAAiC;AACjC,wDAAsC;AACtC,mDAAiC;AACjC,mDAAiC;AACjC,sDAAoC;AACpC,qDAAmC;AACnC,oDAAkC","sourcesContent":["/*\n * Copyright (c) 2026 Erik Fortune\n * SPDX-License-Identifier: MIT\n */\n\nexport * from './packlets/types';\nexport * from './packlets/converters';\nexport * from './packlets/store';\nexport * from './packlets/index';\nexport * from './packlets/retrieve';\nexport * from './packlets/observe';\nexport * from './packlets/vector';\n"]}
@@ -0,0 +1,64 @@
1
+ import { Converter, Result } from '@fgv/ts-utils';
2
+ import { JsonSchema } from '@fgv/ts-json-base';
3
+ import { Kind } from '../types';
4
+ /**
5
+ * Registry of per-kind body Converters. Each memory {@link Kind} registers the
6
+ * validated shape of its body; the store dispatches an `unknown` body through
7
+ * the registered Converter on every write. Type-safe — no `any`.
8
+ * @public
9
+ */
10
+ export interface IBodyConverterRegistry {
11
+ /**
12
+ * Register a Converter for a kind. Replaces any prior registration for the
13
+ * same kind.
14
+ */
15
+ register<T>(kind: Kind, converter: Converter<T>): void;
16
+ /**
17
+ * Register a `JsonSchema` validator (from `@fgv/ts-json-base`) for a kind —
18
+ * the schema IS a Validator. Replaces any prior registration for the same
19
+ * kind.
20
+ */
21
+ registerSchema<T>(kind: Kind, schema: JsonSchema.ISchemaValidator<T>): void;
22
+ /** Returns `true` if a converter is registered for the kind. */
23
+ has(kind: Kind): boolean;
24
+ /**
25
+ * Get the raw converter registered for a kind. Fails if the kind is
26
+ * unregistered. Exposed for implementors that need to re-validate a patched
27
+ * body (e.g. a temporal-versioned policy's `applyUpdate`).
28
+ */
29
+ getConverter(kind: Kind): Result<Converter<unknown>>;
30
+ /**
31
+ * Convert an `unknown` body value for the given kind. Fails with
32
+ * `no converter registered for kind '<k>'` when unregistered.
33
+ */
34
+ convert(kind: Kind, body: unknown): Result<unknown>;
35
+ }
36
+ /**
37
+ * Default in-memory {@link IBodyConverterRegistry}.
38
+ *
39
+ * @remarks
40
+ * Both `register` and `registerSchema` adapt the supplied converter/validator
41
+ * into a `Converter<unknown>` via `Converters.generic`, so the heterogeneous
42
+ * per-kind types are stored uniformly with no cast and no `any`. A
43
+ * `Converter<T>` is not structurally a `Converter<unknown>` (the `map` callback
44
+ * makes the type invariant), so the `generic` wrapper — whose callback returns
45
+ * `Result<T>` (assignable to `Result<unknown>`) — is the type-safe bridge.
46
+ * @public
47
+ */
48
+ export declare class BodyConverterRegistry implements IBodyConverterRegistry {
49
+ private readonly _converters;
50
+ private constructor();
51
+ /** Family-convention factory. */
52
+ static create(): Result<BodyConverterRegistry>;
53
+ /** {@inheritDoc IBodyConverterRegistry.register} */
54
+ register<T>(kind: Kind, converter: Converter<T>): void;
55
+ /** {@inheritDoc IBodyConverterRegistry.registerSchema} */
56
+ registerSchema<T>(kind: Kind, schema: JsonSchema.ISchemaValidator<T>): void;
57
+ /** {@inheritDoc IBodyConverterRegistry.has} */
58
+ has(kind: Kind): boolean;
59
+ /** {@inheritDoc IBodyConverterRegistry.getConverter} */
60
+ getConverter(kind: Kind): Result<Converter<unknown>>;
61
+ /** {@inheritDoc IBodyConverterRegistry.convert} */
62
+ convert(kind: Kind, body: unknown): Result<unknown>;
63
+ }
64
+ //# sourceMappingURL=bodyConverterRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bodyConverterRegistry.d.ts","sourceRoot":"","sources":["../../../src/packlets/converters/bodyConverterRegistry.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAc,MAAM,EAAiB,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAEvD;;;;OAIG;IACH,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAE5E,gEAAgE;IAChE,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IAEzB;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAErD;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;CACrD;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,qBAAsB,YAAW,sBAAsB;IAClE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgC;IAE5D,OAAO;IAIP,iCAAiC;WACnB,MAAM,IAAI,MAAM,CAAC,qBAAqB,CAAC;IAIrD,oDAAoD;IAC7C,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAO7D,0DAA0D;IACnD,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI;IAOlF,+CAA+C;IACxC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAI/B,wDAAwD;IACjD,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAQ3D,mDAAmD;IAC5C,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;CAG3D"}