@xyo-network/diviner-schema-stats 6.0.4 → 6.1.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 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-schema-stats.svg
45
46
  [npm-link]: https://www.npmjs.com/package/@xyo-network/diviner-schema-stats
46
47
  [license-badge]: https://img.shields.io/npm/l/@xyo-network/diviner-schema-stats.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
@@ -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;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
+ {"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,EAAE,MAAM,GAAG;IACpD,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;CAC+B,CAAA;AACxD,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 +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,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
+ {"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,EAAE,MAAM,GAAG;IAC5C,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;CAC8B,CAAA;AACvD,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,4 +1,4 @@
1
- export declare const SchemaStatsDivinerSchema: "network.xyo.diviner.schema.stats" & {
1
+ export declare const SchemaStatsDivinerSchema: 'network.xyo.diviner.schema.stats' & {
2
2
  readonly __schema: true;
3
3
  };
4
4
  export type SchemaStatsDivinerSchema = typeof SchemaStatsDivinerSchema;
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,wBAAwB;;CAAqD,CAAA;AAC1F,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAA"}
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,wBAAwB,EAAE,kCAAkC,GAAG;IAC1E,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;CAC6B,CAAA;AACtD,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAA"}
@@ -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/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;",
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: string & {\n readonly __schema: true\n} = 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: 'network.xyo.diviner.schema.stats' & {\n readonly __schema: true\n} = 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: string & {\n readonly __schema: true\n} = 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,2BAET,SAAS,oCAAoC,IAAI;;;ADC9C,IAAM,iCAETC,UAAS,GAAG,wBAAwB,WAAW,IAAI;;;AEPvD;AAAA,EACE,YAAAC;AAAA,OACK;AAIA,IAAM,yBAETC,UAAS,GAAG,wBAAwB,UAAU,IAAI;AAI/C,IAAM,4BAA4B,CAAC,MAAqD,GAAG,WAAW;;;AHEtG,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,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 { 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;",
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: string & {\n readonly __schema: true\n} = 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: 'network.xyo.diviner.schema.stats' & {\n readonly __schema: true\n} = 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: string & {\n readonly __schema: true\n} = 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,2BAET,SAAS,oCAAoC,IAAI;;;ADC9C,IAAM,iCAETC,UAAS,GAAG,wBAAwB,WAAW,IAAI;;;AEPvD;AAAA,EACE,YAAAC;AAAA,OACK;AAIA,IAAM,yBAETC,UAAS,GAAG,wBAAwB,UAAU,IAAI;AAI/C,IAAM,4BAA4B,CAAC,MAAqD,GAAG,WAAW;;;ACZ7G,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,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/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
- "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;",
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: string & {\n readonly __schema: true\n} = 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: 'network.xyo.diviner.schema.stats' & {\n readonly __schema: true\n} = 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: string & {\n readonly __schema: true\n} = 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
+ "mappings": ";AACA,SAAS,YAAAA,iBAA8B;;;ACDvC,SAAS,gBAAgB;AAElB,IAAM,2BAET,SAAS,oCAAoC,IAAI;;;ADC9C,IAAM,iCAETC,UAAS,GAAG,wBAAwB,WAAW,IAAI;;;AEIhD,IAAM,uBAAuB,CAAC,MAAgD,GAAG,WAAW;;;ACXnG;AAAA,EACE,YAAAC;AAAA,OACK;AAIA,IAAM,yBAETC,UAAS,GAAG,wBAAwB,UAAU,IAAI;AAI/C,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.4",
3
+ "version": "6.1.0",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -46,9 +46,9 @@
46
46
  "README.md"
47
47
  ],
48
48
  "dependencies": {
49
- "@xyo-network/diviner-abstract": "~6.0.4",
50
- "@xyo-network/diviner-model": "~6.0.4",
51
- "@xyo-network/module-model": "~6.0.4"
49
+ "@xyo-network/diviner-model": "~6.1.0",
50
+ "@xyo-network/diviner-abstract": "~6.1.0",
51
+ "@xyo-network/module-model": "~6.1.0"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@bitauth/libauth": "~3.0.0",
@@ -58,16 +58,14 @@
58
58
  "@opentelemetry/sdk-trace-base": "^2.7.1",
59
59
  "@scure/base": "~2.2.0",
60
60
  "@scure/bip39": "~2.2.0",
61
- "@xylabs/geo": "^6.0.8",
62
- "@xylabs/sdk-js": "^6.0.8",
63
- "@xylabs/threads": "^6.0.8",
64
- "@xylabs/toolchain": "~8.1.16",
65
- "@xylabs/tsconfig": "~8.1.16",
66
- "@xyo-network/sdk-protocol-js": "~6.0.9",
61
+ "@xylabs/geo": "^6.1.0",
62
+ "@xylabs/sdk-js": "^6.1.0",
63
+ "@xylabs/threads": "^6.1.0",
64
+ "@xylabs/toolchain": "^8.1.20",
65
+ "@xylabs/tsconfig": "^8.1.20",
66
+ "@xyo-network/sdk-protocol-js": "^6.1.0",
67
67
  "ajv": "^8.20.0",
68
68
  "async-mutex": "^0.5.0",
69
- "bn.js": "^5.2.3",
70
- "buffer": "^6.0.3",
71
69
  "debug": "~4.4.3",
72
70
  "eslint": "^10.4.1",
73
71
  "ethers": "^6.16.0",
@@ -90,11 +88,9 @@
90
88
  "@xylabs/geo": "^6.0",
91
89
  "@xylabs/sdk-js": "^6.0",
92
90
  "@xylabs/threads": "^6.0",
93
- "@xyo-network/sdk-protocol-js": "~6.0",
91
+ "@xyo-network/sdk-protocol-js": "^6.1",
94
92
  "ajv": "^8.20",
95
93
  "async-mutex": "^0.5",
96
- "bn.js": "^5.2",
97
- "buffer": "^6.0",
98
94
  "debug": "~4.4",
99
95
  "ethers": "^6.16",
100
96
  "hash-wasm": "~4.12",
@@ -104,6 +100,9 @@
104
100
  "webextension-polyfill": "^0.12",
105
101
  "zod": "^4.4"
106
102
  },
103
+ "engines": {
104
+ "node": "^24"
105
+ },
107
106
  "publishConfig": {
108
107
  "access": "public"
109
108
  }