@xyo-network/location-certainty-plugin 2.73.3 → 2.74.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/Diviner/Config.d.mts.map +1 -0
  2. package/dist/Diviner/Config.d.ts +10 -0
  3. package/dist/Diviner/Config.d.ts.map +1 -0
  4. package/dist/Diviner/Diviner.d.mts.map +1 -0
  5. package/dist/Diviner/Diviner.d.ts +15 -0
  6. package/dist/Diviner/Diviner.d.ts.map +1 -0
  7. package/dist/Diviner/index.d.mts.map +1 -0
  8. package/dist/{esm/Diviner/index.js → Diviner/index.d.ts} +1 -1
  9. package/dist/Diviner/index.d.ts.map +1 -0
  10. package/dist/Plugin.d.mts +53 -0
  11. package/dist/Plugin.d.mts.map +1 -0
  12. package/dist/{types/Plugin.d.ts → Plugin.d.ts} +6 -6
  13. package/dist/Plugin.d.ts.map +1 -0
  14. package/dist/index.d.mts.map +1 -0
  15. package/dist/{esm/index.js → index.d.ts} +1 -2
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +128 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/index.mjs +99 -0
  20. package/dist/index.mjs.map +1 -0
  21. package/package.json +32 -25
  22. package/dist/cjs/Diviner/Config.js +0 -5
  23. package/dist/cjs/Diviner/Config.js.map +0 -1
  24. package/dist/cjs/Diviner/Diviner.js +0 -77
  25. package/dist/cjs/Diviner/Diviner.js.map +0 -1
  26. package/dist/cjs/Diviner/index.js +0 -6
  27. package/dist/cjs/Diviner/index.js.map +0 -1
  28. package/dist/cjs/Plugin.js +0 -15
  29. package/dist/cjs/Plugin.js.map +0 -1
  30. package/dist/cjs/index.js +0 -10
  31. package/dist/cjs/index.js.map +0 -1
  32. package/dist/docs.json +0 -23219
  33. package/dist/esm/Diviner/Config.js +0 -2
  34. package/dist/esm/Diviner/Config.js.map +0 -1
  35. package/dist/esm/Diviner/Diviner.js +0 -69
  36. package/dist/esm/Diviner/Diviner.js.map +0 -1
  37. package/dist/esm/Diviner/index.js.map +0 -1
  38. package/dist/esm/Plugin.js +0 -10
  39. package/dist/esm/Plugin.js.map +0 -1
  40. package/dist/esm/index.js.map +0 -1
  41. package/dist/types/Diviner/Config.d.ts.map +0 -1
  42. package/dist/types/Diviner/Diviner.d.ts.map +0 -1
  43. package/dist/types/Diviner/index.d.ts.map +0 -1
  44. package/dist/types/Plugin.d.ts.map +0 -1
  45. package/dist/types/index.d.ts.map +0 -1
  46. /package/dist/{types/Diviner/Config.d.ts → Diviner/Config.d.mts} +0 -0
  47. /package/dist/{types/Diviner/Diviner.d.ts → Diviner/Diviner.d.mts} +0 -0
  48. /package/dist/{types/Diviner/index.d.ts → Diviner/index.d.mts} +0 -0
  49. /package/dist/{types/index.d.ts → index.d.mts} +0 -0
@@ -1,2 +0,0 @@
1
- export const LocationCertaintyDivinerConfigSchema = 'network.xyo.location.elevation.diviner.config';
2
- //# sourceMappingURL=Config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../src/Diviner/Config.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,oCAAoC,GAAyC,+CAA+C,CAAA"}
@@ -1,69 +0,0 @@
1
- import { AbstractDiviner } from '@xyo-network/abstract-diviner';
2
- import { ElevationWitness, ElevationWitnessConfigSchema } from '@xyo-network/elevation-plugin';
3
- import { LocationCertaintySchema } from '@xyo-network/location-certainty-payload-plugin';
4
- import { LocationSchema } from '@xyo-network/location-payload-plugin';
5
- import { PayloadBuilder } from '@xyo-network/payload-builder';
6
- import { LocationCertaintyDivinerConfigSchema } from './Config';
7
- export class LocationCertaintyDiviner extends AbstractDiviner {
8
- static configSchemas = [LocationCertaintyDivinerConfigSchema];
9
- static targetSchema = LocationCertaintySchema;
10
- /* Given an array of numbers, find the min/max/mean */
11
- static calcHeuristic(heuristic) {
12
- return {
13
- max: heuristic.reduce((prev, value) => {
14
- return value !== null ? (value > prev ? value : prev) : prev;
15
- }, -Infinity),
16
- mean: (() => {
17
- const values = heuristic.reduce((prev, value) => {
18
- return value !== null ? [value + prev[0], prev[1] + 1] : prev;
19
- }, [0, 0]);
20
- return values[0] / values[1];
21
- })(),
22
- min: heuristic.reduce((prev, value) => {
23
- return value !== null ? (value < prev ? value : prev) : prev;
24
- }, Infinity),
25
- };
26
- }
27
- /* Given elevation and location payloads, generate heuristic arrays */
28
- static locationsToHeuristics(elevations, locations) {
29
- const heuristics = elevations.reduce((prev, elev, index) => {
30
- const elevation = elev.elevation;
31
- if (elevation === undefined || elevation === null) {
32
- throw Error('Invalid Elevation');
33
- }
34
- const altitude = locations[index].altitude;
35
- prev.altitude.push(altitude ?? null);
36
- prev.elevation.push(elevation);
37
- prev.variance.push(altitude !== undefined && altitude !== null ? altitude - elevation : null);
38
- return prev;
39
- }, { altitude: [], elevation: [], variance: [] });
40
- return heuristics;
41
- }
42
- /** @description Given a set of locations, get the expected elevations (witness if needed), and return score/variance */
43
- async divineHandler(payloads) {
44
- const locations = payloads?.filter((payload) => payload?.schema === LocationSchema);
45
- // If this is a query we support
46
- if (locations && locations?.length > 0) {
47
- const elevationWitness = await ElevationWitness.create({
48
- account: this.account,
49
- config: {
50
- locations,
51
- schema: ElevationWitnessConfigSchema,
52
- },
53
- });
54
- const elevations = (await elevationWitness.observe());
55
- const heuristics = LocationCertaintyDiviner.locationsToHeuristics(elevations, locations);
56
- const result = new PayloadBuilder({ schema: LocationCertaintySchema })
57
- .fields({
58
- altitude: LocationCertaintyDiviner.calcHeuristic(heuristics.altitude),
59
- elevation: LocationCertaintyDiviner.calcHeuristic(heuristics.elevation),
60
- variance: LocationCertaintyDiviner.calcHeuristic(heuristics.variance),
61
- })
62
- .build();
63
- this.logger?.log('LocationCertaintyDiviner.Divine: Processed query');
64
- return [result];
65
- }
66
- return [];
67
- }
68
- }
69
- //# sourceMappingURL=Diviner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Diviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
@@ -1,10 +0,0 @@
1
- import { LocationCertaintySchema } from '@xyo-network/location-certainty-payload-plugin';
2
- import { PayloadSetSchema } from '@xyo-network/payload-model';
3
- import { createPayloadSetDivinerPlugin } from '@xyo-network/payloadset-plugin';
4
- import { LocationCertaintyDiviner } from './Diviner';
5
- export const LocationCertaintyPlugin = () => createPayloadSetDivinerPlugin({ required: { [LocationCertaintySchema]: 1 }, schema: PayloadSetSchema }, {
6
- diviner: async (params) => {
7
- return (await LocationCertaintyDiviner.create(params));
8
- },
9
- });
10
- //# sourceMappingURL=Plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAA;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAA;AAE9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAEpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,EAAE,CAC1C,6BAA6B,CAC3B,EAAE,QAAQ,EAAE,EAAE,CAAC,uBAAuB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,EACxE;IACE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACxB,OAAO,CAAC,MAAM,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,CAA6B,CAAA;IACpF,CAAC;CACF,CACF,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","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;AAElC,oDAAoD;AACpD,eAAe,uBAAuB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAA;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,MAAM,MAAM,oCAAoC,GAAG,+CAA+C,CAAA;AAClG,eAAO,MAAM,oCAAoC,EAAE,oCAAsF,CAAA;AAEzI,MAAM,MAAM,8BAA8B,CAAC,OAAO,SAAS,OAAO,GAAG,OAAO,IAAI,aAAa,CAC3F,OAAO,GAAG;IACR,MAAM,EAAE,oCAAoC,CAAA;IAC5C,YAAY,CAAC,EAAE,uBAAuB,CAAA;CACvC,CACF,CAAA"}
@@ -1 +0,0 @@
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,qBAAqB,CAAA;AAErD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,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,OAAgB,aAAa,oDAAyC;IACtE,OAAgB,YAAY,mCAA0B;IAGtD,OAAO,CAAC,MAAM,CAAC,aAAa;IAqB5B,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAkBpC,wHAAwH;cAC/F,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CA4BjF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Diviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
@@ -1 +0,0 @@
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 +0,0 @@
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"}
File without changes