camstreamerlib 4.0.0-beta.13 → 4.0.0-beta.130

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 (354) hide show
  1. package/README.md +143 -38
  2. package/cjs/CamOverlayAPI.d.ts +560 -336
  3. package/cjs/CamOverlayAPI.js +99 -184
  4. package/cjs/CamScripterAPI.d.ts +41 -17
  5. package/cjs/CamScripterAPI.js +50 -56
  6. package/cjs/CamStreamerAPI.d.ts +3139 -14
  7. package/cjs/CamStreamerAPI.js +151 -52
  8. package/cjs/CamSwitcherAPI.d.ts +155 -42
  9. package/cjs/CamSwitcherAPI.js +134 -189
  10. package/cjs/PlaneTrackerAPI.d.ts +236 -0
  11. package/cjs/PlaneTrackerAPI.js +194 -0
  12. package/cjs/VapixAPI.d.ts +84 -43
  13. package/cjs/VapixAPI.js +312 -216
  14. package/cjs/{CreatePackage.js → bin/CreatePackage.js} +44 -18
  15. package/cjs/errors/errors.d.ts +70 -4
  16. package/cjs/errors/errors.js +140 -7
  17. package/cjs/index.d.ts +20 -8
  18. package/cjs/index.js +28 -12
  19. package/cjs/internal/BasicAPI.d.ts +15 -0
  20. package/cjs/internal/BasicAPI.js +93 -0
  21. package/cjs/internal/ProxyClient.d.ts +8 -9
  22. package/cjs/internal/ProxyClient.js +28 -34
  23. package/cjs/internal/WsEvents.d.ts +38 -0
  24. package/cjs/{CamSwitcherEvents.js → internal/WsEvents.js} +33 -22
  25. package/cjs/internal/constants.d.ts +1 -0
  26. package/cjs/internal/constants.js +2 -1
  27. package/cjs/internal/convertors.d.ts +6 -0
  28. package/cjs/internal/convertors.js +115 -0
  29. package/cjs/internal/types.d.ts +32 -20
  30. package/cjs/internal/utils.d.ts +1 -3
  31. package/cjs/internal/utils.js +1 -12
  32. package/cjs/internal/versionCompare.d.ts +2 -2
  33. package/cjs/node/CamOverlayDrawingAPI.d.ts +41 -0
  34. package/cjs/{CamOverlayDrawingAPI.js → node/CamOverlayDrawingAPI.js} +28 -20
  35. package/{esm → cjs/node}/CamOverlayPainter/Frame.d.ts +8 -37
  36. package/cjs/{CamOverlayPainter → node/CamOverlayPainter}/Frame.js +33 -0
  37. package/cjs/{CamOverlayPainter → node/CamOverlayPainter}/Painter.d.ts +5 -21
  38. package/cjs/{CamOverlayPainter → node/CamOverlayPainter}/Painter.js +5 -17
  39. package/cjs/node/CamOverlayPainter/ResourceManager.d.ts +15 -0
  40. package/cjs/node/CamOverlayPainter/ResourceManager.js +72 -0
  41. package/cjs/node/CamScripterAPICameraEventsGenerator.d.ts +31 -0
  42. package/cjs/{CamScripterAPICameraEventsGenerator.js → node/CamScripterAPICameraEventsGenerator.js} +13 -13
  43. package/cjs/node/DefaultClient.d.ts +6 -6
  44. package/cjs/node/DefaultClient.js +12 -16
  45. package/cjs/{internal → node}/Digest.js +24 -1
  46. package/cjs/node/Digest.test.js +13 -0
  47. package/cjs/node/HttpRequestSender.d.ts +1 -0
  48. package/cjs/node/HttpRequestSender.js +14 -4
  49. package/cjs/node/HttpServer.d.ts +1 -1
  50. package/cjs/node/HttpServer.js +29 -6
  51. package/cjs/node/TimeZoneDaemon.d.ts +6 -0
  52. package/cjs/node/TimeZoneDaemon.js +29 -0
  53. package/cjs/node/VapixEvents.d.ts +16 -0
  54. package/cjs/{VapixEvents.js → node/VapixEvents.js} +10 -10
  55. package/cjs/node/WsClient.d.ts +9 -18
  56. package/cjs/node/WsClient.js +27 -20
  57. package/cjs/node/events/AxisCameraStationEvents.d.ts +12 -0
  58. package/cjs/{events → node/events}/AxisCameraStationEvents.js +18 -13
  59. package/cjs/node/events/GenetecAgent.d.ts +16 -0
  60. package/cjs/node/events/GenetecAgent.js +124 -0
  61. package/cjs/node/index.d.ts +18 -2
  62. package/cjs/node/index.js +39 -5
  63. package/cjs/{models/CamOverlayAPI/widgetsSchema.d.ts → types/CamOverlayAPI/CamOverlayAPI.d.ts} +2534 -746
  64. package/cjs/types/CamOverlayAPI/CamOverlayAPI.js +131 -0
  65. package/cjs/{models → types}/CamOverlayAPI/accuweatherSchema.d.ts +15 -15
  66. package/cjs/{models → types}/CamOverlayAPI/accuweatherSchema.js +7 -8
  67. package/cjs/{models → types}/CamOverlayAPI/customGraphicsSchema.d.ts +106 -105
  68. package/cjs/{models → types}/CamOverlayAPI/customGraphicsSchema.js +5 -6
  69. package/{esm/models → cjs/types}/CamOverlayAPI/imagesSchema.d.ts +17 -17
  70. package/cjs/types/CamOverlayAPI/imagesSchema.js +9 -0
  71. package/cjs/{models → types}/CamOverlayAPI/index.d.ts +2 -4
  72. package/cjs/{models → types}/CamOverlayAPI/index.js +2 -4
  73. package/cjs/{models → types}/CamOverlayAPI/infotickerSchema.d.ts +25 -25
  74. package/cjs/{models → types}/CamOverlayAPI/infotickerSchema.js +6 -7
  75. package/{esm/models → cjs/types}/CamOverlayAPI/pipSchema.d.ts +19 -19
  76. package/cjs/{models → types}/CamOverlayAPI/pipSchema.js +5 -6
  77. package/{esm/models → cjs/types}/CamOverlayAPI/ptzCompassSchema.d.ts +16 -13
  78. package/cjs/{models → types}/CamOverlayAPI/ptzCompassSchema.js +5 -5
  79. package/{esm/models → cjs/types}/CamOverlayAPI/ptzSchema.d.ts +26 -26
  80. package/cjs/types/CamOverlayAPI/ptzSchema.js +12 -0
  81. package/cjs/types/CamOverlayAPI/scoreBoardSchema.d.ts +357 -0
  82. package/cjs/types/CamOverlayAPI/scoreBoardSchema.js +132 -0
  83. package/cjs/{models → types}/CamOverlayAPI/screenSharingSchema.d.ts +13 -13
  84. package/cjs/types/CamOverlayAPI/screenSharingSchema.js +8 -0
  85. package/{esm/models/CamOverlayAPI/widgetCommonSchema.d.ts → cjs/types/CamOverlayAPI/serviceCommonTypes.d.ts} +75 -56
  86. package/cjs/{models/CamOverlayAPI/widgetCommonSchema.js → types/CamOverlayAPI/serviceCommonTypes.js} +33 -18
  87. package/{esm/models → cjs/types}/CamOverlayAPI/webCameraSharingSchema.d.ts +13 -13
  88. package/cjs/types/CamOverlayAPI/webCameraSharingSchema.js +8 -0
  89. package/cjs/types/CamOverlayDrawingAPI.d.ts +48 -0
  90. package/cjs/types/CamOverlayDrawingAPI.js +2 -0
  91. package/cjs/types/CamOverlayPainter.d.ts +76 -0
  92. package/cjs/types/CamOverlayPainter.js +14 -0
  93. package/cjs/types/CamScripterAPI.d.ts +86 -23
  94. package/cjs/types/CamScripterAPI.js +24 -8
  95. package/cjs/types/CamScripterAPICameraEventsGenerator.d.ts +45 -0
  96. package/cjs/types/CamScripterAPICameraEventsGenerator.js +2 -0
  97. package/cjs/types/CamStreamerAPI/CamStreamerAPI.d.ts +22299 -0
  98. package/cjs/types/CamStreamerAPI/CamStreamerAPI.js +165 -0
  99. package/cjs/types/CamStreamerAPI/facebookSchema.d.ts +501 -0
  100. package/cjs/types/CamStreamerAPI/facebookSchema.js +23 -0
  101. package/cjs/types/CamStreamerAPI/index.d.ts +6 -0
  102. package/cjs/types/CamStreamerAPI/index.js +22 -0
  103. package/cjs/types/{CamStreamerAPI.d.ts → CamStreamerAPI/oldStreamSchema.d.ts} +104 -35
  104. package/cjs/types/CamStreamerAPI/oldStreamSchema.js +53 -0
  105. package/cjs/types/CamStreamerAPI/streamCommonTypes.d.ts +500 -0
  106. package/cjs/types/CamStreamerAPI/streamCommonTypes.js +119 -0
  107. package/cjs/types/CamStreamerAPI/streamsSchema.d.ts +7379 -0
  108. package/cjs/types/CamStreamerAPI/streamsSchema.js +59 -0
  109. package/cjs/types/CamStreamerAPI/windySchema.d.ts +435 -0
  110. package/cjs/types/CamStreamerAPI/windySchema.js +11 -0
  111. package/cjs/types/CamStreamerAPI/youtubeSchema.d.ts +468 -0
  112. package/cjs/types/CamStreamerAPI/youtubeSchema.js +22 -0
  113. package/cjs/types/CamSwitcherAPI.d.ts +181 -121
  114. package/cjs/types/CamSwitcherAPI.js +31 -1
  115. package/cjs/{events → types}/GenetecAgent.d.ts +47 -47
  116. package/cjs/types/GenetecAgent.js +31 -0
  117. package/cjs/types/PlaneTrackerAPI.d.ts +980 -0
  118. package/cjs/types/PlaneTrackerAPI.js +333 -0
  119. package/cjs/types/VapixAPI.d.ts +255 -15
  120. package/cjs/types/VapixAPI.js +66 -3
  121. package/cjs/types/VapixEvents.d.ts +15 -0
  122. package/cjs/types/VapixEvents.js +2 -0
  123. package/cjs/types/common.d.ts +43 -3
  124. package/cjs/types/common.js +17 -2
  125. package/cjs/types/ws/CamOverlayEvents.d.ts +88 -0
  126. package/cjs/types/ws/CamOverlayEvents.js +19 -0
  127. package/cjs/types/ws/CamStreamerEvents.d.ts +282 -0
  128. package/cjs/types/ws/CamStreamerEvents.js +36 -0
  129. package/cjs/types/ws/PlaneTrackerEvents.d.ts +1703 -0
  130. package/cjs/types/ws/PlaneTrackerEvents.js +207 -0
  131. package/cjs/web/DefaultClient.d.ts +7 -5
  132. package/cjs/web/DefaultClient.js +25 -11
  133. package/cjs/web/WsClient.d.ts +9 -5
  134. package/cjs/web/WsClient.js +16 -18
  135. package/cjs/ws/CamOverlayEvents.d.ts +8 -0
  136. package/cjs/ws/CamOverlayEvents.js +24 -0
  137. package/cjs/ws/CamStreamerEvents.d.ts +8 -0
  138. package/cjs/ws/CamStreamerEvents.js +24 -0
  139. package/cjs/ws/CamSwitcherEvents.d.ts +8 -0
  140. package/cjs/ws/CamSwitcherEvents.js +24 -0
  141. package/cjs/ws/PlaneTrackerEvents.d.ts +9 -0
  142. package/cjs/ws/PlaneTrackerEvents.js +30 -0
  143. package/esm/CamOverlayAPI.js +99 -184
  144. package/esm/CamScripterAPI.js +51 -57
  145. package/esm/CamStreamerAPI.js +149 -51
  146. package/esm/CamSwitcherAPI.js +137 -192
  147. package/esm/PlaneTrackerAPI.js +190 -0
  148. package/esm/VapixAPI.js +314 -218
  149. package/esm/{CreatePackage.js → bin/CreatePackage.js} +16 -16
  150. package/esm/errors/errors.js +122 -6
  151. package/esm/index.js +20 -8
  152. package/esm/internal/BasicAPI.js +89 -0
  153. package/esm/internal/ProxyClient.js +28 -34
  154. package/esm/{CamSwitcherEvents.js → internal/WsEvents.js} +31 -20
  155. package/esm/internal/constants.js +1 -0
  156. package/esm/internal/convertors.js +108 -0
  157. package/esm/internal/utils.js +0 -9
  158. package/esm/{CamOverlayDrawingAPI.js → node/CamOverlayDrawingAPI.js} +26 -18
  159. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/Frame.js +33 -0
  160. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/Painter.js +2 -13
  161. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/ResourceManager.js +7 -5
  162. package/esm/{CamScripterAPICameraEventsGenerator.js → node/CamScripterAPICameraEventsGenerator.js} +11 -11
  163. package/esm/node/DefaultClient.js +12 -16
  164. package/esm/node/Digest.test.js +11 -0
  165. package/esm/node/HttpRequestSender.js +14 -4
  166. package/esm/node/HttpServer.js +1 -1
  167. package/esm/node/TimeZoneDaemon.js +25 -0
  168. package/esm/{VapixEvents.js → node/VapixEvents.js} +10 -10
  169. package/esm/node/WsClient.js +22 -15
  170. package/esm/{events → node/events}/AxisCameraStationEvents.js +18 -13
  171. package/esm/node/events/GenetecAgent.js +120 -0
  172. package/esm/node/index.js +18 -2
  173. package/esm/types/CamOverlayAPI/CamOverlayAPI.js +110 -0
  174. package/esm/{models → types}/CamOverlayAPI/accuweatherSchema.js +3 -4
  175. package/esm/{models → types}/CamOverlayAPI/customGraphicsSchema.js +3 -4
  176. package/esm/types/CamOverlayAPI/imagesSchema.js +6 -0
  177. package/esm/{models → types}/CamOverlayAPI/index.js +2 -4
  178. package/esm/{models → types}/CamOverlayAPI/infotickerSchema.js +3 -4
  179. package/esm/{models → types}/CamOverlayAPI/pipSchema.js +4 -5
  180. package/esm/{models → types}/CamOverlayAPI/ptzCompassSchema.js +4 -4
  181. package/esm/types/CamOverlayAPI/ptzSchema.js +9 -0
  182. package/esm/types/CamOverlayAPI/scoreBoardSchema.js +129 -0
  183. package/esm/types/CamOverlayAPI/screenSharingSchema.js +5 -0
  184. package/esm/{models/CamOverlayAPI/widgetCommonSchema.js → types/CamOverlayAPI/serviceCommonTypes.js} +32 -17
  185. package/esm/types/CamOverlayAPI/webCameraSharingSchema.js +5 -0
  186. package/esm/types/CamOverlayDrawingAPI.js +1 -0
  187. package/esm/types/CamOverlayPainter.js +11 -0
  188. package/esm/types/CamScripterAPI.js +23 -7
  189. package/esm/types/CamScripterAPICameraEventsGenerator.js +1 -0
  190. package/esm/types/CamStreamerAPI/CamStreamerAPI.js +142 -0
  191. package/esm/types/CamStreamerAPI/facebookSchema.js +17 -0
  192. package/esm/types/CamStreamerAPI/index.js +6 -0
  193. package/esm/types/CamStreamerAPI/oldStreamSchema.js +50 -0
  194. package/esm/types/CamStreamerAPI/streamCommonTypes.js +116 -0
  195. package/esm/types/CamStreamerAPI/streamsSchema.js +53 -0
  196. package/esm/types/CamStreamerAPI/windySchema.js +5 -0
  197. package/esm/types/CamStreamerAPI/youtubeSchema.js +16 -0
  198. package/esm/types/CamSwitcherAPI.js +31 -1
  199. package/esm/types/GenetecAgent.js +28 -0
  200. package/esm/types/PlaneTrackerAPI.js +330 -0
  201. package/esm/types/VapixAPI.js +65 -2
  202. package/esm/types/VapixEvents.js +1 -0
  203. package/esm/types/common.js +16 -1
  204. package/esm/types/ws/CamOverlayEvents.js +16 -0
  205. package/esm/types/ws/CamStreamerEvents.js +33 -0
  206. package/esm/types/ws/PlaneTrackerEvents.js +204 -0
  207. package/esm/web/DefaultClient.js +25 -11
  208. package/esm/web/WsClient.js +16 -18
  209. package/esm/ws/CamOverlayEvents.js +20 -0
  210. package/esm/ws/CamStreamerEvents.js +20 -0
  211. package/esm/ws/CamSwitcherEvents.js +20 -0
  212. package/esm/ws/PlaneTrackerEvents.js +26 -0
  213. package/package.json +43 -9
  214. package/{esm → types}/CamOverlayAPI.d.ts +560 -336
  215. package/types/CamScripterAPI.d.ts +43 -0
  216. package/types/CamStreamerAPI.d.ts +3141 -0
  217. package/types/CamSwitcherAPI.d.ts +165 -0
  218. package/types/PlaneTrackerAPI.d.ts +236 -0
  219. package/types/VapixAPI.d.ts +119 -0
  220. package/types/bin/CreatePackage.d.ts +1 -0
  221. package/types/errors/errors.d.ts +103 -0
  222. package/types/index.d.ts +28 -0
  223. package/types/internal/BasicAPI.d.ts +15 -0
  224. package/types/internal/ProxyClient.d.ts +10 -0
  225. package/types/internal/WsEvents.d.ts +38 -0
  226. package/{esm → types}/internal/constants.d.ts +1 -0
  227. package/types/internal/convertors.d.ts +6 -0
  228. package/types/internal/types.d.ts +47 -0
  229. package/{esm → types}/internal/utils.d.ts +1 -3
  230. package/{esm → types}/internal/versionCompare.d.ts +2 -2
  231. package/types/node/CamOverlayDrawingAPI.d.ts +41 -0
  232. package/{cjs → types/node}/CamOverlayPainter/Frame.d.ts +8 -37
  233. package/{esm → types/node}/CamOverlayPainter/Painter.d.ts +5 -21
  234. package/types/node/CamOverlayPainter/ResourceManager.d.ts +15 -0
  235. package/types/node/CamScripterAPICameraEventsGenerator.d.ts +31 -0
  236. package/types/node/DefaultClient.d.ts +16 -0
  237. package/types/node/Digest.test.d.ts +1 -0
  238. package/{esm → types}/node/HttpRequestSender.d.ts +1 -0
  239. package/{esm → types}/node/HttpServer.d.ts +1 -1
  240. package/types/node/TimeZoneDaemon.d.ts +6 -0
  241. package/types/node/VapixEvents.d.ts +16 -0
  242. package/types/node/WsClient.d.ts +30 -0
  243. package/types/node/events/AxisCameraStationEvents.d.ts +12 -0
  244. package/types/node/events/GenetecAgent.d.ts +16 -0
  245. package/types/node/index.d.ts +18 -0
  246. package/{esm/models/CamOverlayAPI/widgetsSchema.d.ts → types/types/CamOverlayAPI/CamOverlayAPI.d.ts} +2534 -746
  247. package/{esm/models → types/types}/CamOverlayAPI/accuweatherSchema.d.ts +15 -15
  248. package/{esm/models → types/types}/CamOverlayAPI/customGraphicsSchema.d.ts +106 -105
  249. package/{cjs/models → types/types}/CamOverlayAPI/imagesSchema.d.ts +17 -17
  250. package/{esm/models → types/types}/CamOverlayAPI/index.d.ts +2 -4
  251. package/{esm/models → types/types}/CamOverlayAPI/infotickerSchema.d.ts +25 -25
  252. package/{cjs/models → types/types}/CamOverlayAPI/pipSchema.d.ts +19 -19
  253. package/{cjs/models → types/types}/CamOverlayAPI/ptzCompassSchema.d.ts +16 -13
  254. package/{cjs/models → types/types}/CamOverlayAPI/ptzSchema.d.ts +26 -26
  255. package/types/types/CamOverlayAPI/scoreBoardSchema.d.ts +357 -0
  256. package/{esm/models → types/types}/CamOverlayAPI/screenSharingSchema.d.ts +13 -13
  257. package/{cjs/models/CamOverlayAPI/widgetCommonSchema.d.ts → types/types/CamOverlayAPI/serviceCommonTypes.d.ts} +75 -56
  258. package/{cjs/models → types/types}/CamOverlayAPI/webCameraSharingSchema.d.ts +13 -13
  259. package/types/types/CamOverlayDrawingAPI.d.ts +48 -0
  260. package/types/types/CamOverlayPainter.d.ts +76 -0
  261. package/types/types/CamScripterAPI.d.ts +130 -0
  262. package/types/types/CamScripterAPICameraEventsGenerator.d.ts +45 -0
  263. package/types/types/CamStreamerAPI/CamStreamerAPI.d.ts +22299 -0
  264. package/types/types/CamStreamerAPI/facebookSchema.d.ts +501 -0
  265. package/types/types/CamStreamerAPI/index.d.ts +6 -0
  266. package/{esm/types/CamStreamerAPI.d.ts → types/types/CamStreamerAPI/oldStreamSchema.d.ts} +104 -35
  267. package/types/types/CamStreamerAPI/streamCommonTypes.d.ts +500 -0
  268. package/types/types/CamStreamerAPI/streamsSchema.d.ts +7379 -0
  269. package/types/types/CamStreamerAPI/windySchema.d.ts +435 -0
  270. package/types/types/CamStreamerAPI/youtubeSchema.d.ts +468 -0
  271. package/{esm → types}/types/CamSwitcherAPI.d.ts +181 -121
  272. package/{esm/events → types/types}/GenetecAgent.d.ts +47 -47
  273. package/types/types/PlaneTrackerAPI.d.ts +980 -0
  274. package/{esm → types}/types/VapixAPI.d.ts +255 -15
  275. package/types/types/VapixEvents.d.ts +15 -0
  276. package/types/types/common.d.ts +77 -0
  277. package/types/types/ws/CamOverlayEvents.d.ts +88 -0
  278. package/types/types/ws/CamStreamerEvents.d.ts +282 -0
  279. package/types/types/ws/PlaneTrackerEvents.d.ts +1703 -0
  280. package/types/web/DefaultClient.d.ts +8 -0
  281. package/types/web/WsClient.d.ts +17 -0
  282. package/types/ws/CamOverlayEvents.d.ts +8 -0
  283. package/types/ws/CamStreamerEvents.d.ts +8 -0
  284. package/types/ws/CamSwitcherEvents.d.ts +8 -0
  285. package/types/ws/PlaneTrackerEvents.d.ts +9 -0
  286. package/cjs/CamOverlayDrawingAPI.d.ts +0 -86
  287. package/cjs/CamOverlayPainter/ResourceManager.d.ts +0 -14
  288. package/cjs/CamOverlayPainter/ResourceManager.js +0 -46
  289. package/cjs/CamScripterAPICameraEventsGenerator.d.ts +0 -74
  290. package/cjs/CamSwitcherEvents.d.ts +0 -18
  291. package/cjs/VapixEvents.d.ts +0 -43
  292. package/cjs/events/AxisCameraStationEvents.d.ts +0 -10
  293. package/cjs/events/GenetecAgent.js +0 -123
  294. package/cjs/models/CamOverlayAPI/constants.d.ts +0 -11
  295. package/cjs/models/CamOverlayAPI/constants.js +0 -14
  296. package/cjs/models/CamOverlayAPI/fileSchema.d.ts +0 -28
  297. package/cjs/models/CamOverlayAPI/fileSchema.js +0 -17
  298. package/cjs/models/CamOverlayAPI/imagesSchema.js +0 -10
  299. package/cjs/models/CamOverlayAPI/ptzSchema.js +0 -13
  300. package/cjs/models/CamOverlayAPI/screenSharingSchema.js +0 -9
  301. package/cjs/models/CamOverlayAPI/webCameraSharingSchema.js +0 -9
  302. package/cjs/models/CamOverlayAPI/widgetsSchema.js +0 -27
  303. package/cjs/node/WsEventClient.d.ts +0 -13
  304. package/cjs/node/WsEventClient.js +0 -22
  305. package/cjs/types/CamOverlayAPI.d.ts +0 -328
  306. package/cjs/types/CamOverlayAPI.js +0 -26
  307. package/cjs/types/CamStreamerAPI.js +0 -28
  308. package/esm/CamOverlayDrawingAPI.d.ts +0 -86
  309. package/esm/CamOverlayPainter/ResourceManager.d.ts +0 -14
  310. package/esm/CamScripterAPI.d.ts +0 -19
  311. package/esm/CamScripterAPICameraEventsGenerator.d.ts +0 -74
  312. package/esm/CamStreamerAPI.d.ts +0 -16
  313. package/esm/CamSwitcherAPI.d.ts +0 -52
  314. package/esm/CamSwitcherEvents.d.ts +0 -18
  315. package/esm/VapixAPI.d.ts +0 -78
  316. package/esm/VapixEvents.d.ts +0 -43
  317. package/esm/errors/errors.d.ts +0 -37
  318. package/esm/events/AxisCameraStationEvents.d.ts +0 -10
  319. package/esm/events/GenetecAgent.js +0 -119
  320. package/esm/index.d.ts +0 -16
  321. package/esm/internal/ProxyClient.d.ts +0 -11
  322. package/esm/internal/types.d.ts +0 -35
  323. package/esm/models/CamOverlayAPI/constants.d.ts +0 -11
  324. package/esm/models/CamOverlayAPI/constants.js +0 -11
  325. package/esm/models/CamOverlayAPI/fileSchema.d.ts +0 -28
  326. package/esm/models/CamOverlayAPI/fileSchema.js +0 -14
  327. package/esm/models/CamOverlayAPI/imagesSchema.js +0 -7
  328. package/esm/models/CamOverlayAPI/ptzSchema.js +0 -10
  329. package/esm/models/CamOverlayAPI/screenSharingSchema.js +0 -6
  330. package/esm/models/CamOverlayAPI/webCameraSharingSchema.js +0 -6
  331. package/esm/models/CamOverlayAPI/widgetsSchema.js +0 -24
  332. package/esm/node/DefaultClient.d.ts +0 -16
  333. package/esm/node/WsClient.d.ts +0 -39
  334. package/esm/node/WsEventClient.d.ts +0 -13
  335. package/esm/node/WsEventClient.js +0 -18
  336. package/esm/types/CamOverlayAPI.d.ts +0 -328
  337. package/esm/types/CamOverlayAPI.js +0 -14
  338. package/esm/types/CamScripterAPI.d.ts +0 -67
  339. package/esm/types/CamStreamerAPI.js +0 -25
  340. package/esm/types/common.d.ts +0 -37
  341. package/esm/web/DefaultClient.d.ts +0 -6
  342. package/esm/web/WsClient.d.ts +0 -13
  343. package/esm/web/index.d.ts +0 -2
  344. package/cjs/{CreatePackage.d.ts → bin/CreatePackage.d.ts} +0 -0
  345. package/cjs/{internal → node}/Digest.d.ts +0 -0
  346. package/{esm/CreatePackage.d.ts → cjs/node/Digest.test.d.ts} +0 -0
  347. package/{esm/types → cjs/types/ws}/CamSwitcherEvents.d.ts +8 -8
  348. package/cjs/types/{CamSwitcherEvents.js → ws/CamSwitcherEvents.js} +0 -0
  349. package/esm/{internal → node}/Digest.js +0 -0
  350. package/esm/types/{CamSwitcherEvents.js → ws/CamSwitcherEvents.js} +0 -0
  351. package/{esm → types}/internal/transformers.d.ts +0 -0
  352. package/{esm/internal → types/node}/Digest.d.ts +0 -0
  353. package/{cjs/types → types/types/ws}/CamSwitcherEvents.d.ts +8 -8
  354. /package/{esm/node → types/web}/index.d.ts +0 -0
@@ -0,0 +1,204 @@
1
+ import { z } from 'zod';
2
+ import { trackingModeSchema, zonesSchema } from '../PlaneTrackerAPI';
3
+ const apiFlightDataSchema = z.object({
4
+ icao: z.string(),
5
+ lat: z.number(),
6
+ lon: z.number(),
7
+ heading: z.number(),
8
+ groundSpeed: z.number(),
9
+ altitudeAMSL: z.number(),
10
+ cameraDistance: z.number(),
11
+ autoTrackingOrder: z.number(),
12
+ whiteListed: z.boolean(),
13
+ blackListed: z.boolean(),
14
+ priorityListed: z.boolean(),
15
+ typePriorityListed: z.boolean().default(false),
16
+ autoSelectionIgnored: z.boolean(),
17
+ signalQuality: z.number(),
18
+ emitterCategorySet: z.number().default(4),
19
+ emitterCategory: z.number().default(3),
20
+ emergencyState: z.boolean(),
21
+ emergencyStatusMessage: z.string(),
22
+ });
23
+ const apiUserSchema = z.object({
24
+ userId: z.string(),
25
+ userName: z.string(),
26
+ userPriority: z.number(),
27
+ ip: z.string(),
28
+ });
29
+ const apiStringUserSchema = z.object({
30
+ userId: z.string(),
31
+ userName: z.string(),
32
+ userPriority: z.string(),
33
+ });
34
+ export var PlaneTrackerWsEvents;
35
+ (function (PlaneTrackerWsEvents) {
36
+ PlaneTrackerWsEvents["FLIGHT_LIST"] = "FLIGHT_LIST";
37
+ PlaneTrackerWsEvents["CAMERA_POSITION"] = "CAMERA_POSITION";
38
+ PlaneTrackerWsEvents["TRACKING_START"] = "TRACKING_START";
39
+ PlaneTrackerWsEvents["TRACKING_STOP"] = "TRACKING_STOP";
40
+ PlaneTrackerWsEvents["USER_ACTION"] = "USER_ACTION";
41
+ PlaneTrackerWsEvents["CONNECTED_USERS"] = "CONNECTED_USERS";
42
+ PlaneTrackerWsEvents["FORCE_TRACKING_STATUS"] = "FORCE_TRACKING_STATUS";
43
+ })(PlaneTrackerWsEvents || (PlaneTrackerWsEvents = {}));
44
+ export var PlaneTrackerUserActions;
45
+ (function (PlaneTrackerUserActions) {
46
+ PlaneTrackerUserActions["TRACK_ICAO"] = "trackIcao.cgi";
47
+ PlaneTrackerUserActions["RESET_ICAO"] = "resetIcao.cgi";
48
+ PlaneTrackerUserActions["SET_PRIORITY_LIST"] = "setPriorityList.cgi";
49
+ PlaneTrackerUserActions["SET_TYPE_PRIORITY_LIST"] = "setTypePriorityList.cgi";
50
+ PlaneTrackerUserActions["SET_BLACK_LIST"] = "setBlackList.cgi";
51
+ PlaneTrackerUserActions["SET_WHITE_LIST"] = "setWhiteList.cgi";
52
+ PlaneTrackerUserActions["GO_TO_COORDINATES"] = "goToCoordinates.cgi";
53
+ PlaneTrackerUserActions["SET_TRACKING_MODE"] = "setTrackingMode.cgi";
54
+ PlaneTrackerUserActions["SET_ZONES"] = "setZones.cgi";
55
+ PlaneTrackerUserActions["RESET_PTZ_CALIBRATION"] = "resetPtzCalibration.cgi";
56
+ PlaneTrackerUserActions["LOCK_API"] = "lockApi.cgi";
57
+ PlaneTrackerUserActions["UNLOCK_API"] = "unlockApi.cgi";
58
+ })(PlaneTrackerUserActions || (PlaneTrackerUserActions = {}));
59
+ export const planeTrackerUserActionData = z.discriminatedUnion('cgi', [
60
+ z.object({
61
+ cgi: z.literal(PlaneTrackerUserActions.TRACK_ICAO),
62
+ ip: z.string(),
63
+ params: apiStringUserSchema.extend({
64
+ icao: z.string(),
65
+ }),
66
+ }),
67
+ z.object({
68
+ cgi: z.literal(PlaneTrackerUserActions.RESET_ICAO),
69
+ ip: z.string(),
70
+ params: apiStringUserSchema,
71
+ }),
72
+ z.object({
73
+ cgi: z.literal(PlaneTrackerUserActions.SET_PRIORITY_LIST),
74
+ ip: z.string(),
75
+ params: apiStringUserSchema,
76
+ postJsonBody: z.object({
77
+ priorityList: z.array(z.string()),
78
+ }),
79
+ }),
80
+ z.object({
81
+ cgi: z.literal(PlaneTrackerUserActions.SET_TYPE_PRIORITY_LIST),
82
+ ip: z.string(),
83
+ params: apiStringUserSchema,
84
+ postJsonBody: z.object({
85
+ typePriorityList: z.array(z.string()),
86
+ }),
87
+ }),
88
+ z.object({
89
+ cgi: z.literal(PlaneTrackerUserActions.SET_BLACK_LIST),
90
+ ip: z.string(),
91
+ params: apiStringUserSchema,
92
+ postJsonBody: z.object({
93
+ blackList: z.array(z.string()),
94
+ }),
95
+ }),
96
+ z.object({
97
+ cgi: z.literal(PlaneTrackerUserActions.SET_WHITE_LIST),
98
+ ip: z.string(),
99
+ params: apiStringUserSchema,
100
+ postJsonBody: z.object({
101
+ whiteList: z.array(z.string()),
102
+ }),
103
+ }),
104
+ z.object({
105
+ cgi: z.literal(PlaneTrackerUserActions.GO_TO_COORDINATES),
106
+ ip: z.string(),
107
+ params: apiStringUserSchema.extend({
108
+ lat: z.string(),
109
+ lon: z.string(),
110
+ }),
111
+ }),
112
+ z.object({
113
+ cgi: z.literal(PlaneTrackerUserActions.SET_TRACKING_MODE),
114
+ ip: z.string(),
115
+ params: apiStringUserSchema,
116
+ postJsonBody: trackingModeSchema,
117
+ }),
118
+ z.object({
119
+ cgi: z.literal(PlaneTrackerUserActions.SET_ZONES),
120
+ ip: z.string(),
121
+ params: apiStringUserSchema,
122
+ postJsonBody: zonesSchema,
123
+ }),
124
+ z.object({
125
+ cgi: z.literal(PlaneTrackerUserActions.RESET_PTZ_CALIBRATION),
126
+ ip: z.string(),
127
+ params: apiStringUserSchema,
128
+ }),
129
+ z.object({
130
+ cgi: z.literal(PlaneTrackerUserActions.LOCK_API),
131
+ ip: z.string(),
132
+ params: apiStringUserSchema.extend({
133
+ timeout: z.string(),
134
+ }),
135
+ }),
136
+ z.object({
137
+ cgi: z.literal(PlaneTrackerUserActions.UNLOCK_API),
138
+ ip: z.string(),
139
+ params: apiStringUserSchema,
140
+ }),
141
+ ]);
142
+ const ptrEventsDataSchema = z.discriminatedUnion('type', [
143
+ z.object({
144
+ type: z.literal('CAMERA_POSITION'),
145
+ lat: z.number(),
146
+ lon: z.number(),
147
+ azimuth: z.number().min(0).max(360),
148
+ elevation: z.number().min(-90).max(90),
149
+ fov: z.number(),
150
+ }),
151
+ z.object({
152
+ type: z.literal('TRACKING_START'),
153
+ icao: z.string(),
154
+ }),
155
+ z.object({
156
+ type: z.literal('TRACKING_STOP'),
157
+ }),
158
+ z.object({
159
+ type: z.literal('FLIGHT_LIST'),
160
+ list: z.array(apiFlightDataSchema),
161
+ }),
162
+ z.object({
163
+ type: z.literal('USER_ACTION'),
164
+ ip: z.string(),
165
+ params: apiStringUserSchema.extend({
166
+ lat: z.string().optional(),
167
+ lon: z.string().optional(),
168
+ timeout: z.string().optional(),
169
+ }),
170
+ cgi: z.enum([
171
+ PlaneTrackerUserActions.TRACK_ICAO,
172
+ PlaneTrackerUserActions.RESET_ICAO,
173
+ PlaneTrackerUserActions.SET_PRIORITY_LIST,
174
+ PlaneTrackerUserActions.SET_TYPE_PRIORITY_LIST,
175
+ PlaneTrackerUserActions.SET_BLACK_LIST,
176
+ PlaneTrackerUserActions.SET_WHITE_LIST,
177
+ PlaneTrackerUserActions.GO_TO_COORDINATES,
178
+ PlaneTrackerUserActions.SET_TRACKING_MODE,
179
+ PlaneTrackerUserActions.SET_ZONES,
180
+ PlaneTrackerUserActions.RESET_PTZ_CALIBRATION,
181
+ PlaneTrackerUserActions.LOCK_API,
182
+ PlaneTrackerUserActions.UNLOCK_API,
183
+ ]),
184
+ postJsonBody: z.any(),
185
+ }),
186
+ z.object({
187
+ type: z.literal('CONNECTED_USERS'),
188
+ users: z.array(apiUserSchema),
189
+ }),
190
+ z.object({
191
+ type: z.literal('FORCE_TRACKING_STATUS'),
192
+ enabled: z.boolean(),
193
+ icao: z.string().optional(),
194
+ }),
195
+ z.object({
196
+ type: z.literal('API_LOCK_STATUS'),
197
+ isLocked: z.boolean(),
198
+ user: apiUserSchema.optional(),
199
+ }),
200
+ ]);
201
+ export const ptrEventsSchema = z.discriminatedUnion('type', [
202
+ z.object({ type: z.literal('init'), data: ptrEventsDataSchema }),
203
+ ...ptrEventsDataSchema.options,
204
+ ]);
@@ -1,18 +1,32 @@
1
1
  import { addParametersToPath } from '../internal/utils';
2
2
  export class DefaultClient {
3
- get = (...params) => {
4
- const [url, parameters, headers] = params;
5
- return fetch(addParametersToPath(url, parameters), {
3
+ domain;
4
+ constructor(domain = '') {
5
+ this.domain = domain;
6
+ }
7
+ get = (params) => {
8
+ return this.fetchWithTimeout(addParametersToPath(params.path, params.parameters), {
6
9
  method: 'GET',
7
- headers: headers,
8
- });
10
+ headers: params.headers,
11
+ }, params.timeout);
9
12
  };
10
- post = (...params) => {
11
- const [url, data, parameters, headers] = params;
12
- return fetch(addParametersToPath(url, parameters), {
13
+ post = (params) => {
14
+ return this.fetchWithTimeout(addParametersToPath(params.path, params.parameters), {
13
15
  method: 'POST',
14
- body: data,
15
- headers: headers,
16
- });
16
+ body: params.data,
17
+ headers: params.headers,
18
+ }, params.timeout);
17
19
  };
20
+ async fetchWithTimeout(path, options, timeout) {
21
+ const controller = new AbortController();
22
+ const timeoutId = timeout !== undefined ? setTimeout(() => controller.abort(), timeout) : null;
23
+ try {
24
+ return await fetch(`${this.domain}${path}`, { ...options, signal: controller.signal });
25
+ }
26
+ finally {
27
+ if (timeoutId) {
28
+ clearTimeout(timeoutId);
29
+ }
30
+ }
31
+ }
18
32
  }
@@ -1,13 +1,11 @@
1
- const REFRESH_TIMEOUT = 5_000;
1
+ const REFRESH_TIMEOUT = 5000;
2
2
  export class WsClient {
3
3
  getUrl;
4
- getAuthToken;
5
4
  isDestroyed = false;
6
5
  ws = null;
7
6
  restartTimeout = null;
8
- constructor(getUrl, getAuthToken) {
7
+ constructor(getUrl) {
9
8
  this.getUrl = getUrl;
10
- this.getAuthToken = getAuthToken;
11
9
  }
12
10
  init() {
13
11
  if (this.isDestroyed) {
@@ -15,32 +13,32 @@ export class WsClient {
15
13
  }
16
14
  this.destroyWebsocket();
17
15
  const ws = new WebSocket(this.getUrl(), 'events');
18
- ws.onopen = async () => {
19
- try {
20
- const token = await this.getAuthToken();
21
- ws.send(JSON.stringify({ authorization: token }));
22
- }
23
- catch (error) {
24
- console.error('Error sending auth token:', error);
25
- ws.close();
26
- }
27
- };
28
- ws.onmessage = (e) => this.onmessage(e);
16
+ ws.binaryType = 'arraybuffer';
17
+ ws.onopen = () => this.onOpen();
18
+ ws.onmessage = (e) => this.onMessage(e.data);
29
19
  ws.onclose = () => {
30
- this.restartTimeout = setTimeout(() => this.init(), REFRESH_TIMEOUT);
20
+ this.restartTimeout = window.setTimeout(() => this.init(), REFRESH_TIMEOUT);
31
21
  };
32
22
  this.ws = ws;
33
23
  }
34
24
  send = (msg) => {
35
25
  this.ws?.send(msg);
36
26
  };
37
- onmessage = (_) => { };
27
+ onMessage = (_) => { };
28
+ onOpen = () => { };
29
+ onClose = () => { };
30
+ onError = (error) => {
31
+ console.error(error);
32
+ };
33
+ reconnect = () => {
34
+ this.ws?.close();
35
+ };
38
36
  destroy = () => {
39
37
  this.isDestroyed = true;
40
38
  this.destroyWebsocket();
41
39
  };
42
40
  destroyWebsocket() {
43
- if (this.restartTimeout) {
41
+ if (this.restartTimeout !== null) {
44
42
  clearTimeout(this.restartTimeout);
45
43
  this.restartTimeout = null;
46
44
  }
@@ -0,0 +1,20 @@
1
+ import { WsEvents } from '../internal/WsEvents';
2
+ import { coEventsSchema } from '../types/ws/CamOverlayEvents';
3
+ export class CamOverlayEvents extends WsEvents {
4
+ getAuthToken;
5
+ constructor(ws, getAuthToken) {
6
+ super((data) => coEventsSchema.parse(data), ws);
7
+ this.getAuthToken = getAuthToken;
8
+ this.ws.onOpen = this.sendInitMsg;
9
+ }
10
+ sendInitMsg = async () => {
11
+ try {
12
+ const token = await this.getAuthToken();
13
+ this.ws.send(JSON.stringify({ authorization: token }));
14
+ }
15
+ catch (error) {
16
+ console.error('Error on open:', error);
17
+ this.ws.reconnect();
18
+ }
19
+ };
20
+ }
@@ -0,0 +1,20 @@
1
+ import { WsEvents } from '../internal/WsEvents';
2
+ import { csEventsSchema } from '../types/ws/CamStreamerEvents';
3
+ export class CamStreamerEvents extends WsEvents {
4
+ getAuthToken;
5
+ constructor(ws, getAuthToken) {
6
+ super((data) => csEventsSchema.parse(data), ws);
7
+ this.getAuthToken = getAuthToken;
8
+ this.ws.onOpen = this.sendInitMsg;
9
+ }
10
+ sendInitMsg = async () => {
11
+ try {
12
+ const token = await this.getAuthToken();
13
+ this.ws.send(JSON.stringify({ authorization: token }));
14
+ }
15
+ catch (error) {
16
+ console.error('Error on open:', error);
17
+ this.ws.reconnect();
18
+ }
19
+ };
20
+ }
@@ -0,0 +1,20 @@
1
+ import { WsEvents } from '../internal/WsEvents';
2
+ import { cswEventsSchema } from '../types/ws/CamSwitcherEvents';
3
+ export class CamSwitcherEvents extends WsEvents {
4
+ getAuthToken;
5
+ constructor(ws, getAuthToken) {
6
+ super((data) => cswEventsSchema.parse(data), ws);
7
+ this.getAuthToken = getAuthToken;
8
+ this.ws.onOpen = this.sendInitMsg;
9
+ }
10
+ sendInitMsg = async () => {
11
+ try {
12
+ const token = await this.getAuthToken();
13
+ this.ws.send(JSON.stringify({ authorization: token }));
14
+ }
15
+ catch (error) {
16
+ console.error('Error on open:', error);
17
+ this.ws.reconnect();
18
+ }
19
+ };
20
+ }
@@ -0,0 +1,26 @@
1
+ import { WsEvents } from '../internal/WsEvents';
2
+ import { PlaneTrackerWsEvents, planeTrackerUserActionData, ptrEventsSchema, } from '../types/ws/PlaneTrackerEvents';
3
+ export class PlaneTrackerEvents extends WsEvents {
4
+ _apiUser;
5
+ constructor(ws, _apiUser) {
6
+ super((data) => {
7
+ const parsedData = ptrEventsSchema.parse(data);
8
+ if (parsedData.type === PlaneTrackerWsEvents.USER_ACTION) {
9
+ const { type, ...actionData } = parsedData;
10
+ const userAction = planeTrackerUserActionData.parse(actionData);
11
+ return { ...userAction, type };
12
+ }
13
+ return parsedData;
14
+ }, ws);
15
+ this._apiUser = _apiUser;
16
+ this.ws.onOpen = this.sendInitMsg;
17
+ }
18
+ sendInitMsg = () => {
19
+ this.ws.send(JSON.stringify({
20
+ type: 'USER_INFO',
21
+ userId: this._apiUser.userId,
22
+ userName: this._apiUser.userName,
23
+ userPriority: this._apiUser.userPriority,
24
+ }));
25
+ };
26
+ }
package/package.json CHANGED
@@ -1,21 +1,20 @@
1
1
  {
2
2
  "name": "camstreamerlib",
3
- "version": "4.0.0-beta.13",
3
+ "version": "4.0.0-beta.130",
4
4
  "description": "Helper library for CamStreamer ACAP applications.",
5
5
  "prettier": "@camstreamer/prettier-config",
6
+ "engine": {
7
+ "node": ">=18.0.0"
8
+ },
6
9
  "dependencies": {
7
10
  "adm-zip": "^0.5.9",
8
11
  "eventemitter2": "^5.0.1",
9
12
  "fast-xml-parser": "^5.2.5",
10
13
  "lodash": "^4.17.21",
11
- "prettify-xml": "^1.2.0",
12
14
  "type-fest": "^4.41.0",
13
15
  "undici": "^6.21.3",
14
16
  "ws": "^8.18.0",
15
- "zod": "^3.24.3"
16
- },
17
- "engine": {
18
- "node": ">=18.0.0"
17
+ "zod": "^3.25.76"
19
18
  },
20
19
  "devDependencies": {
21
20
  "@camstreamer/eslint-config": "^1.0.2",
@@ -23,7 +22,7 @@
23
22
  "@types/adm-zip": "^0.5.5",
24
23
  "@types/jest": "^28.0.0",
25
24
  "@types/lodash": "^4.17.18",
26
- "@types/node": "^18.19.39",
25
+ "@types/node": "^18.19.127",
27
26
  "@types/ws": "^8.5.10",
28
27
  "@typescript-eslint/eslint-plugin": "^6.8.0",
29
28
  "@typescript-eslint/parser": "^6.8.0",
@@ -43,17 +42,52 @@
43
42
  "build:cjs": "tsc --project tsconfig.cjs.json",
44
43
  "build:esm": "tsc --project tsconfig.esm.json",
45
44
  "copyPackage": "cp -f LICENSE dist/ && cp -f README.md dist/ && cp -f package.json dist/",
46
- "prepublish": "npm run build",
47
45
  "lint": "eslint \"src/**/*.ts\"",
48
46
  "lint:fix": "eslint \"src/**/*.ts\" --fix",
49
47
  "pretty": "prettier --write \"./{{src,doc}/**/*.{ts,tsx,md},README.md}\"",
50
48
  "pretty:check": "prettier --check \"./{{src,doc}/**/*.{ts,tsx,md},README.md}\"",
51
- "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js"
49
+ "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
50
+ "audit": "npm audit --audit-level=high"
52
51
  },
53
52
  "files": [
54
53
  "/**/*.js",
55
54
  "/**/*.ts"
56
55
  ],
56
+ "main": "./cjs/index.js",
57
+ "module": "./esm/index.js",
58
+ "types": "types/index.d.ts",
59
+ "exports": {
60
+ ".": {
61
+ "import": "./esm/index.js",
62
+ "require": "./cjs/index.js",
63
+ "types": "./types/index.d.ts"
64
+ },
65
+ "./web": {
66
+ "import": "./esm/web/index.js",
67
+ "require": "./cjs/web/index.js",
68
+ "types": "./types/web/index.d.ts"
69
+ },
70
+ "./node": {
71
+ "import": "./esm/node/index.js",
72
+ "require": "./cjs/node/index.js",
73
+ "types": "./types/node/index.d.ts"
74
+ },
75
+ "./cjs/index": {
76
+ "import": "./esm/index.js",
77
+ "require": "./cjs/index.js",
78
+ "types": "./types/index.d.ts"
79
+ },
80
+ "./cjs/node": {
81
+ "import": "./esm/node/index.js",
82
+ "require": "./cjs/node/index.js",
83
+ "types": "./types/node/index.js"
84
+ },
85
+ "./cjs/node/index": {
86
+ "import": "./esm/node/index.js",
87
+ "require": "./cjs/node/index.js",
88
+ "types": "./types/node/index.js"
89
+ }
90
+ },
57
91
  "repository": {
58
92
  "type": "git",
59
93
  "url": "git+https://github.com/CamStreamer/CamStreamerLib.git"