@xyo-network/diviner-temporal-indexing-memory 2.111.3 → 3.0.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 (189) hide show
  1. package/dist/browser/index.d.ts +159 -6
  2. package/dist/neutral/index.d.ts +159 -6
  3. package/dist/node/index.d.ts +159 -6
  4. package/dist/node/index.mjs +67 -72
  5. package/dist/node/index.mjs.map +1 -1
  6. package/package.json +37 -56
  7. package/dist/browser/Diviner.d.cts +0 -10
  8. package/dist/browser/Diviner.d.cts.map +0 -1
  9. package/dist/browser/Diviner.d.mts +0 -10
  10. package/dist/browser/Diviner.d.mts.map +0 -1
  11. package/dist/browser/Diviner.d.ts +0 -10
  12. package/dist/browser/Diviner.d.ts.map +0 -1
  13. package/dist/browser/DivinerQueryToIndexQueryDiviner/Diviner.d.cts +0 -20
  14. package/dist/browser/DivinerQueryToIndexQueryDiviner/Diviner.d.cts.map +0 -1
  15. package/dist/browser/DivinerQueryToIndexQueryDiviner/Diviner.d.mts +0 -20
  16. package/dist/browser/DivinerQueryToIndexQueryDiviner/Diviner.d.mts.map +0 -1
  17. package/dist/browser/DivinerQueryToIndexQueryDiviner/Diviner.d.ts +0 -20
  18. package/dist/browser/DivinerQueryToIndexQueryDiviner/Diviner.d.ts.map +0 -1
  19. package/dist/browser/DivinerQueryToIndexQueryDiviner/index.d.cts +0 -2
  20. package/dist/browser/DivinerQueryToIndexQueryDiviner/index.d.cts.map +0 -1
  21. package/dist/browser/DivinerQueryToIndexQueryDiviner/index.d.mts +0 -2
  22. package/dist/browser/DivinerQueryToIndexQueryDiviner/index.d.mts.map +0 -1
  23. package/dist/browser/DivinerQueryToIndexQueryDiviner/index.d.ts +0 -2
  24. package/dist/browser/DivinerQueryToIndexQueryDiviner/index.d.ts.map +0 -1
  25. package/dist/browser/IndexCandidateToIndexDiviner/Diviner.d.cts +0 -19
  26. package/dist/browser/IndexCandidateToIndexDiviner/Diviner.d.cts.map +0 -1
  27. package/dist/browser/IndexCandidateToIndexDiviner/Diviner.d.mts +0 -19
  28. package/dist/browser/IndexCandidateToIndexDiviner/Diviner.d.mts.map +0 -1
  29. package/dist/browser/IndexCandidateToIndexDiviner/Diviner.d.ts +0 -19
  30. package/dist/browser/IndexCandidateToIndexDiviner/Diviner.d.ts.map +0 -1
  31. package/dist/browser/IndexCandidateToIndexDiviner/index.d.cts +0 -2
  32. package/dist/browser/IndexCandidateToIndexDiviner/index.d.cts.map +0 -1
  33. package/dist/browser/IndexCandidateToIndexDiviner/index.d.mts +0 -2
  34. package/dist/browser/IndexCandidateToIndexDiviner/index.d.mts.map +0 -1
  35. package/dist/browser/IndexCandidateToIndexDiviner/index.d.ts +0 -2
  36. package/dist/browser/IndexCandidateToIndexDiviner/index.d.ts.map +0 -1
  37. package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.cts +0 -10
  38. package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.cts.map +0 -1
  39. package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.mts +0 -10
  40. package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.mts.map +0 -1
  41. package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.ts +0 -10
  42. package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.ts.map +0 -1
  43. package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner/index.d.cts +0 -2
  44. package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner/index.d.cts.map +0 -1
  45. package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner/index.d.mts +0 -2
  46. package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner/index.d.mts.map +0 -1
  47. package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner/index.d.ts +0 -2
  48. package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner/index.d.ts.map +0 -1
  49. package/dist/browser/StateToIndexCandidateDiviner/Diviner.d.cts +0 -89
  50. package/dist/browser/StateToIndexCandidateDiviner/Diviner.d.cts.map +0 -1
  51. package/dist/browser/StateToIndexCandidateDiviner/Diviner.d.mts +0 -89
  52. package/dist/browser/StateToIndexCandidateDiviner/Diviner.d.mts.map +0 -1
  53. package/dist/browser/StateToIndexCandidateDiviner/Diviner.d.ts +0 -89
  54. package/dist/browser/StateToIndexCandidateDiviner/Diviner.d.ts.map +0 -1
  55. package/dist/browser/StateToIndexCandidateDiviner/index.d.cts +0 -2
  56. package/dist/browser/StateToIndexCandidateDiviner/index.d.cts.map +0 -1
  57. package/dist/browser/StateToIndexCandidateDiviner/index.d.mts +0 -2
  58. package/dist/browser/StateToIndexCandidateDiviner/index.d.mts.map +0 -1
  59. package/dist/browser/StateToIndexCandidateDiviner/index.d.ts +0 -2
  60. package/dist/browser/StateToIndexCandidateDiviner/index.d.ts.map +0 -1
  61. package/dist/browser/index.cjs +0 -401
  62. package/dist/browser/index.cjs.map +0 -1
  63. package/dist/browser/index.d.cts +0 -6
  64. package/dist/browser/index.d.cts.map +0 -1
  65. package/dist/browser/index.d.mts +0 -6
  66. package/dist/browser/index.d.mts.map +0 -1
  67. package/dist/browser/index.d.ts.map +0 -1
  68. package/dist/neutral/Diviner.d.cts +0 -10
  69. package/dist/neutral/Diviner.d.cts.map +0 -1
  70. package/dist/neutral/Diviner.d.mts +0 -10
  71. package/dist/neutral/Diviner.d.mts.map +0 -1
  72. package/dist/neutral/Diviner.d.ts +0 -10
  73. package/dist/neutral/Diviner.d.ts.map +0 -1
  74. package/dist/neutral/DivinerQueryToIndexQueryDiviner/Diviner.d.cts +0 -20
  75. package/dist/neutral/DivinerQueryToIndexQueryDiviner/Diviner.d.cts.map +0 -1
  76. package/dist/neutral/DivinerQueryToIndexQueryDiviner/Diviner.d.mts +0 -20
  77. package/dist/neutral/DivinerQueryToIndexQueryDiviner/Diviner.d.mts.map +0 -1
  78. package/dist/neutral/DivinerQueryToIndexQueryDiviner/Diviner.d.ts +0 -20
  79. package/dist/neutral/DivinerQueryToIndexQueryDiviner/Diviner.d.ts.map +0 -1
  80. package/dist/neutral/DivinerQueryToIndexQueryDiviner/index.d.cts +0 -2
  81. package/dist/neutral/DivinerQueryToIndexQueryDiviner/index.d.cts.map +0 -1
  82. package/dist/neutral/DivinerQueryToIndexQueryDiviner/index.d.mts +0 -2
  83. package/dist/neutral/DivinerQueryToIndexQueryDiviner/index.d.mts.map +0 -1
  84. package/dist/neutral/DivinerQueryToIndexQueryDiviner/index.d.ts +0 -2
  85. package/dist/neutral/DivinerQueryToIndexQueryDiviner/index.d.ts.map +0 -1
  86. package/dist/neutral/IndexCandidateToIndexDiviner/Diviner.d.cts +0 -19
  87. package/dist/neutral/IndexCandidateToIndexDiviner/Diviner.d.cts.map +0 -1
  88. package/dist/neutral/IndexCandidateToIndexDiviner/Diviner.d.mts +0 -19
  89. package/dist/neutral/IndexCandidateToIndexDiviner/Diviner.d.mts.map +0 -1
  90. package/dist/neutral/IndexCandidateToIndexDiviner/Diviner.d.ts +0 -19
  91. package/dist/neutral/IndexCandidateToIndexDiviner/Diviner.d.ts.map +0 -1
  92. package/dist/neutral/IndexCandidateToIndexDiviner/index.d.cts +0 -2
  93. package/dist/neutral/IndexCandidateToIndexDiviner/index.d.cts.map +0 -1
  94. package/dist/neutral/IndexCandidateToIndexDiviner/index.d.mts +0 -2
  95. package/dist/neutral/IndexCandidateToIndexDiviner/index.d.mts.map +0 -1
  96. package/dist/neutral/IndexCandidateToIndexDiviner/index.d.ts +0 -2
  97. package/dist/neutral/IndexCandidateToIndexDiviner/index.d.ts.map +0 -1
  98. package/dist/neutral/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.cts +0 -10
  99. package/dist/neutral/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.cts.map +0 -1
  100. package/dist/neutral/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.mts +0 -10
  101. package/dist/neutral/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.mts.map +0 -1
  102. package/dist/neutral/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.ts +0 -10
  103. package/dist/neutral/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.ts.map +0 -1
  104. package/dist/neutral/IndexQueryResponseToDivinerQueryResponseDiviner/index.d.cts +0 -2
  105. package/dist/neutral/IndexQueryResponseToDivinerQueryResponseDiviner/index.d.cts.map +0 -1
  106. package/dist/neutral/IndexQueryResponseToDivinerQueryResponseDiviner/index.d.mts +0 -2
  107. package/dist/neutral/IndexQueryResponseToDivinerQueryResponseDiviner/index.d.mts.map +0 -1
  108. package/dist/neutral/IndexQueryResponseToDivinerQueryResponseDiviner/index.d.ts +0 -2
  109. package/dist/neutral/IndexQueryResponseToDivinerQueryResponseDiviner/index.d.ts.map +0 -1
  110. package/dist/neutral/StateToIndexCandidateDiviner/Diviner.d.cts +0 -89
  111. package/dist/neutral/StateToIndexCandidateDiviner/Diviner.d.cts.map +0 -1
  112. package/dist/neutral/StateToIndexCandidateDiviner/Diviner.d.mts +0 -89
  113. package/dist/neutral/StateToIndexCandidateDiviner/Diviner.d.mts.map +0 -1
  114. package/dist/neutral/StateToIndexCandidateDiviner/Diviner.d.ts +0 -89
  115. package/dist/neutral/StateToIndexCandidateDiviner/Diviner.d.ts.map +0 -1
  116. package/dist/neutral/StateToIndexCandidateDiviner/index.d.cts +0 -2
  117. package/dist/neutral/StateToIndexCandidateDiviner/index.d.cts.map +0 -1
  118. package/dist/neutral/StateToIndexCandidateDiviner/index.d.mts +0 -2
  119. package/dist/neutral/StateToIndexCandidateDiviner/index.d.mts.map +0 -1
  120. package/dist/neutral/StateToIndexCandidateDiviner/index.d.ts +0 -2
  121. package/dist/neutral/StateToIndexCandidateDiviner/index.d.ts.map +0 -1
  122. package/dist/neutral/index.cjs +0 -401
  123. package/dist/neutral/index.cjs.map +0 -1
  124. package/dist/neutral/index.d.cts +0 -6
  125. package/dist/neutral/index.d.cts.map +0 -1
  126. package/dist/neutral/index.d.mts +0 -6
  127. package/dist/neutral/index.d.mts.map +0 -1
  128. package/dist/neutral/index.d.ts.map +0 -1
  129. package/dist/node/Diviner.d.cts +0 -10
  130. package/dist/node/Diviner.d.cts.map +0 -1
  131. package/dist/node/Diviner.d.mts +0 -10
  132. package/dist/node/Diviner.d.mts.map +0 -1
  133. package/dist/node/Diviner.d.ts +0 -10
  134. package/dist/node/Diviner.d.ts.map +0 -1
  135. package/dist/node/DivinerQueryToIndexQueryDiviner/Diviner.d.cts +0 -20
  136. package/dist/node/DivinerQueryToIndexQueryDiviner/Diviner.d.cts.map +0 -1
  137. package/dist/node/DivinerQueryToIndexQueryDiviner/Diviner.d.mts +0 -20
  138. package/dist/node/DivinerQueryToIndexQueryDiviner/Diviner.d.mts.map +0 -1
  139. package/dist/node/DivinerQueryToIndexQueryDiviner/Diviner.d.ts +0 -20
  140. package/dist/node/DivinerQueryToIndexQueryDiviner/Diviner.d.ts.map +0 -1
  141. package/dist/node/DivinerQueryToIndexQueryDiviner/index.d.cts +0 -2
  142. package/dist/node/DivinerQueryToIndexQueryDiviner/index.d.cts.map +0 -1
  143. package/dist/node/DivinerQueryToIndexQueryDiviner/index.d.mts +0 -2
  144. package/dist/node/DivinerQueryToIndexQueryDiviner/index.d.mts.map +0 -1
  145. package/dist/node/DivinerQueryToIndexQueryDiviner/index.d.ts +0 -2
  146. package/dist/node/DivinerQueryToIndexQueryDiviner/index.d.ts.map +0 -1
  147. package/dist/node/IndexCandidateToIndexDiviner/Diviner.d.cts +0 -19
  148. package/dist/node/IndexCandidateToIndexDiviner/Diviner.d.cts.map +0 -1
  149. package/dist/node/IndexCandidateToIndexDiviner/Diviner.d.mts +0 -19
  150. package/dist/node/IndexCandidateToIndexDiviner/Diviner.d.mts.map +0 -1
  151. package/dist/node/IndexCandidateToIndexDiviner/Diviner.d.ts +0 -19
  152. package/dist/node/IndexCandidateToIndexDiviner/Diviner.d.ts.map +0 -1
  153. package/dist/node/IndexCandidateToIndexDiviner/index.d.cts +0 -2
  154. package/dist/node/IndexCandidateToIndexDiviner/index.d.cts.map +0 -1
  155. package/dist/node/IndexCandidateToIndexDiviner/index.d.mts +0 -2
  156. package/dist/node/IndexCandidateToIndexDiviner/index.d.mts.map +0 -1
  157. package/dist/node/IndexCandidateToIndexDiviner/index.d.ts +0 -2
  158. package/dist/node/IndexCandidateToIndexDiviner/index.d.ts.map +0 -1
  159. package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.cts +0 -10
  160. package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.cts.map +0 -1
  161. package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.mts +0 -10
  162. package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.mts.map +0 -1
  163. package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.ts +0 -10
  164. package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.ts.map +0 -1
  165. package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner/index.d.cts +0 -2
  166. package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner/index.d.cts.map +0 -1
  167. package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner/index.d.mts +0 -2
  168. package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner/index.d.mts.map +0 -1
  169. package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner/index.d.ts +0 -2
  170. package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner/index.d.ts.map +0 -1
  171. package/dist/node/StateToIndexCandidateDiviner/Diviner.d.cts +0 -89
  172. package/dist/node/StateToIndexCandidateDiviner/Diviner.d.cts.map +0 -1
  173. package/dist/node/StateToIndexCandidateDiviner/Diviner.d.mts +0 -89
  174. package/dist/node/StateToIndexCandidateDiviner/Diviner.d.mts.map +0 -1
  175. package/dist/node/StateToIndexCandidateDiviner/Diviner.d.ts +0 -89
  176. package/dist/node/StateToIndexCandidateDiviner/Diviner.d.ts.map +0 -1
  177. package/dist/node/StateToIndexCandidateDiviner/index.d.cts +0 -2
  178. package/dist/node/StateToIndexCandidateDiviner/index.d.cts.map +0 -1
  179. package/dist/node/StateToIndexCandidateDiviner/index.d.mts +0 -2
  180. package/dist/node/StateToIndexCandidateDiviner/index.d.mts.map +0 -1
  181. package/dist/node/StateToIndexCandidateDiviner/index.d.ts +0 -2
  182. package/dist/node/StateToIndexCandidateDiviner/index.d.ts.map +0 -1
  183. package/dist/node/index.cjs +0 -414
  184. package/dist/node/index.cjs.map +0 -1
  185. package/dist/node/index.d.cts +0 -6
  186. package/dist/node/index.d.cts.map +0 -1
  187. package/dist/node/index.d.mts +0 -6
  188. package/dist/node/index.d.mts.map +0 -1
  189. package/dist/node/index.d.ts.map +0 -1
@@ -1,27 +1,23 @@
1
1
  var __defProp = Object.defineProperty;
2
- var __getProtoOf = Object.getPrototypeOf;
3
- var __reflectGet = Reflect.get;
4
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
5
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
7
- var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
8
3
 
9
4
  // src/Diviner.ts
10
5
  import { IndexingDiviner } from "@xyo-network/diviner-indexing-memory";
11
6
  import { TemporalIndexingDivinerConfigSchema } from "@xyo-network/diviner-temporal-indexing-model";
12
- var _TemporalIndexingDiviner = class _TemporalIndexingDiviner extends IndexingDiviner {
7
+ var TemporalIndexingDiviner = class extends IndexingDiviner {
8
+ static {
9
+ __name(this, "TemporalIndexingDiviner");
10
+ }
11
+ static configSchemas = [
12
+ ...super.configSchemas,
13
+ TemporalIndexingDivinerConfigSchema
14
+ ];
15
+ static defaultConfigSchema = TemporalIndexingDivinerConfigSchema;
13
16
  async startHandler() {
14
17
  await super.startHandler();
15
18
  return true;
16
19
  }
17
20
  };
18
- __name(_TemporalIndexingDiviner, "TemporalIndexingDiviner");
19
- __publicField(_TemporalIndexingDiviner, "configSchemas", [
20
- ...__superGet(_TemporalIndexingDiviner, _TemporalIndexingDiviner, "configSchemas"),
21
- TemporalIndexingDivinerConfigSchema
22
- ]);
23
- __publicField(_TemporalIndexingDiviner, "defaultConfigSchema", TemporalIndexingDivinerConfigSchema);
24
- var TemporalIndexingDiviner = _TemporalIndexingDiviner;
25
21
 
26
22
  // src/DivinerQueryToIndexQueryDiviner/Diviner.ts
27
23
  import { AbstractDiviner } from "@xyo-network/diviner-abstract";
@@ -30,7 +26,19 @@ import { PayloadDivinerQuerySchema } from "@xyo-network/diviner-payload-model";
30
26
  import { TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerConfigSchema, TemporalIndexingDivinerResultIndexSchema } from "@xyo-network/diviner-temporal-indexing-model";
31
27
  import { PayloadBuilder } from "@xyo-network/payload-builder";
32
28
  import { isPayloadOfSchemaType } from "@xyo-network/payload-model";
33
- var _TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner = class _TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner extends AbstractDiviner {
29
+ var TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner = class extends AbstractDiviner {
30
+ static {
31
+ __name(this, "TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner");
32
+ }
33
+ static configSchemas = [
34
+ ...super.configSchemas,
35
+ TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerConfigSchema
36
+ ];
37
+ static defaultConfigSchema = TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerConfigSchema;
38
+ static labels = {
39
+ ...super.labels,
40
+ "network.xyo.diviner.stage": "divinerQueryToIndexQueryDiviner"
41
+ };
34
42
  _indexableSchemas;
35
43
  _payloadTransformers;
36
44
  /**
@@ -71,8 +79,7 @@ var _TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner = class _TemporalInd
71
79
  * from the payloads within a Bound Witness
72
80
  */
73
81
  get schemaTransforms() {
74
- var _a;
75
- return ((_a = this.config) == null ? void 0 : _a.schemaTransforms) ?? {
82
+ return this.config?.schemaTransforms ?? {
76
83
  [this.divinerQuerySchema]: [
77
84
  {
78
85
  defaultValue: 1,
@@ -111,17 +118,6 @@ var _TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner = class _TemporalInd
111
118
  return [];
112
119
  }
113
120
  };
114
- __name(_TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner, "TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner");
115
- __publicField(_TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner, "configSchemas", [
116
- ...__superGet(_TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner, _TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner, "configSchemas"),
117
- TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerConfigSchema
118
- ]);
119
- __publicField(_TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner, "defaultConfigSchema", TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerConfigSchema);
120
- __publicField(_TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner, "labels", {
121
- ...__superGet(_TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner, _TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner, "labels"),
122
- "network.xyo.diviner.stage": "divinerQueryToIndexQueryDiviner"
123
- });
124
- var TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner = _TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner;
125
121
 
126
122
  // src/IndexCandidateToIndexDiviner/Diviner.ts
127
123
  import { containsAll } from "@xylabs/array";
@@ -135,7 +131,19 @@ import { PayloadBuilder as PayloadBuilder2 } from "@xyo-network/payload-builder"
135
131
  import { isAnyPayload } from "@xyo-network/payload-model";
136
132
  import { intraBoundwitnessSchemaCombinations } from "@xyo-network/payload-utils";
137
133
  var moduleName = "TemporalIndexingDivinerIndexCandidateToIndexDiviner";
138
- var _TemporalIndexingDivinerIndexCandidateToIndexDiviner = class _TemporalIndexingDivinerIndexCandidateToIndexDiviner extends AbstractDiviner2 {
134
+ var TemporalIndexingDivinerIndexCandidateToIndexDiviner = class extends AbstractDiviner2 {
135
+ static {
136
+ __name(this, "TemporalIndexingDivinerIndexCandidateToIndexDiviner");
137
+ }
138
+ static configSchemas = [
139
+ ...super.configSchemas,
140
+ TemporalIndexingDivinerIndexCandidateToIndexDivinerConfigSchema
141
+ ];
142
+ static defaultConfigSchema = TemporalIndexingDivinerIndexCandidateToIndexDivinerConfigSchema;
143
+ static labels = {
144
+ ...super.labels,
145
+ "network.xyo.diviner.stage": "indexCandidateToIndexDiviner"
146
+ };
139
147
  _indexableSchemas;
140
148
  _payloadTransformers;
141
149
  /**
@@ -158,8 +166,7 @@ var _TemporalIndexingDivinerIndexCandidateToIndexDiviner = class _TemporalIndexi
158
166
  * from the payloads within a Bound Witness
159
167
  */
160
168
  get schemaTransforms() {
161
- var _a;
162
- return assertEx((_a = this.config) == null ? void 0 : _a.schemaTransforms, () => `${moduleName}: Missing config.schemaTransforms section`);
169
+ return assertEx(this.config?.schemaTransforms, () => `${moduleName}: Missing config.schemaTransforms section`);
163
170
  }
164
171
  async divineHandler(payloads = []) {
165
172
  const builtPayloads = await Promise.all(payloads.map((payload) => PayloadBuilder2.build(payload)));
@@ -207,7 +214,7 @@ var _TemporalIndexingDivinerIndexCandidateToIndexDiviner = class _TemporalIndexi
207
214
  * @returns True if the payload is one indexed by this diviner, false otherwise
208
215
  */
209
216
  isIndexablePayload = /* @__PURE__ */ __name((x) => {
210
- return isAnyPayload(x) && this.indexableSchemas.includes(x == null ? void 0 : x.schema);
217
+ return isAnyPayload(x) && this.indexableSchemas.includes(x?.schema);
211
218
  }, "isIndexablePayload");
212
219
  /**
213
220
  * Identifies if a schema is one that is indexed by this diviner
@@ -218,39 +225,29 @@ var _TemporalIndexingDivinerIndexCandidateToIndexDiviner = class _TemporalIndexi
218
225
  return typeof schema === "string" ? this.indexableSchemas.includes(schema) : false;
219
226
  }, "isIndexableSchema");
220
227
  };
221
- __name(_TemporalIndexingDivinerIndexCandidateToIndexDiviner, "TemporalIndexingDivinerIndexCandidateToIndexDiviner");
222
- __publicField(_TemporalIndexingDivinerIndexCandidateToIndexDiviner, "configSchemas", [
223
- ...__superGet(_TemporalIndexingDivinerIndexCandidateToIndexDiviner, _TemporalIndexingDivinerIndexCandidateToIndexDiviner, "configSchemas"),
224
- TemporalIndexingDivinerIndexCandidateToIndexDivinerConfigSchema
225
- ]);
226
- __publicField(_TemporalIndexingDivinerIndexCandidateToIndexDiviner, "defaultConfigSchema", TemporalIndexingDivinerIndexCandidateToIndexDivinerConfigSchema);
227
- __publicField(_TemporalIndexingDivinerIndexCandidateToIndexDiviner, "labels", {
228
- ...__superGet(_TemporalIndexingDivinerIndexCandidateToIndexDiviner, _TemporalIndexingDivinerIndexCandidateToIndexDiviner, "labels"),
229
- "network.xyo.diviner.stage": "indexCandidateToIndexDiviner"
230
- });
231
- var TemporalIndexingDivinerIndexCandidateToIndexDiviner = _TemporalIndexingDivinerIndexCandidateToIndexDiviner;
232
228
 
233
229
  // src/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.ts
234
230
  import { AbstractDiviner as AbstractDiviner3 } from "@xyo-network/diviner-abstract";
235
231
  import { isPayloadDivinerQueryPayload } from "@xyo-network/diviner-payload-model";
236
232
  import { TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDivinerConfigSchema } from "@xyo-network/diviner-temporal-indexing-model";
237
- var _TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner = class _TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner extends AbstractDiviner3 {
233
+ var TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner = class extends AbstractDiviner3 {
234
+ static {
235
+ __name(this, "TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner");
236
+ }
237
+ static configSchemas = [
238
+ ...super.configSchemas,
239
+ TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDivinerConfigSchema
240
+ ];
241
+ static defaultConfigSchema = TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDivinerConfigSchema;
242
+ static labels = {
243
+ ...super.labels,
244
+ "network.xyo.diviner.stage": "indexQueryResponseToDivinerQueryResponseDiviner"
245
+ };
238
246
  async divineHandler(payloads = []) {
239
247
  const responses = payloads.filter((p) => !isPayloadDivinerQueryPayload(p));
240
248
  return await Promise.resolve(responses);
241
249
  }
242
250
  };
243
- __name(_TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner, "TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner");
244
- __publicField(_TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner, "configSchemas", [
245
- ...__superGet(_TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner, _TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner, "configSchemas"),
246
- TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDivinerConfigSchema
247
- ]);
248
- __publicField(_TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner, "defaultConfigSchema", TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDivinerConfigSchema);
249
- __publicField(_TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner, "labels", {
250
- ...__superGet(_TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner, _TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner, "labels"),
251
- "network.xyo.diviner.stage": "indexQueryResponseToDivinerQueryResponseDiviner"
252
- });
253
- var TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner = _TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner;
254
251
 
255
252
  // src/StateToIndexCandidateDiviner/Diviner.ts
256
253
  import { assertEx as assertEx2 } from "@xylabs/assert";
@@ -267,7 +264,19 @@ import { intraBoundwitnessSchemaCombinations as intraBoundwitnessSchemaCombinati
267
264
  import { TimestampSchema } from "@xyo-network/witness-timestamp";
268
265
  var order = "asc";
269
266
  var moduleName2 = "TemporalIndexingDivinerStateToIndexCandidateDiviner";
270
- var _TemporalIndexingDivinerStateToIndexCandidateDiviner = class _TemporalIndexingDivinerStateToIndexCandidateDiviner extends AbstractDiviner4 {
267
+ var TemporalIndexingDivinerStateToIndexCandidateDiviner = class extends AbstractDiviner4 {
268
+ static {
269
+ __name(this, "TemporalIndexingDivinerStateToIndexCandidateDiviner");
270
+ }
271
+ static configSchemas = [
272
+ ...super.configSchemas,
273
+ TemporalIndexingDivinerStateToIndexCandidateDivinerConfigSchema
274
+ ];
275
+ static defaultConfigSchema = TemporalIndexingDivinerStateToIndexCandidateDivinerConfigSchema;
276
+ static labels = {
277
+ ...super.labels,
278
+ "network.xyo.diviner.stage": "stateToIndexCandidateDiviner"
279
+ };
271
280
  get payloadDivinerLimit() {
272
281
  return this.config.payloadDivinerLimit ?? 1e3;
273
282
  }
@@ -275,8 +284,7 @@ var _TemporalIndexingDivinerStateToIndexCandidateDiviner = class _TemporalIndexi
275
284
  * The required payload_schemas within BoundWitnesses to identify index candidates
276
285
  */
277
286
  get payload_schemas() {
278
- var _a;
279
- const schemas = (_a = this.config.filter) == null ? void 0 : _a.payload_schemas;
287
+ const schemas = this.config.filter?.payload_schemas;
280
288
  return [
281
289
  TimestampSchema,
282
290
  ...schemas ?? []
@@ -334,8 +342,7 @@ var _TemporalIndexingDivinerStateToIndexCandidateDiviner = class _TemporalIndexi
334
342
  * @returns The archivist for the payloadStore or undefined if not resolvable
335
343
  */
336
344
  async getArchivistForStore() {
337
- var _a, _b;
338
- const name = assertEx2((_b = (_a = this.config) == null ? void 0 : _a.payloadStore) == null ? void 0 : _b.archivist, () => `${moduleName2}: Config for payloadStore.archivist not specified`);
345
+ const name = assertEx2(this.config?.payloadStore?.archivist, () => `${moduleName2}: Config for payloadStore.archivist not specified`);
339
346
  const mod = await this.resolve(name);
340
347
  if (!mod) return void 0;
341
348
  return ArchivistWrapper.wrap(mod, this.account);
@@ -345,8 +352,7 @@ var _TemporalIndexingDivinerStateToIndexCandidateDiviner = class _TemporalIndexi
345
352
  * @returns The BoundWitness Diviner for the payloadStore or undefined if not resolvable
346
353
  */
347
354
  async getBoundWitnessDivinerForStore() {
348
- var _a, _b;
349
- const name = assertEx2((_b = (_a = this.config) == null ? void 0 : _a.payloadStore) == null ? void 0 : _b.boundWitnessDiviner, () => `${moduleName2}: Config for payloadStore.boundWitnessDiviner not specified`);
355
+ const name = assertEx2(this.config?.payloadStore?.boundWitnessDiviner, () => `${moduleName2}: Config for payloadStore.boundWitnessDiviner not specified`);
350
356
  const mod = await this.resolve(name);
351
357
  if (!mod) return;
352
358
  return DivinerWrapper.wrap(mod, this.account);
@@ -364,17 +370,6 @@ var _TemporalIndexingDivinerStateToIndexCandidateDiviner = class _TemporalIndexi
364
370
  ];
365
371
  }
366
372
  };
367
- __name(_TemporalIndexingDivinerStateToIndexCandidateDiviner, "TemporalIndexingDivinerStateToIndexCandidateDiviner");
368
- __publicField(_TemporalIndexingDivinerStateToIndexCandidateDiviner, "configSchemas", [
369
- ...__superGet(_TemporalIndexingDivinerStateToIndexCandidateDiviner, _TemporalIndexingDivinerStateToIndexCandidateDiviner, "configSchemas"),
370
- TemporalIndexingDivinerStateToIndexCandidateDivinerConfigSchema
371
- ]);
372
- __publicField(_TemporalIndexingDivinerStateToIndexCandidateDiviner, "defaultConfigSchema", TemporalIndexingDivinerStateToIndexCandidateDivinerConfigSchema);
373
- __publicField(_TemporalIndexingDivinerStateToIndexCandidateDiviner, "labels", {
374
- ...__superGet(_TemporalIndexingDivinerStateToIndexCandidateDiviner, _TemporalIndexingDivinerStateToIndexCandidateDiviner, "labels"),
375
- "network.xyo.diviner.stage": "stateToIndexCandidateDiviner"
376
- });
377
- var TemporalIndexingDivinerStateToIndexCandidateDiviner = _TemporalIndexingDivinerStateToIndexCandidateDiviner;
378
373
  export {
379
374
  TemporalIndexingDiviner,
380
375
  TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Diviner.ts","../../src/DivinerQueryToIndexQueryDiviner/Diviner.ts","../../src/IndexCandidateToIndexDiviner/Diviner.ts","../../src/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.ts","../../src/StateToIndexCandidateDiviner/Diviner.ts"],"sourcesContent":["import { IndexingDiviner } from '@xyo-network/diviner-indexing-memory'\nimport { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport { TemporalIndexingDivinerConfigSchema, TemporalIndexingDivinerParams } from '@xyo-network/diviner-temporal-indexing-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\n\nexport class TemporalIndexingDiviner<\n TParams extends TemporalIndexingDivinerParams = TemporalIndexingDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends IndexingDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, TemporalIndexingDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TemporalIndexingDivinerConfigSchema\n\n protected override async startHandler(): Promise<boolean> {\n await super.startHandler()\n return true\n }\n}\n","import { Hash } from '@xylabs/hex'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { jsonPathToTransformersDictionary, reducePayloads } from '@xyo-network/diviner-jsonpath-aggregate-memory'\nimport { SchemaToJsonPathTransformExpressionsDictionary, SchemaToPayloadTransformersDictionary } from '@xyo-network/diviner-jsonpath-model'\nimport { PayloadDivinerQueryPayload, PayloadDivinerQuerySchema } from '@xyo-network/diviner-payload-model'\nimport {\n TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerConfigSchema,\n TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerParams,\n TemporalIndexingDivinerResultIndexSchema,\n} from '@xyo-network/diviner-temporal-indexing-model'\nimport { Labels } from '@xyo-network/module-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n// TODO: Inherit from JsonPathAggregateDiviner\n/**\n * A diviner that converts diviner query to index query\n */\nexport class TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner<\n TParams extends TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerParams = TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerParams,\n> extends AbstractDiviner<TParams> {\n static override readonly configSchemas = [...super.configSchemas, TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerConfigSchema]\n static override readonly defaultConfigSchema = TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerConfigSchema\n static override labels: Labels = {\n ...super.labels,\n 'network.xyo.diviner.stage': 'divinerQueryToIndexQueryDiviner',\n }\n\n private _indexableSchemas: string[] | undefined\n private _payloadTransformers: SchemaToPayloadTransformersDictionary | undefined\n\n /**\n * The schema of the diviner query payloads\n */\n protected get divinerQuerySchema(): string {\n return this.config.divinerQuerySchema ?? PayloadDivinerQuerySchema\n }\n\n /**\n * The schema of the index query payloads\n */\n protected get indexQuerySchema(): string {\n return this.config.indexQuerySchema ?? PayloadDivinerQuerySchema\n }\n\n /**\n * The schema of the index payloads\n */\n protected get indexSchema(): string {\n return this.config.indexSchema ?? TemporalIndexingDivinerResultIndexSchema\n }\n\n /**\n * List of indexable schemas for this diviner\n */\n protected get indexableSchemas(): string[] {\n if (!this._indexableSchemas) this._indexableSchemas = Object.keys(this.schemaTransforms)\n return this._indexableSchemas\n }\n\n /**\n * Dictionary of schemas to payload transformers for creating indexes\n * from the payloads within a Bound Witness\n */\n protected get payloadTransformers(): SchemaToPayloadTransformersDictionary {\n if (!this._payloadTransformers) this._payloadTransformers = jsonPathToTransformersDictionary(this.schemaTransforms)\n return this._payloadTransformers\n }\n\n /**\n * The dictionary of schemas to JSON Path transform expressions for creating indexes\n * from the payloads within a Bound Witness\n */\n protected get schemaTransforms(): SchemaToJsonPathTransformExpressionsDictionary {\n return (\n this.config?.schemaTransforms ?? {\n [this.divinerQuerySchema]: [\n {\n defaultValue: 1,\n destinationField: 'limit',\n sourcePathExpression: '$.limit',\n },\n {\n defaultValue: 0,\n destinationField: 'offset',\n sourcePathExpression: '$.offset',\n },\n {\n defaultValue: 'desc',\n destinationField: 'order',\n sourcePathExpression: '$.order',\n },\n ],\n }\n )\n }\n\n protected override async divineHandler(payloads: Payload[] = []): Promise<Payload[]> {\n const queries = payloads.filter(isPayloadOfSchemaType<PayloadDivinerQueryPayload>(this.divinerQuerySchema))\n if (queries.length > 0) {\n return await Promise.all(\n queries.map(async (query) => {\n const fields = await reducePayloads<PayloadDivinerQueryPayload & { sources?: Hash[] }>(\n [query],\n this.payloadTransformers,\n this.indexQuerySchema,\n )\n // TODO: Make index schema configurable\n fields.schemas = [this.indexSchema]\n // TODO: Make sources not need to be deleted\n delete fields.sources\n // TODO: Add support for additional filters\n return await new PayloadBuilder<Payload>({ schema: this.indexQuerySchema }).fields(fields).build()\n }),\n )\n }\n return []\n }\n}\n","import { containsAll } from '@xylabs/array'\nimport { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { Hash } from '@xylabs/hex'\nimport { BoundWitness, isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { jsonPathToTransformersDictionary } from '@xyo-network/diviner-jsonpath-aggregate-memory'\nimport { SchemaToJsonPathTransformExpressionsDictionary, SchemaToPayloadTransformersDictionary } from '@xyo-network/diviner-jsonpath-model'\nimport {\n TemporalIndexingDivinerIndexCandidateToIndexDivinerConfigSchema,\n TemporalIndexingDivinerIndexCandidateToIndexDivinerParams,\n TemporalIndexingDivinerResultIndex,\n TemporalIndexingDivinerResultIndexSchema,\n} from '@xyo-network/diviner-temporal-indexing-model'\nimport { Labels } from '@xyo-network/module-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { isAnyPayload, Payload, Schema } from '@xyo-network/payload-model'\nimport { intraBoundwitnessSchemaCombinations } from '@xyo-network/payload-utils'\n\ntype IndexableHashes = [Hash, ...Hash[]]\n\nconst moduleName = 'TemporalIndexingDivinerIndexCandidateToIndexDiviner'\n\n/**\n * Diviner which transforms index candidates to indexes using JSON Path to map\n * source properties in the supplied payloads to destination fields in the\n * resultant index\n */\nexport class TemporalIndexingDivinerIndexCandidateToIndexDiviner<\n TParams extends TemporalIndexingDivinerIndexCandidateToIndexDivinerParams = TemporalIndexingDivinerIndexCandidateToIndexDivinerParams,\n> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, TemporalIndexingDivinerIndexCandidateToIndexDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TemporalIndexingDivinerIndexCandidateToIndexDivinerConfigSchema\n static override labels: Labels = {\n ...super.labels,\n 'network.xyo.diviner.stage': 'indexCandidateToIndexDiviner',\n }\n\n private _indexableSchemas: string[] | undefined\n private _payloadTransformers: SchemaToPayloadTransformersDictionary | undefined\n\n /**\n * List of indexable schemas for this diviner\n */\n protected get indexableSchemas(): string[] {\n if (!this._indexableSchemas) this._indexableSchemas = Object.keys(this.schemaTransforms)\n return this._indexableSchemas\n }\n\n /**\n * Dictionary of schemas to payload transformers for creating indexes\n * from the payloads within a Bound Witness\n */\n protected get payloadTransformers(): SchemaToPayloadTransformersDictionary {\n if (!this._payloadTransformers) this._payloadTransformers = jsonPathToTransformersDictionary(this.schemaTransforms)\n return this._payloadTransformers\n }\n\n /**\n * The dictionary of schemas to JSON Path transform expressions for creating indexes\n * from the payloads within a Bound Witness\n */\n protected get schemaTransforms(): SchemaToJsonPathTransformExpressionsDictionary {\n return assertEx(this.config?.schemaTransforms, () => `${moduleName}: Missing config.schemaTransforms section`)\n }\n\n protected override async divineHandler(payloads: Payload[] = []): Promise<Payload[]> {\n const builtPayloads = await Promise.all(payloads.map(payload => PayloadBuilder.build(payload)))\n // If the Bound Witness does not contain all the required schemas do not index it\n const indexableBoundWitnesses = builtPayloads\n .filter(isBoundWitnessWithMeta)\n .filter(bw => containsAll(bw.payload_schemas, this.indexableSchemas))\n // If the Payload is not one of the indexable schemas do not index it\n const indexablePayloads = builtPayloads.filter(p => this.isIndexablePayload(p))\n // If there is nothing to index, return an empty array\n if (indexableBoundWitnesses.length === 0 || indexablePayloads.length === 0) return []\n // Hash all the indexable data once\n const [bwDictionary, payloadDictionary] = await Promise.all([\n PayloadBuilder.toDataHashMap(indexableBoundWitnesses),\n PayloadBuilder.toDataHashMap(indexablePayloads),\n ])\n\n // Initialize the array for validIndexableTuples outside of the loop\n const validIndexableTuples: IndexableHashes[] = []\n\n // Iterate over each entry in bwDictionary\n for (const [bwHash, bw] of Object.entries(bwDictionary) as [Hash, BoundWitness][]) {\n // Find the combinations of payloads that satisfy the required schemas\n const combinations = intraBoundwitnessSchemaCombinations(bw, this.indexableSchemas)\n\n // Iterate over each combination\n for (const combination of combinations) {\n const indexablePayloads = combination.map(hash => payloadDictionary[hash]).filter(exists)\n\n // If we found the right amount of indexable payloads (of the correct schema as checked\n // above) in this BW, then index it\n if (indexablePayloads.length === this.indexableSchemas.length) {\n validIndexableTuples.push([bwHash, ...combination])\n }\n }\n }\n\n // Create the indexes from the tuples\n const indexes = await Promise.all(\n validIndexableTuples.map<Promise<TemporalIndexingDivinerResultIndex>>(async ([bwHash, ...sourcePayloadHashes]) => {\n const sourcePayloads = sourcePayloadHashes.map(hash => payloadDictionary[hash])\n // Use the payload transformers to convert the fields from the source payloads to the destination fields\n const indexFields = sourcePayloads.flatMap((payload) => {\n // Find the transformers for this payload\n const transformers = this.payloadTransformers[payload.schema]\n // If transformers exist, apply them to the payload otherwise return an empty array\n return transformers ? transformers.map(transform => transform(payload)) : []\n })\n // Include all the sources for reference\n const sources: string[] = [bwHash, ...sourcePayloadHashes]\n // Build and return the index\n return await new PayloadBuilder<TemporalIndexingDivinerResultIndex>({ schema: TemporalIndexingDivinerResultIndexSchema })\n .fields(Object.assign({ sources }, ...indexFields))\n .build()\n }),\n )\n return indexes.flat()\n }\n\n /**\n * Identifies if a payload is one that is indexed by this diviner\n * @param x The candidate payload\n * @returns True if the payload is one indexed by this diviner, false otherwise\n */\n protected isIndexablePayload = (x: unknown) => {\n return isAnyPayload(x) && this.indexableSchemas.includes(x?.schema)\n }\n\n /**\n * Identifies if a schema is one that is indexed by this diviner\n * @param schema The candidate schema\n * @returns True if this schema is one indexed by this diviner, false otherwise\n */\n protected isIndexableSchema = (schema?: string | null) => {\n return typeof schema === 'string' ? this.indexableSchemas.includes(schema) : false\n }\n}\n","import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { isPayloadDivinerQueryPayload } from '@xyo-network/diviner-payload-model'\nimport { TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDivinerConfigSchema } from '@xyo-network/diviner-temporal-indexing-model'\nimport { Labels } from '@xyo-network/module-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\n\n/**\n * Transforms an ImageThumbnailIndex response into an ImageThumbnailResponse response\n */\nexport class TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner extends AbstractDiviner {\n static override readonly configSchemas: Schema[] = [\n ...super.configSchemas,\n TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDivinerConfigSchema,\n ]\n\n static override readonly defaultConfigSchema: Schema = TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDivinerConfigSchema\n static override labels: Labels = {\n ...super.labels,\n 'network.xyo.diviner.stage': 'indexQueryResponseToDivinerQueryResponseDiviner',\n }\n\n protected override async divineHandler(payloads: Payload[] = []): Promise<Payload[]> {\n // NOTE: We're not doing anything with the query payloads but some diviners\n // might want to use this to transform from the query to the response (for example\n // if we use a plaintext value in the query to generate a hash key in the index)\n // const queries = payloads.filter(isPayloadDivinerQueryPayload)\n const responses = payloads.filter(p => !isPayloadDivinerQueryPayload(p))\n return await Promise.resolve(responses)\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ArchivistWrapper } from '@xyo-network/archivist-wrapper'\nimport { BoundWitness, isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract'\nimport { BoundWitnessDivinerParams, BoundWitnessDivinerQueryPayload, BoundWitnessDivinerQuerySchema } from '@xyo-network/diviner-boundwitness-model'\nimport { IndexingDivinerState } from '@xyo-network/diviner-indexing-model'\nimport {\n TemporalIndexingDivinerStateToIndexCandidateDivinerConfigSchema,\n TemporalIndexingDivinerStateToIndexCandidateDivinerParams,\n} from '@xyo-network/diviner-temporal-indexing-model'\nimport { DivinerWrapper } from '@xyo-network/diviner-wrapper'\nimport { isModuleState, Labels, ModuleIdentifier, ModuleState, ModuleStateSchema } from '@xyo-network/module-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload, Schema } from '@xyo-network/payload-model'\nimport { intraBoundwitnessSchemaCombinations } from '@xyo-network/payload-utils'\nimport { TimeStamp, TimestampSchema } from '@xyo-network/witness-timestamp'\n\n/**\n * All Payload types involved in index candidates for indexing\n */\nexport type IndexCandidate = BoundWitness | Payload | TimeStamp\n\n/**\n * The response from the TemporalStateToIndexCandidateDiviner\n */\nexport type TemporalStateToIndexCandidateDivinerResponse = [\n /**\n * The next state of the diviner\n */\n nextState: ModuleState<IndexingDivinerState>,\n /**\n * The index candidates\n */\n ...IndexCandidate[],\n]\n\n/**\n * The default order to search Bound Witnesses to identify index candidates\n */\nconst order = 'asc'\n\n/**\n * The name of the module (for logging purposes)\n */\nconst moduleName = 'TemporalIndexingDivinerStateToIndexCandidateDiviner'\n\n/**\n * Transforms candidates for image thumbnail indexing into their indexed representation\n */\nexport class TemporalIndexingDivinerStateToIndexCandidateDiviner<\n TParams extends TemporalIndexingDivinerStateToIndexCandidateDivinerParams = TemporalIndexingDivinerStateToIndexCandidateDivinerParams,\n> extends AbstractDiviner<TParams, Payload, ModuleState | IndexCandidate> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, TemporalIndexingDivinerStateToIndexCandidateDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TemporalIndexingDivinerStateToIndexCandidateDivinerConfigSchema\n static override labels: Labels = {\n ...super.labels,\n 'network.xyo.diviner.stage': 'stateToIndexCandidateDiviner',\n }\n\n get payloadDivinerLimit() {\n return this.config.payloadDivinerLimit ?? 1000\n }\n\n /**\n * The required payload_schemas within BoundWitnesses to identify index candidates\n */\n protected get payload_schemas(): string[] {\n const schemas = this.config.filter?.payload_schemas\n return [TimestampSchema, ...(schemas ?? [])]\n }\n\n protected override async divineHandler(payloads: Payload[] = []): Promise<[ModuleState, ...IndexCandidate[]]> {\n // Retrieve the last state from what was passed in\n const lastState = payloads.find(isModuleState<IndexingDivinerState>)\n // If there is no last state, start from the beginning\n if (!lastState) return [{ schema: ModuleStateSchema, state: { offset: 0 } }]\n // Otherwise, get the last offset\n const { offset } = lastState.state\n // Get next batch of results starting from the offset\n const boundWitnessDiviner = await this.getBoundWitnessDivinerForStore()\n if (!boundWitnessDiviner) return [lastState]\n const query = await new PayloadBuilder<BoundWitnessDivinerQueryPayload>({ schema: BoundWitnessDivinerQuerySchema })\n .fields({ limit: this.payloadDivinerLimit, offset, order, payload_schemas: this.payload_schemas })\n .build()\n const batch = await boundWitnessDiviner.divine([query])\n if (batch.length === 0) return [lastState]\n // Get source data\n const sourceArchivist = await this.getArchivistForStore()\n if (!sourceArchivist) return [lastState]\n const bws = batch.filter(isBoundWitnessWithMeta)\n const indexCandidates: IndexCandidate[] = (await Promise.all(bws.map(bw => this.getPayloadsInBoundWitness(bw, sourceArchivist))))\n .filter(exists)\n .flat()\n const nextState = { schema: ModuleStateSchema, state: { ...lastState.state, offset: offset + batch.length } }\n return [nextState, ...indexCandidates]\n }\n\n /**\n * Retrieves the archivist for the payloadStore\n * @returns The archivist for the payloadStore or undefined if not resolvable\n */\n protected async getArchivistForStore(): Promise<ArchivistWrapper | undefined> {\n // It should be defined, so we'll error if it's not\n const name: ModuleIdentifier = assertEx(\n this.config?.payloadStore?.archivist,\n () => `${moduleName}: Config for payloadStore.archivist not specified`,\n )\n // It might not be resolvable (yet), so we'll return undefined if it's not\n const mod = await this.resolve(name)\n if (!mod) return undefined\n // Return the wrapped archivist\n return ArchivistWrapper.wrap(mod, this.account)\n }\n\n /**\n * Retrieves the BoundWitness Diviner for the payloadStore\n * @returns The BoundWitness Diviner for the payloadStore or undefined if not resolvable\n */\n protected async getBoundWitnessDivinerForStore() {\n // It should be defined, so we'll error if it's not\n const name: ModuleIdentifier = assertEx(\n this.config?.payloadStore?.boundWitnessDiviner,\n () => `${moduleName}: Config for payloadStore.boundWitnessDiviner not specified`,\n )\n // It might not be resolvable (yet), so we'll return undefined if it's not\n const mod = await this.resolve(name)\n if (!mod) return\n // Return the wrapped diviner\n return DivinerWrapper.wrap<\n DivinerWrapper<\n BoundWitnessDiviner<BoundWitnessDivinerParams, BoundWitnessDivinerQueryPayload, BoundWitness>,\n BoundWitnessDivinerQueryPayload,\n BoundWitness\n >\n >(mod, this.account)\n }\n\n protected async getPayloadsInBoundWitness(bw: BoundWitness, archivist: ArchivistInstance): Promise<IndexCandidate[] | undefined> {\n const combinations = intraBoundwitnessSchemaCombinations(bw, this.payload_schemas).flat()\n if (combinations.length === 0) return undefined\n const hashes = new Set(combinations)\n const indexCandidates = await archivist.get([...hashes])\n return [bw, ...indexCandidates]\n }\n}\n"],"mappings":"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","names":["IndexingDiviner","TemporalIndexingDivinerConfigSchema","TemporalIndexingDiviner","IndexingDiviner","startHandler","configSchemas","TemporalIndexingDivinerConfigSchema","defaultConfigSchema","AbstractDiviner","jsonPathToTransformersDictionary","reducePayloads","PayloadDivinerQuerySchema","TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerConfigSchema","TemporalIndexingDivinerResultIndexSchema","PayloadBuilder","isPayloadOfSchemaType","TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner","AbstractDiviner","_indexableSchemas","_payloadTransformers","divinerQuerySchema","config","PayloadDivinerQuerySchema","indexQuerySchema","indexSchema","TemporalIndexingDivinerResultIndexSchema","indexableSchemas","Object","keys","schemaTransforms","payloadTransformers","jsonPathToTransformersDictionary","defaultValue","destinationField","sourcePathExpression","divineHandler","payloads","queries","filter","isPayloadOfSchemaType","length","Promise","all","map","query","fields","reducePayloads","schemas","sources","PayloadBuilder","schema","build","configSchemas","TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerConfigSchema","defaultConfigSchema","labels","containsAll","assertEx","exists","isBoundWitnessWithMeta","AbstractDiviner","jsonPathToTransformersDictionary","TemporalIndexingDivinerIndexCandidateToIndexDivinerConfigSchema","TemporalIndexingDivinerResultIndexSchema","PayloadBuilder","isAnyPayload","intraBoundwitnessSchemaCombinations","moduleName","TemporalIndexingDivinerIndexCandidateToIndexDiviner","AbstractDiviner","_indexableSchemas","_payloadTransformers","indexableSchemas","Object","keys","schemaTransforms","payloadTransformers","jsonPathToTransformersDictionary","assertEx","config","divineHandler","payloads","builtPayloads","Promise","all","map","payload","PayloadBuilder","build","indexableBoundWitnesses","filter","isBoundWitnessWithMeta","bw","containsAll","payload_schemas","indexablePayloads","p","isIndexablePayload","length","bwDictionary","payloadDictionary","toDataHashMap","validIndexableTuples","bwHash","entries","combinations","intraBoundwitnessSchemaCombinations","combination","hash","exists","push","indexes","sourcePayloadHashes","sourcePayloads","indexFields","flatMap","transformers","schema","transform","sources","TemporalIndexingDivinerResultIndexSchema","fields","assign","flat","x","isAnyPayload","includes","isIndexableSchema","configSchemas","TemporalIndexingDivinerIndexCandidateToIndexDivinerConfigSchema","defaultConfigSchema","labels","AbstractDiviner","isPayloadDivinerQueryPayload","TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDivinerConfigSchema","TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner","AbstractDiviner","divineHandler","payloads","responses","filter","p","isPayloadDivinerQueryPayload","Promise","resolve","configSchemas","TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDivinerConfigSchema","defaultConfigSchema","labels","assertEx","exists","ArchivistWrapper","isBoundWitnessWithMeta","AbstractDiviner","BoundWitnessDivinerQuerySchema","TemporalIndexingDivinerStateToIndexCandidateDivinerConfigSchema","DivinerWrapper","isModuleState","ModuleStateSchema","PayloadBuilder","intraBoundwitnessSchemaCombinations","TimestampSchema","order","moduleName","TemporalIndexingDivinerStateToIndexCandidateDiviner","AbstractDiviner","payloadDivinerLimit","config","payload_schemas","schemas","filter","TimestampSchema","divineHandler","payloads","lastState","find","isModuleState","schema","ModuleStateSchema","state","offset","boundWitnessDiviner","getBoundWitnessDivinerForStore","query","PayloadBuilder","BoundWitnessDivinerQuerySchema","fields","limit","build","batch","divine","length","sourceArchivist","getArchivistForStore","bws","isBoundWitnessWithMeta","indexCandidates","Promise","all","map","bw","getPayloadsInBoundWitness","exists","flat","nextState","name","assertEx","payloadStore","archivist","mod","resolve","undefined","ArchivistWrapper","wrap","account","DivinerWrapper","combinations","intraBoundwitnessSchemaCombinations","hashes","Set","get","configSchemas","TemporalIndexingDivinerStateToIndexCandidateDivinerConfigSchema","defaultConfigSchema","labels"]}
1
+ {"version":3,"sources":["../../src/Diviner.ts","../../src/DivinerQueryToIndexQueryDiviner/Diviner.ts","../../src/IndexCandidateToIndexDiviner/Diviner.ts","../../src/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.ts","../../src/StateToIndexCandidateDiviner/Diviner.ts"],"sourcesContent":["import { IndexingDiviner } from '@xyo-network/diviner-indexing-memory'\nimport { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport { TemporalIndexingDivinerConfigSchema, TemporalIndexingDivinerParams } from '@xyo-network/diviner-temporal-indexing-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\n\nexport class TemporalIndexingDiviner<\n TParams extends TemporalIndexingDivinerParams = TemporalIndexingDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends IndexingDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, TemporalIndexingDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TemporalIndexingDivinerConfigSchema\n\n protected override async startHandler(): Promise<boolean> {\n await super.startHandler()\n return true\n }\n}\n","import { Hash } from '@xylabs/hex'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { jsonPathToTransformersDictionary, reducePayloads } from '@xyo-network/diviner-jsonpath-aggregate-memory'\nimport { SchemaToJsonPathTransformExpressionsDictionary, SchemaToPayloadTransformersDictionary } from '@xyo-network/diviner-jsonpath-model'\nimport { PayloadDivinerQueryPayload, PayloadDivinerQuerySchema } from '@xyo-network/diviner-payload-model'\nimport {\n TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerConfigSchema,\n TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerParams,\n TemporalIndexingDivinerResultIndexSchema,\n} from '@xyo-network/diviner-temporal-indexing-model'\nimport { Labels } from '@xyo-network/module-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n// TODO: Inherit from JsonPathAggregateDiviner\n/**\n * A diviner that converts diviner query to index query\n */\nexport class TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner<\n TParams extends TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerParams = TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerParams,\n> extends AbstractDiviner<TParams> {\n static override readonly configSchemas = [...super.configSchemas, TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerConfigSchema]\n static override readonly defaultConfigSchema = TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerConfigSchema\n static override labels: Labels = {\n ...super.labels,\n 'network.xyo.diviner.stage': 'divinerQueryToIndexQueryDiviner',\n }\n\n private _indexableSchemas: string[] | undefined\n private _payloadTransformers: SchemaToPayloadTransformersDictionary | undefined\n\n /**\n * The schema of the diviner query payloads\n */\n protected get divinerQuerySchema(): string {\n return this.config.divinerQuerySchema ?? PayloadDivinerQuerySchema\n }\n\n /**\n * The schema of the index query payloads\n */\n protected get indexQuerySchema(): string {\n return this.config.indexQuerySchema ?? PayloadDivinerQuerySchema\n }\n\n /**\n * The schema of the index payloads\n */\n protected get indexSchema(): string {\n return this.config.indexSchema ?? TemporalIndexingDivinerResultIndexSchema\n }\n\n /**\n * List of indexable schemas for this diviner\n */\n protected get indexableSchemas(): string[] {\n if (!this._indexableSchemas) this._indexableSchemas = Object.keys(this.schemaTransforms)\n return this._indexableSchemas\n }\n\n /**\n * Dictionary of schemas to payload transformers for creating indexes\n * from the payloads within a Bound Witness\n */\n protected get payloadTransformers(): SchemaToPayloadTransformersDictionary {\n if (!this._payloadTransformers) this._payloadTransformers = jsonPathToTransformersDictionary(this.schemaTransforms)\n return this._payloadTransformers\n }\n\n /**\n * The dictionary of schemas to JSON Path transform expressions for creating indexes\n * from the payloads within a Bound Witness\n */\n protected get schemaTransforms(): SchemaToJsonPathTransformExpressionsDictionary {\n return (\n this.config?.schemaTransforms ?? {\n [this.divinerQuerySchema]: [\n {\n defaultValue: 1,\n destinationField: 'limit',\n sourcePathExpression: '$.limit',\n },\n {\n defaultValue: 0,\n destinationField: 'offset',\n sourcePathExpression: '$.offset',\n },\n {\n defaultValue: 'desc',\n destinationField: 'order',\n sourcePathExpression: '$.order',\n },\n ],\n }\n )\n }\n\n protected override async divineHandler(payloads: Payload[] = []): Promise<Payload[]> {\n const queries = payloads.filter(isPayloadOfSchemaType<PayloadDivinerQueryPayload>(this.divinerQuerySchema))\n if (queries.length > 0) {\n return await Promise.all(\n queries.map(async (query) => {\n const fields = await reducePayloads<PayloadDivinerQueryPayload & { sources?: Hash[] }>(\n [query],\n this.payloadTransformers,\n this.indexQuerySchema,\n )\n // TODO: Make index schema configurable\n fields.schemas = [this.indexSchema]\n // TODO: Make sources not need to be deleted\n delete fields.sources\n // TODO: Add support for additional filters\n return await new PayloadBuilder<Payload>({ schema: this.indexQuerySchema }).fields(fields).build()\n }),\n )\n }\n return []\n }\n}\n","import { containsAll } from '@xylabs/array'\nimport { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { Hash } from '@xylabs/hex'\nimport { BoundWitness, isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { jsonPathToTransformersDictionary } from '@xyo-network/diviner-jsonpath-aggregate-memory'\nimport { SchemaToJsonPathTransformExpressionsDictionary, SchemaToPayloadTransformersDictionary } from '@xyo-network/diviner-jsonpath-model'\nimport {\n TemporalIndexingDivinerIndexCandidateToIndexDivinerConfigSchema,\n TemporalIndexingDivinerIndexCandidateToIndexDivinerParams,\n TemporalIndexingDivinerResultIndex,\n TemporalIndexingDivinerResultIndexSchema,\n} from '@xyo-network/diviner-temporal-indexing-model'\nimport { Labels } from '@xyo-network/module-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { isAnyPayload, Payload, Schema } from '@xyo-network/payload-model'\nimport { intraBoundwitnessSchemaCombinations } from '@xyo-network/payload-utils'\n\ntype IndexableHashes = [Hash, ...Hash[]]\n\nconst moduleName = 'TemporalIndexingDivinerIndexCandidateToIndexDiviner'\n\n/**\n * Diviner which transforms index candidates to indexes using JSON Path to map\n * source properties in the supplied payloads to destination fields in the\n * resultant index\n */\nexport class TemporalIndexingDivinerIndexCandidateToIndexDiviner<\n TParams extends TemporalIndexingDivinerIndexCandidateToIndexDivinerParams = TemporalIndexingDivinerIndexCandidateToIndexDivinerParams,\n> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, TemporalIndexingDivinerIndexCandidateToIndexDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TemporalIndexingDivinerIndexCandidateToIndexDivinerConfigSchema\n static override labels: Labels = {\n ...super.labels,\n 'network.xyo.diviner.stage': 'indexCandidateToIndexDiviner',\n }\n\n private _indexableSchemas: string[] | undefined\n private _payloadTransformers: SchemaToPayloadTransformersDictionary | undefined\n\n /**\n * List of indexable schemas for this diviner\n */\n protected get indexableSchemas(): string[] {\n if (!this._indexableSchemas) this._indexableSchemas = Object.keys(this.schemaTransforms)\n return this._indexableSchemas\n }\n\n /**\n * Dictionary of schemas to payload transformers for creating indexes\n * from the payloads within a Bound Witness\n */\n protected get payloadTransformers(): SchemaToPayloadTransformersDictionary {\n if (!this._payloadTransformers) this._payloadTransformers = jsonPathToTransformersDictionary(this.schemaTransforms)\n return this._payloadTransformers\n }\n\n /**\n * The dictionary of schemas to JSON Path transform expressions for creating indexes\n * from the payloads within a Bound Witness\n */\n protected get schemaTransforms(): SchemaToJsonPathTransformExpressionsDictionary {\n return assertEx(this.config?.schemaTransforms, () => `${moduleName}: Missing config.schemaTransforms section`)\n }\n\n protected override async divineHandler(payloads: Payload[] = []): Promise<Payload[]> {\n const builtPayloads = await Promise.all(payloads.map(payload => PayloadBuilder.build(payload)))\n // If the Bound Witness does not contain all the required schemas do not index it\n const indexableBoundWitnesses = builtPayloads\n .filter(isBoundWitnessWithMeta)\n .filter(bw => containsAll(bw.payload_schemas, this.indexableSchemas))\n // If the Payload is not one of the indexable schemas do not index it\n const indexablePayloads = builtPayloads.filter(p => this.isIndexablePayload(p))\n // If there is nothing to index, return an empty array\n if (indexableBoundWitnesses.length === 0 || indexablePayloads.length === 0) return []\n // Hash all the indexable data once\n const [bwDictionary, payloadDictionary] = await Promise.all([\n PayloadBuilder.toDataHashMap(indexableBoundWitnesses),\n PayloadBuilder.toDataHashMap(indexablePayloads),\n ])\n\n // Initialize the array for validIndexableTuples outside of the loop\n const validIndexableTuples: IndexableHashes[] = []\n\n // Iterate over each entry in bwDictionary\n for (const [bwHash, bw] of Object.entries(bwDictionary) as [Hash, BoundWitness][]) {\n // Find the combinations of payloads that satisfy the required schemas\n const combinations = intraBoundwitnessSchemaCombinations(bw, this.indexableSchemas)\n\n // Iterate over each combination\n for (const combination of combinations) {\n const indexablePayloads = combination.map(hash => payloadDictionary[hash]).filter(exists)\n\n // If we found the right amount of indexable payloads (of the correct schema as checked\n // above) in this BW, then index it\n if (indexablePayloads.length === this.indexableSchemas.length) {\n validIndexableTuples.push([bwHash, ...combination])\n }\n }\n }\n\n // Create the indexes from the tuples\n const indexes = await Promise.all(\n validIndexableTuples.map<Promise<TemporalIndexingDivinerResultIndex>>(async ([bwHash, ...sourcePayloadHashes]) => {\n const sourcePayloads = sourcePayloadHashes.map(hash => payloadDictionary[hash])\n // Use the payload transformers to convert the fields from the source payloads to the destination fields\n const indexFields = sourcePayloads.flatMap((payload) => {\n // Find the transformers for this payload\n const transformers = this.payloadTransformers[payload.schema]\n // If transformers exist, apply them to the payload otherwise return an empty array\n return transformers ? transformers.map(transform => transform(payload)) : []\n })\n // Include all the sources for reference\n const sources: string[] = [bwHash, ...sourcePayloadHashes]\n // Build and return the index\n return await new PayloadBuilder<TemporalIndexingDivinerResultIndex>({ schema: TemporalIndexingDivinerResultIndexSchema })\n .fields(Object.assign({ sources }, ...indexFields))\n .build()\n }),\n )\n return indexes.flat()\n }\n\n /**\n * Identifies if a payload is one that is indexed by this diviner\n * @param x The candidate payload\n * @returns True if the payload is one indexed by this diviner, false otherwise\n */\n protected isIndexablePayload = (x: unknown) => {\n return isAnyPayload(x) && this.indexableSchemas.includes(x?.schema)\n }\n\n /**\n * Identifies if a schema is one that is indexed by this diviner\n * @param schema The candidate schema\n * @returns True if this schema is one indexed by this diviner, false otherwise\n */\n protected isIndexableSchema = (schema?: string | null) => {\n return typeof schema === 'string' ? this.indexableSchemas.includes(schema) : false\n }\n}\n","import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { isPayloadDivinerQueryPayload } from '@xyo-network/diviner-payload-model'\nimport { TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDivinerConfigSchema } from '@xyo-network/diviner-temporal-indexing-model'\nimport { Labels } from '@xyo-network/module-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\n\n/**\n * Transforms an ImageThumbnailIndex response into an ImageThumbnailResponse response\n */\nexport class TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner extends AbstractDiviner {\n static override readonly configSchemas: Schema[] = [\n ...super.configSchemas,\n TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDivinerConfigSchema,\n ]\n\n static override readonly defaultConfigSchema: Schema = TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDivinerConfigSchema\n static override labels: Labels = {\n ...super.labels,\n 'network.xyo.diviner.stage': 'indexQueryResponseToDivinerQueryResponseDiviner',\n }\n\n protected override async divineHandler(payloads: Payload[] = []): Promise<Payload[]> {\n // NOTE: We're not doing anything with the query payloads but some diviners\n // might want to use this to transform from the query to the response (for example\n // if we use a plaintext value in the query to generate a hash key in the index)\n // const queries = payloads.filter(isPayloadDivinerQueryPayload)\n const responses = payloads.filter(p => !isPayloadDivinerQueryPayload(p))\n return await Promise.resolve(responses)\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ArchivistWrapper } from '@xyo-network/archivist-wrapper'\nimport { BoundWitness, isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract'\nimport { BoundWitnessDivinerParams, BoundWitnessDivinerQueryPayload, BoundWitnessDivinerQuerySchema } from '@xyo-network/diviner-boundwitness-model'\nimport { IndexingDivinerState } from '@xyo-network/diviner-indexing-model'\nimport {\n TemporalIndexingDivinerStateToIndexCandidateDivinerConfigSchema,\n TemporalIndexingDivinerStateToIndexCandidateDivinerParams,\n} from '@xyo-network/diviner-temporal-indexing-model'\nimport { DivinerWrapper } from '@xyo-network/diviner-wrapper'\nimport { isModuleState, Labels, ModuleIdentifier, ModuleState, ModuleStateSchema } from '@xyo-network/module-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload, Schema } from '@xyo-network/payload-model'\nimport { intraBoundwitnessSchemaCombinations } from '@xyo-network/payload-utils'\nimport { TimeStamp, TimestampSchema } from '@xyo-network/witness-timestamp'\n\n/**\n * All Payload types involved in index candidates for indexing\n */\nexport type IndexCandidate = BoundWitness | Payload | TimeStamp\n\n/**\n * The response from the TemporalStateToIndexCandidateDiviner\n */\nexport type TemporalStateToIndexCandidateDivinerResponse = [\n /**\n * The next state of the diviner\n */\n nextState: ModuleState<IndexingDivinerState>,\n /**\n * The index candidates\n */\n ...IndexCandidate[],\n]\n\n/**\n * The default order to search Bound Witnesses to identify index candidates\n */\nconst order = 'asc'\n\n/**\n * The name of the module (for logging purposes)\n */\nconst moduleName = 'TemporalIndexingDivinerStateToIndexCandidateDiviner'\n\n/**\n * Transforms candidates for image thumbnail indexing into their indexed representation\n */\nexport class TemporalIndexingDivinerStateToIndexCandidateDiviner<\n TParams extends TemporalIndexingDivinerStateToIndexCandidateDivinerParams = TemporalIndexingDivinerStateToIndexCandidateDivinerParams,\n> extends AbstractDiviner<TParams, Payload, ModuleState | IndexCandidate> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, TemporalIndexingDivinerStateToIndexCandidateDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TemporalIndexingDivinerStateToIndexCandidateDivinerConfigSchema\n static override labels: Labels = {\n ...super.labels,\n 'network.xyo.diviner.stage': 'stateToIndexCandidateDiviner',\n }\n\n get payloadDivinerLimit() {\n return this.config.payloadDivinerLimit ?? 1000\n }\n\n /**\n * The required payload_schemas within BoundWitnesses to identify index candidates\n */\n protected get payload_schemas(): string[] {\n const schemas = this.config.filter?.payload_schemas\n return [TimestampSchema, ...(schemas ?? [])]\n }\n\n protected override async divineHandler(payloads: Payload[] = []): Promise<[ModuleState, ...IndexCandidate[]]> {\n // Retrieve the last state from what was passed in\n const lastState = payloads.find(isModuleState<IndexingDivinerState>)\n // If there is no last state, start from the beginning\n if (!lastState) return [{ schema: ModuleStateSchema, state: { offset: 0 } }]\n // Otherwise, get the last offset\n const { offset } = lastState.state\n // Get next batch of results starting from the offset\n const boundWitnessDiviner = await this.getBoundWitnessDivinerForStore()\n if (!boundWitnessDiviner) return [lastState]\n const query = await new PayloadBuilder<BoundWitnessDivinerQueryPayload>({ schema: BoundWitnessDivinerQuerySchema })\n .fields({ limit: this.payloadDivinerLimit, offset, order, payload_schemas: this.payload_schemas })\n .build()\n const batch = await boundWitnessDiviner.divine([query])\n if (batch.length === 0) return [lastState]\n // Get source data\n const sourceArchivist = await this.getArchivistForStore()\n if (!sourceArchivist) return [lastState]\n const bws = batch.filter(isBoundWitnessWithMeta)\n const indexCandidates: IndexCandidate[] = (await Promise.all(bws.map(bw => this.getPayloadsInBoundWitness(bw, sourceArchivist))))\n .filter(exists)\n .flat()\n const nextState = { schema: ModuleStateSchema, state: { ...lastState.state, offset: offset + batch.length } }\n return [nextState, ...indexCandidates]\n }\n\n /**\n * Retrieves the archivist for the payloadStore\n * @returns The archivist for the payloadStore or undefined if not resolvable\n */\n protected async getArchivistForStore(): Promise<ArchivistWrapper | undefined> {\n // It should be defined, so we'll error if it's not\n const name: ModuleIdentifier = assertEx(\n this.config?.payloadStore?.archivist,\n () => `${moduleName}: Config for payloadStore.archivist not specified`,\n )\n // It might not be resolvable (yet), so we'll return undefined if it's not\n const mod = await this.resolve(name)\n if (!mod) return undefined\n // Return the wrapped archivist\n return ArchivistWrapper.wrap(mod, this.account)\n }\n\n /**\n * Retrieves the BoundWitness Diviner for the payloadStore\n * @returns The BoundWitness Diviner for the payloadStore or undefined if not resolvable\n */\n protected async getBoundWitnessDivinerForStore() {\n // It should be defined, so we'll error if it's not\n const name: ModuleIdentifier = assertEx(\n this.config?.payloadStore?.boundWitnessDiviner,\n () => `${moduleName}: Config for payloadStore.boundWitnessDiviner not specified`,\n )\n // It might not be resolvable (yet), so we'll return undefined if it's not\n const mod = await this.resolve(name)\n if (!mod) return\n // Return the wrapped diviner\n return DivinerWrapper.wrap<\n DivinerWrapper<\n BoundWitnessDiviner<BoundWitnessDivinerParams, BoundWitnessDivinerQueryPayload, BoundWitness>,\n BoundWitnessDivinerQueryPayload,\n BoundWitness\n >\n >(mod, this.account)\n }\n\n protected async getPayloadsInBoundWitness(bw: BoundWitness, archivist: ArchivistInstance): Promise<IndexCandidate[] | undefined> {\n const combinations = intraBoundwitnessSchemaCombinations(bw, this.payload_schemas).flat()\n if (combinations.length === 0) return undefined\n const hashes = new Set(combinations)\n const indexCandidates = await archivist.get([...hashes])\n return [bw, ...indexCandidates]\n }\n}\n"],"mappings":"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","names":["IndexingDiviner","TemporalIndexingDivinerConfigSchema","TemporalIndexingDiviner","IndexingDiviner","configSchemas","TemporalIndexingDivinerConfigSchema","defaultConfigSchema","startHandler","AbstractDiviner","jsonPathToTransformersDictionary","reducePayloads","PayloadDivinerQuerySchema","TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerConfigSchema","TemporalIndexingDivinerResultIndexSchema","PayloadBuilder","isPayloadOfSchemaType","TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner","AbstractDiviner","configSchemas","TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerConfigSchema","defaultConfigSchema","labels","_indexableSchemas","_payloadTransformers","divinerQuerySchema","config","PayloadDivinerQuerySchema","indexQuerySchema","indexSchema","TemporalIndexingDivinerResultIndexSchema","indexableSchemas","Object","keys","schemaTransforms","payloadTransformers","jsonPathToTransformersDictionary","defaultValue","destinationField","sourcePathExpression","divineHandler","payloads","queries","filter","isPayloadOfSchemaType","length","Promise","all","map","query","fields","reducePayloads","schemas","sources","PayloadBuilder","schema","build","containsAll","assertEx","exists","isBoundWitnessWithMeta","AbstractDiviner","jsonPathToTransformersDictionary","TemporalIndexingDivinerIndexCandidateToIndexDivinerConfigSchema","TemporalIndexingDivinerResultIndexSchema","PayloadBuilder","isAnyPayload","intraBoundwitnessSchemaCombinations","moduleName","TemporalIndexingDivinerIndexCandidateToIndexDiviner","AbstractDiviner","configSchemas","TemporalIndexingDivinerIndexCandidateToIndexDivinerConfigSchema","defaultConfigSchema","labels","_indexableSchemas","_payloadTransformers","indexableSchemas","Object","keys","schemaTransforms","payloadTransformers","jsonPathToTransformersDictionary","assertEx","config","divineHandler","payloads","builtPayloads","Promise","all","map","payload","PayloadBuilder","build","indexableBoundWitnesses","filter","isBoundWitnessWithMeta","bw","containsAll","payload_schemas","indexablePayloads","p","isIndexablePayload","length","bwDictionary","payloadDictionary","toDataHashMap","validIndexableTuples","bwHash","entries","combinations","intraBoundwitnessSchemaCombinations","combination","hash","exists","push","indexes","sourcePayloadHashes","sourcePayloads","indexFields","flatMap","transformers","schema","transform","sources","TemporalIndexingDivinerResultIndexSchema","fields","assign","flat","x","isAnyPayload","includes","isIndexableSchema","AbstractDiviner","isPayloadDivinerQueryPayload","TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDivinerConfigSchema","TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner","AbstractDiviner","configSchemas","TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDivinerConfigSchema","defaultConfigSchema","labels","divineHandler","payloads","responses","filter","p","isPayloadDivinerQueryPayload","Promise","resolve","assertEx","exists","ArchivistWrapper","isBoundWitnessWithMeta","AbstractDiviner","BoundWitnessDivinerQuerySchema","TemporalIndexingDivinerStateToIndexCandidateDivinerConfigSchema","DivinerWrapper","isModuleState","ModuleStateSchema","PayloadBuilder","intraBoundwitnessSchemaCombinations","TimestampSchema","order","moduleName","TemporalIndexingDivinerStateToIndexCandidateDiviner","AbstractDiviner","configSchemas","TemporalIndexingDivinerStateToIndexCandidateDivinerConfigSchema","defaultConfigSchema","labels","payloadDivinerLimit","config","payload_schemas","schemas","filter","TimestampSchema","divineHandler","payloads","lastState","find","isModuleState","schema","ModuleStateSchema","state","offset","boundWitnessDiviner","getBoundWitnessDivinerForStore","query","PayloadBuilder","BoundWitnessDivinerQuerySchema","fields","limit","build","batch","divine","length","sourceArchivist","getArchivistForStore","bws","isBoundWitnessWithMeta","indexCandidates","Promise","all","map","bw","getPayloadsInBoundWitness","exists","flat","nextState","name","assertEx","payloadStore","archivist","mod","resolve","undefined","ArchivistWrapper","wrap","account","DivinerWrapper","combinations","intraBoundwitnessSchemaCombinations","hashes","Set","get"]}
package/package.json CHANGED
@@ -10,71 +10,52 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/array": "^3.6.12",
14
- "@xylabs/assert": "^3.6.12",
15
- "@xylabs/exists": "^3.6.12",
16
- "@xylabs/hex": "^3.6.12",
17
- "@xyo-network/archivist-model": "^2.111.3",
18
- "@xyo-network/archivist-wrapper": "^2.111.3",
19
- "@xyo-network/boundwitness-model": "^2.111.3",
20
- "@xyo-network/diviner-abstract": "^2.111.3",
21
- "@xyo-network/diviner-boundwitness-abstract": "^2.111.3",
22
- "@xyo-network/diviner-boundwitness-model": "^2.111.3",
23
- "@xyo-network/diviner-indexing-memory": "^2.111.3",
24
- "@xyo-network/diviner-indexing-model": "^2.111.3",
25
- "@xyo-network/diviner-jsonpath-aggregate-memory": "^2.111.3",
26
- "@xyo-network/diviner-jsonpath-model": "^2.111.3",
27
- "@xyo-network/diviner-model": "^2.111.3",
28
- "@xyo-network/diviner-payload-model": "^2.111.3",
29
- "@xyo-network/diviner-temporal-indexing-model": "^2.111.3",
30
- "@xyo-network/diviner-wrapper": "^2.111.3",
31
- "@xyo-network/module-model": "^2.111.3",
32
- "@xyo-network/payload-builder": "^2.111.3",
33
- "@xyo-network/payload-model": "^2.111.3",
34
- "@xyo-network/payload-utils": "^2.111.3",
35
- "@xyo-network/witness-timestamp": "^2.111.3"
13
+ "@xylabs/array": "^4.0.0",
14
+ "@xylabs/assert": "^4.0.0",
15
+ "@xylabs/exists": "^4.0.0",
16
+ "@xylabs/hex": "^4.0.0",
17
+ "@xyo-network/archivist-model": "^3.0.1",
18
+ "@xyo-network/archivist-wrapper": "^3.0.1",
19
+ "@xyo-network/boundwitness-model": "^3.0.1",
20
+ "@xyo-network/diviner-abstract": "^3.0.1",
21
+ "@xyo-network/diviner-boundwitness-abstract": "^3.0.1",
22
+ "@xyo-network/diviner-boundwitness-model": "^3.0.1",
23
+ "@xyo-network/diviner-indexing-memory": "^3.0.1",
24
+ "@xyo-network/diviner-indexing-model": "^3.0.1",
25
+ "@xyo-network/diviner-jsonpath-aggregate-memory": "^3.0.1",
26
+ "@xyo-network/diviner-jsonpath-model": "^3.0.1",
27
+ "@xyo-network/diviner-model": "^3.0.1",
28
+ "@xyo-network/diviner-payload-model": "^3.0.1",
29
+ "@xyo-network/diviner-temporal-indexing-model": "^3.0.1",
30
+ "@xyo-network/diviner-wrapper": "^3.0.1",
31
+ "@xyo-network/module-model": "^3.0.1",
32
+ "@xyo-network/payload-builder": "^3.0.1",
33
+ "@xyo-network/payload-model": "^3.0.1",
34
+ "@xyo-network/payload-utils": "^3.0.1",
35
+ "@xyo-network/witness-timestamp": "^3.0.1"
36
36
  },
37
37
  "devDependencies": {
38
- "@xylabs/delay": "^3.6.12",
39
- "@xylabs/ts-scripts-yarn3": "^3.15.14",
40
- "@xylabs/tsconfig": "^3.15.14",
41
- "@xyo-network/account": "^2.111.3",
42
- "@xyo-network/archivist-memory": "^2.111.3",
43
- "@xyo-network/boundwitness-builder": "^2.111.3",
44
- "@xyo-network/manifest": "^2.111.3",
45
- "@xyo-network/module-factory-locator": "^2.111.3",
46
- "@xyo-network/node-memory": "^2.111.3",
38
+ "@xylabs/delay": "^4.0.0",
39
+ "@xylabs/ts-scripts-yarn3": "^4.0.0-rc.15",
40
+ "@xylabs/tsconfig": "^4.0.0-rc.15",
41
+ "@xyo-network/account": "^3.0.1",
42
+ "@xyo-network/archivist-memory": "^3.0.1",
43
+ "@xyo-network/boundwitness-builder": "^3.0.1",
44
+ "@xyo-network/manifest": "^3.0.1",
45
+ "@xyo-network/module-factory-locator": "^3.0.1",
46
+ "@xyo-network/node-memory": "^3.0.1",
47
47
  "typescript": "^5.5.4"
48
48
  },
49
49
  "description": "Primary SDK for using XYO Protocol 2.0",
50
- "types": "dist/node/index.d.ts",
50
+ "types": "dist/neutral/index.d.ts",
51
51
  "exports": {
52
52
  ".": {
53
- "browser": {
54
- "require": {
55
- "types": "./dist/browser/index.d.cts",
56
- "default": "./dist/browser/index.cjs"
57
- },
58
- "import": {
59
- "types": "./dist/browser/index.d.mts",
60
- "default": "./dist/browser/index.mjs"
61
- }
62
- },
63
- "node": {
64
- "require": {
65
- "types": "./dist/node/index.d.cts",
66
- "default": "./dist/node/index.cjs"
67
- },
68
- "import": {
69
- "types": "./dist/node/index.d.mts",
70
- "default": "./dist/node/index.mjs"
71
- }
72
- }
53
+ "types": "./dist/neutral/index.d.ts",
54
+ "default": "./dist/neutral/index.mjs"
73
55
  },
74
56
  "./package.json": "./package.json"
75
57
  },
76
- "main": "dist/node/index.cjs",
77
- "module": "dist/node/index.mjs",
58
+ "module": "dist/neutral/index.mjs",
78
59
  "homepage": "https://xyo.network",
79
60
  "license": "LGPL-3.0-only",
80
61
  "publishConfig": {
@@ -85,6 +66,6 @@
85
66
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
86
67
  },
87
68
  "sideEffects": false,
88
- "version": "2.111.3",
69
+ "version": "3.0.1",
89
70
  "type": "module"
90
71
  }
@@ -1,10 +0,0 @@
1
- import { IndexingDiviner } from '@xyo-network/diviner-indexing-memory';
2
- import { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model';
3
- import { TemporalIndexingDivinerParams } from '@xyo-network/diviner-temporal-indexing-model';
4
- import { Payload, Schema } from '@xyo-network/payload-model';
5
- export declare class TemporalIndexingDiviner<TParams extends TemporalIndexingDivinerParams = TemporalIndexingDivinerParams, TIn extends Payload = Payload, TOut extends Payload = Payload, TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut>> extends IndexingDiviner<TParams, TIn, TOut, TEventData> {
6
- static readonly configSchemas: Schema[];
7
- static readonly defaultConfigSchema: Schema;
8
- protected startHandler(): Promise<boolean>;
9
- }
10
- //# sourceMappingURL=Diviner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACpF,OAAO,EAAuC,6BAA6B,EAAE,MAAM,8CAA8C,CAAA;AACjI,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAE5D,qBAAa,uBAAuB,CAClC,OAAO,SAAS,6BAA6B,GAAG,6BAA6B,EAC7E,GAAG,SAAS,OAAO,GAAG,OAAO,EAC7B,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CACD,SAAQ,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;IACvD,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAgE;IAChH,gBAAyB,mBAAmB,EAAE,MAAM,CAAsC;cAEjE,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;CAI1D"}
@@ -1,10 +0,0 @@
1
- import { IndexingDiviner } from '@xyo-network/diviner-indexing-memory';
2
- import { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model';
3
- import { TemporalIndexingDivinerParams } from '@xyo-network/diviner-temporal-indexing-model';
4
- import { Payload, Schema } from '@xyo-network/payload-model';
5
- export declare class TemporalIndexingDiviner<TParams extends TemporalIndexingDivinerParams = TemporalIndexingDivinerParams, TIn extends Payload = Payload, TOut extends Payload = Payload, TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut>> extends IndexingDiviner<TParams, TIn, TOut, TEventData> {
6
- static readonly configSchemas: Schema[];
7
- static readonly defaultConfigSchema: Schema;
8
- protected startHandler(): Promise<boolean>;
9
- }
10
- //# sourceMappingURL=Diviner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACpF,OAAO,EAAuC,6BAA6B,EAAE,MAAM,8CAA8C,CAAA;AACjI,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAE5D,qBAAa,uBAAuB,CAClC,OAAO,SAAS,6BAA6B,GAAG,6BAA6B,EAC7E,GAAG,SAAS,OAAO,GAAG,OAAO,EAC7B,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CACD,SAAQ,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;IACvD,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAgE;IAChH,gBAAyB,mBAAmB,EAAE,MAAM,CAAsC;cAEjE,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;CAI1D"}
@@ -1,10 +0,0 @@
1
- import { IndexingDiviner } from '@xyo-network/diviner-indexing-memory';
2
- import { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model';
3
- import { TemporalIndexingDivinerParams } from '@xyo-network/diviner-temporal-indexing-model';
4
- import { Payload, Schema } from '@xyo-network/payload-model';
5
- export declare class TemporalIndexingDiviner<TParams extends TemporalIndexingDivinerParams = TemporalIndexingDivinerParams, TIn extends Payload = Payload, TOut extends Payload = Payload, TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut>> extends IndexingDiviner<TParams, TIn, TOut, TEventData> {
6
- static readonly configSchemas: Schema[];
7
- static readonly defaultConfigSchema: Schema;
8
- protected startHandler(): Promise<boolean>;
9
- }
10
- //# sourceMappingURL=Diviner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACpF,OAAO,EAAuC,6BAA6B,EAAE,MAAM,8CAA8C,CAAA;AACjI,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAE5D,qBAAa,uBAAuB,CAClC,OAAO,SAAS,6BAA6B,GAAG,6BAA6B,EAC7E,GAAG,SAAS,OAAO,GAAG,OAAO,EAC7B,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CACD,SAAQ,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;IACvD,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAgE;IAChH,gBAAyB,mBAAmB,EAAE,MAAM,CAAsC;cAEjE,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;CAI1D"}
@@ -1,20 +0,0 @@
1
- import { AbstractDiviner } from '@xyo-network/diviner-abstract';
2
- import { SchemaToJsonPathTransformExpressionsDictionary, SchemaToPayloadTransformersDictionary } from '@xyo-network/diviner-jsonpath-model';
3
- import { TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerParams } from '@xyo-network/diviner-temporal-indexing-model';
4
- import { Labels } from '@xyo-network/module-model';
5
- import { Payload } from '@xyo-network/payload-model';
6
- export declare class TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner<TParams extends TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerParams = TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerParams> extends AbstractDiviner<TParams> {
7
- static readonly configSchemas: string[];
8
- static readonly defaultConfigSchema: "network.xyo.diviner.indexing.temporal.stage.divinerQueryToIndexQueryDiviner.config";
9
- static labels: Labels;
10
- private _indexableSchemas;
11
- private _payloadTransformers;
12
- protected get divinerQuerySchema(): string;
13
- protected get indexQuerySchema(): string;
14
- protected get indexSchema(): string;
15
- protected get indexableSchemas(): string[];
16
- protected get payloadTransformers(): SchemaToPayloadTransformersDictionary;
17
- protected get schemaTransforms(): SchemaToJsonPathTransformExpressionsDictionary;
18
- protected divineHandler(payloads?: Payload[]): Promise<Payload[]>;
19
- }
20
- //# sourceMappingURL=Diviner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/DivinerQueryToIndexQueryDiviner/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D,OAAO,EAAE,8CAA8C,EAAE,qCAAqC,EAAE,MAAM,qCAAqC,CAAA;AAE3I,OAAO,EAEL,4DAA4D,EAE7D,MAAM,8CAA8C,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAElD,OAAO,EAAyB,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAK3E,qBAAa,sDAAsD,CACjE,OAAO,SAAS,4DAA4D,GAAG,4DAA4D,CAC3I,SAAQ,eAAe,CAAC,OAAO,CAAC;IAChC,gBAAyB,aAAa,WAA+F;IACrI,gBAAyB,mBAAmB,uFAAqE;IACjH,OAAgB,MAAM,EAAE,MAAM,CAG7B;IAED,OAAO,CAAC,iBAAiB,CAAsB;IAC/C,OAAO,CAAC,oBAAoB,CAAmD;IAK/E,SAAS,KAAK,kBAAkB,IAAI,MAAM,CAEzC;IAKD,SAAS,KAAK,gBAAgB,IAAI,MAAM,CAEvC;IAKD,SAAS,KAAK,WAAW,IAAI,MAAM,CAElC;IAKD,SAAS,KAAK,gBAAgB,IAAI,MAAM,EAAE,CAGzC;IAMD,SAAS,KAAK,mBAAmB,IAAI,qCAAqC,CAGzE;IAMD,SAAS,KAAK,gBAAgB,IAAI,8CAA8C,CAsB/E;cAEwB,aAAa,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAqBrF"}