camstreamerlib 4.0.33 → 4.0.34-be26059
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/cjs/PlaneTrackerAPI.d.ts +42 -9
- package/cjs/PlaneTrackerAPI.js +2 -1
- package/cjs/VapixAPI.js +1 -1
- package/cjs/helpers.js +1 -1
- package/cjs/node/HttpRequestSender.js +8 -5
- package/cjs/node/HttpRequestSender.test.d.ts +1 -0
- package/cjs/node/HttpRequestSender.test.js +161 -0
- package/cjs/types/PlaneTrackerAPI.d.ts +205 -26
- package/cjs/types/PlaneTrackerAPI.js +59 -15
- package/cjs/types/PlaneTrackerAPI.test.d.ts +1 -0
- package/cjs/types/PlaneTrackerAPI.test.js +90 -0
- package/cjs/types/ws/PlaneTrackerEvents.d.ts +47 -0
- package/cjs/types/ws/PlaneTrackerEvents.js +15 -1
- package/cjs/ws/PlaneTrackerEvents.d.ts +1 -1
- package/cjs/ws/PlaneTrackerEvents.js +2 -2
- package/cjs/ws/PlaneTrackerEvents.test.d.ts +1 -0
- package/cjs/ws/PlaneTrackerEvents.test.js +27 -0
- package/esm/PlaneTrackerAPI.js +2 -1
- package/esm/VapixAPI.js +1 -1
- package/esm/helpers.js +1 -1
- package/esm/node/HttpRequestSender.js +9 -6
- package/esm/node/HttpRequestSender.test.js +136 -0
- package/esm/types/PlaneTrackerAPI.js +59 -15
- package/esm/types/PlaneTrackerAPI.test.js +88 -0
- package/esm/types/ws/PlaneTrackerEvents.js +14 -0
- package/esm/ws/PlaneTrackerEvents.js +3 -3
- package/esm/ws/PlaneTrackerEvents.test.js +25 -0
- package/package.json +110 -106
- package/types/PlaneTrackerAPI.d.ts +42 -9
- package/types/node/HttpRequestSender.test.d.ts +1 -0
- package/types/types/PlaneTrackerAPI.d.ts +205 -26
- package/types/types/PlaneTrackerAPI.test.d.ts +1 -0
- package/types/types/ws/PlaneTrackerEvents.d.ts +47 -0
- package/types/ws/PlaneTrackerEvents.d.ts +1 -1
- package/types/ws/PlaneTrackerEvents.test.d.ts +1 -0
package/cjs/PlaneTrackerAPI.d.ts
CHANGED
|
@@ -45,8 +45,23 @@ export declare class PlaneTrackerAPI<Client extends IClient<TResponse, any>> ext
|
|
|
45
45
|
focusCalibrationPoints: string;
|
|
46
46
|
};
|
|
47
47
|
cameraConfig: {
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
aircraft: {
|
|
49
|
+
defaultCaptureSizeMeters: number;
|
|
50
|
+
captureSizeExtensionMeters: number;
|
|
51
|
+
};
|
|
52
|
+
drone: {
|
|
53
|
+
defaultCaptureSizeMeters: number;
|
|
54
|
+
captureSizeExtensionMeters: number;
|
|
55
|
+
};
|
|
56
|
+
} | {
|
|
57
|
+
aircraft: {
|
|
58
|
+
defaultCaptureSizeMeters: number;
|
|
59
|
+
captureSizeExtensionMeters: number;
|
|
60
|
+
};
|
|
61
|
+
drone: {
|
|
62
|
+
defaultCaptureSizeMeters: number;
|
|
63
|
+
captureSizeExtensionMeters: number;
|
|
64
|
+
};
|
|
50
65
|
};
|
|
51
66
|
stream: {
|
|
52
67
|
width: number;
|
|
@@ -99,11 +114,29 @@ export declare class PlaneTrackerAPI<Client extends IClient<TResponse, any>> ext
|
|
|
99
114
|
priority: number;
|
|
100
115
|
};
|
|
101
116
|
identificationLabel: {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
117
|
+
aircraft: {
|
|
118
|
+
firstRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
119
|
+
secondRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
120
|
+
thirdRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
121
|
+
fourthRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
122
|
+
opacity: number;
|
|
123
|
+
};
|
|
124
|
+
drone: {
|
|
125
|
+
firstRow: "blank" | "remote_id";
|
|
126
|
+
opacity: number;
|
|
127
|
+
};
|
|
128
|
+
} | {
|
|
129
|
+
aircraft: {
|
|
130
|
+
firstRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
131
|
+
secondRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
132
|
+
thirdRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
133
|
+
fourthRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
134
|
+
opacity: number;
|
|
135
|
+
};
|
|
136
|
+
drone: {
|
|
137
|
+
firstRow: "blank" | "remote_id";
|
|
138
|
+
opacity: number;
|
|
139
|
+
};
|
|
107
140
|
};
|
|
108
141
|
acs: {
|
|
109
142
|
ip: string;
|
|
@@ -181,11 +214,11 @@ export declare class PlaneTrackerAPI<Client extends IClient<TResponse, any>> ext
|
|
|
181
214
|
importAppSettings(dataType: TImportDataType, formData: Parameters<Client['post']>[0]['data'], options?: THttpRequestOptions): Promise<void>;
|
|
182
215
|
getDomainList(options?: THttpRequestOptions): Promise<Partial<Record<"adsb" | "remoteId", {
|
|
183
216
|
uiName: string;
|
|
184
|
-
icon: "unknown" | "small" | "
|
|
217
|
+
icon: "unknown" | "small" | "drone" | "large" | "heavy" | "helicopter" | "operator" | "vehicle";
|
|
185
218
|
categoryList: {
|
|
186
219
|
categoryId: string;
|
|
187
220
|
uiName: string;
|
|
188
|
-
icon: "unknown" | "small" | "
|
|
221
|
+
icon: "unknown" | "small" | "drone" | "large" | "heavy" | "helicopter" | "operator" | "vehicle";
|
|
189
222
|
}[];
|
|
190
223
|
}>>>;
|
|
191
224
|
fetchFlightInfo(targetId: string, options?: THttpRequestOptions): Promise<{
|
package/cjs/PlaneTrackerAPI.js
CHANGED
|
@@ -5,12 +5,13 @@ const zod_1 = require("zod");
|
|
|
5
5
|
const PlaneTrackerAPI_1 = require("./types/PlaneTrackerAPI");
|
|
6
6
|
const errors_1 = require("./errors/errors");
|
|
7
7
|
const BasicAPI_1 = require("./internal/BasicAPI");
|
|
8
|
+
const PlaneTrackerEvents_1 = require("./types/ws/PlaneTrackerEvents");
|
|
8
9
|
const BASE_PATH = '/local/planetracker';
|
|
9
10
|
class PlaneTrackerAPI extends BasicAPI_1.BasicAPI {
|
|
10
11
|
apiUser;
|
|
11
12
|
constructor(client, apiUser) {
|
|
12
13
|
super(client);
|
|
13
|
-
this.apiUser = apiUser;
|
|
14
|
+
this.apiUser = PlaneTrackerEvents_1.apiUserInputSchema.parse(apiUser);
|
|
14
15
|
}
|
|
15
16
|
static getProxyPath = () => `${BASE_PATH}/proxy.cgi`;
|
|
16
17
|
static getWsEventsPath = () => `${BASE_PATH}/package/ws`;
|
package/cjs/VapixAPI.js
CHANGED
|
@@ -93,7 +93,7 @@ class VapixAPI extends BasicAPI_1.BasicAPI {
|
|
|
93
93
|
};
|
|
94
94
|
await this._postJsonEncoded('/axis-cgi/opticscontrol.cgi', data, undefined, options);
|
|
95
95
|
}
|
|
96
|
-
catch
|
|
96
|
+
catch {
|
|
97
97
|
await this._postUrlEncoded('/axis-cgi/opticssetup.cgi', {
|
|
98
98
|
autofocus: 'perform',
|
|
99
99
|
source: '1',
|
package/cjs/helpers.js
CHANGED
|
@@ -32,12 +32,15 @@ class HttpRequestSender {
|
|
|
32
32
|
options.headers ??= {};
|
|
33
33
|
options.headers['Authorization'] = authorization;
|
|
34
34
|
}
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
const res = await (0, undici_1.fetch)(url, {
|
|
36
|
+
method: options.method,
|
|
37
|
+
headers: options.headers,
|
|
38
|
+
body: postData,
|
|
39
|
+
signal: AbortSignal.timeout(options.timeout),
|
|
40
|
+
dispatcher: this.agent,
|
|
41
|
+
});
|
|
40
42
|
if (res.status === 401) {
|
|
43
|
+
this.invalidateAuthorization();
|
|
41
44
|
const authenticateHeader = res.headers.get('www-authenticate');
|
|
42
45
|
if (authenticateHeader !== null &&
|
|
43
46
|
authenticateHeader.indexOf('Digest') !== -1 &&
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
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 (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
const http = __importStar(require("http"));
|
|
27
|
+
const undici_1 = require("undici");
|
|
28
|
+
const globals_1 = require("@jest/globals");
|
|
29
|
+
const HttpRequestSender_1 = require("./HttpRequestSender");
|
|
30
|
+
const DIGEST_CHALLENGE = 'Digest realm="test", qop="auth", nonce="abc123", opaque="xyz"';
|
|
31
|
+
const okHandler = (_req, res) => {
|
|
32
|
+
res.end('ok');
|
|
33
|
+
};
|
|
34
|
+
const digestHandler = (req, res) => {
|
|
35
|
+
if (req.headers.authorization?.startsWith('Digest ') !== true) {
|
|
36
|
+
res.writeHead(401, { 'WWW-Authenticate': DIGEST_CHALLENGE });
|
|
37
|
+
res.end();
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
res.end('ok');
|
|
41
|
+
};
|
|
42
|
+
(0, globals_1.describe)('HttpRequestSender', () => {
|
|
43
|
+
let server;
|
|
44
|
+
let received;
|
|
45
|
+
let handler;
|
|
46
|
+
const options = (overrides = {}) => ({
|
|
47
|
+
protocol: 'http:',
|
|
48
|
+
host: '127.0.0.1',
|
|
49
|
+
port: server.address().port,
|
|
50
|
+
path: '/test.cgi',
|
|
51
|
+
user: 'root',
|
|
52
|
+
pass: 'pass',
|
|
53
|
+
...overrides,
|
|
54
|
+
});
|
|
55
|
+
(0, globals_1.beforeEach)(async () => {
|
|
56
|
+
received = [];
|
|
57
|
+
handler = okHandler;
|
|
58
|
+
server = http.createServer((req, res) => {
|
|
59
|
+
let body = '';
|
|
60
|
+
req.on('data', (chunk) => {
|
|
61
|
+
body += chunk.toString();
|
|
62
|
+
});
|
|
63
|
+
req.on('end', () => {
|
|
64
|
+
received.push({
|
|
65
|
+
method: req.method,
|
|
66
|
+
url: req.url,
|
|
67
|
+
authorization: req.headers.authorization,
|
|
68
|
+
contentType: req.headers['content-type'],
|
|
69
|
+
body,
|
|
70
|
+
});
|
|
71
|
+
handler(req, res);
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
await new Promise((resolve) => {
|
|
75
|
+
server.listen(0, '127.0.0.1', resolve);
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
(0, globals_1.afterEach)(async () => {
|
|
79
|
+
server.closeAllConnections();
|
|
80
|
+
await new Promise((resolve) => {
|
|
81
|
+
server.close(() => resolve());
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
(0, globals_1.test)('sends basic auth when the server accepts it', async () => {
|
|
85
|
+
const res = await new HttpRequestSender_1.HttpRequestSender().sendRequest(options());
|
|
86
|
+
(0, globals_1.expect)(res.status).toBe(200);
|
|
87
|
+
(0, globals_1.expect)(await res.text()).toBe('ok');
|
|
88
|
+
(0, globals_1.expect)(received).toHaveLength(1);
|
|
89
|
+
(0, globals_1.expect)(received[0]?.authorization).toBe(`Basic ${Buffer.from('root:pass').toString('base64')}`);
|
|
90
|
+
});
|
|
91
|
+
(0, globals_1.test)('sends no authorization without credentials', async () => {
|
|
92
|
+
await new HttpRequestSender_1.HttpRequestSender().sendRequest(options({ user: undefined, pass: undefined }));
|
|
93
|
+
(0, globals_1.expect)(received[0]?.authorization).toBeUndefined();
|
|
94
|
+
});
|
|
95
|
+
(0, globals_1.test)('retries with digest auth on a digest 401 and reuses it for later requests', async () => {
|
|
96
|
+
handler = digestHandler;
|
|
97
|
+
const sender = new HttpRequestSender_1.HttpRequestSender();
|
|
98
|
+
const first = await sender.sendRequest(options());
|
|
99
|
+
const second = await sender.sendRequest(options());
|
|
100
|
+
(0, globals_1.expect)(first.status).toBe(200);
|
|
101
|
+
(0, globals_1.expect)(second.status).toBe(200);
|
|
102
|
+
(0, globals_1.expect)(received.map((r) => r.authorization?.split(' ')[0])).toEqual(['Basic', 'Digest', 'Digest']);
|
|
103
|
+
});
|
|
104
|
+
(0, globals_1.test)('keeps digest auth after a non-401 error response', async () => {
|
|
105
|
+
const sender = new HttpRequestSender_1.HttpRequestSender();
|
|
106
|
+
handler = digestHandler;
|
|
107
|
+
await sender.sendRequest(options());
|
|
108
|
+
handler = (_req, res) => {
|
|
109
|
+
res.writeHead(500);
|
|
110
|
+
res.end();
|
|
111
|
+
};
|
|
112
|
+
await sender.sendRequest(options());
|
|
113
|
+
handler = digestHandler;
|
|
114
|
+
const res = await sender.sendRequest(options());
|
|
115
|
+
(0, globals_1.expect)(res.status).toBe(200);
|
|
116
|
+
(0, globals_1.expect)(received.map((r) => r.authorization?.split(' ')[0])).toEqual(['Basic', 'Digest', 'Digest', 'Digest']);
|
|
117
|
+
});
|
|
118
|
+
(0, globals_1.test)('retries a digest 401 only once', async () => {
|
|
119
|
+
handler = (_req, res) => {
|
|
120
|
+
res.writeHead(401, { 'WWW-Authenticate': DIGEST_CHALLENGE });
|
|
121
|
+
res.end();
|
|
122
|
+
};
|
|
123
|
+
const res = await new HttpRequestSender_1.HttpRequestSender().sendRequest(options());
|
|
124
|
+
(0, globals_1.expect)(res.status).toBe(401);
|
|
125
|
+
(0, globals_1.expect)(received).toHaveLength(2);
|
|
126
|
+
});
|
|
127
|
+
(0, globals_1.test)('rejects when the response does not arrive within the timeout', async () => {
|
|
128
|
+
handler = () => undefined;
|
|
129
|
+
await (0, globals_1.expect)(new HttpRequestSender_1.HttpRequestSender().sendRequest(options({ timeout: 200 }))).rejects.toThrow();
|
|
130
|
+
});
|
|
131
|
+
(0, globals_1.test)('sends a url-encoded POST body', async () => {
|
|
132
|
+
const res = await new HttpRequestSender_1.HttpRequestSender().sendRequest(options({ method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }), 'action=settext&text=hello');
|
|
133
|
+
(0, globals_1.expect)(res.ok).toBe(true);
|
|
134
|
+
(0, globals_1.expect)(received[0]).toMatchObject({
|
|
135
|
+
method: 'POST',
|
|
136
|
+
contentType: 'application/x-www-form-urlencoded',
|
|
137
|
+
body: 'action=settext&text=hello',
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
(0, globals_1.test)('sends a JSON POST body', async () => {
|
|
141
|
+
const payload = JSON.stringify({ text: 'hello', index: 1 });
|
|
142
|
+
await new HttpRequestSender_1.HttpRequestSender().sendRequest(options({ method: 'POST', headers: { 'Content-Type': 'application/json' } }), payload);
|
|
143
|
+
(0, globals_1.expect)(received[0]).toMatchObject({ method: 'POST', contentType: 'application/json', body: payload });
|
|
144
|
+
});
|
|
145
|
+
(0, globals_1.test)('sends a Buffer POST body', async () => {
|
|
146
|
+
await new HttpRequestSender_1.HttpRequestSender().sendRequest(options({ method: 'POST' }), Buffer.from('binary-data'));
|
|
147
|
+
(0, globals_1.expect)(received[0]?.body).toBe('binary-data');
|
|
148
|
+
});
|
|
149
|
+
(0, globals_1.test)('sends a FormData POST body as multipart', async () => {
|
|
150
|
+
const formData = new undici_1.FormData();
|
|
151
|
+
formData.append('field', 'value');
|
|
152
|
+
await new HttpRequestSender_1.HttpRequestSender().sendRequest(options({ method: 'POST' }), formData);
|
|
153
|
+
(0, globals_1.expect)(received[0]?.contentType).toMatch(/^multipart\/form-data; boundary=/);
|
|
154
|
+
(0, globals_1.expect)(received[0]?.body).toContain('value');
|
|
155
|
+
});
|
|
156
|
+
(0, globals_1.test)('resends the POST body on the digest retry', async () => {
|
|
157
|
+
handler = digestHandler;
|
|
158
|
+
await new HttpRequestSender_1.HttpRequestSender().sendRequest(options({ method: 'POST' }), 'payload');
|
|
159
|
+
(0, globals_1.expect)(received.map((r) => r.body)).toEqual(['payload', 'payload']);
|
|
160
|
+
});
|
|
161
|
+
});
|
|
@@ -69,6 +69,8 @@ export declare const widgetSchema: z.ZodObject<{
|
|
|
69
69
|
}>;
|
|
70
70
|
declare const labelOptionsSchema: z.ZodUnion<[z.ZodLiteral<"blank">, z.ZodLiteral<"registration">, z.ZodLiteral<"call_sign">, z.ZodLiteral<"flight_number">, z.ZodLiteral<"icao">]>;
|
|
71
71
|
export type TLabelOption = z.infer<typeof labelOptionsSchema>;
|
|
72
|
+
declare const droneLabelOptionsSchema: z.ZodUnion<[z.ZodLiteral<"blank">, z.ZodLiteral<"remote_id">]>;
|
|
73
|
+
export type TDroneLabelOption = z.infer<typeof droneLabelOptionsSchema>;
|
|
72
74
|
export declare const cameraSettingsSchema: z.ZodObject<{
|
|
73
75
|
units: z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"metric">, z.ZodLiteral<"imperial">]>>;
|
|
74
76
|
adsbSource: z.ZodDefault<z.ZodObject<{
|
|
@@ -132,16 +134,67 @@ export declare const cameraSettingsSchema: z.ZodObject<{
|
|
|
132
134
|
nightSkyCalibrationFocusValue?: number | undefined;
|
|
133
135
|
focusCalibrationPoints?: string | undefined;
|
|
134
136
|
}>>;
|
|
135
|
-
cameraConfig: z.ZodDefault<z.ZodObject<{
|
|
137
|
+
cameraConfig: z.ZodDefault<z.ZodUnion<[z.ZodObject<{
|
|
138
|
+
aircraft: z.ZodObject<{
|
|
139
|
+
defaultCaptureSizeMeters: z.ZodNumber;
|
|
140
|
+
captureSizeExtensionMeters: z.ZodNumber;
|
|
141
|
+
}, "strip", z.ZodTypeAny, {
|
|
142
|
+
defaultCaptureSizeMeters: number;
|
|
143
|
+
captureSizeExtensionMeters: number;
|
|
144
|
+
}, {
|
|
145
|
+
defaultCaptureSizeMeters: number;
|
|
146
|
+
captureSizeExtensionMeters: number;
|
|
147
|
+
}>;
|
|
148
|
+
drone: z.ZodDefault<z.ZodObject<{
|
|
149
|
+
defaultCaptureSizeMeters: z.ZodNumber;
|
|
150
|
+
captureSizeExtensionMeters: z.ZodNumber;
|
|
151
|
+
}, "strip", z.ZodTypeAny, {
|
|
152
|
+
defaultCaptureSizeMeters: number;
|
|
153
|
+
captureSizeExtensionMeters: number;
|
|
154
|
+
}, {
|
|
155
|
+
defaultCaptureSizeMeters: number;
|
|
156
|
+
captureSizeExtensionMeters: number;
|
|
157
|
+
}>>;
|
|
158
|
+
}, "strip", z.ZodTypeAny, {
|
|
159
|
+
aircraft: {
|
|
160
|
+
defaultCaptureSizeMeters: number;
|
|
161
|
+
captureSizeExtensionMeters: number;
|
|
162
|
+
};
|
|
163
|
+
drone: {
|
|
164
|
+
defaultCaptureSizeMeters: number;
|
|
165
|
+
captureSizeExtensionMeters: number;
|
|
166
|
+
};
|
|
167
|
+
}, {
|
|
168
|
+
aircraft: {
|
|
169
|
+
defaultCaptureSizeMeters: number;
|
|
170
|
+
captureSizeExtensionMeters: number;
|
|
171
|
+
};
|
|
172
|
+
drone?: {
|
|
173
|
+
defaultCaptureSizeMeters: number;
|
|
174
|
+
captureSizeExtensionMeters: number;
|
|
175
|
+
} | undefined;
|
|
176
|
+
}>, z.ZodEffects<z.ZodObject<{
|
|
136
177
|
defaultCaptureSizeMeters: z.ZodDefault<z.ZodNumber>;
|
|
137
178
|
captureSizeExtensionMeters: z.ZodDefault<z.ZodNumber>;
|
|
138
|
-
}, "
|
|
179
|
+
}, "strict", z.ZodTypeAny, {
|
|
139
180
|
defaultCaptureSizeMeters: number;
|
|
140
181
|
captureSizeExtensionMeters: number;
|
|
141
182
|
}, {
|
|
142
183
|
defaultCaptureSizeMeters?: number | undefined;
|
|
143
184
|
captureSizeExtensionMeters?: number | undefined;
|
|
144
|
-
}
|
|
185
|
+
}>, {
|
|
186
|
+
aircraft: {
|
|
187
|
+
defaultCaptureSizeMeters: number;
|
|
188
|
+
captureSizeExtensionMeters: number;
|
|
189
|
+
};
|
|
190
|
+
drone: {
|
|
191
|
+
defaultCaptureSizeMeters: number;
|
|
192
|
+
captureSizeExtensionMeters: number;
|
|
193
|
+
};
|
|
194
|
+
}, {
|
|
195
|
+
defaultCaptureSizeMeters?: number | undefined;
|
|
196
|
+
captureSizeExtensionMeters?: number | undefined;
|
|
197
|
+
}>]>>;
|
|
145
198
|
stream: z.ZodDefault<z.ZodObject<{
|
|
146
199
|
width: z.ZodNumber;
|
|
147
200
|
height: z.ZodNumber;
|
|
@@ -347,7 +400,61 @@ export declare const cameraSettingsSchema: z.ZodObject<{
|
|
|
347
400
|
port?: number | undefined;
|
|
348
401
|
priority?: number | undefined;
|
|
349
402
|
}>>;
|
|
350
|
-
identificationLabel: z.ZodDefault<z.ZodObject<{
|
|
403
|
+
identificationLabel: z.ZodDefault<z.ZodUnion<[z.ZodObject<{
|
|
404
|
+
aircraft: z.ZodObject<{
|
|
405
|
+
firstRow: z.ZodUnion<[z.ZodLiteral<"blank">, z.ZodLiteral<"registration">, z.ZodLiteral<"call_sign">, z.ZodLiteral<"flight_number">, z.ZodLiteral<"icao">]>;
|
|
406
|
+
secondRow: z.ZodUnion<[z.ZodLiteral<"blank">, z.ZodLiteral<"registration">, z.ZodLiteral<"call_sign">, z.ZodLiteral<"flight_number">, z.ZodLiteral<"icao">]>;
|
|
407
|
+
thirdRow: z.ZodUnion<[z.ZodLiteral<"blank">, z.ZodLiteral<"registration">, z.ZodLiteral<"call_sign">, z.ZodLiteral<"flight_number">, z.ZodLiteral<"icao">]>;
|
|
408
|
+
fourthRow: z.ZodUnion<[z.ZodLiteral<"blank">, z.ZodLiteral<"registration">, z.ZodLiteral<"call_sign">, z.ZodLiteral<"flight_number">, z.ZodLiteral<"icao">]>;
|
|
409
|
+
opacity: z.ZodNumber;
|
|
410
|
+
}, "strip", z.ZodTypeAny, {
|
|
411
|
+
firstRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
412
|
+
secondRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
413
|
+
thirdRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
414
|
+
fourthRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
415
|
+
opacity: number;
|
|
416
|
+
}, {
|
|
417
|
+
firstRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
418
|
+
secondRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
419
|
+
thirdRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
420
|
+
fourthRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
421
|
+
opacity: number;
|
|
422
|
+
}>;
|
|
423
|
+
drone: z.ZodDefault<z.ZodObject<{
|
|
424
|
+
firstRow: z.ZodUnion<[z.ZodLiteral<"blank">, z.ZodLiteral<"remote_id">]>;
|
|
425
|
+
opacity: z.ZodNumber;
|
|
426
|
+
}, "strip", z.ZodTypeAny, {
|
|
427
|
+
firstRow: "blank" | "remote_id";
|
|
428
|
+
opacity: number;
|
|
429
|
+
}, {
|
|
430
|
+
firstRow: "blank" | "remote_id";
|
|
431
|
+
opacity: number;
|
|
432
|
+
}>>;
|
|
433
|
+
}, "strip", z.ZodTypeAny, {
|
|
434
|
+
aircraft: {
|
|
435
|
+
firstRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
436
|
+
secondRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
437
|
+
thirdRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
438
|
+
fourthRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
439
|
+
opacity: number;
|
|
440
|
+
};
|
|
441
|
+
drone: {
|
|
442
|
+
firstRow: "blank" | "remote_id";
|
|
443
|
+
opacity: number;
|
|
444
|
+
};
|
|
445
|
+
}, {
|
|
446
|
+
aircraft: {
|
|
447
|
+
firstRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
448
|
+
secondRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
449
|
+
thirdRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
450
|
+
fourthRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
451
|
+
opacity: number;
|
|
452
|
+
};
|
|
453
|
+
drone?: {
|
|
454
|
+
firstRow: "blank" | "remote_id";
|
|
455
|
+
opacity: number;
|
|
456
|
+
} | undefined;
|
|
457
|
+
}>, z.ZodEffects<z.ZodObject<{
|
|
351
458
|
firstRow: z.ZodUnion<[z.ZodLiteral<"blank">, z.ZodLiteral<"registration">, z.ZodLiteral<"call_sign">, z.ZodLiteral<"flight_number">, z.ZodLiteral<"icao">]>;
|
|
352
459
|
secondRow: z.ZodUnion<[z.ZodLiteral<"blank">, z.ZodLiteral<"registration">, z.ZodLiteral<"call_sign">, z.ZodLiteral<"flight_number">, z.ZodLiteral<"icao">]>;
|
|
353
460
|
thirdRow: z.ZodUnion<[z.ZodLiteral<"blank">, z.ZodLiteral<"registration">, z.ZodLiteral<"call_sign">, z.ZodLiteral<"flight_number">, z.ZodLiteral<"icao">]>;
|
|
@@ -365,7 +472,25 @@ export declare const cameraSettingsSchema: z.ZodObject<{
|
|
|
365
472
|
thirdRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
366
473
|
fourthRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
367
474
|
opacity: number;
|
|
368
|
-
}
|
|
475
|
+
}>, {
|
|
476
|
+
aircraft: {
|
|
477
|
+
firstRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
478
|
+
secondRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
479
|
+
thirdRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
480
|
+
fourthRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
481
|
+
opacity: number;
|
|
482
|
+
};
|
|
483
|
+
drone: {
|
|
484
|
+
firstRow: "blank" | "remote_id";
|
|
485
|
+
opacity: number;
|
|
486
|
+
};
|
|
487
|
+
}, {
|
|
488
|
+
firstRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
489
|
+
secondRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
490
|
+
thirdRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
491
|
+
fourthRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
492
|
+
opacity: number;
|
|
493
|
+
}>]>>;
|
|
369
494
|
acs: z.ZodDefault<z.ZodObject<{
|
|
370
495
|
protocol: z.ZodUnion<[z.ZodLiteral<"http">, z.ZodLiteral<"https">, z.ZodLiteral<"https_insecure">]>;
|
|
371
496
|
ip: z.ZodUnion<[z.ZodString, z.ZodLiteral<"">]>;
|
|
@@ -460,8 +585,23 @@ export declare const cameraSettingsSchema: z.ZodObject<{
|
|
|
460
585
|
focusCalibrationPoints: string;
|
|
461
586
|
};
|
|
462
587
|
cameraConfig: {
|
|
463
|
-
|
|
464
|
-
|
|
588
|
+
aircraft: {
|
|
589
|
+
defaultCaptureSizeMeters: number;
|
|
590
|
+
captureSizeExtensionMeters: number;
|
|
591
|
+
};
|
|
592
|
+
drone: {
|
|
593
|
+
defaultCaptureSizeMeters: number;
|
|
594
|
+
captureSizeExtensionMeters: number;
|
|
595
|
+
};
|
|
596
|
+
} | {
|
|
597
|
+
aircraft: {
|
|
598
|
+
defaultCaptureSizeMeters: number;
|
|
599
|
+
captureSizeExtensionMeters: number;
|
|
600
|
+
};
|
|
601
|
+
drone: {
|
|
602
|
+
defaultCaptureSizeMeters: number;
|
|
603
|
+
captureSizeExtensionMeters: number;
|
|
604
|
+
};
|
|
465
605
|
};
|
|
466
606
|
stream: {
|
|
467
607
|
width: number;
|
|
@@ -514,11 +654,29 @@ export declare const cameraSettingsSchema: z.ZodObject<{
|
|
|
514
654
|
priority: number;
|
|
515
655
|
};
|
|
516
656
|
identificationLabel: {
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
657
|
+
aircraft: {
|
|
658
|
+
firstRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
659
|
+
secondRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
660
|
+
thirdRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
661
|
+
fourthRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
662
|
+
opacity: number;
|
|
663
|
+
};
|
|
664
|
+
drone: {
|
|
665
|
+
firstRow: "blank" | "remote_id";
|
|
666
|
+
opacity: number;
|
|
667
|
+
};
|
|
668
|
+
} | {
|
|
669
|
+
aircraft: {
|
|
670
|
+
firstRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
671
|
+
secondRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
672
|
+
thirdRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
673
|
+
fourthRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
674
|
+
opacity: number;
|
|
675
|
+
};
|
|
676
|
+
drone: {
|
|
677
|
+
firstRow: "blank" | "remote_id";
|
|
678
|
+
opacity: number;
|
|
679
|
+
};
|
|
522
680
|
};
|
|
523
681
|
acs: {
|
|
524
682
|
ip: string;
|
|
@@ -594,6 +752,15 @@ export declare const cameraSettingsSchema: z.ZodObject<{
|
|
|
594
752
|
focusCalibrationPoints?: string | undefined;
|
|
595
753
|
} | undefined;
|
|
596
754
|
cameraConfig?: {
|
|
755
|
+
aircraft: {
|
|
756
|
+
defaultCaptureSizeMeters: number;
|
|
757
|
+
captureSizeExtensionMeters: number;
|
|
758
|
+
};
|
|
759
|
+
drone?: {
|
|
760
|
+
defaultCaptureSizeMeters: number;
|
|
761
|
+
captureSizeExtensionMeters: number;
|
|
762
|
+
} | undefined;
|
|
763
|
+
} | {
|
|
597
764
|
defaultCaptureSizeMeters?: number | undefined;
|
|
598
765
|
captureSizeExtensionMeters?: number | undefined;
|
|
599
766
|
} | undefined;
|
|
@@ -677,6 +844,18 @@ export declare const cameraSettingsSchema: z.ZodObject<{
|
|
|
677
844
|
thirdRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
678
845
|
fourthRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
679
846
|
opacity: number;
|
|
847
|
+
} | {
|
|
848
|
+
aircraft: {
|
|
849
|
+
firstRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
850
|
+
secondRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
851
|
+
thirdRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
852
|
+
fourthRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao";
|
|
853
|
+
opacity: number;
|
|
854
|
+
};
|
|
855
|
+
drone?: {
|
|
856
|
+
firstRow: "blank" | "remote_id";
|
|
857
|
+
opacity: number;
|
|
858
|
+
} | undefined;
|
|
680
859
|
} | undefined;
|
|
681
860
|
acs?: {
|
|
682
861
|
ip: string;
|
|
@@ -1209,11 +1388,11 @@ declare const categoryDescriptorSchema: z.ZodObject<{
|
|
|
1209
1388
|
}, "strip", z.ZodTypeAny, {
|
|
1210
1389
|
categoryId: string;
|
|
1211
1390
|
uiName: string;
|
|
1212
|
-
icon: "unknown" | "small" | "
|
|
1391
|
+
icon: "unknown" | "small" | "drone" | "large" | "heavy" | "helicopter" | "operator" | "vehicle";
|
|
1213
1392
|
}, {
|
|
1214
1393
|
categoryId: string;
|
|
1215
1394
|
uiName: string;
|
|
1216
|
-
icon: "unknown" | "small" | "
|
|
1395
|
+
icon: "unknown" | "small" | "drone" | "large" | "heavy" | "helicopter" | "operator" | "vehicle";
|
|
1217
1396
|
}>;
|
|
1218
1397
|
export type TCategoryDescriptor = z.infer<typeof categoryDescriptorSchema>;
|
|
1219
1398
|
declare const domainDescriptorSchema: z.ZodObject<{
|
|
@@ -1226,27 +1405,27 @@ declare const domainDescriptorSchema: z.ZodObject<{
|
|
|
1226
1405
|
}, "strip", z.ZodTypeAny, {
|
|
1227
1406
|
categoryId: string;
|
|
1228
1407
|
uiName: string;
|
|
1229
|
-
icon: "unknown" | "small" | "
|
|
1408
|
+
icon: "unknown" | "small" | "drone" | "large" | "heavy" | "helicopter" | "operator" | "vehicle";
|
|
1230
1409
|
}, {
|
|
1231
1410
|
categoryId: string;
|
|
1232
1411
|
uiName: string;
|
|
1233
|
-
icon: "unknown" | "small" | "
|
|
1412
|
+
icon: "unknown" | "small" | "drone" | "large" | "heavy" | "helicopter" | "operator" | "vehicle";
|
|
1234
1413
|
}>, "many">;
|
|
1235
1414
|
}, "strip", z.ZodTypeAny, {
|
|
1236
1415
|
uiName: string;
|
|
1237
|
-
icon: "unknown" | "small" | "
|
|
1416
|
+
icon: "unknown" | "small" | "drone" | "large" | "heavy" | "helicopter" | "operator" | "vehicle";
|
|
1238
1417
|
categoryList: {
|
|
1239
1418
|
categoryId: string;
|
|
1240
1419
|
uiName: string;
|
|
1241
|
-
icon: "unknown" | "small" | "
|
|
1420
|
+
icon: "unknown" | "small" | "drone" | "large" | "heavy" | "helicopter" | "operator" | "vehicle";
|
|
1242
1421
|
}[];
|
|
1243
1422
|
}, {
|
|
1244
1423
|
uiName: string;
|
|
1245
|
-
icon: "unknown" | "small" | "
|
|
1424
|
+
icon: "unknown" | "small" | "drone" | "large" | "heavy" | "helicopter" | "operator" | "vehicle";
|
|
1246
1425
|
categoryList: {
|
|
1247
1426
|
categoryId: string;
|
|
1248
1427
|
uiName: string;
|
|
1249
|
-
icon: "unknown" | "small" | "
|
|
1428
|
+
icon: "unknown" | "small" | "drone" | "large" | "heavy" | "helicopter" | "operator" | "vehicle";
|
|
1250
1429
|
}[];
|
|
1251
1430
|
}>;
|
|
1252
1431
|
export type TDomainDescriptor = z.infer<typeof domainDescriptorSchema>;
|
|
@@ -1260,27 +1439,27 @@ export declare const domainListSchema: z.ZodRecord<z.ZodEnum<["adsb", "remoteId"
|
|
|
1260
1439
|
}, "strip", z.ZodTypeAny, {
|
|
1261
1440
|
categoryId: string;
|
|
1262
1441
|
uiName: string;
|
|
1263
|
-
icon: "unknown" | "small" | "
|
|
1442
|
+
icon: "unknown" | "small" | "drone" | "large" | "heavy" | "helicopter" | "operator" | "vehicle";
|
|
1264
1443
|
}, {
|
|
1265
1444
|
categoryId: string;
|
|
1266
1445
|
uiName: string;
|
|
1267
|
-
icon: "unknown" | "small" | "
|
|
1446
|
+
icon: "unknown" | "small" | "drone" | "large" | "heavy" | "helicopter" | "operator" | "vehicle";
|
|
1268
1447
|
}>, "many">;
|
|
1269
1448
|
}, "strip", z.ZodTypeAny, {
|
|
1270
1449
|
uiName: string;
|
|
1271
|
-
icon: "unknown" | "small" | "
|
|
1450
|
+
icon: "unknown" | "small" | "drone" | "large" | "heavy" | "helicopter" | "operator" | "vehicle";
|
|
1272
1451
|
categoryList: {
|
|
1273
1452
|
categoryId: string;
|
|
1274
1453
|
uiName: string;
|
|
1275
|
-
icon: "unknown" | "small" | "
|
|
1454
|
+
icon: "unknown" | "small" | "drone" | "large" | "heavy" | "helicopter" | "operator" | "vehicle";
|
|
1276
1455
|
}[];
|
|
1277
1456
|
}, {
|
|
1278
1457
|
uiName: string;
|
|
1279
|
-
icon: "unknown" | "small" | "
|
|
1458
|
+
icon: "unknown" | "small" | "drone" | "large" | "heavy" | "helicopter" | "operator" | "vehicle";
|
|
1280
1459
|
categoryList: {
|
|
1281
1460
|
categoryId: string;
|
|
1282
1461
|
uiName: string;
|
|
1283
|
-
icon: "unknown" | "small" | "
|
|
1462
|
+
icon: "unknown" | "small" | "drone" | "large" | "heavy" | "helicopter" | "operator" | "vehicle";
|
|
1284
1463
|
}[];
|
|
1285
1464
|
}>>;
|
|
1286
1465
|
export type TDomainList = z.infer<typeof domainListSchema>;
|