camstreamerlib 4.0.0-beta.8 → 4.0.0-beta.80

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 (343) hide show
  1. package/README.md +143 -38
  2. package/cjs/CamOverlayAPI.d.ts +863 -27
  3. package/cjs/CamOverlayAPI.js +135 -92
  4. package/cjs/CamScripterAPI.d.ts +44 -17
  5. package/cjs/CamScripterAPI.js +52 -42
  6. package/cjs/CamStreamerAPI.d.ts +70 -14
  7. package/cjs/CamStreamerAPI.js +100 -44
  8. package/cjs/CamSwitcherAPI.d.ts +158 -43
  9. package/cjs/CamSwitcherAPI.js +138 -122
  10. package/cjs/PlaneTrackerAPI.d.ts +239 -0
  11. package/cjs/PlaneTrackerAPI.js +247 -0
  12. package/cjs/VapixAPI.d.ts +94 -42
  13. package/cjs/VapixAPI.js +314 -232
  14. package/cjs/{CreatePackage.js → bin/CreatePackage.js} +44 -18
  15. package/cjs/errors/errors.d.ts +65 -4
  16. package/cjs/errors/errors.js +138 -7
  17. package/cjs/index.d.ts +20 -4
  18. package/cjs/index.js +28 -5
  19. package/cjs/internal/ProxyClient.d.ts +8 -9
  20. package/cjs/internal/ProxyClient.js +28 -32
  21. package/cjs/internal/WsEvents.d.ts +37 -0
  22. package/cjs/{CamSwitcherEvents.js → internal/WsEvents.js} +28 -22
  23. package/cjs/internal/types.d.ts +47 -0
  24. package/cjs/internal/types.js +2 -0
  25. package/cjs/internal/utils.d.ts +3 -1
  26. package/cjs/internal/utils.js +15 -3
  27. package/cjs/internal/versionCompare.d.ts +2 -2
  28. package/cjs/node/CamOverlayDrawingAPI.d.ts +41 -0
  29. package/cjs/{CamOverlayDrawingAPI.js → node/CamOverlayDrawingAPI.js} +28 -20
  30. package/cjs/{CamOverlayPainter → node/CamOverlayPainter}/Frame.d.ts +8 -37
  31. package/cjs/{CamOverlayPainter → node/CamOverlayPainter}/Frame.js +33 -0
  32. package/cjs/{CamOverlayPainter → node/CamOverlayPainter}/Painter.d.ts +5 -21
  33. package/cjs/{CamOverlayPainter → node/CamOverlayPainter}/Painter.js +5 -17
  34. package/cjs/node/CamOverlayPainter/ResourceManager.d.ts +15 -0
  35. package/cjs/node/CamOverlayPainter/ResourceManager.js +72 -0
  36. package/cjs/node/CamScripterAPICameraEventsGenerator.d.ts +31 -0
  37. package/cjs/{CamScripterAPICameraEventsGenerator.js → node/CamScripterAPICameraEventsGenerator.js} +13 -13
  38. package/cjs/node/DefaultClient.d.ts +6 -5
  39. package/cjs/node/DefaultClient.js +10 -12
  40. package/cjs/{internal → node}/Digest.js +24 -1
  41. package/cjs/node/Digest.test.js +13 -0
  42. package/cjs/node/HttpRequestSender.d.ts +1 -0
  43. package/cjs/node/HttpRequestSender.js +14 -4
  44. package/cjs/node/HttpServer.d.ts +1 -1
  45. package/cjs/node/HttpServer.js +29 -6
  46. package/cjs/node/TimeZoneDaemon.d.ts +6 -0
  47. package/cjs/node/TimeZoneDaemon.js +29 -0
  48. package/cjs/node/VapixEvents.d.ts +16 -0
  49. package/cjs/{VapixEvents.js → node/VapixEvents.js} +10 -10
  50. package/cjs/node/WsClient.d.ts +9 -18
  51. package/cjs/node/WsClient.js +27 -20
  52. package/cjs/node/events/AxisCameraStationEvents.d.ts +12 -0
  53. package/cjs/node/events/AxisCameraStationEvents.js +53 -0
  54. package/cjs/node/events/GenetecAgent.d.ts +16 -0
  55. package/cjs/node/events/GenetecAgent.js +124 -0
  56. package/cjs/node/index.d.ts +18 -2
  57. package/cjs/node/index.js +39 -5
  58. package/cjs/types/CamOverlayAPI/CamOverlayAPI.d.ts +4330 -0
  59. package/cjs/types/CamOverlayAPI/CamOverlayAPI.js +92 -0
  60. package/cjs/types/CamOverlayAPI/accuweatherSchema.d.ts +84 -0
  61. package/cjs/types/CamOverlayAPI/accuweatherSchema.js +47 -0
  62. package/cjs/types/CamOverlayAPI/customGraphicsSchema.d.ts +700 -0
  63. package/cjs/types/CamOverlayAPI/customGraphicsSchema.js +72 -0
  64. package/cjs/types/CamOverlayAPI/imagesSchema.d.ts +95 -0
  65. package/cjs/types/CamOverlayAPI/imagesSchema.js +9 -0
  66. package/cjs/types/CamOverlayAPI/index.d.ts +11 -0
  67. package/cjs/types/CamOverlayAPI/index.js +27 -0
  68. package/cjs/types/CamOverlayAPI/infotickerSchema.d.ts +96 -0
  69. package/cjs/types/CamOverlayAPI/infotickerSchema.js +26 -0
  70. package/cjs/types/CamOverlayAPI/pipSchema.d.ts +125 -0
  71. package/cjs/types/CamOverlayAPI/pipSchema.js +39 -0
  72. package/cjs/types/CamOverlayAPI/ptzCompassSchema.d.ts +96 -0
  73. package/cjs/types/CamOverlayAPI/ptzCompassSchema.js +26 -0
  74. package/cjs/types/CamOverlayAPI/ptzSchema.d.ts +118 -0
  75. package/cjs/types/CamOverlayAPI/ptzSchema.js +12 -0
  76. package/cjs/types/CamOverlayAPI/scoreBoardSchema.d.ts +357 -0
  77. package/cjs/types/CamOverlayAPI/scoreBoardSchema.js +132 -0
  78. package/cjs/types/CamOverlayAPI/screenSharingSchema.d.ts +58 -0
  79. package/cjs/types/CamOverlayAPI/screenSharingSchema.js +8 -0
  80. package/cjs/types/CamOverlayAPI/serviceCommonTypes.d.ts +145 -0
  81. package/cjs/types/CamOverlayAPI/serviceCommonTypes.js +91 -0
  82. package/cjs/types/CamOverlayAPI/webCameraSharingSchema.d.ts +58 -0
  83. package/cjs/types/CamOverlayAPI/webCameraSharingSchema.js +8 -0
  84. package/cjs/types/CamOverlayDrawingAPI.d.ts +48 -0
  85. package/cjs/types/CamOverlayDrawingAPI.js +2 -0
  86. package/cjs/types/CamOverlayPainter.d.ts +76 -0
  87. package/cjs/types/CamOverlayPainter.js +14 -0
  88. package/cjs/types/CamScripterAPI.d.ts +86 -23
  89. package/cjs/types/CamScripterAPI.js +24 -8
  90. package/cjs/types/CamScripterAPICameraEventsGenerator.d.ts +45 -0
  91. package/cjs/types/CamScripterAPICameraEventsGenerator.js +2 -0
  92. package/cjs/types/CamStreamerAPI/CamStreamerAPI.d.ts +239 -0
  93. package/cjs/types/CamStreamerAPI/CamStreamerAPI.js +48 -0
  94. package/cjs/types/CamStreamerAPI/facebookSchema.d.ts +18 -0
  95. package/cjs/types/CamStreamerAPI/facebookSchema.js +11 -0
  96. package/cjs/types/CamStreamerAPI/hlsSchema.d.ts +18 -0
  97. package/cjs/types/CamStreamerAPI/hlsSchema.js +11 -0
  98. package/cjs/types/CamStreamerAPI/index.d.ts +9 -0
  99. package/cjs/types/CamStreamerAPI/index.js +25 -0
  100. package/cjs/types/CamStreamerAPI/mpegDvbSchema.d.ts +69 -0
  101. package/cjs/types/CamStreamerAPI/mpegDvbSchema.js +28 -0
  102. package/{esm/types/CamStreamerAPI.d.ts → cjs/types/CamStreamerAPI/oldStreamSchema.d.ts} +41 -43
  103. package/cjs/types/CamStreamerAPI/oldStreamSchema.js +50 -0
  104. package/cjs/types/CamStreamerAPI/rtmpSchema.d.ts +18 -0
  105. package/cjs/types/CamStreamerAPI/rtmpSchema.js +11 -0
  106. package/cjs/types/CamStreamerAPI/sdCardSchema.d.ts +18 -0
  107. package/cjs/types/CamStreamerAPI/sdCardSchema.js +11 -0
  108. package/cjs/types/CamStreamerAPI/streamCommonTypes.d.ts +17 -0
  109. package/cjs/types/CamStreamerAPI/streamCommonTypes.js +18 -0
  110. package/cjs/types/CamStreamerAPI/windySchema.d.ts +18 -0
  111. package/cjs/types/CamStreamerAPI/windySchema.js +11 -0
  112. package/cjs/types/CamStreamerAPI/youtubeSchema.d.ts +18 -0
  113. package/cjs/types/CamStreamerAPI/youtubeSchema.js +11 -0
  114. package/cjs/types/CamSwitcherAPI.d.ts +145 -66
  115. package/cjs/types/CamSwitcherAPI.js +38 -1
  116. package/cjs/{events → types}/GenetecAgent.d.ts +47 -47
  117. package/cjs/types/GenetecAgent.js +31 -0
  118. package/cjs/types/PlaneTrackerAPI.d.ts +980 -0
  119. package/cjs/types/PlaneTrackerAPI.js +333 -0
  120. package/cjs/types/VapixAPI.d.ts +254 -164
  121. package/cjs/types/VapixAPI.js +66 -11
  122. package/cjs/types/VapixEvents.d.ts +15 -0
  123. package/cjs/types/VapixEvents.js +2 -0
  124. package/cjs/types/common.d.ts +18 -5
  125. package/cjs/types/common.js +5 -2
  126. package/cjs/types/ws/CamOverlayEvents.d.ts +88 -0
  127. package/cjs/types/ws/CamOverlayEvents.js +19 -0
  128. package/cjs/types/ws/CamStreamerEvents.d.ts +249 -0
  129. package/cjs/types/ws/CamStreamerEvents.js +32 -0
  130. package/cjs/types/ws/PlaneTrackerEvents.d.ts +1637 -0
  131. package/cjs/types/ws/PlaneTrackerEvents.js +196 -0
  132. package/cjs/web/DefaultClient.d.ts +7 -5
  133. package/cjs/web/DefaultClient.js +26 -10
  134. package/cjs/web/WsClient.d.ts +9 -5
  135. package/cjs/web/WsClient.js +16 -18
  136. package/cjs/ws/CamOverlayEvents.d.ts +8 -0
  137. package/cjs/ws/CamOverlayEvents.js +24 -0
  138. package/cjs/ws/CamStreamerEvents.d.ts +8 -0
  139. package/cjs/ws/CamStreamerEvents.js +24 -0
  140. package/cjs/ws/CamSwitcherEvents.d.ts +8 -0
  141. package/cjs/ws/CamSwitcherEvents.js +24 -0
  142. package/cjs/ws/PlaneTrackerEvents.d.ts +9 -0
  143. package/cjs/ws/PlaneTrackerEvents.js +30 -0
  144. package/esm/CamOverlayAPI.js +135 -92
  145. package/esm/CamScripterAPI.js +50 -40
  146. package/esm/CamStreamerAPI.js +98 -43
  147. package/esm/CamSwitcherAPI.js +136 -120
  148. package/esm/PlaneTrackerAPI.js +243 -0
  149. package/esm/VapixAPI.js +314 -232
  150. package/esm/{CreatePackage.js → bin/CreatePackage.js} +16 -16
  151. package/esm/errors/errors.js +120 -6
  152. package/esm/index.js +20 -4
  153. package/esm/internal/ProxyClient.js +28 -32
  154. package/esm/{CamSwitcherEvents.js → internal/WsEvents.js} +26 -20
  155. package/esm/internal/types.js +1 -0
  156. package/esm/internal/utils.js +11 -1
  157. package/esm/{CamOverlayDrawingAPI.js → node/CamOverlayDrawingAPI.js} +26 -18
  158. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/Frame.js +33 -0
  159. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/Painter.js +2 -13
  160. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/ResourceManager.js +7 -5
  161. package/esm/{CamScripterAPICameraEventsGenerator.js → node/CamScripterAPICameraEventsGenerator.js} +11 -11
  162. package/esm/node/DefaultClient.js +10 -12
  163. package/esm/node/Digest.test.js +11 -0
  164. package/esm/node/HttpRequestSender.js +14 -4
  165. package/esm/node/HttpServer.js +1 -1
  166. package/esm/node/TimeZoneDaemon.js +25 -0
  167. package/esm/{VapixEvents.js → node/VapixEvents.js} +10 -10
  168. package/esm/node/WsClient.js +22 -15
  169. package/esm/{events → node/events}/AxisCameraStationEvents.js +18 -13
  170. package/esm/node/events/GenetecAgent.js +120 -0
  171. package/esm/node/index.js +18 -2
  172. package/esm/types/CamOverlayAPI/CamOverlayAPI.js +76 -0
  173. package/esm/types/CamOverlayAPI/accuweatherSchema.js +44 -0
  174. package/esm/types/CamOverlayAPI/customGraphicsSchema.js +69 -0
  175. package/esm/types/CamOverlayAPI/imagesSchema.js +6 -0
  176. package/esm/types/CamOverlayAPI/index.js +11 -0
  177. package/esm/types/CamOverlayAPI/infotickerSchema.js +23 -0
  178. package/esm/types/CamOverlayAPI/pipSchema.js +36 -0
  179. package/esm/types/CamOverlayAPI/ptzCompassSchema.js +23 -0
  180. package/esm/types/CamOverlayAPI/ptzSchema.js +9 -0
  181. package/esm/types/CamOverlayAPI/scoreBoardSchema.js +129 -0
  182. package/esm/types/CamOverlayAPI/screenSharingSchema.js +5 -0
  183. package/esm/types/CamOverlayAPI/serviceCommonTypes.js +88 -0
  184. package/esm/types/CamOverlayAPI/webCameraSharingSchema.js +5 -0
  185. package/esm/types/CamOverlayDrawingAPI.js +1 -0
  186. package/esm/types/CamOverlayPainter.js +11 -0
  187. package/esm/types/CamScripterAPI.js +23 -7
  188. package/esm/types/CamScripterAPICameraEventsGenerator.js +1 -0
  189. package/esm/types/CamStreamerAPI/CamStreamerAPI.js +38 -0
  190. package/esm/types/CamStreamerAPI/facebookSchema.js +5 -0
  191. package/esm/types/CamStreamerAPI/hlsSchema.js +5 -0
  192. package/esm/types/CamStreamerAPI/index.js +9 -0
  193. package/esm/types/CamStreamerAPI/mpegDvbSchema.js +22 -0
  194. package/esm/types/CamStreamerAPI/oldStreamSchema.js +47 -0
  195. package/esm/types/CamStreamerAPI/rtmpSchema.js +5 -0
  196. package/esm/types/CamStreamerAPI/sdCardSchema.js +5 -0
  197. package/esm/types/CamStreamerAPI/streamCommonTypes.js +15 -0
  198. package/esm/types/CamStreamerAPI/windySchema.js +5 -0
  199. package/esm/types/CamStreamerAPI/youtubeSchema.js +5 -0
  200. package/esm/types/CamSwitcherAPI.js +38 -1
  201. package/esm/types/GenetecAgent.js +28 -0
  202. package/esm/types/PlaneTrackerAPI.js +330 -0
  203. package/esm/types/VapixAPI.js +65 -10
  204. package/esm/types/VapixEvents.js +1 -0
  205. package/esm/types/common.js +4 -1
  206. package/esm/types/ws/CamOverlayEvents.js +16 -0
  207. package/esm/types/ws/CamStreamerEvents.js +29 -0
  208. package/esm/types/ws/PlaneTrackerEvents.js +193 -0
  209. package/esm/web/DefaultClient.js +26 -10
  210. package/esm/web/WsClient.js +16 -18
  211. package/esm/ws/CamOverlayEvents.js +20 -0
  212. package/esm/ws/CamStreamerEvents.js +20 -0
  213. package/esm/ws/CamSwitcherEvents.js +20 -0
  214. package/esm/ws/PlaneTrackerEvents.js +26 -0
  215. package/package.json +44 -11
  216. package/types/CamOverlayAPI.d.ts +867 -0
  217. package/types/CamScripterAPI.d.ts +46 -0
  218. package/types/CamStreamerAPI.d.ts +72 -0
  219. package/types/CamSwitcherAPI.d.ts +167 -0
  220. package/types/PlaneTrackerAPI.d.ts +239 -0
  221. package/types/VapixAPI.d.ts +118 -0
  222. package/types/bin/CreatePackage.d.ts +1 -0
  223. package/types/errors/errors.d.ts +98 -0
  224. package/types/index.d.ts +27 -0
  225. package/types/internal/ProxyClient.d.ts +10 -0
  226. package/types/internal/WsEvents.d.ts +37 -0
  227. package/types/internal/types.d.ts +47 -0
  228. package/{esm → types}/internal/utils.d.ts +3 -1
  229. package/{esm → types}/internal/versionCompare.d.ts +2 -2
  230. package/types/node/CamOverlayDrawingAPI.d.ts +41 -0
  231. package/{esm → types/node}/CamOverlayPainter/Frame.d.ts +8 -37
  232. package/{esm → types/node}/CamOverlayPainter/Painter.d.ts +5 -21
  233. package/types/node/CamOverlayPainter/ResourceManager.d.ts +15 -0
  234. package/types/node/CamScripterAPICameraEventsGenerator.d.ts +31 -0
  235. package/types/node/DefaultClient.d.ts +16 -0
  236. package/types/node/Digest.test.d.ts +1 -0
  237. package/{esm → types}/node/HttpRequestSender.d.ts +1 -0
  238. package/{esm → types}/node/HttpServer.d.ts +1 -1
  239. package/types/node/TimeZoneDaemon.d.ts +6 -0
  240. package/types/node/VapixEvents.d.ts +16 -0
  241. package/types/node/WsClient.d.ts +30 -0
  242. package/types/node/events/AxisCameraStationEvents.d.ts +12 -0
  243. package/types/node/events/GenetecAgent.d.ts +16 -0
  244. package/types/node/index.d.ts +18 -0
  245. package/types/types/CamOverlayAPI/CamOverlayAPI.d.ts +4330 -0
  246. package/types/types/CamOverlayAPI/accuweatherSchema.d.ts +84 -0
  247. package/types/types/CamOverlayAPI/customGraphicsSchema.d.ts +700 -0
  248. package/types/types/CamOverlayAPI/imagesSchema.d.ts +95 -0
  249. package/types/types/CamOverlayAPI/index.d.ts +11 -0
  250. package/types/types/CamOverlayAPI/infotickerSchema.d.ts +96 -0
  251. package/types/types/CamOverlayAPI/pipSchema.d.ts +125 -0
  252. package/types/types/CamOverlayAPI/ptzCompassSchema.d.ts +96 -0
  253. package/types/types/CamOverlayAPI/ptzSchema.d.ts +118 -0
  254. package/types/types/CamOverlayAPI/scoreBoardSchema.d.ts +357 -0
  255. package/types/types/CamOverlayAPI/screenSharingSchema.d.ts +58 -0
  256. package/types/types/CamOverlayAPI/serviceCommonTypes.d.ts +145 -0
  257. package/types/types/CamOverlayAPI/webCameraSharingSchema.d.ts +58 -0
  258. package/types/types/CamOverlayDrawingAPI.d.ts +48 -0
  259. package/types/types/CamOverlayPainter.d.ts +76 -0
  260. package/types/types/CamScripterAPI.d.ts +130 -0
  261. package/types/types/CamScripterAPICameraEventsGenerator.d.ts +45 -0
  262. package/types/types/CamStreamerAPI/CamStreamerAPI.d.ts +239 -0
  263. package/types/types/CamStreamerAPI/facebookSchema.d.ts +18 -0
  264. package/types/types/CamStreamerAPI/hlsSchema.d.ts +18 -0
  265. package/types/types/CamStreamerAPI/index.d.ts +9 -0
  266. package/types/types/CamStreamerAPI/mpegDvbSchema.d.ts +69 -0
  267. package/{cjs/types/CamStreamerAPI.d.ts → types/types/CamStreamerAPI/oldStreamSchema.d.ts} +41 -43
  268. package/types/types/CamStreamerAPI/rtmpSchema.d.ts +18 -0
  269. package/types/types/CamStreamerAPI/sdCardSchema.d.ts +18 -0
  270. package/types/types/CamStreamerAPI/streamCommonTypes.d.ts +17 -0
  271. package/types/types/CamStreamerAPI/windySchema.d.ts +18 -0
  272. package/types/types/CamStreamerAPI/youtubeSchema.d.ts +18 -0
  273. package/{esm → types}/types/CamSwitcherAPI.d.ts +145 -66
  274. package/{esm/events → types/types}/GenetecAgent.d.ts +47 -47
  275. package/types/types/PlaneTrackerAPI.d.ts +980 -0
  276. package/{esm → types}/types/VapixAPI.d.ts +254 -164
  277. package/types/types/VapixEvents.d.ts +15 -0
  278. package/{esm → types}/types/common.d.ts +18 -5
  279. package/types/types/ws/CamOverlayEvents.d.ts +88 -0
  280. package/types/types/ws/CamStreamerEvents.d.ts +249 -0
  281. package/types/types/ws/PlaneTrackerEvents.d.ts +1637 -0
  282. package/types/web/DefaultClient.d.ts +8 -0
  283. package/types/web/WsClient.d.ts +17 -0
  284. package/types/ws/CamOverlayEvents.d.ts +8 -0
  285. package/types/ws/CamStreamerEvents.d.ts +8 -0
  286. package/types/ws/CamSwitcherEvents.d.ts +8 -0
  287. package/types/ws/PlaneTrackerEvents.d.ts +9 -0
  288. package/cjs/CamOverlayDrawingAPI.d.ts +0 -86
  289. package/cjs/CamOverlayPainter/ResourceManager.d.ts +0 -14
  290. package/cjs/CamOverlayPainter/ResourceManager.js +0 -46
  291. package/cjs/CamScripterAPICameraEventsGenerator.d.ts +0 -74
  292. package/cjs/CamSwitcherEvents.d.ts +0 -18
  293. package/cjs/VapixEvents.d.ts +0 -43
  294. package/cjs/events/AxisCameraStationEvents.d.ts +0 -9
  295. package/cjs/events/AxisCameraStationEvents.js +0 -48
  296. package/cjs/events/GenetecAgent.js +0 -123
  297. package/cjs/internal/common.d.ts +0 -39
  298. package/cjs/internal/common.js +0 -27
  299. package/cjs/node/WsEventClient.d.ts +0 -13
  300. package/cjs/node/WsEventClient.js +0 -22
  301. package/cjs/types/CamOverlayAPI.d.ts +0 -188
  302. package/cjs/types/CamOverlayAPI.js +0 -47
  303. package/cjs/types/CamStreamerAPI.js +0 -28
  304. package/esm/CamOverlayAPI.d.ts +0 -31
  305. package/esm/CamOverlayDrawingAPI.d.ts +0 -86
  306. package/esm/CamOverlayPainter/ResourceManager.d.ts +0 -14
  307. package/esm/CamScripterAPI.d.ts +0 -19
  308. package/esm/CamScripterAPICameraEventsGenerator.d.ts +0 -74
  309. package/esm/CamStreamerAPI.d.ts +0 -16
  310. package/esm/CamSwitcherAPI.d.ts +0 -52
  311. package/esm/CamSwitcherEvents.d.ts +0 -18
  312. package/esm/VapixAPI.d.ts +0 -66
  313. package/esm/VapixEvents.d.ts +0 -43
  314. package/esm/errors/errors.d.ts +0 -37
  315. package/esm/events/AxisCameraStationEvents.d.ts +0 -9
  316. package/esm/events/GenetecAgent.js +0 -119
  317. package/esm/index.d.ts +0 -11
  318. package/esm/internal/ProxyClient.d.ts +0 -11
  319. package/esm/internal/common.d.ts +0 -39
  320. package/esm/internal/common.js +0 -20
  321. package/esm/node/DefaultClient.d.ts +0 -15
  322. package/esm/node/WsClient.d.ts +0 -39
  323. package/esm/node/WsEventClient.d.ts +0 -13
  324. package/esm/node/WsEventClient.js +0 -18
  325. package/esm/types/CamOverlayAPI.d.ts +0 -188
  326. package/esm/types/CamOverlayAPI.js +0 -44
  327. package/esm/types/CamScripterAPI.d.ts +0 -67
  328. package/esm/types/CamStreamerAPI.js +0 -25
  329. package/esm/web/DefaultClient.d.ts +0 -6
  330. package/esm/web/WsClient.d.ts +0 -13
  331. package/esm/web/index.d.ts +0 -2
  332. /package/cjs/{CreatePackage.d.ts → bin/CreatePackage.d.ts} +0 -0
  333. /package/cjs/{internal → node}/Digest.d.ts +0 -0
  334. /package/{esm/CreatePackage.d.ts → cjs/node/Digest.test.d.ts} +0 -0
  335. /package/cjs/types/{CamSwitcherEvents.d.ts → ws/CamSwitcherEvents.d.ts} +0 -0
  336. /package/cjs/types/{CamSwitcherEvents.js → ws/CamSwitcherEvents.js} +0 -0
  337. /package/esm/{internal → node}/Digest.js +0 -0
  338. /package/esm/types/{CamSwitcherEvents.js → ws/CamSwitcherEvents.js} +0 -0
  339. /package/{esm → types}/internal/constants.d.ts +0 -0
  340. /package/{esm → types}/internal/transformers.d.ts +0 -0
  341. /package/{esm/internal → types/node}/Digest.d.ts +0 -0
  342. /package/{esm/types → types/types/ws}/CamSwitcherEvents.d.ts +0 -0
  343. /package/{esm/node → types/web}/index.d.ts +0 -0
@@ -1,13 +1,13 @@
1
1
  import { z } from 'zod';
2
- import { AddNewClipError } from './errors/errors';
3
- import { isNullish, responseStringify } from './internal/common';
4
- import { storageInfoListSchema, outputInfoSchema, audioPushInfoSchema, clipListSchema, playlistQueueSchema, streamSaveLoadSchema, clipSaveLoadSchema, playlistSaveLoadSchema, trackerSaveLoadSchema, } from './types/CamSwitcherAPI';
5
- import { networkCameraListSchema } from './types/common';
2
+ import { AddNewClipError, JsonParseError, ParameterNotFoundError, ErrorWithResponse } from './errors/errors';
3
+ import { isClip, isNullish } from './internal/utils';
4
+ import { storageInfoListSchema, outputInfoSchema, audioPushInfoSchema, clipListSchema, playlistQueueSchema, streamSaveLoadSchema, clipSaveLoadSchema, playlistSaveLoadSchema, trackerSaveLoadSchema, secondaryAudioSettingsSchema, globalAudioSettingsSchema, } from './types/CamSwitcherAPI';
5
+ import { networkCameraListSchema, } from './types/common';
6
6
  import { VapixAPI } from './VapixAPI';
7
7
  import { isFirmwareVersionAtLeast } from './internal/versionCompare';
8
- import { isClip } from './internal/utils';
9
8
  import { FIRMWARE_WITH_BITRATE_MODES_SUPPORT } from './internal/constants';
10
- const baseUrl = '/local/camswitcher/api';
9
+ import { ProxyClient } from './internal/ProxyClient';
10
+ const BASE_PATH = '/local/camswitcher/api';
11
11
  export class CamSwitcherAPI {
12
12
  client;
13
13
  CustomFormData;
@@ -15,111 +15,127 @@ export class CamSwitcherAPI {
15
15
  constructor(client, CustomFormData = FormData) {
16
16
  this.client = client;
17
17
  this.CustomFormData = CustomFormData;
18
- this.vapixAgent = new VapixAPI(client, () => '');
19
- }
20
- static getProxyUrlPath = () => `${baseUrl}/proxy.cgi`;
21
- static getWsEventsUrlPath = () => `/local/camswitcher/events`;
22
- static getClipPreviewUrlPath = (id, storage) => `${baseUrl}/clip_preview.cgi?clip_name=${id}&storage=${storage}`;
23
- async generateSilence(sampleRate, channels) {
24
- await this.client.get(`${baseUrl}/generate_silence.cgi`, {
25
- sample_rate: sampleRate.toString(),
26
- channels,
18
+ this.vapixAgent = new VapixAPI(client);
19
+ }
20
+ static getProxyPath = () => `${BASE_PATH}/proxy.cgi`;
21
+ static getWsEventsPath = () => `/local/camswitcher/events`;
22
+ static getClipPreviewPath = (clipId, storage) => `${BASE_PATH}/clip_preview.cgi?clip_name=${clipId}&storage=${storage}`;
23
+ getClient(proxyParams) {
24
+ return proxyParams ? new ProxyClient(this.client, proxyParams) : this.client;
25
+ }
26
+ async checkCameraTime(options) {
27
+ const res = await this._getJson(`${BASE_PATH}/camera_time.cgi`, undefined, options);
28
+ return z.boolean().parse(res.data);
29
+ }
30
+ async getNetworkCameraList(options) {
31
+ const res = await this._getJson(`${BASE_PATH}/network_camera_list.cgi`, undefined, options);
32
+ return networkCameraListSchema.parse(res.data);
33
+ }
34
+ async generateSilence(sampleRate, channels, options) {
35
+ const agent = this.getClient(options?.proxyParams);
36
+ await agent.get({
37
+ path: `${BASE_PATH}/generate_silence.cgi`,
38
+ parameters: {
39
+ sample_rate: sampleRate.toString(),
40
+ channels,
41
+ },
42
+ timeout: options?.timeout,
27
43
  });
28
44
  }
29
- async checkCameraTime() {
30
- const data = await this.get(`${baseUrl}/camera_time.cgi`);
31
- return z.boolean().parse(data);
32
- }
33
- async getIpListFromNetworkCheck() {
34
- const data = await this.get(`${baseUrl}/network_camera_list.cgi`);
35
- return networkCameraListSchema.parse(data);
36
- }
37
- async getMaxFps(source) {
38
- const data = await this.get(`${baseUrl}/get_max_framerate.cgi`, {
39
- video_source: source.toString(),
40
- });
41
- return z.number().parse(data);
45
+ async getMaxFps(source, options) {
46
+ const res = await this._getJson(`${BASE_PATH}/get_max_framerate.cgi`, {
47
+ video_source: source,
48
+ }, options);
49
+ return z.number().parse(res.data);
42
50
  }
43
- async getStorageInfo() {
44
- const data = await this.get(`${baseUrl}/get_storage.cgi`);
45
- return storageInfoListSchema.parse(data);
51
+ async getStorageInfo(options) {
52
+ const res = await this._getJson(`${BASE_PATH}/get_storage.cgi`, undefined, options);
53
+ return storageInfoListSchema.parse(res.data);
46
54
  }
47
- async wsAuthorization() {
48
- const data = await this.get(`${baseUrl}/ws_authorization.cgi`);
49
- return z.string().parse(data);
55
+ async wsAuthorization(options) {
56
+ const res = await this._getJson(`${BASE_PATH}/ws_authorization.cgi`, undefined, options);
57
+ return z.string().parse(res.data);
50
58
  }
51
- async getOutputInfo() {
52
- const data = await this.get(`${baseUrl}/output_info.cgi`);
53
- return outputInfoSchema.parse(data);
59
+ async getOutputInfo(options) {
60
+ const res = await this._getJson(`${BASE_PATH}/output_info.cgi`, undefined, options);
61
+ return outputInfoSchema.parse(res.data);
54
62
  }
55
- async getAudioPushInfo() {
56
- const data = await this.get(`${baseUrl}/audio_push_info.cgi`);
57
- return audioPushInfoSchema.parse(data);
63
+ async getAudioPushInfo(options) {
64
+ const res = await this._getJson(`${BASE_PATH}/audio_push_info.cgi`, undefined, options);
65
+ return audioPushInfoSchema.parse(res.data);
58
66
  }
59
- async getStreamSaveList() {
60
- const data = await this.get(`${baseUrl}/streams.cgi`, { action: 'get' });
61
- return streamSaveLoadSchema.parse(data);
67
+ async getStreamSaveList(options) {
68
+ const res = await this._getJson(`${BASE_PATH}/streams.cgi`, { action: 'get' }, options);
69
+ return streamSaveLoadSchema.parse(res.data);
62
70
  }
63
- async getClipSaveList() {
64
- const data = await this.get(`${baseUrl}/clips.cgi`, { action: 'get' });
65
- return clipSaveLoadSchema.parse(data);
71
+ async getClipSaveList(options) {
72
+ const res = await this._getJson(`${BASE_PATH}/clips.cgi`, { action: 'get' }, options);
73
+ return clipSaveLoadSchema.parse(res.data);
66
74
  }
67
- async getPlaylistSaveList() {
68
- const data = await this.get(`${baseUrl}/playlists.cgi`, { action: 'get' });
69
- return playlistSaveLoadSchema.parse(data);
75
+ async getPlaylistSaveList(options) {
76
+ const res = await this._getJson(`${BASE_PATH}/playlists.cgi`, { action: 'get' }, options);
77
+ return playlistSaveLoadSchema.parse(res.data);
70
78
  }
71
- async getTrackerSaveList() {
72
- const data = await this.get(`${baseUrl}/trackers.cgi`, { action: 'get' });
73
- return trackerSaveLoadSchema.parse(data);
79
+ async getTrackerSaveList(options) {
80
+ const res = await this._getJson(`${BASE_PATH}/trackers.cgi`, { action: 'get' }, options);
81
+ return trackerSaveLoadSchema.parse(res.data);
74
82
  }
75
- async setStreamSaveList(data) {
76
- return await this.set(`${baseUrl}/streams.cgi`, data, { action: 'set' });
83
+ async setStreamSaveList(data, options) {
84
+ await this._post(`${BASE_PATH}/streams.cgi`, JSON.stringify(data), { action: 'set' }, options);
77
85
  }
78
- async setClipSaveList(data) {
79
- return await this.set(`${baseUrl}/clips.cgi`, data, { action: 'set' });
86
+ async setClipSaveList(data, options) {
87
+ await this._post(`${BASE_PATH}/clips.cgi`, JSON.stringify(data), { action: 'set' }, options);
80
88
  }
81
- async setPlaylistSaveList(data) {
82
- return await this.set(`${baseUrl}/playlists.cgi`, data, { action: 'set' });
89
+ async setPlaylistSaveList(data, options) {
90
+ await this._post(`${BASE_PATH}/playlists.cgi`, JSON.stringify(data), { action: 'set' }, options);
83
91
  }
84
- async setTrackerSaveList(data) {
85
- return await this.set(`${baseUrl}/trackers.cgi`, data, { action: 'set' });
92
+ async setTrackerSaveList(data, options) {
93
+ await this._post(`${BASE_PATH}/trackers.cgi`, JSON.stringify(data), { action: 'set' }, options);
86
94
  }
87
- async playlistSwitch(playlistName) {
88
- await this.get(`${baseUrl}/playlist_switch.cgi?playlist_name=${playlistName}`);
95
+ async playlistSwitch(playlistName, options) {
96
+ await this._getJson(`${BASE_PATH}/playlist_switch.cgi`, { playlist_name: playlistName }, options);
89
97
  }
90
- async playlistQueuePush(playlistName) {
91
- await this.get(`${baseUrl}/playlist_queue_push.cgi?playlist_name=${playlistName}`);
98
+ async playlistQueuePush(playlistName, options) {
99
+ await this._getJson(`${BASE_PATH}/playlist_queue_push.cgi`, { playlist_name: playlistName }, options);
92
100
  }
93
- async playlistQueueClear() {
94
- await this.get(`${baseUrl}/playlist_queue_clear.cgi`);
101
+ async playlistQueueClear(options) {
102
+ await this._getJson(`${BASE_PATH}/playlist_queue_clear.cgi`, undefined, options);
95
103
  }
96
- async playlistQueueList() {
97
- const data = await this.get(`${baseUrl}/playlist_queue_list.cgi`);
98
- return playlistQueueSchema.parse(data).playlistQueueList;
104
+ async playlistQueueList(options) {
105
+ const res = await this._getJson(`${BASE_PATH}/playlist_queue_list.cgi`, undefined, options);
106
+ return playlistQueueSchema.parse(res.data).playlistQueueList;
99
107
  }
100
- async playlistQueuePlayNext() {
101
- await this.get(`${baseUrl}/playlist_queue_play_next.cgi`);
108
+ async playlistQueuePlayNext(options) {
109
+ await this._getJson(`${BASE_PATH}/playlist_queue_play_next.cgi`, undefined, options);
102
110
  }
103
- async addNewClip(file, clipType, storage, id, fileName) {
111
+ async addNewClip(file, clipType, storage, clipId, fileName, options) {
112
+ const path = `${BASE_PATH}/clip_upload.cgi`;
104
113
  const formData = new this.CustomFormData();
105
- formData.append('clip_name', id);
114
+ formData.append('clip_name', clipId);
106
115
  formData.append('clip_type', clipType);
107
116
  formData.append('file', file, fileName);
108
- const path = `${baseUrl}/clip_upload.cgi?storage=${storage}`;
109
- const res = await this.client.post(path, formData);
117
+ const agent = this.getClient(options?.proxyParams);
118
+ const res = await agent.post({
119
+ path,
120
+ data: formData,
121
+ parameters: {
122
+ storage: storage,
123
+ },
124
+ timeout: options?.timeout,
125
+ });
110
126
  const output = (await res.json());
111
127
  if (output.status !== 200) {
112
128
  throw new AddNewClipError(output.message);
113
129
  }
114
130
  }
115
- removeClip(id, storage) {
116
- return this.get(`${baseUrl}/clip_remove.cgi`, { clip_name: id, storage });
131
+ async removeClip(clipId, storage, options) {
132
+ await this._getJson(`${BASE_PATH}/clip_remove.cgi`, { clip_name: clipId, storage }, options);
117
133
  }
118
- async getClipList() {
119
- const data = await this.get(`${baseUrl}/clip_list.cgi`);
120
- return clipListSchema.parse(data).clip_list;
134
+ async getClipList(options) {
135
+ const res = await this._getJson(`${BASE_PATH}/clip_list.cgi`, undefined, options);
136
+ return clipListSchema.parse(res.data).clip_list;
121
137
  }
122
- setCamSwitchOptions(data, cameraFWVersion) {
138
+ setCamSwitchOptions(data, cameraFWVersion, options) {
123
139
  const bitrateVapixParams = parseBitrateOptionsToBitrateVapixParams(cameraFWVersion, data.bitrateMode, data);
124
140
  const saveData = {
125
141
  video: {
@@ -137,9 +153,9 @@ export class CamSwitcherAPI {
137
153
  },
138
154
  keyboard: data.keyboard,
139
155
  };
140
- return this.setParamFromCameraJSON(CSW_PARAM_NAMES.SETTINGS, saveData);
156
+ return this.setParamFromCameraJSON(CSW_PARAM_NAMES.SETTINGS, saveData, options);
141
157
  }
142
- setGlobalAudioSettings(settings) {
158
+ setGlobalAudioSettings(settings, options) {
143
159
  let acceptedType = 'NONE';
144
160
  if (settings.type === 'source' && settings.source) {
145
161
  if (isClip(settings.source)) {
@@ -155,9 +171,9 @@ export class CamSwitcherAPI {
155
171
  clip_name: settings.source,
156
172
  storage: settings.storage,
157
173
  };
158
- return this.setParamFromCameraJSON(CSW_PARAM_NAMES.MASTER_AUDIO, data);
174
+ return this.setParamFromCameraJSON(CSW_PARAM_NAMES.MASTER_AUDIO, data, options);
159
175
  }
160
- setSecondaryAudioSettings(settings) {
176
+ setSecondaryAudioSettings(settings, options) {
161
177
  const data = {
162
178
  type: settings.type,
163
179
  stream_name: settings.streamName ?? '',
@@ -166,19 +182,19 @@ export class CamSwitcherAPI {
166
182
  secondary_audio_level: settings.secondaryAudioLevel,
167
183
  master_audio_level: settings.masterAudioLevel,
168
184
  };
169
- return this.setParamFromCameraJSON(CSW_PARAM_NAMES.SECONDARY_AUDIO, data);
185
+ return this.setParamFromCameraJSON(CSW_PARAM_NAMES.SECONDARY_AUDIO, data, options);
170
186
  }
171
- setDefaultPlaylist(id) {
172
- const value = JSON.stringify({ default_playlist_id: id });
187
+ setDefaultPlaylist(playlistId, options) {
188
+ const value = JSON.stringify({ default_playlist_id: playlistId });
173
189
  return this.vapixAgent.setParameter({
174
190
  [CSW_PARAM_NAMES.DEFAULT_PLAYLIST]: value,
175
- }, null);
191
+ }, options);
176
192
  }
177
- setPermanentRtspUrlToken(token) {
178
- return this.vapixAgent.setParameter({ [CSW_PARAM_NAMES.RTSP_TOKEN]: token }, null);
193
+ setPermanentRtspUrlToken(token, options) {
194
+ return this.vapixAgent.setParameter({ [CSW_PARAM_NAMES.RTSP_TOKEN]: token }, options);
179
195
  }
180
- async getCamSwitchOptions() {
181
- const saveData = await this.getParamFromCameraAndJSONParse(CSW_PARAM_NAMES.SETTINGS);
196
+ async getCamSwitchOptions(options) {
197
+ const saveData = await this.getParamFromCameraAndJSONParse(CSW_PARAM_NAMES.SETTINGS, options);
182
198
  if (isNullish(saveData.video)) {
183
199
  return saveData;
184
200
  }
@@ -203,12 +219,12 @@ export class CamSwitcherAPI {
203
219
  keyboard: saveData.keyboard,
204
220
  };
205
221
  }
206
- async getGlobalAudioSettings() {
222
+ async getGlobalAudioSettings(options) {
207
223
  const settings = {
208
224
  type: 'fromSource',
209
225
  source: 'fromSource',
210
226
  };
211
- const res = await this.getParamFromCameraAndJSONParse(CSW_PARAM_NAMES.MASTER_AUDIO);
227
+ const res = await this.getParamFromCameraAndJSONParse(CSW_PARAM_NAMES.MASTER_AUDIO, options);
212
228
  if (res.type === 'STREAM') {
213
229
  settings.type = 'source';
214
230
  settings.source = res.stream_name;
@@ -218,52 +234,52 @@ export class CamSwitcherAPI {
218
234
  settings.source = res.clip_name;
219
235
  settings.storage = res.storage;
220
236
  }
221
- return settings;
237
+ return globalAudioSettingsSchema.parse(settings);
222
238
  }
223
- async getSecondaryAudioSettings() {
224
- const res = await this.getParamFromCameraAndJSONParse(CSW_PARAM_NAMES.SECONDARY_AUDIO);
239
+ async getSecondaryAudioSettings(options) {
240
+ const res = await this.getParamFromCameraAndJSONParse(CSW_PARAM_NAMES.SECONDARY_AUDIO, options);
225
241
  const settings = {
226
242
  type: res.type ?? 'NONE',
227
243
  streamName: res.stream_name,
228
244
  clipName: res.clip_name,
229
- storage: res.storage,
245
+ storage: res.storage ?? 'SD_DISK',
230
246
  secondaryAudioLevel: res.secondary_audio_level ?? 1,
231
247
  masterAudioLevel: res.master_audio_level ?? 1,
232
248
  };
233
- return settings;
249
+ return secondaryAudioSettingsSchema.parse(settings);
234
250
  }
235
- async getPermanentRtspUrlToken() {
251
+ async getPermanentRtspUrlToken(options) {
236
252
  const paramName = CSW_PARAM_NAMES.RTSP_TOKEN;
237
- const res = await this.vapixAgent.getParameter([paramName], null);
238
- return res[paramName] ?? '';
253
+ const res = await this.vapixAgent.getParameter([paramName], options);
254
+ return z.string().parse(res[paramName] ?? '');
239
255
  }
240
- async get(path, parameters = {}) {
241
- const res = await this.client.get(path, parameters);
256
+ async _getJson(path, parameters, options) {
257
+ const agent = this.getClient(options?.proxyParams);
258
+ const res = await agent.get({ path, parameters, timeout: options?.timeout });
242
259
  if (res.ok) {
243
- const d = (await res.json());
244
- return d.data;
260
+ return await res.json();
245
261
  }
246
262
  else {
247
- throw new Error(await responseStringify(res));
263
+ throw new ErrorWithResponse(res);
248
264
  }
249
265
  }
250
- async set(path, data, parameters = {}) {
251
- const res = await this.client.post(path, JSON.stringify(data), parameters);
266
+ async _post(path, data, parameters, options, headers) {
267
+ const agent = this.getClient(options?.proxyParams);
268
+ const res = await agent.post({ path, data, parameters, timeout: options?.timeout, headers });
252
269
  if (res.ok) {
253
- const parsed = await res.json();
254
- return parsed.message === 'OK';
270
+ return await res.json();
255
271
  }
256
272
  else {
257
- throw new Error(await responseStringify(res));
273
+ throw new ErrorWithResponse(res);
258
274
  }
259
275
  }
260
- setParamFromCameraJSON(paramName, data) {
276
+ setParamFromCameraJSON(paramName, data, options) {
261
277
  const params = {};
262
278
  params[paramName] = JSON.stringify(data);
263
- return this.vapixAgent.setParameter(params, null);
279
+ return this.vapixAgent.setParameter(params, options);
264
280
  }
265
- async getParamFromCameraAndJSONParse(paramName) {
266
- const data = await this.vapixAgent.getParameter([paramName], null);
281
+ async getParamFromCameraAndJSONParse(paramName, options) {
282
+ const data = await this.vapixAgent.getParameter([paramName], options);
267
283
  if (data[paramName] !== undefined) {
268
284
  try {
269
285
  if (data[paramName] === '') {
@@ -274,10 +290,10 @@ export class CamSwitcherAPI {
274
290
  }
275
291
  }
276
292
  catch {
277
- throw new Error('Error: in JSON parsing of ' + paramName + '. Cannot parse: ' + data[paramName]);
293
+ throw new JsonParseError(paramName, data[paramName]);
278
294
  }
279
295
  }
280
- throw new Error("Error: no parametr '" + paramName + "' was found");
296
+ throw new ParameterNotFoundError(paramName);
281
297
  }
282
298
  }
283
299
  const CSW_PARAM_NAMES = {
@@ -291,7 +307,7 @@ const parseBitrateOptionsToBitrateVapixParams = (firmWareVersion, bitrateMode, c
291
307
  if (!isFirmwareVersionAtLeast(firmWareVersion, FIRMWARE_WITH_BITRATE_MODES_SUPPORT)) {
292
308
  return `videomaxbitrate=${cameraOptions.maximumBitRate}`;
293
309
  }
294
- if (bitrateMode === null) {
310
+ if (bitrateMode === undefined) {
295
311
  return '';
296
312
  }
297
313
  const data = {
@@ -0,0 +1,243 @@
1
+ import { z } from 'zod';
2
+ import { paramToUrl } from './internal/utils';
3
+ import { blackListSchema, cameraSettingsSchema, flightInfoSchema, getIcaoSchema, mapInfoSchema, priorityListSchema, serverSettingsSchema, trackingModeSchema, whiteListSchema, wsAliasResponseSchema, zonesSchema, } from './types/PlaneTrackerAPI';
4
+ import { CannotSetCoordsInAutoModeError, ImportSettingsError, InvalidAltitudeError, InvalidLatLngError, ParsingBlobError, ResetCalibrationError, ServerError, BadRequestError, ErrorWithResponse, } from './errors/errors';
5
+ import { ProxyClient } from './internal/ProxyClient';
6
+ import { cameraListSchema } from './types/GenetecAgent';
7
+ const BASE_PATH = '/local/planetracker';
8
+ export class PlaneTrackerAPI {
9
+ client;
10
+ apiUser;
11
+ constructor(client, apiUser) {
12
+ this.client = client;
13
+ this.apiUser = apiUser;
14
+ }
15
+ static getProxyPath = () => `${BASE_PATH}/proxy.cgi`;
16
+ static getWsEventsPath = () => `${BASE_PATH}/package/ws`;
17
+ getClient(proxyParams) {
18
+ return proxyParams ? new ProxyClient(this.client, proxyParams) : this.client;
19
+ }
20
+ async checkCameraTime(options) {
21
+ const res = await this._getJson(`${BASE_PATH}/camera_time.cgi`, undefined, options);
22
+ return z.boolean().parse(res.state);
23
+ }
24
+ async serverRunCheck(options) {
25
+ const agent = this.getClient(options?.proxyParams);
26
+ return await agent.get({ path: `${BASE_PATH}/package/serverRunCheck.cgi`, timeout: options?.timeout });
27
+ }
28
+ async getLiveViewAlias(rtspUrl, options) {
29
+ const agent = this.getClient(options?.proxyParams);
30
+ const res = await agent.get({
31
+ path: `${BASE_PATH}/getLiveViewAlias.cgi`,
32
+ parameters: { rtsp_url: rtspUrl },
33
+ timeout: options?.timeout,
34
+ });
35
+ return wsAliasResponseSchema.parse(await res.json());
36
+ }
37
+ async resetPtzCalibration(options) {
38
+ const agent = this.getClient(options?.proxyParams);
39
+ const res = await agent.get({
40
+ path: `${BASE_PATH}/package/resetPtzCalibration.cgi`,
41
+ parameters: this.apiUser,
42
+ timeout: options?.timeout,
43
+ });
44
+ if (!res.ok) {
45
+ throw new ResetCalibrationError('PTZ', res);
46
+ }
47
+ }
48
+ async resetFocusCalibration(options) {
49
+ const agent = this.getClient(options?.proxyParams);
50
+ const res = await agent.get({
51
+ path: `${BASE_PATH}/package/resetFocusCalibration.cgi`,
52
+ parameters: this.apiUser,
53
+ timeout: options?.timeout,
54
+ });
55
+ if (!res.ok) {
56
+ throw new ResetCalibrationError('FOCUS', res);
57
+ }
58
+ }
59
+ async fetchCameraSettings(options) {
60
+ const res = await this._getJson(`${BASE_PATH}/package_camera_settings.cgi`, { action: 'get' }, options);
61
+ return cameraSettingsSchema.parse(res);
62
+ }
63
+ async setCameraSettings(settings, options) {
64
+ return await this._postJsonEncoded(`${BASE_PATH}/package_camera_settings.cgi`, settings, {
65
+ action: 'set',
66
+ }, options);
67
+ }
68
+ async fetchServerSettings(options) {
69
+ const res = await this._getJson(`${BASE_PATH}/package_server_settings.cgi`, { action: 'get' }, options);
70
+ return serverSettingsSchema.parse(res);
71
+ }
72
+ async exportAppSettings(dataType, options) {
73
+ return await this._getBlob(`${BASE_PATH}/package_data.cgi`, { action: 'EXPORT', dataType }, options);
74
+ }
75
+ async importAppSettings(dataType, formData, options) {
76
+ const agent = this.getClient(options?.proxyParams);
77
+ const res = await agent.post({
78
+ path: `${BASE_PATH}/package_data.cgi`,
79
+ data: formData,
80
+ parameters: { action: 'IMPORT', dataType },
81
+ timeout: options?.timeout,
82
+ });
83
+ if (!res.ok) {
84
+ throw new ImportSettingsError(res);
85
+ }
86
+ }
87
+ async fetchFlightInfo(icao, options) {
88
+ const res = await this._getJson(`${BASE_PATH}/package/flightInfo.cgi`, { icao }, options);
89
+ return flightInfoSchema.parse(res);
90
+ }
91
+ async getTrackingMode(options) {
92
+ const res = await this._getJson(`${BASE_PATH}/package/getTrackingMode.cgi`, undefined, options);
93
+ return trackingModeSchema.parse(res);
94
+ }
95
+ async setTrackingMode(mode, options) {
96
+ await this._postJsonEncoded(`${BASE_PATH}/package/setTrackingMode.cgi`, { mode }, this.apiUser, options);
97
+ }
98
+ async startTrackingPlane(icao, options) {
99
+ const agent = this.getClient(options?.proxyParams);
100
+ await agent.get({
101
+ path: `${BASE_PATH}/package/trackIcao.cgi`,
102
+ parameters: { icao, ...this.apiUser },
103
+ timeout: options?.timeout,
104
+ });
105
+ }
106
+ async stopTrackingPlane(options) {
107
+ const agent = this.getClient(options?.proxyParams);
108
+ await agent.get({
109
+ path: `${BASE_PATH}/package/resetIcao.cgi`,
110
+ parameters: this.apiUser,
111
+ timeout: options?.timeout,
112
+ });
113
+ }
114
+ async getIcao(by, value, options) {
115
+ const res = await this._getJson(`${BASE_PATH}/package/getIcao.cgi`, { [by]: value }, options);
116
+ return getIcaoSchema.parse(res).icao;
117
+ }
118
+ async getPriorityList(options) {
119
+ const res = await this._getJson(`${BASE_PATH}/package/getPriorityList.cgi`, undefined, options);
120
+ return priorityListSchema.parse(res).priorityList;
121
+ }
122
+ async setPriorityList(priorityList, options) {
123
+ return await this._postJsonEncoded(`${BASE_PATH}/package/setPriorityList.cgi`, { priorityList }, this.apiUser, options);
124
+ }
125
+ async getWhiteList(options) {
126
+ const res = await this._getJson(`${BASE_PATH}/package/getWhiteList.cgi`, undefined, options);
127
+ return whiteListSchema.parse(res).whiteList;
128
+ }
129
+ async setWhiteList(whiteList, options) {
130
+ return await this._postJsonEncoded(`${BASE_PATH}/package/setWhiteList.cgi`, { whiteList }, this.apiUser, options);
131
+ }
132
+ async getBlackList(options) {
133
+ const res = await this._getJson(`${BASE_PATH}/package/getBlackList.cgi`, undefined, options);
134
+ return blackListSchema.parse(res).blackList;
135
+ }
136
+ async setBlackList(blackList, options) {
137
+ return await this._postJsonEncoded(`${BASE_PATH}/package/setBlackList.cgi`, { blackList }, this.apiUser, options);
138
+ }
139
+ async fetchMapInfo(options) {
140
+ const res = await this._getJson(`${BASE_PATH}/package/getMapInfo.cgi`, undefined, options);
141
+ return mapInfoSchema.parse(res);
142
+ }
143
+ async getZones(options) {
144
+ const res = await this._getJson(`${BASE_PATH}/package/getZones.cgi`, undefined, options);
145
+ return zonesSchema.parse(res);
146
+ }
147
+ async setZones(zones, options) {
148
+ await this._postJsonEncoded(`${BASE_PATH}/package/setZones.cgi`, zones, this.apiUser, options);
149
+ }
150
+ async goToCoordinates(lat, lon, alt, options) {
151
+ const agent = this.getClient(options?.proxyParams);
152
+ const res = await agent.get({
153
+ path: `${BASE_PATH}/package/goToCoordinates.cgi`,
154
+ parameters: { lat, lon, alt, ...this.apiUser },
155
+ timeout: options?.timeout,
156
+ });
157
+ if (!res.ok) {
158
+ if (res.status === 400 && res.statusText === 'Cannot set coordinates in automatic mode') {
159
+ throw new CannotSetCoordsInAutoModeError();
160
+ }
161
+ if (res.status === 400 && res.statusText === 'Invalid lat/lon parameters') {
162
+ throw new InvalidLatLngError();
163
+ }
164
+ if (res.status === 400 && res.statusText === 'Invalid alt parameter') {
165
+ throw new InvalidAltitudeError();
166
+ }
167
+ if (res.status === 400) {
168
+ throw new BadRequestError(res);
169
+ }
170
+ if (res.status === 500) {
171
+ throw new ServerError();
172
+ }
173
+ }
174
+ }
175
+ async checkGenetecConnection(params, options) {
176
+ return await this._postUrlEncoded(`${BASE_PATH}/package/checkGenetecConnection.cgi`, params, options);
177
+ }
178
+ async getGenetecCameraList(params, options) {
179
+ const res = await this._postUrlEncoded(`${BASE_PATH}/package/getGenetecCameraList.cgi`, params, options);
180
+ return cameraListSchema.parse(await res.json());
181
+ }
182
+ async _getJson(path, parameters, options, headers) {
183
+ const agent = this.getClient(options?.proxyParams);
184
+ const res = await agent.get({ path, parameters, timeout: options?.timeout, headers });
185
+ if (res.ok) {
186
+ return await res.json();
187
+ }
188
+ else {
189
+ throw new ErrorWithResponse(res);
190
+ }
191
+ }
192
+ async _getBlob(path, parameters, options) {
193
+ const agent = this.getClient(options?.proxyParams);
194
+ const res = await agent.get({ path, parameters, timeout: options?.timeout });
195
+ if (res.ok) {
196
+ return await this.parseBlobResponse(res);
197
+ }
198
+ else {
199
+ throw new ErrorWithResponse(res);
200
+ }
201
+ }
202
+ async parseBlobResponse(response) {
203
+ try {
204
+ return (await response.blob());
205
+ }
206
+ catch (err) {
207
+ throw new ParsingBlobError(err);
208
+ }
209
+ }
210
+ async _postJsonEncoded(path, data, parameters, options) {
211
+ const agent = this.getClient(options?.proxyParams);
212
+ const jsonData = JSON.stringify(data);
213
+ const res = await agent.post({
214
+ path,
215
+ data: jsonData,
216
+ parameters,
217
+ headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' },
218
+ timeout: options?.timeout,
219
+ });
220
+ if (res.ok) {
221
+ return res;
222
+ }
223
+ else {
224
+ throw new ErrorWithResponse(res);
225
+ }
226
+ }
227
+ async _postUrlEncoded(path, params, options) {
228
+ const data = paramToUrl(params);
229
+ const agent = this.getClient(options?.proxyParams);
230
+ const res = await agent.post({
231
+ path,
232
+ data,
233
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
234
+ timeout: options?.timeout,
235
+ });
236
+ if (res.ok) {
237
+ return res;
238
+ }
239
+ else {
240
+ throw new ErrorWithResponse(res);
241
+ }
242
+ }
243
+ }