@signalk/path-metadata 0.1.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 (73) hide show
  1. package/dist/ais-ship-types.d.ts +2 -0
  2. package/dist/ais-ship-types.d.ts.map +1 -0
  3. package/dist/ais-ship-types.js +89 -0
  4. package/dist/ais-ship-types.js.map +1 -0
  5. package/dist/aton-types.d.ts +2 -0
  6. package/dist/aton-types.d.ts.map +1 -0
  7. package/dist/aton-types.js +42 -0
  8. package/dist/aton-types.js.map +1 -0
  9. package/dist/communication.d.ts +3 -0
  10. package/dist/communication.d.ts.map +1 -0
  11. package/dist/communication.js +33 -0
  12. package/dist/communication.js.map +1 -0
  13. package/dist/design.d.ts +3 -0
  14. package/dist/design.d.ts.map +1 -0
  15. package/dist/design.js +113 -0
  16. package/dist/design.js.map +1 -0
  17. package/dist/electrical.d.ts +3 -0
  18. package/dist/electrical.d.ts.map +1 -0
  19. package/dist/electrical.js +602 -0
  20. package/dist/electrical.js.map +1 -0
  21. package/dist/environment.d.ts +3 -0
  22. package/dist/environment.d.ts.map +1 -0
  23. package/dist/environment.js +260 -0
  24. package/dist/environment.js.map +1 -0
  25. package/dist/index.d.ts +52 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +223 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/navigation.d.ts +3 -0
  30. package/dist/navigation.d.ts.map +1 -0
  31. package/dist/navigation.js +474 -0
  32. package/dist/navigation.js.map +1 -0
  33. package/dist/notifications.d.ts +3 -0
  34. package/dist/notifications.d.ts.map +1 -0
  35. package/dist/notifications.js +75 -0
  36. package/dist/notifications.js.map +1 -0
  37. package/dist/performance.d.ts +3 -0
  38. package/dist/performance.d.ts.map +1 -0
  39. package/dist/performance.js +105 -0
  40. package/dist/performance.js.map +1 -0
  41. package/dist/propulsion.d.ts +3 -0
  42. package/dist/propulsion.d.ts.map +1 -0
  43. package/dist/propulsion.js +133 -0
  44. package/dist/propulsion.js.map +1 -0
  45. package/dist/registrations.d.ts +3 -0
  46. package/dist/registrations.d.ts.map +1 -0
  47. package/dist/registrations.js +51 -0
  48. package/dist/registrations.js.map +1 -0
  49. package/dist/root.d.ts +3 -0
  50. package/dist/root.d.ts.map +1 -0
  51. package/dist/root.js +284 -0
  52. package/dist/root.js.map +1 -0
  53. package/dist/sails.d.ts +3 -0
  54. package/dist/sails.d.ts.map +1 -0
  55. package/dist/sails.js +65 -0
  56. package/dist/sails.js.map +1 -0
  57. package/dist/sensors.d.ts +3 -0
  58. package/dist/sensors.d.ts.map +1 -0
  59. package/dist/sensors.js +32 -0
  60. package/dist/sensors.js.map +1 -0
  61. package/dist/steering.d.ts +3 -0
  62. package/dist/steering.d.ts.map +1 -0
  63. package/dist/steering.js +72 -0
  64. package/dist/steering.js.map +1 -0
  65. package/dist/tanks.d.ts +3 -0
  66. package/dist/tanks.d.ts.map +1 -0
  67. package/dist/tanks.js +386 -0
  68. package/dist/tanks.js.map +1 -0
  69. package/dist/types.d.ts +28 -0
  70. package/dist/types.d.ts.map +1 -0
  71. package/dist/types.js +6 -0
  72. package/dist/types.js.map +1 -0
  73. package/package.json +24 -0
@@ -0,0 +1,260 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.environmentMetadata = void 0;
4
+ exports.environmentMetadata = {
5
+ '/vessels/*/environment': {
6
+ description: 'Environmental data measured locally including Depth, Wind, Temp, etc.'
7
+ },
8
+ '/vessels/*/environment/outside': {
9
+ description: "Environmental conditions outside of the vessel's hull"
10
+ },
11
+ '/vessels/*/environment/outside/temperature': {
12
+ description: 'Current outside air temperature',
13
+ units: 'K'
14
+ },
15
+ '/vessels/*/environment/outside/dewPointTemperature': {
16
+ description: 'Current outside dew point temperature',
17
+ units: 'K'
18
+ },
19
+ '/vessels/*/environment/outside/apparentWindChillTemperature': {
20
+ description: 'Current outside apparent wind chill temperature',
21
+ units: 'K'
22
+ },
23
+ '/vessels/*/environment/outside/theoreticalWindChillTemperature': {
24
+ description: 'Current outside theoretical wind chill temperature',
25
+ units: 'K'
26
+ },
27
+ '/vessels/*/environment/outside/heatIndexTemperature': {
28
+ description: 'Current outside heat index temperature',
29
+ units: 'K'
30
+ },
31
+ '/vessels/*/environment/outside/pressure': {
32
+ description: 'Current outside air ambient pressure',
33
+ units: 'Pa'
34
+ },
35
+ '/vessels/*/environment/outside/humidity': {
36
+ description: 'DEPRECATED: use relativeHumidity',
37
+ units: 'ratio'
38
+ },
39
+ '/vessels/*/environment/outside/relativeHumidity': {
40
+ description: 'Current outside air relative humidity',
41
+ units: 'ratio'
42
+ },
43
+ '/vessels/*/environment/outside/airDensity': {
44
+ description: 'Current outside air density',
45
+ units: 'kg/m3'
46
+ },
47
+ '/vessels/*/environment/outside/illuminance': {
48
+ description: 'Current outside ambient light flux.',
49
+ units: 'Lux'
50
+ },
51
+ '/vessels/*/environment/inside': {
52
+ description: "Environmental conditions inside the vessel's hull"
53
+ },
54
+ '/vessels/*/environment/inside/temperature': {
55
+ description: 'Temperature',
56
+ units: 'K'
57
+ },
58
+ '/vessels/*/environment/inside/heatIndexTemperature': {
59
+ description: 'Current heat index temperature in zone',
60
+ units: 'K'
61
+ },
62
+ '/vessels/*/environment/inside/pressure': {
63
+ description: 'Pressure in zone',
64
+ units: 'Pa'
65
+ },
66
+ '/vessels/*/environment/inside/relativeHumidity': {
67
+ description: 'Relative humidity in zone',
68
+ units: 'ratio'
69
+ },
70
+ '/vessels/*/environment/inside/dewPoint': {
71
+ description: 'DEPRECATED: use dewPointTemperature',
72
+ units: 'K'
73
+ },
74
+ '/vessels/*/environment/inside/dewPointTemperature': {
75
+ description: 'Dewpoint in zone',
76
+ units: 'K'
77
+ },
78
+ '/vessels/*/environment/inside/airDensity': {
79
+ description: 'Air density in zone',
80
+ units: 'kg/m3'
81
+ },
82
+ '/vessels/*/environment/inside/illuminance': {
83
+ description: 'Illuminance in zone',
84
+ units: 'Lux'
85
+ },
86
+ '/vessels/*/environment/inside/[A-Za-z0-9]+': {
87
+ description: 'This regex pattern is used for validation of the identifier for the environmental zone, eg. engineRoom, mainCabin, refrigerator'
88
+ },
89
+ '/vessels/*/environment/inside/[A-Za-z0-9]+/temperature': {
90
+ description: 'Temperature',
91
+ units: 'K'
92
+ },
93
+ '/vessels/*/environment/inside/[A-Za-z0-9]+/heatIndexTemperature': {
94
+ description: 'Current heat index temperature in zone',
95
+ units: 'K'
96
+ },
97
+ '/vessels/*/environment/inside/[A-Za-z0-9]+/pressure': {
98
+ description: 'Pressure in zone',
99
+ units: 'Pa'
100
+ },
101
+ '/vessels/*/environment/inside/[A-Za-z0-9]+/relativeHumidity': {
102
+ description: 'Relative humidity in zone',
103
+ units: 'ratio'
104
+ },
105
+ '/vessels/*/environment/inside/[A-Za-z0-9]+/dewPoint': {
106
+ description: 'DEPRECATED: use dewPointTemperature',
107
+ units: 'K'
108
+ },
109
+ '/vessels/*/environment/inside/[A-Za-z0-9]+/dewPointTemperature': {
110
+ description: 'Dewpoint in zone',
111
+ units: 'K'
112
+ },
113
+ '/vessels/*/environment/inside/[A-Za-z0-9]+/airDensity': {
114
+ description: 'Air density in zone',
115
+ units: 'kg/m3'
116
+ },
117
+ '/vessels/*/environment/inside/[A-Za-z0-9]+/illuminance': {
118
+ description: 'Illuminance in zone',
119
+ units: 'Lux'
120
+ },
121
+ '/vessels/*/environment/water': {
122
+ description: 'Environmental conditions of the water that the vessel is sailing in'
123
+ },
124
+ '/vessels/*/environment/water/temperature': {
125
+ description: 'Current water temperature',
126
+ units: 'K'
127
+ },
128
+ '/vessels/*/environment/water/salinity': {
129
+ description: 'Water salinity',
130
+ units: 'ratio'
131
+ },
132
+ '/vessels/*/environment/depth': {
133
+ description: 'Depth related data'
134
+ },
135
+ '/vessels/*/environment/depth/belowKeel': {
136
+ description: 'Depth below keel',
137
+ units: 'm'
138
+ },
139
+ '/vessels/*/environment/depth/belowTransducer': {
140
+ description: 'Depth below Transducer',
141
+ units: 'm'
142
+ },
143
+ '/vessels/*/environment/depth/belowSurface': {
144
+ description: 'Depth from surface',
145
+ units: 'm'
146
+ },
147
+ '/vessels/*/environment/depth/transducerToKeel': {
148
+ description: 'Depth from the transducer to the bottom of the keel',
149
+ units: 'm'
150
+ },
151
+ '/vessels/*/environment/depth/surfaceToTransducer': {
152
+ description: 'Depth transducer is below the water surface',
153
+ units: 'm'
154
+ },
155
+ '/vessels/*/environment/current': {
156
+ description: 'Direction and strength of current affecting the vessel',
157
+ properties: {
158
+ drift: {
159
+ type: 'number',
160
+ description: 'The speed component of the water current vector',
161
+ example: 3.12,
162
+ units: 'm/s'
163
+ },
164
+ setTrue: {
165
+ type: 'number',
166
+ description: 'The direction component of the water current vector referenced to true (geographic) north',
167
+ example: 2.155,
168
+ units: 'rad'
169
+ },
170
+ setMagnetic: {
171
+ type: 'number',
172
+ description: 'The direction component of the water current vector referenced to magnetic north',
173
+ example: 2.29,
174
+ units: 'rad'
175
+ }
176
+ }
177
+ },
178
+ '/vessels/*/environment/tide': {
179
+ description: 'Tide data'
180
+ },
181
+ '/vessels/*/environment/tide/heightHigh': {
182
+ description: 'Next high tide height relative to lowest astronomical tide (LAT/Chart Datum)',
183
+ units: 'm'
184
+ },
185
+ '/vessels/*/environment/tide/heightNow': {
186
+ description: 'The current tide height relative to lowest astronomical tide (LAT/Chart Datum)',
187
+ units: 'm'
188
+ },
189
+ '/vessels/*/environment/tide/heightLow': {
190
+ description: 'The next low tide height relative to lowest astronomical tide (LAT/Chart Datum)',
191
+ units: 'm'
192
+ },
193
+ '/vessels/*/environment/tide/timeLow': {
194
+ description: 'RFC 3339 (UTC only without local offset) string representing date and time.',
195
+ units: 'RFC 3339 (UTC)'
196
+ },
197
+ '/vessels/*/environment/tide/timeHigh': {
198
+ description: 'RFC 3339 (UTC only without local offset) string representing date and time.',
199
+ units: 'RFC 3339 (UTC)'
200
+ },
201
+ '/vessels/*/environment/heave': {
202
+ description: 'Vertical movement of the vessel due to waves',
203
+ units: 'm'
204
+ },
205
+ '/vessels/*/environment/wind': {
206
+ description: 'Wind data.'
207
+ },
208
+ '/vessels/*/environment/wind/angleApparent': {
209
+ description: 'Apparent wind angle, negative to port',
210
+ units: 'rad'
211
+ },
212
+ '/vessels/*/environment/wind/angleTrueGround': {
213
+ description: 'True wind angle based on speed over ground, negative to port',
214
+ units: 'rad'
215
+ },
216
+ '/vessels/*/environment/wind/angleTrueWater': {
217
+ description: 'True wind angle based on speed through water, negative to port',
218
+ units: 'rad'
219
+ },
220
+ '/vessels/*/environment/wind/directionChangeAlarm': {
221
+ description: 'The angle the wind needs to shift to raise an alarm',
222
+ units: 'rad'
223
+ },
224
+ '/vessels/*/environment/wind/directionTrue': {
225
+ description: 'The wind direction relative to true north',
226
+ units: 'rad'
227
+ },
228
+ '/vessels/*/environment/wind/directionMagnetic': {
229
+ description: 'The wind direction relative to magnetic north',
230
+ units: 'rad'
231
+ },
232
+ '/vessels/*/environment/wind/speedTrue': {
233
+ description: "Wind speed over water (as calculated from speedApparent and vessel's speed through water)",
234
+ units: 'm/s'
235
+ },
236
+ '/vessels/*/environment/wind/speedOverGround': {
237
+ description: "Wind speed over ground (as calculated from speedApparent and vessel's speed over ground)",
238
+ units: 'm/s'
239
+ },
240
+ '/vessels/*/environment/wind/speedApparent': {
241
+ description: 'Apparent wind speed',
242
+ units: 'm/s'
243
+ },
244
+ '/vessels/*/environment/time': {
245
+ description: 'A time reference for the vessel. All clocks on the vessel dispaying local time should use the timezone offset here. If a timezoneRegion is supplied the timezone must also be supplied. If timezoneRegion is supplied that should be displayed by UIs in preference to simply timezone. ie 12:05 (Europe/London) should be displayed in preference to 12:05 (UTC+01:00)'
246
+ },
247
+ '/vessels/*/environment/time/millis': {
248
+ description: 'Milliseconds since the UNIX epoch (1970-01-01 00:00:00)'
249
+ },
250
+ '/vessels/*/environment/time/timezoneOffset': {
251
+ description: 'Onboard timezone offset from UTC in hours and minutes (-)hhmm. +ve means east of Greenwich. For use by UIs'
252
+ },
253
+ '/vessels/*/environment/time/timezoneRegion': {
254
+ description: 'Onboard timezone offset as listed in the IANA timezone database (tz database)'
255
+ },
256
+ '/vessels/*/environment/mode': {
257
+ description: 'Mode of the vessel based on the current conditions. Can be combined with navigation.state to control vessel signals eg switch to night mode for instrumentation and lights, or make sound signals for fog.'
258
+ }
259
+ };
260
+ //# sourceMappingURL=environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Signal K Path Metadata Registry
3
+ *
4
+ * Provides lookup of well-known path metadata (units, description, enum)
5
+ * via regex-based matching. Supports runtime additions from meta deltas.
6
+ */
7
+ import type { PathMetadataEntry } from './types';
8
+ export type { PathMetadataEntry } from './types';
9
+ export { getAISShipTypeName } from './ais-ship-types';
10
+ export { getAtonTypeName } from './aton-types';
11
+ export declare class MetadataRegistry {
12
+ private allMetadata;
13
+ private regexEntries;
14
+ private readonly seedEntries;
15
+ constructor(entries: Record<string, PathMetadataEntry>);
16
+ /**
17
+ * Restore the registry to its construction-time state, dropping any
18
+ * runtime additions made via addMetaData / internalGetMetadata. Intended
19
+ * for test isolation; production code should not call this.
20
+ */
21
+ reset(): void;
22
+ /**
23
+ * Look up metadata for a dot-separated Signal K path.
24
+ * Returns the metadata entry or undefined if no match.
25
+ */
26
+ getMetadata(path: string): PathMetadataEntry | undefined;
27
+ /**
28
+ * Get or create a metadata entry for a specific context+path combination.
29
+ * Used internally by FullSignalK to attach metadata to first-seen values.
30
+ * If an exact entry doesn't exist, clones the matched pattern entry
31
+ * so runtime metadata additions don't pollute the template.
32
+ */
33
+ internalGetMetadata(path: string): PathMetadataEntry | undefined;
34
+ /**
35
+ * Merge runtime metadata into the registry for a specific context+path.
36
+ * Called when meta deltas are received. Mirrors the @signalk/signalk-schema
37
+ * v2.25 semantics:
38
+ * - If the exact per-path key already exists, merge the new fields in.
39
+ * - If it doesn't, seed the new entry from any matching spec (RegExp)
40
+ * template so untouched fields (units, enum, etc.) stay intact, then
41
+ * merge the plugin's fields on top. The per-path regex goes to the
42
+ * FRONT of the lookup array so getMetadata() finds it before the
43
+ * generic spec wildcard.
44
+ */
45
+ addMetaData(context: string, path: string, meta: Record<string, unknown>): void;
46
+ /** Return all registered metadata entries (for the /paths endpoint). */
47
+ getAllMetadata(): Record<string, PathMetadataEntry>;
48
+ }
49
+ export declare const metadataRegistry: MetadataRegistry;
50
+ /** Look up metadata for a dot-separated Signal K path. */
51
+ export declare function getMetadata(path: string): PathMetadataEntry | undefined;
52
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAiBhD,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAmF9C,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmC;gBAEnD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAMtD;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAKb;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAUxD;;;;;OAKG;IACH,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IA0ChE;;;;;;;;;;OAUG;IACH,WAAW,CACT,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,IAAI;IAgCP,wEAAwE;IACxE,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC;CAGpD;AAOD,eAAO,MAAM,gBAAgB,kBAAmC,CAAA;AAEhE,0DAA0D;AAC1D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEvE"}
package/dist/index.js ADDED
@@ -0,0 +1,223 @@
1
+ "use strict";
2
+ /**
3
+ * Signal K Path Metadata Registry
4
+ *
5
+ * Provides lookup of well-known path metadata (units, description, enum)
6
+ * via regex-based matching. Supports runtime additions from meta deltas.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.metadataRegistry = exports.MetadataRegistry = exports.getAtonTypeName = exports.getAISShipTypeName = void 0;
10
+ exports.getMetadata = getMetadata;
11
+ const root_1 = require("./root");
12
+ const navigation_1 = require("./navigation");
13
+ const environment_1 = require("./environment");
14
+ const electrical_1 = require("./electrical");
15
+ const tanks_1 = require("./tanks");
16
+ const propulsion_1 = require("./propulsion");
17
+ const performance_1 = require("./performance");
18
+ const sails_1 = require("./sails");
19
+ const steering_1 = require("./steering");
20
+ const design_1 = require("./design");
21
+ const registrations_1 = require("./registrations");
22
+ const communication_1 = require("./communication");
23
+ const sensors_1 = require("./sensors");
24
+ const notifications_1 = require("./notifications");
25
+ var ais_ship_types_1 = require("./ais-ship-types");
26
+ Object.defineProperty(exports, "getAISShipTypeName", { enumerable: true, get: function () { return ais_ship_types_1.getAISShipTypeName; } });
27
+ var aton_types_1 = require("./aton-types");
28
+ Object.defineProperty(exports, "getAtonTypeName", { enumerable: true, get: function () { return aton_types_1.getAtonTypeName; } });
29
+ const vesselMetadata = {
30
+ ...navigation_1.navigationMetadata,
31
+ ...environment_1.environmentMetadata,
32
+ ...electrical_1.electricalMetadata,
33
+ ...tanks_1.tanksMetadata,
34
+ ...propulsion_1.propulsionMetadata,
35
+ ...performance_1.performanceMetadata,
36
+ ...sails_1.sailsMetadata,
37
+ ...steering_1.steeringMetadata,
38
+ ...design_1.designMetadata,
39
+ ...registrations_1.registrationsMetadata,
40
+ ...communication_1.communicationMetadata,
41
+ ...sensors_1.sensorsMetadata,
42
+ ...notifications_1.notificationsMetadata
43
+ };
44
+ /**
45
+ * Expand /vessels/* paths to also cover /aircraft/*, /aton/*, /sar/*
46
+ * since they share the same data model structure.
47
+ */
48
+ function expandContextPrefixes(entries) {
49
+ const expanded = {};
50
+ for (const [key, value] of Object.entries(entries)) {
51
+ expanded[key] = value;
52
+ if (key.startsWith('/vessels/*/')) {
53
+ const suffix = key.slice('/vessels/*/'.length);
54
+ expanded[`/aircraft/*/${suffix}`] = value;
55
+ expanded[`/aton/*/${suffix}`] = value;
56
+ expanded[`/sar/*/${suffix}`] = value;
57
+ }
58
+ }
59
+ return expanded;
60
+ }
61
+ function buildRegexArray(allEntries) {
62
+ const result = [];
63
+ for (const [key, metadata] of Object.entries(allEntries)) {
64
+ // Convert path wildcards to regex: * → [^/]+ and RegExp → [^/]+
65
+ const pattern = key
66
+ .replace(/\*/g, '[^/]+')
67
+ .replace(/RegExp/g, '[^/]+')
68
+ .replace(/\(([^)]+)\)/g, '($1)'); // preserve regex groups like (single)|([A-C])
69
+ // Skip entries whose key ends in a bare wildcard. These are container
70
+ // shapes (e.g. /vessels/*/electrical/ac/RegExp defines "an AC bus",
71
+ // not "any child of electrical.ac"). Letting them match would attach
72
+ // the container description to plugin-invented siblings — matches the
73
+ // old @signalk/signalk-schema behaviour.
74
+ if (key.endsWith('/*') || key.endsWith('/RegExp')) {
75
+ continue;
76
+ }
77
+ try {
78
+ result.push({
79
+ pattern: new RegExp(`^${pattern}$`),
80
+ key,
81
+ metadata
82
+ });
83
+ }
84
+ catch (e) {
85
+ // A bad metadata key shouldn't take the whole registry down, but
86
+ // it must be visible so the typo or unescaped regex special
87
+ // character can be tracked down. The check runs once at module
88
+ // load over a static set of keys, so warning in production is
89
+ // both cheap and the only way to catch a bug introduced by a
90
+ // future schema sync.
91
+ console.warn(`path-metadata: skipping invalid pattern for key "${key}": ${e.message}`);
92
+ }
93
+ }
94
+ return result;
95
+ }
96
+ class MetadataRegistry {
97
+ allMetadata;
98
+ regexEntries;
99
+ seedEntries;
100
+ constructor(entries) {
101
+ this.seedEntries = entries;
102
+ this.allMetadata = { ...entries };
103
+ this.regexEntries = buildRegexArray(this.allMetadata);
104
+ }
105
+ /**
106
+ * Restore the registry to its construction-time state, dropping any
107
+ * runtime additions made via addMetaData / internalGetMetadata. Intended
108
+ * for test isolation; production code should not call this.
109
+ */
110
+ reset() {
111
+ this.allMetadata = { ...this.seedEntries };
112
+ this.regexEntries = buildRegexArray(this.allMetadata);
113
+ }
114
+ /**
115
+ * Look up metadata for a dot-separated Signal K path.
116
+ * Returns the metadata entry or undefined if no match.
117
+ */
118
+ getMetadata(path) {
119
+ const slashPath = '/' + path.replace(/\./g, '/');
120
+ const result = this.regexEntries.find((entry) => entry.pattern.test(slashPath));
121
+ return result && result.metadata && Object.keys(result.metadata).length > 0
122
+ ? result.metadata
123
+ : undefined;
124
+ }
125
+ /**
126
+ * Get or create a metadata entry for a specific context+path combination.
127
+ * Used internally by FullSignalK to attach metadata to first-seen values.
128
+ * If an exact entry doesn't exist, clones the matched pattern entry
129
+ * so runtime metadata additions don't pollute the template.
130
+ */
131
+ internalGetMetadata(path) {
132
+ const slashPath = '/' + path.replace(/\./g, '/');
133
+ const parts = path.split('.');
134
+ // Need at least context root + identity + one path segment to
135
+ // produce a meaningful per-path key. Anything shorter would yield
136
+ // keys like "/vessels/*/" that match nothing.
137
+ if (parts.length < 3) {
138
+ return undefined;
139
+ }
140
+ // Use wildcard key so all identities share the same cloned entry
141
+ const key = `/${parts[0]}/*/${parts.slice(2).join('/')}`;
142
+ // Check for existing wildcard entry first
143
+ if (this.allMetadata[key]) {
144
+ return this.allMetadata[key];
145
+ }
146
+ // Find via regex against the full path
147
+ const result = this.regexEntries.find((entry) => entry.pattern.test(slashPath));
148
+ if (!result || Object.keys(result.metadata).length === 0) {
149
+ return undefined;
150
+ }
151
+ // Deep clone the matched entry so runtime additions are per-path.
152
+ // Spec entries can carry nested objects (displayScale, zones, *Method
153
+ // arrays) — a shallow clone would share those nested references with
154
+ // the template, so a plugin tweaking displayScale on one path would
155
+ // silently change every other path that matches the same wildcard.
156
+ const cloned = structuredClone(result.metadata);
157
+ this.allMetadata[key] = cloned;
158
+ // Escape special chars first, then replace wildcard
159
+ const escaped = key.replace(/[.+?^${}()|[\]\\]/g, '\\$&');
160
+ this.regexEntries.push({
161
+ pattern: new RegExp(`^${escaped.replace(/\*/g, '[^/]+')}$`),
162
+ key,
163
+ metadata: cloned
164
+ });
165
+ return cloned;
166
+ }
167
+ /**
168
+ * Merge runtime metadata into the registry for a specific context+path.
169
+ * Called when meta deltas are received. Mirrors the @signalk/signalk-schema
170
+ * v2.25 semantics:
171
+ * - If the exact per-path key already exists, merge the new fields in.
172
+ * - If it doesn't, seed the new entry from any matching spec (RegExp)
173
+ * template so untouched fields (units, enum, etc.) stay intact, then
174
+ * merge the plugin's fields on top. The per-path regex goes to the
175
+ * FRONT of the lookup array so getMetadata() finds it before the
176
+ * generic spec wildcard.
177
+ */
178
+ addMetaData(context, path, meta) {
179
+ // An empty path would key the entry at "/vessels/*/" (no tail) and
180
+ // mask every per-vessel entry under the same context root.
181
+ if (!path) {
182
+ return;
183
+ }
184
+ // Use wildcard key pattern so lookups with any identity match
185
+ const root = context.split('.')[0];
186
+ const key = `/${root}/*/${path.replace(/\./g, '/')}`;
187
+ const existing = this.allMetadata[key];
188
+ if (existing) {
189
+ Object.assign(existing, meta);
190
+ return;
191
+ }
192
+ // Seed from the matching spec template, if any, so untouched fields
193
+ // like units / enum survive when a plugin only updates description.
194
+ const seed = this.getMetadata(`${context}.${path}`);
195
+ const entry = { description: '' };
196
+ if (seed)
197
+ Object.assign(entry, seed);
198
+ Object.assign(entry, meta);
199
+ this.allMetadata[key] = entry;
200
+ // Escape special chars first, then replace wildcard
201
+ const escaped = key.replace(/[.+?^${}()|[\]\\]/g, '\\$&');
202
+ this.regexEntries.unshift({
203
+ pattern: new RegExp(`^${escaped.replace(/\*/g, '[^/]+')}$`),
204
+ key,
205
+ metadata: entry
206
+ });
207
+ }
208
+ /** Return all registered metadata entries (for the /paths endpoint). */
209
+ getAllMetadata() {
210
+ return this.allMetadata;
211
+ }
212
+ }
213
+ exports.MetadataRegistry = MetadataRegistry;
214
+ const allEntries = expandContextPrefixes({
215
+ ...root_1.rootMetadata,
216
+ ...vesselMetadata
217
+ });
218
+ exports.metadataRegistry = new MetadataRegistry(allEntries);
219
+ /** Look up metadata for a dot-separated Signal K path. */
220
+ function getMetadata(path) {
221
+ return exports.metadataRegistry.getMetadata(path);
222
+ }
223
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { PathMetadataEntry } from './types';
2
+ export declare const navigationMetadata: Record<string, PathMetadataEntry>;
3
+ //# sourceMappingURL=navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../src/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEhD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CA0fhE,CAAA"}