@signalk/server-api 2.23.0 → 2.24.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/history.d.ts +24 -6
- package/dist/history.d.ts.map +1 -1
- package/dist/history.js +7 -2
- package/dist/propertyvalues.d.ts.map +1 -1
- package/dist/propertyvalues.js +35 -5
- package/dist/serverapi.d.ts +3 -2
- package/dist/serverapi.d.ts.map +1 -1
- package/dist/streambundle.d.ts +4 -4
- package/dist/streambundle.d.ts.map +1 -1
- package/dist/typebox/autopilot-schemas.d.ts +59 -0
- package/dist/typebox/autopilot-schemas.d.ts.map +1 -0
- package/dist/typebox/autopilot-schemas.js +86 -0
- package/dist/typebox/course-schemas.d.ts +218 -0
- package/dist/typebox/course-schemas.d.ts.map +1 -0
- package/dist/typebox/course-schemas.js +317 -0
- package/dist/typebox/discovery-schemas.d.ts +53 -0
- package/dist/typebox/discovery-schemas.d.ts.map +1 -0
- package/dist/typebox/discovery-schemas.js +73 -0
- package/dist/typebox/history-schemas.d.ts +34 -0
- package/dist/typebox/history-schemas.d.ts.map +1 -0
- package/dist/typebox/history-schemas.js +75 -0
- package/dist/typebox/index.d.ts +11 -0
- package/dist/typebox/index.d.ts.map +1 -0
- package/dist/typebox/index.js +26 -0
- package/dist/typebox/notifications-schemas.d.ts +50 -0
- package/dist/typebox/notifications-schemas.d.ts.map +1 -0
- package/dist/typebox/notifications-schemas.js +53 -0
- package/dist/typebox/protocol-schemas.d.ts +432 -0
- package/dist/typebox/protocol-schemas.d.ts.map +1 -0
- package/dist/typebox/protocol-schemas.js +352 -0
- package/dist/typebox/radar-schemas.d.ts +50 -0
- package/dist/typebox/radar-schemas.d.ts.map +1 -0
- package/dist/typebox/radar-schemas.js +70 -0
- package/dist/typebox/resources-schemas.d.ts +152 -0
- package/dist/typebox/resources-schemas.d.ts.map +1 -0
- package/dist/typebox/resources-schemas.js +214 -0
- package/dist/typebox/shared-schemas.d.ts +92 -0
- package/dist/typebox/shared-schemas.d.ts.map +1 -0
- package/dist/typebox/shared-schemas.js +149 -0
- package/dist/typebox/weather-schemas.d.ts +82 -0
- package/dist/typebox/weather-schemas.d.ts.map +1 -0
- package/dist/typebox/weather-schemas.js +215 -0
- package/package.json +10 -4
- package/tsconfig.tsbuildinfo +1 -1
package/dist/history.d.ts
CHANGED
|
@@ -62,10 +62,15 @@ export type PathsResponse = Path[];
|
|
|
62
62
|
export type ContextsRequestQueryParams = TimeRangeQueryParams;
|
|
63
63
|
export type ContextsResponse = Context[];
|
|
64
64
|
/** @category History API */
|
|
65
|
-
export type
|
|
66
|
-
registerHistoryApiProvider(provider:
|
|
65
|
+
export type HistoryProviderRegistry = {
|
|
66
|
+
registerHistoryApiProvider(provider: HistoryProvider): void;
|
|
67
67
|
unregisterHistoryApiProvider(): void;
|
|
68
68
|
};
|
|
69
|
+
/**
|
|
70
|
+
* @deprecated Use {@link HistoryProviderRegistry} instead.
|
|
71
|
+
* @category History API
|
|
72
|
+
*/
|
|
73
|
+
export type HistoryApiRegistry = HistoryProviderRegistry;
|
|
69
74
|
/** @category History API */
|
|
70
75
|
export type WithHistoryApi = {
|
|
71
76
|
/**
|
|
@@ -80,6 +85,15 @@ export type WithHistoryApi = {
|
|
|
80
85
|
*/
|
|
81
86
|
getHistoryApi?: (providerId?: string) => Promise<HistoryApi>;
|
|
82
87
|
};
|
|
88
|
+
/**
|
|
89
|
+
* Provider interface for the History API.
|
|
90
|
+
*
|
|
91
|
+
* Plugins that supply historical data implement this interface and register
|
|
92
|
+
* it via {@link HistoryProviderRegistry.registerHistoryApiProvider}.
|
|
93
|
+
*
|
|
94
|
+
* @category History API
|
|
95
|
+
*/
|
|
96
|
+
export type HistoryProvider = HistoryApi;
|
|
83
97
|
/** @category History API */
|
|
84
98
|
export interface HistoryApi {
|
|
85
99
|
/**
|
|
@@ -107,7 +121,11 @@ export interface HistoryApi {
|
|
|
107
121
|
*/
|
|
108
122
|
getPaths(query: PathsRequest): Promise<PathsResponse>;
|
|
109
123
|
}
|
|
110
|
-
export declare function
|
|
124
|
+
export declare function isHistoryProvider(obj: unknown): obj is HistoryProvider;
|
|
125
|
+
/**
|
|
126
|
+
* @deprecated Use {@link isHistoryProvider} instead.
|
|
127
|
+
*/
|
|
128
|
+
export declare const isHistoryApi: typeof isHistoryProvider;
|
|
111
129
|
/**
|
|
112
130
|
* @hidden visible through ServerAPI
|
|
113
131
|
* @category History API
|
|
@@ -118,14 +136,14 @@ export interface HistoryProviders {
|
|
|
118
136
|
};
|
|
119
137
|
}
|
|
120
138
|
/**
|
|
121
|
-
* Represents a time duration, either as a {@link Temporal.Duration} object or a number (
|
|
139
|
+
* Represents a time duration, either as a {@link Temporal.Duration} object or a number (seconds).
|
|
122
140
|
*
|
|
123
141
|
* @example
|
|
124
142
|
* // Using Temporal.Duration
|
|
125
143
|
* const duration: Duration = Temporal.Duration.from({ minutes: 5 });
|
|
126
144
|
*
|
|
127
|
-
* // Using
|
|
128
|
-
* const duration: Duration =
|
|
145
|
+
* // Using seconds
|
|
146
|
+
* const duration: Duration = 300; // 5 minutes in seconds
|
|
129
147
|
*/
|
|
130
148
|
export type Duration = Temporal.Duration | number;
|
|
131
149
|
export type TimeRangeParams = {
|
package/dist/history.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEhD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,KAAK,GACL,KAAK,GACL,OAAO,GACP,MAAM,GACN,KAAK,GACL,cAAc,GACd,KAAK,GACL,KAAK,CAAA;AAET,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,eAAe,CAAA;CACxB,EAAE,CAAA;AAEH;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;AAE/C,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE;QACL,IAAI,EAAE,SAAS,CAAA;QACf,EAAE,EAAE,SAAS,CAAA;KACd,CAAA;IACD,MAAM,EAAE,SAAS,CAAA;IAEjB,IAAI,EAAE,OAAO,EAAE,CAAA;CAChB;AAuBD,MAAM,MAAM,oBAAoB,GAC5B;IAEE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,EAAE,CAAC,EAAE,KAAK,CAAA;CACX,GACD;IAEE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,KAAK,CAAA;CACX,GACD;IAEE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;CACX,GACD;IAEE,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,KAAK,CAAA;CACX,GACD;IAEE,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAEL,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,GAAG;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,CAAA;AAC1D,MAAM,MAAM,aAAa,GAAG,IAAI,EAAE,CAAA;AAElC,MAAM,MAAM,0BAA0B,GAAG,oBAAoB,CAAA;AAC7D,MAAM,MAAM,gBAAgB,GAAG,OAAO,EAAE,CAAA;AAExC,6BAA6B;AAC7B,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEhD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,KAAK,GACL,KAAK,GACL,OAAO,GACP,MAAM,GACN,KAAK,GACL,cAAc,GACd,KAAK,GACL,KAAK,CAAA;AAET,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,eAAe,CAAA;CACxB,EAAE,CAAA;AAEH;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;AAE/C,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE;QACL,IAAI,EAAE,SAAS,CAAA;QACf,EAAE,EAAE,SAAS,CAAA;KACd,CAAA;IACD,MAAM,EAAE,SAAS,CAAA;IAEjB,IAAI,EAAE,OAAO,EAAE,CAAA;CAChB;AAuBD,MAAM,MAAM,oBAAoB,GAC5B;IAEE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,EAAE,CAAC,EAAE,KAAK,CAAA;CACX,GACD;IAEE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,KAAK,CAAA;CACX,GACD;IAEE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;CACX,GACD;IAEE,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,KAAK,CAAA;CACX,GACD;IAEE,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAEL,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,GAAG;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,CAAA;AAC1D,MAAM,MAAM,aAAa,GAAG,IAAI,EAAE,CAAA;AAElC,MAAM,MAAM,0BAA0B,GAAG,oBAAoB,CAAA;AAC7D,MAAM,MAAM,gBAAgB,GAAG,OAAO,EAAE,CAAA;AAExC,6BAA6B;AAC7B,MAAM,MAAM,uBAAuB,GAAG;IACpC,0BAA0B,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAA;IAC3D,4BAA4B,IAAI,IAAI,CAAA;CACrC,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,uBAAuB,CAAA;AACxD,6BAA6B;AAC7B,MAAM,MAAM,cAAc,GAAG;IAC3B;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;CAC7D,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,CAAA;AAExC,6BAA6B;AAC7B,MAAM,WAAW,UAAU;IACzB;;;;;;;;OAQG;IACH,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IAExD;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAE9D;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;CACtD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,eAAe,CAStE;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,0BAAoB,CAAA;AAE7C;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,CAAC,QAAQ,EAAE,MAAM,GAAG;QAClB,SAAS,EAAE,OAAO,CAAA;KACnB,CAAA;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAA;AAEjD,MAAM,MAAM,eAAe,GACvB;IAEE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAA;IAC3B,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,EAAE,CAAC,EAAE,KAAK,CAAA;CACX,GACD;IAEE,QAAQ,EAAE,QAAQ,CAAA;IAClB,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAA;IACtB,EAAE,CAAC,EAAE,KAAK,CAAA;CACX,GACD;IAEE,QAAQ,EAAE,QAAQ,CAAA;IAClB,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAA;CACrB,GACD;IAEE,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAA;IACtB,EAAE,CAAC,EAAE,KAAK,CAAA;CACX,GACD;IAEE,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAA;IACtB,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAA;CACrB,CAAA;AAEL,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,SAAS,EAAE,eAAe,CAAA;IAC1B,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,QAAQ,EAAE,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,eAAe,CAAA;AAC1C,MAAM,MAAM,eAAe,GAAG,eAAe,CAAA"}
|
package/dist/history.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isHistoryApi =
|
|
3
|
+
exports.isHistoryApi = void 0;
|
|
4
|
+
exports.isHistoryProvider = isHistoryProvider;
|
|
4
5
|
// Type-check test - verify ValuesResponse compiles correctly
|
|
5
6
|
const _exampleValuesResponse = {
|
|
6
7
|
context: 'vessels.urn:mrn:signalk:uuid:2ffee4a6-52f6-4d4e-8179-0fc9aaf22c87',
|
|
@@ -20,7 +21,7 @@ const _exampleValuesResponse = {
|
|
|
20
21
|
]
|
|
21
22
|
};
|
|
22
23
|
void _exampleValuesResponse;
|
|
23
|
-
function
|
|
24
|
+
function isHistoryProvider(obj) {
|
|
24
25
|
if (typeof obj !== 'object' || obj === null) {
|
|
25
26
|
return false;
|
|
26
27
|
}
|
|
@@ -28,3 +29,7 @@ function isHistoryApi(obj) {
|
|
|
28
29
|
typeof obj.getContexts === 'function' &&
|
|
29
30
|
typeof obj.getPaths === 'function');
|
|
30
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* @deprecated Use {@link isHistoryProvider} instead.
|
|
34
|
+
*/
|
|
35
|
+
exports.isHistoryApi = isHistoryProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propertyvalues.d.ts","sourceRoot":"","sources":["../src/propertyvalues.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAErD;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,sBAAsB,GAAG,WAAW,CAAA;CACxE;AAED,2BAA2B;AAC3B,MAAM,WAAW,aAAa;IAC5B,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAA;IACd,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,+DAA+D;IAC/D,KAAK,EAAE,OAAO,CAAA;CACf;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,CACnC,iBAAiB,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,EAAE,KAC7C,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"propertyvalues.d.ts","sourceRoot":"","sources":["../src/propertyvalues.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAErD;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,sBAAsB,GAAG,WAAW,CAAA;CACxE;AAED,2BAA2B;AAC3B,MAAM,WAAW,aAAa;IAC5B,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAA;IACd,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,+DAA+D;IAC/D,KAAK,EAAE,OAAO,CAAA;CACf;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,CACnC,iBAAiB,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,EAAE,KAC7C,IAAI,CAAA;AAQT,2BAA2B;AAC3B,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAET;IACN,OAAO,CAAC,KAAK,CAAI;IAEjB,MAAM,CAAC,QAAQ,CAAC,gBAAgB,QAAO;IAEvC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,sBAAsB,GAAG,MAAM,IAAI;IAI1E,iBAAiB,CAAC,EAAE,EAAE,aAAa;IAWnC,OAAO,CAAC,cAAc;CAmBvB;AAED;;;GAGG;AACH,KAAK,WAAW,GAAG,MAAM,IAAI,CAAA"}
|
package/dist/propertyvalues.js
CHANGED
|
@@ -1,10 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
5
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
36
|
exports.PropertyValues = void 0;
|
|
7
|
-
const
|
|
37
|
+
const Bacon = __importStar(require("baconjs"));
|
|
8
38
|
/** @category Server API */
|
|
9
39
|
class PropertyValues {
|
|
10
40
|
streams = {};
|
|
@@ -22,7 +52,7 @@ class PropertyValues {
|
|
|
22
52
|
getStreamTuple(propName) {
|
|
23
53
|
let streamTuple = this.streams[propName];
|
|
24
54
|
if (!streamTuple) {
|
|
25
|
-
const bus = new
|
|
55
|
+
const bus = new Bacon.Bus();
|
|
26
56
|
const stream = bus.scan([], (acc, v) => {
|
|
27
57
|
acc.push(v);
|
|
28
58
|
this.count++;
|
package/dist/serverapi.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SKVersion, AutopilotProviderRegistry, WithFeatures, PropertyValuesEmitter, ResourceProviderRegistry, WeatherProviderRegistry, Delta, WithResourcesApi, WithNotificationsApi } from '.';
|
|
2
2
|
import { RadarProviderRegistry, WithRadarApi } from './radarapi';
|
|
3
3
|
import { CourseApi } from './course';
|
|
4
|
-
import {
|
|
4
|
+
import { HistoryProviderRegistry, WithHistoryApi } from './history';
|
|
5
5
|
import { StreamBundle } from './streambundle';
|
|
6
6
|
import { SubscriptionManager } from './subscriptionmanager';
|
|
7
7
|
/**
|
|
@@ -19,7 +19,7 @@ import { SubscriptionManager } from './subscriptionmanager';
|
|
|
19
19
|
* > Typing is incomplete. If you find a missing or inaccurate type, please [report it](https://github.com/SignalK/signalk-server/issues/1917).
|
|
20
20
|
* @category Server API
|
|
21
21
|
*/
|
|
22
|
-
export interface ServerAPI extends PropertyValuesEmitter, ResourceProviderRegistry, WithResourcesApi, AutopilotProviderRegistry, WeatherProviderRegistry, RadarProviderRegistry, WithRadarApi, WithHistoryApi,
|
|
22
|
+
export interface ServerAPI extends PropertyValuesEmitter, ResourceProviderRegistry, WithResourcesApi, AutopilotProviderRegistry, WeatherProviderRegistry, RadarProviderRegistry, WithRadarApi, WithHistoryApi, HistoryProviderRegistry, WithFeatures, CourseApi, WithNotificationsApi, SelfIdentity {
|
|
23
23
|
/**
|
|
24
24
|
* Returns the entry for the provided path starting from `vessels.self` in the full data model.
|
|
25
25
|
*
|
|
@@ -240,6 +240,7 @@ export interface ServerAPI extends PropertyValuesEmitter, ResourceProviderRegist
|
|
|
240
240
|
readPluginOptions(): object;
|
|
241
241
|
/**
|
|
242
242
|
* Returns the full path of the directory where the plugin can persist its internal data, e.g. data files, etc.
|
|
243
|
+
* Callable in plugin's `start()` function and later, not in plugin constructor function.
|
|
243
244
|
*
|
|
244
245
|
* @example
|
|
245
246
|
* ```javascript
|
package/dist/serverapi.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverapi.d.ts","sourceRoot":"","sources":["../src/serverapi.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,yBAAyB,EACzB,YAAY,EACZ,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,KAAK,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,GAAG,CAAA;AACV,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"serverapi.d.ts","sourceRoot":"","sources":["../src/serverapi.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,yBAAyB,EACzB,YAAY,EACZ,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,KAAK,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,GAAG,CAAA;AACV,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,SACf,SACE,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,YAAY;IACd;;;;;;;;;;;;;;;;;OAiBG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAE9B;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;IAE/C;;;;;;OAMG;IACH,WAAW,CACT,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,IAAI,GACnB,OAAO,CAAC,OAAO,CAAC,CAAA;IAEnB;;;;;;;OAOG;IACH,OAAO,CACL,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EACzC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,EAC/B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAAA;IAEnB;;OAEG;IACH,YAAY,EAAE,YAAY,CAAA;IAE1B;;;OAGG;IACH,mBAAmB,EAAE,mBAAmB,CAAA;IAExC;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEjD;;OAEG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAExB;;;;;;;;;;;;OAYG;IAEH,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,yBAAyB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAE3D;;;;;;;;;;;;;;;OAeG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAElC;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;IAE3E;;;;;;;;;;;;;OAaG;IACH,iBAAiB,CACf,aAAa,EAAE,MAAM,EACrB,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc,GAAG,IAAI,KAAK,IAAI,GAC9C,IAAI,CAAA;IAEP;;;;;;;;;OASG;IACH,iBAAiB,IAAI,MAAM,CAAA;IAE3B;;;;;;;;;OASG;IACH,cAAc,IAAI,MAAM,CAAA;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuFG;IACH,kBAAkB,CAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,EACvB,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CAAA;IAEP,qBAAqB,CACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,EACvB,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CAAA;IAEP,uBAAuB,CAAC,QAAQ,EAAE;QAChC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAA;QACxE,UAAU,EAAE,CACV,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,KAC3B,IAAI,CAAA;QACT,aAAa,EAAE;QACb,6EAA6E;QAC7E,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,KAC7B,IAAI,CAAA;KACV,GAAG,IAAI,CAAA;IAER;;;;OAIG;IACH,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,CAAA;IAEhC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3C;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,CAAA;AAEvC,2BAA2B;AAC3B,MAAM,MAAM,iBAAiB,GAAG,CAC9B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,KACzB,IAAI,CAAA;AAET,2BAA2B;AAC3B,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,kFAAkF;IAClF,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,2BAA2B;AAC3B,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,2BAA2B;AAC3B,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,KACrC,YAAY,CAAA;AAEjB,2BAA2B;AAC3B,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAA;IACzC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB"}
|
package/dist/streambundle.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import * as Bacon from 'baconjs';
|
|
|
3
3
|
/** @category Server API */
|
|
4
4
|
export interface StreamBundle {
|
|
5
5
|
/**
|
|
6
|
-
* Get a [Bacon JS
|
|
6
|
+
* Get a [Bacon JS](https://baconjs.github.io/) stream for a Signal K path that will stream values from any context.
|
|
7
7
|
*
|
|
8
8
|
* Stream values are objects with the following structure:
|
|
9
9
|
* ```javascript
|
|
@@ -55,7 +55,7 @@ export interface StreamBundle {
|
|
|
55
55
|
*
|
|
56
56
|
* @param path - If it is not provided the returned stream produces values for all paths.
|
|
57
57
|
*/
|
|
58
|
-
getBus(path?: Path): Bacon.Bus<
|
|
58
|
+
getBus(path?: Path): Bacon.Bus<NormalizedDelta>;
|
|
59
59
|
/**
|
|
60
60
|
* Get a [Bacon JS](https://baconjs.github.io/) stream for path from the `vessels.self` context.
|
|
61
61
|
*
|
|
@@ -97,7 +97,7 @@ export interface StreamBundle {
|
|
|
97
97
|
*
|
|
98
98
|
* @param path - If it is not provided the returned stream produces values for all paths.
|
|
99
99
|
*/
|
|
100
|
-
getSelfBus(path: Path): Bacon.Bus<
|
|
100
|
+
getSelfBus(path: Path): Bacon.Bus<NormalizedDelta>;
|
|
101
101
|
/**
|
|
102
102
|
* Get a [Bacon JS](https://baconjs.github.io/) stream for a path in the `vessels.self` context.
|
|
103
103
|
*
|
|
@@ -119,7 +119,7 @@ export interface StreamBundle {
|
|
|
119
119
|
*
|
|
120
120
|
* @param path - If it is not provided the returned stream produces values for all paths.
|
|
121
121
|
*/
|
|
122
|
-
getSelfStream(path?: Path): Bacon.Bus<
|
|
122
|
+
getSelfStream(path?: Path): Bacon.Bus<Value>;
|
|
123
123
|
/**
|
|
124
124
|
* Get a list of available full data model paths maintained by the server.
|
|
125
125
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streambundle.d.ts","sourceRoot":"","sources":["../src/streambundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAEhC,2BAA2B;AAC3B,MAAM,WAAW,YAAY;IAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACH,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"streambundle.d.ts","sourceRoot":"","sources":["../src/streambundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAEhC,2BAA2B;AAC3B,MAAM,WAAW,YAAY;IAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACH,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IAElD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAE5C;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,iBAAiB,IAAI,IAAI,EAAE,CAAA;CAC5B"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeBox Schema Definitions for the Signal K Autopilot API
|
|
3
|
+
*/
|
|
4
|
+
import { type Static } from '@sinclair/typebox';
|
|
5
|
+
/** Autopilot state definition (name + engaged flag) */
|
|
6
|
+
export declare const AutopilotStateDefSchema: import("@sinclair/typebox").TObject<{
|
|
7
|
+
name: import("@sinclair/typebox").TString;
|
|
8
|
+
engaged: import("@sinclair/typebox").TBoolean;
|
|
9
|
+
}>;
|
|
10
|
+
/** Autopilot action definition */
|
|
11
|
+
export declare const AutopilotActionDefSchema: import("@sinclair/typebox").TObject<{
|
|
12
|
+
id: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"dodge">, import("@sinclair/typebox").TLiteral<"tack">, import("@sinclair/typebox").TLiteral<"gybe">, import("@sinclair/typebox").TLiteral<"courseCurrentPoint">, import("@sinclair/typebox").TLiteral<"courseNextPoint">]>;
|
|
13
|
+
name: import("@sinclair/typebox").TString;
|
|
14
|
+
available: import("@sinclair/typebox").TBoolean;
|
|
15
|
+
}>;
|
|
16
|
+
/** Autopilot options — available states, modes, and actions */
|
|
17
|
+
export declare const AutopilotOptionsSchema: import("@sinclair/typebox").TObject<{
|
|
18
|
+
states: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
19
|
+
name: import("@sinclair/typebox").TString;
|
|
20
|
+
engaged: import("@sinclair/typebox").TBoolean;
|
|
21
|
+
}>>;
|
|
22
|
+
modes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
23
|
+
actions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
24
|
+
id: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"dodge">, import("@sinclair/typebox").TLiteral<"tack">, import("@sinclair/typebox").TLiteral<"gybe">, import("@sinclair/typebox").TLiteral<"courseCurrentPoint">, import("@sinclair/typebox").TLiteral<"courseNextPoint">]>;
|
|
25
|
+
name: import("@sinclair/typebox").TString;
|
|
26
|
+
available: import("@sinclair/typebox").TBoolean;
|
|
27
|
+
}>>;
|
|
28
|
+
}>;
|
|
29
|
+
/** Autopilot info — full state of an autopilot device */
|
|
30
|
+
export declare const AutopilotInfoSchema: import("@sinclair/typebox").TObject<{
|
|
31
|
+
options: import("@sinclair/typebox").TObject<{
|
|
32
|
+
states: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
33
|
+
name: import("@sinclair/typebox").TString;
|
|
34
|
+
engaged: import("@sinclair/typebox").TBoolean;
|
|
35
|
+
}>>;
|
|
36
|
+
modes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
37
|
+
actions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
38
|
+
id: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"dodge">, import("@sinclair/typebox").TLiteral<"tack">, import("@sinclair/typebox").TLiteral<"gybe">, import("@sinclair/typebox").TLiteral<"courseCurrentPoint">, import("@sinclair/typebox").TLiteral<"courseNextPoint">]>;
|
|
39
|
+
name: import("@sinclair/typebox").TString;
|
|
40
|
+
available: import("@sinclair/typebox").TBoolean;
|
|
41
|
+
}>>;
|
|
42
|
+
}>;
|
|
43
|
+
target: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>;
|
|
44
|
+
mode: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
45
|
+
state: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
46
|
+
engaged: import("@sinclair/typebox").TBoolean;
|
|
47
|
+
}>;
|
|
48
|
+
export type AutopilotInfoType = Static<typeof AutopilotInfoSchema>;
|
|
49
|
+
/** Angle input — value with optional units (deg or rad) */
|
|
50
|
+
export declare const AngleInputSchema: import("@sinclair/typebox").TObject<{
|
|
51
|
+
value: import("@sinclair/typebox").TNumber;
|
|
52
|
+
units: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"deg">, import("@sinclair/typebox").TLiteral<"rad">]>>;
|
|
53
|
+
}>;
|
|
54
|
+
export type AngleInput = Static<typeof AngleInputSchema>;
|
|
55
|
+
/** String value input (for state, mode) */
|
|
56
|
+
export declare const StringValueInputSchema: import("@sinclair/typebox").TObject<{
|
|
57
|
+
value: import("@sinclair/typebox").TString;
|
|
58
|
+
}>;
|
|
59
|
+
//# sourceMappingURL=autopilot-schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autopilot-schemas.d.ts","sourceRoot":"","sources":["../../src/typebox/autopilot-schemas.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAErD,uDAAuD;AACvD,eAAO,MAAM,uBAAuB;;;EAYnC,CAAA;AAED,kCAAkC;AAClC,eAAO,MAAM,wBAAwB;;;;EAkBpC,CAAA;AAED,+DAA+D;AAC/D,eAAO,MAAM,sBAAsB;;;;;;;;;;;EAiBlC,CAAA;AAED,yDAAyD;AACzD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;EAsB/B,CAAA;AACD,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAElE,2DAA2D;AAC3D,eAAO,MAAM,gBAAgB;;;EAiB5B,CAAA;AACD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAExD,2CAA2C;AAC3C,eAAO,MAAM,sBAAsB;;EAKlC,CAAA"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* TypeBox Schema Definitions for the Signal K Autopilot API
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.StringValueInputSchema = exports.AngleInputSchema = exports.AutopilotInfoSchema = exports.AutopilotOptionsSchema = exports.AutopilotActionDefSchema = exports.AutopilotStateDefSchema = void 0;
|
|
7
|
+
const typebox_1 = require("@sinclair/typebox");
|
|
8
|
+
/** Autopilot state definition (name + engaged flag) */
|
|
9
|
+
exports.AutopilotStateDefSchema = typebox_1.Type.Object({
|
|
10
|
+
name: typebox_1.Type.String({
|
|
11
|
+
description: 'Autopilot state name',
|
|
12
|
+
examples: ['auto']
|
|
13
|
+
}),
|
|
14
|
+
engaged: typebox_1.Type.Boolean({
|
|
15
|
+
description: 'true if state indicates actively steering',
|
|
16
|
+
examples: [true]
|
|
17
|
+
})
|
|
18
|
+
}, { $id: 'AutopilotStateDef' });
|
|
19
|
+
/** Autopilot action definition */
|
|
20
|
+
exports.AutopilotActionDefSchema = typebox_1.Type.Object({
|
|
21
|
+
id: typebox_1.Type.Union([
|
|
22
|
+
typebox_1.Type.Literal('dodge'),
|
|
23
|
+
typebox_1.Type.Literal('tack'),
|
|
24
|
+
typebox_1.Type.Literal('gybe'),
|
|
25
|
+
typebox_1.Type.Literal('courseCurrentPoint'),
|
|
26
|
+
typebox_1.Type.Literal('courseNextPoint')
|
|
27
|
+
], { description: 'Action identifier' }),
|
|
28
|
+
name: typebox_1.Type.String({ description: 'Display name', examples: ['Tack'] }),
|
|
29
|
+
available: typebox_1.Type.Boolean({
|
|
30
|
+
description: 'true if can be used in current AP mode of operation'
|
|
31
|
+
})
|
|
32
|
+
}, { $id: 'AutopilotActionDef' });
|
|
33
|
+
/** Autopilot options — available states, modes, and actions */
|
|
34
|
+
exports.AutopilotOptionsSchema = typebox_1.Type.Object({
|
|
35
|
+
states: typebox_1.Type.Array(exports.AutopilotStateDefSchema, {
|
|
36
|
+
description: 'Available autopilot states'
|
|
37
|
+
}),
|
|
38
|
+
modes: typebox_1.Type.Array(typebox_1.Type.String(), {
|
|
39
|
+
description: 'Supported modes of operation',
|
|
40
|
+
examples: [['compass', 'gps', 'wind']]
|
|
41
|
+
}),
|
|
42
|
+
actions: typebox_1.Type.Array(exports.AutopilotActionDefSchema, {
|
|
43
|
+
description: 'Actions the autopilot supports'
|
|
44
|
+
})
|
|
45
|
+
}, {
|
|
46
|
+
$id: 'AutopilotOptions',
|
|
47
|
+
description: 'Available autopilot states, modes, and actions'
|
|
48
|
+
});
|
|
49
|
+
/** Autopilot info — full state of an autopilot device */
|
|
50
|
+
exports.AutopilotInfoSchema = typebox_1.Type.Object({
|
|
51
|
+
options: exports.AutopilotOptionsSchema,
|
|
52
|
+
target: typebox_1.Type.Union([typebox_1.Type.Number(), typebox_1.Type.Null()], {
|
|
53
|
+
description: 'Current target value in radians. Interpretation depends on the current mode (heading for compass, wind angle for wind mode).',
|
|
54
|
+
units: 'rad'
|
|
55
|
+
}),
|
|
56
|
+
mode: typebox_1.Type.Union([typebox_1.Type.String(), typebox_1.Type.Null()], {
|
|
57
|
+
description: 'Current autopilot mode'
|
|
58
|
+
}),
|
|
59
|
+
state: typebox_1.Type.Union([typebox_1.Type.String(), typebox_1.Type.Null()], {
|
|
60
|
+
description: 'Current autopilot state'
|
|
61
|
+
}),
|
|
62
|
+
engaged: typebox_1.Type.Boolean({
|
|
63
|
+
description: 'true if autopilot is actively steering'
|
|
64
|
+
})
|
|
65
|
+
}, {
|
|
66
|
+
$id: 'AutopilotInfo',
|
|
67
|
+
description: 'Full state of an autopilot device'
|
|
68
|
+
});
|
|
69
|
+
/** Angle input — value with optional units (deg or rad) */
|
|
70
|
+
exports.AngleInputSchema = typebox_1.Type.Object({
|
|
71
|
+
value: typebox_1.Type.Number({
|
|
72
|
+
description: 'Angle value',
|
|
73
|
+
examples: [129]
|
|
74
|
+
}),
|
|
75
|
+
units: typebox_1.Type.Optional(typebox_1.Type.Union([typebox_1.Type.Literal('deg'), typebox_1.Type.Literal('rad')], {
|
|
76
|
+
description: 'Units for the angle value. Default is radians.',
|
|
77
|
+
default: 'rad'
|
|
78
|
+
}))
|
|
79
|
+
}, {
|
|
80
|
+
$id: 'AngleInput',
|
|
81
|
+
description: 'Angle input with optional units (deg or rad)'
|
|
82
|
+
});
|
|
83
|
+
/** String value input (for state, mode) */
|
|
84
|
+
exports.StringValueInputSchema = typebox_1.Type.Object({
|
|
85
|
+
value: typebox_1.Type.String({ description: 'String value to set' })
|
|
86
|
+
}, { $id: 'StringValueInput' });
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeBox Schema Definitions for the Signal K Course API
|
|
3
|
+
*/
|
|
4
|
+
import { type Static } from '@sinclair/typebox';
|
|
5
|
+
import { PositionSchema, IsoTimeSchema, OkResponseSchema, ErrorResponseSchema } from './shared-schemas';
|
|
6
|
+
export { IsoTimeSchema, PositionSchema, OkResponseSchema, ErrorResponseSchema };
|
|
7
|
+
export type { IsoTimeType } from './shared-schemas';
|
|
8
|
+
/** Signal K route resource href (UUID v4 format). */
|
|
9
|
+
export declare const SignalKHrefRouteSchema: import("@sinclair/typebox").TString;
|
|
10
|
+
/** Signal K waypoint resource href (UUID v4 format). */
|
|
11
|
+
export declare const SignalKHrefWaypointSchema: import("@sinclair/typebox").TString;
|
|
12
|
+
/** Arrival circle radius in meters (non-negative). */
|
|
13
|
+
export declare const ArrivalCircleSchema: import("@sinclair/typebox").TNumber;
|
|
14
|
+
export type ArrivalCircleType = Static<typeof ArrivalCircleSchema>;
|
|
15
|
+
export type PositionType = Static<typeof PositionSchema>;
|
|
16
|
+
/** Type of course point. */
|
|
17
|
+
export declare const CoursePointTypeSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"VesselPosition">, import("@sinclair/typebox").TLiteral<"RoutePoint">, import("@sinclair/typebox").TLiteral<"Location">]>;
|
|
18
|
+
/** Destination by waypoint href. */
|
|
19
|
+
export declare const HrefDestinationSchema: import("@sinclair/typebox").TObject<{
|
|
20
|
+
href: import("@sinclair/typebox").TString;
|
|
21
|
+
}>;
|
|
22
|
+
export type HrefDestinationType = Static<typeof HrefDestinationSchema>;
|
|
23
|
+
/** Destination by position coordinates. */
|
|
24
|
+
export declare const PositionDestinationSchema: import("@sinclair/typebox").TObject<{
|
|
25
|
+
position: import("@sinclair/typebox").TObject<{
|
|
26
|
+
latitude: import("@sinclair/typebox").TNumber;
|
|
27
|
+
longitude: import("@sinclair/typebox").TNumber;
|
|
28
|
+
altitude: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
29
|
+
}>;
|
|
30
|
+
}>;
|
|
31
|
+
export type PositionDestinationType = Static<typeof PositionDestinationSchema>;
|
|
32
|
+
/**
|
|
33
|
+
* PUT /course/destination request body.
|
|
34
|
+
* Either a waypoint href or a position, optionally with an arrival circle.
|
|
35
|
+
*/
|
|
36
|
+
export declare const SetDestinationBodySchema: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
37
|
+
href: import("@sinclair/typebox").TString;
|
|
38
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
39
|
+
position: import("@sinclair/typebox").TObject<{
|
|
40
|
+
latitude: import("@sinclair/typebox").TNumber;
|
|
41
|
+
longitude: import("@sinclair/typebox").TNumber;
|
|
42
|
+
altitude: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
43
|
+
}>;
|
|
44
|
+
}>]>, import("@sinclair/typebox").TObject<{
|
|
45
|
+
arrivalCircle: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
46
|
+
}>]>;
|
|
47
|
+
export type SetDestinationBodyType = Static<typeof SetDestinationBodySchema>;
|
|
48
|
+
/** PUT /course/activeRoute request body. */
|
|
49
|
+
export declare const RouteDestinationSchema: import("@sinclair/typebox").TObject<{
|
|
50
|
+
href: import("@sinclair/typebox").TString;
|
|
51
|
+
pointIndex: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
52
|
+
reverse: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
53
|
+
arrivalCircle: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
54
|
+
}>;
|
|
55
|
+
export type RouteDestinationType = Static<typeof RouteDestinationSchema>;
|
|
56
|
+
/** PUT /course/arrivalCircle request body */
|
|
57
|
+
export declare const ArrivalCircleBodySchema: import("@sinclair/typebox").TObject<{
|
|
58
|
+
value: import("@sinclair/typebox").TNumber;
|
|
59
|
+
}>;
|
|
60
|
+
export type ArrivalCircleBodyType = Static<typeof ArrivalCircleBodySchema>;
|
|
61
|
+
/** PUT /course/targetArrivalTime request body */
|
|
62
|
+
export declare const TargetArrivalTimeBodySchema: import("@sinclair/typebox").TObject<{
|
|
63
|
+
value: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
64
|
+
}>;
|
|
65
|
+
export type TargetArrivalTimeBodyType = Static<typeof TargetArrivalTimeBodySchema>;
|
|
66
|
+
/** PUT /course/activeRoute/nextPoint request body */
|
|
67
|
+
export declare const NextPointBodySchema: import("@sinclair/typebox").TObject<{
|
|
68
|
+
value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
69
|
+
}>;
|
|
70
|
+
export type NextPointBodyType = Static<typeof NextPointBodySchema>;
|
|
71
|
+
/** PUT /course/activeRoute/pointIndex request body */
|
|
72
|
+
export declare const PointIndexBodySchema: import("@sinclair/typebox").TObject<{
|
|
73
|
+
value: import("@sinclair/typebox").TNumber;
|
|
74
|
+
}>;
|
|
75
|
+
export type PointIndexBodyType = Static<typeof PointIndexBodySchema>;
|
|
76
|
+
/** PUT /course/activeRoute/reverse request body */
|
|
77
|
+
export declare const ReverseBodySchema: import("@sinclair/typebox").TObject<{
|
|
78
|
+
pointIndex: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
79
|
+
}>;
|
|
80
|
+
export type ReverseBodyType = Static<typeof ReverseBodySchema>;
|
|
81
|
+
/** Active route state. */
|
|
82
|
+
export declare const ActiveRouteSchema: import("@sinclair/typebox").TObject<{
|
|
83
|
+
href: import("@sinclair/typebox").TString;
|
|
84
|
+
name: import("@sinclair/typebox").TString;
|
|
85
|
+
pointIndex: import("@sinclair/typebox").TNumber;
|
|
86
|
+
pointTotal: import("@sinclair/typebox").TNumber;
|
|
87
|
+
reverse: import("@sinclair/typebox").TBoolean;
|
|
88
|
+
}>;
|
|
89
|
+
export type ActiveRouteType = Static<typeof ActiveRouteSchema>;
|
|
90
|
+
/** Navigation point (next or previous). */
|
|
91
|
+
export declare const NextPreviousPointSchema: import("@sinclair/typebox").TObject<{
|
|
92
|
+
href: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
93
|
+
type: import("@sinclair/typebox").TString;
|
|
94
|
+
position: import("@sinclair/typebox").TObject<{
|
|
95
|
+
latitude: import("@sinclair/typebox").TNumber;
|
|
96
|
+
longitude: import("@sinclair/typebox").TNumber;
|
|
97
|
+
altitude: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
98
|
+
}>;
|
|
99
|
+
}>;
|
|
100
|
+
export type NextPreviousPointType = Static<typeof NextPreviousPointSchema>;
|
|
101
|
+
/** Full course state response. */
|
|
102
|
+
export declare const CourseInfoSchema: import("@sinclair/typebox").TObject<{
|
|
103
|
+
startTime: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
104
|
+
targetArrivalTime: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
105
|
+
arrivalCircle: import("@sinclair/typebox").TNumber;
|
|
106
|
+
activeRoute: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
107
|
+
href: import("@sinclair/typebox").TString;
|
|
108
|
+
name: import("@sinclair/typebox").TString;
|
|
109
|
+
pointIndex: import("@sinclair/typebox").TNumber;
|
|
110
|
+
pointTotal: import("@sinclair/typebox").TNumber;
|
|
111
|
+
reverse: import("@sinclair/typebox").TBoolean;
|
|
112
|
+
}>, import("@sinclair/typebox").TNull]>;
|
|
113
|
+
nextPoint: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
114
|
+
href: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
115
|
+
type: import("@sinclair/typebox").TString;
|
|
116
|
+
position: import("@sinclair/typebox").TObject<{
|
|
117
|
+
latitude: import("@sinclair/typebox").TNumber;
|
|
118
|
+
longitude: import("@sinclair/typebox").TNumber;
|
|
119
|
+
altitude: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
120
|
+
}>;
|
|
121
|
+
}>, import("@sinclair/typebox").TNull]>;
|
|
122
|
+
previousPoint: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
123
|
+
href: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
124
|
+
type: import("@sinclair/typebox").TString;
|
|
125
|
+
position: import("@sinclair/typebox").TObject<{
|
|
126
|
+
latitude: import("@sinclair/typebox").TNumber;
|
|
127
|
+
longitude: import("@sinclair/typebox").TNumber;
|
|
128
|
+
altitude: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
129
|
+
}>;
|
|
130
|
+
}>, import("@sinclair/typebox").TNull]>;
|
|
131
|
+
}>;
|
|
132
|
+
export type CourseInfoType = Static<typeof CourseInfoSchema>;
|
|
133
|
+
/**
|
|
134
|
+
* Calculated course values derived from vessel position and destination.
|
|
135
|
+
*/
|
|
136
|
+
export declare const CourseCalculationsSchema: import("@sinclair/typebox").TObject<{
|
|
137
|
+
calcMethod: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"GreatCircle">, import("@sinclair/typebox").TLiteral<"Rhumbline">]>;
|
|
138
|
+
crossTrackError: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
139
|
+
bearingTrackTrue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
140
|
+
bearingTrackMagnetic: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
141
|
+
estimatedTimeOfArrival: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
142
|
+
distance: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
143
|
+
bearingTrue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
144
|
+
bearingMagnetic: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
145
|
+
velocityMadeGood: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
146
|
+
timeToGo: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
147
|
+
targetSpeed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
148
|
+
previousPoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
149
|
+
distance: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
150
|
+
}>>;
|
|
151
|
+
route: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
152
|
+
distance: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
153
|
+
timeToGo: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
154
|
+
estimatedTimeOfArrival: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
155
|
+
}>>;
|
|
156
|
+
}>;
|
|
157
|
+
export type CourseCalculationsType = Static<typeof CourseCalculationsSchema>;
|
|
158
|
+
/**
|
|
159
|
+
* v2 course delta paths emitted on navigation.course.*
|
|
160
|
+
* Emitted via handleMessage() with SKVersion.v2
|
|
161
|
+
*/
|
|
162
|
+
export declare const CourseDeltaV2Schema: import("@sinclair/typebox").TObject<{
|
|
163
|
+
startTime: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
164
|
+
targetArrivalTime: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
165
|
+
activeRoute: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
166
|
+
href: import("@sinclair/typebox").TString;
|
|
167
|
+
name: import("@sinclair/typebox").TString;
|
|
168
|
+
pointIndex: import("@sinclair/typebox").TNumber;
|
|
169
|
+
pointTotal: import("@sinclair/typebox").TNumber;
|
|
170
|
+
reverse: import("@sinclair/typebox").TBoolean;
|
|
171
|
+
}>, import("@sinclair/typebox").TNull]>;
|
|
172
|
+
arrivalCircle: import("@sinclair/typebox").TNumber;
|
|
173
|
+
previousPoint: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
174
|
+
href: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
175
|
+
type: import("@sinclair/typebox").TString;
|
|
176
|
+
position: import("@sinclair/typebox").TObject<{
|
|
177
|
+
latitude: import("@sinclair/typebox").TNumber;
|
|
178
|
+
longitude: import("@sinclair/typebox").TNumber;
|
|
179
|
+
altitude: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
180
|
+
}>;
|
|
181
|
+
}>, import("@sinclair/typebox").TNull]>;
|
|
182
|
+
nextPoint: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
183
|
+
href: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
184
|
+
type: import("@sinclair/typebox").TString;
|
|
185
|
+
position: import("@sinclair/typebox").TObject<{
|
|
186
|
+
latitude: import("@sinclair/typebox").TNumber;
|
|
187
|
+
longitude: import("@sinclair/typebox").TNumber;
|
|
188
|
+
altitude: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
189
|
+
}>;
|
|
190
|
+
}>, import("@sinclair/typebox").TNull]>;
|
|
191
|
+
}>;
|
|
192
|
+
/**
|
|
193
|
+
* v1 course delta paths emitted on courseGreatCircle.* / courseRhumbline.*
|
|
194
|
+
* Emitted via handleMessage() with SKVersion.v1
|
|
195
|
+
*/
|
|
196
|
+
export declare const CourseDeltaV1Schema: import("@sinclair/typebox").TObject<{
|
|
197
|
+
'activeRoute.href': import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
198
|
+
'activeRoute.startTime': import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
199
|
+
'nextPoint.value.href': import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
200
|
+
'nextPoint.value.type': import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
201
|
+
'nextPoint.position': import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
202
|
+
latitude: import("@sinclair/typebox").TNumber;
|
|
203
|
+
longitude: import("@sinclair/typebox").TNumber;
|
|
204
|
+
altitude: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
205
|
+
}>, import("@sinclair/typebox").TNull]>;
|
|
206
|
+
'nextPoint.arrivalCircle': import("@sinclair/typebox").TNumber;
|
|
207
|
+
'previousPoint.position': import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
208
|
+
latitude: import("@sinclair/typebox").TNumber;
|
|
209
|
+
longitude: import("@sinclair/typebox").TNumber;
|
|
210
|
+
altitude: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
211
|
+
}>, import("@sinclair/typebox").TNull]>;
|
|
212
|
+
'previousPoint.value.type': import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>;
|
|
213
|
+
}>;
|
|
214
|
+
/** API config response */
|
|
215
|
+
export declare const CourseConfigSchema: import("@sinclair/typebox").TObject<{
|
|
216
|
+
apiOnly: import("@sinclair/typebox").TBoolean;
|
|
217
|
+
}>;
|
|
218
|
+
//# sourceMappingURL=course-schemas.d.ts.map
|