@xyo-network/diviner-schema-stats 6.0.0 → 6.0.2

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.
@@ -1,5 +1,5 @@
1
1
  import type { DivinerConfig } from '@xyo-network/diviner-model';
2
- import { type Payload } from '@xyo-network/payload-model';
2
+ import { type Payload } from '@xyo-network/sdk-protocol-js';
3
3
  export declare const SchemaStatsDivinerConfigSchema: string & {
4
4
  readonly __schema: true;
5
5
  };
@@ -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,4BAA4B,CAAA;AAInE,eAAO,MAAM,8BAA8B;;CAAuD,CAAA;AAClG,MAAM,MAAM,8BAA8B,GAAG,OAAO,8BAA8B,CAAA;AAElF,MAAM,MAAM,wBAAwB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,IAAI,aAAa,CAC/E,CAAC,GAAG;IACF,MAAM,EAAE,8BAA8B,CAAA;CACvC,CACF,CAAA"}
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;AAIrE,eAAO,MAAM,8BAA8B;;CAAuD,CAAA;AAClG,MAAM,MAAM,8BAA8B,GAAG,OAAO,8BAA8B,CAAA;AAElF,MAAM,MAAM,wBAAwB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,IAAI,aAAa,CAC/E,CAAC,GAAG;IACF,MAAM,EAAE,8BAA8B,CAAA;CACvC,CACF,CAAA"}
@@ -1,11 +1,10 @@
1
- import type { Address } from '@xylabs/sdk-js';
2
- import { type Payload, type Schema } from '@xyo-network/payload-model';
1
+ import { type Payload, type Schema, type XyoAddress } from '@xyo-network/sdk-protocol-js';
3
2
  import type { SchemaStatsDivinerParams } from './Params.ts';
4
3
  import { SchemaStatsDiviner } from './SchemaStatsDiviner.ts';
5
4
  export declare class MemorySchemaStatsDiviner<TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams> extends SchemaStatsDiviner<TParams> {
6
5
  static readonly configSchemas: Schema[];
7
6
  static readonly defaultConfigSchema: Schema;
8
- protected divineAddress(address: Address): Promise<Record<string, number>>;
7
+ protected divineAddress(address: XyoAddress): Promise<Record<string, number>>;
9
8
  protected divineAllAddresses(): Promise<Record<string, number>>;
10
9
  protected divineHandler(payloads?: Payload[]): Promise<Payload[]>;
11
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MemorySchemaStatsDiviner.d.ts","sourceRoot":"","sources":["../../src/MemorySchemaStatsDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAI7C,OAAO,EACU,KAAK,OAAO,EAAE,KAAK,MAAM,EACzC,MAAM,4BAA4B,CAAA;AAGnC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAK3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D,qBAAa,wBAAwB,CAAC,OAAO,SAAS,wBAAwB,GAAG,wBAAwB,CAAE,SAAQ,kBAAkB,CAAC,OAAO,CAAC;IAC5I,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA2D;IAC3G,gBAAyB,mBAAmB,EAAE,MAAM,CAAiC;cAErE,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;cAiBhE,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;cAc5C,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAcjF"}
1
+ {"version":3,"file":"MemorySchemaStatsDiviner.d.ts","sourceRoot":"","sources":["../../src/MemorySchemaStatsDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,EACU,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,UAAU,EAC1D,MAAM,8BAA8B,CAAA;AAGrC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAK3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D,qBAAa,wBAAwB,CAAC,OAAO,SAAS,wBAAwB,GAAG,wBAAwB,CAAE,SAAQ,kBAAkB,CAAC,OAAO,CAAC;IAC5I,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA2D;IAC3G,gBAAyB,mBAAmB,EAAE,MAAM,CAAiC;cAErE,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;cAiBnE,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;cAc5C,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAYjF"}
@@ -1,4 +1,4 @@
1
- import type { Payload } from '@xyo-network/payload-model';
1
+ import type { Payload } from '@xyo-network/sdk-protocol-js';
2
2
  import { SchemaStatsDivinerSchema } from './Schema.ts';
3
3
  export type SchemaStatsPayload = Payload<{
4
4
  count: Record<string, number>;
@@ -1 +1 @@
1
- {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAEtD,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,wBAAwB,CAAA;CACjC,CAAC,CAAA;AAEF,eAAO,MAAM,oBAAoB,GAAI,IAAI,OAAO,GAAG,IAAI,KAAG,CAAC,IAAI,kBAA4D,CAAA"}
1
+ {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAE3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAEtD,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,wBAAwB,CAAA;CACjC,CAAC,CAAA;AAEF,eAAO,MAAM,oBAAoB,GAAI,IAAI,OAAO,GAAG,IAAI,KAAG,CAAC,IAAI,kBAA4D,CAAA"}
@@ -1,4 +1,4 @@
1
- import { type Payload, type Query } from '@xyo-network/payload-model';
1
+ import { type Payload, type Query } from '@xyo-network/sdk-protocol-js';
2
2
  export declare const SchemaStatsQuerySchema: string & {
3
3
  readonly __schema: true;
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Query.d.ts","sourceRoot":"","sources":["../../src/Query.ts"],"names":[],"mappings":"AAAA,OAAO,EACK,KAAK,OAAO,EAAE,KAAK,KAAK,EACnC,MAAM,4BAA4B,CAAA;AAInC,eAAO,MAAM,sBAAsB;;CAAsD,CAAA;AACzF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAA;AAElE,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC;IAAE,MAAM,EAAE,sBAAsB,CAAA;CAAE,CAAC,CAAA;AAC/E,eAAO,MAAM,yBAAyB,GAAI,IAAI,OAAO,GAAG,IAAI,KAAG,CAAC,IAAI,uBAA+D,CAAA"}
1
+ {"version":3,"file":"Query.d.ts","sourceRoot":"","sources":["../../src/Query.ts"],"names":[],"mappings":"AAAA,OAAO,EACK,KAAK,OAAO,EAAE,KAAK,KAAK,EACnC,MAAM,8BAA8B,CAAA;AAIrC,eAAO,MAAM,sBAAsB;;CAAsD,CAAA;AACzF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAA;AAElE,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC;IAAE,MAAM,EAAE,sBAAsB,CAAA;CAAE,CAAC,CAAA;AAC/E,eAAO,MAAM,yBAAyB,GAAI,IAAI,OAAO,GAAG,IAAI,KAAG,CAAC,IAAI,uBAA+D,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { AbstractDiviner } from '@xyo-network/diviner-abstract';
2
2
  import type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model';
3
- import type { Payload } from '@xyo-network/payload-model';
3
+ import type { Payload } from '@xyo-network/sdk-protocol-js';
4
4
  import type { SchemaStatsDivinerParams } from './Params.ts';
5
5
  export declare abstract class SchemaStatsDiviner<TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams, TIn extends Payload = Payload, TOut extends Payload = Payload, TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut>> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaStatsDiviner.d.ts","sourceRoot":"","sources":["../../src/SchemaStatsDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACzF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAE3D,8BAAsB,kBAAkB,CACtC,OAAO,SAAS,wBAAwB,GAAG,wBAAwB,EACnE,GAAG,SAAS,OAAO,GAAG,OAAO,EAC7B,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CACD,SAAQ,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;CAAG"}
1
+ {"version":3,"file":"SchemaStatsDiviner.d.ts","sourceRoot":"","sources":["../../src/SchemaStatsDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACzF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAE3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAE3D,8BAAsB,kBAAkB,CACtC,OAAO,SAAS,wBAAwB,GAAG,wBAAwB,EACnE,GAAG,SAAS,OAAO,GAAG,OAAO,EAC7B,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CACD,SAAQ,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;CAAG"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/SchemaStatsDiviner.ts"],
4
- "sourcesContent": ["import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport type { Payload } from '@xyo-network/payload-model'\n\nimport type { SchemaStatsDivinerParams } from './Params.ts'\n\nexport abstract class SchemaStatsDiviner<\n TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {}\n"],
4
+ "sourcesContent": ["import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport type { Payload } from '@xyo-network/sdk-protocol-js'\n\nimport type { SchemaStatsDivinerParams } from './Params.ts'\n\nexport abstract class SchemaStatsDiviner<\n TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {}\n"],
5
5
  "mappings": ";AAAA,SAAS,uBAAuB;AAMzB,IAAe,qBAAf,cASG,gBAAgD;AAAC;",
6
6
  "names": []
7
7
  }
@@ -5,17 +5,16 @@ var SchemaStatsDiviner = class extends AbstractDiviner {
5
5
 
6
6
  // src/MemorySchemaStatsDiviner.ts
7
7
  import { assertEx } from "@xylabs/sdk-js";
8
- import { isBoundWitness } from "@xyo-network/boundwitness-model";
9
- import { PayloadBuilder } from "@xyo-network/payload-builder";
8
+ import { isBoundWitness, PayloadBuilder } from "@xyo-network/sdk-protocol-js";
10
9
  import {
11
10
  isStorageMeta
12
- } from "@xyo-network/payload-model";
11
+ } from "@xyo-network/sdk-protocol-js";
13
12
 
14
13
  // src/Config.ts
15
- import { asSchema as asSchema2 } from "@xyo-network/payload-model";
14
+ import { asSchema as asSchema2 } from "@xyo-network/sdk-protocol-js";
16
15
 
17
16
  // src/Schema.ts
18
- import { asSchema } from "@xyo-network/payload-model";
17
+ import { asSchema } from "@xyo-network/sdk-protocol-js";
19
18
  var SchemaStatsDivinerSchema = asSchema("network.xyo.diviner.schema.stats", true);
20
19
 
21
20
  // src/Config.ts
@@ -24,7 +23,7 @@ var SchemaStatsDivinerConfigSchema = asSchema2(`${SchemaStatsDivinerSchema}.conf
24
23
  // src/Query.ts
25
24
  import {
26
25
  asSchema as asSchema3
27
- } from "@xyo-network/payload-model";
26
+ } from "@xyo-network/sdk-protocol-js";
28
27
  var SchemaStatsQuerySchema = asSchema3(`${SchemaStatsDivinerSchema}.query`, true);
29
28
  var isSchemaStatsQueryPayload = (x) => x?.schema === SchemaStatsQuerySchema;
30
29
 
@@ -62,9 +61,7 @@ var MemorySchemaStatsDiviner = class extends SchemaStatsDiviner {
62
61
  if (!query) return [];
63
62
  const addresses = query?.address ? Array.isArray(query?.address) ? query.address : [query.address] : void 0;
64
63
  const counts = addresses ? await Promise.all(addresses.map((address) => this.divineAddress(address))) : [await this.divineAllAddresses()];
65
- return await Promise.all(
66
- counts.map((count) => new PayloadBuilder({ schema: SchemaStatsDivinerSchema }).fields({ count }).build())
67
- );
64
+ return counts.map((count) => new PayloadBuilder({ schema: SchemaStatsDivinerSchema }).fields({ count }).build());
68
65
  }
69
66
  };
70
67
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/SchemaStatsDiviner.ts", "../../src/MemorySchemaStatsDiviner.ts", "../../src/Config.ts", "../../src/Schema.ts", "../../src/Query.ts", "../../src/Payload.ts"],
4
- "sourcesContent": ["import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport type { Payload } from '@xyo-network/payload-model'\n\nimport type { SchemaStatsDivinerParams } from './Params.ts'\n\nexport abstract class SchemaStatsDiviner<\n TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {}\n", "import type { Address } from '@xylabs/sdk-js'\nimport { assertEx } from '@xylabs/sdk-js'\nimport { isBoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport {\n isStorageMeta, type Payload, type Schema,\n} from '@xyo-network/payload-model'\n\nimport { SchemaStatsDivinerConfigSchema } from './Config.ts'\nimport type { SchemaStatsDivinerParams } from './Params.ts'\nimport type { SchemaStatsPayload } from './Payload.ts'\nimport type { SchemaStatsQueryPayload } from './Query.ts'\nimport { isSchemaStatsQueryPayload } from './Query.ts'\nimport { SchemaStatsDivinerSchema } from './Schema.ts'\nimport { SchemaStatsDiviner } from './SchemaStatsDiviner.ts'\n\nexport class MemorySchemaStatsDiviner<TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams> extends SchemaStatsDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, SchemaStatsDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = SchemaStatsDivinerConfigSchema\n\n protected async divineAddress(address: Address): Promise<Record<string, number>> {\n const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const all = await archivist.next({ limit: 20_000 })\n const filtered = all\n .filter(x => isBoundWitness(x) && isStorageMeta(x))\n .filter(bw => bw.addresses.includes(address))\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = filtered.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected async divineAllAddresses(): Promise<Record<string, number>> {\n const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const all = await archivist.next({ limit: 20_000 })\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = all.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const query = payloads?.find<SchemaStatsQueryPayload>(isSchemaStatsQueryPayload)\n if (!query) return []\n const addresses\n = query?.address\n ? Array.isArray(query?.address)\n ? query.address\n : [query.address]\n : undefined\n const counts = addresses ? await Promise.all(addresses.map(address => this.divineAddress(address))) : [await this.divineAllAddresses()]\n return await Promise.all(\n counts.map(count => new PayloadBuilder<SchemaStatsPayload>({ schema: SchemaStatsDivinerSchema }).fields({ count }).build()),\n )\n }\n}\n", "import type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { asSchema, type Payload } from '@xyo-network/payload-model'\n\nimport { SchemaStatsDivinerSchema } from './Schema.ts'\n\nexport const SchemaStatsDivinerConfigSchema = asSchema(`${SchemaStatsDivinerSchema}.config`, true)\nexport type SchemaStatsDivinerConfigSchema = typeof SchemaStatsDivinerConfigSchema\n\nexport type SchemaStatsDivinerConfig<T extends Payload = Payload> = DivinerConfig<\n T & {\n schema: SchemaStatsDivinerConfigSchema\n }\n>\n", "import { asSchema } from '@xyo-network/payload-model'\n\nexport const SchemaStatsDivinerSchema = asSchema('network.xyo.diviner.schema.stats', true)\nexport type SchemaStatsDivinerSchema = typeof SchemaStatsDivinerSchema\n", "import {\n asSchema, type Payload, type Query,\n} from '@xyo-network/payload-model'\n\nimport { SchemaStatsDivinerSchema } from './Schema.ts'\n\nexport const SchemaStatsQuerySchema = asSchema(`${SchemaStatsDivinerSchema}.query`, true)\nexport type SchemaStatsQuerySchema = typeof SchemaStatsQuerySchema\n\nexport type SchemaStatsQueryPayload = Query<{ schema: SchemaStatsQuerySchema }>\nexport const isSchemaStatsQueryPayload = (x?: Payload | null): x is SchemaStatsQueryPayload => x?.schema === SchemaStatsQuerySchema\n", "import type { Payload } from '@xyo-network/payload-model'\n\nimport { SchemaStatsDivinerSchema } from './Schema.ts'\n\nexport type SchemaStatsPayload = Payload<{\n count: Record<string, number>\n // the name of the schema that the count is for. If name is undefined, then it is the count for all schemas\n name?: string\n schema: SchemaStatsDivinerSchema\n}>\n\nexport const isSchemaStatsPayload = (x?: Payload | null): x is SchemaStatsPayload => x?.schema === SchemaStatsDivinerSchema\n"],
5
- "mappings": ";AAAA,SAAS,uBAAuB;AAMzB,IAAe,qBAAf,cASG,gBAAgD;AAAC;;;ACd3D,SAAS,gBAAgB;AACzB,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAC/B;AAAA,EACE;AAAA,OACK;;;ACLP,SAAS,YAAAA,iBAA8B;;;ACDvC,SAAS,gBAAgB;AAElB,IAAM,2BAA2B,SAAS,oCAAoC,IAAI;;;ADGlF,IAAM,iCAAiCC,UAAS,GAAG,wBAAwB,WAAW,IAAI;;;AELjG;AAAA,EACE,YAAAC;AAAA,OACK;AAIA,IAAM,yBAAyBC,UAAS,GAAG,wBAAwB,UAAU,IAAI;AAIjF,IAAM,4BAA4B,CAAC,MAAqD,GAAG,WAAW;;;AHMtG,IAAM,2BAAN,cAA4G,mBAA4B;AAAA,EAC7I,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,8BAA8B;AAAA,EAC1G,OAAyB,sBAA8B;AAAA,EAEvD,MAAgB,cAAc,SAAmD;AAC/E,UAAM,YAAY,SAAS,MAAM,KAAK,kBAAkB,GAAG,MAAM,6BAA6B;AAC9F,UAAM,MAAM,MAAM,UAAU,KAAK,EAAE,OAAO,IAAO,CAAC;AAClD,UAAM,WAAW,IACd,OAAO,OAAK,eAAe,CAAC,KAAK,cAAc,CAAC,CAAC,EACjD,OAAO,QAAM,GAAG,UAAU,SAAS,OAAO,CAAC;AAE9C,UAAM,SAAiC,SAAS;AAAA,MAC9C,CAAC,KAAK,YAAY;AAChB,YAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI;AACtE,eAAO;AAAA,MACT;AAAA,MACA,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAgB,qBAAsD;AACpE,UAAM,YAAY,SAAS,MAAM,KAAK,kBAAkB,GAAG,MAAM,6BAA6B;AAC9F,UAAM,MAAM,MAAM,UAAU,KAAK,EAAE,OAAO,IAAO,CAAC;AAElD,UAAM,SAAiC,IAAI;AAAA,MACzC,CAAC,KAAK,YAAY;AAChB,YAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI;AACtE,eAAO;AAAA,MACT;AAAA,MACA,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAyB,cAAc,UAA0C;AAC/E,UAAM,QAAQ,UAAU,KAA8B,yBAAyB;AAC/E,QAAI,CAAC,MAAO,QAAO,CAAC;AACpB,UAAM,YACF,OAAO,UACL,MAAM,QAAQ,OAAO,OAAO,IAC1B,MAAM,UACN,CAAC,MAAM,OAAO,IAChB;AACN,UAAM,SAAS,YAAY,MAAM,QAAQ,IAAI,UAAU,IAAI,aAAW,KAAK,cAAc,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,mBAAmB,CAAC;AACtI,WAAO,MAAM,QAAQ;AAAA,MACnB,OAAO,IAAI,WAAS,IAAI,eAAmC,EAAE,QAAQ,yBAAyB,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC;AAAA,IAC5H;AAAA,EACF;AACF;;;AItDO,IAAM,uBAAuB,CAAC,MAAgD,GAAG,WAAW;",
4
+ "sourcesContent": ["import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport type { Payload } from '@xyo-network/sdk-protocol-js'\n\nimport type { SchemaStatsDivinerParams } from './Params.ts'\n\nexport abstract class SchemaStatsDiviner<\n TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {}\n", "import { assertEx } from '@xylabs/sdk-js'\nimport { isBoundWitness, PayloadBuilder } from '@xyo-network/sdk-protocol-js'\nimport {\n isStorageMeta, type Payload, type Schema, type XyoAddress,\n} from '@xyo-network/sdk-protocol-js'\n\nimport { SchemaStatsDivinerConfigSchema } from './Config.ts'\nimport type { SchemaStatsDivinerParams } from './Params.ts'\nimport type { SchemaStatsPayload } from './Payload.ts'\nimport type { SchemaStatsQueryPayload } from './Query.ts'\nimport { isSchemaStatsQueryPayload } from './Query.ts'\nimport { SchemaStatsDivinerSchema } from './Schema.ts'\nimport { SchemaStatsDiviner } from './SchemaStatsDiviner.ts'\n\nexport class MemorySchemaStatsDiviner<TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams> extends SchemaStatsDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, SchemaStatsDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = SchemaStatsDivinerConfigSchema\n\n protected async divineAddress(address: XyoAddress): Promise<Record<string, number>> {\n const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const all = await archivist.next({ limit: 20_000 })\n const filtered = all\n .filter(x => isBoundWitness(x) && isStorageMeta(x))\n .filter(bw => bw.addresses.includes(address))\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = filtered.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected async divineAllAddresses(): Promise<Record<string, number>> {\n const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const all = await archivist.next({ limit: 20_000 })\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = all.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const query = payloads?.find<SchemaStatsQueryPayload>(isSchemaStatsQueryPayload)\n if (!query) return []\n const addresses\n = query?.address\n ? Array.isArray(query?.address)\n ? query.address\n : [query.address]\n : undefined\n const counts = addresses ? await Promise.all(addresses.map(address => this.divineAddress(address))) : [await this.divineAllAddresses()]\n return counts.map(count => new PayloadBuilder<SchemaStatsPayload>({ schema: SchemaStatsDivinerSchema }).fields({ count }).build())\n }\n}\n", "import type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { asSchema, type Payload } from '@xyo-network/sdk-protocol-js'\n\nimport { SchemaStatsDivinerSchema } from './Schema.ts'\n\nexport const SchemaStatsDivinerConfigSchema = asSchema(`${SchemaStatsDivinerSchema}.config`, true)\nexport type SchemaStatsDivinerConfigSchema = typeof SchemaStatsDivinerConfigSchema\n\nexport type SchemaStatsDivinerConfig<T extends Payload = Payload> = DivinerConfig<\n T & {\n schema: SchemaStatsDivinerConfigSchema\n }\n>\n", "import { asSchema } from '@xyo-network/sdk-protocol-js'\n\nexport const SchemaStatsDivinerSchema = asSchema('network.xyo.diviner.schema.stats', true)\nexport type SchemaStatsDivinerSchema = typeof SchemaStatsDivinerSchema\n", "import {\n asSchema, type Payload, type Query,\n} from '@xyo-network/sdk-protocol-js'\n\nimport { SchemaStatsDivinerSchema } from './Schema.ts'\n\nexport const SchemaStatsQuerySchema = asSchema(`${SchemaStatsDivinerSchema}.query`, true)\nexport type SchemaStatsQuerySchema = typeof SchemaStatsQuerySchema\n\nexport type SchemaStatsQueryPayload = Query<{ schema: SchemaStatsQuerySchema }>\nexport const isSchemaStatsQueryPayload = (x?: Payload | null): x is SchemaStatsQueryPayload => x?.schema === SchemaStatsQuerySchema\n", "import type { Payload } from '@xyo-network/sdk-protocol-js'\n\nimport { SchemaStatsDivinerSchema } from './Schema.ts'\n\nexport type SchemaStatsPayload = Payload<{\n count: Record<string, number>\n // the name of the schema that the count is for. If name is undefined, then it is the count for all schemas\n name?: string\n schema: SchemaStatsDivinerSchema\n}>\n\nexport const isSchemaStatsPayload = (x?: Payload | null): x is SchemaStatsPayload => x?.schema === SchemaStatsDivinerSchema\n"],
5
+ "mappings": ";AAAA,SAAS,uBAAuB;AAMzB,IAAe,qBAAf,cASG,gBAAgD;AAAC;;;ACf3D,SAAS,gBAAgB;AACzB,SAAS,gBAAgB,sBAAsB;AAC/C;AAAA,EACE;AAAA,OACK;;;ACHP,SAAS,YAAAA,iBAA8B;;;ACDvC,SAAS,gBAAgB;AAElB,IAAM,2BAA2B,SAAS,oCAAoC,IAAI;;;ADGlF,IAAM,iCAAiCC,UAAS,GAAG,wBAAwB,WAAW,IAAI;;;AELjG;AAAA,EACE,YAAAC;AAAA,OACK;AAIA,IAAM,yBAAyBC,UAAS,GAAG,wBAAwB,UAAU,IAAI;AAIjF,IAAM,4BAA4B,CAAC,MAAqD,GAAG,WAAW;;;AHItG,IAAM,2BAAN,cAA4G,mBAA4B;AAAA,EAC7I,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,8BAA8B;AAAA,EAC1G,OAAyB,sBAA8B;AAAA,EAEvD,MAAgB,cAAc,SAAsD;AAClF,UAAM,YAAY,SAAS,MAAM,KAAK,kBAAkB,GAAG,MAAM,6BAA6B;AAC9F,UAAM,MAAM,MAAM,UAAU,KAAK,EAAE,OAAO,IAAO,CAAC;AAClD,UAAM,WAAW,IACd,OAAO,OAAK,eAAe,CAAC,KAAK,cAAc,CAAC,CAAC,EACjD,OAAO,QAAM,GAAG,UAAU,SAAS,OAAO,CAAC;AAE9C,UAAM,SAAiC,SAAS;AAAA,MAC9C,CAAC,KAAK,YAAY;AAChB,YAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI;AACtE,eAAO;AAAA,MACT;AAAA,MACA,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAgB,qBAAsD;AACpE,UAAM,YAAY,SAAS,MAAM,KAAK,kBAAkB,GAAG,MAAM,6BAA6B;AAC9F,UAAM,MAAM,MAAM,UAAU,KAAK,EAAE,OAAO,IAAO,CAAC;AAElD,UAAM,SAAiC,IAAI;AAAA,MACzC,CAAC,KAAK,YAAY;AAChB,YAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI;AACtE,eAAO;AAAA,MACT;AAAA,MACA,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAyB,cAAc,UAA0C;AAC/E,UAAM,QAAQ,UAAU,KAA8B,yBAAyB;AAC/E,QAAI,CAAC,MAAO,QAAO,CAAC;AACpB,UAAM,YACF,OAAO,UACL,MAAM,QAAQ,OAAO,OAAO,IAC1B,MAAM,UACN,CAAC,MAAM,OAAO,IAChB;AACN,UAAM,SAAS,YAAY,MAAM,QAAQ,IAAI,UAAU,IAAI,aAAW,KAAK,cAAc,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,mBAAmB,CAAC;AACtI,WAAO,OAAO,IAAI,WAAS,IAAI,eAAmC,EAAE,QAAQ,yBAAyB,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC;AAAA,EACnI;AACF;;;AIlDO,IAAM,uBAAuB,CAAC,MAAgD,GAAG,WAAW;",
6
6
  "names": ["asSchema", "asSchema", "asSchema", "asSchema"]
7
7
  }
@@ -1,16 +1,15 @@
1
1
  // src/MemorySchemaStatsDiviner.ts
2
2
  import { assertEx } from "@xylabs/sdk-js";
3
- import { isBoundWitness } from "@xyo-network/boundwitness-model";
4
- import { PayloadBuilder } from "@xyo-network/payload-builder";
3
+ import { isBoundWitness, PayloadBuilder } from "@xyo-network/sdk-protocol-js";
5
4
  import {
6
5
  isStorageMeta
7
- } from "@xyo-network/payload-model";
6
+ } from "@xyo-network/sdk-protocol-js";
8
7
 
9
8
  // src/Config.ts
10
- import { asSchema as asSchema2 } from "@xyo-network/payload-model";
9
+ import { asSchema as asSchema2 } from "@xyo-network/sdk-protocol-js";
11
10
 
12
11
  // src/Schema.ts
13
- import { asSchema } from "@xyo-network/payload-model";
12
+ import { asSchema } from "@xyo-network/sdk-protocol-js";
14
13
  var SchemaStatsDivinerSchema = asSchema("network.xyo.diviner.schema.stats", true);
15
14
 
16
15
  // src/Config.ts
@@ -19,7 +18,7 @@ var SchemaStatsDivinerConfigSchema = asSchema2(`${SchemaStatsDivinerSchema}.conf
19
18
  // src/Query.ts
20
19
  import {
21
20
  asSchema as asSchema3
22
- } from "@xyo-network/payload-model";
21
+ } from "@xyo-network/sdk-protocol-js";
23
22
  var SchemaStatsQuerySchema = asSchema3(`${SchemaStatsDivinerSchema}.query`, true);
24
23
  var isSchemaStatsQueryPayload = (x) => x?.schema === SchemaStatsQuerySchema;
25
24
 
@@ -62,9 +61,7 @@ var MemorySchemaStatsDiviner = class extends SchemaStatsDiviner {
62
61
  if (!query) return [];
63
62
  const addresses = query?.address ? Array.isArray(query?.address) ? query.address : [query.address] : void 0;
64
63
  const counts = addresses ? await Promise.all(addresses.map((address) => this.divineAddress(address))) : [await this.divineAllAddresses()];
65
- return await Promise.all(
66
- counts.map((count) => new PayloadBuilder({ schema: SchemaStatsDivinerSchema }).fields({ count }).build())
67
- );
64
+ return counts.map((count) => new PayloadBuilder({ schema: SchemaStatsDivinerSchema }).fields({ count }).build());
68
65
  }
69
66
  };
70
67
  export {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/MemorySchemaStatsDiviner.ts", "../../src/Config.ts", "../../src/Schema.ts", "../../src/Query.ts", "../../src/SchemaStatsDiviner.ts"],
4
- "sourcesContent": ["import type { Address } from '@xylabs/sdk-js'\nimport { assertEx } from '@xylabs/sdk-js'\nimport { isBoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport {\n isStorageMeta, type Payload, type Schema,\n} from '@xyo-network/payload-model'\n\nimport { SchemaStatsDivinerConfigSchema } from './Config.ts'\nimport type { SchemaStatsDivinerParams } from './Params.ts'\nimport type { SchemaStatsPayload } from './Payload.ts'\nimport type { SchemaStatsQueryPayload } from './Query.ts'\nimport { isSchemaStatsQueryPayload } from './Query.ts'\nimport { SchemaStatsDivinerSchema } from './Schema.ts'\nimport { SchemaStatsDiviner } from './SchemaStatsDiviner.ts'\n\nexport class MemorySchemaStatsDiviner<TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams> extends SchemaStatsDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, SchemaStatsDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = SchemaStatsDivinerConfigSchema\n\n protected async divineAddress(address: Address): Promise<Record<string, number>> {\n const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const all = await archivist.next({ limit: 20_000 })\n const filtered = all\n .filter(x => isBoundWitness(x) && isStorageMeta(x))\n .filter(bw => bw.addresses.includes(address))\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = filtered.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected async divineAllAddresses(): Promise<Record<string, number>> {\n const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const all = await archivist.next({ limit: 20_000 })\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = all.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const query = payloads?.find<SchemaStatsQueryPayload>(isSchemaStatsQueryPayload)\n if (!query) return []\n const addresses\n = query?.address\n ? Array.isArray(query?.address)\n ? query.address\n : [query.address]\n : undefined\n const counts = addresses ? await Promise.all(addresses.map(address => this.divineAddress(address))) : [await this.divineAllAddresses()]\n return await Promise.all(\n counts.map(count => new PayloadBuilder<SchemaStatsPayload>({ schema: SchemaStatsDivinerSchema }).fields({ count }).build()),\n )\n }\n}\n", "import type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { asSchema, type Payload } from '@xyo-network/payload-model'\n\nimport { SchemaStatsDivinerSchema } from './Schema.ts'\n\nexport const SchemaStatsDivinerConfigSchema = asSchema(`${SchemaStatsDivinerSchema}.config`, true)\nexport type SchemaStatsDivinerConfigSchema = typeof SchemaStatsDivinerConfigSchema\n\nexport type SchemaStatsDivinerConfig<T extends Payload = Payload> = DivinerConfig<\n T & {\n schema: SchemaStatsDivinerConfigSchema\n }\n>\n", "import { asSchema } from '@xyo-network/payload-model'\n\nexport const SchemaStatsDivinerSchema = asSchema('network.xyo.diviner.schema.stats', true)\nexport type SchemaStatsDivinerSchema = typeof SchemaStatsDivinerSchema\n", "import {\n asSchema, type Payload, type Query,\n} from '@xyo-network/payload-model'\n\nimport { SchemaStatsDivinerSchema } from './Schema.ts'\n\nexport const SchemaStatsQuerySchema = asSchema(`${SchemaStatsDivinerSchema}.query`, true)\nexport type SchemaStatsQuerySchema = typeof SchemaStatsQuerySchema\n\nexport type SchemaStatsQueryPayload = Query<{ schema: SchemaStatsQuerySchema }>\nexport const isSchemaStatsQueryPayload = (x?: Payload | null): x is SchemaStatsQueryPayload => x?.schema === SchemaStatsQuerySchema\n", "import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport type { Payload } from '@xyo-network/payload-model'\n\nimport type { SchemaStatsDivinerParams } from './Params.ts'\n\nexport abstract class SchemaStatsDiviner<\n TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {}\n"],
5
- "mappings": ";AACA,SAAS,gBAAgB;AACzB,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAC/B;AAAA,EACE;AAAA,OACK;;;ACLP,SAAS,YAAAA,iBAA8B;;;ACDvC,SAAS,gBAAgB;AAElB,IAAM,2BAA2B,SAAS,oCAAoC,IAAI;;;ADGlF,IAAM,iCAAiCC,UAAS,GAAG,wBAAwB,WAAW,IAAI;;;AELjG;AAAA,EACE,YAAAC;AAAA,OACK;AAIA,IAAM,yBAAyBC,UAAS,GAAG,wBAAwB,UAAU,IAAI;AAIjF,IAAM,4BAA4B,CAAC,MAAqD,GAAG,WAAW;;;ACV7G,SAAS,uBAAuB;AAMzB,IAAe,qBAAf,cASG,gBAAgD;AAAC;;;AJCpD,IAAM,2BAAN,cAA4G,mBAA4B;AAAA,EAC7I,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,8BAA8B;AAAA,EAC1G,OAAyB,sBAA8B;AAAA,EAEvD,MAAgB,cAAc,SAAmD;AAC/E,UAAM,YAAY,SAAS,MAAM,KAAK,kBAAkB,GAAG,MAAM,6BAA6B;AAC9F,UAAM,MAAM,MAAM,UAAU,KAAK,EAAE,OAAO,IAAO,CAAC;AAClD,UAAM,WAAW,IACd,OAAO,OAAK,eAAe,CAAC,KAAK,cAAc,CAAC,CAAC,EACjD,OAAO,QAAM,GAAG,UAAU,SAAS,OAAO,CAAC;AAE9C,UAAM,SAAiC,SAAS;AAAA,MAC9C,CAAC,KAAK,YAAY;AAChB,YAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI;AACtE,eAAO;AAAA,MACT;AAAA,MACA,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAgB,qBAAsD;AACpE,UAAM,YAAY,SAAS,MAAM,KAAK,kBAAkB,GAAG,MAAM,6BAA6B;AAC9F,UAAM,MAAM,MAAM,UAAU,KAAK,EAAE,OAAO,IAAO,CAAC;AAElD,UAAM,SAAiC,IAAI;AAAA,MACzC,CAAC,KAAK,YAAY;AAChB,YAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI;AACtE,eAAO;AAAA,MACT;AAAA,MACA,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAyB,cAAc,UAA0C;AAC/E,UAAM,QAAQ,UAAU,KAA8B,yBAAyB;AAC/E,QAAI,CAAC,MAAO,QAAO,CAAC;AACpB,UAAM,YACF,OAAO,UACL,MAAM,QAAQ,OAAO,OAAO,IAC1B,MAAM,UACN,CAAC,MAAM,OAAO,IAChB;AACN,UAAM,SAAS,YAAY,MAAM,QAAQ,IAAI,UAAU,IAAI,aAAW,KAAK,cAAc,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,mBAAmB,CAAC;AACtI,WAAO,MAAM,QAAQ;AAAA,MACnB,OAAO,IAAI,WAAS,IAAI,eAAmC,EAAE,QAAQ,yBAAyB,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC;AAAA,IAC5H;AAAA,EACF;AACF;",
4
+ "sourcesContent": ["import { assertEx } from '@xylabs/sdk-js'\nimport { isBoundWitness, PayloadBuilder } from '@xyo-network/sdk-protocol-js'\nimport {\n isStorageMeta, type Payload, type Schema, type XyoAddress,\n} from '@xyo-network/sdk-protocol-js'\n\nimport { SchemaStatsDivinerConfigSchema } from './Config.ts'\nimport type { SchemaStatsDivinerParams } from './Params.ts'\nimport type { SchemaStatsPayload } from './Payload.ts'\nimport type { SchemaStatsQueryPayload } from './Query.ts'\nimport { isSchemaStatsQueryPayload } from './Query.ts'\nimport { SchemaStatsDivinerSchema } from './Schema.ts'\nimport { SchemaStatsDiviner } from './SchemaStatsDiviner.ts'\n\nexport class MemorySchemaStatsDiviner<TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams> extends SchemaStatsDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, SchemaStatsDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = SchemaStatsDivinerConfigSchema\n\n protected async divineAddress(address: XyoAddress): Promise<Record<string, number>> {\n const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const all = await archivist.next({ limit: 20_000 })\n const filtered = all\n .filter(x => isBoundWitness(x) && isStorageMeta(x))\n .filter(bw => bw.addresses.includes(address))\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = filtered.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected async divineAllAddresses(): Promise<Record<string, number>> {\n const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const all = await archivist.next({ limit: 20_000 })\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = all.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const query = payloads?.find<SchemaStatsQueryPayload>(isSchemaStatsQueryPayload)\n if (!query) return []\n const addresses\n = query?.address\n ? Array.isArray(query?.address)\n ? query.address\n : [query.address]\n : undefined\n const counts = addresses ? await Promise.all(addresses.map(address => this.divineAddress(address))) : [await this.divineAllAddresses()]\n return counts.map(count => new PayloadBuilder<SchemaStatsPayload>({ schema: SchemaStatsDivinerSchema }).fields({ count }).build())\n }\n}\n", "import type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { asSchema, type Payload } from '@xyo-network/sdk-protocol-js'\n\nimport { SchemaStatsDivinerSchema } from './Schema.ts'\n\nexport const SchemaStatsDivinerConfigSchema = asSchema(`${SchemaStatsDivinerSchema}.config`, true)\nexport type SchemaStatsDivinerConfigSchema = typeof SchemaStatsDivinerConfigSchema\n\nexport type SchemaStatsDivinerConfig<T extends Payload = Payload> = DivinerConfig<\n T & {\n schema: SchemaStatsDivinerConfigSchema\n }\n>\n", "import { asSchema } from '@xyo-network/sdk-protocol-js'\n\nexport const SchemaStatsDivinerSchema = asSchema('network.xyo.diviner.schema.stats', true)\nexport type SchemaStatsDivinerSchema = typeof SchemaStatsDivinerSchema\n", "import {\n asSchema, type Payload, type Query,\n} from '@xyo-network/sdk-protocol-js'\n\nimport { SchemaStatsDivinerSchema } from './Schema.ts'\n\nexport const SchemaStatsQuerySchema = asSchema(`${SchemaStatsDivinerSchema}.query`, true)\nexport type SchemaStatsQuerySchema = typeof SchemaStatsQuerySchema\n\nexport type SchemaStatsQueryPayload = Query<{ schema: SchemaStatsQuerySchema }>\nexport const isSchemaStatsQueryPayload = (x?: Payload | null): x is SchemaStatsQueryPayload => x?.schema === SchemaStatsQuerySchema\n", "import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport type { Payload } from '@xyo-network/sdk-protocol-js'\n\nimport type { SchemaStatsDivinerParams } from './Params.ts'\n\nexport abstract class SchemaStatsDiviner<\n TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {}\n"],
5
+ "mappings": ";AAAA,SAAS,gBAAgB;AACzB,SAAS,gBAAgB,sBAAsB;AAC/C;AAAA,EACE;AAAA,OACK;;;ACHP,SAAS,YAAAA,iBAA8B;;;ACDvC,SAAS,gBAAgB;AAElB,IAAM,2BAA2B,SAAS,oCAAoC,IAAI;;;ADGlF,IAAM,iCAAiCC,UAAS,GAAG,wBAAwB,WAAW,IAAI;;;AELjG;AAAA,EACE,YAAAC;AAAA,OACK;AAIA,IAAM,yBAAyBC,UAAS,GAAG,wBAAwB,UAAU,IAAI;AAIjF,IAAM,4BAA4B,CAAC,MAAqD,GAAG,WAAW;;;ACV7G,SAAS,uBAAuB;AAMzB,IAAe,qBAAf,cASG,gBAAgD;AAAC;;;AJDpD,IAAM,2BAAN,cAA4G,mBAA4B;AAAA,EAC7I,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,8BAA8B;AAAA,EAC1G,OAAyB,sBAA8B;AAAA,EAEvD,MAAgB,cAAc,SAAsD;AAClF,UAAM,YAAY,SAAS,MAAM,KAAK,kBAAkB,GAAG,MAAM,6BAA6B;AAC9F,UAAM,MAAM,MAAM,UAAU,KAAK,EAAE,OAAO,IAAO,CAAC;AAClD,UAAM,WAAW,IACd,OAAO,OAAK,eAAe,CAAC,KAAK,cAAc,CAAC,CAAC,EACjD,OAAO,QAAM,GAAG,UAAU,SAAS,OAAO,CAAC;AAE9C,UAAM,SAAiC,SAAS;AAAA,MAC9C,CAAC,KAAK,YAAY;AAChB,YAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI;AACtE,eAAO;AAAA,MACT;AAAA,MACA,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAgB,qBAAsD;AACpE,UAAM,YAAY,SAAS,MAAM,KAAK,kBAAkB,GAAG,MAAM,6BAA6B;AAC9F,UAAM,MAAM,MAAM,UAAU,KAAK,EAAE,OAAO,IAAO,CAAC;AAElD,UAAM,SAAiC,IAAI;AAAA,MACzC,CAAC,KAAK,YAAY;AAChB,YAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI;AACtE,eAAO;AAAA,MACT;AAAA,MACA,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAyB,cAAc,UAA0C;AAC/E,UAAM,QAAQ,UAAU,KAA8B,yBAAyB;AAC/E,QAAI,CAAC,MAAO,QAAO,CAAC;AACpB,UAAM,YACF,OAAO,UACL,MAAM,QAAQ,OAAO,OAAO,IAC1B,MAAM,UACN,CAAC,MAAM,OAAO,IAChB;AACN,UAAM,SAAS,YAAY,MAAM,QAAQ,IAAI,UAAU,IAAI,aAAW,KAAK,cAAc,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,mBAAmB,CAAC;AACtI,WAAO,OAAO,IAAI,WAAS,IAAI,eAAmC,EAAE,QAAQ,yBAAyB,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC;AAAA,EACnI;AACF;",
6
6
  "names": ["asSchema", "asSchema", "asSchema", "asSchema"]
7
7
  }
@@ -1,8 +1,8 @@
1
1
  // src/Config.ts
2
- import { asSchema as asSchema2 } from "@xyo-network/payload-model";
2
+ import { asSchema as asSchema2 } from "@xyo-network/sdk-protocol-js";
3
3
 
4
4
  // src/Schema.ts
5
- import { asSchema } from "@xyo-network/payload-model";
5
+ import { asSchema } from "@xyo-network/sdk-protocol-js";
6
6
  var SchemaStatsDivinerSchema = asSchema("network.xyo.diviner.schema.stats", true);
7
7
 
8
8
  // src/Config.ts
@@ -14,7 +14,7 @@ var isSchemaStatsPayload = (x) => x?.schema === SchemaStatsDivinerSchema;
14
14
  // src/Query.ts
15
15
  import {
16
16
  asSchema as asSchema3
17
- } from "@xyo-network/payload-model";
17
+ } from "@xyo-network/sdk-protocol-js";
18
18
  var SchemaStatsQuerySchema = asSchema3(`${SchemaStatsDivinerSchema}.query`, true);
19
19
  var isSchemaStatsQueryPayload = (x) => x?.schema === SchemaStatsQuerySchema;
20
20
  export {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Config.ts", "../../src/Schema.ts", "../../src/Payload.ts", "../../src/Query.ts"],
4
- "sourcesContent": ["import type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { asSchema, type Payload } from '@xyo-network/payload-model'\n\nimport { SchemaStatsDivinerSchema } from './Schema.ts'\n\nexport const SchemaStatsDivinerConfigSchema = asSchema(`${SchemaStatsDivinerSchema}.config`, true)\nexport type SchemaStatsDivinerConfigSchema = typeof SchemaStatsDivinerConfigSchema\n\nexport type SchemaStatsDivinerConfig<T extends Payload = Payload> = DivinerConfig<\n T & {\n schema: SchemaStatsDivinerConfigSchema\n }\n>\n", "import { asSchema } from '@xyo-network/payload-model'\n\nexport const SchemaStatsDivinerSchema = asSchema('network.xyo.diviner.schema.stats', true)\nexport type SchemaStatsDivinerSchema = typeof SchemaStatsDivinerSchema\n", "import type { Payload } from '@xyo-network/payload-model'\n\nimport { SchemaStatsDivinerSchema } from './Schema.ts'\n\nexport type SchemaStatsPayload = Payload<{\n count: Record<string, number>\n // the name of the schema that the count is for. If name is undefined, then it is the count for all schemas\n name?: string\n schema: SchemaStatsDivinerSchema\n}>\n\nexport const isSchemaStatsPayload = (x?: Payload | null): x is SchemaStatsPayload => x?.schema === SchemaStatsDivinerSchema\n", "import {\n asSchema, type Payload, type Query,\n} from '@xyo-network/payload-model'\n\nimport { SchemaStatsDivinerSchema } from './Schema.ts'\n\nexport const SchemaStatsQuerySchema = asSchema(`${SchemaStatsDivinerSchema}.query`, true)\nexport type SchemaStatsQuerySchema = typeof SchemaStatsQuerySchema\n\nexport type SchemaStatsQueryPayload = Query<{ schema: SchemaStatsQuerySchema }>\nexport const isSchemaStatsQueryPayload = (x?: Payload | null): x is SchemaStatsQueryPayload => x?.schema === SchemaStatsQuerySchema\n"],
4
+ "sourcesContent": ["import type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { asSchema, type Payload } from '@xyo-network/sdk-protocol-js'\n\nimport { SchemaStatsDivinerSchema } from './Schema.ts'\n\nexport const SchemaStatsDivinerConfigSchema = asSchema(`${SchemaStatsDivinerSchema}.config`, true)\nexport type SchemaStatsDivinerConfigSchema = typeof SchemaStatsDivinerConfigSchema\n\nexport type SchemaStatsDivinerConfig<T extends Payload = Payload> = DivinerConfig<\n T & {\n schema: SchemaStatsDivinerConfigSchema\n }\n>\n", "import { asSchema } from '@xyo-network/sdk-protocol-js'\n\nexport const SchemaStatsDivinerSchema = asSchema('network.xyo.diviner.schema.stats', true)\nexport type SchemaStatsDivinerSchema = typeof SchemaStatsDivinerSchema\n", "import type { Payload } from '@xyo-network/sdk-protocol-js'\n\nimport { SchemaStatsDivinerSchema } from './Schema.ts'\n\nexport type SchemaStatsPayload = Payload<{\n count: Record<string, number>\n // the name of the schema that the count is for. If name is undefined, then it is the count for all schemas\n name?: string\n schema: SchemaStatsDivinerSchema\n}>\n\nexport const isSchemaStatsPayload = (x?: Payload | null): x is SchemaStatsPayload => x?.schema === SchemaStatsDivinerSchema\n", "import {\n asSchema, type Payload, type Query,\n} from '@xyo-network/sdk-protocol-js'\n\nimport { SchemaStatsDivinerSchema } from './Schema.ts'\n\nexport const SchemaStatsQuerySchema = asSchema(`${SchemaStatsDivinerSchema}.query`, true)\nexport type SchemaStatsQuerySchema = typeof SchemaStatsQuerySchema\n\nexport type SchemaStatsQueryPayload = Query<{ schema: SchemaStatsQuerySchema }>\nexport const isSchemaStatsQueryPayload = (x?: Payload | null): x is SchemaStatsQueryPayload => x?.schema === SchemaStatsQuerySchema\n"],
5
5
  "mappings": ";AACA,SAAS,YAAAA,iBAA8B;;;ACDvC,SAAS,gBAAgB;AAElB,IAAM,2BAA2B,SAAS,oCAAoC,IAAI;;;ADGlF,IAAM,iCAAiCC,UAAS,GAAG,wBAAwB,WAAW,IAAI;;;AEM1F,IAAM,uBAAuB,CAAC,MAAgD,GAAG,WAAW;;;ACXnG;AAAA,EACE,YAAAC;AAAA,OACK;AAIA,IAAM,yBAAyBC,UAAS,GAAG,wBAAwB,UAAU,IAAI;AAIjF,IAAM,4BAA4B,CAAC,MAAqD,GAAG,WAAW;",
6
6
  "names": ["asSchema", "asSchema", "asSchema", "asSchema"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/diviner-schema-stats",
3
- "version": "6.0.0",
3
+ "version": "6.0.2",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -46,74 +46,64 @@
46
46
  "README.md"
47
47
  ],
48
48
  "dependencies": {
49
- "@xyo-network/diviner-abstract": "~6.0.0",
50
- "@xyo-network/diviner-model": "~6.0.0",
51
- "@xyo-network/module-model": "~6.0.0"
49
+ "@xyo-network/diviner-abstract": "~6.0.2",
50
+ "@xyo-network/diviner-model": "~6.0.2",
51
+ "@xyo-network/module-model": "~6.0.2"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@bitauth/libauth": "~3.0.0",
55
+ "@metamask/providers": "^22.1.1",
56
+ "@noble/post-quantum": "~0.6.1",
55
57
  "@opentelemetry/api": "^1.9.1",
56
58
  "@opentelemetry/sdk-trace-base": "^2.7.1",
57
59
  "@scure/base": "~2.2.0",
58
- "@xylabs/sdk-js": "^6.0.0",
59
- "@xylabs/threads": "~6.0.0",
60
- "@xylabs/toolchain": "~8.0.17",
61
- "@xylabs/tsconfig": "~8.0.17",
62
- "@xyo-network/account": "~6.0",
63
- "@xyo-network/account-model": "~6.0",
64
- "@xyo-network/boundwitness-builder": "~6.0",
65
- "@xyo-network/boundwitness-model": "~6.0",
66
- "@xyo-network/boundwitness-wrapper": "~6.0",
67
- "@xyo-network/config-payload-plugin": "~6.0",
68
- "@xyo-network/manifest-model": "~6.0",
69
- "@xyo-network/payload-builder": "~6.0.0",
70
- "@xyo-network/payload-model": "~6.0.0",
71
- "@xyo-network/query-payload-plugin": "~6.0",
72
- "@xyo-network/wallet-model": "~6.0",
60
+ "@scure/bip39": "~2.2.0",
61
+ "@xylabs/geo": "^6.0.6",
62
+ "@xylabs/sdk-js": "^6.0.6",
63
+ "@xylabs/threads": "^6.0.6",
64
+ "@xylabs/toolchain": "~8.1.8",
65
+ "@xylabs/tsconfig": "~8.1.8",
66
+ "@xyo-network/sdk-protocol-js": "~6.0.7",
67
+ "ajv": "^8.20.0",
73
68
  "async-mutex": "^0.5.0",
74
69
  "bn.js": "^5.2.3",
75
70
  "buffer": "^6.0.3",
76
- "chalk": "^5.6.2",
77
71
  "debug": "~4.4.3",
78
- "eslint": "^10.4.0",
72
+ "eslint": "^10.4.1",
79
73
  "ethers": "^6.16.0",
80
74
  "hash-wasm": "~4.12.0",
81
- "lru-cache": "^11.5.0",
75
+ "idb": "^8.0.3",
76
+ "lru-cache": "^11.5.1",
82
77
  "observable-fns": "~0.6.1",
83
78
  "pako": "~2.1.0",
84
79
  "typescript": "~6.0.3",
85
- "wasm-feature-detect": "~1.8.0",
80
+ "webextension-polyfill": "^0.12.0",
86
81
  "zod": "^4.4.3"
87
82
  },
88
83
  "peerDependencies": {
89
84
  "@bitauth/libauth": "~3.0",
85
+ "@metamask/providers": "^22.1",
86
+ "@noble/post-quantum": "~0.6.1",
90
87
  "@opentelemetry/api": "^1.9",
91
88
  "@opentelemetry/sdk-trace-base": "^2.7",
92
89
  "@scure/base": "~2.2",
90
+ "@scure/bip39": "~2.2",
91
+ "@xylabs/geo": "^6.0",
93
92
  "@xylabs/sdk-js": "^6.0",
94
- "@xylabs/threads": "~6.0",
95
- "@xyo-network/account": "~6.0",
96
- "@xyo-network/account-model": "~6.0",
97
- "@xyo-network/boundwitness-builder": "~6.0",
98
- "@xyo-network/boundwitness-model": "~6.0",
99
- "@xyo-network/boundwitness-wrapper": "~6.0",
100
- "@xyo-network/config-payload-plugin": "~6.0",
101
- "@xyo-network/manifest-model": "~6.0",
102
- "@xyo-network/payload-builder": "~6.0",
103
- "@xyo-network/payload-model": "~6.0",
104
- "@xyo-network/query-payload-plugin": "~6.0",
105
- "@xyo-network/wallet-model": "~6.0",
93
+ "@xylabs/threads": "^6.0",
94
+ "@xyo-network/sdk-protocol-js": "~6.0",
95
+ "ajv": "^8.20",
106
96
  "async-mutex": "^0.5",
107
97
  "bn.js": "^5.2",
108
98
  "buffer": "^6.0",
109
- "chalk": "^5.6",
110
99
  "debug": "~4.4",
111
100
  "ethers": "^6.16",
112
101
  "hash-wasm": "~4.12",
102
+ "idb": "^8.0",
113
103
  "lru-cache": "^11.3",
114
104
  "observable-fns": "~0.6",
115
105
  "pako": "~2.1",
116
- "wasm-feature-detect": "~1.8",
106
+ "webextension-polyfill": "^0.12",
117
107
  "zod": "^4.4"
118
108
  },
119
109
  "publishConfig": {