@xyo-network/location-certainty-plugin 2.96.1 → 2.96.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.
Files changed (49) hide show
  1. package/dist/browser/Diviner/Diviner.d.cts +0 -1
  2. package/dist/browser/Diviner/Diviner.d.cts.map +1 -1
  3. package/dist/browser/Diviner/Diviner.d.mts +0 -1
  4. package/dist/browser/Diviner/Diviner.d.mts.map +1 -1
  5. package/dist/browser/Diviner/Diviner.d.ts +0 -1
  6. package/dist/browser/Diviner/Diviner.d.ts.map +1 -1
  7. package/dist/browser/Plugin.d.cts +9 -8
  8. package/dist/browser/Plugin.d.cts.map +1 -1
  9. package/dist/browser/Plugin.d.mts +9 -8
  10. package/dist/browser/Plugin.d.mts.map +1 -1
  11. package/dist/browser/Plugin.d.ts +9 -8
  12. package/dist/browser/Plugin.d.ts.map +1 -1
  13. package/dist/browser/index.cjs +1 -119
  14. package/dist/browser/index.cjs.map +1 -1
  15. package/dist/browser/index.js +1 -96
  16. package/dist/browser/index.js.map +1 -1
  17. package/dist/neutral/Diviner/Diviner.d.cts +0 -1
  18. package/dist/neutral/Diviner/Diviner.d.cts.map +1 -1
  19. package/dist/neutral/Diviner/Diviner.d.mts +0 -1
  20. package/dist/neutral/Diviner/Diviner.d.mts.map +1 -1
  21. package/dist/neutral/Diviner/Diviner.d.ts +0 -1
  22. package/dist/neutral/Diviner/Diviner.d.ts.map +1 -1
  23. package/dist/neutral/Plugin.d.cts +9 -8
  24. package/dist/neutral/Plugin.d.cts.map +1 -1
  25. package/dist/neutral/Plugin.d.mts +9 -8
  26. package/dist/neutral/Plugin.d.mts.map +1 -1
  27. package/dist/neutral/Plugin.d.ts +9 -8
  28. package/dist/neutral/Plugin.d.ts.map +1 -1
  29. package/dist/neutral/index.cjs +1 -119
  30. package/dist/neutral/index.cjs.map +1 -1
  31. package/dist/neutral/index.js +1 -96
  32. package/dist/neutral/index.js.map +1 -1
  33. package/dist/node/Diviner/Diviner.d.cts +0 -1
  34. package/dist/node/Diviner/Diviner.d.cts.map +1 -1
  35. package/dist/node/Diviner/Diviner.d.mts +0 -1
  36. package/dist/node/Diviner/Diviner.d.mts.map +1 -1
  37. package/dist/node/Diviner/Diviner.d.ts +0 -1
  38. package/dist/node/Diviner/Diviner.d.ts.map +1 -1
  39. package/dist/node/Plugin.d.cts +9 -8
  40. package/dist/node/Plugin.d.cts.map +1 -1
  41. package/dist/node/Plugin.d.mts +9 -8
  42. package/dist/node/Plugin.d.mts.map +1 -1
  43. package/dist/node/Plugin.d.ts +9 -8
  44. package/dist/node/Plugin.d.ts.map +1 -1
  45. package/dist/node/index.cjs +1 -126
  46. package/dist/node/index.cjs.map +1 -1
  47. package/dist/node/index.js +1 -97
  48. package/dist/node/index.js.map +1 -1
  49. package/package.json +9 -9
@@ -1,22 +1,23 @@
1
+ import { LocationCertaintySchema } from '@xyo-network/location-certainty-payload-plugin';
1
2
  import { LocationCertaintyDiviner } from './Diviner';
2
3
  export declare const LocationCertaintyPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetDivinerPlugin<LocationCertaintyDiviner<import("@xylabs/object").BaseParamsFields & {
3
- account?: import("@xyo-network/account-model").AccountInstance | "random" | undefined;
4
- addToResolvers?: boolean | undefined;
5
- additionalSigners?: import("@xyo-network/account-model").AccountInstance[] | undefined;
6
- allowNameResolution?: boolean | undefined;
4
+ account?: import("@xyo-network/account-model").AccountInstance | "random";
5
+ addToResolvers?: boolean;
6
+ additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
7
+ allowNameResolution?: boolean;
7
8
  config: import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
8
9
  schema: "network.xyo.location.elevation.diviner.config";
9
10
  } & {
10
11
  schema: string;
11
12
  } & import("@xyo-network/payload-model").PayloadFields & {
12
- schema: "network.xyo.location.elevation.diviner.config";
13
- targetSchema?: "network.xyo.location.certainty" | undefined;
13
+ schema: import("./Diviner").LocationCertaintyDivinerConfigSchema;
14
+ targetSchema?: LocationCertaintySchema;
14
15
  }, "schema"> & {
15
16
  schema: "network.xyo.location.elevation.diviner.config";
16
17
  }, "schema"> & {
17
18
  schema: string;
18
19
  };
19
- ephemeralQueryAccountEnabled?: boolean | undefined;
20
- moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[] | undefined;
20
+ ephemeralQueryAccountEnabled?: boolean;
21
+ moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
21
22
  }>>;
22
23
  //# sourceMappingURL=Plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAEpD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;GAQjC,CAAA"}
1
+ {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAA;AAIxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAEpD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;GAQjC,CAAA"}
@@ -1,22 +1,23 @@
1
+ import { LocationCertaintySchema } from '@xyo-network/location-certainty-payload-plugin';
1
2
  import { LocationCertaintyDiviner } from './Diviner';
2
3
  export declare const LocationCertaintyPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetDivinerPlugin<LocationCertaintyDiviner<import("@xylabs/object").BaseParamsFields & {
3
- account?: import("@xyo-network/account-model").AccountInstance | "random" | undefined;
4
- addToResolvers?: boolean | undefined;
5
- additionalSigners?: import("@xyo-network/account-model").AccountInstance[] | undefined;
6
- allowNameResolution?: boolean | undefined;
4
+ account?: import("@xyo-network/account-model").AccountInstance | "random";
5
+ addToResolvers?: boolean;
6
+ additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
7
+ allowNameResolution?: boolean;
7
8
  config: import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
8
9
  schema: "network.xyo.location.elevation.diviner.config";
9
10
  } & {
10
11
  schema: string;
11
12
  } & import("@xyo-network/payload-model").PayloadFields & {
12
- schema: "network.xyo.location.elevation.diviner.config";
13
- targetSchema?: "network.xyo.location.certainty" | undefined;
13
+ schema: import("./Diviner").LocationCertaintyDivinerConfigSchema;
14
+ targetSchema?: LocationCertaintySchema;
14
15
  }, "schema"> & {
15
16
  schema: "network.xyo.location.elevation.diviner.config";
16
17
  }, "schema"> & {
17
18
  schema: string;
18
19
  };
19
- ephemeralQueryAccountEnabled?: boolean | undefined;
20
- moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[] | undefined;
20
+ ephemeralQueryAccountEnabled?: boolean;
21
+ moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
21
22
  }>>;
22
23
  //# sourceMappingURL=Plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAEpD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;GAQjC,CAAA"}
1
+ {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAA;AAIxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAEpD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;GAQjC,CAAA"}
@@ -1,120 +1,2 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/index.ts
21
- var src_exports = {};
22
- __export(src_exports, {
23
- LocationCertaintyDiviner: () => LocationCertaintyDiviner,
24
- LocationCertaintyDivinerConfigSchema: () => LocationCertaintyDivinerConfigSchema,
25
- LocationCertaintyPlugin: () => LocationCertaintyPlugin,
26
- default: () => LocationCertaintyPlugin
27
- });
28
- module.exports = __toCommonJS(src_exports);
29
-
30
- // src/Diviner/Config.ts
31
- var LocationCertaintyDivinerConfigSchema = "network.xyo.location.elevation.diviner.config";
32
-
33
- // src/Diviner/Diviner.ts
34
- var import_diviner_abstract = require("@xyo-network/diviner-abstract");
35
- var import_elevation_plugin = require("@xyo-network/elevation-plugin");
36
- var import_location_certainty_payload_plugin = require("@xyo-network/location-certainty-payload-plugin");
37
- var import_location_payload_plugin = require("@xyo-network/location-payload-plugin");
38
- var import_payload_builder = require("@xyo-network/payload-builder");
39
- var LocationCertaintyDiviner = class _LocationCertaintyDiviner extends import_diviner_abstract.AbstractDiviner {
40
- static configSchemas = [...super.configSchemas, LocationCertaintyDivinerConfigSchema];
41
- static defaultConfigSchema = LocationCertaintyDivinerConfigSchema;
42
- static targetSchema = import_location_certainty_payload_plugin.LocationCertaintySchema;
43
- /* Given an array of numbers, find the min/max/mean */
44
- static calcHeuristic(heuristic) {
45
- return {
46
- // eslint-disable-next-line unicorn/no-array-reduce
47
- max: heuristic.reduce((prev, value) => {
48
- return value === null ? prev : value > prev ? value : prev;
49
- }, Number.NEGATIVE_INFINITY),
50
- mean: (() => {
51
- const values = heuristic.reduce(
52
- (prev, value) => {
53
- return value === null ? prev : [value + prev[0], prev[1] + 1];
54
- },
55
- [0, 0]
56
- );
57
- return values[0] / values[1];
58
- })(),
59
- // eslint-disable-next-line unicorn/no-array-reduce
60
- min: heuristic.reduce((prev, value) => {
61
- return value === null ? prev : value < prev ? value : prev;
62
- }, Number.POSITIVE_INFINITY)
63
- };
64
- }
65
- /* Given elevation and location payloads, generate heuristic arrays */
66
- static locationsToHeuristics(elevations, locations) {
67
- const heuristics = elevations.reduce(
68
- (prev, elev, index) => {
69
- const elevation = elev.elevation;
70
- if (elevation === void 0 || elevation === null) {
71
- throw new Error("Invalid Elevation");
72
- }
73
- const altitude = locations[index].altitude;
74
- prev.altitude.push(altitude ?? null);
75
- prev.elevation.push(elevation);
76
- prev.variance.push(altitude !== void 0 && altitude !== null ? altitude - elevation : null);
77
- return prev;
78
- },
79
- { altitude: [], elevation: [], variance: [] }
80
- );
81
- return heuristics;
82
- }
83
- /** @description Given a set of locations, get the expected elevations (witness if needed), and return score/variance */
84
- async divineHandler(payloads) {
85
- const locations = payloads?.filter((payload) => payload?.schema === import_location_payload_plugin.LocationSchema);
86
- if (locations && locations?.length > 0) {
87
- const elevationWitness = await import_elevation_plugin.ElevationWitness.create({
88
- account: this.account,
89
- config: {
90
- locations,
91
- schema: import_elevation_plugin.ElevationWitnessConfigSchema
92
- }
93
- });
94
- const elevations = await elevationWitness.observe();
95
- const heuristics = _LocationCertaintyDiviner.locationsToHeuristics(elevations, locations);
96
- const result = await new import_payload_builder.PayloadBuilder({ schema: import_location_certainty_payload_plugin.LocationCertaintySchema }).fields({
97
- altitude: _LocationCertaintyDiviner.calcHeuristic(heuristics.altitude),
98
- elevation: _LocationCertaintyDiviner.calcHeuristic(heuristics.elevation),
99
- variance: _LocationCertaintyDiviner.calcHeuristic(heuristics.variance)
100
- }).build();
101
- this.logger?.log("LocationCertaintyDiviner.Divine: Processed query");
102
- return [result];
103
- }
104
- return [];
105
- }
106
- };
107
-
108
- // src/Plugin.ts
109
- var import_location_certainty_payload_plugin2 = require("@xyo-network/location-certainty-payload-plugin");
110
- var import_payload_model = require("@xyo-network/payload-model");
111
- var import_payloadset_plugin = require("@xyo-network/payloadset-plugin");
112
- var LocationCertaintyPlugin = () => (0, import_payloadset_plugin.createPayloadSetDivinerPlugin)(
113
- { required: { [import_location_certainty_payload_plugin2.LocationCertaintySchema]: 1 }, schema: import_payload_model.PayloadSetSchema },
114
- {
115
- diviner: async (params) => {
116
- return await LocationCertaintyDiviner.create(params);
117
- }
118
- }
119
- );
1
+ "use strict";var d=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var D=Object.prototype.hasOwnProperty;var x=(o,e)=>{for(var i in e)d(o,i,{get:e[i],enumerable:!0})},b=(o,e,i,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of S(e))!D.call(o,a)&&a!==i&&d(o,a,{get:()=>e[a],enumerable:!(t=p(e,a))||t.enumerable});return o};var E=o=>b(d({},"__esModule",{value:!0}),o);var I={};x(I,{LocationCertaintyDiviner:()=>r,LocationCertaintyDivinerConfigSchema:()=>m,LocationCertaintyPlugin:()=>f,default:()=>f});module.exports=E(I);var m="network.xyo.location.elevation.diviner.config";var v=require("@xyo-network/diviner-abstract"),s=require("@xyo-network/elevation-plugin"),y=require("@xyo-network/location-certainty-payload-plugin"),C=require("@xyo-network/location-payload-plugin"),h=require("@xyo-network/payload-builder");var r=class o extends v.AbstractDiviner{static configSchemas=[...super.configSchemas,m];static defaultConfigSchema=m;static targetSchema=y.LocationCertaintySchema;static calcHeuristic(e){return{max:e.reduce((i,t)=>t===null?i:t>i?t:i,Number.NEGATIVE_INFINITY),mean:(()=>{let i=e.reduce((t,a)=>a===null?t:[a+t[0],t[1]+1],[0,0]);return i[0]/i[1]})(),min:e.reduce((i,t)=>t===null?i:t<i?t:i,Number.POSITIVE_INFINITY)}}static locationsToHeuristics(e,i){return e.reduce((a,n,u)=>{let c=n.elevation;if(c==null)throw new Error("Invalid Elevation");let l=i[u].altitude;return a.altitude.push(l??null),a.elevation.push(c),a.variance.push(l!=null?l-c:null),a},{altitude:[],elevation:[],variance:[]})}async divineHandler(e){let i=e?.filter(t=>t?.schema===C.LocationSchema);if(i&&i?.length>0){let a=await(await s.ElevationWitness.create({account:this.account,config:{locations:i,schema:s.ElevationWitnessConfigSchema}})).observe(),n=o.locationsToHeuristics(a,i),u=await new h.PayloadBuilder({schema:y.LocationCertaintySchema}).fields({altitude:o.calcHeuristic(n.altitude),elevation:o.calcHeuristic(n.elevation),variance:o.calcHeuristic(n.variance)}).build();return this.logger?.log("LocationCertaintyDiviner.Divine: Processed query"),[u]}return[]}};var P=require("@xyo-network/location-certainty-payload-plugin"),g=require("@xyo-network/payload-model"),L=require("@xyo-network/payloadset-plugin");var f=()=>(0,L.createPayloadSetDivinerPlugin)({required:{[P.LocationCertaintySchema]:1},schema:g.PayloadSetSchema},{diviner:async o=>await r.create(o)});
120
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/Diviner/Config.ts","../../src/Diviner/Diviner.ts","../../src/Plugin.ts"],"sourcesContent":["export * from './Diviner'\nexport { LocationCertaintyPlugin as default, LocationCertaintyPlugin } from './Plugin'\n","import { DivinerConfig } from '@xyo-network/diviner-model'\nimport { LocationCertaintySchema } from '@xyo-network/location-certainty-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport type LocationCertaintyDivinerConfigSchema = 'network.xyo.location.elevation.diviner.config'\nexport const LocationCertaintyDivinerConfigSchema: LocationCertaintyDivinerConfigSchema = 'network.xyo.location.elevation.diviner.config'\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 { DivinerModule, DivinerParams } from '@xyo-network/diviner-model'\nimport { ElevationPayload } from '@xyo-network/elevation-payload-plugin'\nimport { ElevationWitness, ElevationWitnessConfigSchema } from '@xyo-network/elevation-plugin'\nimport { LocationCertaintyHeuristic, LocationCertaintyPayload, LocationCertaintySchema } from '@xyo-network/location-certainty-payload-plugin'\nimport { LocationPayload, LocationSchema } from '@xyo-network/location-payload-plugin'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload, Schema } from '@xyo-network/payload-model'\n\nimport { LocationCertaintyDivinerConfig, LocationCertaintyDivinerConfigSchema } from './Config'\n\nexport type LocationCertaintyDivinerParams = DivinerParams<AnyConfigSchema<LocationCertaintyDivinerConfig>>\n\nexport class LocationCertaintyDiviner<TParam extends LocationCertaintyDivinerParams = LocationCertaintyDivinerParams>\n extends AbstractDiviner<TParam>\n implements DivinerModule\n{\n static override readonly configSchemas: Schema[] = [...super.configSchemas, LocationCertaintyDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = LocationCertaintyDivinerConfigSchema\n static override 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 ? prev\n : value > prev ? value\n : 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 ? prev\n : value < prev ? value\n : 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 { altitude: [], elevation: [], variance: [] },\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 = await 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/payloadset-plugin'\n\nimport { LocationCertaintyDiviner } from './Diviner'\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"],"mappings":"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","names":["import_location_certainty_payload_plugin"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/Diviner/Config.ts","../../src/Diviner/Diviner.ts","../../src/Plugin.ts"],"sourcesContent":["export * from './Diviner'\nexport { LocationCertaintyPlugin as default, LocationCertaintyPlugin } from './Plugin'\n","import { DivinerConfig } from '@xyo-network/diviner-model'\nimport { LocationCertaintySchema } from '@xyo-network/location-certainty-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport type LocationCertaintyDivinerConfigSchema = 'network.xyo.location.elevation.diviner.config'\nexport const LocationCertaintyDivinerConfigSchema: LocationCertaintyDivinerConfigSchema = 'network.xyo.location.elevation.diviner.config'\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 { DivinerModule, DivinerParams } from '@xyo-network/diviner-model'\nimport { ElevationPayload } from '@xyo-network/elevation-payload-plugin'\nimport { ElevationWitness, ElevationWitnessConfigSchema } from '@xyo-network/elevation-plugin'\nimport { LocationCertaintyHeuristic, LocationCertaintyPayload, LocationCertaintySchema } from '@xyo-network/location-certainty-payload-plugin'\nimport { LocationPayload, LocationSchema } from '@xyo-network/location-payload-plugin'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload, Schema } from '@xyo-network/payload-model'\n\nimport { LocationCertaintyDivinerConfig, LocationCertaintyDivinerConfigSchema } from './Config'\n\nexport type LocationCertaintyDivinerParams = DivinerParams<AnyConfigSchema<LocationCertaintyDivinerConfig>>\n\nexport class LocationCertaintyDiviner<TParam extends LocationCertaintyDivinerParams = LocationCertaintyDivinerParams>\n extends AbstractDiviner<TParam>\n implements DivinerModule\n{\n static override readonly configSchemas: Schema[] = [...super.configSchemas, LocationCertaintyDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = LocationCertaintyDivinerConfigSchema\n static override 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 ? prev\n : value > prev ? value\n : 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 ? prev\n : value < prev ? value\n : 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 { altitude: [], elevation: [], variance: [] },\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 = await 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/payloadset-plugin'\n\nimport { LocationCertaintyDiviner } from './Diviner'\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"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,8BAAAE,EAAA,yCAAAC,EAAA,4BAAAC,EAAA,YAAAA,IAAA,eAAAC,EAAAL,GCKO,IAAMM,EAA6E,gDCL1F,IAAAC,EAAgC,yCAGhCC,EAA+D,yCAC/DC,EAA8F,0DAC9FC,EAAgD,gDAEhDC,EAA+B,wCAOxB,IAAMC,EAAN,MAAMC,UACH,iBAEV,CACE,OAAyB,cAA0B,CAAC,GAAG,MAAM,cAAeC,CAAoC,EAChH,OAAyB,oBAA8BA,EACvD,OAAgB,aAAe,0BAG/B,OAAe,cAAcC,EAA0D,CACrF,MAAO,CAEL,IAAKA,EAAU,OAAe,CAACC,EAAMC,IAEjCA,IAAU,KAAOD,EACfC,EAAQD,EAAOC,EACfD,EAEH,OAAO,iBAAiB,EAC3B,MAAO,IAAM,CAEX,IAAME,EAASH,EAAU,OACvB,CAACC,EAAMC,IACEA,IAAU,KAAOD,EAAO,CAACC,EAAQD,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAI,CAAC,EAE9D,CAAC,EAAG,CAAC,CACP,EACA,OAAOE,EAAO,CAAC,EAAIA,EAAO,CAAC,CAC7B,GAAG,EAEH,IAAKH,EAAU,OAAe,CAACC,EAAMC,IAEjCA,IAAU,KAAOD,EACfC,EAAQD,EAAOC,EACfD,EAEH,OAAO,iBAAiB,CAC7B,CACF,CAGA,OAAe,sBAAsBG,EAAgCC,EAA8B,CAgBjG,OAdmBD,EAAW,OAC5B,CAACH,EAAMK,EAAMC,IAAU,CACrB,IAAMC,EAAYF,EAAK,UACvB,GAA+BE,GAAc,KAC3C,MAAM,IAAI,MAAM,mBAAmB,EAErC,IAAMC,EAAWJ,EAAUE,CAAK,EAAE,SAClC,OAAAN,EAAK,SAAS,KAAKQ,GAAY,IAAI,EACnCR,EAAK,UAAU,KAAKO,CAAS,EAC7BP,EAAK,SAAS,KAA+BQ,GAAa,KAAOA,EAAWD,EAAY,IAAI,EACrFP,CACT,EACA,CAAE,SAAU,CAAC,EAAG,UAAW,CAAC,EAAG,SAAU,CAAC,CAAE,CAC9C,CAEF,CAGA,MAAyB,cAAcS,EAA0C,CAC/E,IAAML,EAAYK,GAAU,OAAyBC,GAAwCA,GAAS,SAAW,gBAAc,EAE/H,GAAIN,GAAaA,GAAW,OAAS,EAAG,CAQtC,IAAMD,EAAc,MAPK,MAAM,mBAAiB,OAAO,CACrD,QAAS,KAAK,QACd,OAAQ,CACN,UAAAC,EACA,OAAQ,8BACV,CACF,CAAC,GAC0C,QAAQ,EAE7CO,EAAad,EAAyB,sBAAsBM,EAAYC,CAAS,EAEjFQ,EAAS,MAAM,IAAI,iBAAyC,CAAE,OAAQ,yBAAwB,CAAC,EAClG,OAAO,CACN,SAAUf,EAAyB,cAAcc,EAAW,QAAQ,EACpE,UAAWd,EAAyB,cAAcc,EAAW,SAAS,EACtE,SAAUd,EAAyB,cAAcc,EAAW,QAAQ,CACtE,CAAC,EACA,MAAM,EAET,YAAK,QAAQ,IAAI,kDAAkD,EAC5D,CAACC,CAAM,CAChB,CACA,MAAO,CAAC,CACV,CACF,ECvGA,IAAAC,EAAwC,0DACxCC,EAAiC,sCACjCC,EAA8C,0CAIvC,IAAMC,EAA0B,OACrC,iCACE,CAAE,SAAU,CAAE,CAAC,yBAAuB,EAAG,CAAE,EAAG,OAAQ,kBAAiB,EACvE,CACE,QAAS,MAAOC,GACN,MAAMC,EAAyB,OAAOD,CAAM,CAExD,CACF","names":["src_exports","__export","LocationCertaintyDiviner","LocationCertaintyDivinerConfigSchema","LocationCertaintyPlugin","__toCommonJS","LocationCertaintyDivinerConfigSchema","import_diviner_abstract","import_elevation_plugin","import_location_certainty_payload_plugin","import_location_payload_plugin","import_payload_builder","LocationCertaintyDiviner","_LocationCertaintyDiviner","LocationCertaintyDivinerConfigSchema","heuristic","prev","value","values","elevations","locations","elev","index","elevation","altitude","payloads","payload","heuristics","result","import_location_certainty_payload_plugin","import_payload_model","import_payloadset_plugin","LocationCertaintyPlugin","params","LocationCertaintyDiviner"]}
@@ -1,97 +1,2 @@
1
- // src/Diviner/Config.ts
2
- var LocationCertaintyDivinerConfigSchema = "network.xyo.location.elevation.diviner.config";
3
-
4
- // src/Diviner/Diviner.ts
5
- import { AbstractDiviner } from "@xyo-network/diviner-abstract";
6
- import { ElevationWitness, ElevationWitnessConfigSchema } from "@xyo-network/elevation-plugin";
7
- import { LocationCertaintySchema } from "@xyo-network/location-certainty-payload-plugin";
8
- import { LocationSchema } from "@xyo-network/location-payload-plugin";
9
- import { PayloadBuilder } from "@xyo-network/payload-builder";
10
- var LocationCertaintyDiviner = class _LocationCertaintyDiviner extends AbstractDiviner {
11
- static configSchemas = [...super.configSchemas, LocationCertaintyDivinerConfigSchema];
12
- static defaultConfigSchema = LocationCertaintyDivinerConfigSchema;
13
- static targetSchema = LocationCertaintySchema;
14
- /* Given an array of numbers, find the min/max/mean */
15
- static calcHeuristic(heuristic) {
16
- return {
17
- // eslint-disable-next-line unicorn/no-array-reduce
18
- max: heuristic.reduce((prev, value) => {
19
- return value === null ? prev : value > prev ? value : prev;
20
- }, Number.NEGATIVE_INFINITY),
21
- mean: (() => {
22
- const values = heuristic.reduce(
23
- (prev, value) => {
24
- return value === null ? prev : [value + prev[0], prev[1] + 1];
25
- },
26
- [0, 0]
27
- );
28
- return values[0] / values[1];
29
- })(),
30
- // eslint-disable-next-line unicorn/no-array-reduce
31
- min: heuristic.reduce((prev, value) => {
32
- return value === null ? prev : value < prev ? value : prev;
33
- }, Number.POSITIVE_INFINITY)
34
- };
35
- }
36
- /* Given elevation and location payloads, generate heuristic arrays */
37
- static locationsToHeuristics(elevations, locations) {
38
- const heuristics = elevations.reduce(
39
- (prev, elev, index) => {
40
- const elevation = elev.elevation;
41
- if (elevation === void 0 || elevation === null) {
42
- throw new Error("Invalid Elevation");
43
- }
44
- const altitude = locations[index].altitude;
45
- prev.altitude.push(altitude ?? null);
46
- prev.elevation.push(elevation);
47
- prev.variance.push(altitude !== void 0 && altitude !== null ? altitude - elevation : null);
48
- return prev;
49
- },
50
- { altitude: [], elevation: [], variance: [] }
51
- );
52
- return heuristics;
53
- }
54
- /** @description Given a set of locations, get the expected elevations (witness if needed), and return score/variance */
55
- async divineHandler(payloads) {
56
- const locations = payloads?.filter((payload) => payload?.schema === LocationSchema);
57
- if (locations && locations?.length > 0) {
58
- const elevationWitness = await ElevationWitness.create({
59
- account: this.account,
60
- config: {
61
- locations,
62
- schema: ElevationWitnessConfigSchema
63
- }
64
- });
65
- const elevations = await elevationWitness.observe();
66
- const heuristics = _LocationCertaintyDiviner.locationsToHeuristics(elevations, locations);
67
- const result = await new PayloadBuilder({ schema: LocationCertaintySchema }).fields({
68
- altitude: _LocationCertaintyDiviner.calcHeuristic(heuristics.altitude),
69
- elevation: _LocationCertaintyDiviner.calcHeuristic(heuristics.elevation),
70
- variance: _LocationCertaintyDiviner.calcHeuristic(heuristics.variance)
71
- }).build();
72
- this.logger?.log("LocationCertaintyDiviner.Divine: Processed query");
73
- return [result];
74
- }
75
- return [];
76
- }
77
- };
78
-
79
- // src/Plugin.ts
80
- import { LocationCertaintySchema as LocationCertaintySchema2 } from "@xyo-network/location-certainty-payload-plugin";
81
- import { PayloadSetSchema } from "@xyo-network/payload-model";
82
- import { createPayloadSetDivinerPlugin } from "@xyo-network/payloadset-plugin";
83
- var LocationCertaintyPlugin = () => createPayloadSetDivinerPlugin(
84
- { required: { [LocationCertaintySchema2]: 1 }, schema: PayloadSetSchema },
85
- {
86
- diviner: async (params) => {
87
- return await LocationCertaintyDiviner.create(params);
88
- }
89
- }
90
- );
91
- export {
92
- LocationCertaintyDiviner,
93
- LocationCertaintyDivinerConfigSchema,
94
- LocationCertaintyPlugin,
95
- LocationCertaintyPlugin as default
96
- };
1
+ var s="network.xyo.location.elevation.diviner.config";import{AbstractDiviner as y}from"@xyo-network/diviner-abstract";import{ElevationWitness as f,ElevationWitnessConfigSchema as v}from"@xyo-network/elevation-plugin";import{LocationCertaintySchema as u}from"@xyo-network/location-certainty-payload-plugin";import{LocationSchema as C}from"@xyo-network/location-payload-plugin";import{PayloadBuilder as h}from"@xyo-network/payload-builder";var l=class o extends y{static configSchemas=[...super.configSchemas,s];static defaultConfigSchema=s;static targetSchema=u;static calcHeuristic(a){return{max:a.reduce((i,t)=>t===null?i:t>i?t:i,Number.NEGATIVE_INFINITY),mean:(()=>{let i=a.reduce((t,e)=>e===null?t:[e+t[0],t[1]+1],[0,0]);return i[0]/i[1]})(),min:a.reduce((i,t)=>t===null?i:t<i?t:i,Number.POSITIVE_INFINITY)}}static locationsToHeuristics(a,i){return a.reduce((e,n,m)=>{let r=n.elevation;if(r==null)throw new Error("Invalid Elevation");let c=i[m].altitude;return e.altitude.push(c??null),e.elevation.push(r),e.variance.push(c!=null?c-r:null),e},{altitude:[],elevation:[],variance:[]})}async divineHandler(a){let i=a?.filter(t=>t?.schema===C);if(i&&i?.length>0){let e=await(await f.create({account:this.account,config:{locations:i,schema:v}})).observe(),n=o.locationsToHeuristics(e,i),m=await new h({schema:u}).fields({altitude:o.calcHeuristic(n.altitude),elevation:o.calcHeuristic(n.elevation),variance:o.calcHeuristic(n.variance)}).build();return this.logger?.log("LocationCertaintyDiviner.Divine: Processed query"),[m]}return[]}};import{LocationCertaintySchema as P}from"@xyo-network/location-certainty-payload-plugin";import{PayloadSetSchema as g}from"@xyo-network/payload-model";import{createPayloadSetDivinerPlugin as L}from"@xyo-network/payloadset-plugin";var d=()=>L({required:{[P]:1},schema:g},{diviner:async o=>await l.create(o)});export{l as LocationCertaintyDiviner,s as LocationCertaintyDivinerConfigSchema,d as LocationCertaintyPlugin,d as default};
97
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Diviner/Config.ts","../../src/Diviner/Diviner.ts","../../src/Plugin.ts"],"sourcesContent":["import { DivinerConfig } from '@xyo-network/diviner-model'\nimport { LocationCertaintySchema } from '@xyo-network/location-certainty-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport type LocationCertaintyDivinerConfigSchema = 'network.xyo.location.elevation.diviner.config'\nexport const LocationCertaintyDivinerConfigSchema: LocationCertaintyDivinerConfigSchema = 'network.xyo.location.elevation.diviner.config'\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 { DivinerModule, DivinerParams } from '@xyo-network/diviner-model'\nimport { ElevationPayload } from '@xyo-network/elevation-payload-plugin'\nimport { ElevationWitness, ElevationWitnessConfigSchema } from '@xyo-network/elevation-plugin'\nimport { LocationCertaintyHeuristic, LocationCertaintyPayload, LocationCertaintySchema } from '@xyo-network/location-certainty-payload-plugin'\nimport { LocationPayload, LocationSchema } from '@xyo-network/location-payload-plugin'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload, Schema } from '@xyo-network/payload-model'\n\nimport { LocationCertaintyDivinerConfig, LocationCertaintyDivinerConfigSchema } from './Config'\n\nexport type LocationCertaintyDivinerParams = DivinerParams<AnyConfigSchema<LocationCertaintyDivinerConfig>>\n\nexport class LocationCertaintyDiviner<TParam extends LocationCertaintyDivinerParams = LocationCertaintyDivinerParams>\n extends AbstractDiviner<TParam>\n implements DivinerModule\n{\n static override readonly configSchemas: Schema[] = [...super.configSchemas, LocationCertaintyDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = LocationCertaintyDivinerConfigSchema\n static override 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 ? prev\n : value > prev ? value\n : 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 ? prev\n : value < prev ? value\n : 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 { altitude: [], elevation: [], variance: [] },\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 = await 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/payloadset-plugin'\n\nimport { LocationCertaintyDiviner } from './Diviner'\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"],"mappings":"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","names":["LocationCertaintySchema","LocationCertaintySchema"]}
1
+ {"version":3,"sources":["../../src/Diviner/Config.ts","../../src/Diviner/Diviner.ts","../../src/Plugin.ts"],"sourcesContent":["import { DivinerConfig } from '@xyo-network/diviner-model'\nimport { LocationCertaintySchema } from '@xyo-network/location-certainty-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport type LocationCertaintyDivinerConfigSchema = 'network.xyo.location.elevation.diviner.config'\nexport const LocationCertaintyDivinerConfigSchema: LocationCertaintyDivinerConfigSchema = 'network.xyo.location.elevation.diviner.config'\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 { DivinerModule, DivinerParams } from '@xyo-network/diviner-model'\nimport { ElevationPayload } from '@xyo-network/elevation-payload-plugin'\nimport { ElevationWitness, ElevationWitnessConfigSchema } from '@xyo-network/elevation-plugin'\nimport { LocationCertaintyHeuristic, LocationCertaintyPayload, LocationCertaintySchema } from '@xyo-network/location-certainty-payload-plugin'\nimport { LocationPayload, LocationSchema } from '@xyo-network/location-payload-plugin'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload, Schema } from '@xyo-network/payload-model'\n\nimport { LocationCertaintyDivinerConfig, LocationCertaintyDivinerConfigSchema } from './Config'\n\nexport type LocationCertaintyDivinerParams = DivinerParams<AnyConfigSchema<LocationCertaintyDivinerConfig>>\n\nexport class LocationCertaintyDiviner<TParam extends LocationCertaintyDivinerParams = LocationCertaintyDivinerParams>\n extends AbstractDiviner<TParam>\n implements DivinerModule\n{\n static override readonly configSchemas: Schema[] = [...super.configSchemas, LocationCertaintyDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = LocationCertaintyDivinerConfigSchema\n static override 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 ? prev\n : value > prev ? value\n : 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 ? prev\n : value < prev ? value\n : 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 { altitude: [], elevation: [], variance: [] },\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 = await 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/payloadset-plugin'\n\nimport { LocationCertaintyDiviner } from './Diviner'\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"],"mappings":"AAKO,IAAMA,EAA6E,gDCL1F,OAAS,mBAAAC,MAAuB,gCAGhC,OAAS,oBAAAC,EAAkB,gCAAAC,MAAoC,gCAC/D,OAA+D,2BAAAC,MAA+B,iDAC9F,OAA0B,kBAAAC,MAAsB,uCAEhD,OAAS,kBAAAC,MAAsB,+BAOxB,IAAMC,EAAN,MAAMC,UACHC,CAEV,CACE,OAAyB,cAA0B,CAAC,GAAG,MAAM,cAAeC,CAAoC,EAChH,OAAyB,oBAA8BA,EACvD,OAAgB,aAAeC,EAG/B,OAAe,cAAcC,EAA0D,CACrF,MAAO,CAEL,IAAKA,EAAU,OAAe,CAACC,EAAMC,IAEjCA,IAAU,KAAOD,EACfC,EAAQD,EAAOC,EACfD,EAEH,OAAO,iBAAiB,EAC3B,MAAO,IAAM,CAEX,IAAME,EAASH,EAAU,OACvB,CAACC,EAAMC,IACEA,IAAU,KAAOD,EAAO,CAACC,EAAQD,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAI,CAAC,EAE9D,CAAC,EAAG,CAAC,CACP,EACA,OAAOE,EAAO,CAAC,EAAIA,EAAO,CAAC,CAC7B,GAAG,EAEH,IAAKH,EAAU,OAAe,CAACC,EAAMC,IAEjCA,IAAU,KAAOD,EACfC,EAAQD,EAAOC,EACfD,EAEH,OAAO,iBAAiB,CAC7B,CACF,CAGA,OAAe,sBAAsBG,EAAgCC,EAA8B,CAgBjG,OAdmBD,EAAW,OAC5B,CAACH,EAAMK,EAAMC,IAAU,CACrB,IAAMC,EAAYF,EAAK,UACvB,GAA+BE,GAAc,KAC3C,MAAM,IAAI,MAAM,mBAAmB,EAErC,IAAMC,EAAWJ,EAAUE,CAAK,EAAE,SAClC,OAAAN,EAAK,SAAS,KAAKQ,GAAY,IAAI,EACnCR,EAAK,UAAU,KAAKO,CAAS,EAC7BP,EAAK,SAAS,KAA+BQ,GAAa,KAAOA,EAAWD,EAAY,IAAI,EACrFP,CACT,EACA,CAAE,SAAU,CAAC,EAAG,UAAW,CAAC,EAAG,SAAU,CAAC,CAAE,CAC9C,CAEF,CAGA,MAAyB,cAAcS,EAA0C,CAC/E,IAAML,EAAYK,GAAU,OAAyBC,GAAwCA,GAAS,SAAWC,CAAc,EAE/H,GAAIP,GAAaA,GAAW,OAAS,EAAG,CAQtC,IAAMD,EAAc,MAPK,MAAMS,EAAiB,OAAO,CACrD,QAAS,KAAK,QACd,OAAQ,CACN,UAAAR,EACA,OAAQS,CACV,CACF,CAAC,GAC0C,QAAQ,EAE7CC,EAAanB,EAAyB,sBAAsBQ,EAAYC,CAAS,EAEjFW,EAAS,MAAM,IAAIC,EAAyC,CAAE,OAAQlB,CAAwB,CAAC,EAClG,OAAO,CACN,SAAUH,EAAyB,cAAcmB,EAAW,QAAQ,EACpE,UAAWnB,EAAyB,cAAcmB,EAAW,SAAS,EACtE,SAAUnB,EAAyB,cAAcmB,EAAW,QAAQ,CACtE,CAAC,EACA,MAAM,EAET,YAAK,QAAQ,IAAI,kDAAkD,EAC5D,CAACC,CAAM,CAChB,CACA,MAAO,CAAC,CACV,CACF,ECvGA,OAAS,2BAAAE,MAA+B,iDACxC,OAAS,oBAAAC,MAAwB,6BACjC,OAAS,iCAAAC,MAAqC,iCAIvC,IAAMC,EAA0B,IACrCC,EACE,CAAE,SAAU,CAAE,CAACC,CAAuB,EAAG,CAAE,EAAG,OAAQC,CAAiB,EACvE,CACE,QAAS,MAAOC,GACN,MAAMC,EAAyB,OAAOD,CAAM,CAExD,CACF","names":["LocationCertaintyDivinerConfigSchema","AbstractDiviner","ElevationWitness","ElevationWitnessConfigSchema","LocationCertaintySchema","LocationSchema","PayloadBuilder","LocationCertaintyDiviner","_LocationCertaintyDiviner","AbstractDiviner","LocationCertaintyDivinerConfigSchema","LocationCertaintySchema","heuristic","prev","value","values","elevations","locations","elev","index","elevation","altitude","payloads","payload","LocationSchema","ElevationWitness","ElevationWitnessConfigSchema","heuristics","result","PayloadBuilder","LocationCertaintySchema","PayloadSetSchema","createPayloadSetDivinerPlugin","LocationCertaintyPlugin","createPayloadSetDivinerPlugin","LocationCertaintySchema","PayloadSetSchema","params","LocationCertaintyDiviner"]}
@@ -10,7 +10,6 @@ export declare class LocationCertaintyDiviner<TParam extends LocationCertaintyDi
10
10
  static targetSchema: "network.xyo.location.certainty";
11
11
  private static calcHeuristic;
12
12
  private static locationsToHeuristics;
13
- /** @description Given a set of locations, get the expected elevations (witness if needed), and return score/variance */
14
13
  protected divineHandler(payloads?: Payload[]): Promise<Payload[]>;
15
14
  }
16
15
  //# sourceMappingURL=Diviner.d.ts.map
@@ -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,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAKzE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAE5D,OAAO,EAAE,8BAA8B,EAAwC,MAAM,UAAU,CAAA;AAE/F,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;IAExB,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAiE;IACjH,gBAAyB,mBAAmB,EAAE,MAAM,CAAuC;IAC3F,OAAgB,YAAY,mCAA0B;IAGtD,OAAO,CAAC,MAAM,CAAC,aAAa;IAgC5B,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAmBpC,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":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAKzE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAE5D,OAAO,EAAE,8BAA8B,EAAwC,MAAM,UAAU,CAAA;AAE/F,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;IAExB,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAiE;IACjH,gBAAyB,mBAAmB,EAAE,MAAM,CAAuC;IAC3F,OAAgB,YAAY,mCAA0B;IAGtD,OAAO,CAAC,MAAM,CAAC,aAAa;IAgC5B,OAAO,CAAC,MAAM,CAAC,qBAAqB;cAoBX,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CA4BjF"}
@@ -10,7 +10,6 @@ export declare class LocationCertaintyDiviner<TParam extends LocationCertaintyDi
10
10
  static targetSchema: "network.xyo.location.certainty";
11
11
  private static calcHeuristic;
12
12
  private static locationsToHeuristics;
13
- /** @description Given a set of locations, get the expected elevations (witness if needed), and return score/variance */
14
13
  protected divineHandler(payloads?: Payload[]): Promise<Payload[]>;
15
14
  }
16
15
  //# sourceMappingURL=Diviner.d.ts.map
@@ -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,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAKzE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAE5D,OAAO,EAAE,8BAA8B,EAAwC,MAAM,UAAU,CAAA;AAE/F,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;IAExB,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAiE;IACjH,gBAAyB,mBAAmB,EAAE,MAAM,CAAuC;IAC3F,OAAgB,YAAY,mCAA0B;IAGtD,OAAO,CAAC,MAAM,CAAC,aAAa;IAgC5B,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAmBpC,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":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAKzE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAE5D,OAAO,EAAE,8BAA8B,EAAwC,MAAM,UAAU,CAAA;AAE/F,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;IAExB,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAiE;IACjH,gBAAyB,mBAAmB,EAAE,MAAM,CAAuC;IAC3F,OAAgB,YAAY,mCAA0B;IAGtD,OAAO,CAAC,MAAM,CAAC,aAAa;IAgC5B,OAAO,CAAC,MAAM,CAAC,qBAAqB;cAoBX,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CA4BjF"}
@@ -10,7 +10,6 @@ export declare class LocationCertaintyDiviner<TParam extends LocationCertaintyDi
10
10
  static targetSchema: "network.xyo.location.certainty";
11
11
  private static calcHeuristic;
12
12
  private static locationsToHeuristics;
13
- /** @description Given a set of locations, get the expected elevations (witness if needed), and return score/variance */
14
13
  protected divineHandler(payloads?: Payload[]): Promise<Payload[]>;
15
14
  }
16
15
  //# sourceMappingURL=Diviner.d.ts.map
@@ -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,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAKzE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAE5D,OAAO,EAAE,8BAA8B,EAAwC,MAAM,UAAU,CAAA;AAE/F,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;IAExB,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAiE;IACjH,gBAAyB,mBAAmB,EAAE,MAAM,CAAuC;IAC3F,OAAgB,YAAY,mCAA0B;IAGtD,OAAO,CAAC,MAAM,CAAC,aAAa;IAgC5B,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAmBpC,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":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAKzE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAE5D,OAAO,EAAE,8BAA8B,EAAwC,MAAM,UAAU,CAAA;AAE/F,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;IAExB,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAiE;IACjH,gBAAyB,mBAAmB,EAAE,MAAM,CAAuC;IAC3F,OAAgB,YAAY,mCAA0B;IAGtD,OAAO,CAAC,MAAM,CAAC,aAAa;IAgC5B,OAAO,CAAC,MAAM,CAAC,qBAAqB;cAoBX,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CA4BjF"}
@@ -1,22 +1,23 @@
1
+ import { LocationCertaintySchema } from '@xyo-network/location-certainty-payload-plugin';
1
2
  import { LocationCertaintyDiviner } from './Diviner';
2
3
  export declare const LocationCertaintyPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetDivinerPlugin<LocationCertaintyDiviner<import("@xylabs/object").BaseParamsFields & {
3
- account?: import("@xyo-network/account-model").AccountInstance | "random" | undefined;
4
- addToResolvers?: boolean | undefined;
5
- additionalSigners?: import("@xyo-network/account-model").AccountInstance[] | undefined;
6
- allowNameResolution?: boolean | undefined;
4
+ account?: import("@xyo-network/account-model").AccountInstance | "random";
5
+ addToResolvers?: boolean;
6
+ additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
7
+ allowNameResolution?: boolean;
7
8
  config: import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
8
9
  schema: "network.xyo.location.elevation.diviner.config";
9
10
  } & {
10
11
  schema: string;
11
12
  } & import("@xyo-network/payload-model").PayloadFields & {
12
- schema: "network.xyo.location.elevation.diviner.config";
13
- targetSchema?: "network.xyo.location.certainty" | undefined;
13
+ schema: import("./Diviner").LocationCertaintyDivinerConfigSchema;
14
+ targetSchema?: LocationCertaintySchema;
14
15
  }, "schema"> & {
15
16
  schema: "network.xyo.location.elevation.diviner.config";
16
17
  }, "schema"> & {
17
18
  schema: string;
18
19
  };
19
- ephemeralQueryAccountEnabled?: boolean | undefined;
20
- moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[] | undefined;
20
+ ephemeralQueryAccountEnabled?: boolean;
21
+ moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
21
22
  }>>;
22
23
  //# sourceMappingURL=Plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAEpD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;GAQjC,CAAA"}
1
+ {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAA;AAIxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAEpD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;GAQjC,CAAA"}
@@ -1,22 +1,23 @@
1
+ import { LocationCertaintySchema } from '@xyo-network/location-certainty-payload-plugin';
1
2
  import { LocationCertaintyDiviner } from './Diviner';
2
3
  export declare const LocationCertaintyPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetDivinerPlugin<LocationCertaintyDiviner<import("@xylabs/object").BaseParamsFields & {
3
- account?: import("@xyo-network/account-model").AccountInstance | "random" | undefined;
4
- addToResolvers?: boolean | undefined;
5
- additionalSigners?: import("@xyo-network/account-model").AccountInstance[] | undefined;
6
- allowNameResolution?: boolean | undefined;
4
+ account?: import("@xyo-network/account-model").AccountInstance | "random";
5
+ addToResolvers?: boolean;
6
+ additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
7
+ allowNameResolution?: boolean;
7
8
  config: import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
8
9
  schema: "network.xyo.location.elevation.diviner.config";
9
10
  } & {
10
11
  schema: string;
11
12
  } & import("@xyo-network/payload-model").PayloadFields & {
12
- schema: "network.xyo.location.elevation.diviner.config";
13
- targetSchema?: "network.xyo.location.certainty" | undefined;
13
+ schema: import("./Diviner").LocationCertaintyDivinerConfigSchema;
14
+ targetSchema?: LocationCertaintySchema;
14
15
  }, "schema"> & {
15
16
  schema: "network.xyo.location.elevation.diviner.config";
16
17
  }, "schema"> & {
17
18
  schema: string;
18
19
  };
19
- ephemeralQueryAccountEnabled?: boolean | undefined;
20
- moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[] | undefined;
20
+ ephemeralQueryAccountEnabled?: boolean;
21
+ moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
21
22
  }>>;
22
23
  //# sourceMappingURL=Plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAEpD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;GAQjC,CAAA"}
1
+ {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAA;AAIxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAEpD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;GAQjC,CAAA"}
@@ -1,22 +1,23 @@
1
+ import { LocationCertaintySchema } from '@xyo-network/location-certainty-payload-plugin';
1
2
  import { LocationCertaintyDiviner } from './Diviner';
2
3
  export declare const LocationCertaintyPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetDivinerPlugin<LocationCertaintyDiviner<import("@xylabs/object").BaseParamsFields & {
3
- account?: import("@xyo-network/account-model").AccountInstance | "random" | undefined;
4
- addToResolvers?: boolean | undefined;
5
- additionalSigners?: import("@xyo-network/account-model").AccountInstance[] | undefined;
6
- allowNameResolution?: boolean | undefined;
4
+ account?: import("@xyo-network/account-model").AccountInstance | "random";
5
+ addToResolvers?: boolean;
6
+ additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
7
+ allowNameResolution?: boolean;
7
8
  config: import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
8
9
  schema: "network.xyo.location.elevation.diviner.config";
9
10
  } & {
10
11
  schema: string;
11
12
  } & import("@xyo-network/payload-model").PayloadFields & {
12
- schema: "network.xyo.location.elevation.diviner.config";
13
- targetSchema?: "network.xyo.location.certainty" | undefined;
13
+ schema: import("./Diviner").LocationCertaintyDivinerConfigSchema;
14
+ targetSchema?: LocationCertaintySchema;
14
15
  }, "schema"> & {
15
16
  schema: "network.xyo.location.elevation.diviner.config";
16
17
  }, "schema"> & {
17
18
  schema: string;
18
19
  };
19
- ephemeralQueryAccountEnabled?: boolean | undefined;
20
- moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[] | undefined;
20
+ ephemeralQueryAccountEnabled?: boolean;
21
+ moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
21
22
  }>>;
22
23
  //# sourceMappingURL=Plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAEpD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;GAQjC,CAAA"}
1
+ {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAA;AAIxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAEpD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;GAQjC,CAAA"}