@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.
- package/dist/Diviner/Config.d.mts.map +1 -0
- package/dist/Diviner/Config.d.ts +10 -0
- package/dist/Diviner/Config.d.ts.map +1 -0
- package/dist/Diviner/Diviner.d.mts.map +1 -0
- package/dist/Diviner/Diviner.d.ts +15 -0
- package/dist/Diviner/Diviner.d.ts.map +1 -0
- package/dist/Diviner/index.d.mts.map +1 -0
- package/dist/{esm/Diviner/index.js → Diviner/index.d.ts} +1 -1
- package/dist/Diviner/index.d.ts.map +1 -0
- package/dist/Plugin.d.mts +53 -0
- package/dist/Plugin.d.mts.map +1 -0
- package/dist/{types/Plugin.d.ts → Plugin.d.ts} +6 -6
- package/dist/Plugin.d.ts.map +1 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/{esm/index.js → index.d.ts} +1 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +128 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +99 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +32 -25
- package/dist/cjs/Diviner/Config.js +0 -5
- package/dist/cjs/Diviner/Config.js.map +0 -1
- package/dist/cjs/Diviner/Diviner.js +0 -77
- package/dist/cjs/Diviner/Diviner.js.map +0 -1
- package/dist/cjs/Diviner/index.js +0 -6
- package/dist/cjs/Diviner/index.js.map +0 -1
- package/dist/cjs/Plugin.js +0 -15
- package/dist/cjs/Plugin.js.map +0 -1
- package/dist/cjs/index.js +0 -10
- package/dist/cjs/index.js.map +0 -1
- package/dist/docs.json +0 -23219
- package/dist/esm/Diviner/Config.js +0 -2
- package/dist/esm/Diviner/Config.js.map +0 -1
- package/dist/esm/Diviner/Diviner.js +0 -69
- package/dist/esm/Diviner/Diviner.js.map +0 -1
- package/dist/esm/Diviner/index.js.map +0 -1
- package/dist/esm/Plugin.js +0 -10
- package/dist/esm/Plugin.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/types/Diviner/Config.d.ts.map +0 -1
- package/dist/types/Diviner/Diviner.d.ts.map +0 -1
- package/dist/types/Diviner/index.d.ts.map +0 -1
- package/dist/types/Plugin.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- /package/dist/{types/Diviner/Config.d.ts → Diviner/Config.d.mts} +0 -0
- /package/dist/{types/Diviner/Diviner.d.ts → Diviner/Diviner.d.mts} +0 -0
- /package/dist/{types/Diviner/index.d.ts → Diviner/index.d.mts} +0 -0
- /package/dist/{types/index.d.ts → index.d.mts} +0 -0
|
@@ -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"}
|
package/dist/esm/Plugin.js
DELETED
|
@@ -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
|
package/dist/esm/Plugin.js.map
DELETED
|
@@ -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"}
|
package/dist/esm/index.js.map
DELETED
|
@@ -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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|