@xyo-network/diviner-temporal-indexing-memory 2.106.0-rc.5 → 2.107.0
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/browser/DivinerQueryToIndexQueryDiviner/Diviner.d.cts +0 -23
- package/dist/browser/DivinerQueryToIndexQueryDiviner/Diviner.d.cts.map +1 -1
- package/dist/browser/DivinerQueryToIndexQueryDiviner/Diviner.d.mts +0 -23
- package/dist/browser/DivinerQueryToIndexQueryDiviner/Diviner.d.mts.map +1 -1
- package/dist/browser/DivinerQueryToIndexQueryDiviner/Diviner.d.ts +0 -23
- package/dist/browser/DivinerQueryToIndexQueryDiviner/Diviner.d.ts.map +1 -1
- package/dist/browser/IndexCandidateToIndexDiviner/Diviner.d.cts +0 -26
- package/dist/browser/IndexCandidateToIndexDiviner/Diviner.d.cts.map +1 -1
- package/dist/browser/IndexCandidateToIndexDiviner/Diviner.d.mts +0 -26
- package/dist/browser/IndexCandidateToIndexDiviner/Diviner.d.mts.map +1 -1
- package/dist/browser/IndexCandidateToIndexDiviner/Diviner.d.ts +0 -26
- package/dist/browser/IndexCandidateToIndexDiviner/Diviner.d.ts.map +1 -1
- package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.cts +0 -3
- package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.cts.map +1 -1
- package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.mts +0 -3
- package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.mts.map +1 -1
- package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.ts +0 -3
- package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.ts.map +1 -1
- package/dist/browser/StateToIndexCandidateDiviner/Diviner.d.cts +19 -44
- package/dist/browser/StateToIndexCandidateDiviner/Diviner.d.cts.map +1 -1
- package/dist/browser/StateToIndexCandidateDiviner/Diviner.d.mts +19 -44
- package/dist/browser/StateToIndexCandidateDiviner/Diviner.d.mts.map +1 -1
- package/dist/browser/StateToIndexCandidateDiviner/Diviner.d.ts +19 -44
- package/dist/browser/StateToIndexCandidateDiviner/Diviner.d.ts.map +1 -1
- package/dist/browser/index.cjs +1 -401
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +1 -380
- package/dist/browser/index.js.map +1 -1
- package/dist/neutral/DivinerQueryToIndexQueryDiviner/Diviner.d.cts +0 -23
- package/dist/neutral/DivinerQueryToIndexQueryDiviner/Diviner.d.cts.map +1 -1
- package/dist/neutral/DivinerQueryToIndexQueryDiviner/Diviner.d.mts +0 -23
- package/dist/neutral/DivinerQueryToIndexQueryDiviner/Diviner.d.mts.map +1 -1
- package/dist/neutral/DivinerQueryToIndexQueryDiviner/Diviner.d.ts +0 -23
- package/dist/neutral/DivinerQueryToIndexQueryDiviner/Diviner.d.ts.map +1 -1
- package/dist/neutral/IndexCandidateToIndexDiviner/Diviner.d.cts +0 -26
- package/dist/neutral/IndexCandidateToIndexDiviner/Diviner.d.cts.map +1 -1
- package/dist/neutral/IndexCandidateToIndexDiviner/Diviner.d.mts +0 -26
- package/dist/neutral/IndexCandidateToIndexDiviner/Diviner.d.mts.map +1 -1
- package/dist/neutral/IndexCandidateToIndexDiviner/Diviner.d.ts +0 -26
- package/dist/neutral/IndexCandidateToIndexDiviner/Diviner.d.ts.map +1 -1
- package/dist/neutral/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.cts +0 -3
- package/dist/neutral/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.cts.map +1 -1
- package/dist/neutral/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.mts +0 -3
- package/dist/neutral/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.mts.map +1 -1
- package/dist/neutral/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.ts +0 -3
- package/dist/neutral/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.ts.map +1 -1
- package/dist/neutral/StateToIndexCandidateDiviner/Diviner.d.cts +19 -44
- package/dist/neutral/StateToIndexCandidateDiviner/Diviner.d.cts.map +1 -1
- package/dist/neutral/StateToIndexCandidateDiviner/Diviner.d.mts +19 -44
- package/dist/neutral/StateToIndexCandidateDiviner/Diviner.d.mts.map +1 -1
- package/dist/neutral/StateToIndexCandidateDiviner/Diviner.d.ts +19 -44
- package/dist/neutral/StateToIndexCandidateDiviner/Diviner.d.ts.map +1 -1
- package/dist/neutral/index.cjs +1 -401
- package/dist/neutral/index.cjs.map +1 -1
- package/dist/neutral/index.js +1 -380
- package/dist/neutral/index.js.map +1 -1
- package/dist/node/DivinerQueryToIndexQueryDiviner/Diviner.d.cts +0 -23
- package/dist/node/DivinerQueryToIndexQueryDiviner/Diviner.d.cts.map +1 -1
- package/dist/node/DivinerQueryToIndexQueryDiviner/Diviner.d.mts +0 -23
- package/dist/node/DivinerQueryToIndexQueryDiviner/Diviner.d.mts.map +1 -1
- package/dist/node/DivinerQueryToIndexQueryDiviner/Diviner.d.ts +0 -23
- package/dist/node/DivinerQueryToIndexQueryDiviner/Diviner.d.ts.map +1 -1
- package/dist/node/IndexCandidateToIndexDiviner/Diviner.d.cts +0 -26
- package/dist/node/IndexCandidateToIndexDiviner/Diviner.d.cts.map +1 -1
- package/dist/node/IndexCandidateToIndexDiviner/Diviner.d.mts +0 -26
- package/dist/node/IndexCandidateToIndexDiviner/Diviner.d.mts.map +1 -1
- package/dist/node/IndexCandidateToIndexDiviner/Diviner.d.ts +0 -26
- package/dist/node/IndexCandidateToIndexDiviner/Diviner.d.ts.map +1 -1
- package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.cts +0 -3
- package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.cts.map +1 -1
- package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.mts +0 -3
- package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.mts.map +1 -1
- package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.ts +0 -3
- package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.d.ts.map +1 -1
- package/dist/node/StateToIndexCandidateDiviner/Diviner.d.cts +19 -44
- package/dist/node/StateToIndexCandidateDiviner/Diviner.d.cts.map +1 -1
- package/dist/node/StateToIndexCandidateDiviner/Diviner.d.mts +19 -44
- package/dist/node/StateToIndexCandidateDiviner/Diviner.d.mts.map +1 -1
- package/dist/node/StateToIndexCandidateDiviner/Diviner.d.ts +19 -44
- package/dist/node/StateToIndexCandidateDiviner/Diviner.d.ts.map +1 -1
- package/dist/node/index.cjs +1 -414
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +1 -385
- package/dist/node/index.js.map +1 -1
- package/package.json +30 -31
|
@@ -3,107 +3,82 @@ import { ArchivistWrapper } from '@xyo-network/archivist-wrapper';
|
|
|
3
3
|
import { BoundWitness } from '@xyo-network/boundwitness-model';
|
|
4
4
|
import { AbstractDiviner } from '@xyo-network/diviner-abstract';
|
|
5
5
|
import { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract';
|
|
6
|
+
import { BoundWitnessDivinerQuerySchema } from '@xyo-network/diviner-boundwitness-model';
|
|
6
7
|
import { IndexingDivinerState } from '@xyo-network/diviner-indexing-model';
|
|
7
8
|
import { TemporalIndexingDivinerStateToIndexCandidateDivinerParams } from '@xyo-network/diviner-temporal-indexing-model';
|
|
8
9
|
import { DivinerWrapper } from '@xyo-network/diviner-wrapper';
|
|
9
10
|
import { Labels, ModuleState } from '@xyo-network/module-model';
|
|
10
11
|
import { Payload, Schema } from '@xyo-network/payload-model';
|
|
11
12
|
import { TimeStamp } from '@xyo-network/witness-timestamp';
|
|
12
|
-
/**
|
|
13
|
-
* All Payload types involved in index candidates for indexing
|
|
14
|
-
*/
|
|
15
13
|
export type IndexCandidate = BoundWitness | Payload | TimeStamp;
|
|
16
|
-
/**
|
|
17
|
-
* The response from the TemporalStateToIndexCandidateDiviner
|
|
18
|
-
*/
|
|
19
14
|
export type TemporalStateToIndexCandidateDivinerResponse = [
|
|
20
|
-
/**
|
|
21
|
-
* The next state of the diviner
|
|
22
|
-
*/
|
|
23
15
|
nextState: ModuleState<IndexingDivinerState>,
|
|
24
|
-
/**
|
|
25
|
-
* The index candidates
|
|
26
|
-
*/
|
|
27
16
|
...IndexCandidate[]
|
|
28
17
|
];
|
|
29
|
-
/**
|
|
30
|
-
* Transforms candidates for image thumbnail indexing into their indexed representation
|
|
31
|
-
*/
|
|
32
18
|
export declare class TemporalIndexingDivinerStateToIndexCandidateDiviner<TParams extends TemporalIndexingDivinerStateToIndexCandidateDivinerParams = TemporalIndexingDivinerStateToIndexCandidateDivinerParams> extends AbstractDiviner<TParams, Payload, ModuleState | IndexCandidate> {
|
|
33
19
|
static readonly configSchemas: Schema[];
|
|
34
20
|
static readonly defaultConfigSchema: Schema;
|
|
35
21
|
static labels: Labels;
|
|
36
22
|
get payloadDivinerLimit(): number;
|
|
37
|
-
/**
|
|
38
|
-
* The required payload_schemas within BoundWitnesses to identify index candidates
|
|
39
|
-
*/
|
|
40
23
|
protected get payload_schemas(): string[];
|
|
41
24
|
protected divineHandler(payloads?: Payload[]): Promise<[ModuleState, ...IndexCandidate[]]>;
|
|
42
|
-
/**
|
|
43
|
-
* Retrieves the archivist for the payloadStore
|
|
44
|
-
* @returns The archivist for the payloadStore or undefined if not resolvable
|
|
45
|
-
*/
|
|
46
25
|
protected getArchivistForStore(): Promise<ArchivistWrapper | undefined>;
|
|
47
|
-
/**
|
|
48
|
-
* Retrieves the BoundWitness Diviner for the payloadStore
|
|
49
|
-
* @returns The BoundWitness Diviner for the payloadStore or undefined if not resolvable
|
|
50
|
-
*/
|
|
51
26
|
protected getBoundWitnessDivinerForStore(): Promise<DivinerWrapper<BoundWitnessDiviner<import("@xylabs/object").BaseParamsFields & {
|
|
52
|
-
account?: import("@xyo-network/account-model").AccountInstance | "random"
|
|
53
|
-
addToResolvers?: boolean
|
|
54
|
-
additionalSigners?: import("@xyo-network/account-model").AccountInstance[]
|
|
55
|
-
allowNameResolution?: boolean
|
|
27
|
+
account?: import("@xyo-network/account-model").AccountInstance | "random";
|
|
28
|
+
addToResolvers?: boolean;
|
|
29
|
+
additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
|
|
30
|
+
allowNameResolution?: boolean;
|
|
56
31
|
config: import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
|
|
57
32
|
schema: "network.xyo.diviner.boundwitness.config";
|
|
58
33
|
} & {
|
|
59
34
|
schema: string;
|
|
60
35
|
} & import("@xyo-network/payload-model").PayloadFields & {
|
|
61
|
-
schema: "network
|
|
36
|
+
schema: import("@xyo-network/diviner-boundwitness-model").BoundWitnessDivinerConfigSchema;
|
|
62
37
|
}, "schema"> & {
|
|
63
38
|
schema: "network.xyo.diviner.boundwitness.config";
|
|
64
39
|
}, "schema"> & {
|
|
65
40
|
schema: string;
|
|
66
41
|
};
|
|
67
|
-
ephemeralQueryAccountEnabled?: boolean
|
|
68
|
-
moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[]
|
|
42
|
+
ephemeralQueryAccountEnabled?: boolean;
|
|
43
|
+
moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
|
|
69
44
|
}, import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<{
|
|
70
|
-
schema:
|
|
45
|
+
schema: BoundWitnessDivinerQuerySchema;
|
|
71
46
|
} & import("@xyo-network/diviner-boundwitness-model").BoundWitnessDivinerPredicate & import("@xyo-network/payload-model").QueryFields, "schema"> & {
|
|
72
47
|
schema: "network.xyo.diviner.boundwitness.query";
|
|
73
48
|
}, import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
|
|
74
49
|
schema: "network.xyo.boundwitness";
|
|
75
50
|
}, import("@xyo-network/diviner-model").DivinerModuleEventData<import("@xyo-network/diviner-model").DivinerInstance<import("@xylabs/object").BaseParamsFields & {
|
|
76
|
-
account?: import("@xyo-network/account-model").AccountInstance | "random"
|
|
77
|
-
addToResolvers?: boolean
|
|
78
|
-
additionalSigners?: import("@xyo-network/account-model").AccountInstance[]
|
|
79
|
-
allowNameResolution?: boolean
|
|
51
|
+
account?: import("@xyo-network/account-model").AccountInstance | "random";
|
|
52
|
+
addToResolvers?: boolean;
|
|
53
|
+
additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
|
|
54
|
+
allowNameResolution?: boolean;
|
|
80
55
|
config: import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
|
|
81
56
|
schema: "network.xyo.diviner.boundwitness.config";
|
|
82
57
|
} & {
|
|
83
58
|
schema: string;
|
|
84
59
|
} & import("@xyo-network/payload-model").PayloadFields & {
|
|
85
|
-
schema: "network
|
|
60
|
+
schema: import("@xyo-network/diviner-boundwitness-model").BoundWitnessDivinerConfigSchema;
|
|
86
61
|
}, "schema"> & {
|
|
87
62
|
schema: "network.xyo.diviner.boundwitness.config";
|
|
88
63
|
}, "schema"> & {
|
|
89
64
|
schema: string;
|
|
90
65
|
};
|
|
91
|
-
ephemeralQueryAccountEnabled?: boolean
|
|
92
|
-
moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[]
|
|
66
|
+
ephemeralQueryAccountEnabled?: boolean;
|
|
67
|
+
moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
|
|
93
68
|
}, import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<{
|
|
94
|
-
schema:
|
|
69
|
+
schema: BoundWitnessDivinerQuerySchema;
|
|
95
70
|
} & import("@xyo-network/diviner-boundwitness-model").BoundWitnessDivinerPredicate & import("@xyo-network/payload-model").QueryFields, "schema"> & {
|
|
96
71
|
schema: "network.xyo.diviner.boundwitness.query";
|
|
97
72
|
}, import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
|
|
98
73
|
schema: "network.xyo.boundwitness";
|
|
99
74
|
}, import("@xyo-network/diviner-model").DivinerModuleEventData>, import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<{
|
|
100
|
-
schema:
|
|
75
|
+
schema: BoundWitnessDivinerQuerySchema;
|
|
101
76
|
} & import("@xyo-network/diviner-boundwitness-model").BoundWitnessDivinerPredicate & import("@xyo-network/payload-model").QueryFields, "schema"> & {
|
|
102
77
|
schema: "network.xyo.diviner.boundwitness.query";
|
|
103
78
|
}, import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
|
|
104
79
|
schema: "network.xyo.boundwitness";
|
|
105
80
|
}>>, import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<{
|
|
106
|
-
schema:
|
|
81
|
+
schema: BoundWitnessDivinerQuerySchema;
|
|
107
82
|
} & import("@xyo-network/diviner-boundwitness-model").BoundWitnessDivinerPredicate & import("@xyo-network/payload-model").QueryFields, "schema"> & {
|
|
108
83
|
schema: "network.xyo.diviner.boundwitness.query";
|
|
109
84
|
}, import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & import("@xyo-network/boundwitness-model").BoundWitnessFields & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/StateToIndexCandidateDiviner/Diviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,YAAY,EAA0B,MAAM,iCAAiC,CAAA;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;
|
|
1
|
+
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/StateToIndexCandidateDiviner/Diviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,YAAY,EAA0B,MAAM,iCAAiC,CAAA;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAChF,OAAO,EAA8D,8BAA8B,EAAE,MAAM,yCAAyC,CAAA;AACpJ,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAC1E,OAAO,EAEL,yDAAyD,EAC1D,MAAM,8CAA8C,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAiB,MAAM,EAAoB,WAAW,EAAqB,MAAM,2BAA2B,CAAA;AAEnH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAE5D,OAAO,EAAE,SAAS,EAAmB,MAAM,gCAAgC,CAAA;AAK3E,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,CAAA;AAK/D,MAAM,MAAM,4CAA4C,GAAG;IAIzD,SAAS,EAAE,WAAW,CAAC,oBAAoB,CAAC;IAI5C,GAAG,cAAc,EAAE;CACpB,CAAA;AAeD,qBAAa,mDAAmD,CAC9D,OAAO,SAAS,yDAAyD,GAAG,yDAAyD,CACrI,SAAQ,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC;IACvE,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA4F;IAC5I,gBAAyB,mBAAmB,EAAE,MAAM,CAAkE;IACtH,OAAgB,MAAM,EAAE,MAAM,CAG7B;IAED,IAAI,mBAAmB,WAEtB;IAKD,SAAS,KAAK,eAAe,IAAI,MAAM,EAAE,CAGxC;cAEwB,aAAa,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,CAAC,WAAW,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC;cA6B7F,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;cAiB7D,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmB9B,yBAAyB,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,EAAE,GAAG,SAAS,CAAC;CAOjI"}
|
package/dist/neutral/index.cjs
CHANGED
|
@@ -1,402 +1,2 @@
|
|
|
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 __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
-
|
|
21
|
-
// src/index.ts
|
|
22
|
-
var src_exports = {};
|
|
23
|
-
__export(src_exports, {
|
|
24
|
-
TemporalIndexingDiviner: () => TemporalIndexingDiviner,
|
|
25
|
-
TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner: () => TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner,
|
|
26
|
-
TemporalIndexingDivinerIndexCandidateToIndexDiviner: () => TemporalIndexingDivinerIndexCandidateToIndexDiviner,
|
|
27
|
-
TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner: () => TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner,
|
|
28
|
-
TemporalIndexingDivinerStateToIndexCandidateDiviner: () => TemporalIndexingDivinerStateToIndexCandidateDiviner
|
|
29
|
-
});
|
|
30
|
-
module.exports = __toCommonJS(src_exports);
|
|
31
|
-
|
|
32
|
-
// src/Diviner.ts
|
|
33
|
-
var import_diviner_indexing_memory = require("@xyo-network/diviner-indexing-memory");
|
|
34
|
-
var import_diviner_temporal_indexing_model = require("@xyo-network/diviner-temporal-indexing-model");
|
|
35
|
-
var TemporalIndexingDiviner = class extends import_diviner_indexing_memory.IndexingDiviner {
|
|
36
|
-
static {
|
|
37
|
-
__name(this, "TemporalIndexingDiviner");
|
|
38
|
-
}
|
|
39
|
-
static configSchemas = [
|
|
40
|
-
...super.configSchemas,
|
|
41
|
-
import_diviner_temporal_indexing_model.TemporalIndexingDivinerConfigSchema
|
|
42
|
-
];
|
|
43
|
-
static defaultConfigSchema = import_diviner_temporal_indexing_model.TemporalIndexingDivinerConfigSchema;
|
|
44
|
-
async startHandler() {
|
|
45
|
-
await super.startHandler();
|
|
46
|
-
return true;
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
// src/DivinerQueryToIndexQueryDiviner/Diviner.ts
|
|
51
|
-
var import_diviner_abstract = require("@xyo-network/diviner-abstract");
|
|
52
|
-
var import_diviner_jsonpath_aggregate_memory = require("@xyo-network/diviner-jsonpath-aggregate-memory");
|
|
53
|
-
var import_diviner_payload_model = require("@xyo-network/diviner-payload-model");
|
|
54
|
-
var import_diviner_temporal_indexing_model2 = require("@xyo-network/diviner-temporal-indexing-model");
|
|
55
|
-
var import_payload_builder = require("@xyo-network/payload-builder");
|
|
56
|
-
var import_payload_model = require("@xyo-network/payload-model");
|
|
57
|
-
var TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner = class extends import_diviner_abstract.AbstractDiviner {
|
|
58
|
-
static {
|
|
59
|
-
__name(this, "TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner");
|
|
60
|
-
}
|
|
61
|
-
static configSchemas = [
|
|
62
|
-
...super.configSchemas,
|
|
63
|
-
import_diviner_temporal_indexing_model2.TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerConfigSchema
|
|
64
|
-
];
|
|
65
|
-
static defaultConfigSchema = import_diviner_temporal_indexing_model2.TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerConfigSchema;
|
|
66
|
-
static labels = {
|
|
67
|
-
...super.labels,
|
|
68
|
-
"network.xyo.diviner.stage": "divinerQueryToIndexQueryDiviner"
|
|
69
|
-
};
|
|
70
|
-
_indexableSchemas;
|
|
71
|
-
_payloadTransformers;
|
|
72
|
-
/**
|
|
73
|
-
* The schema of the diviner query payloads
|
|
74
|
-
*/
|
|
75
|
-
get divinerQuerySchema() {
|
|
76
|
-
return this.config.divinerQuerySchema ?? import_diviner_payload_model.PayloadDivinerQuerySchema;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* The schema of the index query payloads
|
|
80
|
-
*/
|
|
81
|
-
get indexQuerySchema() {
|
|
82
|
-
return this.config.indexQuerySchema ?? import_diviner_payload_model.PayloadDivinerQuerySchema;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* The schema of the index payloads
|
|
86
|
-
*/
|
|
87
|
-
get indexSchema() {
|
|
88
|
-
return this.config.indexSchema ?? import_diviner_temporal_indexing_model2.TemporalIndexingDivinerResultIndexSchema;
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* List of indexable schemas for this diviner
|
|
92
|
-
*/
|
|
93
|
-
get indexableSchemas() {
|
|
94
|
-
if (!this._indexableSchemas) this._indexableSchemas = Object.keys(this.schemaTransforms);
|
|
95
|
-
return this._indexableSchemas;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Dictionary of schemas to payload transformers for creating indexes
|
|
99
|
-
* from the payloads within a Bound Witness
|
|
100
|
-
*/
|
|
101
|
-
get payloadTransformers() {
|
|
102
|
-
if (!this._payloadTransformers) this._payloadTransformers = (0, import_diviner_jsonpath_aggregate_memory.jsonPathToTransformersDictionary)(this.schemaTransforms);
|
|
103
|
-
return this._payloadTransformers;
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* The dictionary of schemas to JSON Path transform expressions for creating indexes
|
|
107
|
-
* from the payloads within a Bound Witness
|
|
108
|
-
*/
|
|
109
|
-
get schemaTransforms() {
|
|
110
|
-
return this.config?.schemaTransforms ?? {
|
|
111
|
-
[this.divinerQuerySchema]: [
|
|
112
|
-
{
|
|
113
|
-
defaultValue: 1,
|
|
114
|
-
destinationField: "limit",
|
|
115
|
-
sourcePathExpression: "$.limit"
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
defaultValue: 0,
|
|
119
|
-
destinationField: "offset",
|
|
120
|
-
sourcePathExpression: "$.offset"
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
defaultValue: "desc",
|
|
124
|
-
destinationField: "order",
|
|
125
|
-
sourcePathExpression: "$.order"
|
|
126
|
-
}
|
|
127
|
-
]
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
async divineHandler(payloads = []) {
|
|
131
|
-
const queries = payloads.filter((0, import_payload_model.isPayloadOfSchemaType)(this.divinerQuerySchema));
|
|
132
|
-
if (queries.length > 0) {
|
|
133
|
-
const results = await Promise.all(queries.map(async (query) => {
|
|
134
|
-
const fields = await (0, import_diviner_jsonpath_aggregate_memory.reducePayloads)([
|
|
135
|
-
query
|
|
136
|
-
], this.payloadTransformers, this.indexQuerySchema);
|
|
137
|
-
fields.schemas = [
|
|
138
|
-
this.indexSchema
|
|
139
|
-
];
|
|
140
|
-
delete fields.sources;
|
|
141
|
-
return await new import_payload_builder.PayloadBuilder({
|
|
142
|
-
schema: this.indexQuerySchema
|
|
143
|
-
}).fields(fields).build();
|
|
144
|
-
}));
|
|
145
|
-
return results;
|
|
146
|
-
}
|
|
147
|
-
return [];
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
|
|
151
|
-
// src/IndexCandidateToIndexDiviner/Diviner.ts
|
|
152
|
-
var import_array = require("@xylabs/array");
|
|
153
|
-
var import_assert = require("@xylabs/assert");
|
|
154
|
-
var import_exists = require("@xylabs/exists");
|
|
155
|
-
var import_boundwitness_model = require("@xyo-network/boundwitness-model");
|
|
156
|
-
var import_diviner_abstract2 = require("@xyo-network/diviner-abstract");
|
|
157
|
-
var import_diviner_jsonpath_aggregate_memory2 = require("@xyo-network/diviner-jsonpath-aggregate-memory");
|
|
158
|
-
var import_diviner_temporal_indexing_model3 = require("@xyo-network/diviner-temporal-indexing-model");
|
|
159
|
-
var import_payload_builder2 = require("@xyo-network/payload-builder");
|
|
160
|
-
var import_payload_model2 = require("@xyo-network/payload-model");
|
|
161
|
-
var import_payload_utils = require("@xyo-network/payload-utils");
|
|
162
|
-
var moduleName = "TemporalIndexingDivinerIndexCandidateToIndexDiviner";
|
|
163
|
-
var TemporalIndexingDivinerIndexCandidateToIndexDiviner = class extends import_diviner_abstract2.AbstractDiviner {
|
|
164
|
-
static {
|
|
165
|
-
__name(this, "TemporalIndexingDivinerIndexCandidateToIndexDiviner");
|
|
166
|
-
}
|
|
167
|
-
static configSchemas = [
|
|
168
|
-
...super.configSchemas,
|
|
169
|
-
import_diviner_temporal_indexing_model3.TemporalIndexingDivinerIndexCandidateToIndexDivinerConfigSchema
|
|
170
|
-
];
|
|
171
|
-
static defaultConfigSchema = import_diviner_temporal_indexing_model3.TemporalIndexingDivinerIndexCandidateToIndexDivinerConfigSchema;
|
|
172
|
-
static labels = {
|
|
173
|
-
...super.labels,
|
|
174
|
-
"network.xyo.diviner.stage": "indexCandidateToIndexDiviner"
|
|
175
|
-
};
|
|
176
|
-
_indexableSchemas;
|
|
177
|
-
_payloadTransformers;
|
|
178
|
-
/**
|
|
179
|
-
* List of indexable schemas for this diviner
|
|
180
|
-
*/
|
|
181
|
-
get indexableSchemas() {
|
|
182
|
-
if (!this._indexableSchemas) this._indexableSchemas = Object.keys(this.schemaTransforms);
|
|
183
|
-
return this._indexableSchemas;
|
|
184
|
-
}
|
|
185
|
-
/**
|
|
186
|
-
* Dictionary of schemas to payload transformers for creating indexes
|
|
187
|
-
* from the payloads within a Bound Witness
|
|
188
|
-
*/
|
|
189
|
-
get payloadTransformers() {
|
|
190
|
-
if (!this._payloadTransformers) this._payloadTransformers = (0, import_diviner_jsonpath_aggregate_memory2.jsonPathToTransformersDictionary)(this.schemaTransforms);
|
|
191
|
-
return this._payloadTransformers;
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* The dictionary of schemas to JSON Path transform expressions for creating indexes
|
|
195
|
-
* from the payloads within a Bound Witness
|
|
196
|
-
*/
|
|
197
|
-
get schemaTransforms() {
|
|
198
|
-
return (0, import_assert.assertEx)(this.config?.schemaTransforms, () => `${moduleName}: Missing config.schemaTransforms section`);
|
|
199
|
-
}
|
|
200
|
-
async divineHandler(payloads = []) {
|
|
201
|
-
const builtPayloads = await Promise.all(payloads.map((payload) => import_payload_builder2.PayloadBuilder.build(payload)));
|
|
202
|
-
const indexableBoundWitnesses = builtPayloads.filter(import_boundwitness_model.isBoundWitnessWithMeta).filter((bw) => (0, import_array.containsAll)(bw.payload_schemas, this.indexableSchemas));
|
|
203
|
-
const indexablePayloads = builtPayloads.filter((p) => this.isIndexablePayload(p));
|
|
204
|
-
if (indexableBoundWitnesses.length === 0 || indexablePayloads.length === 0) return [];
|
|
205
|
-
const [bwDictionary, payloadDictionary] = await Promise.all([
|
|
206
|
-
import_payload_builder2.PayloadBuilder.toDataHashMap(indexableBoundWitnesses),
|
|
207
|
-
import_payload_builder2.PayloadBuilder.toDataHashMap(indexablePayloads)
|
|
208
|
-
]);
|
|
209
|
-
const validIndexableTuples = [];
|
|
210
|
-
for (const [bwHash, bw] of Object.entries(bwDictionary)) {
|
|
211
|
-
const combinations = (0, import_payload_utils.intraBoundwitnessSchemaCombinations)(bw, this.indexableSchemas);
|
|
212
|
-
for (const combination of combinations) {
|
|
213
|
-
const indexablePayloads2 = combination.map((hash) => payloadDictionary[hash]).filter(import_exists.exists);
|
|
214
|
-
if (indexablePayloads2.length === this.indexableSchemas.length) {
|
|
215
|
-
validIndexableTuples.push([
|
|
216
|
-
bwHash,
|
|
217
|
-
...combination
|
|
218
|
-
]);
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
const indexes = await Promise.all(validIndexableTuples.map(async ([bwHash, ...sourcePayloadHashes]) => {
|
|
223
|
-
const sourcePayloads = sourcePayloadHashes.map((hash) => payloadDictionary[hash]);
|
|
224
|
-
const indexFields = sourcePayloads.flatMap((payload) => {
|
|
225
|
-
const transformers = this.payloadTransformers[payload.schema];
|
|
226
|
-
return transformers ? transformers.map((transform) => transform(payload)) : [];
|
|
227
|
-
});
|
|
228
|
-
const sources = [
|
|
229
|
-
bwHash,
|
|
230
|
-
...sourcePayloadHashes
|
|
231
|
-
];
|
|
232
|
-
return await new import_payload_builder2.PayloadBuilder({
|
|
233
|
-
schema: import_diviner_temporal_indexing_model3.TemporalIndexingDivinerResultIndexSchema
|
|
234
|
-
}).fields(Object.assign({
|
|
235
|
-
sources
|
|
236
|
-
}, ...indexFields)).build();
|
|
237
|
-
}));
|
|
238
|
-
return indexes.flat();
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* Identifies if a payload is one that is indexed by this diviner
|
|
242
|
-
* @param x The candidate payload
|
|
243
|
-
* @returns True if the payload is one indexed by this diviner, false otherwise
|
|
244
|
-
*/
|
|
245
|
-
isIndexablePayload = /* @__PURE__ */ __name((x) => {
|
|
246
|
-
return (0, import_payload_model2.isAnyPayload)(x) && this.indexableSchemas.includes(x?.schema);
|
|
247
|
-
}, "isIndexablePayload");
|
|
248
|
-
/**
|
|
249
|
-
* Identifies if a schema is one that is indexed by this diviner
|
|
250
|
-
* @param schema The candidate schema
|
|
251
|
-
* @returns True if this schema is one indexed by this diviner, false otherwise
|
|
252
|
-
*/
|
|
253
|
-
isIndexableSchema = /* @__PURE__ */ __name((schema) => {
|
|
254
|
-
return typeof schema === "string" ? this.indexableSchemas.includes(schema) : false;
|
|
255
|
-
}, "isIndexableSchema");
|
|
256
|
-
};
|
|
257
|
-
|
|
258
|
-
// src/IndexQueryResponseToDivinerQueryResponseDiviner/Diviner.ts
|
|
259
|
-
var import_diviner_abstract3 = require("@xyo-network/diviner-abstract");
|
|
260
|
-
var import_diviner_payload_model2 = require("@xyo-network/diviner-payload-model");
|
|
261
|
-
var import_diviner_temporal_indexing_model4 = require("@xyo-network/diviner-temporal-indexing-model");
|
|
262
|
-
var TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner = class extends import_diviner_abstract3.AbstractDiviner {
|
|
263
|
-
static {
|
|
264
|
-
__name(this, "TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner");
|
|
265
|
-
}
|
|
266
|
-
static configSchemas = [
|
|
267
|
-
...super.configSchemas,
|
|
268
|
-
import_diviner_temporal_indexing_model4.TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDivinerConfigSchema
|
|
269
|
-
];
|
|
270
|
-
static defaultConfigSchema = import_diviner_temporal_indexing_model4.TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDivinerConfigSchema;
|
|
271
|
-
static labels = {
|
|
272
|
-
...super.labels,
|
|
273
|
-
"network.xyo.diviner.stage": "indexQueryResponseToDivinerQueryResponseDiviner"
|
|
274
|
-
};
|
|
275
|
-
async divineHandler(payloads = []) {
|
|
276
|
-
const responses = payloads.filter((p) => !(0, import_diviner_payload_model2.isPayloadDivinerQueryPayload)(p));
|
|
277
|
-
return await Promise.resolve(responses);
|
|
278
|
-
}
|
|
279
|
-
};
|
|
280
|
-
|
|
281
|
-
// src/StateToIndexCandidateDiviner/Diviner.ts
|
|
282
|
-
var import_assert2 = require("@xylabs/assert");
|
|
283
|
-
var import_exists2 = require("@xylabs/exists");
|
|
284
|
-
var import_archivist_wrapper = require("@xyo-network/archivist-wrapper");
|
|
285
|
-
var import_boundwitness_model2 = require("@xyo-network/boundwitness-model");
|
|
286
|
-
var import_diviner_abstract4 = require("@xyo-network/diviner-abstract");
|
|
287
|
-
var import_diviner_boundwitness_model = require("@xyo-network/diviner-boundwitness-model");
|
|
288
|
-
var import_diviner_temporal_indexing_model5 = require("@xyo-network/diviner-temporal-indexing-model");
|
|
289
|
-
var import_diviner_wrapper = require("@xyo-network/diviner-wrapper");
|
|
290
|
-
var import_module_model = require("@xyo-network/module-model");
|
|
291
|
-
var import_payload_builder3 = require("@xyo-network/payload-builder");
|
|
292
|
-
var import_payload_utils2 = require("@xyo-network/payload-utils");
|
|
293
|
-
var import_witness_timestamp = require("@xyo-network/witness-timestamp");
|
|
294
|
-
var order = "asc";
|
|
295
|
-
var moduleName2 = "TemporalIndexingDivinerStateToIndexCandidateDiviner";
|
|
296
|
-
var TemporalIndexingDivinerStateToIndexCandidateDiviner = class extends import_diviner_abstract4.AbstractDiviner {
|
|
297
|
-
static {
|
|
298
|
-
__name(this, "TemporalIndexingDivinerStateToIndexCandidateDiviner");
|
|
299
|
-
}
|
|
300
|
-
static configSchemas = [
|
|
301
|
-
...super.configSchemas,
|
|
302
|
-
import_diviner_temporal_indexing_model5.TemporalIndexingDivinerStateToIndexCandidateDivinerConfigSchema
|
|
303
|
-
];
|
|
304
|
-
static defaultConfigSchema = import_diviner_temporal_indexing_model5.TemporalIndexingDivinerStateToIndexCandidateDivinerConfigSchema;
|
|
305
|
-
static labels = {
|
|
306
|
-
...super.labels,
|
|
307
|
-
"network.xyo.diviner.stage": "stateToIndexCandidateDiviner"
|
|
308
|
-
};
|
|
309
|
-
get payloadDivinerLimit() {
|
|
310
|
-
return this.config.payloadDivinerLimit ?? 1e3;
|
|
311
|
-
}
|
|
312
|
-
/**
|
|
313
|
-
* The required payload_schemas within BoundWitnesses to identify index candidates
|
|
314
|
-
*/
|
|
315
|
-
get payload_schemas() {
|
|
316
|
-
const schemas = this.config.filter?.payload_schemas;
|
|
317
|
-
return [
|
|
318
|
-
import_witness_timestamp.TimestampSchema,
|
|
319
|
-
...schemas ?? []
|
|
320
|
-
];
|
|
321
|
-
}
|
|
322
|
-
async divineHandler(payloads = []) {
|
|
323
|
-
const lastState = payloads.find(import_module_model.isModuleState);
|
|
324
|
-
if (!lastState) return [
|
|
325
|
-
{
|
|
326
|
-
schema: import_module_model.ModuleStateSchema,
|
|
327
|
-
state: {
|
|
328
|
-
offset: 0
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
];
|
|
332
|
-
const { offset } = lastState.state;
|
|
333
|
-
const boundWitnessDiviner = await this.getBoundWitnessDivinerForStore();
|
|
334
|
-
if (!boundWitnessDiviner) return [
|
|
335
|
-
lastState
|
|
336
|
-
];
|
|
337
|
-
const query = await new import_payload_builder3.PayloadBuilder({
|
|
338
|
-
schema: import_diviner_boundwitness_model.BoundWitnessDivinerQuerySchema
|
|
339
|
-
}).fields({
|
|
340
|
-
limit: this.payloadDivinerLimit,
|
|
341
|
-
offset,
|
|
342
|
-
order,
|
|
343
|
-
payload_schemas: this.payload_schemas
|
|
344
|
-
}).build();
|
|
345
|
-
const batch = await boundWitnessDiviner.divine([
|
|
346
|
-
query
|
|
347
|
-
]);
|
|
348
|
-
if (batch.length === 0) return [
|
|
349
|
-
lastState
|
|
350
|
-
];
|
|
351
|
-
const sourceArchivist = await this.getArchivistForStore();
|
|
352
|
-
if (!sourceArchivist) return [
|
|
353
|
-
lastState
|
|
354
|
-
];
|
|
355
|
-
const bws = batch.filter(import_boundwitness_model2.isBoundWitnessWithMeta);
|
|
356
|
-
const indexCandidates = (await Promise.all(bws.map((bw) => this.getPayloadsInBoundWitness(bw, sourceArchivist)))).filter(import_exists2.exists).flat();
|
|
357
|
-
const nextState = {
|
|
358
|
-
schema: import_module_model.ModuleStateSchema,
|
|
359
|
-
state: {
|
|
360
|
-
...lastState.state,
|
|
361
|
-
offset: offset + batch.length
|
|
362
|
-
}
|
|
363
|
-
};
|
|
364
|
-
return [
|
|
365
|
-
nextState,
|
|
366
|
-
...indexCandidates
|
|
367
|
-
];
|
|
368
|
-
}
|
|
369
|
-
/**
|
|
370
|
-
* Retrieves the archivist for the payloadStore
|
|
371
|
-
* @returns The archivist for the payloadStore or undefined if not resolvable
|
|
372
|
-
*/
|
|
373
|
-
async getArchivistForStore() {
|
|
374
|
-
const name = (0, import_assert2.assertEx)(this.config?.payloadStore?.archivist, () => `${moduleName2}: Config for payloadStore.archivist not specified`);
|
|
375
|
-
const mod = await this.resolve(name);
|
|
376
|
-
if (!mod) return void 0;
|
|
377
|
-
return import_archivist_wrapper.ArchivistWrapper.wrap(mod, this.account);
|
|
378
|
-
}
|
|
379
|
-
/**
|
|
380
|
-
* Retrieves the BoundWitness Diviner for the payloadStore
|
|
381
|
-
* @returns The BoundWitness Diviner for the payloadStore or undefined if not resolvable
|
|
382
|
-
*/
|
|
383
|
-
async getBoundWitnessDivinerForStore() {
|
|
384
|
-
const name = (0, import_assert2.assertEx)(this.config?.payloadStore?.boundWitnessDiviner, () => `${moduleName2}: Config for payloadStore.boundWitnessDiviner not specified`);
|
|
385
|
-
const mod = await this.resolve(name);
|
|
386
|
-
if (!mod) return;
|
|
387
|
-
return import_diviner_wrapper.DivinerWrapper.wrap(mod, this.account);
|
|
388
|
-
}
|
|
389
|
-
async getPayloadsInBoundWitness(bw, archivist) {
|
|
390
|
-
const combinations = (0, import_payload_utils2.intraBoundwitnessSchemaCombinations)(bw, this.payload_schemas).flat();
|
|
391
|
-
if (combinations.length === 0) return void 0;
|
|
392
|
-
const hashes = new Set(combinations);
|
|
393
|
-
const indexCandidates = await archivist.get([
|
|
394
|
-
...hashes
|
|
395
|
-
]);
|
|
396
|
-
return [
|
|
397
|
-
bw,
|
|
398
|
-
...indexCandidates
|
|
399
|
-
];
|
|
400
|
-
}
|
|
401
|
-
};
|
|
1
|
+
"use strict";var S=Object.defineProperty;var te=Object.getOwnPropertyDescriptor;var re=Object.getOwnPropertyNames;var ne=Object.prototype.hasOwnProperty;var r=(a,e)=>S(a,"name",{value:e,configurable:!0});var oe=(a,e)=>{for(var i in e)S(a,i,{get:e[i],enumerable:!0})},me=(a,e,i,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of re(e))!ne.call(a,s)&&s!==i&&S(a,s,{get:()=>e[s],enumerable:!(t=te(e,s))||t.enumerable});return a};var ce=a=>me(S({},"__esModule",{value:!0}),a);var fe={};oe(fe,{TemporalIndexingDiviner:()=>v,TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner:()=>D,TemporalIndexingDivinerIndexCandidateToIndexDiviner:()=>w,TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner:()=>_,TemporalIndexingDivinerStateToIndexCandidateDiviner:()=>Q});module.exports=ce(fe);var F=require("@xyo-network/diviner-indexing-memory"),b=require("@xyo-network/diviner-temporal-indexing-model");var v=class extends F.IndexingDiviner{static{r(this,"TemporalIndexingDiviner")}static configSchemas=[...super.configSchemas,b.TemporalIndexingDivinerConfigSchema];static defaultConfigSchema=b.TemporalIndexingDivinerConfigSchema;async startHandler(){return await super.startHandler(),!0}};var H=require("@xyo-network/diviner-abstract"),g=require("@xyo-network/diviner-jsonpath-aggregate-memory"),T=require("@xyo-network/diviner-payload-model"),f=require("@xyo-network/diviner-temporal-indexing-model"),M=require("@xyo-network/payload-builder"),j=require("@xyo-network/payload-model");var D=class extends H.AbstractDiviner{static{r(this,"TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner")}static configSchemas=[...super.configSchemas,f.TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerConfigSchema];static defaultConfigSchema=f.TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerConfigSchema;static labels={...super.labels,"network.xyo.diviner.stage":"divinerQueryToIndexQueryDiviner"};_indexableSchemas;_payloadTransformers;get divinerQuerySchema(){return this.config.divinerQuerySchema??T.PayloadDivinerQuerySchema}get indexQuerySchema(){return this.config.indexQuerySchema??T.PayloadDivinerQuerySchema}get indexSchema(){return this.config.indexSchema??f.TemporalIndexingDivinerResultIndexSchema}get indexableSchemas(){return this._indexableSchemas||(this._indexableSchemas=Object.keys(this.schemaTransforms)),this._indexableSchemas}get payloadTransformers(){return this._payloadTransformers||(this._payloadTransformers=(0,g.jsonPathToTransformersDictionary)(this.schemaTransforms)),this._payloadTransformers}get schemaTransforms(){return this.config?.schemaTransforms??{[this.divinerQuerySchema]:[{defaultValue:1,destinationField:"limit",sourcePathExpression:"$.limit"},{defaultValue:0,destinationField:"offset",sourcePathExpression:"$.offset"},{defaultValue:"desc",destinationField:"order",sourcePathExpression:"$.order"}]}}async divineHandler(e=[]){let i=e.filter((0,j.isPayloadOfSchemaType)(this.divinerQuerySchema));return i.length>0?await Promise.all(i.map(async s=>{let o=await(0,g.reducePayloads)([s],this.payloadTransformers,this.indexQuerySchema);return o.schemas=[this.indexSchema],delete o.sources,await new M.PayloadBuilder({schema:this.indexQuerySchema}).fields(o).build()})):[]}};var k=require("@xylabs/array"),$=require("@xylabs/assert"),E=require("@xylabs/exists"),O=require("@xyo-network/boundwitness-model"),R=require("@xyo-network/diviner-abstract"),L=require("@xyo-network/diviner-jsonpath-aggregate-memory"),u=require("@xyo-network/diviner-temporal-indexing-model"),h=require("@xyo-network/payload-builder"),V=require("@xyo-network/payload-model"),q=require("@xyo-network/payload-utils");var de="TemporalIndexingDivinerIndexCandidateToIndexDiviner",w=class extends R.AbstractDiviner{static{r(this,"TemporalIndexingDivinerIndexCandidateToIndexDiviner")}static configSchemas=[...super.configSchemas,u.TemporalIndexingDivinerIndexCandidateToIndexDivinerConfigSchema];static defaultConfigSchema=u.TemporalIndexingDivinerIndexCandidateToIndexDivinerConfigSchema;static labels={...super.labels,"network.xyo.diviner.stage":"indexCandidateToIndexDiviner"};_indexableSchemas;_payloadTransformers;get indexableSchemas(){return this._indexableSchemas||(this._indexableSchemas=Object.keys(this.schemaTransforms)),this._indexableSchemas}get payloadTransformers(){return this._payloadTransformers||(this._payloadTransformers=(0,L.jsonPathToTransformersDictionary)(this.schemaTransforms)),this._payloadTransformers}get schemaTransforms(){return(0,$.assertEx)(this.config?.schemaTransforms,()=>`${de}: Missing config.schemaTransforms section`)}async divineHandler(e=[]){let i=await Promise.all(e.map(n=>h.PayloadBuilder.build(n))),t=i.filter(O.isBoundWitnessWithMeta).filter(n=>(0,k.containsAll)(n.payload_schemas,this.indexableSchemas)),s=i.filter(n=>this.isIndexablePayload(n));if(t.length===0||s.length===0)return[];let[o,m]=await Promise.all([h.PayloadBuilder.toDataHashMap(t),h.PayloadBuilder.toDataHashMap(s)]),d=[];for(let[n,l]of Object.entries(o)){let y=(0,q.intraBoundwitnessSchemaCombinations)(l,this.indexableSchemas);for(let x of y)x.map(c=>m[c]).filter(E.exists).length===this.indexableSchemas.length&&d.push([n,...x])}return(await Promise.all(d.map(async([n,...l])=>{let x=l.map(c=>m[c]).flatMap(c=>{let A=this.payloadTransformers[c.schema];return A?A.map(ae=>ae(c)):[]}),B=[n,...l];return await new h.PayloadBuilder({schema:u.TemporalIndexingDivinerResultIndexSchema}).fields(Object.assign({sources:B},...x)).build()}))).flat()}isIndexablePayload=r(e=>(0,V.isAnyPayload)(e)&&this.indexableSchemas.includes(e?.schema),"isIndexablePayload");isIndexableSchema=r(e=>typeof e=="string"?this.indexableSchemas.includes(e):!1,"isIndexableSchema")};var N=require("@xyo-network/diviner-abstract"),z=require("@xyo-network/diviner-payload-model"),P=require("@xyo-network/diviner-temporal-indexing-model");var _=class extends N.AbstractDiviner{static{r(this,"TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDiviner")}static configSchemas=[...super.configSchemas,P.TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDivinerConfigSchema];static defaultConfigSchema=P.TemporalIndexingDivinerIndexQueryResponseToDivinerQueryResponseDivinerConfigSchema;static labels={...super.labels,"network.xyo.diviner.stage":"indexQueryResponseToDivinerQueryResponseDiviner"};async divineHandler(e=[]){let i=e.filter(t=>!(0,z.isPayloadDivinerQueryPayload)(t));return await Promise.resolve(i)}};var C=require("@xylabs/assert"),J=require("@xylabs/exists"),K=require("@xyo-network/archivist-wrapper"),U=require("@xyo-network/boundwitness-model"),X=require("@xyo-network/diviner-abstract"),Y=require("@xyo-network/diviner-boundwitness-model"),I=require("@xyo-network/diviner-temporal-indexing-model"),Z=require("@xyo-network/diviner-wrapper"),p=require("@xyo-network/module-model"),ee=require("@xyo-network/payload-builder"),ie=require("@xyo-network/payload-utils"),se=require("@xyo-network/witness-timestamp");var le="asc",G="TemporalIndexingDivinerStateToIndexCandidateDiviner",Q=class extends X.AbstractDiviner{static{r(this,"TemporalIndexingDivinerStateToIndexCandidateDiviner")}static configSchemas=[...super.configSchemas,I.TemporalIndexingDivinerStateToIndexCandidateDivinerConfigSchema];static defaultConfigSchema=I.TemporalIndexingDivinerStateToIndexCandidateDivinerConfigSchema;static labels={...super.labels,"network.xyo.diviner.stage":"stateToIndexCandidateDiviner"};get payloadDivinerLimit(){return this.config.payloadDivinerLimit??1e3}get payload_schemas(){let e=this.config.filter?.payload_schemas;return[se.TimestampSchema,...e??[]]}async divineHandler(e=[]){let i=e.find(p.isModuleState);if(!i)return[{schema:p.ModuleStateSchema,state:{offset:0}}];let{offset:t}=i.state,s=await this.getBoundWitnessDivinerForStore();if(!s)return[i];let o=await new ee.PayloadBuilder({schema:Y.BoundWitnessDivinerQuerySchema}).fields({limit:this.payloadDivinerLimit,offset:t,order:le,payload_schemas:this.payload_schemas}).build(),m=await s.divine([o]);if(m.length===0)return[i];let d=await this.getArchivistForStore();if(!d)return[i];let W=m.filter(U.isBoundWitnessWithMeta),n=(await Promise.all(W.map(y=>this.getPayloadsInBoundWitness(y,d)))).filter(J.exists).flat();return[{schema:p.ModuleStateSchema,state:{...i.state,offset:t+m.length}},...n]}async getArchivistForStore(){let e=(0,C.assertEx)(this.config?.payloadStore?.archivist,()=>`${G}: Config for payloadStore.archivist not specified`),i=await this.resolve(e);if(i)return K.ArchivistWrapper.wrap(i,this.account)}async getBoundWitnessDivinerForStore(){let e=(0,C.assertEx)(this.config?.payloadStore?.boundWitnessDiviner,()=>`${G}: Config for payloadStore.boundWitnessDiviner not specified`),i=await this.resolve(e);if(i)return Z.DivinerWrapper.wrap(i,this.account)}async getPayloadsInBoundWitness(e,i){let t=(0,ie.intraBoundwitnessSchemaCombinations)(e,this.payload_schemas).flat();if(t.length===0)return;let s=new Set(t),o=await i.get([...s]);return[e,...o]}};
|
|
402
2
|
//# sourceMappingURL=index.cjs.map
|