@xyo-network/location-certainty-plugin 2.75.0 → 2.75.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 (52) hide show
  1. package/dist/browser/Diviner/Config.d.cts +10 -0
  2. package/dist/browser/Diviner/Config.d.cts.map +1 -0
  3. package/dist/browser/Diviner/Config.js +1 -2
  4. package/dist/browser/Diviner/Config.js.map +1 -1
  5. package/dist/browser/Diviner/Diviner.d.cts +15 -0
  6. package/dist/browser/Diviner/Diviner.d.cts.map +1 -0
  7. package/dist/browser/Diviner/Diviner.js +7 -12
  8. package/dist/browser/Diviner/Diviner.js.map +1 -1
  9. package/dist/browser/Diviner/index.d.cts +3 -0
  10. package/dist/browser/Diviner/index.d.cts.map +1 -0
  11. package/dist/browser/Diviner/index.js +2 -78
  12. package/dist/browser/Diviner/index.js.map +1 -1
  13. package/dist/browser/Plugin.d.cts +53 -0
  14. package/dist/browser/Plugin.d.cts.map +1 -0
  15. package/dist/browser/Plugin.js +4 -81
  16. package/dist/browser/Plugin.js.map +1 -1
  17. package/dist/browser/index.d.cts +5 -0
  18. package/dist/browser/index.d.cts.map +1 -0
  19. package/dist/browser/index.js +2 -93
  20. package/dist/browser/index.js.map +1 -1
  21. package/dist/docs.json +22683 -0
  22. package/dist/node/Diviner/Config.d.cts +10 -0
  23. package/dist/node/Diviner/Config.d.cts.map +1 -0
  24. package/dist/node/Diviner/Config.js +3 -1
  25. package/dist/node/Diviner/Config.js.map +1 -1
  26. package/dist/node/Diviner/Config.mjs +2 -1
  27. package/dist/node/Diviner/Config.mjs.map +1 -1
  28. package/dist/node/Diviner/Diviner.d.cts +15 -0
  29. package/dist/node/Diviner/Diviner.d.cts.map +1 -0
  30. package/dist/node/Diviner/Diviner.js +18 -11
  31. package/dist/node/Diviner/Diviner.js.map +1 -1
  32. package/dist/node/Diviner/Diviner.mjs +16 -10
  33. package/dist/node/Diviner/Diviner.mjs.map +1 -1
  34. package/dist/node/Diviner/index.d.cts +3 -0
  35. package/dist/node/Diviner/index.d.cts.map +1 -0
  36. package/dist/node/Diviner/index.js +88 -5
  37. package/dist/node/Diviner/index.js.map +1 -1
  38. package/dist/node/Diviner/index.mjs +79 -2
  39. package/dist/node/Diviner/index.mjs.map +1 -1
  40. package/dist/node/Plugin.d.cts +53 -0
  41. package/dist/node/Plugin.d.cts.map +1 -0
  42. package/dist/node/Plugin.js +84 -5
  43. package/dist/node/Plugin.js.map +1 -1
  44. package/dist/node/Plugin.mjs +82 -4
  45. package/dist/node/Plugin.mjs.map +1 -1
  46. package/dist/node/index.d.cts +5 -0
  47. package/dist/node/index.d.cts.map +1 -0
  48. package/dist/node/index.js +102 -7
  49. package/dist/node/index.js.map +1 -1
  50. package/dist/node/index.mjs +94 -2
  51. package/dist/node/index.mjs.map +1 -1
  52. package/package.json +14 -14
@@ -16,20 +16,99 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/Plugin.ts
19
21
  var Plugin_exports = {};
20
22
  __export(Plugin_exports, {
21
23
  LocationCertaintyPlugin: () => LocationCertaintyPlugin
22
24
  });
23
25
  module.exports = __toCommonJS(Plugin_exports);
24
- var import_location_certainty_payload_plugin = require("@xyo-network/location-certainty-payload-plugin");
26
+ var import_location_certainty_payload_plugin2 = require("@xyo-network/location-certainty-payload-plugin");
25
27
  var import_payload_model = require("@xyo-network/payload-model");
26
28
  var import_payloadset_plugin = require("@xyo-network/payloadset-plugin");
27
- var import_Diviner = require("./Diviner");
28
- const LocationCertaintyPlugin = () => (0, import_payloadset_plugin.createPayloadSetDivinerPlugin)(
29
- { required: { [import_location_certainty_payload_plugin.LocationCertaintySchema]: 1 }, schema: import_payload_model.PayloadSetSchema },
29
+
30
+ // src/Diviner/Config.ts
31
+ var LocationCertaintyDivinerConfigSchema = "network.xyo.location.elevation.diviner.config";
32
+
33
+ // src/Diviner/Diviner.ts
34
+ var import_abstract_diviner = require("@xyo-network/abstract-diviner");
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_abstract_diviner.AbstractDiviner {
40
+ static configSchemas = [LocationCertaintyDivinerConfigSchema];
41
+ static targetSchema = import_location_certainty_payload_plugin.LocationCertaintySchema;
42
+ /* Given an array of numbers, find the min/max/mean */
43
+ static calcHeuristic(heuristic) {
44
+ return {
45
+ max: heuristic.reduce((prev, value) => {
46
+ return value !== null ? value > prev ? value : prev : prev;
47
+ }, -Infinity),
48
+ mean: (() => {
49
+ const values = heuristic.reduce(
50
+ (prev, value) => {
51
+ return value !== null ? [value + prev[0], prev[1] + 1] : prev;
52
+ },
53
+ [0, 0]
54
+ );
55
+ return values[0] / values[1];
56
+ })(),
57
+ min: heuristic.reduce((prev, value) => {
58
+ return value !== null ? value < prev ? value : prev : prev;
59
+ }, Infinity)
60
+ };
61
+ }
62
+ /* Given elevation and location payloads, generate heuristic arrays */
63
+ static locationsToHeuristics(elevations, locations) {
64
+ const heuristics = elevations.reduce(
65
+ (prev, elev, index) => {
66
+ const elevation = elev.elevation;
67
+ if (elevation === void 0 || elevation === null) {
68
+ throw Error("Invalid Elevation");
69
+ }
70
+ const altitude = locations[index].altitude;
71
+ prev.altitude.push(altitude ?? null);
72
+ prev.elevation.push(elevation);
73
+ prev.variance.push(altitude !== void 0 && altitude !== null ? altitude - elevation : null);
74
+ return prev;
75
+ },
76
+ { altitude: [], elevation: [], variance: [] }
77
+ );
78
+ return heuristics;
79
+ }
80
+ /** @description Given a set of locations, get the expected elevations (witness if needed), and return score/variance */
81
+ async divineHandler(payloads) {
82
+ var _a;
83
+ const locations = payloads == null ? void 0 : payloads.filter((payload) => (payload == null ? void 0 : payload.schema) === import_location_payload_plugin.LocationSchema);
84
+ if (locations && (locations == null ? void 0 : locations.length) > 0) {
85
+ const elevationWitness = await import_elevation_plugin.ElevationWitness.create({
86
+ account: this.account,
87
+ config: {
88
+ locations,
89
+ schema: import_elevation_plugin.ElevationWitnessConfigSchema
90
+ }
91
+ });
92
+ const elevations = await elevationWitness.observe();
93
+ const heuristics = _LocationCertaintyDiviner.locationsToHeuristics(elevations, locations);
94
+ const result = new import_payload_builder.PayloadBuilder({ schema: import_location_certainty_payload_plugin.LocationCertaintySchema }).fields({
95
+ altitude: _LocationCertaintyDiviner.calcHeuristic(heuristics.altitude),
96
+ elevation: _LocationCertaintyDiviner.calcHeuristic(heuristics.elevation),
97
+ variance: _LocationCertaintyDiviner.calcHeuristic(heuristics.variance)
98
+ }).build();
99
+ (_a = this.logger) == null ? void 0 : _a.log("LocationCertaintyDiviner.Divine: Processed query");
100
+ return [result];
101
+ }
102
+ return [];
103
+ }
104
+ };
105
+
106
+ // src/Plugin.ts
107
+ var LocationCertaintyPlugin = () => (0, import_payloadset_plugin.createPayloadSetDivinerPlugin)(
108
+ { required: { [import_location_certainty_payload_plugin2.LocationCertaintySchema]: 1 }, schema: import_payload_model.PayloadSetSchema },
30
109
  {
31
110
  diviner: async (params) => {
32
- return await import_Diviner.LocationCertaintyDiviner.create(params);
111
+ return await LocationCertaintyDiviner.create(params);
33
112
  }
34
113
  }
35
114
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Plugin.ts"],"sourcesContent":["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":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+CAAwC;AACxC,2BAAiC;AACjC,+BAA8C;AAE9C,qBAAyC;AAElC,MAAM,0BAA0B,UACrC;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,gEAAuB,GAAG,EAAE,GAAG,QAAQ,sCAAiB;AAAA,EACvE;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,aAAQ,MAAM,wCAAyB,OAAO,MAAM;AAAA,IACtD;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/Plugin.ts","../../src/Diviner/Config.ts","../../src/Diviner/Diviner.ts"],"sourcesContent":["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","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/abstract-diviner'\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'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } 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 configSchemas = [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 max: heuristic.reduce<number>((prev, value) => {\n return value !== null ? (value > prev ? value : prev) : prev\n }, -Infinity),\n mean: (() => {\n const values = heuristic.reduce<number[]>(\n (prev, value) => {\n return value !== null ? [value + prev[0], prev[1] + 1] : prev\n },\n [0, 0],\n )\n return values[0] / values[1]\n })(),\n min: heuristic.reduce<number>((prev, value) => {\n return value !== null ? (value < prev ? value : prev) : prev\n }, Infinity),\n }\n }\n\n /* Given elevation and location payloads, generate heuristic arrays */\n private static locationsToHeuristics(elevations: ElevationPayload[], locations: LocationPayload[]) {\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 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 = 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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,4CAAwC;AACxC,2BAAiC;AACjC,+BAA8C;;;ACGvC,IAAM,uCAA6E;;;ACL1F,8BAAgC;AAGhC,8BAA+D;AAC/D,+CAA8F;AAC9F,qCAAgD;AAEhD,6BAA+B;AAOxB,IAAM,2BAAN,MAAM,kCACH,wCAEV;AAAA,EACE,OAAgB,gBAAgB,CAAC,oCAAoC;AAAA,EACrE,OAAgB,eAAe;AAAA;AAAA,EAG/B,OAAe,cAAc,WAA0D;AACrF,WAAO;AAAA,MACL,KAAK,UAAU,OAAe,CAAC,MAAM,UAAU;AAC7C,eAAO,UAAU,OAAQ,QAAQ,OAAO,QAAQ,OAAQ;AAAA,MAC1D,GAAG,SAAS;AAAA,MACZ,OAAO,MAAM;AACX,cAAM,SAAS,UAAU;AAAA,UACvB,CAAC,MAAM,UAAU;AACf,mBAAO,UAAU,OAAO,CAAC,QAAQ,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI;AAAA,UAC3D;AAAA,UACA,CAAC,GAAG,CAAC;AAAA,QACP;AACA,eAAO,OAAO,CAAC,IAAI,OAAO,CAAC;AAAA,MAC7B,GAAG;AAAA,MACH,KAAK,UAAU,OAAe,CAAC,MAAM,UAAU;AAC7C,eAAO,UAAU,OAAQ,QAAQ,OAAO,QAAQ,OAAQ;AAAA,MAC1D,GAAG,QAAQ;AAAA,IACb;AAAA,EACF;AAAA;AAAA,EAGA,OAAe,sBAAsB,YAAgC,WAA8B;AACjG,UAAM,aAAa,WAAW;AAAA,MAC5B,CAAC,MAAM,MAAM,UAAU;AACrB,cAAM,YAAY,KAAK;AACvB,YAAI,cAAc,UAAa,cAAc,MAAM;AACjD,gBAAM,MAAM,mBAAmB;AAAA,QACjC;AACA,cAAM,WAAW,UAAU,KAAK,EAAE;AAClC,aAAK,SAAS,KAAK,YAAY,IAAI;AACnC,aAAK,UAAU,KAAK,SAAS;AAC7B,aAAK,SAAS,KAAK,aAAa,UAAa,aAAa,OAAO,WAAW,YAAY,IAAI;AAC5F,eAAO;AAAA,MACT;AAAA,MACA,EAAE,UAAU,CAAC,GAAG,WAAW,CAAC,GAAG,UAAU,CAAC,EAAE;AAAA,IAC9C;AACA,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,MAAyB,cAAc,UAA0C;AA9DnF;AA+DI,UAAM,YAAY,qCAAU,OAAwB,CAAC,aAAwC,mCAAS,YAAW;AAEjH,QAAI,cAAa,uCAAW,UAAS,GAAG;AACtC,YAAM,mBAAmB,MAAM,yCAAiB,OAAO;AAAA,QACrD,SAAS,KAAK;AAAA,QACd,QAAQ;AAAA,UACN;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF,CAAC;AACD,YAAM,aAAc,MAAM,iBAAiB,QAAQ;AAEnD,YAAM,aAAa,0BAAyB,sBAAsB,YAAY,SAAS;AAEvF,YAAM,SAAS,IAAI,sCAAyC,EAAE,QAAQ,iEAAwB,CAAC,EAC5F,OAAO;AAAA,QACN,UAAU,0BAAyB,cAAc,WAAW,QAAQ;AAAA,QACpE,WAAW,0BAAyB,cAAc,WAAW,SAAS;AAAA,QACtE,UAAU,0BAAyB,cAAc,WAAW,QAAQ;AAAA,MACtE,CAAC,EACA,MAAM;AAET,iBAAK,WAAL,mBAAa,IAAI;AACjB,aAAO,CAAC,MAAM;AAAA,IAChB;AACA,WAAO,CAAC;AAAA,EACV;AACF;;;AFpFO,IAAM,0BAA0B,UACrC;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,iEAAuB,GAAG,EAAE,GAAG,QAAQ,sCAAiB;AAAA,EACvE;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,aAAQ,MAAM,yBAAyB,OAAO,MAAM;AAAA,IACtD;AAAA,EACF;AACF;","names":["import_location_certainty_payload_plugin"]}
@@ -1,9 +1,87 @@
1
- import { LocationCertaintySchema } from "@xyo-network/location-certainty-payload-plugin";
1
+ // src/Plugin.ts
2
+ import { LocationCertaintySchema as LocationCertaintySchema2 } from "@xyo-network/location-certainty-payload-plugin";
2
3
  import { PayloadSetSchema } from "@xyo-network/payload-model";
3
4
  import { createPayloadSetDivinerPlugin } from "@xyo-network/payloadset-plugin";
4
- import { LocationCertaintyDiviner } from "./Diviner";
5
- const LocationCertaintyPlugin = () => createPayloadSetDivinerPlugin(
6
- { required: { [LocationCertaintySchema]: 1 }, schema: PayloadSetSchema },
5
+
6
+ // src/Diviner/Config.ts
7
+ var LocationCertaintyDivinerConfigSchema = "network.xyo.location.elevation.diviner.config";
8
+
9
+ // src/Diviner/Diviner.ts
10
+ import { AbstractDiviner } from "@xyo-network/abstract-diviner";
11
+ import { ElevationWitness, ElevationWitnessConfigSchema } from "@xyo-network/elevation-plugin";
12
+ import { LocationCertaintySchema } from "@xyo-network/location-certainty-payload-plugin";
13
+ import { LocationSchema } from "@xyo-network/location-payload-plugin";
14
+ import { PayloadBuilder } from "@xyo-network/payload-builder";
15
+ var LocationCertaintyDiviner = class _LocationCertaintyDiviner extends AbstractDiviner {
16
+ static configSchemas = [LocationCertaintyDivinerConfigSchema];
17
+ static targetSchema = LocationCertaintySchema;
18
+ /* Given an array of numbers, find the min/max/mean */
19
+ static calcHeuristic(heuristic) {
20
+ return {
21
+ max: heuristic.reduce((prev, value) => {
22
+ return value !== null ? value > prev ? value : prev : prev;
23
+ }, -Infinity),
24
+ mean: (() => {
25
+ const values = heuristic.reduce(
26
+ (prev, value) => {
27
+ return value !== null ? [value + prev[0], prev[1] + 1] : prev;
28
+ },
29
+ [0, 0]
30
+ );
31
+ return values[0] / values[1];
32
+ })(),
33
+ min: heuristic.reduce((prev, value) => {
34
+ return value !== null ? value < prev ? value : prev : prev;
35
+ }, Infinity)
36
+ };
37
+ }
38
+ /* Given elevation and location payloads, generate heuristic arrays */
39
+ static locationsToHeuristics(elevations, locations) {
40
+ const heuristics = elevations.reduce(
41
+ (prev, elev, index) => {
42
+ const elevation = elev.elevation;
43
+ if (elevation === void 0 || elevation === null) {
44
+ throw Error("Invalid Elevation");
45
+ }
46
+ const altitude = locations[index].altitude;
47
+ prev.altitude.push(altitude ?? null);
48
+ prev.elevation.push(elevation);
49
+ prev.variance.push(altitude !== void 0 && altitude !== null ? altitude - elevation : null);
50
+ return prev;
51
+ },
52
+ { altitude: [], elevation: [], variance: [] }
53
+ );
54
+ return heuristics;
55
+ }
56
+ /** @description Given a set of locations, get the expected elevations (witness if needed), and return score/variance */
57
+ async divineHandler(payloads) {
58
+ var _a;
59
+ const locations = payloads == null ? void 0 : payloads.filter((payload) => (payload == null ? void 0 : payload.schema) === LocationSchema);
60
+ if (locations && (locations == null ? void 0 : locations.length) > 0) {
61
+ const elevationWitness = await ElevationWitness.create({
62
+ account: this.account,
63
+ config: {
64
+ locations,
65
+ schema: ElevationWitnessConfigSchema
66
+ }
67
+ });
68
+ const elevations = await elevationWitness.observe();
69
+ const heuristics = _LocationCertaintyDiviner.locationsToHeuristics(elevations, locations);
70
+ const result = new PayloadBuilder({ schema: LocationCertaintySchema }).fields({
71
+ altitude: _LocationCertaintyDiviner.calcHeuristic(heuristics.altitude),
72
+ elevation: _LocationCertaintyDiviner.calcHeuristic(heuristics.elevation),
73
+ variance: _LocationCertaintyDiviner.calcHeuristic(heuristics.variance)
74
+ }).build();
75
+ (_a = this.logger) == null ? void 0 : _a.log("LocationCertaintyDiviner.Divine: Processed query");
76
+ return [result];
77
+ }
78
+ return [];
79
+ }
80
+ };
81
+
82
+ // src/Plugin.ts
83
+ var LocationCertaintyPlugin = () => createPayloadSetDivinerPlugin(
84
+ { required: { [LocationCertaintySchema2]: 1 }, schema: PayloadSetSchema },
7
85
  {
8
86
  diviner: async (params) => {
9
87
  return await LocationCertaintyDiviner.create(params);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Plugin.ts"],"sourcesContent":["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":"AAAA,SAAS,+BAA+B;AACxC,SAAS,wBAAwB;AACjC,SAAS,qCAAqC;AAE9C,SAAS,gCAAgC;AAElC,MAAM,0BAA0B,MACrC;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,uBAAuB,GAAG,EAAE,GAAG,QAAQ,iBAAiB;AAAA,EACvE;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,aAAQ,MAAM,yBAAyB,OAAO,MAAM;AAAA,IACtD;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/Plugin.ts","../../src/Diviner/Config.ts","../../src/Diviner/Diviner.ts"],"sourcesContent":["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","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/abstract-diviner'\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'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } 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 configSchemas = [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 max: heuristic.reduce<number>((prev, value) => {\n return value !== null ? (value > prev ? value : prev) : prev\n }, -Infinity),\n mean: (() => {\n const values = heuristic.reduce<number[]>(\n (prev, value) => {\n return value !== null ? [value + prev[0], prev[1] + 1] : prev\n },\n [0, 0],\n )\n return values[0] / values[1]\n })(),\n min: heuristic.reduce<number>((prev, value) => {\n return value !== null ? (value < prev ? value : prev) : prev\n }, Infinity),\n }\n }\n\n /* Given elevation and location payloads, generate heuristic arrays */\n private static locationsToHeuristics(elevations: ElevationPayload[], locations: LocationPayload[]) {\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 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 = 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"],"mappings":";AAAA,SAAS,2BAAAA,gCAA+B;AACxC,SAAS,wBAAwB;AACjC,SAAS,qCAAqC;;;ACGvC,IAAM,uCAA6E;;;ACL1F,SAAS,uBAAuB;AAGhC,SAAS,kBAAkB,oCAAoC;AAC/D,SAA+D,+BAA+B;AAC9F,SAA0B,sBAAsB;AAEhD,SAAS,sBAAsB;AAOxB,IAAM,2BAAN,MAAM,kCACH,gBAEV;AAAA,EACE,OAAgB,gBAAgB,CAAC,oCAAoC;AAAA,EACrE,OAAgB,eAAe;AAAA;AAAA,EAG/B,OAAe,cAAc,WAA0D;AACrF,WAAO;AAAA,MACL,KAAK,UAAU,OAAe,CAAC,MAAM,UAAU;AAC7C,eAAO,UAAU,OAAQ,QAAQ,OAAO,QAAQ,OAAQ;AAAA,MAC1D,GAAG,SAAS;AAAA,MACZ,OAAO,MAAM;AACX,cAAM,SAAS,UAAU;AAAA,UACvB,CAAC,MAAM,UAAU;AACf,mBAAO,UAAU,OAAO,CAAC,QAAQ,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI;AAAA,UAC3D;AAAA,UACA,CAAC,GAAG,CAAC;AAAA,QACP;AACA,eAAO,OAAO,CAAC,IAAI,OAAO,CAAC;AAAA,MAC7B,GAAG;AAAA,MACH,KAAK,UAAU,OAAe,CAAC,MAAM,UAAU;AAC7C,eAAO,UAAU,OAAQ,QAAQ,OAAO,QAAQ,OAAQ;AAAA,MAC1D,GAAG,QAAQ;AAAA,IACb;AAAA,EACF;AAAA;AAAA,EAGA,OAAe,sBAAsB,YAAgC,WAA8B;AACjG,UAAM,aAAa,WAAW;AAAA,MAC5B,CAAC,MAAM,MAAM,UAAU;AACrB,cAAM,YAAY,KAAK;AACvB,YAAI,cAAc,UAAa,cAAc,MAAM;AACjD,gBAAM,MAAM,mBAAmB;AAAA,QACjC;AACA,cAAM,WAAW,UAAU,KAAK,EAAE;AAClC,aAAK,SAAS,KAAK,YAAY,IAAI;AACnC,aAAK,UAAU,KAAK,SAAS;AAC7B,aAAK,SAAS,KAAK,aAAa,UAAa,aAAa,OAAO,WAAW,YAAY,IAAI;AAC5F,eAAO;AAAA,MACT;AAAA,MACA,EAAE,UAAU,CAAC,GAAG,WAAW,CAAC,GAAG,UAAU,CAAC,EAAE;AAAA,IAC9C;AACA,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,MAAyB,cAAc,UAA0C;AA9DnF;AA+DI,UAAM,YAAY,qCAAU,OAAwB,CAAC,aAAwC,mCAAS,YAAW;AAEjH,QAAI,cAAa,uCAAW,UAAS,GAAG;AACtC,YAAM,mBAAmB,MAAM,iBAAiB,OAAO;AAAA,QACrD,SAAS,KAAK;AAAA,QACd,QAAQ;AAAA,UACN;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF,CAAC;AACD,YAAM,aAAc,MAAM,iBAAiB,QAAQ;AAEnD,YAAM,aAAa,0BAAyB,sBAAsB,YAAY,SAAS;AAEvF,YAAM,SAAS,IAAI,eAAyC,EAAE,QAAQ,wBAAwB,CAAC,EAC5F,OAAO;AAAA,QACN,UAAU,0BAAyB,cAAc,WAAW,QAAQ;AAAA,QACpE,WAAW,0BAAyB,cAAc,WAAW,SAAS;AAAA,QACtE,UAAU,0BAAyB,cAAc,WAAW,QAAQ;AAAA,MACtE,CAAC,EACA,MAAM;AAET,iBAAK,WAAL,mBAAa,IAAI;AACjB,aAAO,CAAC,MAAM;AAAA,IAChB;AACA,WAAO,CAAC;AAAA,EACV;AACF;;;AFpFO,IAAM,0BAA0B,MACrC;AAAA,EACE,EAAE,UAAU,EAAE,CAACC,wBAAuB,GAAG,EAAE,GAAG,QAAQ,iBAAiB;AAAA,EACvE;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,aAAQ,MAAM,yBAAyB,OAAO,MAAM;AAAA,IACtD;AAAA,EACF;AACF;","names":["LocationCertaintySchema","LocationCertaintySchema"]}
@@ -0,0 +1,5 @@
1
+ import { LocationCertaintyPlugin } from './Plugin';
2
+ export * from './Diviner';
3
+ export { LocationCertaintyPlugin };
4
+ export default LocationCertaintyPlugin;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAElD,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,uBAAuB,EAAE,CAAA;AAGlC,eAAe,uBAAuB,CAAA"}
@@ -15,20 +15,115 @@ var __copyProps = (to, from, except, desc) => {
15
15
  }
16
16
  return to;
17
17
  };
18
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
19
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
20
21
  var src_exports = {};
21
22
  __export(src_exports, {
22
- LocationCertaintyPlugin: () => import_Plugin.LocationCertaintyPlugin,
23
+ LocationCertaintyDiviner: () => LocationCertaintyDiviner,
24
+ LocationCertaintyDivinerConfigSchema: () => LocationCertaintyDivinerConfigSchema,
25
+ LocationCertaintyPlugin: () => LocationCertaintyPlugin,
23
26
  default: () => src_default
24
27
  });
25
28
  module.exports = __toCommonJS(src_exports);
26
- var import_Plugin = require("./Plugin");
27
- __reExport(src_exports, require("./Diviner"), module.exports);
28
- var src_default = import_Plugin.LocationCertaintyPlugin;
29
+
30
+ // src/Plugin.ts
31
+ var import_location_certainty_payload_plugin2 = require("@xyo-network/location-certainty-payload-plugin");
32
+ var import_payload_model = require("@xyo-network/payload-model");
33
+ var import_payloadset_plugin = require("@xyo-network/payloadset-plugin");
34
+
35
+ // src/Diviner/Config.ts
36
+ var LocationCertaintyDivinerConfigSchema = "network.xyo.location.elevation.diviner.config";
37
+
38
+ // src/Diviner/Diviner.ts
39
+ var import_abstract_diviner = require("@xyo-network/abstract-diviner");
40
+ var import_elevation_plugin = require("@xyo-network/elevation-plugin");
41
+ var import_location_certainty_payload_plugin = require("@xyo-network/location-certainty-payload-plugin");
42
+ var import_location_payload_plugin = require("@xyo-network/location-payload-plugin");
43
+ var import_payload_builder = require("@xyo-network/payload-builder");
44
+ var LocationCertaintyDiviner = class _LocationCertaintyDiviner extends import_abstract_diviner.AbstractDiviner {
45
+ static configSchemas = [LocationCertaintyDivinerConfigSchema];
46
+ static targetSchema = import_location_certainty_payload_plugin.LocationCertaintySchema;
47
+ /* Given an array of numbers, find the min/max/mean */
48
+ static calcHeuristic(heuristic) {
49
+ return {
50
+ max: heuristic.reduce((prev, value) => {
51
+ return value !== null ? value > prev ? value : prev : prev;
52
+ }, -Infinity),
53
+ mean: (() => {
54
+ const values = heuristic.reduce(
55
+ (prev, value) => {
56
+ return value !== null ? [value + prev[0], prev[1] + 1] : prev;
57
+ },
58
+ [0, 0]
59
+ );
60
+ return values[0] / values[1];
61
+ })(),
62
+ min: heuristic.reduce((prev, value) => {
63
+ return value !== null ? value < prev ? value : prev : prev;
64
+ }, Infinity)
65
+ };
66
+ }
67
+ /* Given elevation and location payloads, generate heuristic arrays */
68
+ static locationsToHeuristics(elevations, locations) {
69
+ const heuristics = elevations.reduce(
70
+ (prev, elev, index) => {
71
+ const elevation = elev.elevation;
72
+ if (elevation === void 0 || elevation === null) {
73
+ throw Error("Invalid Elevation");
74
+ }
75
+ const altitude = locations[index].altitude;
76
+ prev.altitude.push(altitude ?? null);
77
+ prev.elevation.push(elevation);
78
+ prev.variance.push(altitude !== void 0 && altitude !== null ? altitude - elevation : null);
79
+ return prev;
80
+ },
81
+ { altitude: [], elevation: [], variance: [] }
82
+ );
83
+ return heuristics;
84
+ }
85
+ /** @description Given a set of locations, get the expected elevations (witness if needed), and return score/variance */
86
+ async divineHandler(payloads) {
87
+ var _a;
88
+ const locations = payloads == null ? void 0 : payloads.filter((payload) => (payload == null ? void 0 : payload.schema) === import_location_payload_plugin.LocationSchema);
89
+ if (locations && (locations == null ? void 0 : locations.length) > 0) {
90
+ const elevationWitness = await import_elevation_plugin.ElevationWitness.create({
91
+ account: this.account,
92
+ config: {
93
+ locations,
94
+ schema: import_elevation_plugin.ElevationWitnessConfigSchema
95
+ }
96
+ });
97
+ const elevations = await elevationWitness.observe();
98
+ const heuristics = _LocationCertaintyDiviner.locationsToHeuristics(elevations, locations);
99
+ const result = new import_payload_builder.PayloadBuilder({ schema: import_location_certainty_payload_plugin.LocationCertaintySchema }).fields({
100
+ altitude: _LocationCertaintyDiviner.calcHeuristic(heuristics.altitude),
101
+ elevation: _LocationCertaintyDiviner.calcHeuristic(heuristics.elevation),
102
+ variance: _LocationCertaintyDiviner.calcHeuristic(heuristics.variance)
103
+ }).build();
104
+ (_a = this.logger) == null ? void 0 : _a.log("LocationCertaintyDiviner.Divine: Processed query");
105
+ return [result];
106
+ }
107
+ return [];
108
+ }
109
+ };
110
+
111
+ // src/Plugin.ts
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
+ );
120
+
121
+ // src/index.ts
122
+ var src_default = LocationCertaintyPlugin;
29
123
  // Annotate the CommonJS export names for ESM import in node:
30
124
  0 && (module.exports = {
31
- LocationCertaintyPlugin,
32
- ...require("./Diviner")
125
+ LocationCertaintyDiviner,
126
+ LocationCertaintyDivinerConfigSchema,
127
+ LocationCertaintyPlugin
33
128
  });
34
129
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import { LocationCertaintyPlugin } from './Plugin'\n\nexport * from './Diviner'\n\nexport { LocationCertaintyPlugin }\n\n// eslint-disable-next-line import/no-default-export\nexport default LocationCertaintyPlugin\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAwC;AAExC,wBAAc,sBAFd;AAOA,IAAO,cAAQ;","names":[]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/Plugin.ts","../../src/Diviner/Config.ts","../../src/Diviner/Diviner.ts"],"sourcesContent":["import { LocationCertaintyPlugin } from './Plugin'\n\nexport * from './Diviner'\n\nexport { LocationCertaintyPlugin }\n\n// eslint-disable-next-line import/no-default-export\nexport default LocationCertaintyPlugin\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","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/abstract-diviner'\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'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } 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 configSchemas = [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 max: heuristic.reduce<number>((prev, value) => {\n return value !== null ? (value > prev ? value : prev) : prev\n }, -Infinity),\n mean: (() => {\n const values = heuristic.reduce<number[]>(\n (prev, value) => {\n return value !== null ? [value + prev[0], prev[1] + 1] : prev\n },\n [0, 0],\n )\n return values[0] / values[1]\n })(),\n min: heuristic.reduce<number>((prev, value) => {\n return value !== null ? (value < prev ? value : prev) : prev\n }, Infinity),\n }\n }\n\n /* Given elevation and location payloads, generate heuristic arrays */\n private static locationsToHeuristics(elevations: ElevationPayload[], locations: LocationPayload[]) {\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 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 = 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"],"mappings":"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","names":["import_location_certainty_payload_plugin"]}
@@ -1,7 +1,99 @@
1
- import { LocationCertaintyPlugin } from "./Plugin";
2
- export * from "./Diviner";
1
+ // src/Plugin.ts
2
+ import { LocationCertaintySchema as LocationCertaintySchema2 } from "@xyo-network/location-certainty-payload-plugin";
3
+ import { PayloadSetSchema } from "@xyo-network/payload-model";
4
+ import { createPayloadSetDivinerPlugin } from "@xyo-network/payloadset-plugin";
5
+
6
+ // src/Diviner/Config.ts
7
+ var LocationCertaintyDivinerConfigSchema = "network.xyo.location.elevation.diviner.config";
8
+
9
+ // src/Diviner/Diviner.ts
10
+ import { AbstractDiviner } from "@xyo-network/abstract-diviner";
11
+ import { ElevationWitness, ElevationWitnessConfigSchema } from "@xyo-network/elevation-plugin";
12
+ import { LocationCertaintySchema } from "@xyo-network/location-certainty-payload-plugin";
13
+ import { LocationSchema } from "@xyo-network/location-payload-plugin";
14
+ import { PayloadBuilder } from "@xyo-network/payload-builder";
15
+ var LocationCertaintyDiviner = class _LocationCertaintyDiviner extends AbstractDiviner {
16
+ static configSchemas = [LocationCertaintyDivinerConfigSchema];
17
+ static targetSchema = LocationCertaintySchema;
18
+ /* Given an array of numbers, find the min/max/mean */
19
+ static calcHeuristic(heuristic) {
20
+ return {
21
+ max: heuristic.reduce((prev, value) => {
22
+ return value !== null ? value > prev ? value : prev : prev;
23
+ }, -Infinity),
24
+ mean: (() => {
25
+ const values = heuristic.reduce(
26
+ (prev, value) => {
27
+ return value !== null ? [value + prev[0], prev[1] + 1] : prev;
28
+ },
29
+ [0, 0]
30
+ );
31
+ return values[0] / values[1];
32
+ })(),
33
+ min: heuristic.reduce((prev, value) => {
34
+ return value !== null ? value < prev ? value : prev : prev;
35
+ }, Infinity)
36
+ };
37
+ }
38
+ /* Given elevation and location payloads, generate heuristic arrays */
39
+ static locationsToHeuristics(elevations, locations) {
40
+ const heuristics = elevations.reduce(
41
+ (prev, elev, index) => {
42
+ const elevation = elev.elevation;
43
+ if (elevation === void 0 || elevation === null) {
44
+ throw Error("Invalid Elevation");
45
+ }
46
+ const altitude = locations[index].altitude;
47
+ prev.altitude.push(altitude ?? null);
48
+ prev.elevation.push(elevation);
49
+ prev.variance.push(altitude !== void 0 && altitude !== null ? altitude - elevation : null);
50
+ return prev;
51
+ },
52
+ { altitude: [], elevation: [], variance: [] }
53
+ );
54
+ return heuristics;
55
+ }
56
+ /** @description Given a set of locations, get the expected elevations (witness if needed), and return score/variance */
57
+ async divineHandler(payloads) {
58
+ var _a;
59
+ const locations = payloads == null ? void 0 : payloads.filter((payload) => (payload == null ? void 0 : payload.schema) === LocationSchema);
60
+ if (locations && (locations == null ? void 0 : locations.length) > 0) {
61
+ const elevationWitness = await ElevationWitness.create({
62
+ account: this.account,
63
+ config: {
64
+ locations,
65
+ schema: ElevationWitnessConfigSchema
66
+ }
67
+ });
68
+ const elevations = await elevationWitness.observe();
69
+ const heuristics = _LocationCertaintyDiviner.locationsToHeuristics(elevations, locations);
70
+ const result = new PayloadBuilder({ schema: LocationCertaintySchema }).fields({
71
+ altitude: _LocationCertaintyDiviner.calcHeuristic(heuristics.altitude),
72
+ elevation: _LocationCertaintyDiviner.calcHeuristic(heuristics.elevation),
73
+ variance: _LocationCertaintyDiviner.calcHeuristic(heuristics.variance)
74
+ }).build();
75
+ (_a = this.logger) == null ? void 0 : _a.log("LocationCertaintyDiviner.Divine: Processed query");
76
+ return [result];
77
+ }
78
+ return [];
79
+ }
80
+ };
81
+
82
+ // src/Plugin.ts
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
+
92
+ // src/index.ts
3
93
  var src_default = LocationCertaintyPlugin;
4
94
  export {
95
+ LocationCertaintyDiviner,
96
+ LocationCertaintyDivinerConfigSchema,
5
97
  LocationCertaintyPlugin,
6
98
  src_default as default
7
99
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import { LocationCertaintyPlugin } from './Plugin'\n\nexport * from './Diviner'\n\nexport { LocationCertaintyPlugin }\n\n// eslint-disable-next-line import/no-default-export\nexport default LocationCertaintyPlugin\n"],"mappings":"AAAA,SAAS,+BAA+B;AAExC,cAAc;AAKd,IAAO,cAAQ;","names":[]}
1
+ {"version":3,"sources":["../../src/Plugin.ts","../../src/Diviner/Config.ts","../../src/Diviner/Diviner.ts","../../src/index.ts"],"sourcesContent":["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","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/abstract-diviner'\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'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } 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 configSchemas = [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 max: heuristic.reduce<number>((prev, value) => {\n return value !== null ? (value > prev ? value : prev) : prev\n }, -Infinity),\n mean: (() => {\n const values = heuristic.reduce<number[]>(\n (prev, value) => {\n return value !== null ? [value + prev[0], prev[1] + 1] : prev\n },\n [0, 0],\n )\n return values[0] / values[1]\n })(),\n min: heuristic.reduce<number>((prev, value) => {\n return value !== null ? (value < prev ? value : prev) : prev\n }, Infinity),\n }\n }\n\n /* Given elevation and location payloads, generate heuristic arrays */\n private static locationsToHeuristics(elevations: ElevationPayload[], locations: LocationPayload[]) {\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 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 = 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 { LocationCertaintyPlugin } from './Plugin'\n\nexport * from './Diviner'\n\nexport { LocationCertaintyPlugin }\n\n// eslint-disable-next-line import/no-default-export\nexport default LocationCertaintyPlugin\n"],"mappings":"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","names":["LocationCertaintySchema","LocationCertaintySchema"]}
package/package.json CHANGED
@@ -10,20 +10,20 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xyo-network/abstract-diviner": "~2.75.0",
14
- "@xyo-network/diviner-model": "~2.75.0",
15
- "@xyo-network/elevation-payload-plugin": "~2.75.0",
16
- "@xyo-network/elevation-plugin": "~2.75.0",
17
- "@xyo-network/location-certainty-payload-plugin": "~2.75.0",
18
- "@xyo-network/location-payload-plugin": "~2.75.0",
19
- "@xyo-network/module": "~2.75.0",
20
- "@xyo-network/payload-builder": "~2.75.0",
21
- "@xyo-network/payload-model": "~2.75.0",
22
- "@xyo-network/payloadset-plugin": "~2.75.0"
13
+ "@xyo-network/abstract-diviner": "~2.75.2",
14
+ "@xyo-network/diviner-model": "~2.75.2",
15
+ "@xyo-network/elevation-payload-plugin": "~2.75.2",
16
+ "@xyo-network/elevation-plugin": "~2.75.2",
17
+ "@xyo-network/location-certainty-payload-plugin": "~2.75.2",
18
+ "@xyo-network/location-payload-plugin": "~2.75.2",
19
+ "@xyo-network/module": "~2.75.2",
20
+ "@xyo-network/payload-builder": "~2.75.2",
21
+ "@xyo-network/payload-model": "~2.75.2",
22
+ "@xyo-network/payloadset-plugin": "~2.75.2"
23
23
  },
24
24
  "devDependencies": {
25
- "@xylabs/ts-scripts-yarn3": "^3.0.70",
26
- "@xylabs/tsconfig": "^3.0.70",
25
+ "@xylabs/ts-scripts-yarn3": "^3.0.77",
26
+ "@xylabs/tsconfig": "^3.0.77",
27
27
  "typescript": "^5.2.2"
28
28
  },
29
29
  "description": "Primary SDK for using XYO Protocol 2.0",
@@ -33,7 +33,7 @@
33
33
  ".": {
34
34
  "browser": {
35
35
  "require": {
36
- "types": "./dist/browser/index.d.ts",
36
+ "types": "./dist/browser/index.d.cts",
37
37
  "default": "./dist/browser/index.cjs"
38
38
  },
39
39
  "import": {
@@ -69,5 +69,5 @@
69
69
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
70
70
  },
71
71
  "sideEffects": false,
72
- "version": "2.75.0"
72
+ "version": "2.75.2"
73
73
  }