@xyo-network/diviner-boundwitness 6.0.4 → 7.0.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/README.md +3 -1
- package/dist/neutral/Config.d.ts +10 -0
- package/dist/neutral/Config.d.ts.map +1 -1
- package/dist/neutral/MemoryBoundWitnessDiviner.d.ts.map +1 -1
- package/dist/neutral/Query.d.ts +10 -5
- package/dist/neutral/Query.d.ts.map +1 -1
- package/dist/neutral/Schema.d.ts +1 -1
- package/dist/neutral/Schema.d.ts.map +1 -1
- package/dist/neutral/abstract.mjs +11 -0
- package/dist/neutral/abstract.mjs.map +2 -2
- package/dist/neutral/index.mjs +37 -3
- package/dist/neutral/index.mjs.map +3 -3
- package/dist/neutral/memory.mjs +29 -2
- package/dist/neutral/memory.mjs.map +3 -3
- package/dist/neutral/model.mjs +37 -3
- package/dist/neutral/model.mjs.map +3 -3
- package/package.json +20 -21
package/README.md
CHANGED
|
@@ -38,10 +38,12 @@ bun add {{name}}
|
|
|
38
38
|
|
|
39
39
|
See the [LICENSE](LICENSE) file for license rights and limitations (LGPL-3.0-only).
|
|
40
40
|
|
|
41
|
+
## Credits
|
|
41
42
|
|
|
43
|
+
[Made with 🔥 and ❄️ by XYO Foundation](https://xyo.network)
|
|
42
44
|
|
|
43
|
-
[logo]: https://cdn.xy.company/img/brand/XYO_full_colored.png
|
|
44
45
|
[npm-badge]: https://img.shields.io/npm/v/@xyo-network/diviner-boundwitness.svg
|
|
45
46
|
[npm-link]: https://www.npmjs.com/package/@xyo-network/diviner-boundwitness
|
|
46
47
|
[license-badge]: https://img.shields.io/npm/l/@xyo-network/diviner-boundwitness.svg
|
|
47
48
|
[license-link]: https://github.com/xylabs/sdk-js/blob/main/LICENSE
|
|
49
|
+
[logo]: https://cdn.xy.company/img/brand/XYO_full_colored.png
|
package/dist/neutral/Config.d.ts
CHANGED
|
@@ -1,9 +1,19 @@
|
|
|
1
|
+
import { zodAsFactory, zodIsFactory, zodToFactory } from '@xylabs/sdk-js';
|
|
1
2
|
import type { DivinerConfig } from '@xyo-network/diviner-model';
|
|
3
|
+
import { DivinerConfigZod } from '@xyo-network/diviner-model';
|
|
2
4
|
import { type Payload } from '@xyo-network/sdk-protocol-js';
|
|
5
|
+
import * as z from 'zod/mini';
|
|
3
6
|
export declare const BoundWitnessDivinerConfigSchema: string & {
|
|
4
7
|
readonly __schema: true;
|
|
5
8
|
};
|
|
6
9
|
export type BoundWitnessDivinerConfigSchema = typeof BoundWitnessDivinerConfigSchema;
|
|
10
|
+
export declare const BoundWitnessDivinerConfigZod: z.ZodMiniObject<Omit<(typeof DivinerConfigZod)['shape'], 'schema'> & {
|
|
11
|
+
schema: z.ZodMiniLiteral<BoundWitnessDivinerConfigSchema>;
|
|
12
|
+
}, z.core.$strip>;
|
|
13
|
+
export type BoundWitnessDivinerConfigBase = z.infer<typeof BoundWitnessDivinerConfigZod>;
|
|
14
|
+
export declare const isBoundWitnessDivinerConfig: ReturnType<typeof zodIsFactory<BoundWitnessDivinerConfigBase>>;
|
|
15
|
+
export declare const asBoundWitnessDivinerConfig: ReturnType<typeof zodAsFactory<BoundWitnessDivinerConfigBase>>;
|
|
16
|
+
export declare const toBoundWitnessDivinerConfig: ReturnType<typeof zodToFactory<BoundWitnessDivinerConfigBase>>;
|
|
7
17
|
export type BoundWitnessDivinerConfig<T extends Payload = Payload> = DivinerConfig<T & {
|
|
8
18
|
schema: BoundWitnessDivinerConfigSchema;
|
|
9
19
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAAE,YAAY,EAAE,YAAY,EACzC,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAI7B,eAAO,MAAM,+BAA+B,EAAE,MAAM,GAAG;IACrD,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;CACgC,CAAA;AACzD,MAAM,MAAM,+BAA+B,GAAG,OAAO,+BAA+B,CAAA;AAEpF,eAAO,MAAM,4BAA4B,EAAE,CAAC,CAAC,aAAa,CACxD,IAAI,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,GAAG;IACnD,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,+BAA+B,CAAC,CAAA;CAC1D,EACD,CAAC,CAAC,IAAI,CAAC,MAAM,CACuE,CAAA;AAEtF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAExF,eAAO,MAAM,2BAA2B,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,6BAA6B,CAAC,CAA8C,CAAA;AACrJ,eAAO,MAAM,2BAA2B,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,6BAA6B,CAAC,CAA6E,CAAA;AACpL,eAAO,MAAM,2BAA2B,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,6BAA6B,CAAC,CAA6E,CAAA;AAEpL,MAAM,MAAM,yBAAyB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,IAAI,aAAa,CAChF,CAAC,GAAG;IACF,MAAM,EAAE,+BAA+B,CAAA;CACxC,CACF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryBoundWitnessDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryBoundWitnessDiviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,8BAA8B,CAAA;AAIhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,KAAK,+BAA+B,EAAqC,MAAM,YAAY,CAAA;AAEpG,MAAM,WAAW,2BAA2B;IAC1C;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAA;IAEX;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAA;IAEX;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAA;IAEX;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAA;CACb;AAED,qBAAa,yBAAyB,CACpC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,EACrE,GAAG,SAAS,+BAA+B,GAAG,+BAA+B,EAC7E,IAAI,SAAS,YAAY,GAAG,YAAY,CACxC,SAAQ,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC;cACtB,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE;
|
|
1
|
+
{"version":3,"file":"MemoryBoundWitnessDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryBoundWitnessDiviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,8BAA8B,CAAA;AAIhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,KAAK,+BAA+B,EAAqC,MAAM,YAAY,CAAA;AAEpG,MAAM,WAAW,2BAA2B;IAC1C;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAA;IAEX;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAA;IAEX;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAA;IAEX;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAA;CACb;AAED,qBAAa,yBAAyB,CACpC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,EACrE,GAAG,SAAS,+BAA+B,GAAG,+BAA+B,EAC7E,IAAI,SAAS,YAAY,GAAG,YAAY,CACxC,SAAQ,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC;cACtB,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;CAO1E"}
|
package/dist/neutral/Query.d.ts
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { zodAsFactory, zodIsFactory, zodToFactory } from '@xylabs/sdk-js';
|
|
2
|
+
import { QueryFieldsZod } from '@xyo-network/sdk-protocol-js';
|
|
3
|
+
import * as z from 'zod/mini';
|
|
2
4
|
import type { BoundWitnessDivinerPredicate } from './Predicate.ts';
|
|
3
5
|
export declare const BoundWitnessDivinerQuerySchema: string & {
|
|
4
6
|
readonly __schema: true;
|
|
5
7
|
};
|
|
6
8
|
export type BoundWitnessDivinerQuerySchema = typeof BoundWitnessDivinerQuerySchema;
|
|
7
|
-
export
|
|
8
|
-
schema: BoundWitnessDivinerQuerySchema
|
|
9
|
-
} & BoundWitnessDivinerPredicate
|
|
10
|
-
export
|
|
9
|
+
export declare const BoundWitnessDivinerQueryPayloadZod: z.ZodMiniIntersection<z.ZodMiniObject<{
|
|
10
|
+
schema: z.ZodMiniLiteral<BoundWitnessDivinerQuerySchema>;
|
|
11
|
+
} & (typeof QueryFieldsZod)['shape'], z.core.$strip>, z.ZodMiniCustom<BoundWitnessDivinerPredicate, BoundWitnessDivinerPredicate>>;
|
|
12
|
+
export type BoundWitnessDivinerQueryPayload = z.infer<typeof BoundWitnessDivinerQueryPayloadZod>;
|
|
13
|
+
export declare const isBoundWitnessDivinerQueryPayload: ReturnType<typeof zodIsFactory<BoundWitnessDivinerQueryPayload>>;
|
|
14
|
+
export declare const asBoundWitnessDivinerQueryPayload: ReturnType<typeof zodAsFactory<BoundWitnessDivinerQueryPayload>>;
|
|
15
|
+
export declare const toBoundWitnessDivinerQueryPayload: ReturnType<typeof zodToFactory<BoundWitnessDivinerQueryPayload>>;
|
|
11
16
|
//# sourceMappingURL=Query.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Query.d.ts","sourceRoot":"","sources":["../../src/Query.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Query.d.ts","sourceRoot":"","sources":["../../src/Query.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAAE,YAAY,EAAE,YAAY,EACzC,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACyB,cAAc,EAC7C,MAAM,8BAA8B,CAAA;AACrC,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAA;AAGlE,eAAO,MAAM,8BAA8B,EAAE,MAAM,GAAG;IACpD,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;CAC+B,CAAA;AACxD,MAAM,MAAM,8BAA8B,GAAG,OAAO,8BAA8B,CAAA;AAElF,eAAO,MAAM,kCAAkC,EAAE,CAAC,CAAC,mBAAmB,CACpE,CAAC,CAAC,aAAa,CACX;IAAE,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,8BAA8B,CAAC,CAAA;CAAE,GAC5D,CAAC,OAAO,cAAc,CAAC,CAAC,OAAO,CAAC,EAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CACd,EACD,CAAC,CAAC,aAAa,CAAC,4BAA4B,EAAE,4BAA4B,CAAC,CAI5E,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAA;AAEhG,eAAO,MAAM,iCAAiC,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,+BAA+B,CAAC,CAAoD,CAAA;AACnK,eAAO,MAAM,iCAAiC,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,+BAA+B,CAAC,CAAyF,CAAA;AACxM,eAAO,MAAM,iCAAiC,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,+BAA+B,CAAC,CAAyF,CAAA"}
|
package/dist/neutral/Schema.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const BoundWitnessDivinerSchema:
|
|
1
|
+
export declare const BoundWitnessDivinerSchema: 'network.xyo.diviner.boundwitness' & {
|
|
2
2
|
readonly __schema: true;
|
|
3
3
|
};
|
|
4
4
|
export type BoundWitnessDivinerSchema = typeof BoundWitnessDivinerSchema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,EAAE,kCAAkC,GAAG;IAC3E,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;CAC6B,CAAA;AACtD,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAA"}
|
|
@@ -2,7 +2,14 @@
|
|
|
2
2
|
import { AbstractDiviner } from "@xyo-network/diviner-abstract";
|
|
3
3
|
|
|
4
4
|
// src/Config.ts
|
|
5
|
+
import {
|
|
6
|
+
zodAsFactory,
|
|
7
|
+
zodIsFactory,
|
|
8
|
+
zodToFactory
|
|
9
|
+
} from "@xylabs/sdk-js";
|
|
10
|
+
import { DivinerConfigZod } from "@xyo-network/diviner-model";
|
|
5
11
|
import { asSchema as asSchema2 } from "@xyo-network/sdk-protocol-js";
|
|
12
|
+
import * as z from "zod/mini";
|
|
6
13
|
|
|
7
14
|
// src/Schema.ts
|
|
8
15
|
import { asSchema } from "@xyo-network/sdk-protocol-js";
|
|
@@ -10,6 +17,10 @@ var BoundWitnessDivinerSchema = asSchema("network.xyo.diviner.boundwitness", tru
|
|
|
10
17
|
|
|
11
18
|
// src/Config.ts
|
|
12
19
|
var BoundWitnessDivinerConfigSchema = asSchema2(`${BoundWitnessDivinerSchema}.config`, true);
|
|
20
|
+
var BoundWitnessDivinerConfigZod = z.extend(DivinerConfigZod, { schema: z.literal(BoundWitnessDivinerConfigSchema) });
|
|
21
|
+
var isBoundWitnessDivinerConfig = zodIsFactory(BoundWitnessDivinerConfigZod);
|
|
22
|
+
var asBoundWitnessDivinerConfig = zodAsFactory(BoundWitnessDivinerConfigZod, "asBoundWitnessDivinerConfig");
|
|
23
|
+
var toBoundWitnessDivinerConfig = zodToFactory(BoundWitnessDivinerConfigZod, "toBoundWitnessDivinerConfig");
|
|
13
24
|
|
|
14
25
|
// src/BoundWitnessDiviner.ts
|
|
15
26
|
var BoundWitnessDiviner = class extends AbstractDiviner {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/BoundWitnessDiviner.ts", "../../src/Config.ts", "../../src/Schema.ts"],
|
|
4
|
-
"sourcesContent": ["import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport type { BoundWitness, Schema } from '@xyo-network/sdk-protocol-js'\n\nimport { BoundWitnessDivinerConfigSchema } from './Config.ts'\nimport type { BoundWitnessDivinerParams } from './Params.ts'\nimport type { BoundWitnessDivinerQueryPayload } from './Query.ts'\n\nexport abstract class BoundWitnessDiviner<\n TParams extends BoundWitnessDivinerParams = BoundWitnessDivinerParams,\n TIn extends BoundWitnessDivinerQueryPayload = BoundWitnessDivinerQueryPayload,\n TOut extends BoundWitness = BoundWitness,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, BoundWitnessDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = BoundWitnessDivinerConfigSchema\n}\n", "import type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { asSchema, type Payload } from '@xyo-network/sdk-protocol-js'\n\nimport { BoundWitnessDivinerSchema } from './Schema.ts'\n\nexport const BoundWitnessDivinerConfigSchema = asSchema(`${BoundWitnessDivinerSchema}.config`, true)\nexport type BoundWitnessDivinerConfigSchema = typeof BoundWitnessDivinerConfigSchema\n\nexport type BoundWitnessDivinerConfig<T extends Payload = Payload> = DivinerConfig<\n T & {\n schema: BoundWitnessDivinerConfigSchema\n }\n>\n", "import { asSchema } from '@xyo-network/sdk-protocol-js'\n\nexport const BoundWitnessDivinerSchema = asSchema('network.xyo.diviner.boundwitness', true)\nexport type BoundWitnessDivinerSchema = typeof BoundWitnessDivinerSchema\n"],
|
|
5
|
-
"mappings": ";AAAA,SAAS,uBAAuB;;;
|
|
4
|
+
"sourcesContent": ["import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport type { BoundWitness, Schema } from '@xyo-network/sdk-protocol-js'\n\nimport { BoundWitnessDivinerConfigSchema } from './Config.ts'\nimport type { BoundWitnessDivinerParams } from './Params.ts'\nimport type { BoundWitnessDivinerQueryPayload } from './Query.ts'\n\nexport abstract class BoundWitnessDiviner<\n TParams extends BoundWitnessDivinerParams = BoundWitnessDivinerParams,\n TIn extends BoundWitnessDivinerQueryPayload = BoundWitnessDivinerQueryPayload,\n TOut extends BoundWitness = BoundWitness,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, BoundWitnessDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = BoundWitnessDivinerConfigSchema\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { DivinerConfigZod } from '@xyo-network/diviner-model'\nimport { asSchema, type Payload } from '@xyo-network/sdk-protocol-js'\nimport * as z from 'zod/mini'\n\nimport { BoundWitnessDivinerSchema } from './Schema.ts'\n\nexport const BoundWitnessDivinerConfigSchema: string & {\n readonly __schema: true\n} = asSchema(`${BoundWitnessDivinerSchema}.config`, true)\nexport type BoundWitnessDivinerConfigSchema = typeof BoundWitnessDivinerConfigSchema\n\nexport const BoundWitnessDivinerConfigZod: z.ZodMiniObject<\n Omit<(typeof DivinerConfigZod)['shape'], 'schema'> & {\n schema: z.ZodMiniLiteral<BoundWitnessDivinerConfigSchema>\n },\n z.core.$strip\n> = z.extend(DivinerConfigZod, { schema: z.literal(BoundWitnessDivinerConfigSchema) })\n\nexport type BoundWitnessDivinerConfigBase = z.infer<typeof BoundWitnessDivinerConfigZod>\n\nexport const isBoundWitnessDivinerConfig: ReturnType<typeof zodIsFactory<BoundWitnessDivinerConfigBase>> = zodIsFactory(BoundWitnessDivinerConfigZod)\nexport const asBoundWitnessDivinerConfig: ReturnType<typeof zodAsFactory<BoundWitnessDivinerConfigBase>> = zodAsFactory(BoundWitnessDivinerConfigZod, 'asBoundWitnessDivinerConfig')\nexport const toBoundWitnessDivinerConfig: ReturnType<typeof zodToFactory<BoundWitnessDivinerConfigBase>> = zodToFactory(BoundWitnessDivinerConfigZod, 'toBoundWitnessDivinerConfig')\n\nexport type BoundWitnessDivinerConfig<T extends Payload = Payload> = DivinerConfig<\n T & {\n schema: BoundWitnessDivinerConfigSchema\n }\n>\n", "import { asSchema } from '@xyo-network/sdk-protocol-js'\n\nexport const BoundWitnessDivinerSchema: 'network.xyo.diviner.boundwitness' & {\n readonly __schema: true\n} = asSchema('network.xyo.diviner.boundwitness', true)\nexport type BoundWitnessDivinerSchema = typeof BoundWitnessDivinerSchema\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,uBAAuB;;;ACAhC;AAAA,EACE;AAAA,EAAc;AAAA,EAAc;AAAA,OACvB;AAEP,SAAS,wBAAwB;AACjC,SAAS,YAAAA,iBAA8B;AACvC,YAAY,OAAO;;;ACNnB,SAAS,gBAAgB;AAElB,IAAM,4BAET,SAAS,oCAAoC,IAAI;;;ADM9C,IAAM,kCAETC,UAAS,GAAG,yBAAyB,WAAW,IAAI;AAGjD,IAAM,+BAKP,SAAO,kBAAkB,EAAE,QAAU,UAAQ,+BAA+B,EAAE,CAAC;AAI9E,IAAM,8BAA8F,aAAa,4BAA4B;AAC7I,IAAM,8BAA8F,aAAa,8BAA8B,6BAA6B;AAC5K,IAAM,8BAA8F,aAAa,8BAA8B,6BAA6B;;;ADlB5K,IAAe,sBAAf,cASG,gBAAgD;AAAA,EACxD,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,+BAA+B;AAAA,EAC3G,OAAyB,sBAA8B;AACzD;",
|
|
6
6
|
"names": ["asSchema", "asSchema"]
|
|
7
7
|
}
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -2,7 +2,14 @@
|
|
|
2
2
|
import { AbstractDiviner } from "@xyo-network/diviner-abstract";
|
|
3
3
|
|
|
4
4
|
// src/Config.ts
|
|
5
|
+
import {
|
|
6
|
+
zodAsFactory,
|
|
7
|
+
zodIsFactory,
|
|
8
|
+
zodToFactory
|
|
9
|
+
} from "@xylabs/sdk-js";
|
|
10
|
+
import { DivinerConfigZod } from "@xyo-network/diviner-model";
|
|
5
11
|
import { asSchema as asSchema2 } from "@xyo-network/sdk-protocol-js";
|
|
12
|
+
import * as z from "zod/mini";
|
|
6
13
|
|
|
7
14
|
// src/Schema.ts
|
|
8
15
|
import { asSchema } from "@xyo-network/sdk-protocol-js";
|
|
@@ -10,6 +17,10 @@ var BoundWitnessDivinerSchema = asSchema("network.xyo.diviner.boundwitness", tru
|
|
|
10
17
|
|
|
11
18
|
// src/Config.ts
|
|
12
19
|
var BoundWitnessDivinerConfigSchema = asSchema2(`${BoundWitnessDivinerSchema}.config`, true);
|
|
20
|
+
var BoundWitnessDivinerConfigZod = z.extend(DivinerConfigZod, { schema: z.literal(BoundWitnessDivinerConfigSchema) });
|
|
21
|
+
var isBoundWitnessDivinerConfig = zodIsFactory(BoundWitnessDivinerConfigZod);
|
|
22
|
+
var asBoundWitnessDivinerConfig = zodAsFactory(BoundWitnessDivinerConfigZod, "asBoundWitnessDivinerConfig");
|
|
23
|
+
var toBoundWitnessDivinerConfig = zodToFactory(BoundWitnessDivinerConfigZod, "toBoundWitnessDivinerConfig");
|
|
13
24
|
|
|
14
25
|
// src/BoundWitnessDiviner.ts
|
|
15
26
|
var BoundWitnessDiviner = class extends AbstractDiviner {
|
|
@@ -69,9 +80,25 @@ import { isBoundWitness as isBoundWitness2 } from "@xyo-network/sdk-protocol-js"
|
|
|
69
80
|
import { isStorageMeta } from "@xyo-network/sdk-protocol-js";
|
|
70
81
|
|
|
71
82
|
// src/Query.ts
|
|
72
|
-
import {
|
|
83
|
+
import {
|
|
84
|
+
zodAsFactory as zodAsFactory2,
|
|
85
|
+
zodIsFactory as zodIsFactory2,
|
|
86
|
+
zodToFactory as zodToFactory2
|
|
87
|
+
} from "@xylabs/sdk-js";
|
|
88
|
+
import {
|
|
89
|
+
asSchema as asSchema3,
|
|
90
|
+
PayloadZodOfSchema,
|
|
91
|
+
QueryFieldsZod
|
|
92
|
+
} from "@xyo-network/sdk-protocol-js";
|
|
93
|
+
import * as z2 from "zod/mini";
|
|
73
94
|
var BoundWitnessDivinerQuerySchema = asSchema3(`${BoundWitnessDivinerSchema}.query`, true);
|
|
74
|
-
var
|
|
95
|
+
var BoundWitnessDivinerQueryPayloadZod = z2.intersection(
|
|
96
|
+
z2.extend(PayloadZodOfSchema(BoundWitnessDivinerQuerySchema), { ...QueryFieldsZod.shape }),
|
|
97
|
+
z2.custom()
|
|
98
|
+
);
|
|
99
|
+
var isBoundWitnessDivinerQueryPayload = zodIsFactory2(BoundWitnessDivinerQueryPayloadZod);
|
|
100
|
+
var asBoundWitnessDivinerQueryPayload = zodAsFactory2(BoundWitnessDivinerQueryPayloadZod, "asBoundWitnessDivinerQueryPayload");
|
|
101
|
+
var toBoundWitnessDivinerQueryPayload = zodToFactory2(BoundWitnessDivinerQueryPayloadZod, "toBoundWitnessDivinerQueryPayload");
|
|
75
102
|
|
|
76
103
|
// src/MemoryBoundWitnessDiviner.ts
|
|
77
104
|
var MemoryBoundWitnessDiviner = class extends BoundWitnessDiviner {
|
|
@@ -86,10 +113,17 @@ var MemoryBoundWitnessDiviner = class extends BoundWitnessDiviner {
|
|
|
86
113
|
export {
|
|
87
114
|
BoundWitnessDiviner,
|
|
88
115
|
BoundWitnessDivinerConfigSchema,
|
|
116
|
+
BoundWitnessDivinerConfigZod,
|
|
117
|
+
BoundWitnessDivinerQueryPayloadZod,
|
|
89
118
|
BoundWitnessDivinerQuerySchema,
|
|
90
119
|
BoundWitnessDivinerSchema,
|
|
91
120
|
MemoryBoundWitnessDiviner,
|
|
92
121
|
applyBoundWitnessDivinerQueryPayload,
|
|
93
|
-
|
|
122
|
+
asBoundWitnessDivinerConfig,
|
|
123
|
+
asBoundWitnessDivinerQueryPayload,
|
|
124
|
+
isBoundWitnessDivinerConfig,
|
|
125
|
+
isBoundWitnessDivinerQueryPayload,
|
|
126
|
+
toBoundWitnessDivinerConfig,
|
|
127
|
+
toBoundWitnessDivinerQueryPayload
|
|
94
128
|
};
|
|
95
129
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/BoundWitnessDiviner.ts", "../../src/Config.ts", "../../src/Schema.ts", "../../src/applyBoundWitnessDivinerQueryPayload.ts", "../../src/MemoryBoundWitnessDiviner.ts", "../../src/Query.ts"],
|
|
4
|
-
"sourcesContent": ["import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport type { BoundWitness, Schema } from '@xyo-network/sdk-protocol-js'\n\nimport { BoundWitnessDivinerConfigSchema } from './Config.ts'\nimport type { BoundWitnessDivinerParams } from './Params.ts'\nimport type { BoundWitnessDivinerQueryPayload } from './Query.ts'\n\nexport abstract class BoundWitnessDiviner<\n TParams extends BoundWitnessDivinerParams = BoundWitnessDivinerParams,\n TIn extends BoundWitnessDivinerQueryPayload = BoundWitnessDivinerQueryPayload,\n TOut extends BoundWitness = BoundWitness,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, BoundWitnessDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = BoundWitnessDivinerConfigSchema\n}\n", "import type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { asSchema, type Payload } from '@xyo-network/sdk-protocol-js'\n\nimport { BoundWitnessDivinerSchema } from './Schema.ts'\n\nexport const BoundWitnessDivinerConfigSchema = asSchema(`${BoundWitnessDivinerSchema}.config`, true)\nexport type BoundWitnessDivinerConfigSchema = typeof BoundWitnessDivinerConfigSchema\n\nexport type BoundWitnessDivinerConfig<T extends Payload = Payload> = DivinerConfig<\n T & {\n schema: BoundWitnessDivinerConfigSchema\n }\n>\n", "import { asSchema } from '@xyo-network/sdk-protocol-js'\n\nexport const BoundWitnessDivinerSchema = asSchema('network.xyo.diviner.boundwitness', true)\nexport type BoundWitnessDivinerSchema = typeof BoundWitnessDivinerSchema\n", "import {\n assertEx, containsAll,\n exists, hexFromHexString,\n} from '@xylabs/sdk-js'\nimport type {\n BoundWitness, Payload, WithStorageMeta,\n} from '@xyo-network/sdk-protocol-js'\nimport {\n isBoundWitness, PayloadBuilder, SequenceConstants,\n} from '@xyo-network/sdk-protocol-js'\n\nimport type { BoundWitnessDivinerQueryPayload } from './Query.ts'\n\n// eslint-disable-next-line complexity\nexport const applyBoundWitnessDivinerQueryPayload = (filter?: BoundWitnessDivinerQueryPayload, payloads: WithStorageMeta<Payload>[] = []): BoundWitness[] => {\n if (!filter) return []\n const {\n addresses, cursor, destination, limit, order = 'desc', payload_hashes, payload_schemas, sourceQuery,\n } = filter\n\n const sortedPayloads = PayloadBuilder.sortByStorageMeta(payloads, order === 'desc' ? -1 : 1)\n const parsedCursor = cursor ?? ((order === 'desc') ? SequenceConstants.maxLocalSequence : SequenceConstants.minLocalSequence)\n const parsedOffset = (order === 'desc')\n ? sortedPayloads.findIndex(bw => bw._sequence < parsedCursor)\n : sortedPayloads.findIndex(bw => bw._sequence > parsedCursor)\n if (parsedOffset === -1) return []\n const payloadSubset = sortedPayloads.slice(parsedOffset)\n\n let bws = payloadSubset.filter(isBoundWitness)\n const allAddresses = addresses?.map(address => hexFromHexString(address)).filter(exists)\n if (allAddresses?.length) bws = bws.filter(bw => containsAll<string>(bw.addresses, allAddresses))\n if (payload_hashes?.length) bws = bws.filter(bw => containsAll(bw.payload_hashes, payload_hashes))\n if (payload_schemas?.length) bws = bws.filter(bw => containsAll(bw.payload_schemas, payload_schemas))\n if (sourceQuery) bws = bws.filter(bw => bw?.$sourceQuery === sourceQuery)\n // If there's a destination filter of the right kind\n if (destination && Array.isArray(destination) && destination?.length > 0) {\n const targetFilter = assertEx(destination, () => 'Missing destination')\n // Find all BWs that satisfy the destination constraint\n bws = bws.filter((bw) => {\n const targetDestinationField = (bw as { $destination?: string | string[] })?.$destination\n // If the destination field is an array and contains at least one element\n return targetDestinationField !== undefined && Array.isArray(targetDestinationField) && targetDestinationField.length > 0\n // Check that the targetDestinationField contains all the elements in the targetFilter\n ? containsAll(targetFilter, targetDestinationField ?? [])\n // Otherwise, filter it out\n : false\n })\n }\n const parsedLimit = limit ?? bws.length\n return bws.slice(0, parsedLimit)\n}\n", "import { assertEx } from '@xylabs/sdk-js'\nimport { type BoundWitness, isBoundWitness } from '@xyo-network/sdk-protocol-js'\nimport { isStorageMeta } from '@xyo-network/sdk-protocol-js'\n\nimport { applyBoundWitnessDivinerQueryPayload } from './applyBoundWitnessDivinerQueryPayload.ts'\nimport { BoundWitnessDiviner } from './BoundWitnessDiviner.ts'\nimport type { BoundWitnessDivinerParams } from './Params.ts'\nimport { type BoundWitnessDivinerQueryPayload, isBoundWitnessDivinerQueryPayload } from './Query.ts'\n\nexport interface EqualityComparisonOperators {\n /**\n * 'Not Equal To' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value does not match the provided string.\n * Example: field != 'value'\n */\n '!=': string\n\n /**\n * 'Less Than' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value is lexicographically less than the provided string.\n * Example: field < 'value'\n */\n '<': string\n\n /**\n * 'Less Than or Equal To' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value is lexicographically less than or equal to the provided string.\n * Example: field <= 'value'\n */\n '<=': string\n\n /**\n * 'Equal To' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value matches the provided string exactly.\n * Example: field = 'value'\n */\n '=': string\n\n /**\n * 'Greater Than' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value is lexicographically greater than the provided string.\n * Example: field > 'value'\n */\n '>': string\n\n /**\n * 'Greater Than or Equal To' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value is lexicographically greater than or equal to the provided string.\n * Example: field >= 'value'\n */\n '>=': string\n}\n\nexport class MemoryBoundWitnessDiviner<\n TParams extends BoundWitnessDivinerParams = BoundWitnessDivinerParams,\n TIn extends BoundWitnessDivinerQueryPayload = BoundWitnessDivinerQueryPayload,\n TOut extends BoundWitness = BoundWitness,\n> extends BoundWitnessDiviner<TParams, TIn, TOut> {\n protected override async divineHandler(payloads?: TIn[]) {\n const filter = assertEx(payloads?.filter(isBoundWitnessDivinerQueryPayload)?.pop(), () => 'Missing query payload')\n if (!filter) return []\n const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const bws = ((await archivist?.next({ limit: 10_000 })) ?? []).filter(x => isBoundWitness(x) && isStorageMeta(x))\n return applyBoundWitnessDivinerQueryPayload(filter, bws) as TOut[]\n }\n}\n", "import type { Query } from '@xyo-network/sdk-protocol-js'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/sdk-protocol-js'\n\nimport type { BoundWitnessDivinerPredicate } from './Predicate.ts'\nimport { BoundWitnessDivinerSchema } from './Schema.ts'\n\nexport const BoundWitnessDivinerQuerySchema = asSchema(`${BoundWitnessDivinerSchema}.query`, true)\nexport type BoundWitnessDivinerQuerySchema = typeof BoundWitnessDivinerQuerySchema\n\nexport type BoundWitnessDivinerQueryPayload = Query<{ schema: BoundWitnessDivinerQuerySchema } & BoundWitnessDivinerPredicate>\nexport const isBoundWitnessDivinerQueryPayload = isPayloadOfSchemaType<BoundWitnessDivinerQueryPayload>(BoundWitnessDivinerQuerySchema)\n"],
|
|
5
|
-
"mappings": ";AAAA,SAAS,uBAAuB;;;
|
|
6
|
-
"names": ["asSchema", "asSchema", "assertEx", "isBoundWitness", "asSchema", "asSchema", "assertEx", "isBoundWitness"]
|
|
4
|
+
"sourcesContent": ["import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport type { BoundWitness, Schema } from '@xyo-network/sdk-protocol-js'\n\nimport { BoundWitnessDivinerConfigSchema } from './Config.ts'\nimport type { BoundWitnessDivinerParams } from './Params.ts'\nimport type { BoundWitnessDivinerQueryPayload } from './Query.ts'\n\nexport abstract class BoundWitnessDiviner<\n TParams extends BoundWitnessDivinerParams = BoundWitnessDivinerParams,\n TIn extends BoundWitnessDivinerQueryPayload = BoundWitnessDivinerQueryPayload,\n TOut extends BoundWitness = BoundWitness,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, BoundWitnessDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = BoundWitnessDivinerConfigSchema\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { DivinerConfigZod } from '@xyo-network/diviner-model'\nimport { asSchema, type Payload } from '@xyo-network/sdk-protocol-js'\nimport * as z from 'zod/mini'\n\nimport { BoundWitnessDivinerSchema } from './Schema.ts'\n\nexport const BoundWitnessDivinerConfigSchema: string & {\n readonly __schema: true\n} = asSchema(`${BoundWitnessDivinerSchema}.config`, true)\nexport type BoundWitnessDivinerConfigSchema = typeof BoundWitnessDivinerConfigSchema\n\nexport const BoundWitnessDivinerConfigZod: z.ZodMiniObject<\n Omit<(typeof DivinerConfigZod)['shape'], 'schema'> & {\n schema: z.ZodMiniLiteral<BoundWitnessDivinerConfigSchema>\n },\n z.core.$strip\n> = z.extend(DivinerConfigZod, { schema: z.literal(BoundWitnessDivinerConfigSchema) })\n\nexport type BoundWitnessDivinerConfigBase = z.infer<typeof BoundWitnessDivinerConfigZod>\n\nexport const isBoundWitnessDivinerConfig: ReturnType<typeof zodIsFactory<BoundWitnessDivinerConfigBase>> = zodIsFactory(BoundWitnessDivinerConfigZod)\nexport const asBoundWitnessDivinerConfig: ReturnType<typeof zodAsFactory<BoundWitnessDivinerConfigBase>> = zodAsFactory(BoundWitnessDivinerConfigZod, 'asBoundWitnessDivinerConfig')\nexport const toBoundWitnessDivinerConfig: ReturnType<typeof zodToFactory<BoundWitnessDivinerConfigBase>> = zodToFactory(BoundWitnessDivinerConfigZod, 'toBoundWitnessDivinerConfig')\n\nexport type BoundWitnessDivinerConfig<T extends Payload = Payload> = DivinerConfig<\n T & {\n schema: BoundWitnessDivinerConfigSchema\n }\n>\n", "import { asSchema } from '@xyo-network/sdk-protocol-js'\n\nexport const BoundWitnessDivinerSchema: 'network.xyo.diviner.boundwitness' & {\n readonly __schema: true\n} = asSchema('network.xyo.diviner.boundwitness', true)\nexport type BoundWitnessDivinerSchema = typeof BoundWitnessDivinerSchema\n", "import {\n assertEx, containsAll,\n exists, hexFromHexString,\n} from '@xylabs/sdk-js'\nimport type {\n BoundWitness, Payload, WithStorageMeta,\n} from '@xyo-network/sdk-protocol-js'\nimport {\n isBoundWitness, PayloadBuilder, SequenceConstants,\n} from '@xyo-network/sdk-protocol-js'\n\nimport type { BoundWitnessDivinerQueryPayload } from './Query.ts'\n\n// eslint-disable-next-line complexity\nexport const applyBoundWitnessDivinerQueryPayload = (filter?: BoundWitnessDivinerQueryPayload, payloads: WithStorageMeta<Payload>[] = []): BoundWitness[] => {\n if (!filter) return []\n const {\n addresses, cursor, destination, limit, order = 'desc', payload_hashes, payload_schemas, sourceQuery,\n } = filter\n\n const sortedPayloads = PayloadBuilder.sortByStorageMeta(payloads, order === 'desc' ? -1 : 1)\n const parsedCursor = cursor ?? ((order === 'desc') ? SequenceConstants.maxLocalSequence : SequenceConstants.minLocalSequence)\n const parsedOffset = (order === 'desc')\n ? sortedPayloads.findIndex(bw => bw._sequence < parsedCursor)\n : sortedPayloads.findIndex(bw => bw._sequence > parsedCursor)\n if (parsedOffset === -1) return []\n const payloadSubset = sortedPayloads.slice(parsedOffset)\n\n let bws = payloadSubset.filter(isBoundWitness)\n const allAddresses = addresses?.map(address => hexFromHexString(address)).filter(exists)\n if (allAddresses?.length) bws = bws.filter(bw => containsAll<string>(bw.addresses, allAddresses))\n if (payload_hashes?.length) bws = bws.filter(bw => containsAll(bw.payload_hashes, payload_hashes))\n if (payload_schemas?.length) bws = bws.filter(bw => containsAll(bw.payload_schemas, payload_schemas))\n if (sourceQuery) bws = bws.filter(bw => bw?.$sourceQuery === sourceQuery)\n // If there's a destination filter of the right kind\n if (destination && Array.isArray(destination) && destination?.length > 0) {\n const targetFilter = assertEx(destination, () => 'Missing destination')\n // Find all BWs that satisfy the destination constraint\n bws = bws.filter((bw) => {\n const targetDestinationField = (bw as { $destination?: string | string[] })?.$destination\n // If the destination field is an array and contains at least one element\n return targetDestinationField !== undefined && Array.isArray(targetDestinationField) && targetDestinationField.length > 0\n // Check that the targetDestinationField contains all the elements in the targetFilter\n ? containsAll(targetFilter, targetDestinationField ?? [])\n // Otherwise, filter it out\n : false\n })\n }\n const parsedLimit = limit ?? bws.length\n return bws.slice(0, parsedLimit)\n}\n", "import { assertEx } from '@xylabs/sdk-js'\nimport { type BoundWitness, isBoundWitness } from '@xyo-network/sdk-protocol-js'\nimport { isStorageMeta } from '@xyo-network/sdk-protocol-js'\n\nimport { applyBoundWitnessDivinerQueryPayload } from './applyBoundWitnessDivinerQueryPayload.ts'\nimport { BoundWitnessDiviner } from './BoundWitnessDiviner.ts'\nimport type { BoundWitnessDivinerParams } from './Params.ts'\nimport { type BoundWitnessDivinerQueryPayload, isBoundWitnessDivinerQueryPayload } from './Query.ts'\n\nexport interface EqualityComparisonOperators {\n /**\n * 'Not Equal To' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value does not match the provided string.\n * Example: field != 'value'\n */\n '!=': string\n\n /**\n * 'Less Than' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value is lexicographically less than the provided string.\n * Example: field < 'value'\n */\n '<': string\n\n /**\n * 'Less Than or Equal To' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value is lexicographically less than or equal to the provided string.\n * Example: field <= 'value'\n */\n '<=': string\n\n /**\n * 'Equal To' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value matches the provided string exactly.\n * Example: field = 'value'\n */\n '=': string\n\n /**\n * 'Greater Than' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value is lexicographically greater than the provided string.\n * Example: field > 'value'\n */\n '>': string\n\n /**\n * 'Greater Than or Equal To' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value is lexicographically greater than or equal to the provided string.\n * Example: field >= 'value'\n */\n '>=': string\n}\n\nexport class MemoryBoundWitnessDiviner<\n TParams extends BoundWitnessDivinerParams = BoundWitnessDivinerParams,\n TIn extends BoundWitnessDivinerQueryPayload = BoundWitnessDivinerQueryPayload,\n TOut extends BoundWitness = BoundWitness,\n> extends BoundWitnessDiviner<TParams, TIn, TOut> {\n protected override async divineHandler(payloads?: TIn[]): Promise<TOut[]> {\n const filter = assertEx(payloads?.filter(isBoundWitnessDivinerQueryPayload)?.pop(), () => 'Missing query payload')\n if (!filter) return []\n const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const bws = ((await archivist?.next({ limit: 10_000 })) ?? []).filter(x => isBoundWitness(x) && isStorageMeta(x))\n return applyBoundWitnessDivinerQueryPayload(filter, bws) as TOut[]\n }\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport {\n asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol-js'\nimport * as z from 'zod/mini'\n\nimport type { BoundWitnessDivinerPredicate } from './Predicate.ts'\nimport { BoundWitnessDivinerSchema } from './Schema.ts'\n\nexport const BoundWitnessDivinerQuerySchema: string & {\n readonly __schema: true\n} = asSchema(`${BoundWitnessDivinerSchema}.query`, true)\nexport type BoundWitnessDivinerQuerySchema = typeof BoundWitnessDivinerQuerySchema\n\nexport const BoundWitnessDivinerQueryPayloadZod: z.ZodMiniIntersection<\n z.ZodMiniObject<\n & { schema: z.ZodMiniLiteral<BoundWitnessDivinerQuerySchema> }\n & (typeof QueryFieldsZod)['shape'],\n z.core.$strip\n >,\n z.ZodMiniCustom<BoundWitnessDivinerPredicate, BoundWitnessDivinerPredicate>\n> = z.intersection(\n z.extend(PayloadZodOfSchema(BoundWitnessDivinerQuerySchema), { ...QueryFieldsZod.shape }),\n z.custom<BoundWitnessDivinerPredicate>(),\n)\n\nexport type BoundWitnessDivinerQueryPayload = z.infer<typeof BoundWitnessDivinerQueryPayloadZod>\n\nexport const isBoundWitnessDivinerQueryPayload: ReturnType<typeof zodIsFactory<BoundWitnessDivinerQueryPayload>> = zodIsFactory(BoundWitnessDivinerQueryPayloadZod)\nexport const asBoundWitnessDivinerQueryPayload: ReturnType<typeof zodAsFactory<BoundWitnessDivinerQueryPayload>> = zodAsFactory(BoundWitnessDivinerQueryPayloadZod, 'asBoundWitnessDivinerQueryPayload')\nexport const toBoundWitnessDivinerQueryPayload: ReturnType<typeof zodToFactory<BoundWitnessDivinerQueryPayload>> = zodToFactory(BoundWitnessDivinerQueryPayloadZod, 'toBoundWitnessDivinerQueryPayload')\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["asSchema", "asSchema", "assertEx", "isBoundWitness", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "z", "asSchema", "zodIsFactory", "zodAsFactory", "zodToFactory", "assertEx", "isBoundWitness"]
|
|
7
7
|
}
|
package/dist/neutral/memory.mjs
CHANGED
|
@@ -53,7 +53,14 @@ import { isStorageMeta } from "@xyo-network/sdk-protocol-js";
|
|
|
53
53
|
import { AbstractDiviner } from "@xyo-network/diviner-abstract";
|
|
54
54
|
|
|
55
55
|
// src/Config.ts
|
|
56
|
+
import {
|
|
57
|
+
zodAsFactory,
|
|
58
|
+
zodIsFactory,
|
|
59
|
+
zodToFactory
|
|
60
|
+
} from "@xylabs/sdk-js";
|
|
61
|
+
import { DivinerConfigZod } from "@xyo-network/diviner-model";
|
|
56
62
|
import { asSchema as asSchema2 } from "@xyo-network/sdk-protocol-js";
|
|
63
|
+
import * as z from "zod/mini";
|
|
57
64
|
|
|
58
65
|
// src/Schema.ts
|
|
59
66
|
import { asSchema } from "@xyo-network/sdk-protocol-js";
|
|
@@ -61,6 +68,10 @@ var BoundWitnessDivinerSchema = asSchema("network.xyo.diviner.boundwitness", tru
|
|
|
61
68
|
|
|
62
69
|
// src/Config.ts
|
|
63
70
|
var BoundWitnessDivinerConfigSchema = asSchema2(`${BoundWitnessDivinerSchema}.config`, true);
|
|
71
|
+
var BoundWitnessDivinerConfigZod = z.extend(DivinerConfigZod, { schema: z.literal(BoundWitnessDivinerConfigSchema) });
|
|
72
|
+
var isBoundWitnessDivinerConfig = zodIsFactory(BoundWitnessDivinerConfigZod);
|
|
73
|
+
var asBoundWitnessDivinerConfig = zodAsFactory(BoundWitnessDivinerConfigZod, "asBoundWitnessDivinerConfig");
|
|
74
|
+
var toBoundWitnessDivinerConfig = zodToFactory(BoundWitnessDivinerConfigZod, "toBoundWitnessDivinerConfig");
|
|
64
75
|
|
|
65
76
|
// src/BoundWitnessDiviner.ts
|
|
66
77
|
var BoundWitnessDiviner = class extends AbstractDiviner {
|
|
@@ -69,9 +80,25 @@ var BoundWitnessDiviner = class extends AbstractDiviner {
|
|
|
69
80
|
};
|
|
70
81
|
|
|
71
82
|
// src/Query.ts
|
|
72
|
-
import {
|
|
83
|
+
import {
|
|
84
|
+
zodAsFactory as zodAsFactory2,
|
|
85
|
+
zodIsFactory as zodIsFactory2,
|
|
86
|
+
zodToFactory as zodToFactory2
|
|
87
|
+
} from "@xylabs/sdk-js";
|
|
88
|
+
import {
|
|
89
|
+
asSchema as asSchema3,
|
|
90
|
+
PayloadZodOfSchema,
|
|
91
|
+
QueryFieldsZod
|
|
92
|
+
} from "@xyo-network/sdk-protocol-js";
|
|
93
|
+
import * as z2 from "zod/mini";
|
|
73
94
|
var BoundWitnessDivinerQuerySchema = asSchema3(`${BoundWitnessDivinerSchema}.query`, true);
|
|
74
|
-
var
|
|
95
|
+
var BoundWitnessDivinerQueryPayloadZod = z2.intersection(
|
|
96
|
+
z2.extend(PayloadZodOfSchema(BoundWitnessDivinerQuerySchema), { ...QueryFieldsZod.shape }),
|
|
97
|
+
z2.custom()
|
|
98
|
+
);
|
|
99
|
+
var isBoundWitnessDivinerQueryPayload = zodIsFactory2(BoundWitnessDivinerQueryPayloadZod);
|
|
100
|
+
var asBoundWitnessDivinerQueryPayload = zodAsFactory2(BoundWitnessDivinerQueryPayloadZod, "asBoundWitnessDivinerQueryPayload");
|
|
101
|
+
var toBoundWitnessDivinerQueryPayload = zodToFactory2(BoundWitnessDivinerQueryPayloadZod, "toBoundWitnessDivinerQueryPayload");
|
|
75
102
|
|
|
76
103
|
// src/MemoryBoundWitnessDiviner.ts
|
|
77
104
|
var MemoryBoundWitnessDiviner = class extends BoundWitnessDiviner {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/applyBoundWitnessDivinerQueryPayload.ts", "../../src/MemoryBoundWitnessDiviner.ts", "../../src/BoundWitnessDiviner.ts", "../../src/Config.ts", "../../src/Schema.ts", "../../src/Query.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n assertEx, containsAll,\n exists, hexFromHexString,\n} from '@xylabs/sdk-js'\nimport type {\n BoundWitness, Payload, WithStorageMeta,\n} from '@xyo-network/sdk-protocol-js'\nimport {\n isBoundWitness, PayloadBuilder, SequenceConstants,\n} from '@xyo-network/sdk-protocol-js'\n\nimport type { BoundWitnessDivinerQueryPayload } from './Query.ts'\n\n// eslint-disable-next-line complexity\nexport const applyBoundWitnessDivinerQueryPayload = (filter?: BoundWitnessDivinerQueryPayload, payloads: WithStorageMeta<Payload>[] = []): BoundWitness[] => {\n if (!filter) return []\n const {\n addresses, cursor, destination, limit, order = 'desc', payload_hashes, payload_schemas, sourceQuery,\n } = filter\n\n const sortedPayloads = PayloadBuilder.sortByStorageMeta(payloads, order === 'desc' ? -1 : 1)\n const parsedCursor = cursor ?? ((order === 'desc') ? SequenceConstants.maxLocalSequence : SequenceConstants.minLocalSequence)\n const parsedOffset = (order === 'desc')\n ? sortedPayloads.findIndex(bw => bw._sequence < parsedCursor)\n : sortedPayloads.findIndex(bw => bw._sequence > parsedCursor)\n if (parsedOffset === -1) return []\n const payloadSubset = sortedPayloads.slice(parsedOffset)\n\n let bws = payloadSubset.filter(isBoundWitness)\n const allAddresses = addresses?.map(address => hexFromHexString(address)).filter(exists)\n if (allAddresses?.length) bws = bws.filter(bw => containsAll<string>(bw.addresses, allAddresses))\n if (payload_hashes?.length) bws = bws.filter(bw => containsAll(bw.payload_hashes, payload_hashes))\n if (payload_schemas?.length) bws = bws.filter(bw => containsAll(bw.payload_schemas, payload_schemas))\n if (sourceQuery) bws = bws.filter(bw => bw?.$sourceQuery === sourceQuery)\n // If there's a destination filter of the right kind\n if (destination && Array.isArray(destination) && destination?.length > 0) {\n const targetFilter = assertEx(destination, () => 'Missing destination')\n // Find all BWs that satisfy the destination constraint\n bws = bws.filter((bw) => {\n const targetDestinationField = (bw as { $destination?: string | string[] })?.$destination\n // If the destination field is an array and contains at least one element\n return targetDestinationField !== undefined && Array.isArray(targetDestinationField) && targetDestinationField.length > 0\n // Check that the targetDestinationField contains all the elements in the targetFilter\n ? containsAll(targetFilter, targetDestinationField ?? [])\n // Otherwise, filter it out\n : false\n })\n }\n const parsedLimit = limit ?? bws.length\n return bws.slice(0, parsedLimit)\n}\n", "import { assertEx } from '@xylabs/sdk-js'\nimport { type BoundWitness, isBoundWitness } from '@xyo-network/sdk-protocol-js'\nimport { isStorageMeta } from '@xyo-network/sdk-protocol-js'\n\nimport { applyBoundWitnessDivinerQueryPayload } from './applyBoundWitnessDivinerQueryPayload.ts'\nimport { BoundWitnessDiviner } from './BoundWitnessDiviner.ts'\nimport type { BoundWitnessDivinerParams } from './Params.ts'\nimport { type BoundWitnessDivinerQueryPayload, isBoundWitnessDivinerQueryPayload } from './Query.ts'\n\nexport interface EqualityComparisonOperators {\n /**\n * 'Not Equal To' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value does not match the provided string.\n * Example: field != 'value'\n */\n '!=': string\n\n /**\n * 'Less Than' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value is lexicographically less than the provided string.\n * Example: field < 'value'\n */\n '<': string\n\n /**\n * 'Less Than or Equal To' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value is lexicographically less than or equal to the provided string.\n * Example: field <= 'value'\n */\n '<=': string\n\n /**\n * 'Equal To' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value matches the provided string exactly.\n * Example: field = 'value'\n */\n '=': string\n\n /**\n * 'Greater Than' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value is lexicographically greater than the provided string.\n * Example: field > 'value'\n */\n '>': string\n\n /**\n * 'Greater Than or Equal To' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value is lexicographically greater than or equal to the provided string.\n * Example: field >= 'value'\n */\n '>=': string\n}\n\nexport class MemoryBoundWitnessDiviner<\n TParams extends BoundWitnessDivinerParams = BoundWitnessDivinerParams,\n TIn extends BoundWitnessDivinerQueryPayload = BoundWitnessDivinerQueryPayload,\n TOut extends BoundWitness = BoundWitness,\n> extends BoundWitnessDiviner<TParams, TIn, TOut> {\n protected override async divineHandler(payloads?: TIn[]) {\n const filter = assertEx(payloads?.filter(isBoundWitnessDivinerQueryPayload)?.pop(), () => 'Missing query payload')\n if (!filter) return []\n const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const bws = ((await archivist?.next({ limit: 10_000 })) ?? []).filter(x => isBoundWitness(x) && isStorageMeta(x))\n return applyBoundWitnessDivinerQueryPayload(filter, bws) as TOut[]\n }\n}\n", "import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport type { BoundWitness, Schema } from '@xyo-network/sdk-protocol-js'\n\nimport { BoundWitnessDivinerConfigSchema } from './Config.ts'\nimport type { BoundWitnessDivinerParams } from './Params.ts'\nimport type { BoundWitnessDivinerQueryPayload } from './Query.ts'\n\nexport abstract class BoundWitnessDiviner<\n TParams extends BoundWitnessDivinerParams = BoundWitnessDivinerParams,\n TIn extends BoundWitnessDivinerQueryPayload = BoundWitnessDivinerQueryPayload,\n TOut extends BoundWitness = BoundWitness,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, BoundWitnessDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = BoundWitnessDivinerConfigSchema\n}\n", "import type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { asSchema, type Payload } from '@xyo-network/sdk-protocol-js'\n\nimport { BoundWitnessDivinerSchema } from './Schema.ts'\n\nexport const BoundWitnessDivinerConfigSchema = asSchema(`${BoundWitnessDivinerSchema}.config`, true)\nexport type BoundWitnessDivinerConfigSchema = typeof BoundWitnessDivinerConfigSchema\n\nexport type BoundWitnessDivinerConfig<T extends Payload = Payload> = DivinerConfig<\n T & {\n schema: BoundWitnessDivinerConfigSchema\n }\n>\n", "import { asSchema } from '@xyo-network/sdk-protocol-js'\n\nexport const BoundWitnessDivinerSchema = asSchema('network.xyo.diviner.boundwitness', true)\nexport type BoundWitnessDivinerSchema = typeof BoundWitnessDivinerSchema\n", "import type { Query } from '@xyo-network/sdk-protocol-js'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/sdk-protocol-js'\n\nimport type { BoundWitnessDivinerPredicate } from './Predicate.ts'\nimport { BoundWitnessDivinerSchema } from './Schema.ts'\n\nexport const BoundWitnessDivinerQuerySchema = asSchema(`${BoundWitnessDivinerSchema}.query`, true)\nexport type BoundWitnessDivinerQuerySchema = typeof BoundWitnessDivinerQuerySchema\n\nexport type BoundWitnessDivinerQueryPayload = Query<{ schema: BoundWitnessDivinerQuerySchema } & BoundWitnessDivinerPredicate>\nexport const isBoundWitnessDivinerQueryPayload = isPayloadOfSchemaType<BoundWitnessDivinerQueryPayload>(BoundWitnessDivinerQuerySchema)\n"],
|
|
5
|
-
"mappings": ";AAAA;AAAA,EACE;AAAA,EAAU;AAAA,EACV;AAAA,EAAQ;AAAA,OACH;AAIP;AAAA,EACE;AAAA,EAAgB;AAAA,EAAgB;AAAA,OAC3B;AAKA,IAAM,uCAAuC,CAAC,QAA0C,WAAuC,CAAC,MAAsB;AAC3J,MAAI,CAAC,OAAQ,QAAO,CAAC;AACrB,QAAM;AAAA,IACJ;AAAA,IAAW;AAAA,IAAQ;AAAA,IAAa;AAAA,IAAO,QAAQ;AAAA,IAAQ;AAAA,IAAgB;AAAA,IAAiB;AAAA,EAC1F,IAAI;AAEJ,QAAM,iBAAiB,eAAe,kBAAkB,UAAU,UAAU,SAAS,KAAK,CAAC;AAC3F,QAAM,eAAe,WAAY,UAAU,SAAU,kBAAkB,mBAAmB,kBAAkB;AAC5G,QAAM,eAAgB,UAAU,SAC5B,eAAe,UAAU,QAAM,GAAG,YAAY,YAAY,IAC1D,eAAe,UAAU,QAAM,GAAG,YAAY,YAAY;AAC9D,MAAI,iBAAiB,GAAI,QAAO,CAAC;AACjC,QAAM,gBAAgB,eAAe,MAAM,YAAY;AAEvD,MAAI,MAAM,cAAc,OAAO,cAAc;AAC7C,QAAM,eAAe,WAAW,IAAI,aAAW,iBAAiB,OAAO,CAAC,EAAE,OAAO,MAAM;AACvF,MAAI,cAAc,OAAQ,OAAM,IAAI,OAAO,QAAM,YAAoB,GAAG,WAAW,YAAY,CAAC;AAChG,MAAI,gBAAgB,OAAQ,OAAM,IAAI,OAAO,QAAM,YAAY,GAAG,gBAAgB,cAAc,CAAC;AACjG,MAAI,iBAAiB,OAAQ,OAAM,IAAI,OAAO,QAAM,YAAY,GAAG,iBAAiB,eAAe,CAAC;AACpG,MAAI,YAAa,OAAM,IAAI,OAAO,QAAM,IAAI,iBAAiB,WAAW;AAExE,MAAI,eAAe,MAAM,QAAQ,WAAW,KAAK,aAAa,SAAS,GAAG;AACxE,UAAM,eAAe,SAAS,aAAa,MAAM,qBAAqB;AAEtE,UAAM,IAAI,OAAO,CAAC,OAAO;AACvB,YAAM,yBAA0B,IAA6C;AAE7E,aAAO,2BAA2B,UAAa,MAAM,QAAQ,sBAAsB,KAAK,uBAAuB,SAAS,IAEpH,YAAY,cAAc,0BAA0B,CAAC,CAAC,IAEtD;AAAA,IACN,CAAC;AAAA,EACH;AACA,QAAM,cAAc,SAAS,IAAI;AACjC,SAAO,IAAI,MAAM,GAAG,WAAW;AACjC;;;AClDA,SAAS,YAAAA,iBAAgB;AACzB,SAA4B,kBAAAC,uBAAsB;AAClD,SAAS,qBAAqB;;;ACF9B,SAAS,uBAAuB;;;
|
|
6
|
-
"names": ["assertEx", "isBoundWitness", "asSchema", "asSchema", "asSchema", "asSchema", "assertEx", "isBoundWitness"]
|
|
4
|
+
"sourcesContent": ["import {\n assertEx, containsAll,\n exists, hexFromHexString,\n} from '@xylabs/sdk-js'\nimport type {\n BoundWitness, Payload, WithStorageMeta,\n} from '@xyo-network/sdk-protocol-js'\nimport {\n isBoundWitness, PayloadBuilder, SequenceConstants,\n} from '@xyo-network/sdk-protocol-js'\n\nimport type { BoundWitnessDivinerQueryPayload } from './Query.ts'\n\n// eslint-disable-next-line complexity\nexport const applyBoundWitnessDivinerQueryPayload = (filter?: BoundWitnessDivinerQueryPayload, payloads: WithStorageMeta<Payload>[] = []): BoundWitness[] => {\n if (!filter) return []\n const {\n addresses, cursor, destination, limit, order = 'desc', payload_hashes, payload_schemas, sourceQuery,\n } = filter\n\n const sortedPayloads = PayloadBuilder.sortByStorageMeta(payloads, order === 'desc' ? -1 : 1)\n const parsedCursor = cursor ?? ((order === 'desc') ? SequenceConstants.maxLocalSequence : SequenceConstants.minLocalSequence)\n const parsedOffset = (order === 'desc')\n ? sortedPayloads.findIndex(bw => bw._sequence < parsedCursor)\n : sortedPayloads.findIndex(bw => bw._sequence > parsedCursor)\n if (parsedOffset === -1) return []\n const payloadSubset = sortedPayloads.slice(parsedOffset)\n\n let bws = payloadSubset.filter(isBoundWitness)\n const allAddresses = addresses?.map(address => hexFromHexString(address)).filter(exists)\n if (allAddresses?.length) bws = bws.filter(bw => containsAll<string>(bw.addresses, allAddresses))\n if (payload_hashes?.length) bws = bws.filter(bw => containsAll(bw.payload_hashes, payload_hashes))\n if (payload_schemas?.length) bws = bws.filter(bw => containsAll(bw.payload_schemas, payload_schemas))\n if (sourceQuery) bws = bws.filter(bw => bw?.$sourceQuery === sourceQuery)\n // If there's a destination filter of the right kind\n if (destination && Array.isArray(destination) && destination?.length > 0) {\n const targetFilter = assertEx(destination, () => 'Missing destination')\n // Find all BWs that satisfy the destination constraint\n bws = bws.filter((bw) => {\n const targetDestinationField = (bw as { $destination?: string | string[] })?.$destination\n // If the destination field is an array and contains at least one element\n return targetDestinationField !== undefined && Array.isArray(targetDestinationField) && targetDestinationField.length > 0\n // Check that the targetDestinationField contains all the elements in the targetFilter\n ? containsAll(targetFilter, targetDestinationField ?? [])\n // Otherwise, filter it out\n : false\n })\n }\n const parsedLimit = limit ?? bws.length\n return bws.slice(0, parsedLimit)\n}\n", "import { assertEx } from '@xylabs/sdk-js'\nimport { type BoundWitness, isBoundWitness } from '@xyo-network/sdk-protocol-js'\nimport { isStorageMeta } from '@xyo-network/sdk-protocol-js'\n\nimport { applyBoundWitnessDivinerQueryPayload } from './applyBoundWitnessDivinerQueryPayload.ts'\nimport { BoundWitnessDiviner } from './BoundWitnessDiviner.ts'\nimport type { BoundWitnessDivinerParams } from './Params.ts'\nimport { type BoundWitnessDivinerQueryPayload, isBoundWitnessDivinerQueryPayload } from './Query.ts'\n\nexport interface EqualityComparisonOperators {\n /**\n * 'Not Equal To' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value does not match the provided string.\n * Example: field != 'value'\n */\n '!=': string\n\n /**\n * 'Less Than' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value is lexicographically less than the provided string.\n * Example: field < 'value'\n */\n '<': string\n\n /**\n * 'Less Than or Equal To' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value is lexicographically less than or equal to the provided string.\n * Example: field <= 'value'\n */\n '<=': string\n\n /**\n * 'Equal To' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value matches the provided string exactly.\n * Example: field = 'value'\n */\n '=': string\n\n /**\n * 'Greater Than' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value is lexicographically greater than the provided string.\n * Example: field > 'value'\n */\n '>': string\n\n /**\n * 'Greater Than or Equal To' comparison operator.\n * Compares the field with the specified string value,\n * selecting records where the field value is lexicographically greater than or equal to the provided string.\n * Example: field >= 'value'\n */\n '>=': string\n}\n\nexport class MemoryBoundWitnessDiviner<\n TParams extends BoundWitnessDivinerParams = BoundWitnessDivinerParams,\n TIn extends BoundWitnessDivinerQueryPayload = BoundWitnessDivinerQueryPayload,\n TOut extends BoundWitness = BoundWitness,\n> extends BoundWitnessDiviner<TParams, TIn, TOut> {\n protected override async divineHandler(payloads?: TIn[]): Promise<TOut[]> {\n const filter = assertEx(payloads?.filter(isBoundWitnessDivinerQueryPayload)?.pop(), () => 'Missing query payload')\n if (!filter) return []\n const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const bws = ((await archivist?.next({ limit: 10_000 })) ?? []).filter(x => isBoundWitness(x) && isStorageMeta(x))\n return applyBoundWitnessDivinerQueryPayload(filter, bws) as TOut[]\n }\n}\n", "import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport type { BoundWitness, Schema } from '@xyo-network/sdk-protocol-js'\n\nimport { BoundWitnessDivinerConfigSchema } from './Config.ts'\nimport type { BoundWitnessDivinerParams } from './Params.ts'\nimport type { BoundWitnessDivinerQueryPayload } from './Query.ts'\n\nexport abstract class BoundWitnessDiviner<\n TParams extends BoundWitnessDivinerParams = BoundWitnessDivinerParams,\n TIn extends BoundWitnessDivinerQueryPayload = BoundWitnessDivinerQueryPayload,\n TOut extends BoundWitness = BoundWitness,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, BoundWitnessDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = BoundWitnessDivinerConfigSchema\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { DivinerConfigZod } from '@xyo-network/diviner-model'\nimport { asSchema, type Payload } from '@xyo-network/sdk-protocol-js'\nimport * as z from 'zod/mini'\n\nimport { BoundWitnessDivinerSchema } from './Schema.ts'\n\nexport const BoundWitnessDivinerConfigSchema: string & {\n readonly __schema: true\n} = asSchema(`${BoundWitnessDivinerSchema}.config`, true)\nexport type BoundWitnessDivinerConfigSchema = typeof BoundWitnessDivinerConfigSchema\n\nexport const BoundWitnessDivinerConfigZod: z.ZodMiniObject<\n Omit<(typeof DivinerConfigZod)['shape'], 'schema'> & {\n schema: z.ZodMiniLiteral<BoundWitnessDivinerConfigSchema>\n },\n z.core.$strip\n> = z.extend(DivinerConfigZod, { schema: z.literal(BoundWitnessDivinerConfigSchema) })\n\nexport type BoundWitnessDivinerConfigBase = z.infer<typeof BoundWitnessDivinerConfigZod>\n\nexport const isBoundWitnessDivinerConfig: ReturnType<typeof zodIsFactory<BoundWitnessDivinerConfigBase>> = zodIsFactory(BoundWitnessDivinerConfigZod)\nexport const asBoundWitnessDivinerConfig: ReturnType<typeof zodAsFactory<BoundWitnessDivinerConfigBase>> = zodAsFactory(BoundWitnessDivinerConfigZod, 'asBoundWitnessDivinerConfig')\nexport const toBoundWitnessDivinerConfig: ReturnType<typeof zodToFactory<BoundWitnessDivinerConfigBase>> = zodToFactory(BoundWitnessDivinerConfigZod, 'toBoundWitnessDivinerConfig')\n\nexport type BoundWitnessDivinerConfig<T extends Payload = Payload> = DivinerConfig<\n T & {\n schema: BoundWitnessDivinerConfigSchema\n }\n>\n", "import { asSchema } from '@xyo-network/sdk-protocol-js'\n\nexport const BoundWitnessDivinerSchema: 'network.xyo.diviner.boundwitness' & {\n readonly __schema: true\n} = asSchema('network.xyo.diviner.boundwitness', true)\nexport type BoundWitnessDivinerSchema = typeof BoundWitnessDivinerSchema\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport {\n asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol-js'\nimport * as z from 'zod/mini'\n\nimport type { BoundWitnessDivinerPredicate } from './Predicate.ts'\nimport { BoundWitnessDivinerSchema } from './Schema.ts'\n\nexport const BoundWitnessDivinerQuerySchema: string & {\n readonly __schema: true\n} = asSchema(`${BoundWitnessDivinerSchema}.query`, true)\nexport type BoundWitnessDivinerQuerySchema = typeof BoundWitnessDivinerQuerySchema\n\nexport const BoundWitnessDivinerQueryPayloadZod: z.ZodMiniIntersection<\n z.ZodMiniObject<\n & { schema: z.ZodMiniLiteral<BoundWitnessDivinerQuerySchema> }\n & (typeof QueryFieldsZod)['shape'],\n z.core.$strip\n >,\n z.ZodMiniCustom<BoundWitnessDivinerPredicate, BoundWitnessDivinerPredicate>\n> = z.intersection(\n z.extend(PayloadZodOfSchema(BoundWitnessDivinerQuerySchema), { ...QueryFieldsZod.shape }),\n z.custom<BoundWitnessDivinerPredicate>(),\n)\n\nexport type BoundWitnessDivinerQueryPayload = z.infer<typeof BoundWitnessDivinerQueryPayloadZod>\n\nexport const isBoundWitnessDivinerQueryPayload: ReturnType<typeof zodIsFactory<BoundWitnessDivinerQueryPayload>> = zodIsFactory(BoundWitnessDivinerQueryPayloadZod)\nexport const asBoundWitnessDivinerQueryPayload: ReturnType<typeof zodAsFactory<BoundWitnessDivinerQueryPayload>> = zodAsFactory(BoundWitnessDivinerQueryPayloadZod, 'asBoundWitnessDivinerQueryPayload')\nexport const toBoundWitnessDivinerQueryPayload: ReturnType<typeof zodToFactory<BoundWitnessDivinerQueryPayload>> = zodToFactory(BoundWitnessDivinerQueryPayloadZod, 'toBoundWitnessDivinerQueryPayload')\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["assertEx", "isBoundWitness", "asSchema", "asSchema", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "z", "asSchema", "zodIsFactory", "zodAsFactory", "zodToFactory", "assertEx", "isBoundWitness"]
|
|
7
7
|
}
|
package/dist/neutral/model.mjs
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
// src/Config.ts
|
|
2
|
+
import {
|
|
3
|
+
zodAsFactory,
|
|
4
|
+
zodIsFactory,
|
|
5
|
+
zodToFactory
|
|
6
|
+
} from "@xylabs/sdk-js";
|
|
7
|
+
import { DivinerConfigZod } from "@xyo-network/diviner-model";
|
|
2
8
|
import { asSchema as asSchema2 } from "@xyo-network/sdk-protocol-js";
|
|
9
|
+
import * as z from "zod/mini";
|
|
3
10
|
|
|
4
11
|
// src/Schema.ts
|
|
5
12
|
import { asSchema } from "@xyo-network/sdk-protocol-js";
|
|
@@ -7,15 +14,42 @@ var BoundWitnessDivinerSchema = asSchema("network.xyo.diviner.boundwitness", tru
|
|
|
7
14
|
|
|
8
15
|
// src/Config.ts
|
|
9
16
|
var BoundWitnessDivinerConfigSchema = asSchema2(`${BoundWitnessDivinerSchema}.config`, true);
|
|
17
|
+
var BoundWitnessDivinerConfigZod = z.extend(DivinerConfigZod, { schema: z.literal(BoundWitnessDivinerConfigSchema) });
|
|
18
|
+
var isBoundWitnessDivinerConfig = zodIsFactory(BoundWitnessDivinerConfigZod);
|
|
19
|
+
var asBoundWitnessDivinerConfig = zodAsFactory(BoundWitnessDivinerConfigZod, "asBoundWitnessDivinerConfig");
|
|
20
|
+
var toBoundWitnessDivinerConfig = zodToFactory(BoundWitnessDivinerConfigZod, "toBoundWitnessDivinerConfig");
|
|
10
21
|
|
|
11
22
|
// src/Query.ts
|
|
12
|
-
import {
|
|
23
|
+
import {
|
|
24
|
+
zodAsFactory as zodAsFactory2,
|
|
25
|
+
zodIsFactory as zodIsFactory2,
|
|
26
|
+
zodToFactory as zodToFactory2
|
|
27
|
+
} from "@xylabs/sdk-js";
|
|
28
|
+
import {
|
|
29
|
+
asSchema as asSchema3,
|
|
30
|
+
PayloadZodOfSchema,
|
|
31
|
+
QueryFieldsZod
|
|
32
|
+
} from "@xyo-network/sdk-protocol-js";
|
|
33
|
+
import * as z2 from "zod/mini";
|
|
13
34
|
var BoundWitnessDivinerQuerySchema = asSchema3(`${BoundWitnessDivinerSchema}.query`, true);
|
|
14
|
-
var
|
|
35
|
+
var BoundWitnessDivinerQueryPayloadZod = z2.intersection(
|
|
36
|
+
z2.extend(PayloadZodOfSchema(BoundWitnessDivinerQuerySchema), { ...QueryFieldsZod.shape }),
|
|
37
|
+
z2.custom()
|
|
38
|
+
);
|
|
39
|
+
var isBoundWitnessDivinerQueryPayload = zodIsFactory2(BoundWitnessDivinerQueryPayloadZod);
|
|
40
|
+
var asBoundWitnessDivinerQueryPayload = zodAsFactory2(BoundWitnessDivinerQueryPayloadZod, "asBoundWitnessDivinerQueryPayload");
|
|
41
|
+
var toBoundWitnessDivinerQueryPayload = zodToFactory2(BoundWitnessDivinerQueryPayloadZod, "toBoundWitnessDivinerQueryPayload");
|
|
15
42
|
export {
|
|
16
43
|
BoundWitnessDivinerConfigSchema,
|
|
44
|
+
BoundWitnessDivinerConfigZod,
|
|
45
|
+
BoundWitnessDivinerQueryPayloadZod,
|
|
17
46
|
BoundWitnessDivinerQuerySchema,
|
|
18
47
|
BoundWitnessDivinerSchema,
|
|
19
|
-
|
|
48
|
+
asBoundWitnessDivinerConfig,
|
|
49
|
+
asBoundWitnessDivinerQueryPayload,
|
|
50
|
+
isBoundWitnessDivinerConfig,
|
|
51
|
+
isBoundWitnessDivinerQueryPayload,
|
|
52
|
+
toBoundWitnessDivinerConfig,
|
|
53
|
+
toBoundWitnessDivinerQueryPayload
|
|
20
54
|
};
|
|
21
55
|
//# sourceMappingURL=model.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Config.ts", "../../src/Schema.ts", "../../src/Query.ts"],
|
|
4
|
-
"sourcesContent": ["import type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { asSchema, type Payload } from '@xyo-network/sdk-protocol-js'\n\nimport { BoundWitnessDivinerSchema } from './Schema.ts'\n\nexport const BoundWitnessDivinerConfigSchema = asSchema(`${BoundWitnessDivinerSchema}.config`, true)\nexport type BoundWitnessDivinerConfigSchema = typeof BoundWitnessDivinerConfigSchema\n\nexport type BoundWitnessDivinerConfig<T extends Payload = Payload> = DivinerConfig<\n T & {\n schema: BoundWitnessDivinerConfigSchema\n }\n>\n", "import { asSchema } from '@xyo-network/sdk-protocol-js'\n\nexport const BoundWitnessDivinerSchema = asSchema('network.xyo.diviner.boundwitness', true)\nexport type BoundWitnessDivinerSchema = typeof BoundWitnessDivinerSchema\n", "import
|
|
5
|
-
"mappings": ";
|
|
6
|
-
"names": ["asSchema", "asSchema", "asSchema", "asSchema"]
|
|
4
|
+
"sourcesContent": ["import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { DivinerConfigZod } from '@xyo-network/diviner-model'\nimport { asSchema, type Payload } from '@xyo-network/sdk-protocol-js'\nimport * as z from 'zod/mini'\n\nimport { BoundWitnessDivinerSchema } from './Schema.ts'\n\nexport const BoundWitnessDivinerConfigSchema: string & {\n readonly __schema: true\n} = asSchema(`${BoundWitnessDivinerSchema}.config`, true)\nexport type BoundWitnessDivinerConfigSchema = typeof BoundWitnessDivinerConfigSchema\n\nexport const BoundWitnessDivinerConfigZod: z.ZodMiniObject<\n Omit<(typeof DivinerConfigZod)['shape'], 'schema'> & {\n schema: z.ZodMiniLiteral<BoundWitnessDivinerConfigSchema>\n },\n z.core.$strip\n> = z.extend(DivinerConfigZod, { schema: z.literal(BoundWitnessDivinerConfigSchema) })\n\nexport type BoundWitnessDivinerConfigBase = z.infer<typeof BoundWitnessDivinerConfigZod>\n\nexport const isBoundWitnessDivinerConfig: ReturnType<typeof zodIsFactory<BoundWitnessDivinerConfigBase>> = zodIsFactory(BoundWitnessDivinerConfigZod)\nexport const asBoundWitnessDivinerConfig: ReturnType<typeof zodAsFactory<BoundWitnessDivinerConfigBase>> = zodAsFactory(BoundWitnessDivinerConfigZod, 'asBoundWitnessDivinerConfig')\nexport const toBoundWitnessDivinerConfig: ReturnType<typeof zodToFactory<BoundWitnessDivinerConfigBase>> = zodToFactory(BoundWitnessDivinerConfigZod, 'toBoundWitnessDivinerConfig')\n\nexport type BoundWitnessDivinerConfig<T extends Payload = Payload> = DivinerConfig<\n T & {\n schema: BoundWitnessDivinerConfigSchema\n }\n>\n", "import { asSchema } from '@xyo-network/sdk-protocol-js'\n\nexport const BoundWitnessDivinerSchema: 'network.xyo.diviner.boundwitness' & {\n readonly __schema: true\n} = asSchema('network.xyo.diviner.boundwitness', true)\nexport type BoundWitnessDivinerSchema = typeof BoundWitnessDivinerSchema\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport {\n asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol-js'\nimport * as z from 'zod/mini'\n\nimport type { BoundWitnessDivinerPredicate } from './Predicate.ts'\nimport { BoundWitnessDivinerSchema } from './Schema.ts'\n\nexport const BoundWitnessDivinerQuerySchema: string & {\n readonly __schema: true\n} = asSchema(`${BoundWitnessDivinerSchema}.query`, true)\nexport type BoundWitnessDivinerQuerySchema = typeof BoundWitnessDivinerQuerySchema\n\nexport const BoundWitnessDivinerQueryPayloadZod: z.ZodMiniIntersection<\n z.ZodMiniObject<\n & { schema: z.ZodMiniLiteral<BoundWitnessDivinerQuerySchema> }\n & (typeof QueryFieldsZod)['shape'],\n z.core.$strip\n >,\n z.ZodMiniCustom<BoundWitnessDivinerPredicate, BoundWitnessDivinerPredicate>\n> = z.intersection(\n z.extend(PayloadZodOfSchema(BoundWitnessDivinerQuerySchema), { ...QueryFieldsZod.shape }),\n z.custom<BoundWitnessDivinerPredicate>(),\n)\n\nexport type BoundWitnessDivinerQueryPayload = z.infer<typeof BoundWitnessDivinerQueryPayloadZod>\n\nexport const isBoundWitnessDivinerQueryPayload: ReturnType<typeof zodIsFactory<BoundWitnessDivinerQueryPayload>> = zodIsFactory(BoundWitnessDivinerQueryPayloadZod)\nexport const asBoundWitnessDivinerQueryPayload: ReturnType<typeof zodAsFactory<BoundWitnessDivinerQueryPayload>> = zodAsFactory(BoundWitnessDivinerQueryPayloadZod, 'asBoundWitnessDivinerQueryPayload')\nexport const toBoundWitnessDivinerQueryPayload: ReturnType<typeof zodToFactory<BoundWitnessDivinerQueryPayload>> = zodToFactory(BoundWitnessDivinerQueryPayloadZod, 'toBoundWitnessDivinerQueryPayload')\n"],
|
|
5
|
+
"mappings": ";AAAA;AAAA,EACE;AAAA,EAAc;AAAA,EAAc;AAAA,OACvB;AAEP,SAAS,wBAAwB;AACjC,SAAS,YAAAA,iBAA8B;AACvC,YAAY,OAAO;;;ACNnB,SAAS,gBAAgB;AAElB,IAAM,4BAET,SAAS,oCAAoC,IAAI;;;ADM9C,IAAM,kCAETC,UAAS,GAAG,yBAAyB,WAAW,IAAI;AAGjD,IAAM,+BAKP,SAAO,kBAAkB,EAAE,QAAU,UAAQ,+BAA+B,EAAE,CAAC;AAI9E,IAAM,8BAA8F,aAAa,4BAA4B;AAC7I,IAAM,8BAA8F,aAAa,8BAA8B,6BAA6B;AAC5K,IAAM,8BAA8F,aAAa,8BAA8B,6BAA6B;;;AE1BnL;AAAA,EACE,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,OACvB;AACP;AAAA,EACE,YAAAC;AAAA,EAAU;AAAA,EAAoB;AAAA,OACzB;AACP,YAAYC,QAAO;AAKZ,IAAM,iCAETC,UAAS,GAAG,yBAAyB,UAAU,IAAI;AAGhD,IAAM,qCAOP;AAAA,EACF,UAAO,mBAAmB,8BAA8B,GAAG,EAAE,GAAG,eAAe,MAAM,CAAC;AAAA,EACtF,UAAqC;AACzC;AAIO,IAAM,oCAAsGC,cAAa,kCAAkC;AAC3J,IAAM,oCAAsGC,cAAa,oCAAoC,mCAAmC;AAChM,IAAM,oCAAsGC,cAAa,oCAAoC,mCAAmC;",
|
|
6
|
+
"names": ["asSchema", "asSchema", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "z", "asSchema", "zodIsFactory", "zodAsFactory", "zodToFactory"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/diviner-boundwitness",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.0.0",
|
|
4
4
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
5
5
|
"homepage": "https://xyo.network",
|
|
6
6
|
"bugs": {
|
|
@@ -46,32 +46,30 @@
|
|
|
46
46
|
"README.md"
|
|
47
47
|
],
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@xyo-network/diviner-
|
|
50
|
-
"@xyo-network/diviner-
|
|
51
|
-
"@xyo-network/
|
|
52
|
-
"@xyo-network/
|
|
49
|
+
"@xyo-network/diviner-model": "~7.0.0",
|
|
50
|
+
"@xyo-network/diviner-abstract": "~7.0.0",
|
|
51
|
+
"@xyo-network/diviner-payload-model": "~7.0.0",
|
|
52
|
+
"@xyo-network/module-model": "~7.0.0"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@bitauth/libauth": "~3.0.0",
|
|
56
56
|
"@metamask/providers": "^22.1.1",
|
|
57
57
|
"@noble/post-quantum": "~0.6.1",
|
|
58
58
|
"@opentelemetry/api": "^1.9.1",
|
|
59
|
-
"@opentelemetry/sdk-trace-base": "^2.
|
|
59
|
+
"@opentelemetry/sdk-trace-base": "^2.8.0",
|
|
60
60
|
"@scure/base": "~2.2.0",
|
|
61
61
|
"@scure/bip39": "~2.2.0",
|
|
62
|
-
"@xylabs/geo": "^6.
|
|
63
|
-
"@xylabs/sdk-js": "^6.
|
|
64
|
-
"@xylabs/threads": "^6.
|
|
65
|
-
"@xylabs/toolchain": "
|
|
66
|
-
"@xylabs/tsconfig": "
|
|
67
|
-
"@xylabs/vitest-extended": "
|
|
68
|
-
"@xyo-network/sdk-protocol-js": "~
|
|
62
|
+
"@xylabs/geo": "^6.1.1",
|
|
63
|
+
"@xylabs/sdk-js": "^6.1.1",
|
|
64
|
+
"@xylabs/threads": "^6.1.1",
|
|
65
|
+
"@xylabs/toolchain": "^8.1.20",
|
|
66
|
+
"@xylabs/tsconfig": "^8.1.20",
|
|
67
|
+
"@xylabs/vitest-extended": "^6.1.1",
|
|
68
|
+
"@xyo-network/sdk-protocol-js": "~7.0",
|
|
69
69
|
"ajv": "^8.20.0",
|
|
70
70
|
"async-mutex": "^0.5.0",
|
|
71
|
-
"bn.js": "^5.2.3",
|
|
72
|
-
"buffer": "^6.0.3",
|
|
73
71
|
"debug": "~4.4.3",
|
|
74
|
-
"eslint": "^10.
|
|
72
|
+
"eslint": "^10.5.0",
|
|
75
73
|
"ethers": "^6.16.0",
|
|
76
74
|
"hash-wasm": "~4.12.0",
|
|
77
75
|
"idb": "^8.0.3",
|
|
@@ -82,8 +80,8 @@
|
|
|
82
80
|
"vitest": "~4.1.8",
|
|
83
81
|
"webextension-polyfill": "^0.12.0",
|
|
84
82
|
"zod": "^4.4.3",
|
|
85
|
-
"@xyo-network/archivist-memory": "~
|
|
86
|
-
"@xyo-network/node-memory": "~
|
|
83
|
+
"@xyo-network/archivist-memory": "~7.0.0",
|
|
84
|
+
"@xyo-network/node-memory": "~7.0.0"
|
|
87
85
|
},
|
|
88
86
|
"peerDependencies": {
|
|
89
87
|
"@bitauth/libauth": "~3.0",
|
|
@@ -96,11 +94,9 @@
|
|
|
96
94
|
"@xylabs/geo": "^6.0",
|
|
97
95
|
"@xylabs/sdk-js": "^6.0",
|
|
98
96
|
"@xylabs/threads": "^6.0",
|
|
99
|
-
"@xyo-network/sdk-protocol-js": "
|
|
97
|
+
"@xyo-network/sdk-protocol-js": "^7.0",
|
|
100
98
|
"ajv": "^8.20",
|
|
101
99
|
"async-mutex": "^0.5",
|
|
102
|
-
"bn.js": "^5.2",
|
|
103
|
-
"buffer": "^6.0",
|
|
104
100
|
"debug": "~4.4",
|
|
105
101
|
"ethers": "^6.16",
|
|
106
102
|
"hash-wasm": "~4.12",
|
|
@@ -110,6 +106,9 @@
|
|
|
110
106
|
"webextension-polyfill": "^0.12",
|
|
111
107
|
"zod": "^4.4"
|
|
112
108
|
},
|
|
109
|
+
"engines": {
|
|
110
|
+
"node": "^24"
|
|
111
|
+
},
|
|
113
112
|
"publishConfig": {
|
|
114
113
|
"access": "public"
|
|
115
114
|
}
|