@xyo-network/location-certainty-plugin 6.0.0 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,5 @@
1
- import type { DivinerConfig } from '@xyo-network/diviner-model';
2
1
  import type { LocationCertaintySchema } from '@xyo-network/location-certainty-payload-plugin';
3
- import { type Payload } from '@xyo-network/payload-model';
2
+ import type { DivinerConfig, Payload } from '@xyo-network/sdk-js';
4
3
  export type LocationCertaintyDivinerConfigSchema = typeof LocationCertaintyDivinerConfigSchema;
5
4
  export declare const LocationCertaintyDivinerConfigSchema: "network.xyo.location.elevation.diviner.config" & {
6
5
  readonly __schema: true;
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAA;AAC7F,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEnE,MAAM,MAAM,oCAAoC,GAAG,OAAO,oCAAoC,CAAA;AAC9F,eAAO,MAAM,oCAAoC;;CAAkE,CAAA;AAEnH,MAAM,MAAM,8BAA8B,CAAC,OAAO,SAAS,OAAO,GAAG,OAAO,IAAI,aAAa,CAC3F,OAAO,GAAG;IACR,MAAM,EAAE,oCAAoC,CAAA;IAC5C,YAAY,CAAC,EAAE,uBAAuB,CAAA;CACvC,CACF,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAA;AAC7F,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGjE,MAAM,MAAM,oCAAoC,GAAG,OAAO,oCAAoC,CAAA;AAC9F,eAAO,MAAM,oCAAoC;;CAAkE,CAAA;AAEnH,MAAM,MAAM,8BAA8B,CAAC,OAAO,SAAS,OAAO,GAAG,OAAO,IAAI,aAAa,CAC3F,OAAO,GAAG;IACR,MAAM,EAAE,oCAAoC,CAAA;IAC5C,YAAY,CAAC,EAAE,uBAAuB,CAAA;CACvC,CACF,CAAA"}
@@ -1,7 +1,5 @@
1
- import { AbstractDiviner } from '@xyo-network/diviner-abstract';
2
- import type { DivinerModule, DivinerParams } from '@xyo-network/diviner-model';
3
- import type { AnyConfigSchema } from '@xyo-network/module-model';
4
- import type { Payload, Schema } from '@xyo-network/payload-model';
1
+ import type { AnyConfigSchema, DivinerModule, DivinerParams, Payload, Schema } from '@xyo-network/sdk-js';
2
+ import { AbstractDiviner } from '@xyo-network/sdk-js';
5
3
  import type { LocationCertaintyDivinerConfig } from './Config.ts';
6
4
  export type LocationCertaintyDivinerParams = DivinerParams<AnyConfigSchema<LocationCertaintyDivinerConfig>>;
7
5
  export declare class LocationCertaintyDiviner<TParam extends LocationCertaintyDivinerParams = LocationCertaintyDivinerParams> extends AbstractDiviner<TParam> implements DivinerModule {
@@ -1 +1 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAO9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAGjE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAA;AAGjE,MAAM,MAAM,8BAA8B,GAAG,aAAa,CAAC,eAAe,CAAC,8BAA8B,CAAC,CAAC,CAAA;AAE3G,qBAAa,wBAAwB,CAAC,MAAM,SAAS,8BAA8B,GAAG,8BAA8B,CAClH,SAAQ,eAAe,CAAC,MAAM,CAC9B,YAAW,aAAa;IACxB,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAiE;IACjH,gBAAyB,mBAAmB,EAAE,MAAM,CAAuC;IAC3F,gBAAyB,YAAY;;MAA0B;IAG/D,OAAO,CAAC,MAAM,CAAC,aAAa;IAgC5B,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAqBpC,wHAAwH;cAC/F,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CA4BjF"}
1
+ {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAC/D,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAkB,MAAM,qBAAqB,CAAA;AAErE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAA;AAGjE,MAAM,MAAM,8BAA8B,GAAG,aAAa,CAAC,eAAe,CAAC,8BAA8B,CAAC,CAAC,CAAA;AAE3G,qBAAa,wBAAwB,CAAC,MAAM,SAAS,8BAA8B,GAAG,8BAA8B,CAClH,SAAQ,eAAe,CAAC,MAAM,CAC9B,YAAW,aAAa;IACxB,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAiE;IACjH,gBAAyB,mBAAmB,EAAE,MAAM,CAAuC;IAC3F,gBAAyB,YAAY;;MAA0B;IAG/D,OAAO,CAAC,MAAM,CAAC,aAAa;IAgC5B,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAqBpC,wHAAwH;cAC/F,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CA4BjF"}
@@ -1 +1 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAE7D,eAAO,MAAM,uBAAuB,sJAQjC,CAAA"}
1
+ {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAE7D,eAAO,MAAM,uBAAuB,sJAQjC,CAAA"}
@@ -1,13 +1,12 @@
1
1
  // src/Diviner/Config.ts
2
- import { asSchema } from "@xyo-network/payload-model";
2
+ import { asSchema } from "@xyo-network/sdk-js";
3
3
  var LocationCertaintyDivinerConfigSchema = asSchema("network.xyo.location.elevation.diviner.config", true);
4
4
 
5
5
  // src/Diviner/Diviner.ts
6
- import { AbstractDiviner } from "@xyo-network/diviner-abstract";
7
6
  import { ElevationWitness, ElevationWitnessConfigSchema } from "@xyo-network/elevation-plugin";
8
7
  import { LocationCertaintySchema } from "@xyo-network/location-certainty-payload-plugin";
9
8
  import { LocationSchema } from "@xyo-network/location-payload-plugin";
10
- import { PayloadBuilder } from "@xyo-network/sdk-js";
9
+ import { AbstractDiviner, PayloadBuilder } from "@xyo-network/sdk-js";
11
10
  var LocationCertaintyDiviner = class _LocationCertaintyDiviner extends AbstractDiviner {
12
11
  static configSchemas = [...super.configSchemas, LocationCertaintyDivinerConfigSchema];
13
12
  static defaultConfigSchema = LocationCertaintyDivinerConfigSchema;
@@ -83,8 +82,7 @@ var LocationCertaintyDiviner = class _LocationCertaintyDiviner extends AbstractD
83
82
 
84
83
  // src/Plugin.ts
85
84
  import { LocationCertaintySchema as LocationCertaintySchema2 } from "@xyo-network/location-certainty-payload-plugin";
86
- import { PayloadSetSchema } from "@xyo-network/payload-model";
87
- import { createPayloadSetDivinerPlugin } from "@xyo-network/sdk-js";
85
+ import { createPayloadSetDivinerPlugin, PayloadSetSchema } from "@xyo-network/sdk-js";
88
86
  var LocationCertaintyPlugin = () => createPayloadSetDivinerPlugin(
89
87
  { required: { [LocationCertaintySchema2]: 1 }, schema: PayloadSetSchema },
90
88
  {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Diviner/Config.ts", "../../src/Diviner/Diviner.ts", "../../src/Plugin.ts"],
4
- "sourcesContent": ["import type { DivinerConfig } from '@xyo-network/diviner-model'\nimport type { LocationCertaintySchema } from '@xyo-network/location-certainty-payload-plugin'\nimport { asSchema, type Payload } from '@xyo-network/payload-model'\n\nexport type LocationCertaintyDivinerConfigSchema = typeof LocationCertaintyDivinerConfigSchema\nexport const LocationCertaintyDivinerConfigSchema = asSchema('network.xyo.location.elevation.diviner.config', true)\n\nexport type LocationCertaintyDivinerConfig<TConfig extends Payload = Payload> = DivinerConfig<\n TConfig & {\n schema: LocationCertaintyDivinerConfigSchema\n targetSchema?: LocationCertaintySchema\n }\n>\n", "import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type { DivinerModule, DivinerParams } from '@xyo-network/diviner-model'\nimport type { ElevationPayload } from '@xyo-network/elevation-payload-plugin'\nimport { ElevationWitness, ElevationWitnessConfigSchema } from '@xyo-network/elevation-plugin'\nimport type { LocationCertaintyHeuristic, LocationCertaintyPayload } from '@xyo-network/location-certainty-payload-plugin'\nimport { LocationCertaintySchema } from '@xyo-network/location-certainty-payload-plugin'\nimport type { LocationPayload } from '@xyo-network/location-payload-plugin'\nimport { LocationSchema } from '@xyo-network/location-payload-plugin'\nimport type { AnyConfigSchema } from '@xyo-network/module-model'\nimport type { Payload, Schema } from '@xyo-network/payload-model'\nimport { PayloadBuilder } from '@xyo-network/sdk-js'\n\nimport type { LocationCertaintyDivinerConfig } from './Config.ts'\nimport { LocationCertaintyDivinerConfigSchema } from './Config.ts'\n\nexport type LocationCertaintyDivinerParams = DivinerParams<AnyConfigSchema<LocationCertaintyDivinerConfig>>\n\nexport class LocationCertaintyDiviner<TParam extends LocationCertaintyDivinerParams = LocationCertaintyDivinerParams>\n extends AbstractDiviner<TParam>\n implements DivinerModule {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, LocationCertaintyDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = LocationCertaintyDivinerConfigSchema\n static override readonly targetSchema = LocationCertaintySchema\n\n /* Given an array of numbers, find the min/max/mean */\n private static calcHeuristic(heuristic: (number | null)[]): LocationCertaintyHeuristic {\n return {\n // eslint-disable-next-line unicorn/no-array-reduce\n max: heuristic.reduce<number>((prev, value) => {\n return (\n value === null\n ? prev\n : Math.max(value, prev)\n )\n }, Number.NEGATIVE_INFINITY),\n mean: (() => {\n // eslint-disable-next-line unicorn/no-array-reduce\n const values = heuristic.reduce<number[]>(\n (prev, value) => {\n return value === null ? prev : [value + prev[0], prev[1] + 1]\n },\n [0, 0],\n )\n return values[0] / values[1]\n })(),\n // eslint-disable-next-line unicorn/no-array-reduce\n min: heuristic.reduce<number>((prev, value) => {\n return (\n value === null\n ? prev\n : Math.min(value, prev)\n )\n }, Number.POSITIVE_INFINITY),\n }\n }\n\n /* Given elevation and location payloads, generate heuristic arrays */\n private static locationsToHeuristics(elevations: ElevationPayload[], locations: LocationPayload[]) {\n // eslint-disable-next-line unicorn/no-array-reduce\n const heuristics = elevations.reduce<{ altitude: (number | null)[]; elevation: number[]; variance: (number | null)[] }>(\n (prev, elev, index) => {\n const elevation = elev.elevation\n if (elevation === undefined || elevation === null) {\n throw new Error('Invalid Elevation')\n }\n const altitude = locations[index].altitude\n prev.altitude.push(altitude ?? null)\n prev.elevation.push(elevation)\n prev.variance.push(altitude !== undefined && altitude !== null ? altitude - elevation : null)\n return prev\n },\n {\n altitude: [], elevation: [], variance: [],\n },\n )\n return heuristics\n }\n\n /** @description Given a set of locations, get the expected elevations (witness if needed), and return score/variance */\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const locations = payloads?.filter<LocationPayload>((payload): payload is LocationPayload => payload?.schema === LocationSchema)\n // If this is a query we support\n if (locations && locations?.length > 0) {\n const elevationWitness = await ElevationWitness.create({\n account: this.account,\n config: {\n locations,\n schema: ElevationWitnessConfigSchema,\n },\n })\n const elevations = (await elevationWitness.observe()) as ElevationPayload[]\n\n const heuristics = LocationCertaintyDiviner.locationsToHeuristics(elevations, locations)\n\n const result = new PayloadBuilder<LocationCertaintyPayload>({ schema: LocationCertaintySchema })\n .fields({\n altitude: LocationCertaintyDiviner.calcHeuristic(heuristics.altitude),\n elevation: LocationCertaintyDiviner.calcHeuristic(heuristics.elevation),\n variance: LocationCertaintyDiviner.calcHeuristic(heuristics.variance),\n })\n .build()\n\n this.logger?.log('LocationCertaintyDiviner.Divine: Processed query')\n return [result]\n }\n return []\n }\n}\n", "import { LocationCertaintySchema } from '@xyo-network/location-certainty-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetDivinerPlugin } from '@xyo-network/sdk-js'\n\nimport { LocationCertaintyDiviner } from './Diviner/index.ts'\n\nexport const LocationCertaintyPlugin = () =>\n createPayloadSetDivinerPlugin<LocationCertaintyDiviner>(\n { required: { [LocationCertaintySchema]: 1 }, schema: PayloadSetSchema },\n {\n diviner: async (params) => {\n return (await LocationCertaintyDiviner.create(params)) as LocationCertaintyDiviner\n },\n },\n )\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import type { LocationCertaintySchema } from '@xyo-network/location-certainty-payload-plugin'\nimport type { DivinerConfig, Payload } from '@xyo-network/sdk-js'\nimport { asSchema } from '@xyo-network/sdk-js'\n\nexport type LocationCertaintyDivinerConfigSchema = typeof LocationCertaintyDivinerConfigSchema\nexport const LocationCertaintyDivinerConfigSchema = asSchema('network.xyo.location.elevation.diviner.config', true)\n\nexport type LocationCertaintyDivinerConfig<TConfig extends Payload = Payload> = DivinerConfig<\n TConfig & {\n schema: LocationCertaintyDivinerConfigSchema\n targetSchema?: LocationCertaintySchema\n }\n>\n", "import type { ElevationPayload } from '@xyo-network/elevation-payload-plugin'\nimport { ElevationWitness, ElevationWitnessConfigSchema } from '@xyo-network/elevation-plugin'\nimport type { LocationCertaintyHeuristic, LocationCertaintyPayload } from '@xyo-network/location-certainty-payload-plugin'\nimport { LocationCertaintySchema } from '@xyo-network/location-certainty-payload-plugin'\nimport type { LocationPayload } from '@xyo-network/location-payload-plugin'\nimport { LocationSchema } from '@xyo-network/location-payload-plugin'\nimport type {\n AnyConfigSchema, DivinerModule, DivinerParams, Payload, Schema,\n} from '@xyo-network/sdk-js'\nimport { AbstractDiviner, PayloadBuilder } from '@xyo-network/sdk-js'\n\nimport type { LocationCertaintyDivinerConfig } from './Config.ts'\nimport { LocationCertaintyDivinerConfigSchema } from './Config.ts'\n\nexport type LocationCertaintyDivinerParams = DivinerParams<AnyConfigSchema<LocationCertaintyDivinerConfig>>\n\nexport class LocationCertaintyDiviner<TParam extends LocationCertaintyDivinerParams = LocationCertaintyDivinerParams>\n extends AbstractDiviner<TParam>\n implements DivinerModule {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, LocationCertaintyDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = LocationCertaintyDivinerConfigSchema\n static override readonly targetSchema = LocationCertaintySchema\n\n /* Given an array of numbers, find the min/max/mean */\n private static calcHeuristic(heuristic: (number | null)[]): LocationCertaintyHeuristic {\n return {\n // eslint-disable-next-line unicorn/no-array-reduce\n max: heuristic.reduce<number>((prev, value) => {\n return (\n value === null\n ? prev\n : Math.max(value, prev)\n )\n }, Number.NEGATIVE_INFINITY),\n mean: (() => {\n // eslint-disable-next-line unicorn/no-array-reduce\n const values = heuristic.reduce<number[]>(\n (prev, value) => {\n return value === null ? prev : [value + prev[0], prev[1] + 1]\n },\n [0, 0],\n )\n return values[0] / values[1]\n })(),\n // eslint-disable-next-line unicorn/no-array-reduce\n min: heuristic.reduce<number>((prev, value) => {\n return (\n value === null\n ? prev\n : Math.min(value, prev)\n )\n }, Number.POSITIVE_INFINITY),\n }\n }\n\n /* Given elevation and location payloads, generate heuristic arrays */\n private static locationsToHeuristics(elevations: ElevationPayload[], locations: LocationPayload[]) {\n // eslint-disable-next-line unicorn/no-array-reduce\n const heuristics = elevations.reduce<{ altitude: (number | null)[]; elevation: number[]; variance: (number | null)[] }>(\n (prev, elev, index) => {\n const elevation = elev.elevation\n if (elevation === undefined || elevation === null) {\n throw new Error('Invalid Elevation')\n }\n const altitude = locations[index].altitude\n prev.altitude.push(altitude ?? null)\n prev.elevation.push(elevation)\n prev.variance.push(altitude !== undefined && altitude !== null ? altitude - elevation : null)\n return prev\n },\n {\n altitude: [], elevation: [], variance: [],\n },\n )\n return heuristics\n }\n\n /** @description Given a set of locations, get the expected elevations (witness if needed), and return score/variance */\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const locations = payloads?.filter<LocationPayload>((payload): payload is LocationPayload => payload?.schema === LocationSchema)\n // If this is a query we support\n if (locations && locations?.length > 0) {\n const elevationWitness = await ElevationWitness.create({\n account: this.account,\n config: {\n locations,\n schema: ElevationWitnessConfigSchema,\n },\n })\n const elevations = (await elevationWitness.observe()) as ElevationPayload[]\n\n const heuristics = LocationCertaintyDiviner.locationsToHeuristics(elevations, locations)\n\n const result = new PayloadBuilder<LocationCertaintyPayload>({ schema: LocationCertaintySchema })\n .fields({\n altitude: LocationCertaintyDiviner.calcHeuristic(heuristics.altitude),\n elevation: LocationCertaintyDiviner.calcHeuristic(heuristics.elevation),\n variance: LocationCertaintyDiviner.calcHeuristic(heuristics.variance),\n })\n .build()\n\n this.logger?.log('LocationCertaintyDiviner.Divine: Processed query')\n return [result]\n }\n return []\n }\n}\n", "import { LocationCertaintySchema } from '@xyo-network/location-certainty-payload-plugin'\nimport { createPayloadSetDivinerPlugin, PayloadSetSchema } from '@xyo-network/sdk-js'\n\nimport { LocationCertaintyDiviner } from './Diviner/index.ts'\n\nexport const LocationCertaintyPlugin = () =>\n createPayloadSetDivinerPlugin<LocationCertaintyDiviner>(\n { required: { [LocationCertaintySchema]: 1 }, schema: PayloadSetSchema },\n {\n diviner: async (params) => {\n return (await LocationCertaintyDiviner.create(params)) as LocationCertaintyDiviner\n },\n },\n )\n"],
5
+ "mappings": "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",
6
6
  "names": ["LocationCertaintySchema", "LocationCertaintySchema"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/location-certainty-plugin",
3
- "version": "6.0.0",
3
+ "version": "6.0.1",
4
4
  "description": "Typescript/Javascript Plugins for XYO Platform",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -31,48 +31,44 @@
31
31
  "README.md"
32
32
  ],
33
33
  "dependencies": {
34
- "@xyo-network/elevation-plugin": "~6.0.0",
35
- "@xyo-network/location-payload-plugin": "~6.0.0",
36
- "@xyo-network/location-certainty-payload-plugin": "~6.0.0"
34
+ "@xyo-network/location-payload-plugin": "~6.0.1",
35
+ "@xyo-network/location-certainty-payload-plugin": "~6.0.1",
36
+ "@xyo-network/elevation-plugin": "~6.0.1"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@bitauth/libauth": "~3.0.0",
40
40
  "@metamask/providers": "^22.1.1",
41
+ "@noble/post-quantum": "~0.6.1",
41
42
  "@opentelemetry/api": "^1.9.1",
42
43
  "@opentelemetry/sdk-trace-base": "^2.7.1",
43
44
  "@scure/base": "^2.2.0",
44
45
  "@scure/bip39": "~2.2.0",
45
- "@xylabs/geo": "~6.0",
46
- "@xylabs/sdk-js": "~6.0",
47
- "@xylabs/threads": "~6.0",
48
- "@xylabs/toolchain": "~8.1.1",
49
- "@xylabs/tsconfig": "~8.1.1",
46
+ "@xylabs/geo": "^6.0.2",
47
+ "@xylabs/sdk-js": "^6.0.2",
48
+ "@xylabs/threads": "^6.0.2",
49
+ "@xylabs/toolchain": "~8.1.4",
50
+ "@xylabs/tsconfig": "~8.1.4",
50
51
  "@xylabs/vitest-extended": "~6.0.2",
51
- "@xyo-network/account": "~6.0",
52
- "@xyo-network/account-model": "~6.0",
53
- "@xyo-network/api": "~6.0",
54
- "@xyo-network/api-models": "~6.0",
52
+ "@xyo-network/account": "~6.0.4",
53
+ "@xyo-network/account-model": "^6.0.4",
54
+ "@xyo-network/api": "~6.0.4",
55
+ "@xyo-network/api-models": "~6.0.4",
55
56
  "@xyo-network/archivist-abstract": "~6.0.0",
56
- "@xyo-network/boundwitness-builder": "~6.0",
57
- "@xyo-network/boundwitness-model": "~6.0",
58
- "@xyo-network/boundwitness-wrapper": "~6.0",
59
- "@xyo-network/config-payload-plugin": "~6.0",
60
- "@xyo-network/diviner-abstract": "~6.0",
61
- "@xyo-network/diviner-model": "~6.0",
62
- "@xyo-network/huri": "~6.0",
63
- "@xyo-network/manifest-model": "~6.0",
64
- "@xyo-network/module-model": "~6.0",
65
- "@xyo-network/payload-builder": "~6.0",
66
- "@xyo-network/payload-model": "~6.0",
67
- "@xyo-network/payload-plugin": "~6.0",
68
- "@xyo-network/payload-wrapper": "~6.0",
69
- "@xyo-network/query-payload-plugin": "~6.0",
70
- "@xyo-network/sdk-js": "~6.0",
71
- "@xyo-network/sdk-protocol-js": "~6.0",
72
- "@xyo-network/wallet": "~6.0",
73
- "@xyo-network/wallet-model": "~6.0",
74
- "@xyo-network/witness-abstract": "~6.0",
75
- "@xyo-network/witness-model": "~6.0",
57
+ "@xyo-network/boundwitness-builder": "~6.0.4",
58
+ "@xyo-network/boundwitness-model": "^6.0.4",
59
+ "@xyo-network/boundwitness-wrapper": "~6.0.4",
60
+ "@xyo-network/config-payload-plugin": "~6.0.4",
61
+ "@xyo-network/huri": "~6.0.4",
62
+ "@xyo-network/manifest-model": "~6.0.4",
63
+ "@xyo-network/payload-builder": "~6.0.4",
64
+ "@xyo-network/payload-model": "^6.0.4",
65
+ "@xyo-network/payload-plugin": "~6.0.4",
66
+ "@xyo-network/payload-wrapper": "~6.0.4",
67
+ "@xyo-network/query-payload-plugin": "~6.0.4",
68
+ "@xyo-network/sdk-js": "^6.0.0",
69
+ "@xyo-network/sdk-protocol-js": "~6.0.4",
70
+ "@xyo-network/wallet": "~6.0.4",
71
+ "@xyo-network/wallet-model": "~6.0.4",
76
72
  "ajv": "^8.20.0",
77
73
  "async-mutex": "^0.5.0",
78
74
  "bn.js": "^5.2.3",
@@ -82,25 +78,26 @@
82
78
  "eslint": "^10.4.0",
83
79
  "ethers": "^6.16.0",
84
80
  "fast-text-encoding": "~1.0.6",
85
- "geotiff": "~3.0",
81
+ "geotiff": "~3.0.5",
86
82
  "hash-wasm": "^4.12.0",
87
83
  "idb": "^8.0.3",
88
- "lru-cache": "^11.5.0",
89
- "mapbox-gl": "~3.24",
84
+ "lru-cache": "^11.3.6",
85
+ "mapbox-gl": "^3.23.1",
90
86
  "observable-fns": "~0.6.1",
91
87
  "pako": "~2.1.0",
92
88
  "store2": "~2.14.4",
93
89
  "typescript": "~6.0.3",
94
- "vite": "^8.0.13",
90
+ "vite": "^8.0.14",
95
91
  "vitest": "^4.1.7",
96
92
  "wasm-feature-detect": "~1.8.0",
97
93
  "webextension-polyfill": "^0.12.0",
98
94
  "zod": "^4.4.3",
99
- "@xyo-network/elevation-payload-plugin": "~6.0.0"
95
+ "@xyo-network/elevation-payload-plugin": "~6.0.1"
100
96
  },
101
97
  "peerDependencies": {
102
98
  "@bitauth/libauth": "~3.0",
103
99
  "@metamask/providers": "^22.1",
100
+ "@noble/post-quantum": "~0.6.1",
104
101
  "@opentelemetry/api": "^1.9",
105
102
  "@opentelemetry/sdk-trace-base": "^2.7",
106
103
  "@scure/base": "^2.2",
@@ -116,11 +113,8 @@
116
113
  "@xyo-network/boundwitness-model": "^6.0",
117
114
  "@xyo-network/boundwitness-wrapper": "~6.0",
118
115
  "@xyo-network/config-payload-plugin": "~6.0",
119
- "@xyo-network/diviner-abstract": "^6.0",
120
- "@xyo-network/diviner-model": "^6.0",
121
116
  "@xyo-network/huri": "~6.0",
122
117
  "@xyo-network/manifest-model": "~6.0",
123
- "@xyo-network/module-model": "^6.0",
124
118
  "@xyo-network/payload-builder": "~6.0",
125
119
  "@xyo-network/payload-model": "^6.0",
126
120
  "@xyo-network/payload-plugin": "~6.0",
@@ -130,8 +124,6 @@
130
124
  "@xyo-network/sdk-protocol-js": "~6.0",
131
125
  "@xyo-network/wallet": "~6.0",
132
126
  "@xyo-network/wallet-model": "~6.0",
133
- "@xyo-network/witness-abstract": "^6.0",
134
- "@xyo-network/witness-model": "^6.0",
135
127
  "ajv": "^8.20",
136
128
  "async-mutex": "^0.5",
137
129
  "bn.js": "^5.2",
@@ -143,7 +135,7 @@
143
135
  "hash-wasm": "^4.12",
144
136
  "idb": "^8.0",
145
137
  "lru-cache": "^11.3",
146
- "mapbox-gl": "~3.24",
138
+ "mapbox-gl": "^3.23",
147
139
  "observable-fns": "~0.6",
148
140
  "pako": "~2.1",
149
141
  "store2": "~2.14",