@xyo-network/diviner-image-thumbnail 6.1.0 → 7.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 (23) hide show
  1. package/dist/neutral/Diviner/Diviner.d.ts +1 -1
  2. package/dist/neutral/Diviner/Diviner.d.ts.map +1 -1
  3. package/dist/neutral/Diviner/ImageThumbnailDivinerLabels.d.ts +1 -1
  4. package/dist/neutral/Diviner/ImageThumbnailDivinerLabels.d.ts.map +1 -1
  5. package/dist/neutral/Diviner/ImageThumbnailDivinerState.d.ts +1 -1
  6. package/dist/neutral/Diviner/ImageThumbnailDivinerState.d.ts.map +1 -1
  7. package/dist/neutral/Diviner/ImageThumbnailIndexCandidateToImageThumbnailIndexDiviner.d.ts +2 -2
  8. package/dist/neutral/Diviner/ImageThumbnailIndexCandidateToImageThumbnailIndexDiviner.d.ts.map +1 -1
  9. package/dist/neutral/Diviner/ImageThumbnailIndexQueryResponseToImageThumbnailQueryResponseDiviner.d.ts +2 -2
  10. package/dist/neutral/Diviner/ImageThumbnailIndexQueryResponseToImageThumbnailQueryResponseDiviner.d.ts.map +1 -1
  11. package/dist/neutral/Diviner/ImageThumbnailQueryToImageThumbnailIndexQueryDiviner.d.ts +2 -2
  12. package/dist/neutral/Diviner/ImageThumbnailQueryToImageThumbnailIndexQueryDiviner.d.ts.map +1 -1
  13. package/dist/neutral/Diviner/ImageThumbnailResultQuery.d.ts +154 -3
  14. package/dist/neutral/Diviner/ImageThumbnailResultQuery.d.ts.map +1 -1
  15. package/dist/neutral/Diviner/ImageThumbnailStateToIndexCandidateDiviner/Config.d.ts +1 -1
  16. package/dist/neutral/Diviner/ImageThumbnailStateToIndexCandidateDiviner/Config.d.ts.map +1 -1
  17. package/dist/neutral/Diviner/ImageThumbnailStateToIndexCandidateDiviner/Diviner.d.ts +4 -4
  18. package/dist/neutral/Diviner/ImageThumbnailStateToIndexCandidateDiviner/Diviner.d.ts.map +1 -1
  19. package/dist/neutral/Diviner/ImageThumbnailStateToIndexCandidateDiviner/Params.d.ts +1 -1
  20. package/dist/neutral/Diviner/ImageThumbnailStateToIndexCandidateDiviner/Params.d.ts.map +1 -1
  21. package/dist/neutral/index.mjs +52 -30
  22. package/dist/neutral/index.mjs.map +3 -3
  23. package/package.json +33 -42
@@ -1,5 +1,5 @@
1
1
  import { IndexingDiviner } from '@xyo-network/diviner-indexing';
2
- import type { AttachableDivinerInstance } from '@xyo-network/sdk-js';
2
+ import type { AttachableDivinerInstance } from '@xyo-network/sdk';
3
3
  import { ImageThumbnailDivinerLabels } from './ImageThumbnailDivinerLabels.ts';
4
4
  export declare class ImageThumbnailDiviner extends IndexingDiviner implements AttachableDivinerInstance {
5
5
  static readonly labels: ImageThumbnailDivinerLabels;
@@ -1 +1 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAEpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAE9E,qBAAa,qBAAsB,SAAQ,eAAgB,YAAW,yBAAyB;IAC7F,gBAAyB,MAAM,EAAE,2BAA2B,CAAsD;CACnH"}
1
+ {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAEjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAE9E,qBAAa,qBAAsB,SAAQ,eAAgB,YAAW,yBAAyB;IAC7F,gBAAyB,MAAM,EAAE,2BAA2B,CAAsD;CACnH"}
@@ -1,5 +1,5 @@
1
1
  import type { DivinerStageSchema, IndexingDivinerStage } from '@xyo-network/diviner-indexing';
2
- import type { Labels } from '@xyo-network/sdk-js';
2
+ import type { Labels } from '@xyo-network/sdk';
3
3
  /**
4
4
  * Labels for Image Thumbnail Diviner components
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ImageThumbnailDivinerLabels.d.ts","sourceRoot":"","sources":["../../../src/Diviner/ImageThumbnailDivinerLabels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAC7F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEjD;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,MAAM;IACzD,6BAA6B,EAAE,SAAS,CAAA;CACzC;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,2BAA0E,CAAA;AAEpH;;GAEG;AACH,MAAM,MAAM,gCAAgC,GAAG,2BAA2B,GAAG,MAAM,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAA"}
1
+ {"version":3,"file":"ImageThumbnailDivinerLabels.d.ts","sourceRoot":"","sources":["../../../src/Diviner/ImageThumbnailDivinerLabels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAC7F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAE9C;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,MAAM;IACzD,6BAA6B,EAAE,SAAS,CAAA;CACzC;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,2BAA0E,CAAA;AAEpH;;GAEG;AACH,MAAM,MAAM,gCAAgC,GAAG,2BAA2B,GAAG,MAAM,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { Sequence, StateDictionary } from '@xyo-network/sdk-js';
1
+ import type { Sequence, StateDictionary } from '@xyo-network/sdk';
2
2
  export type ImageThumbnailDivinerState = StateDictionary & {
3
3
  cursor: Sequence;
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ImageThumbnailDivinerState.d.ts","sourceRoot":"","sources":["../../../src/Diviner/ImageThumbnailDivinerState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAEpE,MAAM,MAAM,0BAA0B,GAAG,eAAe,GAAG;IACzD,MAAM,EAAE,QAAQ,CAAA;CACjB,CAAA"}
1
+ {"version":3,"file":"ImageThumbnailDivinerState.d.ts","sourceRoot":"","sources":["../../../src/Diviner/ImageThumbnailDivinerState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAEjE,MAAM,MAAM,0BAA0B,GAAG,eAAe,GAAG;IACzD,MAAM,EAAE,QAAQ,CAAA;CACjB,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import type { ImageThumbnailResultIndex } from '@xyo-network/image-thumbnail-payload-plugin';
2
- import type { Payload, Schema, WithSources } from '@xyo-network/sdk-js';
3
- import { AbstractDiviner } from '@xyo-network/sdk-js';
2
+ import type { Payload, Schema, WithSources } from '@xyo-network/sdk';
3
+ import { AbstractDiviner } from '@xyo-network/sdk';
4
4
  import type { ImageThumbnailDivinerStageLabels } from './ImageThumbnailDivinerLabels.ts';
5
5
  /**
6
6
  * Transforms candidates for image thumbnail indexing into their indexed representation
@@ -1 +1 @@
1
- {"version":3,"file":"ImageThumbnailIndexCandidateToImageThumbnailIndexDiviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/ImageThumbnailIndexCandidateToImageThumbnailIndexDiviner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,yBAAyB,EAE1B,MAAM,6CAA6C,CAAA;AAMpD,OAAO,KAAK,EAEV,OAAO,EAAE,MAAM,EAAE,WAAW,EAC7B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAK5B,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAA;AAGxF;;GAEG;AACH,qBAAa,wDAAyD,SAAQ,eAAe;IAC3F,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAgD;IAChG,gBAAyB,mBAAmB,EAAE,MAAM,CAAsB;IAC1E,gBAAyB,MAAM,EAAE,gCAAgC,CAIhE;cAEwB,aAAa,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,WAAW,CAAC,yBAAyB,CAAC,EAAE,CAAC;CA2CpH"}
1
+ {"version":3,"file":"ImageThumbnailIndexCandidateToImageThumbnailIndexDiviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/ImageThumbnailIndexCandidateToImageThumbnailIndexDiviner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,yBAAyB,EAE1B,MAAM,6CAA6C,CAAA;AAMpD,OAAO,KAAK,EAEV,OAAO,EAAE,MAAM,EAAE,WAAW,EAC7B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,eAAe,EAChB,MAAM,kBAAkB,CAAA;AAKzB,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAA;AAGxF;;GAEG;AACH,qBAAa,wDAAyD,SAAQ,eAAe;IAC3F,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAgD;IAChG,gBAAyB,mBAAmB,EAAE,MAAM,CAAsB;IAC1E,gBAAyB,MAAM,EAAE,gCAAgC,CAIhE;cAEwB,aAAa,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,WAAW,CAAC,yBAAyB,CAAC,EAAE,CAAC;CA4CpH"}
@@ -1,6 +1,6 @@
1
1
  import type { ImageThumbnailResult } from '@xyo-network/image-thumbnail-payload-plugin';
2
- import type { Payload, Schema } from '@xyo-network/sdk-js';
3
- import { AbstractDiviner } from '@xyo-network/sdk-js';
2
+ import type { Payload, Schema } from '@xyo-network/sdk';
3
+ import { AbstractDiviner } from '@xyo-network/sdk';
4
4
  import type { ImageThumbnailDivinerStageLabels } from './ImageThumbnailDivinerLabels.ts';
5
5
  /**
6
6
  * Transforms an ImageThumbnailIndex response into an ImageThumbnailResponse response
@@ -1 +1 @@
1
- {"version":3,"file":"ImageThumbnailIndexQueryResponseToImageThumbnailQueryResponseDiviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/ImageThumbnailIndexQueryResponseToImageThumbnailQueryResponseDiviner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,6CAA6C,CAAA;AAMpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EACL,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAA;AAGxF;;GAEG;AACH,qBAAa,oEAAqE,SAAQ,eAAe;IACvG,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAgD;IAChG,gBAAyB,mBAAmB,EAAE,MAAM,CAAsB;IAC1E,gBAAyB,MAAM,EAAE,gCAAgC,CAIhE;cAEwB,aAAa,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;CAmClG"}
1
+ {"version":3,"file":"ImageThumbnailIndexQueryResponseToImageThumbnailQueryResponseDiviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/ImageThumbnailIndexQueryResponseToImageThumbnailQueryResponseDiviner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EAGrB,MAAM,6CAA6C,CAAA;AAMpD,OAAO,KAAK,EACV,OAAO,EAAE,MAAM,EAChB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,eAAe,EAChB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAA;AAGxF;;GAEG;AACH,qBAAa,oEAAqE,SAAQ,eAAe;IACvG,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAgD;IAChG,gBAAyB,mBAAmB,EAAE,MAAM,CAAsB;IAC1E,gBAAyB,MAAM,EAAE,gCAAgC,CAIhE;cAEwB,aAAa,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;CAsClG"}
@@ -1,5 +1,5 @@
1
- import type { Payload, Schema } from '@xyo-network/sdk-js';
2
- import { AbstractDiviner } from '@xyo-network/sdk-js';
1
+ import type { Payload, Schema } from '@xyo-network/sdk';
2
+ import { AbstractDiviner } from '@xyo-network/sdk';
3
3
  import type { ImageThumbnailDivinerStageLabels } from './ImageThumbnailDivinerLabels.ts';
4
4
  import type { ImageThumbnailResultQuery } from './ImageThumbnailResultQuery.ts';
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ImageThumbnailQueryToImageThumbnailIndexQueryDiviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/ImageThumbnailQueryToImageThumbnailIndexQueryDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EACL,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAA;AAExF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAE/E;;GAEG;AACH,qBAAa,oDAAqD,SAAQ,eAAe;IACvF,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAgD;IAChG,gBAAyB,mBAAmB,EAAE,MAAM,CAAsB;IAC1E,gBAAyB,MAAM,EAAE,gCAAgC,CAIhE;cAEwB,aAAa,CACpC,QAAQ,GAAE,OAAO,EAAO,GACvB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,WAAW,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC;CA8BhJ"}
1
+ {"version":3,"file":"ImageThumbnailQueryToImageThumbnailIndexQueryDiviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/ImageThumbnailQueryToImageThumbnailIndexQueryDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EACL,eAAe,EAChB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAA;AAExF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAE/E;;GAEG;AACH,qBAAa,oDAAqD,SAAQ,eAAe;IACvF,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAgD;IAChG,gBAAyB,mBAAmB,EAAE,MAAM,CAAsB;IAC1E,gBAAyB,MAAM,EAAE,gCAAgC,CAIhE;cAEwB,aAAa,CACpC,QAAQ,GAAE,OAAO,EAAO,GACvB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,WAAW,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC;CA+BhJ"}
@@ -1,5 +1,5 @@
1
- import type { PayloadDivinerQueryPayload } from '@xyo-network/diviner-payload-model';
2
1
  import type { ImageThumbnailResultIndex } from '@xyo-network/image-thumbnail-payload-plugin';
2
+ import * as z from 'zod/mini';
3
3
  /**
4
4
  * The fields that will need to be indexed on in the underlying store
5
5
  */
@@ -7,9 +7,160 @@ export type QueryableImageThumbnailResultProperties = Extract<keyof ImageThumbna
7
7
  /**
8
8
  * The query that will be used to retrieve the results from the underlying store
9
9
  */
10
- export type ImageThumbnailResultQuery = PayloadDivinerQueryPayload & Pick<ImageThumbnailResultIndex, QueryableImageThumbnailResultProperties>;
10
+ export declare const ImageThumbnailResultQueryZod: z.ZodMiniObject<{
11
+ schema: z.ZodMiniLiteral<import("@xyo-network/diviner-payload-model").PayloadDivinerQuerySchema>;
12
+ address: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<Lowercase<string> & {
13
+ readonly __hex: true;
14
+ } & {
15
+ readonly __address: true;
16
+ }, string>>, z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@xyo-network/sdk-protocol").XyoQuantAddress, string>>]>, z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<Lowercase<string> & {
17
+ readonly __hex: true;
18
+ } & {
19
+ readonly __address: true;
20
+ }, string>>, z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@xyo-network/sdk-protocol").XyoQuantAddress, string>>]>>]>>;
21
+ budget: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
22
+ maxFrequency: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"once">, z.ZodMiniLiteral<"second">, z.ZodMiniLiteral<"minute">, z.ZodMiniLiteral<"hour">, z.ZodMiniLiteral<"day">, z.ZodMiniLiteral<"week">, z.ZodMiniLiteral<"month">, z.ZodMiniLiteral<"year">]>>;
23
+ minBid: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
24
+ cursor: z.ZodMiniOptional<z.ZodMiniCustom<import("@xyo-network/sdk-protocol").Sequence, import("@xyo-network/sdk-protocol").Sequence>>;
25
+ limit: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
26
+ order: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"asc">, z.ZodMiniLiteral<"desc">]>>;
27
+ schemas: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniCustom<import("@xyo-network/sdk-protocol").Schema, import("@xyo-network/sdk-protocol").Schema>>>;
28
+ key: z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@xylabs/sdk").BrandedHash, string>>;
29
+ status: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
30
+ success: z.ZodMiniBoolean<boolean>;
31
+ timestamp: z.ZodMiniNumber<number>;
32
+ }, z.core.$strip>;
33
+ export type ImageThumbnailResultQuery = z.infer<typeof ImageThumbnailResultQueryZod>;
11
34
  /**
12
35
  * A type guard for ImageThumbnailResultQuery
13
36
  */
14
- export declare const isImageThumbnailResultQuery: (x?: unknown) => x is ImageThumbnailResultQuery;
37
+ export declare const isImageThumbnailResultQuery: <T>(value: T) => value is T & {
38
+ schema: string & {
39
+ readonly __schema: true;
40
+ };
41
+ key: import("@xylabs/sdk").BrandedHash;
42
+ success: boolean;
43
+ timestamp: number;
44
+ address?: import("@xyo-network/sdk-protocol").XyoQuantAddress | (Lowercase<string> & {
45
+ readonly __hex: true;
46
+ } & {
47
+ readonly __address: true;
48
+ }) | (import("@xyo-network/sdk-protocol").XyoQuantAddress | (Lowercase<string> & {
49
+ readonly __hex: true;
50
+ } & {
51
+ readonly __address: true;
52
+ }))[] | undefined;
53
+ budget?: number | undefined;
54
+ maxFrequency?: "once" | "second" | "minute" | "hour" | "day" | "week" | "month" | "year" | undefined;
55
+ minBid?: number | undefined;
56
+ cursor?: import("@xyo-network/sdk-protocol").Sequence | undefined;
57
+ limit?: number | undefined;
58
+ order?: "asc" | "desc" | undefined;
59
+ schemas?: import("@xyo-network/sdk-protocol").Schema[] | undefined;
60
+ status?: number | undefined;
61
+ };
62
+ export declare const asImageThumbnailResultQuery: {
63
+ <T>(value: T): (T & {
64
+ schema: string & {
65
+ readonly __schema: true;
66
+ };
67
+ key: import("@xylabs/sdk").BrandedHash;
68
+ success: boolean;
69
+ timestamp: number;
70
+ address?: import("@xyo-network/sdk-protocol").XyoQuantAddress | (Lowercase<string> & {
71
+ readonly __hex: true;
72
+ } & {
73
+ readonly __address: true;
74
+ }) | (import("@xyo-network/sdk-protocol").XyoQuantAddress | (Lowercase<string> & {
75
+ readonly __hex: true;
76
+ } & {
77
+ readonly __address: true;
78
+ }))[] | undefined;
79
+ budget?: number | undefined;
80
+ maxFrequency?: "once" | "second" | "minute" | "hour" | "day" | "week" | "month" | "year" | undefined;
81
+ minBid?: number | undefined;
82
+ cursor?: import("@xyo-network/sdk-protocol").Sequence | undefined;
83
+ limit?: number | undefined;
84
+ order?: "asc" | "desc" | undefined;
85
+ schemas?: import("@xyo-network/sdk-protocol").Schema[] | undefined;
86
+ status?: number | undefined;
87
+ }) | undefined;
88
+ <T>(value: T, assert: import("@xylabs/sdk").ZodFactoryConfig): T & {
89
+ schema: string & {
90
+ readonly __schema: true;
91
+ };
92
+ key: import("@xylabs/sdk").BrandedHash;
93
+ success: boolean;
94
+ timestamp: number;
95
+ address?: import("@xyo-network/sdk-protocol").XyoQuantAddress | (Lowercase<string> & {
96
+ readonly __hex: true;
97
+ } & {
98
+ readonly __address: true;
99
+ }) | (import("@xyo-network/sdk-protocol").XyoQuantAddress | (Lowercase<string> & {
100
+ readonly __hex: true;
101
+ } & {
102
+ readonly __address: true;
103
+ }))[] | undefined;
104
+ budget?: number | undefined;
105
+ maxFrequency?: "once" | "second" | "minute" | "hour" | "day" | "week" | "month" | "year" | undefined;
106
+ minBid?: number | undefined;
107
+ cursor?: import("@xyo-network/sdk-protocol").Sequence | undefined;
108
+ limit?: number | undefined;
109
+ order?: "asc" | "desc" | undefined;
110
+ schemas?: import("@xyo-network/sdk-protocol").Schema[] | undefined;
111
+ status?: number | undefined;
112
+ };
113
+ };
114
+ export declare const toImageThumbnailResultQuery: {
115
+ <T>(value: T): (T & {
116
+ schema: string & {
117
+ readonly __schema: true;
118
+ };
119
+ key: import("@xylabs/sdk").BrandedHash;
120
+ success: boolean;
121
+ timestamp: number;
122
+ address?: import("@xyo-network/sdk-protocol").XyoQuantAddress | (Lowercase<string> & {
123
+ readonly __hex: true;
124
+ } & {
125
+ readonly __address: true;
126
+ }) | (import("@xyo-network/sdk-protocol").XyoQuantAddress | (Lowercase<string> & {
127
+ readonly __hex: true;
128
+ } & {
129
+ readonly __address: true;
130
+ }))[] | undefined;
131
+ budget?: number | undefined;
132
+ maxFrequency?: "once" | "second" | "minute" | "hour" | "day" | "week" | "month" | "year" | undefined;
133
+ minBid?: number | undefined;
134
+ cursor?: import("@xyo-network/sdk-protocol").Sequence | undefined;
135
+ limit?: number | undefined;
136
+ order?: "asc" | "desc" | undefined;
137
+ schemas?: import("@xyo-network/sdk-protocol").Schema[] | undefined;
138
+ status?: number | undefined;
139
+ }) | undefined;
140
+ <T>(value: T, assert: import("@xylabs/sdk").ZodFactoryConfig): T & {
141
+ schema: string & {
142
+ readonly __schema: true;
143
+ };
144
+ key: import("@xylabs/sdk").BrandedHash;
145
+ success: boolean;
146
+ timestamp: number;
147
+ address?: import("@xyo-network/sdk-protocol").XyoQuantAddress | (Lowercase<string> & {
148
+ readonly __hex: true;
149
+ } & {
150
+ readonly __address: true;
151
+ }) | (import("@xyo-network/sdk-protocol").XyoQuantAddress | (Lowercase<string> & {
152
+ readonly __hex: true;
153
+ } & {
154
+ readonly __address: true;
155
+ }))[] | undefined;
156
+ budget?: number | undefined;
157
+ maxFrequency?: "once" | "second" | "minute" | "hour" | "day" | "week" | "month" | "year" | undefined;
158
+ minBid?: number | undefined;
159
+ cursor?: import("@xyo-network/sdk-protocol").Sequence | undefined;
160
+ limit?: number | undefined;
161
+ order?: "asc" | "desc" | undefined;
162
+ schemas?: import("@xyo-network/sdk-protocol").Schema[] | undefined;
163
+ status?: number | undefined;
164
+ };
165
+ };
15
166
  //# sourceMappingURL=ImageThumbnailResultQuery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImageThumbnailResultQuery.d.ts","sourceRoot":"","sources":["../../../src/Diviner/ImageThumbnailResultQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAA;AAEpF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAA;AAG5F;;GAEG;AACH,MAAM,MAAM,uCAAuC,GAAG,OAAO,CAAC,MAAM,yBAAyB,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,KAAK,CAAC,CAAA;AAE1I;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,0BAA0B,GAAG,IAAI,CAAC,yBAAyB,EAAE,uCAAuC,CAAC,CAAA;AAE7I;;GAEG;AAEH,eAAO,MAAM,2BAA2B,iDAA8E,CAAA"}
1
+ {"version":3,"file":"ImageThumbnailResultQuery.d.ts","sourceRoot":"","sources":["../../../src/Diviner/ImageThumbnailResultQuery.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAA;AAE5F,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B;;GAEG;AACH,MAAM,MAAM,uCAAuC,GAAG,OAAO,CAAC,MAAM,yBAAyB,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,KAAK,CAAC,CAAA;AAE1I;;GAEG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;iBAKvC,CAAA;AAEF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEpF;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;CAA6C,CAAA;AACrF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA4E,CAAA;AACpH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA4E,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import type { SearchableStorage } from '@xyo-network/image-thumbnail-payload-plugin';
2
- import type { DivinerConfig } from '@xyo-network/sdk-js';
2
+ import type { DivinerConfig } from '@xyo-network/sdk';
3
3
  export type ImageThumbnailStateToIndexCandidateDivinerConfigSchema = typeof ImageThumbnailStateToIndexCandidateDivinerConfigSchema;
4
4
  export declare const ImageThumbnailStateToIndexCandidateDivinerConfigSchema: string & {
5
5
  readonly __schema: true;
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../../src/Diviner/ImageThumbnailStateToIndexCandidateDiviner/Config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAA;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAKxD,MAAM,MAAM,sDAAsD,GAAG,OAAO,sDAAsD,CAAA;AAClI,eAAO,MAAM,sDAAsD;;CACa,CAAA;AAEhF,MAAM,MAAM,gDAAgD,GAAG,aAAa,CAAC;IAC3E,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B;;OAEG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAA;IAChC,MAAM,EAAE,sDAAsD,CAAA;CAC/D,CAAC,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../../src/Diviner/ImageThumbnailStateToIndexCandidateDiviner/Config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAA;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAKrD,MAAM,MAAM,sDAAsD,GAAG,OAAO,sDAAsD,CAAA;AAClI,eAAO,MAAM,sDAAsD;;CACa,CAAA;AAEhF,MAAM,MAAM,gDAAgD,GAAG,aAAa,CAAC;IAC3E,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B;;OAEG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAA;IAChC,MAAM,EAAE,sDAAsD,CAAA;CAC/D,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import type { ImageThumbnail } from '@xyo-network/image-thumbnail-payload-plugin';
2
- import type { ArchivistInstance, BoundWitness, ModuleState, Payload, Schema } from '@xyo-network/sdk-js';
3
- import { AbstractDiviner, ArchivistWrapper, DivinerWrapper } from '@xyo-network/sdk-js';
2
+ import type { ArchivistInstance, BoundWitness, DivinerInstance, ModuleState, Payload, Schema } from '@xyo-network/sdk';
3
+ import { AbstractDiviner, ArchivistWrapper } from '@xyo-network/sdk';
4
4
  import type { Timestamp } from '@xyo-network/witness-timestamp';
5
5
  import type { ImageThumbnailDivinerStageLabels } from '../ImageThumbnailDivinerLabels.ts';
6
6
  import type { ImageThumbnailDivinerState } from '../ImageThumbnailDivinerState.ts';
@@ -36,11 +36,11 @@ export declare class ImageThumbnailStateToIndexCandidateDiviner<TParams extends
36
36
  * Retrieves the archivist for the payloadStore
37
37
  * @returns The archivist for the payloadStore
38
38
  */
39
- protected getArchivistForStore(): Promise<ArchivistWrapper<import("@xyo-network/sdk-js").ArchivistModuleInstance<import("@xyo-network/sdk-js").QueryableModuleParams<import("@xyo-network/sdk-js").AnyConfigSchema<import("@xyo-network/sdk-js").ArchivistConfig>>, import("@xyo-network/sdk-js").ArchivistModuleEventData>>>;
39
+ protected getArchivistForStore(): Promise<ArchivistWrapper<import("@xyo-network/sdk").ArchivistModuleInstance<import("@xyo-network/sdk").QueryableModuleParams<import("@xyo-network/sdk").AnyConfigSchema<import("@xyo-network/sdk").ArchivistConfig>>, import("@xyo-network/sdk").ArchivistModuleEventData>>>;
40
40
  /**
41
41
  * Retrieves the BoundWitness Diviner for the payloadStore
42
42
  * @returns The BoundWitness Diviner for the payloadStore
43
43
  */
44
- protected getBoundWitnessDivinerForStore(): Promise<DivinerWrapper<import("@xyo-network/sdk-js").DivinerModule<import("@xyo-network/sdk-js").DivinerParams<import("@xyo-network/sdk-js").AnyConfigSchema<import("@xyo-network/sdk-js").DivinerConfig>>, import("@xyo-network/sdk-js").DivinerModuleEventData>, Payload, Payload>>;
44
+ protected getBoundWitnessDivinerForStore(): Promise<DivinerInstance>;
45
45
  }
46
46
  //# sourceMappingURL=Diviner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../../src/Diviner/ImageThumbnailStateToIndexCandidateDiviner/Diviner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAA;AAEjF,OAAO,KAAK,EACV,iBAAiB,EAAwB,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EACpF,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,eAAe,EAAE,gBAAgB,EAAkB,cAAc,EAClE,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAG/D,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAA;AAEzF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAA;AAElF,OAAO,KAAK,EAAE,gDAAgD,EAAE,MAAM,aAAa,CAAA;AAEnF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,cAAc,GAAG,SAAS,CAAA;AAEtE;;GAEG;AACH,MAAM,MAAM,kDAAkD,GAAG;IAC/D;;OAEG;IACH,SAAS,EAAE,WAAW,CAAC,0BAA0B,CAAC;IAClD;;OAEG;IACH,GAAG,cAAc,EAAE;CACpB,CAAA;AA0BD;;GAEG;AACH,qBAAa,0CAA0C,CACrD,OAAO,SAAS,gDAAgD,GAAG,gDAAgD,CACnH,SAAQ,eAAe,CAAC,OAAO,CAAC;IAChC,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAmF;IACnI,gBAAyB,mBAAmB,EAAE,MAAM,CAAyD;IAC7G,gBAAyB,MAAM,EAAE,gCAAgC,CAIhE;IAED,IAAI,mBAAmB,WAEtB;qBAEsB,yBAAyB,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,EAAE,GAAG,SAAS,CAAC;cAU9G,aAAa,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,kDAAkD,CAAC;IAoC7H;;;OAGG;cACa,oBAAoB;IAMpC;;;OAGG;cACa,8BAA8B;CAQ/C"}
1
+ {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../../src/Diviner/ImageThumbnailStateToIndexCandidateDiviner/Diviner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAA;AAEjF,OAAO,KAAK,EACV,iBAAiB,EAAwB,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EACrG,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,eAAe,EAAE,gBAAgB,EAClC,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAG/D,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAA;AAEzF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAA;AAElF,OAAO,KAAK,EAAE,gDAAgD,EAAE,MAAM,aAAa,CAAA;AAEnF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,cAAc,GAAG,SAAS,CAAA;AAEtE;;GAEG;AACH,MAAM,MAAM,kDAAkD,GAAG;IAC/D;;OAEG;IACH,SAAS,EAAE,WAAW,CAAC,0BAA0B,CAAC;IAClD;;OAEG;IACH,GAAG,cAAc,EAAE;CACpB,CAAA;AA0BD;;GAEG;AACH,qBAAa,0CAA0C,CACrD,OAAO,SAAS,gDAAgD,GAAG,gDAAgD,CACnH,SAAQ,eAAe,CAAC,OAAO,CAAC;IAChC,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAmF;IACnI,gBAAyB,mBAAmB,EAAE,MAAM,CAAyD;IAC7G,gBAAyB,MAAM,EAAE,gCAAgC,CAIhE;IAED,IAAI,mBAAmB,WAEtB;qBAEsB,yBAAyB,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,EAAE,GAAG,SAAS,CAAC;cAU9G,aAAa,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,kDAAkD,CAAC;IAoC7H;;;OAGG;cACa,oBAAoB;IAMpC;;;OAGG;cACa,8BAA8B,IAAI,OAAO,CAAC,eAAe,CAAC;CAQ3E"}
@@ -1,4 +1,4 @@
1
- import type { AnyConfigSchema, DivinerParams } from '@xyo-network/sdk-js';
1
+ import type { AnyConfigSchema, DivinerParams } from '@xyo-network/sdk';
2
2
  import type { ImageThumbnailStateToIndexCandidateDivinerConfig } from './Config.ts';
3
3
  export type ImageThumbnailStateToIndexCandidateDivinerParams = DivinerParams<AnyConfigSchema<ImageThumbnailStateToIndexCandidateDivinerConfig>>;
4
4
  //# sourceMappingURL=Params.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../../../src/Diviner/ImageThumbnailStateToIndexCandidateDiviner/Params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEzE,OAAO,KAAK,EAAE,gDAAgD,EAAE,MAAM,aAAa,CAAA;AAEnF,MAAM,MAAM,gDAAgD,GAAG,aAAa,CAAC,eAAe,CAAC,gDAAgD,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../../../src/Diviner/ImageThumbnailStateToIndexCandidateDiviner/Params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEtE,OAAO,KAAK,EAAE,gDAAgD,EAAE,MAAM,aAAa,CAAA;AAEnF,MAAM,MAAM,gDAAgD,GAAG,aAAa,CAAC,eAAe,CAAC,gDAAgD,CAAC,CAAC,CAAA"}
@@ -20,7 +20,7 @@ import {
20
20
  DivinerConfigSchema,
21
21
  isBoundWitness,
22
22
  PayloadBuilder
23
- } from "@xyo-network/sdk-js";
23
+ } from "@xyo-network/sdk";
24
24
  import { UrlSchema } from "@xyo-network/url-payload-plugin";
25
25
  import { isTimestamp, TimestampSchema } from "@xyo-network/witness-timestamp";
26
26
  var ImageThumbnailIndexCandidateToImageThumbnailIndexDiviner = class extends AbstractDiviner {
@@ -41,11 +41,11 @@ var ImageThumbnailIndexCandidateToImageThumbnailIndexDiviner = class extends Abs
41
41
  (acc, curr) => {
42
42
  const imageThumbnailIndex = curr.payload_schemas?.indexOf(ImageThumbnailSchema);
43
43
  const timestampIndex = curr.payload_schemas?.indexOf(TimestampSchema);
44
- const imageThumbnailHash = curr.payload_hashes?.[imageThumbnailIndex];
45
- const timestampHash = curr.payload_hashes?.[timestampIndex];
46
- const imageThumbnailPayload = [payloadDictionary[imageThumbnailHash]].find(isImageThumbnail);
47
- const timestampPayload = [payloadDictionary[timestampHash]].find(isTimestamp);
48
- if (imageThumbnailPayload && timestampPayload) acc.push([curr, imageThumbnailPayload, timestampPayload]);
44
+ const imageThumbnailHash = imageThumbnailIndex == null ? void 0 : curr.payload_hashes?.[imageThumbnailIndex];
45
+ const timestampHash = timestampIndex == null ? void 0 : curr.payload_hashes?.[timestampIndex];
46
+ const imageThumbnailPayload = imageThumbnailHash == null ? void 0 : [payloadDictionary[imageThumbnailHash]].find(isImageThumbnail);
47
+ const timestampPayload = timestampHash == null ? void 0 : [payloadDictionary[timestampHash]].find(isTimestamp);
48
+ if (imageThumbnailPayload != null && timestampPayload != null) acc.push([curr, imageThumbnailPayload, timestampPayload]);
49
49
  return acc;
50
50
  },
51
51
  []
@@ -55,7 +55,7 @@ var ImageThumbnailIndexCandidateToImageThumbnailIndexDiviner = class extends Abs
55
55
  const { sourceUrl: url, http } = imageThumbnailPayload;
56
56
  const { timestamp } = timestampPayload;
57
57
  const { status } = http ?? {};
58
- const success = !!imageThumbnailPayload.url;
58
+ const success = (imageThumbnailPayload.url?.length ?? 0) > 0;
59
59
  const $sources = await PayloadBuilder.dataHashes([bw, imageThumbnailPayload, timestampPayload]);
60
60
  const urlPayload = { schema: UrlSchema, url };
61
61
  const key = await PayloadBuilder.dataHash(urlPayload);
@@ -64,8 +64,9 @@ var ImageThumbnailIndexCandidateToImageThumbnailIndexDiviner = class extends Abs
64
64
  success,
65
65
  timestamp
66
66
  };
67
- if (status) fields.status = status;
68
- const result = new PayloadBuilder({ schema: ImageThumbnailResultIndexSchema }).fields({ ...fields }).meta({ $sources }).build();
67
+ if (status != null) fields.status = status;
68
+ const builder = new PayloadBuilder({ schema: ImageThumbnailResultIndexSchema });
69
+ const result = builder.fields({ ...fields }).meta({ $sources }).build();
69
70
  return [result];
70
71
  })
71
72
  );
@@ -76,17 +77,17 @@ var ImageThumbnailIndexCandidateToImageThumbnailIndexDiviner = class extends Abs
76
77
  };
77
78
 
78
79
  // src/Diviner/ImageThumbnailIndexQueryResponseToImageThumbnailQueryResponseDiviner.ts
79
- import { exists } from "@xylabs/sdk-js";
80
+ import { exists } from "@xylabs/sdk";
80
81
  import {
81
82
  ImageThumbnailResultSchema,
82
83
  isImageThumbnailDivinerQuery,
83
- isImageThumbnailResultIndexWithSources
84
+ isImageThumbnailResultIndex
84
85
  } from "@xyo-network/image-thumbnail-payload-plugin";
85
86
  import {
86
87
  AbstractDiviner as AbstractDiviner2,
87
88
  DivinerConfigSchema as DivinerConfigSchema2,
88
89
  PayloadBuilder as PayloadBuilder2
89
- } from "@xyo-network/sdk-js";
90
+ } from "@xyo-network/sdk";
90
91
  import { UrlSchema as UrlSchema2 } from "@xyo-network/url-payload-plugin";
91
92
  var ImageThumbnailIndexQueryResponseToImageThumbnailQueryResponseDiviner = class extends AbstractDiviner2 {
92
93
  static configSchemas = [...super.configSchemas, DivinerConfigSchema2];
@@ -98,13 +99,14 @@ var ImageThumbnailIndexQueryResponseToImageThumbnailQueryResponseDiviner = class
98
99
  };
99
100
  async divineHandler(payloads = []) {
100
101
  const imageThumbnailDivinerQueries = payloads.filter(isImageThumbnailDivinerQuery);
101
- const imageThumbnailResultIndexes = payloads.filter(isImageThumbnailResultIndexWithSources);
102
+ const imageThumbnailResultIndexes = payloads.filter(isImageThumbnailResultIndex);
102
103
  if (imageThumbnailDivinerQueries.length > 0 && imageThumbnailResultIndexes.length > 0) {
103
104
  const keyToUrlDictionary = Object.fromEntries(
104
105
  await Promise.all(
105
106
  imageThumbnailDivinerQueries.map(async (imageThumbnailDivinerQuery) => {
106
107
  const { url } = imageThumbnailDivinerQuery;
107
- const urlPayload = new PayloadBuilder2({ schema: UrlSchema2 }).fields({ url }).build();
108
+ const urlPayloadBuilder = new PayloadBuilder2({ schema: UrlSchema2 });
109
+ const urlPayload = urlPayloadBuilder.fields({ url }).build();
108
110
  const key = await PayloadBuilder2.dataHash(urlPayload);
109
111
  return [key, url];
110
112
  })
@@ -117,10 +119,12 @@ var ImageThumbnailIndexQueryResponseToImageThumbnailQueryResponseDiviner = class
117
119
  $sources,
118
120
  ...commonFields
119
121
  } = imageThumbnailResultIndex;
120
- const url = keyToUrlDictionary?.[key];
121
- if (url) {
122
+ const keyString = key;
123
+ const url = keyToUrlDictionary[keyString];
124
+ if (url != null && url !== "") {
122
125
  const fields = { ...commonFields, url };
123
- return new PayloadBuilder2({ schema: ImageThumbnailResultSchema }).fields(fields).meta({ $sources }).build();
126
+ const builder = new PayloadBuilder2({ schema: ImageThumbnailResultSchema });
127
+ return builder.fields(fields).meta({ $sources }).build();
124
128
  }
125
129
  }).filter(exists);
126
130
  }
@@ -135,7 +139,7 @@ import {
135
139
  AbstractDiviner as AbstractDiviner3,
136
140
  DivinerConfigSchema as DivinerConfigSchema3,
137
141
  PayloadBuilder as PayloadBuilder3
138
- } from "@xyo-network/sdk-js";
142
+ } from "@xyo-network/sdk";
139
143
  import { UrlSchema as UrlSchema3 } from "@xyo-network/url-payload-plugin";
140
144
  var ImageThumbnailQueryToImageThumbnailIndexQueryDiviner = class extends AbstractDiviner3 {
141
145
  static configSchemas = [...super.configSchemas, DivinerConfigSchema3];
@@ -168,7 +172,8 @@ var ImageThumbnailQueryToImageThumbnailIndexQueryDiviner = class extends Abstrac
168
172
  };
169
173
  if (payloadSuccess !== void 0) fields.success = payloadSuccess;
170
174
  if (payloadStatus !== void 0) fields.status = payloadStatus;
171
- return new PayloadBuilder3({ schema: PayloadDivinerQuerySchema }).fields(fields).build();
175
+ const builder = new PayloadBuilder3({ schema: PayloadDivinerQuerySchema });
176
+ return builder.fields(fields).build();
172
177
  })
173
178
  );
174
179
  return results;
@@ -178,16 +183,30 @@ var ImageThumbnailQueryToImageThumbnailIndexQueryDiviner = class extends Abstrac
178
183
  };
179
184
 
180
185
  // src/Diviner/ImageThumbnailResultQuery.ts
181
- import { PayloadDivinerQuerySchema as PayloadDivinerQuerySchema2 } from "@xyo-network/diviner-payload-model";
182
- import { isPayloadOfSchemaType } from "@xyo-network/sdk-js";
183
- var isImageThumbnailResultQuery = isPayloadOfSchemaType(PayloadDivinerQuerySchema2);
186
+ import {
187
+ zodAsFactory,
188
+ zodIsFactory,
189
+ zodToFactory
190
+ } from "@xylabs/sdk";
191
+ import { PayloadDivinerQueryPayloadZod } from "@xyo-network/diviner-payload-model";
192
+ import { ImageThumbnailResultIndexZod } from "@xyo-network/image-thumbnail-payload-plugin";
193
+ import * as z from "zod/mini";
194
+ var ImageThumbnailResultQueryZod = z.extend(PayloadDivinerQueryPayloadZod, {
195
+ key: ImageThumbnailResultIndexZod.shape.key,
196
+ status: ImageThumbnailResultIndexZod.shape.status,
197
+ success: ImageThumbnailResultIndexZod.shape.success,
198
+ timestamp: ImageThumbnailResultIndexZod.shape.timestamp
199
+ });
200
+ var isImageThumbnailResultQuery = zodIsFactory(ImageThumbnailResultQueryZod);
201
+ var asImageThumbnailResultQuery = zodAsFactory(ImageThumbnailResultQueryZod, "asImageThumbnailResultQuery");
202
+ var toImageThumbnailResultQuery = zodToFactory(ImageThumbnailResultQueryZod, "toImageThumbnailResultQuery");
184
203
 
185
204
  // src/Diviner/ImageThumbnailStateToIndexCandidateDiviner/Config.ts
186
- import { asSchema as asSchema2 } from "@xyo-network/sdk-js";
205
+ import { asSchema as asSchema2 } from "@xyo-network/sdk";
187
206
 
188
207
  // src/Diviner/ImageThumbnailStateToIndexCandidateDiviner/Schema.ts
189
208
  import { ImageThumbnailDivinerSchema } from "@xyo-network/image-thumbnail-payload-plugin";
190
- import { asSchema } from "@xyo-network/sdk-js";
209
+ import { asSchema } from "@xyo-network/sdk";
191
210
  var ImageThumbnailStateToIndexCandidateDivinerSchema = asSchema(`${ImageThumbnailDivinerSchema}.stage.stateToIndexCandidateDiviner`, true);
192
211
 
193
212
  // src/Diviner/ImageThumbnailStateToIndexCandidateDiviner/Config.ts
@@ -199,7 +218,7 @@ import {
199
218
  assertEx,
200
219
  exists as exists2,
201
220
  filterAs
202
- } from "@xylabs/sdk-js";
221
+ } from "@xylabs/sdk";
203
222
  import { ImageThumbnailSchema as ImageThumbnailSchema2, isImageThumbnail as isImageThumbnail2 } from "@xyo-network/image-thumbnail-payload-plugin";
204
223
  import {
205
224
  AbstractDiviner as AbstractDiviner4,
@@ -211,7 +230,7 @@ import {
211
230
  ModuleStateSchema,
212
231
  payloadSchemasContainsAll,
213
232
  SequenceConstants
214
- } from "@xyo-network/sdk-js";
233
+ } from "@xyo-network/sdk";
215
234
  import { isTimestamp as isTimestamp2, TimestampSchema as TimestampSchema2 } from "@xyo-network/witness-timestamp";
216
235
  var payload_schemas = [ImageThumbnailSchema2, TimestampSchema2];
217
236
  var indexCandidateIdentityFunctions = [isImageThumbnail2, isTimestamp2];
@@ -245,15 +264,15 @@ var ImageThumbnailStateToIndexCandidateDiviner = class _ImageThumbnailStateToInd
245
264
  const lastState = payloads.find(isModuleState) ?? { schema: ModuleStateSchema, state: { cursor: SequenceConstants.minLocalSequence } };
246
265
  const cursor = lastState?.state?.cursor;
247
266
  const sourceArchivist = await this.getArchivistForStore();
248
- if (!sourceArchivist) return [lastState];
249
267
  const nextOffset = { limit: this.payloadDivinerLimit, order };
250
268
  if (cursor !== SequenceConstants.minLocalSequence) nextOffset.cursor = cursor;
251
269
  const next = await sourceArchivist.next(nextOffset);
252
270
  if (next.length === 0) return [lastState];
253
271
  const batch = filterAs(next, asBoundWitness).filter(exists2).filter((bw) => payloadSchemasContainsAll(bw, payload_schemas));
254
- const indexCandidates = (await Promise.all(
272
+ const boundWitnessCandidates = await Promise.all(
255
273
  batch.filter(isBoundWitness2).map((bw) => _ImageThumbnailStateToIndexCandidateDiviner.getPayloadsInBoundWitness(bw, sourceArchivist))
256
- )).filter(exists2).flat();
274
+ );
275
+ const indexCandidates = boundWitnessCandidates.filter(exists2).flat();
257
276
  const nextCursor = assertEx(next.at(-1)?._sequence, () => `${moduleName}: Expected next to have a sequence`);
258
277
  const nextState = { schema: ModuleStateSchema, state: { ...lastState.state, cursor: nextCursor } };
259
278
  return [nextState, ...indexCandidates];
@@ -286,9 +305,12 @@ export {
286
305
  ImageThumbnailIndexCandidateToImageThumbnailIndexDiviner,
287
306
  ImageThumbnailIndexQueryResponseToImageThumbnailQueryResponseDiviner,
288
307
  ImageThumbnailQueryToImageThumbnailIndexQueryDiviner,
308
+ ImageThumbnailResultQueryZod,
289
309
  ImageThumbnailStateToIndexCandidateDiviner,
290
310
  ImageThumbnailStateToIndexCandidateDivinerConfigSchema,
291
311
  ImageThumbnailStateToIndexCandidateDivinerSchema,
292
- isImageThumbnailResultQuery
312
+ asImageThumbnailResultQuery,
313
+ isImageThumbnailResultQuery,
314
+ toImageThumbnailResultQuery
293
315
  };
294
316
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Diviner/Diviner.ts", "../../src/Diviner/ImageThumbnailDivinerLabels.ts", "../../src/Diviner/ImageThumbnailIndexCandidateToImageThumbnailIndexDiviner.ts", "../../src/Diviner/ImageThumbnailIndexQueryResponseToImageThumbnailQueryResponseDiviner.ts", "../../src/Diviner/ImageThumbnailQueryToImageThumbnailIndexQueryDiviner.ts", "../../src/Diviner/ImageThumbnailResultQuery.ts", "../../src/Diviner/ImageThumbnailStateToIndexCandidateDiviner/Config.ts", "../../src/Diviner/ImageThumbnailStateToIndexCandidateDiviner/Schema.ts", "../../src/Diviner/ImageThumbnailStateToIndexCandidateDiviner/Diviner.ts"],
4
- "sourcesContent": ["import { IndexingDiviner } from '@xyo-network/diviner-indexing'\nimport type { AttachableDivinerInstance } from '@xyo-network/sdk-js'\n\nimport { ImageThumbnailDivinerLabels } from './ImageThumbnailDivinerLabels.ts'\n\nexport class ImageThumbnailDiviner extends IndexingDiviner implements AttachableDivinerInstance {\n static override readonly labels: ImageThumbnailDivinerLabels = { ...super.labels, ...ImageThumbnailDivinerLabels }\n}\n", "import type { DivinerStageSchema, IndexingDivinerStage } from '@xyo-network/diviner-indexing'\nimport type { Labels } from '@xyo-network/sdk-js'\n\n/**\n * Labels for Image Thumbnail Diviner components\n */\nexport interface ImageThumbnailDivinerLabels extends Labels {\n 'network.xyo.image.thumbnail': 'diviner'\n}\n\n/**\n * Labels for Image Thumbnail Diviner components\n */\nexport const ImageThumbnailDivinerLabels: ImageThumbnailDivinerLabels = { 'network.xyo.image.thumbnail': 'diviner' }\n\n/**\n * Labels for Image Thumbnail Diviner Stage Diviners\n */\nexport type ImageThumbnailDivinerStageLabels = ImageThumbnailDivinerLabels & Record<DivinerStageSchema, IndexingDivinerStage>\n", "import type { Hash } from '@xylabs/sdk-js'\nimport type {\n ImageThumbnail,\n ImageThumbnailResultIndex,\n ImageThumbnailResultIndexFields,\n} from '@xyo-network/image-thumbnail-payload-plugin'\nimport {\n ImageThumbnailResultIndexSchema,\n ImageThumbnailSchema,\n isImageThumbnail,\n} from '@xyo-network/image-thumbnail-payload-plugin'\nimport type {\n BoundWitness,\n Payload, Schema, WithSources,\n} from '@xyo-network/sdk-js'\nimport {\n AbstractDiviner, DivinerConfigSchema, isBoundWitness, PayloadBuilder,\n} from '@xyo-network/sdk-js'\nimport { UrlSchema } from '@xyo-network/url-payload-plugin'\nimport type { Timestamp } from '@xyo-network/witness-timestamp'\nimport { isTimestamp, TimestampSchema } from '@xyo-network/witness-timestamp'\n\nimport type { ImageThumbnailDivinerStageLabels } from './ImageThumbnailDivinerLabels.ts'\nimport { ImageThumbnailDivinerLabels } from './ImageThumbnailDivinerLabels.ts'\n\n/**\n * Transforms candidates for image thumbnail indexing into their indexed representation\n */\nexport class ImageThumbnailIndexCandidateToImageThumbnailIndexDiviner extends AbstractDiviner {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, DivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = DivinerConfigSchema\n static override readonly labels: ImageThumbnailDivinerStageLabels = {\n ...super.labels,\n ...ImageThumbnailDivinerLabels,\n 'network.xyo.diviner.stage': 'indexCandidateToIndexDiviner',\n }\n\n protected override async divineHandler(payloads: Payload[] = []): Promise<WithSources<ImageThumbnailResultIndex>[]> {\n const bws: BoundWitness[] = payloads.filter(isBoundWitness)\n const imageThumbnailPayloads: ImageThumbnail[] = payloads.filter(isImageThumbnail)\n const timestampPayloads: Timestamp[] = payloads.filter(isTimestamp)\n if (bws.length > 0 && imageThumbnailPayloads.length > 0 && timestampPayloads.length > 0) {\n const payloadDictionary = await PayloadBuilder.toDataHashMap(payloads)\n // eslint-disable-next-line unicorn/no-array-reduce\n const tuples: [BoundWitness, ImageThumbnail, Timestamp][] = bws.reduce<[BoundWitness, ImageThumbnail, Timestamp][]>(\n (acc, curr) => {\n const imageThumbnailIndex = curr.payload_schemas?.indexOf(ImageThumbnailSchema)\n const timestampIndex = curr.payload_schemas?.indexOf(TimestampSchema)\n const imageThumbnailHash = curr.payload_hashes?.[imageThumbnailIndex]\n const timestampHash = curr.payload_hashes?.[timestampIndex]\n const imageThumbnailPayload = [payloadDictionary[imageThumbnailHash]].find(isImageThumbnail) as ImageThumbnail | undefined\n const timestampPayload = [payloadDictionary[timestampHash]].find(isTimestamp)!\n if (imageThumbnailPayload && timestampPayload) acc.push([curr, imageThumbnailPayload, timestampPayload])\n return acc\n },\n [] as [BoundWitness, ImageThumbnail, Timestamp][],\n )\n const indexes = await Promise.all(\n tuples.map(async ([bw, imageThumbnailPayload, timestampPayload]) => {\n const { sourceUrl: url, http } = imageThumbnailPayload\n const { timestamp } = timestampPayload\n const { status } = http ?? {}\n const success = !!imageThumbnailPayload.url // Call anything with a thumbnail url a success\n const $sources: Hash[] = await PayloadBuilder.dataHashes([bw, imageThumbnailPayload, timestampPayload])\n const urlPayload = { schema: UrlSchema, url }\n const key: Hash = await PayloadBuilder.dataHash(urlPayload)\n const fields: ImageThumbnailResultIndexFields = {\n key, success, timestamp,\n }\n if (status) fields.status = status\n const result = new PayloadBuilder<WithSources<ImageThumbnailResultIndex>>({ schema: ImageThumbnailResultIndexSchema })\n .fields({ ...fields }).meta({ $sources })\n .build()\n return [result]\n }),\n )\n return indexes.flat()\n }\n return []\n }\n}\n", "import { exists } from '@xylabs/sdk-js'\nimport type {\n ImageThumbnailResult,\n ImageThumbnailResultFields,\n} from '@xyo-network/image-thumbnail-payload-plugin'\nimport {\n ImageThumbnailResultSchema,\n isImageThumbnailDivinerQuery,\n isImageThumbnailResultIndexWithSources,\n} from '@xyo-network/image-thumbnail-payload-plugin'\nimport type { Payload, Schema } from '@xyo-network/sdk-js'\nimport {\n AbstractDiviner, DivinerConfigSchema, PayloadBuilder,\n} from '@xyo-network/sdk-js'\nimport { UrlSchema } from '@xyo-network/url-payload-plugin'\n\nimport type { ImageThumbnailDivinerStageLabels } from './ImageThumbnailDivinerLabels.ts'\nimport { ImageThumbnailDivinerLabels } from './ImageThumbnailDivinerLabels.ts'\n\n/**\n * Transforms an ImageThumbnailIndex response into an ImageThumbnailResponse response\n */\nexport class ImageThumbnailIndexQueryResponseToImageThumbnailQueryResponseDiviner extends AbstractDiviner {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, DivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = DivinerConfigSchema\n static override readonly labels: ImageThumbnailDivinerStageLabels = {\n ...super.labels,\n ...ImageThumbnailDivinerLabels,\n 'network.xyo.diviner.stage': 'indexQueryResponseToDivinerQueryResponseDiviner',\n }\n\n protected override async divineHandler(payloads: Payload[] = []): Promise<ImageThumbnailResult[]> {\n // Filter out the two operands\n const imageThumbnailDivinerQueries = payloads.filter(isImageThumbnailDivinerQuery)\n const imageThumbnailResultIndexes = payloads.filter(isImageThumbnailResultIndexWithSources)\n\n // If we have operands\n if (imageThumbnailDivinerQueries.length > 0 && imageThumbnailResultIndexes.length > 0) {\n // Create a dictionary to translate index keys to the urls that represent them\n const keyToUrlDictionary = Object.fromEntries(\n await Promise.all(\n imageThumbnailDivinerQueries.map(async (imageThumbnailDivinerQuery) => {\n const { url } = imageThumbnailDivinerQuery\n const urlPayload = new PayloadBuilder<Omit<ImageThumbnailResult, 'timestamp' | 'success' | 'sources'>>({ schema: UrlSchema })\n .fields({ url })\n .build()\n const key = await PayloadBuilder.dataHash(urlPayload)\n return [key, url] as const\n }),\n ),\n )\n // Map the indexes to responses using the dictionary\n return imageThumbnailResultIndexes.map((imageThumbnailResultIndex) => {\n const {\n\n key, schema, $sources, ...commonFields\n } = imageThumbnailResultIndex\n const url = keyToUrlDictionary?.[key]\n if (url) {\n const fields: ImageThumbnailResultFields = { ...commonFields, url }\n return new PayloadBuilder<ImageThumbnailResult>({ schema: ImageThumbnailResultSchema }).fields(fields).meta({ $sources }).build()\n }\n }).filter(exists)\n }\n return []\n }\n}\n", "import { PayloadDivinerQuerySchema } from '@xyo-network/diviner-payload-model'\nimport { isImageThumbnailDivinerQuery } from '@xyo-network/image-thumbnail-payload-plugin'\nimport type { Payload, Schema } from '@xyo-network/sdk-js'\nimport {\n AbstractDiviner, DivinerConfigSchema, PayloadBuilder,\n} from '@xyo-network/sdk-js'\nimport { UrlSchema } from '@xyo-network/url-payload-plugin'\n\nimport type { ImageThumbnailDivinerStageLabels } from './ImageThumbnailDivinerLabels.ts'\nimport { ImageThumbnailDivinerLabels } from './ImageThumbnailDivinerLabels.ts'\nimport type { ImageThumbnailResultQuery } from './ImageThumbnailResultQuery.ts'\n\n/**\n * A diviner that converts ImageThumbnailDivinerQuery to ImageThumbnailResultQuery\n */\nexport class ImageThumbnailQueryToImageThumbnailIndexQueryDiviner extends AbstractDiviner {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, DivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = DivinerConfigSchema\n static override readonly labels: ImageThumbnailDivinerStageLabels = {\n ...super.labels,\n ...ImageThumbnailDivinerLabels,\n 'network.xyo.diviner.stage': 'divinerQueryToIndexQueryDiviner',\n }\n\n protected override async divineHandler(\n payloads: Payload[] = [],\n ): Promise<Omit<Omit<ImageThumbnailResultQuery, 'timestamp' | 'success'> & Partial<Pick<ImageThumbnailResultQuery, 'success'>>, 'timestamp'>[]> {\n const queries = payloads.filter(isImageThumbnailDivinerQuery)\n if (queries.length > 0) {\n const results = await Promise.all(\n queries.map(async (query) => {\n const {\n limit: payloadLimit, order: payloadOrder, status: payloadStatus, success: payloadSuccess, url,\n } = query\n const limit = payloadLimit ?? 1\n const order = payloadOrder ?? 'desc'\n const urlPayload = { schema: UrlSchema, url }\n const key = await PayloadBuilder.dataHash(urlPayload)\n const fields: Omit<ImageThumbnailResultQuery, 'schema' | 'timestamp' | 'success'> & Partial<Pick<ImageThumbnailResultQuery, 'success'>> = {\n key,\n limit,\n order,\n }\n if (payloadSuccess !== undefined) fields.success = payloadSuccess\n if (payloadStatus !== undefined) fields.status = payloadStatus\n return new PayloadBuilder<\n Omit<ImageThumbnailResultQuery, 'timestamp' | 'success'> & Partial<Pick<ImageThumbnailResultQuery, 'success'>>\n >({ schema: PayloadDivinerQuerySchema })\n .fields(fields)\n .build()\n }),\n )\n return results\n }\n return []\n }\n}\n", "import type { PayloadDivinerQueryPayload } from '@xyo-network/diviner-payload-model'\nimport { PayloadDivinerQuerySchema } from '@xyo-network/diviner-payload-model'\nimport type { ImageThumbnailResultIndex } from '@xyo-network/image-thumbnail-payload-plugin'\nimport { isPayloadOfSchemaType } from '@xyo-network/sdk-js'\n\n/**\n * The fields that will need to be indexed on in the underlying store\n */\nexport type QueryableImageThumbnailResultProperties = Extract<keyof ImageThumbnailResultIndex, 'status' | 'success' | 'timestamp' | 'key'>\n\n/**\n * The query that will be used to retrieve the results from the underlying store\n */\nexport type ImageThumbnailResultQuery = PayloadDivinerQueryPayload & Pick<ImageThumbnailResultIndex, QueryableImageThumbnailResultProperties>\n\n/**\n * A type guard for ImageThumbnailResultQuery\n */\n// TODO: Use a more derived schema than PayloadDivinerQuerySchema\nexport const isImageThumbnailResultQuery = isPayloadOfSchemaType<ImageThumbnailResultQuery>(PayloadDivinerQuerySchema)\n", "import type { SearchableStorage } from '@xyo-network/image-thumbnail-payload-plugin'\nimport type { DivinerConfig } from '@xyo-network/sdk-js'\nimport { asSchema } from '@xyo-network/sdk-js'\n\nimport { ImageThumbnailStateToIndexCandidateDivinerSchema } from './Schema.ts'\n\nexport type ImageThumbnailStateToIndexCandidateDivinerConfigSchema = typeof ImageThumbnailStateToIndexCandidateDivinerConfigSchema\nexport const ImageThumbnailStateToIndexCandidateDivinerConfigSchema\n = asSchema(`${ImageThumbnailStateToIndexCandidateDivinerSchema}.config`, true)\n\nexport type ImageThumbnailStateToIndexCandidateDivinerConfig = DivinerConfig<{\n payloadDivinerLimit?: number\n /**\n * Where the diviner should look for stored thumbnails\n */\n payloadStore?: SearchableStorage\n schema: ImageThumbnailStateToIndexCandidateDivinerConfigSchema\n}>\n", "import { ImageThumbnailDivinerSchema } from '@xyo-network/image-thumbnail-payload-plugin'\nimport { asSchema } from '@xyo-network/sdk-js'\n\nexport type ImageThumbnailStateToIndexCandidateDivinerSchema = typeof ImageThumbnailStateToIndexCandidateDivinerSchema\nexport const ImageThumbnailStateToIndexCandidateDivinerSchema\n = asSchema(`${ImageThumbnailDivinerSchema}.stage.stateToIndexCandidateDiviner`, true)\n", "import {\n AsObjectFactory, assertEx, exists, filterAs,\n} from '@xylabs/sdk-js'\nimport type { ImageThumbnail } from '@xyo-network/image-thumbnail-payload-plugin'\nimport { ImageThumbnailSchema, isImageThumbnail } from '@xyo-network/image-thumbnail-payload-plugin'\nimport type {\n ArchivistInstance, ArchivistNextOptions, BoundWitness, ModuleState, Payload, Schema,\n} from '@xyo-network/sdk-js'\nimport {\n AbstractDiviner, ArchivistWrapper, asBoundWitness, DivinerWrapper, isBoundWitness, isModuleState, ModuleStateSchema, payloadSchemasContainsAll, SequenceConstants,\n} from '@xyo-network/sdk-js'\nimport type { Timestamp } from '@xyo-network/witness-timestamp'\nimport { isTimestamp, TimestampSchema } from '@xyo-network/witness-timestamp'\n\nimport type { ImageThumbnailDivinerStageLabels } from '../ImageThumbnailDivinerLabels.ts'\nimport { ImageThumbnailDivinerLabels } from '../ImageThumbnailDivinerLabels.ts'\nimport type { ImageThumbnailDivinerState } from '../ImageThumbnailDivinerState.ts'\nimport { ImageThumbnailStateToIndexCandidateDivinerConfigSchema } from './Config.ts'\nimport type { ImageThumbnailStateToIndexCandidateDivinerParams } from './Params.ts'\n\n/**\n * All Payload types involved in index candidates for indexing\n */\nexport type IndexCandidate = BoundWitness | ImageThumbnail | Timestamp\n\n/**\n * The response from the ImageThumbnailStateToIndexCandidateDiviner\n */\nexport type ImageThumbnailStateToIndexCandidateDivinerResponse = [\n /**\n * The next state of the diviner\n */\n nextState: ModuleState<ImageThumbnailDivinerState>,\n /**\n * The index candidates\n */\n ...IndexCandidate[],\n]\n\n/**\n * The required payload_schemas within BoundWitnesses to identify index candidates\n */\nconst payload_schemas = [ImageThumbnailSchema, TimestampSchema]\n\n/**\n * Index candidate identity functions\n */\nconst indexCandidateIdentityFunctions = [isImageThumbnail, isTimestamp] as const\nconst isIndexCandidate = (x?: unknown): x is IndexCandidate => {\n return indexCandidateIdentityFunctions.map(is => is(x)).some(Boolean)\n}\nconst asIndexCandidate = AsObjectFactory.create(isIndexCandidate)\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 = 'ImageThumbnailStateToIndexCandidateDiviner'\n\n/**\n * Transforms candidates for image thumbnail indexing into their indexed representation\n */\nexport class ImageThumbnailStateToIndexCandidateDiviner<\n TParams extends ImageThumbnailStateToIndexCandidateDivinerParams = ImageThumbnailStateToIndexCandidateDivinerParams,\n> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, ImageThumbnailStateToIndexCandidateDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = ImageThumbnailStateToIndexCandidateDivinerConfigSchema\n static override readonly labels: ImageThumbnailDivinerStageLabels = {\n ...super.labels,\n ...ImageThumbnailDivinerLabels,\n 'network.xyo.diviner.stage': 'stateToIndexCandidateDiviner',\n }\n\n get payloadDivinerLimit() {\n return this.config.payloadDivinerLimit ?? 1000\n }\n\n protected static async getPayloadsInBoundWitness(bw: BoundWitness, archivist: ArchivistInstance): Promise<IndexCandidate[] | undefined> {\n const indexes = payload_schemas.map(schema => bw.payload_schemas?.indexOf(schema))\n const hashes = indexes.map(index => bw.payload_hashes?.[index])\n const results = await archivist.get(hashes)\n const filteredResults = indexCandidateIdentityFunctions.map(is => results.find(is))\n if (filteredResults.includes(undefined)) return undefined\n const indexCandidates: IndexCandidate[] = filterAs(filteredResults, asIndexCandidate)\n return [bw, ...indexCandidates]\n }\n\n protected override async divineHandler(payloads: Payload[] = []): Promise<ImageThumbnailStateToIndexCandidateDivinerResponse> {\n // Retrieve the last state from what was passed in\n const lastState = payloads.find(isModuleState<ImageThumbnailDivinerState>)\n // If there is no last state, start from the beginning\n ?? { schema: ModuleStateSchema, state: { cursor: SequenceConstants.minLocalSequence } }\n\n // Get the last cursor\n const cursor = lastState?.state?.cursor\n // Get the archivist for the store\n const sourceArchivist = await this.getArchivistForStore()\n if (!sourceArchivist) return [lastState]\n\n // Get the next batch of results\n const nextOffset: ArchivistNextOptions = { limit: this.payloadDivinerLimit, order }\n // Only use the cursor if it's a valid offset\n if (cursor !== SequenceConstants.minLocalSequence) nextOffset.cursor = cursor\n // Get next batch of results starting from the offset\n const next = await sourceArchivist.next(nextOffset)\n if (next.length === 0) return [lastState]\n\n const batch = filterAs(next, asBoundWitness)\n .filter(exists)\n .filter(bw => payloadSchemasContainsAll(bw, payload_schemas))\n // Get source data\n const indexCandidates: IndexCandidate[] = (await Promise.all(\n batch\n .filter(isBoundWitness)\n .map(bw => ImageThumbnailStateToIndexCandidateDiviner.getPayloadsInBoundWitness(bw, sourceArchivist)),\n ))\n .filter(exists)\n .flat()\n const nextCursor = assertEx(next.at(-1)?._sequence, () => `${moduleName}: Expected next to have a sequence`)\n const nextState: ModuleState<ImageThumbnailDivinerState> = { schema: ModuleStateSchema, state: { ...lastState.state, cursor: nextCursor } }\n return [nextState, ...indexCandidates]\n }\n\n /**\n * Retrieves the archivist for the payloadStore\n * @returns The archivist for the payloadStore\n */\n protected async getArchivistForStore() {\n const name = assertEx(this.config?.payloadStore?.archivist, () => `${moduleName}: Config for payloadStore.archivist not specified`)\n const mod = assertEx(await this.resolve(name), () => `${moduleName}: Failed to resolve payloadStore.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\n */\n protected async getBoundWitnessDivinerForStore() {\n const name = assertEx(\n this.config?.payloadStore?.boundWitnessDiviner,\n () => `${moduleName}: Config for payloadStore.boundWitnessDiviner not specified`,\n )\n const mod = assertEx(await this.resolve(name), () => `${moduleName}: Failed to resolve payloadStore.boundWitnessDiviner`)\n return DivinerWrapper.wrap(mod, this.account)\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["AbstractDiviner", "DivinerConfigSchema", "PayloadBuilder", "UrlSchema", "AbstractDiviner", "DivinerConfigSchema", "PayloadBuilder", "UrlSchema", "isImageThumbnailDivinerQuery", "AbstractDiviner", "DivinerConfigSchema", "PayloadBuilder", "UrlSchema", "AbstractDiviner", "DivinerConfigSchema", "isImageThumbnailDivinerQuery", "order", "UrlSchema", "PayloadBuilder", "PayloadDivinerQuerySchema", "asSchema", "asSchema", "exists", "ImageThumbnailSchema", "isImageThumbnail", "AbstractDiviner", "isBoundWitness", "isTimestamp", "TimestampSchema", "ImageThumbnailSchema", "TimestampSchema", "isImageThumbnail", "isTimestamp", "AbstractDiviner", "exists", "isBoundWitness"]
4
+ "sourcesContent": ["import { IndexingDiviner } from '@xyo-network/diviner-indexing'\nimport type { AttachableDivinerInstance } from '@xyo-network/sdk'\n\nimport { ImageThumbnailDivinerLabels } from './ImageThumbnailDivinerLabels.ts'\n\nexport class ImageThumbnailDiviner extends IndexingDiviner implements AttachableDivinerInstance {\n static override readonly labels: ImageThumbnailDivinerLabels = { ...super.labels, ...ImageThumbnailDivinerLabels }\n}\n", "import type { DivinerStageSchema, IndexingDivinerStage } from '@xyo-network/diviner-indexing'\nimport type { Labels } from '@xyo-network/sdk'\n\n/**\n * Labels for Image Thumbnail Diviner components\n */\nexport interface ImageThumbnailDivinerLabels extends Labels {\n 'network.xyo.image.thumbnail': 'diviner'\n}\n\n/**\n * Labels for Image Thumbnail Diviner components\n */\nexport const ImageThumbnailDivinerLabels: ImageThumbnailDivinerLabels = { 'network.xyo.image.thumbnail': 'diviner' }\n\n/**\n * Labels for Image Thumbnail Diviner Stage Diviners\n */\nexport type ImageThumbnailDivinerStageLabels = ImageThumbnailDivinerLabels & Record<DivinerStageSchema, IndexingDivinerStage>\n", "import type { Hash } from '@xylabs/sdk'\nimport type {\n ImageThumbnail,\n ImageThumbnailResultIndex,\n ImageThumbnailResultIndexFields,\n} from '@xyo-network/image-thumbnail-payload-plugin'\nimport {\n ImageThumbnailResultIndexSchema,\n ImageThumbnailSchema,\n isImageThumbnail,\n} from '@xyo-network/image-thumbnail-payload-plugin'\nimport type {\n BoundWitness,\n Payload, Schema, WithSources,\n} from '@xyo-network/sdk'\nimport {\n AbstractDiviner, DivinerConfigSchema, isBoundWitness, PayloadBuilder,\n} from '@xyo-network/sdk'\nimport { UrlSchema } from '@xyo-network/url-payload-plugin'\nimport type { Timestamp } from '@xyo-network/witness-timestamp'\nimport { isTimestamp, TimestampSchema } from '@xyo-network/witness-timestamp'\n\nimport type { ImageThumbnailDivinerStageLabels } from './ImageThumbnailDivinerLabels.ts'\nimport { ImageThumbnailDivinerLabels } from './ImageThumbnailDivinerLabels.ts'\n\n/**\n * Transforms candidates for image thumbnail indexing into their indexed representation\n */\nexport class ImageThumbnailIndexCandidateToImageThumbnailIndexDiviner extends AbstractDiviner {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, DivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = DivinerConfigSchema\n static override readonly labels: ImageThumbnailDivinerStageLabels = {\n ...super.labels,\n ...ImageThumbnailDivinerLabels,\n 'network.xyo.diviner.stage': 'indexCandidateToIndexDiviner',\n }\n\n protected override async divineHandler(payloads: Payload[] = []): Promise<WithSources<ImageThumbnailResultIndex>[]> {\n const bws: BoundWitness[] = payloads.filter(isBoundWitness)\n const imageThumbnailPayloads: ImageThumbnail[] = payloads.filter(isImageThumbnail)\n const timestampPayloads: Timestamp[] = payloads.filter(isTimestamp)\n if (bws.length > 0 && imageThumbnailPayloads.length > 0 && timestampPayloads.length > 0) {\n const payloadDictionary: Record<string, Payload> = await PayloadBuilder.toDataHashMap(payloads)\n\n const tuples: [BoundWitness, ImageThumbnail, Timestamp][] = bws.reduce<[BoundWitness, ImageThumbnail, Timestamp][]>(\n (acc, curr) => {\n const imageThumbnailIndex = curr.payload_schemas?.indexOf(ImageThumbnailSchema)\n const timestampIndex = curr.payload_schemas?.indexOf(TimestampSchema)\n const imageThumbnailHash: string | undefined = imageThumbnailIndex == null ? undefined : curr.payload_hashes?.[imageThumbnailIndex]\n const timestampHash: string | undefined = timestampIndex == null ? undefined : curr.payload_hashes?.[timestampIndex]\n const imageThumbnailPayload = imageThumbnailHash == null ? undefined : [payloadDictionary[imageThumbnailHash]].find(isImageThumbnail)\n const timestampPayload = timestampHash == null ? undefined : [payloadDictionary[timestampHash]].find(isTimestamp)\n if (imageThumbnailPayload != null && timestampPayload != null) acc.push([curr, imageThumbnailPayload, timestampPayload])\n return acc\n },\n [] as [BoundWitness, ImageThumbnail, Timestamp][],\n )\n const indexes = await Promise.all(\n tuples.map(async ([bw, imageThumbnailPayload, timestampPayload]) => {\n const { sourceUrl: url, http } = imageThumbnailPayload\n const { timestamp } = timestampPayload\n const { status } = http ?? {}\n const success = (imageThumbnailPayload.url?.length ?? 0) > 0 // Call anything with a thumbnail URL a success\n const $sources: Hash[] = await PayloadBuilder.dataHashes([bw, imageThumbnailPayload, timestampPayload])\n const urlPayload = { schema: UrlSchema, url }\n const key: Hash = await PayloadBuilder.dataHash(urlPayload)\n const fields: ImageThumbnailResultIndexFields = {\n key, success, timestamp,\n }\n if (status != null) fields.status = status\n const builder = new PayloadBuilder<WithSources<ImageThumbnailResultIndex>>({ schema: ImageThumbnailResultIndexSchema })\n const result = builder\n .fields({ ...fields }).meta({ $sources })\n .build()\n return [result]\n }),\n )\n return indexes.flat()\n }\n return []\n }\n}\n", "import { exists } from '@xylabs/sdk'\nimport type {\n ImageThumbnailResult,\n ImageThumbnailResultFields,\n ImageThumbnailResultIndex,\n} from '@xyo-network/image-thumbnail-payload-plugin'\nimport {\n ImageThumbnailResultSchema,\n isImageThumbnailDivinerQuery,\n isImageThumbnailResultIndex,\n} from '@xyo-network/image-thumbnail-payload-plugin'\nimport type {\n Payload, Schema, WithSources,\n} from '@xyo-network/sdk'\nimport {\n AbstractDiviner, DivinerConfigSchema, PayloadBuilder,\n} from '@xyo-network/sdk'\nimport { UrlSchema } from '@xyo-network/url-payload-plugin'\n\nimport type { ImageThumbnailDivinerStageLabels } from './ImageThumbnailDivinerLabels.ts'\nimport { ImageThumbnailDivinerLabels } from './ImageThumbnailDivinerLabels.ts'\n\n/**\n * Transforms an ImageThumbnailIndex response into an ImageThumbnailResponse response\n */\nexport class ImageThumbnailIndexQueryResponseToImageThumbnailQueryResponseDiviner extends AbstractDiviner {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, DivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = DivinerConfigSchema\n static override readonly labels: ImageThumbnailDivinerStageLabels = {\n ...super.labels,\n ...ImageThumbnailDivinerLabels,\n 'network.xyo.diviner.stage': 'indexQueryResponseToDivinerQueryResponseDiviner',\n }\n\n protected override async divineHandler(payloads: Payload[] = []): Promise<ImageThumbnailResult[]> {\n // Filter out the two operands\n const imageThumbnailDivinerQueries = payloads.filter(isImageThumbnailDivinerQuery)\n const imageThumbnailResultIndexes = payloads.filter(isImageThumbnailResultIndex) as WithSources<ImageThumbnailResultIndex>[]\n\n // If we have operands\n if (imageThumbnailDivinerQueries.length > 0 && imageThumbnailResultIndexes.length > 0) {\n // Create a dictionary to translate index keys to the urls that represent them\n const keyToUrlDictionary = Object.fromEntries(\n await Promise.all(\n imageThumbnailDivinerQueries.map(async (imageThumbnailDivinerQuery) => {\n const { url } = imageThumbnailDivinerQuery\n const urlPayloadBuilder = new PayloadBuilder<Omit<ImageThumbnailResult, 'timestamp' | 'success' | 'sources'>>({ schema: UrlSchema })\n const urlPayload = urlPayloadBuilder\n .fields({ url })\n .build()\n const key = await PayloadBuilder.dataHash(urlPayload)\n return [key, url] as const\n }),\n ),\n )\n // Map the indexes to responses using the dictionary\n return imageThumbnailResultIndexes.map((imageThumbnailResultIndex) => {\n const {\n\n key, schema, $sources, ...commonFields\n } = imageThumbnailResultIndex\n const keyString: string = key\n const url = keyToUrlDictionary[keyString]\n if (url != null && url !== '') {\n const fields: ImageThumbnailResultFields = { ...commonFields, url }\n const builder = new PayloadBuilder<ImageThumbnailResult>({ schema: ImageThumbnailResultSchema })\n return builder.fields(fields).meta({ $sources }).build()\n }\n }).filter(exists)\n }\n return []\n }\n}\n", "import { PayloadDivinerQuerySchema } from '@xyo-network/diviner-payload-model'\nimport { isImageThumbnailDivinerQuery } from '@xyo-network/image-thumbnail-payload-plugin'\nimport type { Payload, Schema } from '@xyo-network/sdk'\nimport {\n AbstractDiviner, DivinerConfigSchema, PayloadBuilder,\n} from '@xyo-network/sdk'\nimport { UrlSchema } from '@xyo-network/url-payload-plugin'\n\nimport type { ImageThumbnailDivinerStageLabels } from './ImageThumbnailDivinerLabels.ts'\nimport { ImageThumbnailDivinerLabels } from './ImageThumbnailDivinerLabels.ts'\nimport type { ImageThumbnailResultQuery } from './ImageThumbnailResultQuery.ts'\n\n/**\n * A diviner that converts ImageThumbnailDivinerQuery to ImageThumbnailResultQuery\n */\nexport class ImageThumbnailQueryToImageThumbnailIndexQueryDiviner extends AbstractDiviner {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, DivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = DivinerConfigSchema\n static override readonly labels: ImageThumbnailDivinerStageLabels = {\n ...super.labels,\n ...ImageThumbnailDivinerLabels,\n 'network.xyo.diviner.stage': 'divinerQueryToIndexQueryDiviner',\n }\n\n protected override async divineHandler(\n payloads: Payload[] = [],\n ): Promise<Omit<Omit<ImageThumbnailResultQuery, 'timestamp' | 'success'> & Partial<Pick<ImageThumbnailResultQuery, 'success'>>, 'timestamp'>[]> {\n const queries = payloads.filter(isImageThumbnailDivinerQuery)\n if (queries.length > 0) {\n const results = await Promise.all(\n queries.map(async (query) => {\n const {\n limit: payloadLimit, order: payloadOrder, status: payloadStatus, success: payloadSuccess, url,\n } = query\n const limit = payloadLimit ?? 1\n const order = payloadOrder ?? 'desc'\n const urlPayload = { schema: UrlSchema, url }\n const key = await PayloadBuilder.dataHash(urlPayload)\n const fields: Omit<ImageThumbnailResultQuery, 'schema' | 'timestamp' | 'success'> & Partial<Pick<ImageThumbnailResultQuery, 'success'>> = {\n key,\n limit,\n order,\n }\n if (payloadSuccess !== undefined) fields.success = payloadSuccess\n if (payloadStatus !== undefined) fields.status = payloadStatus\n const builder = new PayloadBuilder<\n Omit<ImageThumbnailResultQuery, 'timestamp' | 'success'> & Partial<Pick<ImageThumbnailResultQuery, 'success'>>\n >({ schema: PayloadDivinerQuerySchema })\n return builder\n .fields(fields)\n .build()\n }),\n )\n return results\n }\n return []\n }\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk'\nimport { PayloadDivinerQueryPayloadZod } from '@xyo-network/diviner-payload-model'\nimport type { ImageThumbnailResultIndex } from '@xyo-network/image-thumbnail-payload-plugin'\nimport { ImageThumbnailResultIndexZod } from '@xyo-network/image-thumbnail-payload-plugin'\nimport * as z from 'zod/mini'\n\n/**\n * The fields that will need to be indexed on in the underlying store\n */\nexport type QueryableImageThumbnailResultProperties = Extract<keyof ImageThumbnailResultIndex, 'status' | 'success' | 'timestamp' | 'key'>\n\n/**\n * The query that will be used to retrieve the results from the underlying store\n */\nexport const ImageThumbnailResultQueryZod = z.extend(PayloadDivinerQueryPayloadZod, {\n key: ImageThumbnailResultIndexZod.shape.key,\n status: ImageThumbnailResultIndexZod.shape.status,\n success: ImageThumbnailResultIndexZod.shape.success,\n timestamp: ImageThumbnailResultIndexZod.shape.timestamp,\n})\n\nexport type ImageThumbnailResultQuery = z.infer<typeof ImageThumbnailResultQueryZod>\n\n/**\n * A type guard for ImageThumbnailResultQuery\n */\nexport const isImageThumbnailResultQuery = zodIsFactory(ImageThumbnailResultQueryZod)\nexport const asImageThumbnailResultQuery = zodAsFactory(ImageThumbnailResultQueryZod, 'asImageThumbnailResultQuery')\nexport const toImageThumbnailResultQuery = zodToFactory(ImageThumbnailResultQueryZod, 'toImageThumbnailResultQuery')\n", "import type { SearchableStorage } from '@xyo-network/image-thumbnail-payload-plugin'\nimport type { DivinerConfig } from '@xyo-network/sdk'\nimport { asSchema } from '@xyo-network/sdk'\n\nimport { ImageThumbnailStateToIndexCandidateDivinerSchema } from './Schema.ts'\n\nexport type ImageThumbnailStateToIndexCandidateDivinerConfigSchema = typeof ImageThumbnailStateToIndexCandidateDivinerConfigSchema\nexport const ImageThumbnailStateToIndexCandidateDivinerConfigSchema\n = asSchema(`${ImageThumbnailStateToIndexCandidateDivinerSchema}.config`, true)\n\nexport type ImageThumbnailStateToIndexCandidateDivinerConfig = DivinerConfig<{\n payloadDivinerLimit?: number\n /**\n * Where the diviner should look for stored thumbnails\n */\n payloadStore?: SearchableStorage\n schema: ImageThumbnailStateToIndexCandidateDivinerConfigSchema\n}>\n", "import { ImageThumbnailDivinerSchema } from '@xyo-network/image-thumbnail-payload-plugin'\nimport { asSchema } from '@xyo-network/sdk'\n\nexport type ImageThumbnailStateToIndexCandidateDivinerSchema = typeof ImageThumbnailStateToIndexCandidateDivinerSchema\nexport const ImageThumbnailStateToIndexCandidateDivinerSchema\n = asSchema(`${ImageThumbnailDivinerSchema}.stage.stateToIndexCandidateDiviner`, true)\n", "import {\n AsObjectFactory, assertEx, exists, filterAs,\n} from '@xylabs/sdk'\nimport type { ImageThumbnail } from '@xyo-network/image-thumbnail-payload-plugin'\nimport { ImageThumbnailSchema, isImageThumbnail } from '@xyo-network/image-thumbnail-payload-plugin'\nimport type {\n ArchivistInstance, ArchivistNextOptions, BoundWitness, DivinerInstance, ModuleState, Payload, Schema,\n} from '@xyo-network/sdk'\nimport {\n AbstractDiviner, ArchivistWrapper, asBoundWitness, DivinerWrapper, isBoundWitness, isModuleState, ModuleStateSchema, payloadSchemasContainsAll, SequenceConstants,\n} from '@xyo-network/sdk'\nimport type { Timestamp } from '@xyo-network/witness-timestamp'\nimport { isTimestamp, TimestampSchema } from '@xyo-network/witness-timestamp'\n\nimport type { ImageThumbnailDivinerStageLabels } from '../ImageThumbnailDivinerLabels.ts'\nimport { ImageThumbnailDivinerLabels } from '../ImageThumbnailDivinerLabels.ts'\nimport type { ImageThumbnailDivinerState } from '../ImageThumbnailDivinerState.ts'\nimport { ImageThumbnailStateToIndexCandidateDivinerConfigSchema } from './Config.ts'\nimport type { ImageThumbnailStateToIndexCandidateDivinerParams } from './Params.ts'\n\n/**\n * All Payload types involved in index candidates for indexing\n */\nexport type IndexCandidate = BoundWitness | ImageThumbnail | Timestamp\n\n/**\n * The response from the ImageThumbnailStateToIndexCandidateDiviner\n */\nexport type ImageThumbnailStateToIndexCandidateDivinerResponse = [\n /**\n * The next state of the diviner\n */\n nextState: ModuleState<ImageThumbnailDivinerState>,\n /**\n * The index candidates\n */\n ...IndexCandidate[],\n]\n\n/**\n * The required payload_schemas within BoundWitnesses to identify index candidates\n */\nconst payload_schemas = [ImageThumbnailSchema, TimestampSchema]\n\n/**\n * Index candidate identity functions\n */\nconst indexCandidateIdentityFunctions = [isImageThumbnail, isTimestamp] as const\nconst isIndexCandidate = (x?: unknown): x is IndexCandidate => {\n return indexCandidateIdentityFunctions.map(is => is(x)).some(Boolean)\n}\nconst asIndexCandidate = AsObjectFactory.create(isIndexCandidate)\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 = 'ImageThumbnailStateToIndexCandidateDiviner'\n\n/**\n * Transforms candidates for image thumbnail indexing into their indexed representation\n */\nexport class ImageThumbnailStateToIndexCandidateDiviner<\n TParams extends ImageThumbnailStateToIndexCandidateDivinerParams = ImageThumbnailStateToIndexCandidateDivinerParams,\n> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, ImageThumbnailStateToIndexCandidateDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = ImageThumbnailStateToIndexCandidateDivinerConfigSchema\n static override readonly labels: ImageThumbnailDivinerStageLabels = {\n ...super.labels,\n ...ImageThumbnailDivinerLabels,\n 'network.xyo.diviner.stage': 'stateToIndexCandidateDiviner',\n }\n\n get payloadDivinerLimit() {\n return this.config.payloadDivinerLimit ?? 1000\n }\n\n protected static async getPayloadsInBoundWitness(bw: BoundWitness, archivist: ArchivistInstance): Promise<IndexCandidate[] | undefined> {\n const indexes = payload_schemas.map(schema => bw.payload_schemas?.indexOf(schema))\n const hashes = indexes.map(index => bw.payload_hashes?.[index])\n const results = await archivist.get(hashes)\n const filteredResults = indexCandidateIdentityFunctions.map(is => results.find(is))\n if (filteredResults.includes(undefined)) return undefined\n const indexCandidates: IndexCandidate[] = filterAs(filteredResults, asIndexCandidate)\n return [bw, ...indexCandidates]\n }\n\n protected override async divineHandler(payloads: Payload[] = []): Promise<ImageThumbnailStateToIndexCandidateDivinerResponse> {\n // Retrieve the last state from what was passed in\n const lastState = payloads.find(isModuleState<ImageThumbnailDivinerState>)\n // If there is no last state, start from the beginning\n ?? { schema: ModuleStateSchema, state: { cursor: SequenceConstants.minLocalSequence } }\n\n // Get the last cursor\n const cursor = lastState?.state?.cursor\n // Get the archivist for the store\n const sourceArchivist = await this.getArchivistForStore()\n\n // Get the next batch of results\n const nextOffset: ArchivistNextOptions = { limit: this.payloadDivinerLimit, order }\n // Only use the cursor if it's a valid offset\n if (cursor !== SequenceConstants.minLocalSequence) nextOffset.cursor = cursor\n // Get next batch of results starting from the offset\n const next = await sourceArchivist.next(nextOffset)\n if (next.length === 0) return [lastState]\n\n const batch = filterAs(next, asBoundWitness)\n .filter(exists)\n .filter(bw => payloadSchemasContainsAll(bw, payload_schemas))\n // Get source data\n const boundWitnessCandidates = await Promise.all(\n batch\n .filter(isBoundWitness)\n .map(bw => ImageThumbnailStateToIndexCandidateDiviner.getPayloadsInBoundWitness(bw, sourceArchivist)),\n )\n const indexCandidates: IndexCandidate[] = boundWitnessCandidates\n .filter(exists)\n .flat()\n const nextCursor = assertEx(next.at(-1)?._sequence, () => `${moduleName}: Expected next to have a sequence`)\n const nextState: ModuleState<ImageThumbnailDivinerState> = { schema: ModuleStateSchema, state: { ...lastState.state, cursor: nextCursor } }\n return [nextState, ...indexCandidates]\n }\n\n /**\n * Retrieves the archivist for the payloadStore\n * @returns The archivist for the payloadStore\n */\n protected async getArchivistForStore() {\n const name = assertEx(this.config?.payloadStore?.archivist, () => `${moduleName}: Config for payloadStore.archivist not specified`)\n const mod = assertEx(await this.resolve(name), () => `${moduleName}: Failed to resolve payloadStore.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\n */\n protected async getBoundWitnessDivinerForStore(): Promise<DivinerInstance> {\n const name = assertEx(\n this.config?.payloadStore?.boundWitnessDiviner,\n () => `${moduleName}: Config for payloadStore.boundWitnessDiviner not specified`,\n )\n const mod = assertEx(await this.resolve(name), () => `${moduleName}: Failed to resolve payloadStore.boundWitnessDiviner`)\n return DivinerWrapper.wrap(mod, this.account)\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["AbstractDiviner", "DivinerConfigSchema", "PayloadBuilder", "UrlSchema", "AbstractDiviner", "DivinerConfigSchema", "PayloadBuilder", "UrlSchema", "isImageThumbnailDivinerQuery", "AbstractDiviner", "DivinerConfigSchema", "PayloadBuilder", "UrlSchema", "AbstractDiviner", "DivinerConfigSchema", "isImageThumbnailDivinerQuery", "order", "UrlSchema", "PayloadBuilder", "asSchema", "asSchema", "exists", "ImageThumbnailSchema", "isImageThumbnail", "AbstractDiviner", "isBoundWitness", "isTimestamp", "TimestampSchema", "ImageThumbnailSchema", "TimestampSchema", "isImageThumbnail", "isTimestamp", "AbstractDiviner", "exists", "isBoundWitness"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/diviner-image-thumbnail",
3
- "version": "6.1.0",
3
+ "version": "7.0.1",
4
4
  "description": "Typescript/Javascript Plugins for XYO Platform",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -31,71 +31,63 @@
31
31
  "README.md"
32
32
  ],
33
33
  "dependencies": {
34
- "@xyo-network/url-payload-plugin": "~6.1.0",
35
- "@xyo-network/image-thumbnail-payload-plugin": "~6.1.0"
34
+ "@xyo-network/image-thumbnail-payload-plugin": "~7.0.1",
35
+ "@xyo-network/url-payload-plugin": "~7.0.1"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@bitauth/libauth": "~3.0.0",
39
- "@metamask/providers": "^22.1.1",
40
39
  "@noble/post-quantum": "~0.6.1",
41
40
  "@opentelemetry/api": "^1.9.1",
42
- "@opentelemetry/sdk-trace-base": "^2.7.1",
41
+ "@opentelemetry/sdk-trace-base": "^2.8.0",
43
42
  "@scure/base": "^2.2.0",
44
43
  "@scure/bip39": "~2.2.0",
45
- "@xylabs/geo": "^6.1.0",
46
- "@xylabs/sdk-js": "^6.1.0",
47
- "@xylabs/threads": "^6.1.0",
48
- "@xylabs/toolchain": "~8.1.20",
49
- "@xylabs/tsconfig": "~8.1.20",
50
- "@xylabs/vitest-extended": "~6.1.0",
51
- "@xyo-network/archivist-model": "~6.1.0",
52
- "@xyo-network/boundwitness-builder": "~6.1.0",
53
- "@xyo-network/boundwitness-model": "~6.1.0",
54
- "@xyo-network/diviner-boundwitness": "~6.1.0",
55
- "@xyo-network/diviner-indexing": "^6.1.0",
56
- "@xyo-network/diviner-model": "~6.1.0",
57
- "@xyo-network/diviner-payload-generic": "~6.1.0",
58
- "@xyo-network/diviner-payload-model": "^6.1.0",
59
- "@xyo-network/module-model": "~6.1.0",
60
- "@xyo-network/node-memory": "~6.1.0",
61
- "@xyo-network/payload-model": "~6.1.0",
62
- "@xyo-network/payload-utils": "~6.1",
63
- "@xyo-network/sdk-js": "^6.1.0",
64
- "@xyo-network/sdk-protocol-js": "~6.1",
65
- "@xyo-network/witness-timestamp": "^6.1.0",
44
+ "@xylabs/geo": "^7.0.1",
45
+ "@xylabs/sdk": "^7.0.1",
46
+ "@xylabs/threads": "^7.0.1",
47
+ "@xylabs/toolchain": "~8.5.3",
48
+ "@xylabs/tsconfig": "~8.5.3",
49
+ "@xylabs/vitest-extended": "^7.0.1",
50
+ "@xyo-network/diviner-boundwitness": "^7.0.3",
51
+ "@xyo-network/diviner-indexing": "~7.0.3",
52
+ "@xyo-network/diviner-payload-generic": "^7.0.3",
53
+ "@xyo-network/diviner-payload-model": "^7.0.3",
54
+ "@xyo-network/payload-utils": "~7.0.4",
55
+ "@xyo-network/sdk": "~7.0.3",
56
+ "@xyo-network/sdk-protocol": "^7.0.4",
57
+ "@xyo-network/witness-timestamp": "^7.0.3",
66
58
  "ajv": "^8.20.0",
67
59
  "async-mutex": "^0.5.0",
60
+ "browserslist": "4.28.4",
68
61
  "debug": "~4.4.3",
69
- "eslint": "^10.4.1",
70
- "ethers": "^6.16.0",
62
+ "eslint": "^10.6.0",
63
+ "eslint-import-resolver-typescript": "^4.4.5",
64
+ "ethers": "^6.17.0",
71
65
  "hash-wasm": "^4.12.0",
72
66
  "idb": "^8.0.3",
73
67
  "jsonpath-plus": "^10.4.0",
74
68
  "lru-cache": "^11.5.1",
75
69
  "observable-fns": "~0.6.1",
76
70
  "typescript": "~6.0.3",
77
- "vite": "^8.0.16",
78
- "vitest": "~4.1.8",
79
- "webextension-polyfill": "^0.12.0",
71
+ "vite": "^8.1.0",
72
+ "vitest": "^4.1.9",
80
73
  "zod": "^4.4.3"
81
74
  },
82
75
  "peerDependencies": {
83
76
  "@bitauth/libauth": "~3.0",
84
- "@metamask/providers": "^22.1",
85
77
  "@noble/post-quantum": "~0.6.1",
86
78
  "@opentelemetry/api": "^1.9",
87
79
  "@opentelemetry/sdk-trace-base": "^2.7",
88
80
  "@scure/base": "^2.2",
89
81
  "@scure/bip39": "~2.2",
90
- "@xylabs/geo": "^6.0",
91
- "@xylabs/sdk-js": "^6.0",
92
- "@xylabs/threads": "^6.0",
93
- "@xyo-network/diviner-indexing": "^6.0",
94
- "@xyo-network/diviner-payload-model": "^6.0",
95
- "@xyo-network/payload-utils": "^6.1",
96
- "@xyo-network/sdk-js": "^6.0",
97
- "@xyo-network/sdk-protocol-js": "^6.1",
98
- "@xyo-network/witness-timestamp": "^6.0",
82
+ "@xylabs/geo": "^7.0",
83
+ "@xylabs/sdk": "^7.0",
84
+ "@xylabs/threads": "^7.0",
85
+ "@xyo-network/diviner-indexing": "^7.0",
86
+ "@xyo-network/diviner-payload-model": "^7.0",
87
+ "@xyo-network/payload-utils": "~7.0",
88
+ "@xyo-network/sdk": "^7.0",
89
+ "@xyo-network/sdk-protocol": "^7.0",
90
+ "@xyo-network/witness-timestamp": "^7.0",
99
91
  "ajv": "^8.20",
100
92
  "async-mutex": "^0.5",
101
93
  "debug": "~4.4",
@@ -105,7 +97,6 @@
105
97
  "jsonpath-plus": "^10.3",
106
98
  "lru-cache": "^11.3",
107
99
  "observable-fns": "~0.6",
108
- "webextension-polyfill": "^0.12",
109
100
  "zod": "^4.4"
110
101
  },
111
102
  "engines": {