@xyo-network/diviner-temporal-indexing-memory 2.80.0-rc.1

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 (274) hide show
  1. package/LICENSE +165 -0
  2. package/README.md +13 -0
  3. package/dist/browser/Diviner.d.cts +24 -0
  4. package/dist/browser/Diviner.d.cts.map +1 -0
  5. package/dist/browser/Diviner.d.mts +24 -0
  6. package/dist/browser/Diviner.d.mts.map +1 -0
  7. package/dist/browser/Diviner.d.ts +24 -0
  8. package/dist/browser/Diviner.d.ts.map +1 -0
  9. package/dist/browser/DivinerQueryToIndexQueryDiviner.d.cts +12 -0
  10. package/dist/browser/DivinerQueryToIndexQueryDiviner.d.cts.map +1 -0
  11. package/dist/browser/DivinerQueryToIndexQueryDiviner.d.mts +12 -0
  12. package/dist/browser/DivinerQueryToIndexQueryDiviner.d.mts.map +1 -0
  13. package/dist/browser/DivinerQueryToIndexQueryDiviner.d.ts +12 -0
  14. package/dist/browser/DivinerQueryToIndexQueryDiviner.d.ts.map +1 -0
  15. package/dist/browser/IndexCandidateToIndexDiviner/Config.d.cts +10 -0
  16. package/dist/browser/IndexCandidateToIndexDiviner/Config.d.cts.map +1 -0
  17. package/dist/browser/IndexCandidateToIndexDiviner/Config.d.mts +10 -0
  18. package/dist/browser/IndexCandidateToIndexDiviner/Config.d.mts.map +1 -0
  19. package/dist/browser/IndexCandidateToIndexDiviner/Config.d.ts +10 -0
  20. package/dist/browser/IndexCandidateToIndexDiviner/Config.d.ts.map +1 -0
  21. package/dist/browser/IndexCandidateToIndexDiviner/Diviner.d.cts +46 -0
  22. package/dist/browser/IndexCandidateToIndexDiviner/Diviner.d.cts.map +1 -0
  23. package/dist/browser/IndexCandidateToIndexDiviner/Diviner.d.mts +46 -0
  24. package/dist/browser/IndexCandidateToIndexDiviner/Diviner.d.mts.map +1 -0
  25. package/dist/browser/IndexCandidateToIndexDiviner/Diviner.d.ts +46 -0
  26. package/dist/browser/IndexCandidateToIndexDiviner/Diviner.d.ts.map +1 -0
  27. package/dist/browser/IndexCandidateToIndexDiviner/Params.d.cts +5 -0
  28. package/dist/browser/IndexCandidateToIndexDiviner/Params.d.cts.map +1 -0
  29. package/dist/browser/IndexCandidateToIndexDiviner/Params.d.mts +5 -0
  30. package/dist/browser/IndexCandidateToIndexDiviner/Params.d.mts.map +1 -0
  31. package/dist/browser/IndexCandidateToIndexDiviner/Params.d.ts +5 -0
  32. package/dist/browser/IndexCandidateToIndexDiviner/Params.d.ts.map +1 -0
  33. package/dist/browser/IndexCandidateToIndexDiviner/Schema.d.cts +4 -0
  34. package/dist/browser/IndexCandidateToIndexDiviner/Schema.d.cts.map +1 -0
  35. package/dist/browser/IndexCandidateToIndexDiviner/Schema.d.mts +4 -0
  36. package/dist/browser/IndexCandidateToIndexDiviner/Schema.d.mts.map +1 -0
  37. package/dist/browser/IndexCandidateToIndexDiviner/Schema.d.ts +4 -0
  38. package/dist/browser/IndexCandidateToIndexDiviner/Schema.d.ts.map +1 -0
  39. package/dist/browser/IndexCandidateToIndexDiviner/index.d.cts +5 -0
  40. package/dist/browser/IndexCandidateToIndexDiviner/index.d.cts.map +1 -0
  41. package/dist/browser/IndexCandidateToIndexDiviner/index.d.mts +5 -0
  42. package/dist/browser/IndexCandidateToIndexDiviner/index.d.mts.map +1 -0
  43. package/dist/browser/IndexCandidateToIndexDiviner/index.d.ts +5 -0
  44. package/dist/browser/IndexCandidateToIndexDiviner/index.d.ts.map +1 -0
  45. package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner.d.cts +12 -0
  46. package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner.d.cts.map +1 -0
  47. package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner.d.mts +12 -0
  48. package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner.d.mts.map +1 -0
  49. package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner.d.ts +12 -0
  50. package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner.d.ts.map +1 -0
  51. package/dist/browser/StateToIndexCandidateDiviner/Config.d.cts +19 -0
  52. package/dist/browser/StateToIndexCandidateDiviner/Config.d.cts.map +1 -0
  53. package/dist/browser/StateToIndexCandidateDiviner/Config.d.mts +19 -0
  54. package/dist/browser/StateToIndexCandidateDiviner/Config.d.mts.map +1 -0
  55. package/dist/browser/StateToIndexCandidateDiviner/Config.d.ts +19 -0
  56. package/dist/browser/StateToIndexCandidateDiviner/Config.d.ts.map +1 -0
  57. package/dist/browser/StateToIndexCandidateDiviner/Diviner.d.cts +52 -0
  58. package/dist/browser/StateToIndexCandidateDiviner/Diviner.d.cts.map +1 -0
  59. package/dist/browser/StateToIndexCandidateDiviner/Diviner.d.mts +52 -0
  60. package/dist/browser/StateToIndexCandidateDiviner/Diviner.d.mts.map +1 -0
  61. package/dist/browser/StateToIndexCandidateDiviner/Diviner.d.ts +52 -0
  62. package/dist/browser/StateToIndexCandidateDiviner/Diviner.d.ts.map +1 -0
  63. package/dist/browser/StateToIndexCandidateDiviner/Params.d.cts +5 -0
  64. package/dist/browser/StateToIndexCandidateDiviner/Params.d.cts.map +1 -0
  65. package/dist/browser/StateToIndexCandidateDiviner/Params.d.mts +5 -0
  66. package/dist/browser/StateToIndexCandidateDiviner/Params.d.mts.map +1 -0
  67. package/dist/browser/StateToIndexCandidateDiviner/Params.d.ts +5 -0
  68. package/dist/browser/StateToIndexCandidateDiviner/Params.d.ts.map +1 -0
  69. package/dist/browser/StateToIndexCandidateDiviner/Schema.d.cts +4 -0
  70. package/dist/browser/StateToIndexCandidateDiviner/Schema.d.cts.map +1 -0
  71. package/dist/browser/StateToIndexCandidateDiviner/Schema.d.mts +4 -0
  72. package/dist/browser/StateToIndexCandidateDiviner/Schema.d.mts.map +1 -0
  73. package/dist/browser/StateToIndexCandidateDiviner/Schema.d.ts +4 -0
  74. package/dist/browser/StateToIndexCandidateDiviner/Schema.d.ts.map +1 -0
  75. package/dist/browser/StateToIndexCandidateDiviner/index.d.cts +2 -0
  76. package/dist/browser/StateToIndexCandidateDiviner/index.d.cts.map +1 -0
  77. package/dist/browser/StateToIndexCandidateDiviner/index.d.mts +2 -0
  78. package/dist/browser/StateToIndexCandidateDiviner/index.d.mts.map +1 -0
  79. package/dist/browser/StateToIndexCandidateDiviner/index.d.ts +2 -0
  80. package/dist/browser/StateToIndexCandidateDiviner/index.d.ts.map +1 -0
  81. package/dist/browser/index.cjs +79 -0
  82. package/dist/browser/index.cjs.map +1 -0
  83. package/dist/browser/index.d.cts +2 -0
  84. package/dist/browser/index.d.cts.map +1 -0
  85. package/dist/browser/index.d.mts +2 -0
  86. package/dist/browser/index.d.mts.map +1 -0
  87. package/dist/browser/index.d.ts +2 -0
  88. package/dist/browser/index.d.ts.map +1 -0
  89. package/dist/browser/index.js +56 -0
  90. package/dist/browser/index.js.map +1 -0
  91. package/dist/browser/lib/index.d.cts +2 -0
  92. package/dist/browser/lib/index.d.cts.map +1 -0
  93. package/dist/browser/lib/index.d.mts +2 -0
  94. package/dist/browser/lib/index.d.mts.map +1 -0
  95. package/dist/browser/lib/index.d.ts +2 -0
  96. package/dist/browser/lib/index.d.ts.map +1 -0
  97. package/dist/browser/lib/jsonpath/JsonPathTransformExpression.d.cts +15 -0
  98. package/dist/browser/lib/jsonpath/JsonPathTransformExpression.d.cts.map +1 -0
  99. package/dist/browser/lib/jsonpath/JsonPathTransformExpression.d.mts +15 -0
  100. package/dist/browser/lib/jsonpath/JsonPathTransformExpression.d.mts.map +1 -0
  101. package/dist/browser/lib/jsonpath/JsonPathTransformExpression.d.ts +15 -0
  102. package/dist/browser/lib/jsonpath/JsonPathTransformExpression.d.ts.map +1 -0
  103. package/dist/browser/lib/jsonpath/PayloadTransformer.d.cts +3 -0
  104. package/dist/browser/lib/jsonpath/PayloadTransformer.d.cts.map +1 -0
  105. package/dist/browser/lib/jsonpath/PayloadTransformer.d.mts +3 -0
  106. package/dist/browser/lib/jsonpath/PayloadTransformer.d.mts.map +1 -0
  107. package/dist/browser/lib/jsonpath/PayloadTransformer.d.ts +3 -0
  108. package/dist/browser/lib/jsonpath/PayloadTransformer.d.ts.map +1 -0
  109. package/dist/browser/lib/jsonpath/StringToJsonPathTransformExpressionDictionary.d.cts +12 -0
  110. package/dist/browser/lib/jsonpath/StringToJsonPathTransformExpressionDictionary.d.cts.map +1 -0
  111. package/dist/browser/lib/jsonpath/StringToJsonPathTransformExpressionDictionary.d.mts +12 -0
  112. package/dist/browser/lib/jsonpath/StringToJsonPathTransformExpressionDictionary.d.mts.map +1 -0
  113. package/dist/browser/lib/jsonpath/StringToJsonPathTransformExpressionDictionary.d.ts +12 -0
  114. package/dist/browser/lib/jsonpath/StringToJsonPathTransformExpressionDictionary.d.ts.map +1 -0
  115. package/dist/browser/lib/jsonpath/StringToPayloadTransformersDictionary.d.cts +5 -0
  116. package/dist/browser/lib/jsonpath/StringToPayloadTransformersDictionary.d.cts.map +1 -0
  117. package/dist/browser/lib/jsonpath/StringToPayloadTransformersDictionary.d.mts +5 -0
  118. package/dist/browser/lib/jsonpath/StringToPayloadTransformersDictionary.d.mts.map +1 -0
  119. package/dist/browser/lib/jsonpath/StringToPayloadTransformersDictionary.d.ts +5 -0
  120. package/dist/browser/lib/jsonpath/StringToPayloadTransformersDictionary.d.ts.map +1 -0
  121. package/dist/browser/lib/jsonpath/index.d.cts +5 -0
  122. package/dist/browser/lib/jsonpath/index.d.cts.map +1 -0
  123. package/dist/browser/lib/jsonpath/index.d.mts +5 -0
  124. package/dist/browser/lib/jsonpath/index.d.mts.map +1 -0
  125. package/dist/browser/lib/jsonpath/index.d.ts +5 -0
  126. package/dist/browser/lib/jsonpath/index.d.ts.map +1 -0
  127. package/dist/node/Diviner.d.cts +24 -0
  128. package/dist/node/Diviner.d.cts.map +1 -0
  129. package/dist/node/Diviner.d.mts +24 -0
  130. package/dist/node/Diviner.d.mts.map +1 -0
  131. package/dist/node/Diviner.d.ts +24 -0
  132. package/dist/node/Diviner.d.ts.map +1 -0
  133. package/dist/node/DivinerQueryToIndexQueryDiviner.d.cts +12 -0
  134. package/dist/node/DivinerQueryToIndexQueryDiviner.d.cts.map +1 -0
  135. package/dist/node/DivinerQueryToIndexQueryDiviner.d.mts +12 -0
  136. package/dist/node/DivinerQueryToIndexQueryDiviner.d.mts.map +1 -0
  137. package/dist/node/DivinerQueryToIndexQueryDiviner.d.ts +12 -0
  138. package/dist/node/DivinerQueryToIndexQueryDiviner.d.ts.map +1 -0
  139. package/dist/node/IndexCandidateToIndexDiviner/Config.d.cts +10 -0
  140. package/dist/node/IndexCandidateToIndexDiviner/Config.d.cts.map +1 -0
  141. package/dist/node/IndexCandidateToIndexDiviner/Config.d.mts +10 -0
  142. package/dist/node/IndexCandidateToIndexDiviner/Config.d.mts.map +1 -0
  143. package/dist/node/IndexCandidateToIndexDiviner/Config.d.ts +10 -0
  144. package/dist/node/IndexCandidateToIndexDiviner/Config.d.ts.map +1 -0
  145. package/dist/node/IndexCandidateToIndexDiviner/Diviner.d.cts +46 -0
  146. package/dist/node/IndexCandidateToIndexDiviner/Diviner.d.cts.map +1 -0
  147. package/dist/node/IndexCandidateToIndexDiviner/Diviner.d.mts +46 -0
  148. package/dist/node/IndexCandidateToIndexDiviner/Diviner.d.mts.map +1 -0
  149. package/dist/node/IndexCandidateToIndexDiviner/Diviner.d.ts +46 -0
  150. package/dist/node/IndexCandidateToIndexDiviner/Diviner.d.ts.map +1 -0
  151. package/dist/node/IndexCandidateToIndexDiviner/Params.d.cts +5 -0
  152. package/dist/node/IndexCandidateToIndexDiviner/Params.d.cts.map +1 -0
  153. package/dist/node/IndexCandidateToIndexDiviner/Params.d.mts +5 -0
  154. package/dist/node/IndexCandidateToIndexDiviner/Params.d.mts.map +1 -0
  155. package/dist/node/IndexCandidateToIndexDiviner/Params.d.ts +5 -0
  156. package/dist/node/IndexCandidateToIndexDiviner/Params.d.ts.map +1 -0
  157. package/dist/node/IndexCandidateToIndexDiviner/Schema.d.cts +4 -0
  158. package/dist/node/IndexCandidateToIndexDiviner/Schema.d.cts.map +1 -0
  159. package/dist/node/IndexCandidateToIndexDiviner/Schema.d.mts +4 -0
  160. package/dist/node/IndexCandidateToIndexDiviner/Schema.d.mts.map +1 -0
  161. package/dist/node/IndexCandidateToIndexDiviner/Schema.d.ts +4 -0
  162. package/dist/node/IndexCandidateToIndexDiviner/Schema.d.ts.map +1 -0
  163. package/dist/node/IndexCandidateToIndexDiviner/index.d.cts +5 -0
  164. package/dist/node/IndexCandidateToIndexDiviner/index.d.cts.map +1 -0
  165. package/dist/node/IndexCandidateToIndexDiviner/index.d.mts +5 -0
  166. package/dist/node/IndexCandidateToIndexDiviner/index.d.mts.map +1 -0
  167. package/dist/node/IndexCandidateToIndexDiviner/index.d.ts +5 -0
  168. package/dist/node/IndexCandidateToIndexDiviner/index.d.ts.map +1 -0
  169. package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner.d.cts +12 -0
  170. package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner.d.cts.map +1 -0
  171. package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner.d.mts +12 -0
  172. package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner.d.mts.map +1 -0
  173. package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner.d.ts +12 -0
  174. package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner.d.ts.map +1 -0
  175. package/dist/node/StateToIndexCandidateDiviner/Config.d.cts +19 -0
  176. package/dist/node/StateToIndexCandidateDiviner/Config.d.cts.map +1 -0
  177. package/dist/node/StateToIndexCandidateDiviner/Config.d.mts +19 -0
  178. package/dist/node/StateToIndexCandidateDiviner/Config.d.mts.map +1 -0
  179. package/dist/node/StateToIndexCandidateDiviner/Config.d.ts +19 -0
  180. package/dist/node/StateToIndexCandidateDiviner/Config.d.ts.map +1 -0
  181. package/dist/node/StateToIndexCandidateDiviner/Diviner.d.cts +52 -0
  182. package/dist/node/StateToIndexCandidateDiviner/Diviner.d.cts.map +1 -0
  183. package/dist/node/StateToIndexCandidateDiviner/Diviner.d.mts +52 -0
  184. package/dist/node/StateToIndexCandidateDiviner/Diviner.d.mts.map +1 -0
  185. package/dist/node/StateToIndexCandidateDiviner/Diviner.d.ts +52 -0
  186. package/dist/node/StateToIndexCandidateDiviner/Diviner.d.ts.map +1 -0
  187. package/dist/node/StateToIndexCandidateDiviner/Params.d.cts +5 -0
  188. package/dist/node/StateToIndexCandidateDiviner/Params.d.cts.map +1 -0
  189. package/dist/node/StateToIndexCandidateDiviner/Params.d.mts +5 -0
  190. package/dist/node/StateToIndexCandidateDiviner/Params.d.mts.map +1 -0
  191. package/dist/node/StateToIndexCandidateDiviner/Params.d.ts +5 -0
  192. package/dist/node/StateToIndexCandidateDiviner/Params.d.ts.map +1 -0
  193. package/dist/node/StateToIndexCandidateDiviner/Schema.d.cts +4 -0
  194. package/dist/node/StateToIndexCandidateDiviner/Schema.d.cts.map +1 -0
  195. package/dist/node/StateToIndexCandidateDiviner/Schema.d.mts +4 -0
  196. package/dist/node/StateToIndexCandidateDiviner/Schema.d.mts.map +1 -0
  197. package/dist/node/StateToIndexCandidateDiviner/Schema.d.ts +4 -0
  198. package/dist/node/StateToIndexCandidateDiviner/Schema.d.ts.map +1 -0
  199. package/dist/node/StateToIndexCandidateDiviner/index.d.cts +2 -0
  200. package/dist/node/StateToIndexCandidateDiviner/index.d.cts.map +1 -0
  201. package/dist/node/StateToIndexCandidateDiviner/index.d.mts +2 -0
  202. package/dist/node/StateToIndexCandidateDiviner/index.d.mts.map +1 -0
  203. package/dist/node/StateToIndexCandidateDiviner/index.d.ts +2 -0
  204. package/dist/node/StateToIndexCandidateDiviner/index.d.ts.map +1 -0
  205. package/dist/node/index.d.cts +2 -0
  206. package/dist/node/index.d.cts.map +1 -0
  207. package/dist/node/index.d.mts +2 -0
  208. package/dist/node/index.d.mts.map +1 -0
  209. package/dist/node/index.d.ts +2 -0
  210. package/dist/node/index.d.ts.map +1 -0
  211. package/dist/node/index.js +83 -0
  212. package/dist/node/index.js.map +1 -0
  213. package/dist/node/index.mjs +56 -0
  214. package/dist/node/index.mjs.map +1 -0
  215. package/dist/node/lib/index.d.cts +2 -0
  216. package/dist/node/lib/index.d.cts.map +1 -0
  217. package/dist/node/lib/index.d.mts +2 -0
  218. package/dist/node/lib/index.d.mts.map +1 -0
  219. package/dist/node/lib/index.d.ts +2 -0
  220. package/dist/node/lib/index.d.ts.map +1 -0
  221. package/dist/node/lib/jsonpath/JsonPathTransformExpression.d.cts +15 -0
  222. package/dist/node/lib/jsonpath/JsonPathTransformExpression.d.cts.map +1 -0
  223. package/dist/node/lib/jsonpath/JsonPathTransformExpression.d.mts +15 -0
  224. package/dist/node/lib/jsonpath/JsonPathTransformExpression.d.mts.map +1 -0
  225. package/dist/node/lib/jsonpath/JsonPathTransformExpression.d.ts +15 -0
  226. package/dist/node/lib/jsonpath/JsonPathTransformExpression.d.ts.map +1 -0
  227. package/dist/node/lib/jsonpath/PayloadTransformer.d.cts +3 -0
  228. package/dist/node/lib/jsonpath/PayloadTransformer.d.cts.map +1 -0
  229. package/dist/node/lib/jsonpath/PayloadTransformer.d.mts +3 -0
  230. package/dist/node/lib/jsonpath/PayloadTransformer.d.mts.map +1 -0
  231. package/dist/node/lib/jsonpath/PayloadTransformer.d.ts +3 -0
  232. package/dist/node/lib/jsonpath/PayloadTransformer.d.ts.map +1 -0
  233. package/dist/node/lib/jsonpath/StringToJsonPathTransformExpressionDictionary.d.cts +12 -0
  234. package/dist/node/lib/jsonpath/StringToJsonPathTransformExpressionDictionary.d.cts.map +1 -0
  235. package/dist/node/lib/jsonpath/StringToJsonPathTransformExpressionDictionary.d.mts +12 -0
  236. package/dist/node/lib/jsonpath/StringToJsonPathTransformExpressionDictionary.d.mts.map +1 -0
  237. package/dist/node/lib/jsonpath/StringToJsonPathTransformExpressionDictionary.d.ts +12 -0
  238. package/dist/node/lib/jsonpath/StringToJsonPathTransformExpressionDictionary.d.ts.map +1 -0
  239. package/dist/node/lib/jsonpath/StringToPayloadTransformersDictionary.d.cts +5 -0
  240. package/dist/node/lib/jsonpath/StringToPayloadTransformersDictionary.d.cts.map +1 -0
  241. package/dist/node/lib/jsonpath/StringToPayloadTransformersDictionary.d.mts +5 -0
  242. package/dist/node/lib/jsonpath/StringToPayloadTransformersDictionary.d.mts.map +1 -0
  243. package/dist/node/lib/jsonpath/StringToPayloadTransformersDictionary.d.ts +5 -0
  244. package/dist/node/lib/jsonpath/StringToPayloadTransformersDictionary.d.ts.map +1 -0
  245. package/dist/node/lib/jsonpath/index.d.cts +5 -0
  246. package/dist/node/lib/jsonpath/index.d.cts.map +1 -0
  247. package/dist/node/lib/jsonpath/index.d.mts +5 -0
  248. package/dist/node/lib/jsonpath/index.d.mts.map +1 -0
  249. package/dist/node/lib/jsonpath/index.d.ts +5 -0
  250. package/dist/node/lib/jsonpath/index.d.ts.map +1 -0
  251. package/package.json +90 -0
  252. package/src/Diviner.ts +65 -0
  253. package/src/DivinerQueryToIndexQueryDiviner.ts +34 -0
  254. package/src/IndexCandidateToIndexDiviner/Config.ts +12 -0
  255. package/src/IndexCandidateToIndexDiviner/Diviner.ts +144 -0
  256. package/src/IndexCandidateToIndexDiviner/Params.ts +6 -0
  257. package/src/IndexCandidateToIndexDiviner/Schema.ts +4 -0
  258. package/src/IndexCandidateToIndexDiviner/index.ts +4 -0
  259. package/src/IndexQueryResponseToDivinerQueryResponseDiviner.ts +21 -0
  260. package/src/StateToIndexCandidateDiviner/Config.ts +21 -0
  261. package/src/StateToIndexCandidateDiviner/Diviner.ts +128 -0
  262. package/src/StateToIndexCandidateDiviner/Params.ts +6 -0
  263. package/src/StateToIndexCandidateDiviner/Schema.ts +4 -0
  264. package/src/StateToIndexCandidateDiviner/index.ts +1 -0
  265. package/src/StateToIndexCandidateDiviner/spec/TemporalStateToIndexCandidateDiviner.json +57 -0
  266. package/src/index.ts +1 -0
  267. package/src/lib/index.ts +1 -0
  268. package/src/lib/jsonpath/JsonPathTransformExpression.ts +14 -0
  269. package/src/lib/jsonpath/PayloadTransformer.ts +3 -0
  270. package/src/lib/jsonpath/StringToJsonPathTransformExpressionDictionary.ts +8 -0
  271. package/src/lib/jsonpath/StringToPayloadTransformersDictionary.ts +3 -0
  272. package/src/lib/jsonpath/index.ts +4 -0
  273. package/src/spec/ImageThumbnailDivinerManifest.json +159 -0
  274. package/typedoc.json +5 -0
@@ -0,0 +1,144 @@
1
+ import { containsAll } from '@xylabs/array'
2
+ import { assertEx } from '@xylabs/assert'
3
+ import { exists } from '@xylabs/exists'
4
+ import { AbstractDiviner } from '@xyo-network/abstract-diviner'
5
+ import { BoundWitness, isBoundWitness } from '@xyo-network/boundwitness-model'
6
+ import { PayloadHasher } from '@xyo-network/core'
7
+ import { DivinerConfigSchema } from '@xyo-network/diviner-model'
8
+ import { TemporalIndexingDivinerResultIndexSchema } from '@xyo-network/diviner-temporal-indexing-model'
9
+ import { Labels } from '@xyo-network/module-model'
10
+ import { Payload } from '@xyo-network/payload-model'
11
+ import { isTimestamp, TimeStamp, TimestampSchema } from '@xyo-network/witness-timestamp'
12
+ import jsonpath from 'jsonpath'
13
+
14
+ import { PayloadTransformer, StringToJsonPathTransformExpressionsDictionary, StringToPayloadTransformersDictionary } from '../lib'
15
+ import { TemporalIndexingDivinerIndexCandidateToIndexDivinerConfigSchema } from './Config'
16
+ import { TemporalIndexCandidateToIndexDivinerParams } from './Params'
17
+
18
+ export type IndexablePayloads = [BoundWitness, TimeStamp, ...Payload[]]
19
+
20
+ const moduleName = 'TemporalIndexingDivinerIndexCandidateToIndexDiviner'
21
+
22
+ /**
23
+ * Transforms candidates for image thumbnail indexing into their indexed representation
24
+ */
25
+ export class TemporalIndexingDivinerIndexCandidateToIndexDiviner<
26
+ TParams extends TemporalIndexCandidateToIndexDivinerParams = TemporalIndexCandidateToIndexDivinerParams,
27
+ > extends AbstractDiviner<TParams, Payload, Payload> {
28
+ static override configSchema = TemporalIndexingDivinerIndexCandidateToIndexDivinerConfigSchema
29
+ static override configSchemas = [DivinerConfigSchema, TemporalIndexingDivinerIndexCandidateToIndexDivinerConfigSchema]
30
+ static labels: Labels = {
31
+ 'network.xyo.diviner.stage': 'indexCandidateToIndexDiviner',
32
+ }
33
+
34
+ private _indexableSchemas: string[] | undefined
35
+ private _schemaToPayloadTransformersDictionary: StringToPayloadTransformersDictionary | undefined
36
+
37
+ /**
38
+ * List of indexable schemas for this diviner
39
+ */
40
+ protected get indexableSchemas() {
41
+ // Return the computed result if we've calculated it before as the config
42
+ // shouldn't change after initialization
43
+ if (this._indexableSchemas) return this._indexableSchemas
44
+ this._indexableSchemas = [...Object.keys(this.schemaTransforms)]
45
+ return this._indexableSchemas
46
+ }
47
+
48
+ /**
49
+ * Dictionary of schemas to payload transformers for creating indexes
50
+ * from the payloads within a Bound Witness
51
+ */
52
+ protected get schemaToPayloadTransformersDictionary(): StringToPayloadTransformersDictionary {
53
+ // Return the computed result if we've calculated it before as the config
54
+ // shouldn't change after initialization
55
+ if (this._schemaToPayloadTransformersDictionary) return this._schemaToPayloadTransformersDictionary
56
+ this._schemaToPayloadTransformersDictionary = Object.fromEntries(
57
+ Object.entries(this.schemaTransforms).map(([schema, jsonPathTransformerExpressions]) => {
58
+ const transformers = jsonPathTransformerExpressions.map((transformExpression) => {
59
+ const { sourcePathExpression, destinationField } = transformExpression
60
+ const transformer: PayloadTransformer = (x: Payload) => {
61
+ // eslint-disable-next-line import/no-named-as-default-member
62
+ const source = jsonpath.value(x, sourcePathExpression)
63
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
64
+ const transformed = {} as { [key: string]: any }
65
+ transformed[destinationField] = source
66
+ return transformed
67
+ }
68
+ return transformer
69
+ })
70
+ return [schema, transformers]
71
+ }),
72
+ )
73
+ return this._schemaToPayloadTransformersDictionary
74
+ }
75
+
76
+ /**
77
+ * The dictionary of schemas to JSON Path transform expressions for creating indexes
78
+ * from the payloads within a Bound Witness
79
+ */
80
+ protected get schemaTransforms(): StringToJsonPathTransformExpressionsDictionary {
81
+ return assertEx(this.config?.schemaTransforms, () => `${moduleName}: Missing config.schemaTransforms section`)
82
+ }
83
+
84
+ protected override async divineHandler(payloads: Payload[] = []): Promise<Payload[]> {
85
+ const bws: BoundWitness[] = payloads.filter(isBoundWitness)
86
+ const timestampPayloads: TimeStamp[] = payloads.filter(isTimestamp)
87
+ const indexablePayloads: Payload[] = payloads.filter((p) => this.isIndexablePayload(p))
88
+ if (bws.length && timestampPayloads.length && indexablePayloads.length) {
89
+ const payloadDictionary = await PayloadHasher.toMap(payloads)
90
+ const validIndexableTuples: IndexablePayloads[] = bws.reduce<IndexablePayloads[]>((indexableTuples, bw) => {
91
+ // If this Bound Witness doesn't contain all the required schemas don't index it
92
+ if (!containsAll(bw.payload_schemas, this.indexableSchemas)) return indexableTuples
93
+ // Find the timestamp
94
+ const timestampPosition = bw.payload_schemas?.findIndex((schema) => schema === TimestampSchema)
95
+ const timestampHash = bw.payload_hashes?.[timestampPosition]
96
+ const timestamp = [payloadDictionary[timestampHash]].find(isTimestamp)
97
+ // Find the remaining indexable payloads
98
+ const indexablePayloadPositions = this.indexableSchemas.map((schema) => bw.payload_schemas.indexOf(schema))
99
+ const indexablePayloadHashes = indexablePayloadPositions.map((index) => bw.payload_hashes?.[index])
100
+ const indexablePayloads = indexablePayloadHashes.map((hash) => payloadDictionary[hash]).filter(exists)
101
+ // If we found a timestamp and the right amount of indexable payloads (of the
102
+ // correct schema as checked above) in this BW, then index it
103
+ if (timestamp && indexablePayloads.length === this.indexableSchemas.length) indexableTuples.push([bw, timestamp, ...indexablePayloads])
104
+ return indexableTuples
105
+ }, [])
106
+ // Create the indexes from the tuples
107
+ const indexes = await Promise.all(
108
+ validIndexableTuples.map(async ([bw, timestampPayload, ...remainingPayloads]) => {
109
+ const partials = remainingPayloads
110
+ .map((payload) => {
111
+ const transforms = this.schemaToPayloadTransformersDictionary[payload.schema]
112
+ const transformed: Partial<Payload>[] = transforms.map((transform) => transform(payload))
113
+ return transformed
114
+ })
115
+ .flat()
116
+ const transformed = Object.assign({}, ...partials, { schema: TemporalIndexingDivinerResultIndexSchema })
117
+ const { timestamp } = timestampPayload
118
+ const sources = (await PayloadHasher.hashPairs([bw, timestampPayload, ...remainingPayloads])).map(([, hash]) => hash)
119
+ return [{ ...transformed, sources, timestamp }]
120
+ }),
121
+ )
122
+ return indexes.flat()
123
+ }
124
+ return Promise.resolve([])
125
+ }
126
+
127
+ /**
128
+ * Identifies if a payload is one that is indexed by this diviner
129
+ * @param x The candidate payload
130
+ * @returns True if the payload is one indexed by this diviner, false otherwise
131
+ */
132
+ protected isIndexablePayload = (x: Payload) => {
133
+ return this.indexableSchemas.includes(x?.schema)
134
+ }
135
+
136
+ /**
137
+ * Identifies if a schema is one that is indexed by this diviner
138
+ * @param schema The candidate schema
139
+ * @returns True if this schema is one indexed by this diviner, false otherwise
140
+ */
141
+ protected isIndexableSchema = (schema?: string | null) => {
142
+ return this.indexableSchemas.some((s) => s === schema)
143
+ }
144
+ }
@@ -0,0 +1,6 @@
1
+ import { DivinerParams } from '@xyo-network/diviner-model'
2
+ import { AnyConfigSchema } from '@xyo-network/module-model'
3
+
4
+ import { TemporalIndexingDivinerIndexCandidateToIndexDivinerConfig } from './Config'
5
+
6
+ export type TemporalIndexCandidateToIndexDivinerParams = DivinerParams<AnyConfigSchema<TemporalIndexingDivinerIndexCandidateToIndexDivinerConfig>>
@@ -0,0 +1,4 @@
1
+ import { TemporalIndexingDivinerSchema } from '@xyo-network/diviner-temporal-indexing-model'
2
+
3
+ export type TemporalIndexingDivinerIndexCandidateToIndexDivinerSchema = `${TemporalIndexingDivinerSchema}.stage.indexCandidateToIndexDiviner`
4
+ export const TemporalIndexingDivinerIndexCandidateToIndexDivinerSchema: TemporalIndexingDivinerIndexCandidateToIndexDivinerSchema = `${TemporalIndexingDivinerSchema}.stage.indexCandidateToIndexDiviner`
@@ -0,0 +1,4 @@
1
+ export * from './Config'
2
+ export * from './Diviner'
3
+ export * from './Params'
4
+ export * from './Schema'
@@ -0,0 +1,21 @@
1
+ import { AbstractDiviner } from '@xyo-network/abstract-diviner'
2
+ import { DivinerConfigSchema } from '@xyo-network/diviner-model'
3
+ import { isPayloadDivinerQueryPayload } from '@xyo-network/diviner-payload-model'
4
+ import { Labels } from '@xyo-network/module-model'
5
+ import { Payload } from '@xyo-network/payload-model'
6
+
7
+ /**
8
+ * Transforms an ImageThumbnailIndex response into an ImageThumbnailResponse response
9
+ */
10
+ export class TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner extends AbstractDiviner {
11
+ static override configSchemas = [DivinerConfigSchema]
12
+ static labels: Labels = {
13
+ 'network.xyo.diviner.stage': 'indexQueryResponseToDivinerQueryResponseDiviner',
14
+ }
15
+
16
+ protected override async divineHandler(payloads: Payload[] = []): Promise<Payload[]> {
17
+ await Promise.resolve()
18
+ const imageThumbnailDivinerQueries = payloads.filter(isPayloadDivinerQueryPayload)
19
+ return imageThumbnailDivinerQueries
20
+ }
21
+ }
@@ -0,0 +1,21 @@
1
+ import { BoundWitnessDivinerPredicate } from '@xyo-network/diviner-boundwitness-model'
2
+ import { SearchableStorage } from '@xyo-network/diviner-indexing-model'
3
+ import { DivinerConfig } from '@xyo-network/diviner-model'
4
+
5
+ import { TemporalStateToIndexCandidateDivinerSchema } from './Schema'
6
+
7
+ export type TemporalStateToIndexCandidateDivinerConfigSchema = `${TemporalStateToIndexCandidateDivinerSchema}.config`
8
+ export const TemporalStateToIndexCandidateDivinerConfigSchema: TemporalStateToIndexCandidateDivinerConfigSchema = `${TemporalStateToIndexCandidateDivinerSchema}.config`
9
+
10
+ export type TemporalStateToIndexCandidateDivinerConfig = DivinerConfig<{
11
+ /**
12
+ * The filter to use to identify index candidates
13
+ */
14
+ filter: BoundWitnessDivinerPredicate
15
+ payloadDivinerLimit?: number
16
+ /**
17
+ * Where the diviner should look for stored thumbnails
18
+ */
19
+ payloadStore?: SearchableStorage
20
+ schema: TemporalStateToIndexCandidateDivinerConfigSchema
21
+ }>
@@ -0,0 +1,128 @@
1
+ import { assertEx } from '@xylabs/assert'
2
+ import { exists } from '@xylabs/exists'
3
+ import { AbstractDiviner } from '@xyo-network/abstract-diviner'
4
+ import { ArchivistInstance } from '@xyo-network/archivist-model'
5
+ import { ArchivistWrapper } from '@xyo-network/archivist-wrapper'
6
+ import { BoundWitness, isBoundWitness } from '@xyo-network/boundwitness-model'
7
+ import { BoundWitnessDivinerQueryPayload, BoundWitnessDivinerQuerySchema } from '@xyo-network/diviner-boundwitness-model'
8
+ import { IndexingDivinerState } from '@xyo-network/diviner-indexing-model'
9
+ import { DivinerConfigSchema } from '@xyo-network/diviner-model'
10
+ import { DivinerWrapper } from '@xyo-network/diviner-wrapper'
11
+ import { isModuleState, Labels, ModuleState, ModuleStateSchema } from '@xyo-network/module-model'
12
+ import { PayloadBuilder } from '@xyo-network/payload-builder'
13
+ import { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'
14
+ import { TimeStamp, TimestampSchema } from '@xyo-network/witness-timestamp'
15
+
16
+ import { TemporalStateToIndexCandidateDivinerConfigSchema } from './Config'
17
+ import { TemporalStateToIndexCandidateDivinerParams as TemporalIndexingDivinerStateToIndexCandidateDiviner } from './Params'
18
+
19
+ /**
20
+ * All Payload types involved in index candidates for indexing
21
+ */
22
+ export type IndexCandidate = BoundWitness | Payload | TimeStamp
23
+
24
+ /**
25
+ * The response from the TemporalStateToIndexCandidateDiviner
26
+ */
27
+ export type TemporalStateToIndexCandidateDivinerResponse = [
28
+ /**
29
+ * The next state of the diviner
30
+ */
31
+ nextState: ModuleState<IndexingDivinerState>,
32
+ /**
33
+ * The index candidates
34
+ */
35
+ ...IndexCandidate[],
36
+ ]
37
+
38
+ /**
39
+ * The default order to search Bound Witnesses to identify index candidates
40
+ */
41
+ const order = 'asc'
42
+
43
+ /**
44
+ * The name of the module (for logging purposes)
45
+ */
46
+ const moduleName = 'TemporalStateToIndexCandidateDiviner'
47
+
48
+ /**
49
+ * Transforms candidates for image thumbnail indexing into their indexed representation
50
+ */
51
+ export class TemporalStateToIndexCandidateDiviner<
52
+ TParams extends TemporalIndexingDivinerStateToIndexCandidateDiviner = TemporalIndexingDivinerStateToIndexCandidateDiviner,
53
+ > extends AbstractDiviner<TParams> {
54
+ static override configSchemas = [DivinerConfigSchema, TemporalStateToIndexCandidateDivinerConfigSchema]
55
+ static labels: Labels = {
56
+ 'network.xyo.diviner.stage': 'stateToIndexCandidateDiviner',
57
+ }
58
+
59
+ get payloadDivinerLimit() {
60
+ return this.config.payloadDivinerLimit ?? 1_000
61
+ }
62
+
63
+ /**
64
+ * The required payload_schemas within BoundWitnesses to identify index candidates
65
+ */
66
+ protected get payload_schemas(): string[] {
67
+ const schemas = this.config.filter?.payload_schemas
68
+ return [TimestampSchema, ...(schemas ?? [])]
69
+ }
70
+
71
+ protected override async divineHandler(payloads: Payload[] = []): Promise<[ModuleState, ...IndexCandidate[]]> {
72
+ // Retrieve the last state from what was passed in
73
+ const lastState = payloads.find(isModuleState<IndexingDivinerState>)
74
+ // If there is no last state, start from the beginning
75
+ if (!lastState) return [{ schema: ModuleStateSchema, state: { offset: 0 } }]
76
+ // Otherwise, get the last offset
77
+ const { offset } = lastState.state
78
+ // Get next batch of results starting from the offset
79
+ const boundWitnessDiviner = await this.getBoundWitnessDivinerForStore()
80
+ const query = new PayloadBuilder<BoundWitnessDivinerQueryPayload>({ schema: BoundWitnessDivinerQuerySchema })
81
+ .fields({ limit: this.payloadDivinerLimit, offset, order, payload_schemas: this.payload_schemas })
82
+ .build()
83
+ const batch = await boundWitnessDiviner.divine([query])
84
+ if (batch.length === 0) return [lastState]
85
+ // Get source data
86
+ const sourceArchivist = await this.getArchivistForStore()
87
+ const indexCandidates: IndexCandidate[] = (
88
+ await Promise.all(batch.filter(isBoundWitness).map((bw) => this.getPayloadsInBoundWitness(bw, sourceArchivist)))
89
+ )
90
+ .filter(exists)
91
+ .flat()
92
+ const nextState = { schema: ModuleStateSchema, state: { ...lastState.state, offset: offset + batch.length } }
93
+ return [nextState, ...indexCandidates]
94
+ }
95
+ /**
96
+ * Retrieves the archivist for the payloadStore
97
+ * @returns The archivist for the payloadStore
98
+ */
99
+ protected async getArchivistForStore() {
100
+ const name: string = assertEx(this.config?.payloadStore?.archivist, () => `${moduleName}: Config for payloadStore.archivist not specified`)
101
+ const mod = assertEx(await this.resolve(name), () => `${moduleName}: Failed to resolve payloadStore.archivist`)
102
+ return ArchivistWrapper.wrap(mod, this.account)
103
+ }
104
+
105
+ /**
106
+ * Retrieves the BoundWitness Diviner for the payloadStore
107
+ * @returns The BoundWitness Diviner for the payloadStore
108
+ */
109
+ protected async getBoundWitnessDivinerForStore() {
110
+ const name: string = assertEx(
111
+ this.config?.payloadStore?.boundWitnessDiviner,
112
+ () => `${moduleName}: Config for payloadStore.boundWitnessDiviner not specified`,
113
+ )
114
+ const mod = assertEx(await this.resolve(name), () => `${moduleName}: Failed to resolve payloadStore.boundWitnessDiviner`)
115
+ return DivinerWrapper.wrap(mod, this.account)
116
+ }
117
+
118
+ protected async getPayloadsInBoundWitness(bw: BoundWitness, archivist: ArchivistInstance): Promise<IndexCandidate[] | undefined> {
119
+ const indexes = this.payload_schemas.map((schema) => bw.payload_schemas?.findIndex((s) => s === schema))
120
+ const hashes = indexes.map((index) => bw.payload_hashes?.[index])
121
+ const results = await archivist.get(hashes)
122
+ const indexCandidateIdentityFunctions = this.payload_schemas.map(isPayloadOfSchemaType)
123
+ const filteredResults = indexCandidateIdentityFunctions.map((is) => results.find(is))
124
+ if (filteredResults.some((f) => f === undefined)) return undefined
125
+ const indexCandidates: IndexCandidate[] = filteredResults.filter(exists) as IndexCandidate[]
126
+ return [bw, ...indexCandidates]
127
+ }
128
+ }
@@ -0,0 +1,6 @@
1
+ import { DivinerParams } from '@xyo-network/diviner-model'
2
+ import { AnyConfigSchema } from '@xyo-network/module-model'
3
+
4
+ import { TemporalStateToIndexCandidateDivinerConfig } from './Config'
5
+
6
+ export type TemporalStateToIndexCandidateDivinerParams = DivinerParams<AnyConfigSchema<TemporalStateToIndexCandidateDivinerConfig>>
@@ -0,0 +1,4 @@
1
+ import { TemporalIndexingDivinerSchema } from '@xyo-network/diviner-temporal-indexing-model'
2
+
3
+ export type TemporalStateToIndexCandidateDivinerSchema = `${TemporalIndexingDivinerSchema}.stage.stateToIndexCandidateDiviner`
4
+ export const TemporalStateToIndexCandidateDivinerSchema: TemporalStateToIndexCandidateDivinerSchema = `${TemporalIndexingDivinerSchema}.stage.stateToIndexCandidateDiviner`
@@ -0,0 +1 @@
1
+ export * from './Diviner'
@@ -0,0 +1,57 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/XYOracleNetwork/sdk-xyo-client-js/main/packages/manifest/src/schema.json",
3
+ "nodes": [
4
+ {
5
+ "config": {
6
+ "name": "DivinerTest",
7
+ "schema": "network.xyo.node.config"
8
+ },
9
+ "modules": {
10
+ "public": [
11
+ {
12
+ "config": {
13
+ "language": "javascript",
14
+ "name": "ImageThumbnailArchivist",
15
+ "schema": "network.xyo.archivist.config"
16
+ }
17
+ },
18
+ {
19
+ "config": {
20
+ "archivist": "ImageThumbnailArchivist",
21
+ "language": "javascript",
22
+ "name": "ImageThumbnailBoundWitnessDiviner",
23
+ "schema": "network.xyo.diviner.boundwitness.config"
24
+ }
25
+ },
26
+ {
27
+ "config": {
28
+ "archivist": "ImageThumbnailArchivist",
29
+ "language": "javascript",
30
+ "name": "ImageThumbnailPayloadDiviner",
31
+ "schema": "network.xyo.diviner.payload.config"
32
+ }
33
+ },
34
+ {
35
+ "config": {
36
+ "filter": {
37
+ "payload_schemas": ["network.xyo.image.thumbnail"]
38
+ },
39
+ "labels": {
40
+ "network.xyo.diviner.stage": "stateToIndexCandidateDiviner"
41
+ },
42
+ "language": "javascript",
43
+ "name": "TemporalStateToIndexCandidateDiviner",
44
+ "payloadStore": {
45
+ "archivist": "ImageThumbnailArchivist",
46
+ "boundWitnessDiviner": "ImageThumbnailBoundWitnessDiviner",
47
+ "payloadDiviner": "ImageThumbnailPayloadDiviner"
48
+ },
49
+ "schema": "network.xyo.diviner.config"
50
+ }
51
+ }
52
+ ]
53
+ }
54
+ }
55
+ ],
56
+ "schema": "network.xyo.manifest"
57
+ }
package/src/index.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './Diviner'
@@ -0,0 +1 @@
1
+ export * from './jsonpath'
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Describes the JSON-path transformation to retrieve a field on a source object
3
+ * and the target field to store the value to on a destination object
4
+ */
5
+ export interface JsonPathTransformExpression {
6
+ /**
7
+ * The target field to store the source field into on the destination object
8
+ */
9
+ destinationField: string
10
+ /**
11
+ * The JSON path expressions for the source field on the source object
12
+ */
13
+ sourcePathExpression: string
14
+ }
@@ -0,0 +1,3 @@
1
+ import { Payload } from '@xyo-network/payload-model'
2
+
3
+ export type PayloadTransformer = (x: Payload) => Partial<Payload>
@@ -0,0 +1,8 @@
1
+ import { JsonPathTransformExpression } from './JsonPathTransformExpression'
2
+
3
+ /**
4
+ * A dictionary of string keys to JsonPathTransformExpressions.
5
+ */
6
+ export type StringToJsonPathTransformExpressionsDictionary<T extends { [key: string]: unknown } = { [key: string]: unknown }> = {
7
+ [key in keyof T]: JsonPathTransformExpression[]
8
+ }
@@ -0,0 +1,3 @@
1
+ import { PayloadTransformer } from './PayloadTransformer'
2
+
3
+ export type StringToPayloadTransformersDictionary = { [key: string]: PayloadTransformer[] }
@@ -0,0 +1,4 @@
1
+ export * from './JsonPathTransformExpression'
2
+ export * from './PayloadTransformer'
3
+ export * from './StringToJsonPathTransformExpressionDictionary'
4
+ export * from './StringToPayloadTransformersDictionary'
@@ -0,0 +1,159 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/XYOracleNetwork/sdk-xyo-client-js/main/packages/manifest/src/schema.json",
3
+ "nodes": [
4
+ {
5
+ "config": {
6
+ "name": "DivinerTest",
7
+ "schema": "network.xyo.node.config"
8
+ },
9
+ "modules": {
10
+ "public": [
11
+ {
12
+ "config": {
13
+ "language": "javascript",
14
+ "name": "AddressStateArchivist",
15
+ "schema": "network.xyo.archivist.config",
16
+ "storeQueries": false
17
+ }
18
+ },
19
+ {
20
+ "config": {
21
+ "archivist": "AddressStateArchivist",
22
+ "language": "javascript",
23
+ "name": "AddressStateBoundWitnessDiviner",
24
+ "schema": "network.xyo.diviner.boundwitness.config"
25
+ }
26
+ },
27
+ {
28
+ "config": {
29
+ "archivist": "AddressStateArchivist",
30
+ "language": "javascript",
31
+ "name": "AddressStatePayloadDiviner",
32
+ "schema": "network.xyo.diviner.payload.config"
33
+ }
34
+ },
35
+ {
36
+ "config": {
37
+ "language": "javascript",
38
+ "name": "ImageThumbnailArchivist",
39
+ "schema": "network.xyo.archivist.config"
40
+ }
41
+ },
42
+ {
43
+ "config": {
44
+ "archivist": "ImageThumbnailArchivist",
45
+ "language": "javascript",
46
+ "name": "ImageThumbnailBoundWitnessDiviner",
47
+ "schema": "network.xyo.diviner.boundwitness.config"
48
+ }
49
+ },
50
+ {
51
+ "config": {
52
+ "archivist": "ImageThumbnailArchivist",
53
+ "language": "javascript",
54
+ "name": "ImageThumbnailPayloadDiviner",
55
+ "schema": "network.xyo.diviner.payload.config"
56
+ }
57
+ },
58
+ {
59
+ "config": {
60
+ "language": "javascript",
61
+ "name": "ImageThumbnailDivinerIndexArchivist",
62
+ "schema": "network.xyo.archivist.config"
63
+ }
64
+ },
65
+ {
66
+ "config": {
67
+ "archivist": "ImageThumbnailDivinerIndexArchivist",
68
+ "language": "javascript",
69
+ "name": "ImageThumbnailDivinerIndexBoundWitnessDiviner",
70
+ "schema": "network.xyo.diviner.boundwitness.config"
71
+ }
72
+ },
73
+ {
74
+ "config": {
75
+ "archivist": "ImageThumbnailDivinerIndexArchivist",
76
+ "language": "javascript",
77
+ "name": "ImageThumbnailDivinerIndexPayloadDiviner",
78
+ "schema": "network.xyo.diviner.payload.config"
79
+ }
80
+ },
81
+ {
82
+ "config": {
83
+ "labels": {
84
+ "network.xyo.diviner.stage": "stateToIndexCandidateDiviner",
85
+ "network.xyo.image.thumbnail": "diviner"
86
+ },
87
+ "language": "javascript",
88
+ "name": "ImageThumbnailStateToIndexCandidateDiviner",
89
+ "payloadStore": {
90
+ "archivist": "ImageThumbnailArchivist",
91
+ "boundWitnessDiviner": "ImageThumbnailBoundWitnessDiviner",
92
+ "payloadDiviner": "ImageThumbnailPayloadDiviner"
93
+ },
94
+ "schema": "network.xyo.diviner.config"
95
+ }
96
+ },
97
+ {
98
+ "config": {
99
+ "labels": {
100
+ "network.xyo.diviner.stage": "indexCandidateToIndexDiviner",
101
+ "network.xyo.image.thumbnail": "diviner"
102
+ },
103
+ "language": "javascript",
104
+ "name": "ImageThumbnailIndexCandidateToImageThumbnailIndexDiviner",
105
+ "schema": "network.xyo.diviner.config"
106
+ }
107
+ },
108
+ {
109
+ "config": {
110
+ "labels": {
111
+ "network.xyo.diviner.stage": "divinerQueryToIndexQueryDiviner",
112
+ "network.xyo.image.thumbnail": "diviner"
113
+ },
114
+ "language": "javascript",
115
+ "name": "ImageThumbnailQueryToImageThumbnailIndexQueryDiviner",
116
+ "schema": "network.xyo.diviner.config"
117
+ }
118
+ },
119
+ {
120
+ "config": {
121
+ "labels": {
122
+ "network.xyo.diviner.stage": "indexQueryResponseToDivinerQueryResponseDiviner",
123
+ "network.xyo.image.thumbnail": "diviner"
124
+ },
125
+ "language": "javascript",
126
+ "name": "ImageThumbnailIndexQueryResponseToImageThumbnailQueryResponseDiviner",
127
+ "schema": "network.xyo.diviner.config"
128
+ }
129
+ },
130
+ {
131
+ "config": {
132
+ "indexStore": {
133
+ "archivist": "ImageThumbnailDivinerIndexArchivist",
134
+ "boundWitnessDiviner": "ImageThumbnailDivinerIndexBoundWitnessDiviner",
135
+ "payloadDiviner": "ImageThumbnailDivinerIndexPayloadDiviner"
136
+ },
137
+ "indexingDivinerStages": {
138
+ "divinerQueryToIndexQueryDiviner": "ImageThumbnailQueryToImageThumbnailIndexQueryDiviner",
139
+ "indexCandidateToIndexDiviner": "ImageThumbnailIndexCandidateToImageThumbnailIndexDiviner",
140
+ "indexQueryResponseToDivinerQueryResponseDiviner": "ImageThumbnailIndexQueryResponseToImageThumbnailQueryResponseDiviner",
141
+ "stateToIndexCandidateDiviner": "ImageThumbnailStateToIndexCandidateDiviner"
142
+ },
143
+ "language": "javascript",
144
+ "name": "ImageThumbnailDiviner",
145
+ "pollFrequency": 1000,
146
+ "schema": "network.xyo.diviner.indexing.config",
147
+ "stateStore": {
148
+ "archivist": "AddressStateArchivist",
149
+ "boundWitnessDiviner": "AddressStateBoundWitnessDiviner",
150
+ "payloadDiviner": "AddressStatePayloadDiviner"
151
+ }
152
+ }
153
+ }
154
+ ]
155
+ }
156
+ }
157
+ ],
158
+ "schema": "network.xyo.manifest"
159
+ }
package/typedoc.json ADDED
@@ -0,0 +1,5 @@
1
+ {
2
+ "$schema": "https://typedoc.org/schema.json",
3
+ "entryPoints": ["src/index.ts"],
4
+ "tsconfig": "./tsconfig.typedoc.json"
5
+ }