@xyo-network/diviner-image-thumbnail 2.75.15 → 2.75.16

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.
package/dist/docs.json CHANGED
@@ -4040,7 +4040,7 @@
4040
4040
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
4041
4041
  "line": 56,
4042
4042
  "character": 10,
4043
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L56"
4043
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L56"
4044
4044
  }
4045
4045
  ],
4046
4046
  "type": {
@@ -4721,7 +4721,7 @@
4721
4721
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
4722
4722
  "line": 54,
4723
4723
  "character": 18,
4724
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L54"
4724
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L54"
4725
4725
  }
4726
4726
  ],
4727
4727
  "type": {
@@ -5211,7 +5211,7 @@
5211
5211
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
5212
5212
  "line": 58,
5213
5213
  "character": 6,
5214
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L58"
5214
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L58"
5215
5215
  }
5216
5216
  ],
5217
5217
  "getSignature": {
@@ -5225,7 +5225,7 @@
5225
5225
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
5226
5226
  "line": 58,
5227
5227
  "character": 6,
5228
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L58"
5228
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L58"
5229
5229
  }
5230
5230
  ],
5231
5231
  "type": {
@@ -5245,7 +5245,7 @@
5245
5245
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
5246
5246
  "line": 62,
5247
5247
  "character": 6,
5248
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L62"
5248
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L62"
5249
5249
  }
5250
5250
  ],
5251
5251
  "getSignature": {
@@ -5259,7 +5259,7 @@
5259
5259
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
5260
5260
  "line": 62,
5261
5261
  "character": 6,
5262
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L62"
5262
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L62"
5263
5263
  }
5264
5264
  ],
5265
5265
  "type": {
@@ -5685,7 +5685,7 @@
5685
5685
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
5686
5686
  "line": 70,
5687
5687
  "character": 12,
5688
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L70"
5688
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L70"
5689
5689
  }
5690
5690
  ],
5691
5691
  "signatures": [
@@ -5714,7 +5714,7 @@
5714
5714
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
5715
5715
  "line": 70,
5716
5716
  "character": 31,
5717
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L70"
5717
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L70"
5718
5718
  }
5719
5719
  ],
5720
5720
  "type": {
@@ -7827,7 +7827,7 @@
7827
7827
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
7828
7828
  "line": 156,
7829
7829
  "character": 18,
7830
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L156"
7830
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L156"
7831
7831
  }
7832
7832
  ],
7833
7833
  "signatures": [
@@ -7850,7 +7850,7 @@
7850
7850
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
7851
7851
  "line": 156,
7852
7852
  "character": 18,
7853
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L156"
7853
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L156"
7854
7854
  }
7855
7855
  ],
7856
7856
  "parameters": [
@@ -8585,7 +8585,7 @@
8585
8585
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
8586
8586
  "line": 166,
8587
8587
  "character": 27,
8588
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L166"
8588
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L166"
8589
8589
  }
8590
8590
  ],
8591
8591
  "signatures": [
@@ -8600,7 +8600,7 @@
8600
8600
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
8601
8601
  "line": 166,
8602
8602
  "character": 27,
8603
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L166"
8603
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L166"
8604
8604
  }
8605
8605
  ],
8606
8606
  "parameters": [
@@ -9303,7 +9303,7 @@
9303
9303
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
9304
9304
  "line": 192,
9305
9305
  "character": 18,
9306
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L192"
9306
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L192"
9307
9307
  }
9308
9308
  ],
9309
9309
  "signatures": [
@@ -9318,7 +9318,7 @@
9318
9318
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
9319
9319
  "line": 192,
9320
9320
  "character": 18,
9321
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L192"
9321
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L192"
9322
9322
  }
9323
9323
  ],
9324
9324
  "parameters": [
@@ -9413,7 +9413,7 @@
9413
9413
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
9414
9414
  "line": 198,
9415
9415
  "character": 18,
9416
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L198"
9416
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L198"
9417
9417
  }
9418
9418
  ],
9419
9419
  "signatures": [
@@ -9428,7 +9428,7 @@
9428
9428
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
9429
9429
  "line": 198,
9430
9430
  "character": 18,
9431
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L198"
9431
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L198"
9432
9432
  }
9433
9433
  ],
9434
9434
  "parameters": [
@@ -9523,7 +9523,7 @@
9523
9523
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
9524
9524
  "line": 206,
9525
9525
  "character": 18,
9526
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L206"
9526
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L206"
9527
9527
  }
9528
9528
  ],
9529
9529
  "signatures": [
@@ -9538,7 +9538,7 @@
9538
9538
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
9539
9539
  "line": 206,
9540
9540
  "character": 18,
9541
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L206"
9541
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L206"
9542
9542
  }
9543
9543
  ],
9544
9544
  "parameters": [
@@ -11041,7 +11041,7 @@
11041
11041
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
11042
11042
  "line": 276,
11043
11043
  "character": 10,
11044
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L276"
11044
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L276"
11045
11045
  }
11046
11046
  ],
11047
11047
  "signatures": [
@@ -11056,7 +11056,7 @@
11056
11056
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
11057
11057
  "line": 276,
11058
11058
  "character": 10,
11059
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L276"
11059
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L276"
11060
11060
  }
11061
11061
  ],
11062
11062
  "type": {
@@ -17124,7 +17124,7 @@
17124
17124
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
17125
17125
  "line": 216,
17126
17126
  "character": 18,
17127
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L216"
17127
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L216"
17128
17128
  }
17129
17129
  ],
17130
17130
  "signatures": [
@@ -17147,7 +17147,7 @@
17147
17147
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
17148
17148
  "line": 216,
17149
17149
  "character": 18,
17150
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L216"
17150
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L216"
17151
17151
  }
17152
17152
  ],
17153
17153
  "type": {
@@ -17262,7 +17262,7 @@
17262
17262
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
17263
17263
  "line": 262,
17264
17264
  "character": 27,
17265
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L262"
17265
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L262"
17266
17266
  }
17267
17267
  ],
17268
17268
  "signatures": [
@@ -17277,7 +17277,7 @@
17277
17277
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
17278
17278
  "line": 262,
17279
17279
  "character": 27,
17280
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L262"
17280
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L262"
17281
17281
  }
17282
17282
  ],
17283
17283
  "type": {
@@ -17495,7 +17495,7 @@
17495
17495
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
17496
17496
  "line": 268,
17497
17497
  "character": 27,
17498
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L268"
17498
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L268"
17499
17499
  }
17500
17500
  ],
17501
17501
  "signatures": [
@@ -17510,7 +17510,7 @@
17510
17510
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
17511
17511
  "line": 268,
17512
17512
  "character": 27,
17513
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L268"
17513
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L268"
17514
17514
  }
17515
17515
  ],
17516
17516
  "parameters": [
@@ -18761,7 +18761,7 @@
18761
18761
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
18762
18762
  "line": 53,
18763
18763
  "character": 13,
18764
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L53"
18764
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L53"
18765
18765
  }
18766
18766
  ],
18767
18767
  "typeParameters": [
@@ -18822,7 +18822,7 @@
18822
18822
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
18823
18823
  "line": 30,
18824
18824
  "character": 12,
18825
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L30"
18825
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L30"
18826
18826
  }
18827
18827
  ],
18828
18828
  "type": {
@@ -18857,7 +18857,7 @@
18857
18857
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
18858
18858
  "line": 31,
18859
18859
  "character": 2,
18860
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L31"
18860
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L31"
18861
18861
  }
18862
18862
  ],
18863
18863
  "type": {
@@ -18879,7 +18879,7 @@
18879
18879
  "fileName": "plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts",
18880
18880
  "line": 30,
18881
18881
  "character": 59,
18882
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/329e1cefafe53/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L30"
18882
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/blob/b1d6f519bacda/packages/plugins/packages/payloadset/packages/image-thumbnail/packages/diviner/src/Diviner/Diviner.ts#L30"
18883
18883
  }
18884
18884
  ]
18885
18885
  }
package/package.json CHANGED
@@ -10,33 +10,33 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/assert": "^2.12.22",
14
- "@xylabs/exists": "^2.12.22",
15
- "@xyo-network/abstract-diviner": "~2.75.15",
16
- "@xyo-network/archivist-model": "~2.75.15",
17
- "@xyo-network/archivist-wrapper": "~2.75.15",
18
- "@xyo-network/boundwitness-model": "~2.75.15",
19
- "@xyo-network/core": "~2.75.15",
20
- "@xyo-network/diviner-boundwitness-model": "~2.75.15",
21
- "@xyo-network/diviner-model": "~2.75.15",
22
- "@xyo-network/diviner-payload-model": "~2.75.15",
23
- "@xyo-network/diviner-wrapper": "~2.75.15",
24
- "@xyo-network/image-thumbnail-payload-plugin": "~2.75.15",
25
- "@xyo-network/module-model": "~2.75.15",
26
- "@xyo-network/payload-builder": "~2.75.15",
27
- "@xyo-network/payload-model": "~2.75.15",
28
- "@xyo-network/witness-timestamp": "~2.75.15"
13
+ "@xylabs/assert": "^2.12.23",
14
+ "@xylabs/exists": "^2.12.23",
15
+ "@xyo-network/abstract-diviner": "~2.75.16",
16
+ "@xyo-network/archivist-model": "~2.75.16",
17
+ "@xyo-network/archivist-wrapper": "~2.75.16",
18
+ "@xyo-network/boundwitness-model": "~2.75.16",
19
+ "@xyo-network/core": "~2.75.16",
20
+ "@xyo-network/diviner-boundwitness-model": "~2.75.16",
21
+ "@xyo-network/diviner-model": "~2.75.16",
22
+ "@xyo-network/diviner-payload-model": "~2.75.16",
23
+ "@xyo-network/diviner-wrapper": "~2.75.16",
24
+ "@xyo-network/image-thumbnail-payload-plugin": "~2.75.16",
25
+ "@xyo-network/module-model": "~2.75.16",
26
+ "@xyo-network/payload-builder": "~2.75.16",
27
+ "@xyo-network/payload-model": "~2.75.16",
28
+ "@xyo-network/witness-timestamp": "~2.75.16"
29
29
  },
30
30
  "devDependencies": {
31
- "@xylabs/delay": "^2.12.22",
32
- "@xylabs/ts-scripts-yarn3": "^3.0.88",
33
- "@xylabs/tsconfig": "^3.0.88",
34
- "@xyo-network/account": "~2.75.15",
35
- "@xyo-network/boundwitness-builder": "~2.75.15",
36
- "@xyo-network/diviner-boundwitness-memory": "~2.75.15",
37
- "@xyo-network/diviner-payload-memory": "~2.75.15",
38
- "@xyo-network/memory-archivist": "~2.75.15",
39
- "@xyo-network/node-memory": "~2.75.15",
31
+ "@xylabs/delay": "^2.12.23",
32
+ "@xylabs/ts-scripts-yarn3": "^3.1.3",
33
+ "@xylabs/tsconfig": "^3.1.3",
34
+ "@xyo-network/account": "~2.75.16",
35
+ "@xyo-network/boundwitness-builder": "~2.75.16",
36
+ "@xyo-network/diviner-boundwitness-memory": "~2.75.16",
37
+ "@xyo-network/diviner-payload-memory": "~2.75.16",
38
+ "@xyo-network/memory-archivist": "~2.75.16",
39
+ "@xyo-network/node-memory": "~2.75.16",
40
40
  "typescript": "^5.2.2"
41
41
  },
42
42
  "description": "Primary SDK for using XYO Protocol 2.0",
@@ -82,7 +82,7 @@
82
82
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
83
83
  },
84
84
  "sideEffects": false,
85
- "version": "2.75.15",
85
+ "version": "2.75.16",
86
86
  "xy": {
87
87
  "compile": {
88
88
  "browser": {
@@ -1,233 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/Diviner/Diviner.ts
21
- var Diviner_exports = {};
22
- __export(Diviner_exports, {
23
- ImageThumbnailDiviner: () => ImageThumbnailDiviner
24
- });
25
- module.exports = __toCommonJS(Diviner_exports);
26
- var import_assert = require("@xylabs/assert");
27
- var import_exists = require("@xylabs/exists");
28
- var import_abstract_diviner = require("@xyo-network/abstract-diviner");
29
- var import_archivist_model = require("@xyo-network/archivist-model");
30
- var import_archivist_wrapper = require("@xyo-network/archivist-wrapper");
31
- var import_boundwitness_model = require("@xyo-network/boundwitness-model");
32
- var import_core = require("@xyo-network/core");
33
- var import_diviner_boundwitness_model = require("@xyo-network/diviner-boundwitness-model");
34
- var import_diviner_model = require("@xyo-network/diviner-model");
35
- var import_diviner_payload_model = require("@xyo-network/diviner-payload-model");
36
- var import_diviner_wrapper = require("@xyo-network/diviner-wrapper");
37
- var import_image_thumbnail_payload_plugin = require("@xyo-network/image-thumbnail-payload-plugin");
38
- var import_module_model = require("@xyo-network/module-model");
39
- var import_payload_builder = require("@xyo-network/payload-builder");
40
- var import_witness_timestamp = require("@xyo-network/witness-timestamp");
41
- var moduleName = "ImageThumbnailDiviner";
42
- var ImageThumbnailDiviner = class extends import_abstract_diviner.AbstractDiviner {
43
- static configSchemas = [import_image_thumbnail_payload_plugin.ImageThumbnailDivinerConfigSchema, import_diviner_model.DivinerConfigSchema];
44
- _pollId;
45
- get payloadDivinerLimit() {
46
- return this.config.payloadDivinerLimit ?? 1e4;
47
- }
48
- get pollFrequency() {
49
- return this.config.pollFrequency ?? 1e4;
50
- }
51
- /**
52
- * Works in the background to populate index for the Diviner
53
- * @returns
54
- */
55
- backgroundDivine = async () => {
56
- const lastState = await this.retrieveState() ?? { offset: 0 };
57
- const { offset } = lastState;
58
- const boundWitnessDiviner = await this.getBoundWitnessDivinerForStore("thumbnailStore");
59
- const query = new import_payload_builder.PayloadBuilder({ schema: import_diviner_boundwitness_model.BoundWitnessDivinerQuerySchema }).fields({
60
- limit: this.payloadDivinerLimit,
61
- offset,
62
- order: "asc",
63
- payload_schemas: [import_image_thumbnail_payload_plugin.ImageThumbnailSchema, import_witness_timestamp.TimestampSchema]
64
- });
65
- const batch = await boundWitnessDiviner.divine([query]);
66
- if (batch.length === 0)
67
- return;
68
- const indexableHashes = (await Promise.all(
69
- batch.filter(import_boundwitness_model.isBoundWitness).map(async (bw) => {
70
- const imageThumbnailIndexes = bw.payload_schemas?.map((schema, index) => schema === import_image_thumbnail_payload_plugin.ImageThumbnailSchema ? index : void 0).filter(import_exists.exists);
71
- const timestampIndex = bw.payload_schemas?.findIndex((schema) => schema === import_witness_timestamp.TimestampSchema);
72
- if (!imageThumbnailIndexes.length || timestampIndex === -1)
73
- return void 0;
74
- const imageThumbnails = bw.payload_hashes.map((hash, index) => imageThumbnailIndexes.includes(index) ? hash : void 0).filter(import_exists.exists);
75
- const timestampHash = bw.payload_hashes?.[timestampIndex];
76
- const boundWitnessHash = await import_core.PayloadHasher.hashAsync(bw);
77
- return imageThumbnails.map((imageThumbnailHash) => [boundWitnessHash, imageThumbnailHash, timestampHash]);
78
- })
79
- )).flat().filter(import_exists.exists);
80
- const archivist = await this.getArchivistForStore("thumbnailStore");
81
- const indexableData = (await Promise.all(
82
- indexableHashes.map(async ([boundWitnessHash, imageThumbnailHash, timestampHash]) => {
83
- const results = await archivist.get([imageThumbnailHash, timestampHash]);
84
- const imageThumbnailPayload = results.find(import_image_thumbnail_payload_plugin.isImageThumbnail);
85
- const timestampPayload = results.find(import_witness_timestamp.isTimestamp);
86
- if (!imageThumbnailPayload || !timestampPayload)
87
- return void 0;
88
- const calculatedImageThumbnailHash = await import_core.PayloadHasher.hashAsync(imageThumbnailPayload);
89
- const calculatedTimestampHash = await import_core.PayloadHasher.hashAsync(timestampPayload);
90
- if (imageThumbnailHash !== calculatedImageThumbnailHash || timestampHash !== calculatedTimestampHash)
91
- return void 0;
92
- return [boundWitnessHash, imageThumbnailHash, imageThumbnailPayload, timestampHash, timestampPayload];
93
- })
94
- )).filter(import_exists.exists);
95
- const indexes = indexableData.map(
96
- ([boundWitnessHash, thumbnailHash, thumbnailPayload, timestampHash, timestampPayload]) => {
97
- const { sourceUrl: url } = thumbnailPayload;
98
- const { timestamp } = timestampPayload;
99
- const status = thumbnailPayload.http?.status;
100
- const success = thumbnailPayload.http?.status ? true : false;
101
- const sources = [boundWitnessHash, thumbnailHash, timestampHash];
102
- const fields = status ? { sources, status, success, timestamp, url } : { sources, success, timestamp, url };
103
- const result = new import_payload_builder.PayloadBuilder({ schema: import_image_thumbnail_payload_plugin.ImageThumbnailResultIndexSchema }).fields(fields).build();
104
- return result;
105
- }
106
- );
107
- const indexArchivist = await this.getArchivistForStore("indexStore");
108
- await indexArchivist.insert(indexes);
109
- const nextOffset = offset + batch.length + 1;
110
- const currentState = { ...lastState, offset: nextOffset };
111
- await this.commitState(currentState);
112
- };
113
- /**
114
- * Commit the internal state of the Diviner process. This is similar
115
- * to a transaction completion in a database and should only be called
116
- * when results have been successfully persisted to the appropriate
117
- * external stores.
118
- */
119
- async commitState(state) {
120
- const stateStore = (0, import_assert.assertEx)(this.config.stateStore?.archivist, `${moduleName}: No stateStore configured`);
121
- const module2 = (0, import_assert.assertEx)(await this.resolve(stateStore), `${moduleName}: Failed to resolve stateStore`);
122
- await (0, import_archivist_model.withArchivistModule)(module2, async (archivist) => {
123
- const mod = import_archivist_wrapper.ArchivistWrapper.wrap(archivist, this.account);
124
- const payload = new import_payload_builder.PayloadBuilder({ schema: import_module_model.ModuleStateSchema }).fields({ state }).build();
125
- await mod.insert([payload]);
126
- });
127
- }
128
- async divineHandler(payloads = []) {
129
- const urls = payloads.filter(import_image_thumbnail_payload_plugin.isImageThumbnailDivinerQuery);
130
- const diviner = await this.getPayloadDivinerForStore("indexStore");
131
- const results = (await Promise.all(
132
- urls.map(async (payload) => {
133
- const { limit: payloadLimit, offset: payloadOffset, order: payloadOrder, status: payloadStatus, success: payloadSuccess, url } = payload;
134
- const limit = payloadLimit ?? 1;
135
- const order = payloadOrder ?? "desc";
136
- const offset = payloadOffset ?? 0;
137
- const success = payloadSuccess ?? true;
138
- const fields = { limit, offset, order, success, url };
139
- if (payloadSuccess === void 0)
140
- fields.status = payloadStatus ?? 200;
141
- if (success === true && payloadStatus !== void 0)
142
- fields.status = payloadStatus;
143
- const query = new import_payload_builder.PayloadBuilder({ schema: import_diviner_payload_model.PayloadDivinerQuerySchema }).fields(fields).build();
144
- return await diviner.divine([query]);
145
- })
146
- )).flat().filter(import_image_thumbnail_payload_plugin.isImageThumbnailResult);
147
- return results;
148
- }
149
- async getArchivistForStore(store, wrap) {
150
- const name = (0, import_assert.assertEx)(this.config?.[store]?.archivist, () => `${moduleName}: Config for ${store}.archivist not specified`);
151
- const mod = (0, import_assert.assertEx)(await this.resolve(name), () => `${moduleName}: Failed to resolve ${store}.archivist`);
152
- return wrap ? import_archivist_wrapper.ArchivistWrapper.wrap(mod, this.account) : (0, import_archivist_model.asArchivistInstance)(mod, () => `${moduleName}: ${store}.archivist is not an Archivist`);
153
- }
154
- async getBoundWitnessDivinerForStore(store, wrap) {
155
- const name = (0, import_assert.assertEx)(this.config?.[store]?.boundWitnessDiviner, () => `${moduleName}: Config for ${store}.boundWitnessDiviner not specified`);
156
- const mod = (0, import_assert.assertEx)(await this.resolve(name), () => `${moduleName}: Failed to resolve ${store}.boundWitnessDiviner`);
157
- return wrap ? import_diviner_wrapper.DivinerWrapper.wrap(mod, this.account) : (0, import_diviner_model.asDivinerInstance)(mod, () => `${moduleName}: ${store}.boundWitnessDiviner is not a Diviner`);
158
- }
159
- async getPayloadDivinerForStore(store, wrap) {
160
- const name = (0, import_assert.assertEx)(this.config?.[store]?.payloadDiviner, () => `${moduleName}: Config for ${store}.payloadDiviner not specified`);
161
- const mod = (0, import_assert.assertEx)(await this.resolve(name), () => `${moduleName}: Failed to resolve ${store}.payloadDiviner`);
162
- return wrap ? import_diviner_wrapper.DivinerWrapper.wrap(mod, this.account) : (0, import_diviner_model.asDivinerInstance)(mod, () => `${moduleName}: ${store}.payloadDiviner is not a Diviner`);
163
- }
164
- /**
165
- * Retrieves the last state of the Diviner process. Used to recover state after
166
- * preemptions, reboots, etc.
167
- */
168
- async retrieveState() {
169
- let hash = "";
170
- const diviner = await this.getBoundWitnessDivinerForStore("stateStore");
171
- const query = new import_payload_builder.PayloadBuilder({ schema: import_diviner_boundwitness_model.BoundWitnessDivinerQuerySchema }).fields({
172
- address: this.account.address,
173
- limit: 1,
174
- offset: 0,
175
- order: "desc",
176
- payload_schemas: [import_module_model.ModuleStateSchema]
177
- });
178
- const boundWitnesses = await diviner.divine([query]);
179
- if (boundWitnesses.length > 0) {
180
- const boundWitness = boundWitnesses[0];
181
- if ((0, import_boundwitness_model.isBoundWitness)(boundWitness)) {
182
- hash = boundWitness.addresses.map((address, index) => ({ address, index })).filter(({ address }) => address === this.account.address).reduce(
183
- (prev, curr) => boundWitness.payload_schemas?.[curr?.index] === import_module_model.ModuleStateSchema ? boundWitness.payload_hashes[curr?.index] : prev,
184
- ""
185
- );
186
- }
187
- }
188
- if (hash) {
189
- const stateStoreArchivist = (0, import_assert.assertEx)(this.config.stateStore?.archivist, `${moduleName}: No stateStore archivist configured`);
190
- await (0, import_archivist_model.withArchivistModule)(
191
- (0, import_assert.assertEx)(await this.resolve(stateStoreArchivist), `${moduleName}: Failed to resolve stateStore archivist`),
192
- async (mod) => {
193
- const archivist = import_archivist_wrapper.ArchivistWrapper.wrap(mod, this.account);
194
- const payloads = await archivist.get([hash]);
195
- if (payloads.length > 0) {
196
- const payload = payloads[0];
197
- if ((0, import_module_model.isModuleState)(payload)) {
198
- return payload.state;
199
- }
200
- }
201
- }
202
- );
203
- }
204
- return void 0;
205
- }
206
- async startHandler() {
207
- await super.startHandler();
208
- this.poll();
209
- return true;
210
- }
211
- async stopHandler(_timeout) {
212
- if (this._pollId) {
213
- clearTimeout(this._pollId);
214
- this._pollId = void 0;
215
- }
216
- return await super.stopHandler();
217
- }
218
- poll() {
219
- this._pollId = setTimeout(async () => {
220
- try {
221
- await this.backgroundDivine();
222
- } catch (e) {
223
- console.log(e);
224
- } finally {
225
- if (this._pollId)
226
- clearTimeout(this._pollId);
227
- this._pollId = void 0;
228
- this.poll();
229
- }
230
- }, this.pollFrequency);
231
- }
232
- };
233
- //# sourceMappingURL=Diviner.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/Diviner/Diviner.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { AbstractDiviner } from '@xyo-network/abstract-diviner'\nimport { asArchivistInstance, withArchivistModule } from '@xyo-network/archivist-model'\nimport { ArchivistWrapper } from '@xyo-network/archivist-wrapper'\nimport { isBoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadHasher } from '@xyo-network/core'\nimport { BoundWitnessDivinerQueryPayload, BoundWitnessDivinerQuerySchema } from '@xyo-network/diviner-boundwitness-model'\nimport { asDivinerInstance, DivinerConfigSchema } from '@xyo-network/diviner-model'\nimport { PayloadDivinerQueryPayload, PayloadDivinerQuerySchema } from '@xyo-network/diviner-payload-model'\nimport { DivinerWrapper } from '@xyo-network/diviner-wrapper'\nimport {\n ImageThumbnail,\n ImageThumbnailDivinerConfig,\n ImageThumbnailDivinerConfigSchema,\n ImageThumbnailDivinerParams,\n ImageThumbnailResult,\n ImageThumbnailResultIndexSchema,\n ImageThumbnailResultInfo,\n ImageThumbnailSchema,\n isImageThumbnail,\n isImageThumbnailDivinerQuery,\n isImageThumbnailResult,\n} from '@xyo-network/image-thumbnail-payload-plugin'\nimport { isModuleState, ModuleState, ModuleStateSchema, StateDictionary } from '@xyo-network/module-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\nimport { isTimestamp, TimeStamp, TimestampSchema } from '@xyo-network/witness-timestamp'\n\nexport type ImageThumbnailDivinerState = StateDictionary & {\n offset: number\n}\n\ntype ConfigStoreKey = 'indexStore' | 'stateStore' | 'thumbnailStore'\n\ntype ConfigStore = Extract<keyof ImageThumbnailDivinerConfig, ConfigStoreKey>\n\n/**\n * The fields that will need to be indexed on in the underlying store\n */\ntype QueryableImageThumbnailResultProperties = Extract<keyof ImageThumbnailResultInfo, 'status' | 'success' | 'timestamp' | 'url'>\n\n/**\n * The query that will be used to retrieve the results from the underlying store\n */\ntype ImageThumbnailResultQuery = PayloadDivinerQueryPayload & { schemas: [ImageThumbnailSchema] } & Pick<\n ImageThumbnailResult,\n QueryableImageThumbnailResultProperties\n >\n\nconst moduleName = 'ImageThumbnailDiviner'\n\nexport class ImageThumbnailDiviner<TParams extends ImageThumbnailDivinerParams = ImageThumbnailDivinerParams> extends AbstractDiviner<TParams> {\n static override configSchemas = [ImageThumbnailDivinerConfigSchema, DivinerConfigSchema]\n\n private _pollId?: string | number | NodeJS.Timeout\n\n get payloadDivinerLimit() {\n return this.config.payloadDivinerLimit ?? 1_0000\n }\n\n get pollFrequency() {\n return this.config.pollFrequency ?? 10_000\n }\n\n /**\n * Works in the background to populate index for the Diviner\n * @returns\n */\n protected backgroundDivine = async (): Promise<void> => {\n // Load last state\n const lastState = (await this.retrieveState()) ?? { offset: 0 }\n const { offset } = lastState\n // Get next batch of results\n const boundWitnessDiviner = await this.getBoundWitnessDivinerForStore('thumbnailStore')\n const query = new PayloadBuilder<BoundWitnessDivinerQueryPayload>({ schema: BoundWitnessDivinerQuerySchema }).fields({\n limit: this.payloadDivinerLimit,\n offset,\n order: 'asc',\n payload_schemas: [ImageThumbnailSchema, TimestampSchema],\n })\n const batch = await boundWitnessDiviner.divine([query])\n if (batch.length === 0) return\n // Find all the indexable hashes in this batch\n type IndexableHashes = Readonly<[boundWitnessHash: string, imageThumbnailHash: string, timestampHash: string]>\n const indexableHashes: IndexableHashes[] = (\n await Promise.all(\n batch.filter(isBoundWitness).map(async (bw) => {\n const imageThumbnailIndexes = bw.payload_schemas\n ?.map((schema, index) => (schema === ImageThumbnailSchema ? index : undefined))\n .filter(exists)\n const timestampIndex = bw.payload_schemas?.findIndex((schema) => schema === TimestampSchema)\n if (!imageThumbnailIndexes.length || timestampIndex === -1) return undefined\n const imageThumbnails = bw.payload_hashes.map((hash, index) => (imageThumbnailIndexes.includes(index) ? hash : undefined)).filter(exists)\n const timestampHash = bw.payload_hashes?.[timestampIndex]\n const boundWitnessHash = await PayloadHasher.hashAsync(bw)\n return imageThumbnails.map((imageThumbnailHash) => [boundWitnessHash, imageThumbnailHash, timestampHash] as const)\n }),\n )\n )\n .flat()\n .filter(exists)\n const archivist = await this.getArchivistForStore('thumbnailStore')\n // Find all the indexable data associated with the indexable hashes\n type IndexableData = Readonly<\n [\n boundWitnessHash: string,\n imageThumbnailHash: string,\n imageThumbnailPayload: ImageThumbnail,\n timestampHash: string,\n timestampPayload: TimeStamp,\n ]\n >\n const indexableData: IndexableData[] = (\n await Promise.all(\n indexableHashes.map(async ([boundWitnessHash, imageThumbnailHash, timestampHash]) => {\n const results = await archivist.get([imageThumbnailHash, timestampHash])\n const imageThumbnailPayload = results.find(isImageThumbnail)\n const timestampPayload = results.find(isTimestamp)\n if (!imageThumbnailPayload || !timestampPayload) return undefined\n const calculatedImageThumbnailHash = await PayloadHasher.hashAsync(imageThumbnailPayload)\n const calculatedTimestampHash = await PayloadHasher.hashAsync(timestampPayload)\n if (imageThumbnailHash !== calculatedImageThumbnailHash || timestampHash !== calculatedTimestampHash) return undefined\n return [boundWitnessHash, imageThumbnailHash, imageThumbnailPayload, timestampHash, timestampPayload] as const\n }),\n )\n ).filter(exists)\n // Build index results from the indexable data\n const indexes: ImageThumbnailResult[] = indexableData.map(\n ([boundWitnessHash, thumbnailHash, thumbnailPayload, timestampHash, timestampPayload]) => {\n const { sourceUrl: url } = thumbnailPayload\n const { timestamp } = timestampPayload\n const status = thumbnailPayload.http?.status\n const success = thumbnailPayload.http?.status ? true : false\n const sources = [boundWitnessHash, thumbnailHash, timestampHash]\n const fields = status ? { sources, status, success, timestamp, url } : { sources, success, timestamp, url }\n const result = new PayloadBuilder<ImageThumbnailResult>({ schema: ImageThumbnailResultIndexSchema }).fields(fields).build()\n return result\n },\n )\n // Insert index results\n const indexArchivist = await this.getArchivistForStore('indexStore')\n await indexArchivist.insert(indexes)\n // Update state\n const nextOffset = offset + batch.length + 1\n const currentState = { ...lastState, offset: nextOffset }\n await this.commitState(currentState)\n }\n\n /**\n * Commit the internal state of the Diviner process. This is similar\n * to a transaction completion in a database and should only be called\n * when results have been successfully persisted to the appropriate\n * external stores.\n */\n protected async commitState(state: ImageThumbnailDivinerState) {\n const stateStore = assertEx(this.config.stateStore?.archivist, `${moduleName}: No stateStore configured`)\n const module = assertEx(await this.resolve(stateStore), `${moduleName}: Failed to resolve stateStore`)\n await withArchivistModule(module, async (archivist) => {\n const mod = ArchivistWrapper.wrap(archivist, this.account)\n const payload = new PayloadBuilder<ModuleState<ImageThumbnailDivinerState>>({ schema: ModuleStateSchema }).fields({ state }).build()\n await mod.insert([payload])\n })\n }\n\n protected override async divineHandler(payloads: Payload[] = []): Promise<ImageThumbnailResult[]> {\n const urls = payloads.filter(isImageThumbnailDivinerQuery)\n const diviner = await this.getPayloadDivinerForStore('indexStore')\n const results = (\n await Promise.all(\n urls.map(async (payload) => {\n const { limit: payloadLimit, offset: payloadOffset, order: payloadOrder, status: payloadStatus, success: payloadSuccess, url } = payload\n const limit = payloadLimit ?? 1\n const order = payloadOrder ?? 'desc'\n const offset = payloadOffset ?? 0\n const success = payloadSuccess ?? true\n const fields: Partial<ImageThumbnailResultQuery> = { limit, offset, order, success, url }\n // Default to filtering on 200 status code if success was not supplied\n if (payloadSuccess === undefined) fields.status = payloadStatus ?? 200\n // If success is true and status was supplied, use it\n if (success === true && payloadStatus !== undefined) fields.status = payloadStatus\n const query = new PayloadBuilder<ImageThumbnailResultQuery>({ schema: PayloadDivinerQuerySchema }).fields(fields).build()\n return await diviner.divine([query])\n }),\n )\n )\n .flat()\n .filter(isImageThumbnailResult)\n return results\n }\n\n protected async getArchivistForStore(store: ConfigStore, wrap?: boolean) {\n const name = assertEx(this.config?.[store]?.archivist, () => `${moduleName}: Config for ${store}.archivist not specified`)\n const mod = assertEx(await this.resolve(name), () => `${moduleName}: Failed to resolve ${store}.archivist`)\n return wrap ? ArchivistWrapper.wrap(mod, this.account) : asArchivistInstance(mod, () => `${moduleName}: ${store}.archivist is not an Archivist`)\n }\n\n protected async getBoundWitnessDivinerForStore(store: ConfigStore, wrap?: boolean) {\n const name = assertEx(this.config?.[store]?.boundWitnessDiviner, () => `${moduleName}: Config for ${store}.boundWitnessDiviner not specified`)\n const mod = assertEx(await this.resolve(name), () => `${moduleName}: Failed to resolve ${store}.boundWitnessDiviner`)\n return wrap\n ? DivinerWrapper.wrap(mod, this.account)\n : asDivinerInstance(mod, () => `${moduleName}: ${store}.boundWitnessDiviner is not a Diviner`)\n }\n\n protected async getPayloadDivinerForStore(store: ConfigStore, wrap?: boolean) {\n const name = assertEx(this.config?.[store]?.payloadDiviner, () => `${moduleName}: Config for ${store}.payloadDiviner not specified`)\n const mod = assertEx(await this.resolve(name), () => `${moduleName}: Failed to resolve ${store}.payloadDiviner`)\n return wrap ? DivinerWrapper.wrap(mod, this.account) : asDivinerInstance(mod, () => `${moduleName}: ${store}.payloadDiviner is not a Diviner`)\n }\n\n /**\n * Retrieves the last state of the Diviner process. Used to recover state after\n * preemptions, reboots, etc.\n */\n protected async retrieveState(): Promise<ImageThumbnailDivinerState | undefined> {\n let hash: string = ''\n const diviner = await this.getBoundWitnessDivinerForStore('stateStore')\n const query = new PayloadBuilder<BoundWitnessDivinerQueryPayload>({ schema: BoundWitnessDivinerQuerySchema }).fields({\n address: this.account.address,\n limit: 1,\n offset: 0,\n order: 'desc',\n payload_schemas: [ModuleStateSchema],\n })\n const boundWitnesses = await diviner.divine([query])\n if (boundWitnesses.length > 0) {\n const boundWitness = boundWitnesses[0]\n if (isBoundWitness(boundWitness)) {\n // Find the index for this address in the BoundWitness that is a ModuleState\n hash = boundWitness.addresses\n .map((address, index) => ({ address, index }))\n .filter(({ address }) => address === this.account.address)\n .reduce(\n (prev, curr) => (boundWitness.payload_schemas?.[curr?.index] === ModuleStateSchema ? boundWitness.payload_hashes[curr?.index] : prev),\n '',\n )\n }\n }\n\n // If we able to located the last state\n if (hash) {\n // Get last state\n const stateStoreArchivist = assertEx(this.config.stateStore?.archivist, `${moduleName}: No stateStore archivist configured`)\n await withArchivistModule(\n assertEx(await this.resolve(stateStoreArchivist), `${moduleName}: Failed to resolve stateStore archivist`),\n async (mod) => {\n const archivist = ArchivistWrapper.wrap(mod, this.account)\n const payloads = await archivist.get([hash])\n if (payloads.length > 0) {\n const payload = payloads[0]\n if (isModuleState(payload)) {\n return payload.state\n }\n }\n },\n )\n }\n return undefined\n }\n\n protected override async startHandler(): Promise<boolean> {\n await super.startHandler()\n this.poll()\n return true\n }\n\n protected override async stopHandler(_timeout?: number | undefined): Promise<boolean> {\n if (this._pollId) {\n clearTimeout(this._pollId)\n this._pollId = undefined\n }\n return await super.stopHandler()\n }\n\n private poll() {\n this._pollId = setTimeout(async () => {\n try {\n await this.backgroundDivine()\n } catch (e) {\n console.log(e)\n } finally {\n if (this._pollId) clearTimeout(this._pollId)\n this._pollId = undefined\n this.poll()\n }\n }, this.pollFrequency)\n }\n}\n"],"mappings":"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","names":["module"]}