camstreamerlib 4.0.0-beta.6 → 4.0.0-beta.60

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 (265) hide show
  1. package/README.md +142 -38
  2. package/cjs/CamOverlayAPI.js +135 -92
  3. package/cjs/CamScripterAPI.js +52 -42
  4. package/cjs/CamStreamerAPI.js +83 -39
  5. package/cjs/CamSwitcherAPI.js +141 -123
  6. package/cjs/PlaneTrackerAPI.js +247 -0
  7. package/cjs/VapixAPI.js +323 -233
  8. package/cjs/{CreatePackage.js → bin/CreatePackage.js} +22 -19
  9. package/cjs/errors/errors.js +113 -1
  10. package/cjs/index.js +28 -5
  11. package/cjs/internal/ProxyClient.js +28 -32
  12. package/cjs/{CamSwitcherEvents.js → internal/WsEvents.js} +28 -22
  13. package/cjs/internal/types.js +2 -0
  14. package/cjs/internal/utils.js +22 -3
  15. package/cjs/{CamOverlayDrawingAPI.js → node/CamOverlayDrawingAPI.js} +17 -14
  16. package/cjs/{CamOverlayPainter → node/CamOverlayPainter}/Frame.js +33 -0
  17. package/cjs/{CamOverlayPainter → node/CamOverlayPainter}/Painter.js +5 -17
  18. package/cjs/node/CamOverlayPainter/ResourceManager.js +72 -0
  19. package/cjs/{CamScripterAPICameraEventsGenerator.js → node/CamScripterAPICameraEventsGenerator.js} +16 -13
  20. package/cjs/node/DefaultClient.js +10 -12
  21. package/cjs/{internal → node}/Digest.js +8 -5
  22. package/cjs/node/Digest.test.js +13 -0
  23. package/cjs/node/HttpRequestSender.js +14 -4
  24. package/cjs/node/HttpServer.js +15 -12
  25. package/cjs/{VapixEvents.js → node/VapixEvents.js} +10 -10
  26. package/cjs/node/WsClient.js +30 -20
  27. package/cjs/node/events/AxisCameraStationEvents.js +53 -0
  28. package/cjs/node/events/GenetecAgent.js +123 -0
  29. package/cjs/node/index.js +38 -5
  30. package/cjs/types/CamOverlayAPI/CamOverlayAPI.js +92 -0
  31. package/cjs/types/CamOverlayAPI/accuweatherSchema.js +47 -0
  32. package/cjs/types/CamOverlayAPI/customGraphicsSchema.js +72 -0
  33. package/cjs/types/CamOverlayAPI/imagesSchema.js +9 -0
  34. package/cjs/types/CamOverlayAPI/index.js +27 -0
  35. package/cjs/types/CamOverlayAPI/infotickerSchema.js +26 -0
  36. package/cjs/types/CamOverlayAPI/pipSchema.js +39 -0
  37. package/cjs/types/CamOverlayAPI/ptzCompassSchema.js +26 -0
  38. package/cjs/types/CamOverlayAPI/ptzSchema.js +12 -0
  39. package/cjs/types/CamOverlayAPI/scoreBoardSchema.js +132 -0
  40. package/cjs/types/CamOverlayAPI/screenSharingSchema.js +8 -0
  41. package/cjs/types/CamOverlayAPI/serviceCommonTypes.js +91 -0
  42. package/cjs/types/CamOverlayAPI/webCameraSharingSchema.js +8 -0
  43. package/cjs/types/CamOverlayDrawingAPI.js +2 -0
  44. package/cjs/types/CamOverlayPainter.js +14 -0
  45. package/cjs/types/CamScripterAPI.js +24 -8
  46. package/cjs/types/CamScripterAPICameraEventsGenerator.js +2 -0
  47. package/cjs/types/CamStreamerAPI.js +34 -3
  48. package/cjs/types/CamSwitcherAPI.js +38 -1
  49. package/cjs/types/GenetecAgent.js +31 -0
  50. package/cjs/types/PlaneTrackerAPI.js +310 -0
  51. package/cjs/types/VapixAPI.js +71 -13
  52. package/cjs/types/VapixEvents.js +2 -0
  53. package/cjs/types/common.js +4 -2
  54. package/cjs/types/ws/CamOverlayEvents.js +19 -0
  55. package/cjs/types/ws/CamStreamerEvents.js +32 -0
  56. package/cjs/types/{CamSwitcherEvents.js → ws/CamSwitcherEvents.js} +8 -0
  57. package/cjs/types/ws/PlaneTrackerEvents.js +194 -0
  58. package/cjs/web/DefaultClient.js +26 -10
  59. package/cjs/web/WsClient.js +16 -18
  60. package/cjs/ws/CamOverlayEvents.js +24 -0
  61. package/cjs/ws/CamStreamerEvents.js +24 -0
  62. package/cjs/ws/CamSwitcherEvents.js +24 -0
  63. package/cjs/ws/PlaneTrackerEvents.js +30 -0
  64. package/esm/CamOverlayAPI.js +131 -88
  65. package/esm/CamScripterAPI.js +48 -38
  66. package/esm/CamStreamerAPI.js +81 -38
  67. package/esm/CamSwitcherAPI.js +137 -119
  68. package/esm/PlaneTrackerAPI.js +243 -0
  69. package/esm/VapixAPI.js +315 -225
  70. package/esm/{CreatePackage.js → bin/CreatePackage.js} +3 -3
  71. package/esm/errors/errors.js +96 -0
  72. package/esm/index.js +20 -4
  73. package/esm/internal/ProxyClient.js +28 -32
  74. package/esm/{CamSwitcherEvents.js → internal/WsEvents.js} +26 -20
  75. package/esm/internal/utils.js +17 -1
  76. package/esm/{CamOverlayDrawingAPI.js → node/CamOverlayDrawingAPI.js} +12 -12
  77. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/Frame.js +33 -0
  78. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/Painter.js +2 -13
  79. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/ResourceManager.js +7 -5
  80. package/esm/{CamScripterAPICameraEventsGenerator.js → node/CamScripterAPICameraEventsGenerator.js} +11 -11
  81. package/esm/node/DefaultClient.js +10 -12
  82. package/esm/{internal → node}/Digest.js +1 -1
  83. package/esm/node/Digest.test.js +11 -0
  84. package/esm/node/HttpRequestSender.js +14 -4
  85. package/esm/node/HttpServer.js +5 -5
  86. package/esm/{VapixEvents.js → node/VapixEvents.js} +10 -10
  87. package/esm/node/WsClient.js +22 -15
  88. package/esm/{events → node/events}/AxisCameraStationEvents.js +18 -13
  89. package/esm/node/events/GenetecAgent.js +119 -0
  90. package/esm/node/index.js +17 -2
  91. package/esm/types/CamOverlayAPI/CamOverlayAPI.js +76 -0
  92. package/esm/types/CamOverlayAPI/accuweatherSchema.js +44 -0
  93. package/esm/types/CamOverlayAPI/customGraphicsSchema.js +69 -0
  94. package/esm/types/CamOverlayAPI/imagesSchema.js +6 -0
  95. package/esm/types/CamOverlayAPI/index.js +11 -0
  96. package/esm/types/CamOverlayAPI/infotickerSchema.js +23 -0
  97. package/esm/types/CamOverlayAPI/pipSchema.js +36 -0
  98. package/esm/types/CamOverlayAPI/ptzCompassSchema.js +23 -0
  99. package/esm/types/CamOverlayAPI/ptzSchema.js +9 -0
  100. package/esm/types/CamOverlayAPI/scoreBoardSchema.js +129 -0
  101. package/esm/types/CamOverlayAPI/screenSharingSchema.js +5 -0
  102. package/esm/types/CamOverlayAPI/serviceCommonTypes.js +88 -0
  103. package/esm/types/CamOverlayAPI/webCameraSharingSchema.js +5 -0
  104. package/esm/types/CamOverlayPainter.js +11 -0
  105. package/esm/types/CamScripterAPI.js +23 -7
  106. package/esm/types/CamScripterAPICameraEventsGenerator.js +1 -0
  107. package/esm/types/CamStreamerAPI.js +33 -2
  108. package/esm/types/CamSwitcherAPI.js +38 -1
  109. package/esm/types/GenetecAgent.js +28 -0
  110. package/esm/types/PlaneTrackerAPI.js +307 -0
  111. package/esm/types/VapixAPI.js +70 -12
  112. package/esm/types/VapixEvents.js +1 -0
  113. package/esm/types/common.js +3 -1
  114. package/esm/types/ws/CamOverlayEvents.js +16 -0
  115. package/esm/types/ws/CamStreamerEvents.js +29 -0
  116. package/esm/types/{CamSwitcherEvents.js → ws/CamSwitcherEvents.js} +8 -0
  117. package/esm/types/ws/PlaneTrackerEvents.js +191 -0
  118. package/esm/web/DefaultClient.js +26 -10
  119. package/esm/web/WsClient.js +16 -18
  120. package/esm/ws/CamOverlayEvents.js +20 -0
  121. package/esm/ws/CamStreamerEvents.js +20 -0
  122. package/esm/ws/CamSwitcherEvents.js +20 -0
  123. package/esm/ws/PlaneTrackerEvents.js +26 -0
  124. package/package.json +29 -11
  125. package/types/CamOverlayAPI.d.ts +867 -0
  126. package/types/CamScripterAPI.d.ts +46 -0
  127. package/types/CamStreamerAPI.d.ts +64 -0
  128. package/types/CamSwitcherAPI.d.ts +167 -0
  129. package/types/PlaneTrackerAPI.d.ts +229 -0
  130. package/types/VapixAPI.d.ts +118 -0
  131. package/types/bin/CreatePackage.d.ts +1 -0
  132. package/types/errors/errors.d.ts +83 -0
  133. package/types/index.d.ts +27 -0
  134. package/types/internal/ProxyClient.d.ts +10 -0
  135. package/types/internal/WsEvents.d.ts +37 -0
  136. package/types/internal/types.d.ts +47 -0
  137. package/{cjs → types}/internal/utils.d.ts +4 -1
  138. package/{cjs → types}/internal/versionCompare.d.ts +2 -2
  139. package/types/node/CamOverlayDrawingAPI.d.ts +41 -0
  140. package/{esm → types/node}/CamOverlayPainter/Frame.d.ts +8 -37
  141. package/{cjs → types/node}/CamOverlayPainter/Painter.d.ts +5 -21
  142. package/types/node/CamOverlayPainter/ResourceManager.d.ts +15 -0
  143. package/types/node/CamScripterAPICameraEventsGenerator.d.ts +31 -0
  144. package/types/node/DefaultClient.d.ts +16 -0
  145. package/types/node/Digest.test.d.ts +1 -0
  146. package/{esm → types}/node/HttpRequestSender.d.ts +1 -0
  147. package/{cjs → types}/node/HttpServer.d.ts +2 -2
  148. package/types/node/VapixEvents.d.ts +16 -0
  149. package/types/node/WsClient.d.ts +30 -0
  150. package/types/node/events/AxisCameraStationEvents.d.ts +12 -0
  151. package/types/node/events/GenetecAgent.d.ts +16 -0
  152. package/types/node/index.d.ts +17 -0
  153. package/types/types/CamOverlayAPI/CamOverlayAPI.d.ts +4330 -0
  154. package/types/types/CamOverlayAPI/accuweatherSchema.d.ts +84 -0
  155. package/types/types/CamOverlayAPI/customGraphicsSchema.d.ts +700 -0
  156. package/types/types/CamOverlayAPI/imagesSchema.d.ts +95 -0
  157. package/types/types/CamOverlayAPI/index.d.ts +11 -0
  158. package/types/types/CamOverlayAPI/infotickerSchema.d.ts +96 -0
  159. package/types/types/CamOverlayAPI/pipSchema.d.ts +125 -0
  160. package/types/types/CamOverlayAPI/ptzCompassSchema.d.ts +96 -0
  161. package/types/types/CamOverlayAPI/ptzSchema.d.ts +118 -0
  162. package/types/types/CamOverlayAPI/scoreBoardSchema.d.ts +357 -0
  163. package/types/types/CamOverlayAPI/screenSharingSchema.d.ts +58 -0
  164. package/types/types/CamOverlayAPI/serviceCommonTypes.d.ts +145 -0
  165. package/types/types/CamOverlayAPI/webCameraSharingSchema.d.ts +58 -0
  166. package/types/types/CamOverlayDrawingAPI.d.ts +48 -0
  167. package/types/types/CamOverlayPainter.d.ts +76 -0
  168. package/types/types/CamScripterAPI.d.ts +130 -0
  169. package/types/types/CamScripterAPICameraEventsGenerator.d.ts +45 -0
  170. package/types/types/CamStreamerAPI.d.ts +272 -0
  171. package/{esm → types}/types/CamSwitcherAPI.d.ts +145 -66
  172. package/{esm/events → types/types}/GenetecAgent.d.ts +47 -47
  173. package/types/types/PlaneTrackerAPI.d.ts +918 -0
  174. package/{cjs → types}/types/VapixAPI.d.ts +647 -465
  175. package/types/types/VapixEvents.d.ts +15 -0
  176. package/{cjs → types}/types/common.d.ts +17 -5
  177. package/types/types/ws/CamOverlayEvents.d.ts +88 -0
  178. package/types/types/ws/CamStreamerEvents.d.ts +249 -0
  179. package/{cjs/types → types/types/ws}/CamSwitcherEvents.d.ts +77 -0
  180. package/types/types/ws/PlaneTrackerEvents.d.ts +1597 -0
  181. package/types/web/DefaultClient.d.ts +8 -0
  182. package/types/web/WsClient.d.ts +17 -0
  183. package/types/ws/CamOverlayEvents.d.ts +8 -0
  184. package/types/ws/CamStreamerEvents.d.ts +8 -0
  185. package/types/ws/CamSwitcherEvents.d.ts +8 -0
  186. package/types/ws/PlaneTrackerEvents.d.ts +9 -0
  187. package/cjs/CamOverlayAPI.d.ts +0 -31
  188. package/cjs/CamOverlayDrawingAPI.d.ts +0 -86
  189. package/cjs/CamOverlayPainter/Frame.d.ts +0 -96
  190. package/cjs/CamOverlayPainter/ResourceManager.d.ts +0 -14
  191. package/cjs/CamOverlayPainter/ResourceManager.js +0 -46
  192. package/cjs/CamScripterAPI.d.ts +0 -19
  193. package/cjs/CamScripterAPICameraEventsGenerator.d.ts +0 -74
  194. package/cjs/CamStreamerAPI.d.ts +0 -16
  195. package/cjs/CamSwitcherAPI.d.ts +0 -48
  196. package/cjs/CamSwitcherEvents.d.ts +0 -18
  197. package/cjs/VapixAPI.d.ts +0 -66
  198. package/cjs/VapixEvents.d.ts +0 -43
  199. package/cjs/errors/errors.d.ts +0 -34
  200. package/cjs/events/AxisCameraStationEvents.d.ts +0 -9
  201. package/cjs/events/AxisCameraStationEvents.js +0 -48
  202. package/cjs/events/GenetecAgent.d.ts +0 -174
  203. package/cjs/events/GenetecAgent.js +0 -123
  204. package/cjs/index.d.ts +0 -11
  205. package/cjs/internal/ProxyClient.d.ts +0 -11
  206. package/cjs/internal/common.d.ts +0 -39
  207. package/cjs/internal/common.js +0 -27
  208. package/cjs/node/DefaultClient.d.ts +0 -15
  209. package/cjs/node/HttpRequestSender.d.ts +0 -28
  210. package/cjs/node/WsClient.d.ts +0 -39
  211. package/cjs/node/WsEventClient.d.ts +0 -13
  212. package/cjs/node/WsEventClient.js +0 -22
  213. package/cjs/types/CamOverlayAPI.d.ts +0 -188
  214. package/cjs/types/CamOverlayAPI.js +0 -47
  215. package/cjs/types/CamScripterAPI.d.ts +0 -67
  216. package/cjs/types/CamStreamerAPI.d.ts +0 -139
  217. package/cjs/types/CamSwitcherAPI.d.ts +0 -814
  218. package/cjs/web/DefaultClient.d.ts +0 -6
  219. package/cjs/web/WsClient.d.ts +0 -13
  220. package/cjs/web/index.d.ts +0 -2
  221. package/esm/CamOverlayAPI.d.ts +0 -31
  222. package/esm/CamOverlayDrawingAPI.d.ts +0 -86
  223. package/esm/CamOverlayPainter/Painter.d.ts +0 -48
  224. package/esm/CamOverlayPainter/ResourceManager.d.ts +0 -14
  225. package/esm/CamScripterAPI.d.ts +0 -19
  226. package/esm/CamScripterAPICameraEventsGenerator.d.ts +0 -74
  227. package/esm/CamStreamerAPI.d.ts +0 -16
  228. package/esm/CamSwitcherAPI.d.ts +0 -48
  229. package/esm/CamSwitcherEvents.d.ts +0 -18
  230. package/esm/VapixAPI.d.ts +0 -66
  231. package/esm/VapixEvents.d.ts +0 -43
  232. package/esm/errors/errors.d.ts +0 -34
  233. package/esm/events/AxisCameraStationEvents.d.ts +0 -9
  234. package/esm/events/GenetecAgent.js +0 -119
  235. package/esm/index.d.ts +0 -11
  236. package/esm/internal/Digest.d.ts +0 -4
  237. package/esm/internal/ProxyClient.d.ts +0 -11
  238. package/esm/internal/common.d.ts +0 -39
  239. package/esm/internal/common.js +0 -20
  240. package/esm/internal/constants.d.ts +0 -1
  241. package/esm/internal/transformers.d.ts +0 -5
  242. package/esm/internal/utils.d.ts +0 -11
  243. package/esm/internal/versionCompare.d.ts +0 -6
  244. package/esm/node/DefaultClient.d.ts +0 -15
  245. package/esm/node/HttpServer.d.ts +0 -21
  246. package/esm/node/WsClient.d.ts +0 -39
  247. package/esm/node/WsEventClient.d.ts +0 -13
  248. package/esm/node/WsEventClient.js +0 -18
  249. package/esm/node/index.d.ts +0 -2
  250. package/esm/types/CamOverlayAPI.d.ts +0 -188
  251. package/esm/types/CamOverlayAPI.js +0 -44
  252. package/esm/types/CamScripterAPI.d.ts +0 -67
  253. package/esm/types/CamStreamerAPI.d.ts +0 -139
  254. package/esm/types/CamSwitcherEvents.d.ts +0 -491
  255. package/esm/types/VapixAPI.d.ts +0 -1683
  256. package/esm/types/common.d.ts +0 -37
  257. package/esm/web/DefaultClient.d.ts +0 -6
  258. package/esm/web/WsClient.d.ts +0 -13
  259. package/esm/web/index.d.ts +0 -2
  260. /package/{cjs/CreatePackage.d.ts → esm/internal/types.js} +0 -0
  261. /package/esm/{CreatePackage.d.ts → types/CamOverlayDrawingAPI.js} +0 -0
  262. /package/{cjs → types}/internal/constants.d.ts +0 -0
  263. /package/{cjs → types}/internal/transformers.d.ts +0 -0
  264. /package/{cjs/internal → types/node}/Digest.d.ts +0 -0
  265. /package/{cjs/node → types/web}/index.d.ts +0 -0
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.screenSharingSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const serviceCommonTypes_1 = require("./serviceCommonTypes");
6
+ exports.screenSharingSchema = serviceCommonTypes_1.sharingSchema.extend({
7
+ name: zod_1.z.literal(serviceCommonTypes_1.serviceNames.screenSharing),
8
+ });
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.overlaySchema = exports.sharingSchema = exports.serviceCommonSchema = exports.weatherUnitSchema = exports.fontSchema = exports.languageSchema = exports.coordinateSystemSchema = exports.serviceNames = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.serviceNames = {
6
+ accuweather: 'accuweather',
7
+ infoticker: 'infoticker',
8
+ customGraphics: 'customGraphics',
9
+ ptzCompass: 'ptzCompass',
10
+ images: 'images',
11
+ ptz: 'ptz',
12
+ pip: 'pip',
13
+ screenSharing: 'screenSharing',
14
+ web_camera: 'web_camera',
15
+ scoreBoard: 'scoreBoard',
16
+ baseballScoreBoard: 'baseballScoreBoard',
17
+ myBallBaseballWidgets: 'myBallBaseballWidgets',
18
+ scoreOverview: 'scoreOverview',
19
+ };
20
+ exports.coordinateSystemSchema = zod_1.z.union([
21
+ zod_1.z.literal('top_left'),
22
+ zod_1.z.literal('top'),
23
+ zod_1.z.literal('top_right'),
24
+ zod_1.z.literal('left'),
25
+ zod_1.z.literal('center'),
26
+ zod_1.z.literal('right'),
27
+ zod_1.z.literal('bottom_left'),
28
+ zod_1.z.literal('bottom'),
29
+ zod_1.z.literal('bottom_right'),
30
+ ]);
31
+ exports.languageSchema = zod_1.z.union([
32
+ zod_1.z.literal('en-us'),
33
+ zod_1.z.literal('fr-fr'),
34
+ zod_1.z.literal('ja-jp'),
35
+ zod_1.z.literal('pt-pt'),
36
+ zod_1.z.literal('es-es'),
37
+ zod_1.z.literal('de-de'),
38
+ zod_1.z.literal('ko-kr'),
39
+ zod_1.z.literal('zh-hk'),
40
+ zod_1.z.literal('zh-cn'),
41
+ zod_1.z.literal('nl-nl'),
42
+ zod_1.z.literal('cs-cz'),
43
+ zod_1.z.literal('ru-ru'),
44
+ zod_1.z.literal('sv-se'),
45
+ ]);
46
+ exports.fontSchema = zod_1.z.union([
47
+ zod_1.z.literal('classic'),
48
+ zod_1.z.literal('digital'),
49
+ zod_1.z.custom((val) => {
50
+ return typeof val === 'string';
51
+ }),
52
+ ]);
53
+ exports.weatherUnitSchema = zod_1.z.union([zod_1.z.literal('Metric'), zod_1.z.literal('Imperial')]);
54
+ exports.serviceCommonSchema = zod_1.z.object({
55
+ id: zod_1.z.number().nonnegative(),
56
+ enabled: zod_1.z.union([zod_1.z.literal(0), zod_1.z.literal(1)]),
57
+ automationType: zod_1.z.union([
58
+ zod_1.z.literal('time'),
59
+ zod_1.z.literal('manual'),
60
+ zod_1.z.literal('schedule'),
61
+ zod_1.z.custom((val) => {
62
+ return typeof val === 'string' ? /^input\d+$/.test(val) : false;
63
+ }),
64
+ ]),
65
+ invertInput: zod_1.z.boolean().optional(),
66
+ cameraList: zod_1.z.array(zod_1.z.number()),
67
+ camera: zod_1.z.number().nonnegative().optional(),
68
+ schedule: zod_1.z.string().optional(),
69
+ customName: zod_1.z.string().default(''),
70
+ zIndex: zod_1.z.number().optional(),
71
+ width: zod_1.z.number().nonnegative(),
72
+ height: zod_1.z.number().nonnegative(),
73
+ });
74
+ exports.sharingSchema = exports.serviceCommonSchema.extend({
75
+ pos_x: zod_1.z.number().nonnegative(),
76
+ pos_y: zod_1.z.number().nonnegative(),
77
+ coordSystem: exports.coordinateSystemSchema,
78
+ screenSize: zod_1.z.number().positive(),
79
+ fps: zod_1.z.number(),
80
+ });
81
+ exports.overlaySchema = zod_1.z.object({
82
+ active: zod_1.z.boolean(),
83
+ coordSystem: exports.coordinateSystemSchema,
84
+ pos_x: zod_1.z.number(),
85
+ pos_y: zod_1.z.number(),
86
+ imgPath: zod_1.z.string(),
87
+ imgName: zod_1.z.string(),
88
+ duration: zod_1.z.number(),
89
+ scale: zod_1.z.number(),
90
+ fps: zod_1.z.number().optional(),
91
+ });
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.webCameraSharingSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const serviceCommonTypes_1 = require("./serviceCommonTypes");
6
+ exports.webCameraSharingSchema = serviceCommonTypes_1.sharingSchema.extend({
7
+ name: zod_1.z.literal(serviceCommonTypes_1.serviceNames.web_camera),
8
+ });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.COORD = void 0;
4
+ exports.COORD = {
5
+ top_left: [-1, -1],
6
+ center_left: [-1, 0],
7
+ bottom_left: [-1, 1],
8
+ top_center: [0, -1],
9
+ center: [0, 0],
10
+ bottom_center: [0, 1],
11
+ top_right: [1, -1],
12
+ center_right: [1, 0],
13
+ bottom_right: [1, 1],
14
+ };
@@ -1,20 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.storageSchema = exports.packageInfoListSchema = void 0;
3
+ exports.cameraTimeResponseSchema = exports.camscripterApiResponseSchema = exports.cameraStorageSchema = exports.packageConfigSchema = exports.packageInfoListSchema = exports.nodeStateSchema = void 0;
4
4
  const zod_1 = require("zod");
5
+ const common_1 = require("./common");
6
+ exports.nodeStateSchema = zod_1.z.object({
7
+ node_state: zod_1.z.union([zod_1.z.literal('OK'), zod_1.z.literal('NOT_INSTALLED'), zod_1.z.literal('NOT_FOUND')]),
8
+ });
5
9
  exports.packageInfoListSchema = zod_1.z.array(zod_1.z.object({
6
- storage: zod_1.z.union([zod_1.z.literal('SD_CARD'), zod_1.z.literal('INTERNAL')]),
10
+ storage: common_1.storageTypeSchema,
7
11
  manifest: zod_1.z.object({
8
12
  package_name: zod_1.z.string(),
9
13
  package_menu_name: zod_1.z.string(),
10
14
  package_version: zod_1.z.string(),
11
15
  vendor: zod_1.z.string(),
12
- required_camscripter_version: zod_1.z.string(),
13
- required_camscripter_rbi_version: zod_1.z.string(),
16
+ required_camscripter_version: zod_1.z.string().optional(),
17
+ required_camscripter_rbi_version: zod_1.z.string().optional(),
14
18
  ui_link: zod_1.z.string(),
15
19
  }),
16
20
  }));
17
- exports.storageSchema = zod_1.z.array(zod_1.z.object({
18
- type: zod_1.z.union([zod_1.z.literal('INTERNAL'), zod_1.z.literal('SD_CARD')]),
19
- capacity_mb: zod_1.z.number(),
20
- }));
21
+ exports.packageConfigSchema = zod_1.z.record(zod_1.z.string(), zod_1.z.object({ enabled: zod_1.z.boolean() }));
22
+ exports.cameraStorageSchema = zod_1.z.union([
23
+ zod_1.z.tuple([
24
+ zod_1.z.object({ type: common_1.flashStorageTypeSchema, capacity_mb: zod_1.z.number() }),
25
+ zod_1.z.object({ type: common_1.sdCardStorageTypeSchema, capacity_mb: zod_1.z.number() }),
26
+ ]),
27
+ zod_1.z.tuple([zod_1.z.object({ type: common_1.flashStorageTypeSchema, capacity_mb: zod_1.z.number() })]),
28
+ ]);
29
+ exports.camscripterApiResponseSchema = zod_1.z.object({
30
+ status: zod_1.z.number(),
31
+ message: zod_1.z.string(),
32
+ });
33
+ exports.cameraTimeResponseSchema = zod_1.z.object({
34
+ state: zod_1.z.boolean(),
35
+ code: zod_1.z.number(),
36
+ });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.streamListSchema = exports.streamAttributesSchema = void 0;
3
+ exports.camstreamerServerResponseSchema = exports.cameraStreamResponseSchema = exports.streamSchema = exports.cameraStreamSchema = void 0;
4
4
  const zod_1 = require("zod");
5
- exports.streamAttributesSchema = zod_1.z.object({
5
+ exports.cameraStreamSchema = zod_1.z.object({
6
6
  enabled: zod_1.z.string(),
7
7
  active: zod_1.z.string(),
8
8
  audioSource: zod_1.z.string(),
@@ -25,4 +25,35 @@ exports.streamAttributesSchema = zod_1.z.object({
25
25
  startTime: zod_1.z.string(),
26
26
  stopTime: zod_1.z.string(),
27
27
  });
28
- exports.streamListSchema = zod_1.z.record(zod_1.z.string(), exports.streamAttributesSchema);
28
+ exports.streamSchema = zod_1.z.object({
29
+ enabled: zod_1.z.union([zod_1.z.literal(0), zod_1.z.literal(1)]),
30
+ active: zod_1.z.union([zod_1.z.literal(0), zod_1.z.literal(1)]),
31
+ audioSource: zod_1.z.string(),
32
+ avSyncMsec: zod_1.z.number().int(),
33
+ internalVapixParameters: zod_1.z.string(),
34
+ userVapixParameters: zod_1.z.string(),
35
+ outputParameters: zod_1.z.string(),
36
+ outputType: zod_1.z.union([zod_1.z.literal('video'), zod_1.z.literal('images'), zod_1.z.literal('none')]),
37
+ mediaServerUrl: zod_1.z.string(),
38
+ inputType: zod_1.z.union([zod_1.z.literal('CSw'), zod_1.z.literal('CRS'), zod_1.z.literal('RTSP_URL')]),
39
+ inputUrl: zod_1.z.string(),
40
+ forceStereo: zod_1.z.union([zod_1.z.literal(0), zod_1.z.literal(1)]),
41
+ streamDelay: zod_1.z.number().nullable(),
42
+ statusLed: zod_1.z.number(),
43
+ statusPort: zod_1.z.string(),
44
+ callApi: zod_1.z.number().int(),
45
+ trigger: zod_1.z.string(),
46
+ schedule: zod_1.z.string(),
47
+ prepareAhead: zod_1.z.number().int(),
48
+ startTime: zod_1.z.number().nullable(),
49
+ stopTime: zod_1.z.number().nullable(),
50
+ });
51
+ exports.cameraStreamResponseSchema = zod_1.z.object({
52
+ data: exports.cameraStreamSchema,
53
+ code: zod_1.z.number(),
54
+ message: zod_1.z.string(),
55
+ });
56
+ exports.camstreamerServerResponseSchema = zod_1.z.object({
57
+ code: zod_1.z.number(),
58
+ message: zod_1.z.string(),
59
+ });
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.clipListSchema = exports.playlistQueueSchema = exports.trackerSaveLoadSchema = exports.trackerSaveSchema = exports.playlistSaveLoadSchema = exports.clipSaveLoadSchema = exports.clipSaveSchema = exports.streamSaveLoadSchema = exports.audioPushInfoSchema = exports.outputInfoSchema = exports.storageInfoListSchema = void 0;
3
+ exports.secondaryAudioSettingsSchema = exports.globalAudioSettingsSchema = exports.globalAudioSettingsTypeSchema = exports.cameraOptionsSchema = exports.bitrateVapixParamsSchema = exports.bitrateModeSchema = exports.clipListSchema = exports.playlistQueueSchema = exports.trackerSaveLoadSchema = exports.trackerSaveSchema = exports.playlistSaveLoadSchema = exports.clipSaveLoadSchema = exports.clipSaveSchema = exports.streamSaveLoadSchema = exports.audioPushInfoSchema = exports.outputInfoSchema = exports.storageInfoListSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const transformers_1 = require("../internal/transformers");
6
6
  const common_1 = require("./common");
@@ -135,3 +135,40 @@ exports.clipListSchema = zod_1.z.object({
135
135
  ])),
136
136
  })),
137
137
  });
138
+ exports.bitrateModeSchema = zod_1.z.union([zod_1.z.literal('VBR'), zod_1.z.literal('MBR'), zod_1.z.literal('ABR')]);
139
+ exports.bitrateVapixParamsSchema = zod_1.z.object({
140
+ bitrateMode: exports.bitrateModeSchema,
141
+ maximumBitRate: zod_1.z.number(),
142
+ retentionTime: zod_1.z.number(),
143
+ bitRateLimit: zod_1.z.number(),
144
+ });
145
+ exports.cameraOptionsSchema = exports.bitrateVapixParamsSchema
146
+ .extend({
147
+ resolution: zod_1.z.string(),
148
+ h264Profile: common_1.h264ProfileSchema,
149
+ fps: zod_1.z.number(),
150
+ compression: zod_1.z.number().min(0).max(100),
151
+ govLength: zod_1.z.number(),
152
+ bitrateVapixParams: zod_1.z.string().nullable(),
153
+ audioSampleRate: zod_1.z.number(),
154
+ audioChannelCount: common_1.audioChannelCountSchema,
155
+ keyboard: zod_1.z.object({
156
+ fromSource: common_1.keyboardShortcutSchema,
157
+ none: common_1.keyboardShortcutSchema,
158
+ }),
159
+ })
160
+ .partial();
161
+ exports.globalAudioSettingsTypeSchema = zod_1.z.union([zod_1.z.literal('fromSource'), zod_1.z.literal('source')]);
162
+ exports.globalAudioSettingsSchema = zod_1.z.object({
163
+ type: exports.globalAudioSettingsTypeSchema,
164
+ source: zod_1.z.string(),
165
+ storage: zod_1.z.string().optional(),
166
+ });
167
+ exports.secondaryAudioSettingsSchema = zod_1.z.object({
168
+ type: zod_1.z.union([zod_1.z.literal('CLIP'), zod_1.z.literal('STREAM'), zod_1.z.literal('NONE')]),
169
+ streamName: zod_1.z.string().optional(),
170
+ clipName: zod_1.z.string().optional(),
171
+ storage: common_1.storageTypeSchema,
172
+ secondaryAudioLevel: zod_1.z.number(),
173
+ masterAudioLevel: zod_1.z.number(),
174
+ });
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cameraListSchema = exports.cameraDetailsResponseSchema = exports.cameraDetailSchema = exports.cameraGuidsResponseSchema = exports.successResponseSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.successResponseSchema = zod_1.z.object({
6
+ Rsp: zod_1.z.object({
7
+ Status: zod_1.z.literal('Ok'),
8
+ }),
9
+ });
10
+ exports.cameraGuidsResponseSchema = zod_1.z.object({
11
+ Rsp: zod_1.z.object({
12
+ Status: zod_1.z.literal('Ok'),
13
+ Result: zod_1.z.array(zod_1.z.object({ Guid: zod_1.z.string() })),
14
+ }),
15
+ });
16
+ exports.cameraDetailSchema = zod_1.z.object({
17
+ Guid: zod_1.z.string().optional(),
18
+ Name: zod_1.z.string().optional(),
19
+ EntityType: zod_1.z.string().optional(),
20
+ });
21
+ exports.cameraDetailsResponseSchema = zod_1.z.object({
22
+ Rsp: zod_1.z.object({
23
+ Status: zod_1.z.literal('Ok'),
24
+ Result: zod_1.z.union([zod_1.z.array(exports.cameraDetailSchema), exports.cameraDetailSchema]),
25
+ }),
26
+ });
27
+ exports.cameraListSchema = zod_1.z.array(zod_1.z.object({
28
+ index: zod_1.z.number(),
29
+ value: zod_1.z.string(),
30
+ label: zod_1.z.string(),
31
+ }));
@@ -0,0 +1,310 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.zonesSchema = exports.mapInfoSchema = exports.mapTypeSchema = exports.blackListSchema = exports.whiteListSchema = exports.priorityListSchema = exports.flightInfoSchema = exports.trackingModeSchema = exports.getIcaoSchema = exports.serverSettingsSchema = exports.cameraSettingsSchema = exports.widgetSchema = exports.connectionSchema = exports.wsAliasResponseSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.wsAliasResponseSchema = zod_1.z.object({
6
+ alias: zod_1.z.string(),
7
+ ws: zod_1.z.string(),
8
+ ws_initial_message: zod_1.z.string(),
9
+ });
10
+ exports.connectionSchema = zod_1.z.object({
11
+ protocol: zod_1.z.union([zod_1.z.literal('http'), zod_1.z.literal('https'), zod_1.z.literal('https_insecure')]),
12
+ ip: zod_1.z.union([zod_1.z.string().ip(), zod_1.z.literal('')]),
13
+ port: zod_1.z.number().positive().lt(65535),
14
+ user: zod_1.z.string(),
15
+ pass: zod_1.z.string(),
16
+ });
17
+ exports.widgetSchema = zod_1.z.object({
18
+ enabled: zod_1.z.boolean().default(true),
19
+ coord: zod_1.z.union([
20
+ zod_1.z.literal('top_left'),
21
+ zod_1.z.literal('top_right'),
22
+ zod_1.z.literal('bottom_left'),
23
+ zod_1.z.literal('bottom_right'),
24
+ ]),
25
+ posX: zod_1.z.number().nonnegative(),
26
+ posY: zod_1.z.number().nonnegative(),
27
+ scale: zod_1.z.number().positive(),
28
+ });
29
+ const labelOptionsSchema = zod_1.z.union([
30
+ zod_1.z.literal('blank'),
31
+ zod_1.z.literal('registration'),
32
+ zod_1.z.literal('call_sign'),
33
+ zod_1.z.literal('flight_number'),
34
+ zod_1.z.literal('icao'),
35
+ ]);
36
+ const identificationLabelSchema = zod_1.z.object({
37
+ firstRow: labelOptionsSchema,
38
+ secondRow: labelOptionsSchema,
39
+ thirdRow: labelOptionsSchema,
40
+ fourthRow: labelOptionsSchema,
41
+ opacity: zod_1.z.number().positive(),
42
+ });
43
+ exports.cameraSettingsSchema = zod_1.z.object({
44
+ units: zod_1.z.union([zod_1.z.literal('metric'), zod_1.z.literal('imperial')]).default('imperial'),
45
+ adsbSource: zod_1.z
46
+ .object({
47
+ ip: zod_1.z.union([zod_1.z.string().ip(), zod_1.z.literal('')]),
48
+ port: zod_1.z.number().positive().lt(65535),
49
+ })
50
+ .default({ ip: '', port: 30334 }),
51
+ camera: exports.connectionSchema.default({
52
+ protocol: 'http',
53
+ ip: '127.0.0.1',
54
+ port: 80,
55
+ user: 'root',
56
+ pass: '',
57
+ }),
58
+ cameraCalibrationProcessConfig: zod_1.z
59
+ .object({
60
+ nightSkyCalibrationEnabled: zod_1.z.boolean(),
61
+ scheduleNightSkyCalibrationTimestamp: zod_1.z.number(),
62
+ focusCalibrationPoints: zod_1.z.string().default(''),
63
+ })
64
+ .default({
65
+ nightSkyCalibrationEnabled: false,
66
+ scheduleNightSkyCalibrationTimestamp: 0,
67
+ focusCalibrationPoints: '',
68
+ }),
69
+ cameraConfig: zod_1.z
70
+ .object({
71
+ maxZoomLevel: zod_1.z.number().optional(),
72
+ defaultCaptureSizeMeters: zod_1.z.number().positive().default(120),
73
+ captureSizeExtensionMeters: zod_1.z.number().positive().default(80),
74
+ })
75
+ .default({
76
+ maxZoomLevel: 30,
77
+ defaultCaptureSizeMeters: 120,
78
+ captureSizeExtensionMeters: 80,
79
+ }),
80
+ stream: zod_1.z
81
+ .object({
82
+ width: zod_1.z.number().positive(),
83
+ height: zod_1.z.number().positive(),
84
+ })
85
+ .default({ width: 1920, height: 1080 }),
86
+ imageConfig: zod_1.z
87
+ .object({
88
+ dayAperture: zod_1.z.number().nonnegative().min(0).max(100),
89
+ nightAperture: zod_1.z.number().nonnegative().min(0).max(100),
90
+ maxGain: zod_1.z.number().nonnegative().min(0).max(100).default(100),
91
+ })
92
+ .default({ dayAperture: 50, nightAperture: 0, maxGain: 100 }),
93
+ airportConfig: zod_1.z
94
+ .object({
95
+ icao: zod_1.z.string().default(''),
96
+ centerLat: zod_1.z.number(),
97
+ centerLon: zod_1.z.number(),
98
+ radius: zod_1.z.number().nonnegative().default(10000),
99
+ })
100
+ .default({
101
+ icao: '',
102
+ centerLat: 0,
103
+ centerLon: 0,
104
+ radius: 10000,
105
+ }),
106
+ trackingConfig: zod_1.z
107
+ .object({
108
+ prioritizeEmergency: zod_1.z.boolean(),
109
+ trackingZoneWeightIncrease: zod_1.z.number().int().nonnegative().default(0),
110
+ guardTourEnabled: zod_1.z.boolean().default(false),
111
+ guardTourId: zod_1.z.number().int().nonnegative().default(0),
112
+ })
113
+ .default({ prioritizeEmergency: true, guardTourEnabled: false, guardTourId: 0 }),
114
+ overlayText: zod_1.z
115
+ .object({
116
+ displayIcao: zod_1.z.boolean().optional(),
117
+ displayRegistration: zod_1.z.boolean().optional(),
118
+ displayFlightNumber: zod_1.z.boolean().optional(),
119
+ displayAltitude: zod_1.z.boolean().optional(),
120
+ displayVelocity: zod_1.z.boolean().optional(),
121
+ displayDistance: zod_1.z.boolean().optional(),
122
+ displayFOV: zod_1.z.boolean().optional(),
123
+ displayPTError: zod_1.z.boolean().optional(),
124
+ displayPTZSpeed: zod_1.z.boolean().optional(),
125
+ displayVelocityData: zod_1.z.boolean().optional(),
126
+ displaySignalQuality: zod_1.z.boolean().optional(),
127
+ displayAutoTrackingInfo: zod_1.z.boolean().optional(),
128
+ displayGPSCoords: zod_1.z.boolean().optional(),
129
+ displayVapixQuery: zod_1.z.boolean().optional(),
130
+ displayFocus: zod_1.z.boolean().optional(),
131
+ displayAperture: zod_1.z.boolean().optional(),
132
+ displaySunDistance: zod_1.z.boolean().optional(),
133
+ displayTickTime: zod_1.z.boolean().optional(),
134
+ displayAircraftInfo: zod_1.z.boolean().optional(),
135
+ })
136
+ .optional(),
137
+ widget: exports.widgetSchema.default({
138
+ enabled: true,
139
+ coord: 'top_right',
140
+ posX: 10,
141
+ posY: 10,
142
+ scale: 100,
143
+ }),
144
+ airportWidget: exports.widgetSchema.default({
145
+ enabled: true,
146
+ coord: 'top_left',
147
+ posX: 10,
148
+ posY: 10,
149
+ scale: 100,
150
+ }),
151
+ fr24FlightInfoSource: zod_1.z
152
+ .object({
153
+ enabled: zod_1.z.boolean().default(false),
154
+ priority: zod_1.z.number().int().positive().default(1),
155
+ apiToken: zod_1.z.string().default(''),
156
+ validateFlights: zod_1.z.boolean().default(true),
157
+ })
158
+ .default({
159
+ enabled: false,
160
+ priority: 1,
161
+ apiToken: '',
162
+ validateFlights: true,
163
+ }),
164
+ radarcapeFlightInfoSource: zod_1.z
165
+ .object({
166
+ enabled: zod_1.z.boolean().default(false),
167
+ priority: zod_1.z.number().int().positive().default(2),
168
+ ip: zod_1.z.union([zod_1.z.string().ip(), zod_1.z.literal('')]).default(''),
169
+ port: zod_1.z.number().positive().lt(65535).default(80),
170
+ })
171
+ .default({
172
+ enabled: false,
173
+ priority: 2,
174
+ ip: '',
175
+ port: 80,
176
+ }),
177
+ identificationLabel: identificationLabelSchema.default({
178
+ firstRow: 'registration',
179
+ secondRow: 'blank',
180
+ thirdRow: 'blank',
181
+ fourthRow: 'blank',
182
+ opacity: 30,
183
+ }),
184
+ acs: exports.connectionSchema
185
+ .extend({
186
+ enabled: zod_1.z.boolean(),
187
+ sourceKey: zod_1.z.string(),
188
+ })
189
+ .default({
190
+ enabled: false,
191
+ protocol: 'https_insecure',
192
+ ip: '',
193
+ port: 29204,
194
+ user: '',
195
+ pass: '',
196
+ sourceKey: '',
197
+ }),
198
+ genetec: exports.connectionSchema
199
+ .extend({
200
+ enabled: zod_1.z.boolean(),
201
+ baseUri: zod_1.z.string().default(''),
202
+ appId: zod_1.z.string().default(''),
203
+ cameraList: zod_1.z.string().array().default([]),
204
+ })
205
+ .default({
206
+ enabled: false,
207
+ protocol: 'http',
208
+ ip: '',
209
+ port: 4590,
210
+ user: '',
211
+ pass: '',
212
+ baseUri: 'WebSdk',
213
+ appId: '',
214
+ cameraList: [],
215
+ }),
216
+ });
217
+ exports.serverSettingsSchema = zod_1.z.object({
218
+ cameraCalibration: zod_1.z
219
+ .object({
220
+ posLat: zod_1.z.number(),
221
+ posLon: zod_1.z.number(),
222
+ geoidHN: zod_1.z.number(),
223
+ altitudeAmsl: zod_1.z.number(),
224
+ rotationEast: zod_1.z.number(),
225
+ rotationNorth: zod_1.z.number(),
226
+ rotationUp: zod_1.z.number(),
227
+ tiltTransformationCoefA: zod_1.z.number(),
228
+ tiltCameraKnownPoint: zod_1.z.number(),
229
+ tiltRealKnownPoint: zod_1.z.number(),
230
+ })
231
+ .default({
232
+ posLat: 50,
233
+ posLon: 14,
234
+ geoidHN: 45,
235
+ altitudeAmsl: 372,
236
+ rotationEast: 0,
237
+ rotationNorth: 0,
238
+ rotationUp: 0,
239
+ tiltTransformationCoefA: 1.0,
240
+ tiltCameraKnownPoint: 90,
241
+ tiltRealKnownPoint: 90,
242
+ }),
243
+ });
244
+ exports.getIcaoSchema = zod_1.z.object({
245
+ icao: zod_1.z.string(),
246
+ });
247
+ exports.trackingModeSchema = zod_1.z.object({
248
+ mode: zod_1.z.union([zod_1.z.literal('MANUAL'), zod_1.z.literal('AUTOMATIC')]),
249
+ });
250
+ exports.flightInfoSchema = zod_1.z.object({
251
+ callsign: zod_1.z.string().optional(),
252
+ flightNumber: zod_1.z.string().optional(),
253
+ registration: zod_1.z.string().optional(),
254
+ aircraftType: zod_1.z.string().optional(),
255
+ airlines: zod_1.z.string().optional(),
256
+ originAirport: zod_1.z
257
+ .object({
258
+ icao: zod_1.z.string().optional(),
259
+ iata: zod_1.z.string().optional(),
260
+ city: zod_1.z.string().optional(),
261
+ })
262
+ .optional(),
263
+ destinationAirport: zod_1.z.object({
264
+ icao: zod_1.z.string().optional(),
265
+ iata: zod_1.z.string().optional(),
266
+ city: zod_1.z.string().optional(),
267
+ }),
268
+ flightImages: zod_1.z
269
+ .array(zod_1.z.object({
270
+ src: zod_1.z.string().optional(),
271
+ photographer: zod_1.z.string().optional(),
272
+ }))
273
+ .optional(),
274
+ });
275
+ exports.priorityListSchema = zod_1.z.object({
276
+ priorityList: zod_1.z.array(zod_1.z.string()).default([]),
277
+ });
278
+ exports.whiteListSchema = zod_1.z.object({
279
+ whiteList: zod_1.z.array(zod_1.z.string()).default([]),
280
+ });
281
+ exports.blackListSchema = zod_1.z.object({
282
+ blackList: zod_1.z.array(zod_1.z.string()).default([]),
283
+ });
284
+ exports.mapTypeSchema = zod_1.z.enum(['roadmap', 'satellite']);
285
+ exports.mapInfoSchema = zod_1.z.object({
286
+ minZoom: zod_1.z.number().nonnegative(),
287
+ maxZoom: zod_1.z.number().nonnegative(),
288
+ mapTypes: zod_1.z.array(exports.mapTypeSchema),
289
+ tileSize: zod_1.z.number().nonnegative(),
290
+ });
291
+ exports.zonesSchema = zod_1.z.object({
292
+ zones: zod_1.z
293
+ .array(zod_1.z.object({
294
+ enabled: zod_1.z.boolean().default(true),
295
+ name: zod_1.z.string().optional(),
296
+ area: zod_1.z
297
+ .array(zod_1.z.object({
298
+ lat: zod_1.z.number(),
299
+ lon: zod_1.z.number(),
300
+ }))
301
+ .nonempty(),
302
+ minAltitudeAmsl: zod_1.z.number().optional(),
303
+ maxAltitudeAmsl: zod_1.z.number().optional(),
304
+ minSpeedKmph: zod_1.z.number().optional(),
305
+ maxSpeedKmph: zod_1.z.number().optional(),
306
+ flightDirection: zod_1.z.enum(['all', 'arrival', 'departure']).default('all'),
307
+ weight: zod_1.z.number(),
308
+ }))
309
+ .default([]),
310
+ });