camstreamerlib 4.0.0-beta.7 → 4.0.0-beta.70

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 (302) 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 +62 -14
  7. package/cjs/CamStreamerAPI.js +82 -39
  8. package/cjs/CamSwitcherAPI.d.ts +158 -43
  9. package/cjs/CamSwitcherAPI.js +138 -122
  10. package/cjs/PlaneTrackerAPI.d.ts +233 -0
  11. package/cjs/PlaneTrackerAPI.js +247 -0
  12. package/cjs/VapixAPI.d.ts +94 -42
  13. package/cjs/VapixAPI.js +323 -233
  14. package/cjs/{CreatePackage.js → bin/CreatePackage.js} +44 -18
  15. package/cjs/errors/errors.d.ts +61 -4
  16. package/cjs/errors/errors.js +134 -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} +15 -14
  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.d.ts +180 -47
  93. package/cjs/types/CamStreamerAPI.js +34 -3
  94. package/cjs/types/CamSwitcherAPI.d.ts +145 -66
  95. package/cjs/types/CamSwitcherAPI.js +38 -1
  96. package/cjs/{events → types}/GenetecAgent.d.ts +47 -47
  97. package/cjs/types/GenetecAgent.js +31 -0
  98. package/cjs/types/PlaneTrackerAPI.d.ts +952 -0
  99. package/cjs/types/PlaneTrackerAPI.js +320 -0
  100. package/cjs/types/VapixAPI.d.ts +254 -164
  101. package/cjs/types/VapixAPI.js +66 -11
  102. package/cjs/types/VapixEvents.d.ts +15 -0
  103. package/cjs/types/VapixEvents.js +2 -0
  104. package/cjs/types/common.d.ts +17 -5
  105. package/cjs/types/common.js +4 -2
  106. package/cjs/types/ws/CamOverlayEvents.d.ts +88 -0
  107. package/cjs/types/ws/CamOverlayEvents.js +19 -0
  108. package/cjs/types/ws/CamStreamerEvents.d.ts +249 -0
  109. package/cjs/types/ws/CamStreamerEvents.js +32 -0
  110. package/cjs/types/ws/PlaneTrackerEvents.d.ts +1637 -0
  111. package/cjs/types/ws/PlaneTrackerEvents.js +196 -0
  112. package/cjs/web/DefaultClient.d.ts +7 -5
  113. package/cjs/web/DefaultClient.js +26 -10
  114. package/cjs/web/WsClient.d.ts +9 -5
  115. package/cjs/web/WsClient.js +16 -18
  116. package/cjs/ws/CamOverlayEvents.d.ts +8 -0
  117. package/cjs/ws/CamOverlayEvents.js +24 -0
  118. package/cjs/ws/CamStreamerEvents.d.ts +8 -0
  119. package/cjs/ws/CamStreamerEvents.js +24 -0
  120. package/cjs/ws/CamSwitcherEvents.d.ts +8 -0
  121. package/cjs/ws/CamSwitcherEvents.js +24 -0
  122. package/cjs/ws/PlaneTrackerEvents.d.ts +9 -0
  123. package/cjs/ws/PlaneTrackerEvents.js +30 -0
  124. package/esm/CamOverlayAPI.js +135 -92
  125. package/esm/CamScripterAPI.js +50 -40
  126. package/esm/CamStreamerAPI.js +81 -39
  127. package/esm/CamSwitcherAPI.js +136 -120
  128. package/esm/PlaneTrackerAPI.js +243 -0
  129. package/esm/VapixAPI.js +323 -233
  130. package/esm/{CreatePackage.js → bin/CreatePackage.js} +16 -16
  131. package/esm/errors/errors.js +116 -6
  132. package/esm/index.js +20 -4
  133. package/esm/internal/ProxyClient.js +28 -32
  134. package/esm/{CamSwitcherEvents.js → internal/WsEvents.js} +26 -20
  135. package/esm/internal/types.js +1 -0
  136. package/esm/internal/utils.js +11 -1
  137. package/esm/{CamOverlayDrawingAPI.js → node/CamOverlayDrawingAPI.js} +13 -12
  138. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/Frame.js +33 -0
  139. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/Painter.js +2 -13
  140. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/ResourceManager.js +7 -5
  141. package/esm/{CamScripterAPICameraEventsGenerator.js → node/CamScripterAPICameraEventsGenerator.js} +11 -11
  142. package/esm/node/DefaultClient.js +10 -12
  143. package/esm/node/Digest.test.js +11 -0
  144. package/esm/node/HttpRequestSender.js +14 -4
  145. package/esm/node/HttpServer.js +1 -1
  146. package/esm/node/TimeZoneDaemon.js +25 -0
  147. package/esm/{VapixEvents.js → node/VapixEvents.js} +10 -10
  148. package/esm/node/WsClient.js +22 -15
  149. package/esm/{events → node/events}/AxisCameraStationEvents.js +18 -13
  150. package/esm/node/events/GenetecAgent.js +120 -0
  151. package/esm/node/index.js +18 -2
  152. package/esm/types/CamOverlayAPI/CamOverlayAPI.js +76 -0
  153. package/esm/types/CamOverlayAPI/accuweatherSchema.js +44 -0
  154. package/esm/types/CamOverlayAPI/customGraphicsSchema.js +69 -0
  155. package/esm/types/CamOverlayAPI/imagesSchema.js +6 -0
  156. package/esm/types/CamOverlayAPI/index.js +11 -0
  157. package/esm/types/CamOverlayAPI/infotickerSchema.js +23 -0
  158. package/esm/types/CamOverlayAPI/pipSchema.js +36 -0
  159. package/esm/types/CamOverlayAPI/ptzCompassSchema.js +23 -0
  160. package/esm/types/CamOverlayAPI/ptzSchema.js +9 -0
  161. package/esm/types/CamOverlayAPI/scoreBoardSchema.js +129 -0
  162. package/esm/types/CamOverlayAPI/screenSharingSchema.js +5 -0
  163. package/esm/types/CamOverlayAPI/serviceCommonTypes.js +88 -0
  164. package/esm/types/CamOverlayAPI/webCameraSharingSchema.js +5 -0
  165. package/esm/types/CamOverlayDrawingAPI.js +1 -0
  166. package/esm/types/CamOverlayPainter.js +11 -0
  167. package/esm/types/CamScripterAPI.js +23 -7
  168. package/esm/types/CamScripterAPICameraEventsGenerator.js +1 -0
  169. package/esm/types/CamStreamerAPI.js +33 -2
  170. package/esm/types/CamSwitcherAPI.js +38 -1
  171. package/esm/types/GenetecAgent.js +28 -0
  172. package/esm/types/PlaneTrackerAPI.js +317 -0
  173. package/esm/types/VapixAPI.js +65 -10
  174. package/esm/types/VapixEvents.js +1 -0
  175. package/esm/types/common.js +3 -1
  176. package/esm/types/ws/CamOverlayEvents.js +16 -0
  177. package/esm/types/ws/CamStreamerEvents.js +29 -0
  178. package/esm/types/ws/PlaneTrackerEvents.js +193 -0
  179. package/esm/web/DefaultClient.js +26 -10
  180. package/esm/web/WsClient.js +16 -18
  181. package/esm/ws/CamOverlayEvents.js +20 -0
  182. package/esm/ws/CamStreamerEvents.js +20 -0
  183. package/esm/ws/CamSwitcherEvents.js +20 -0
  184. package/esm/ws/PlaneTrackerEvents.js +26 -0
  185. package/package.json +44 -11
  186. package/types/CamOverlayAPI.d.ts +867 -0
  187. package/types/CamScripterAPI.d.ts +46 -0
  188. package/types/CamStreamerAPI.d.ts +64 -0
  189. package/types/CamSwitcherAPI.d.ts +167 -0
  190. package/types/PlaneTrackerAPI.d.ts +233 -0
  191. package/types/VapixAPI.d.ts +118 -0
  192. package/types/bin/CreatePackage.d.ts +1 -0
  193. package/types/errors/errors.d.ts +91 -0
  194. package/types/index.d.ts +27 -0
  195. package/types/internal/ProxyClient.d.ts +10 -0
  196. package/types/internal/WsEvents.d.ts +37 -0
  197. package/types/internal/types.d.ts +47 -0
  198. package/{esm → types}/internal/utils.d.ts +3 -1
  199. package/{esm → types}/internal/versionCompare.d.ts +2 -2
  200. package/types/node/CamOverlayDrawingAPI.d.ts +41 -0
  201. package/{esm → types/node}/CamOverlayPainter/Frame.d.ts +8 -37
  202. package/{esm → types/node}/CamOverlayPainter/Painter.d.ts +5 -21
  203. package/types/node/CamOverlayPainter/ResourceManager.d.ts +15 -0
  204. package/types/node/CamScripterAPICameraEventsGenerator.d.ts +31 -0
  205. package/types/node/DefaultClient.d.ts +16 -0
  206. package/types/node/Digest.test.d.ts +1 -0
  207. package/{esm → types}/node/HttpRequestSender.d.ts +1 -0
  208. package/{esm → types}/node/HttpServer.d.ts +1 -1
  209. package/types/node/TimeZoneDaemon.d.ts +6 -0
  210. package/types/node/VapixEvents.d.ts +16 -0
  211. package/types/node/WsClient.d.ts +30 -0
  212. package/types/node/events/AxisCameraStationEvents.d.ts +12 -0
  213. package/types/node/events/GenetecAgent.d.ts +16 -0
  214. package/types/node/index.d.ts +18 -0
  215. package/types/types/CamOverlayAPI/CamOverlayAPI.d.ts +4330 -0
  216. package/types/types/CamOverlayAPI/accuweatherSchema.d.ts +84 -0
  217. package/types/types/CamOverlayAPI/customGraphicsSchema.d.ts +700 -0
  218. package/types/types/CamOverlayAPI/imagesSchema.d.ts +95 -0
  219. package/types/types/CamOverlayAPI/index.d.ts +11 -0
  220. package/types/types/CamOverlayAPI/infotickerSchema.d.ts +96 -0
  221. package/types/types/CamOverlayAPI/pipSchema.d.ts +125 -0
  222. package/types/types/CamOverlayAPI/ptzCompassSchema.d.ts +96 -0
  223. package/types/types/CamOverlayAPI/ptzSchema.d.ts +118 -0
  224. package/types/types/CamOverlayAPI/scoreBoardSchema.d.ts +357 -0
  225. package/types/types/CamOverlayAPI/screenSharingSchema.d.ts +58 -0
  226. package/types/types/CamOverlayAPI/serviceCommonTypes.d.ts +145 -0
  227. package/types/types/CamOverlayAPI/webCameraSharingSchema.d.ts +58 -0
  228. package/types/types/CamOverlayDrawingAPI.d.ts +48 -0
  229. package/types/types/CamOverlayPainter.d.ts +76 -0
  230. package/types/types/CamScripterAPI.d.ts +130 -0
  231. package/types/types/CamScripterAPICameraEventsGenerator.d.ts +45 -0
  232. package/types/types/CamStreamerAPI.d.ts +272 -0
  233. package/{esm → types}/types/CamSwitcherAPI.d.ts +145 -66
  234. package/{esm/events → types/types}/GenetecAgent.d.ts +47 -47
  235. package/types/types/PlaneTrackerAPI.d.ts +952 -0
  236. package/{esm → types}/types/VapixAPI.d.ts +254 -164
  237. package/types/types/VapixEvents.d.ts +15 -0
  238. package/{esm → types}/types/common.d.ts +17 -5
  239. package/types/types/ws/CamOverlayEvents.d.ts +88 -0
  240. package/types/types/ws/CamStreamerEvents.d.ts +249 -0
  241. package/types/types/ws/PlaneTrackerEvents.d.ts +1637 -0
  242. package/types/web/DefaultClient.d.ts +8 -0
  243. package/types/web/WsClient.d.ts +17 -0
  244. package/types/ws/CamOverlayEvents.d.ts +8 -0
  245. package/types/ws/CamStreamerEvents.d.ts +8 -0
  246. package/types/ws/CamSwitcherEvents.d.ts +8 -0
  247. package/types/ws/PlaneTrackerEvents.d.ts +9 -0
  248. package/cjs/CamOverlayDrawingAPI.d.ts +0 -86
  249. package/cjs/CamOverlayPainter/ResourceManager.d.ts +0 -14
  250. package/cjs/CamOverlayPainter/ResourceManager.js +0 -46
  251. package/cjs/CamScripterAPICameraEventsGenerator.d.ts +0 -74
  252. package/cjs/CamSwitcherEvents.d.ts +0 -18
  253. package/cjs/VapixEvents.d.ts +0 -43
  254. package/cjs/events/AxisCameraStationEvents.d.ts +0 -9
  255. package/cjs/events/AxisCameraStationEvents.js +0 -48
  256. package/cjs/events/GenetecAgent.js +0 -123
  257. package/cjs/internal/common.d.ts +0 -39
  258. package/cjs/internal/common.js +0 -27
  259. package/cjs/node/WsEventClient.d.ts +0 -13
  260. package/cjs/node/WsEventClient.js +0 -22
  261. package/cjs/types/CamOverlayAPI.d.ts +0 -188
  262. package/cjs/types/CamOverlayAPI.js +0 -47
  263. package/esm/CamOverlayAPI.d.ts +0 -31
  264. package/esm/CamOverlayDrawingAPI.d.ts +0 -86
  265. package/esm/CamOverlayPainter/ResourceManager.d.ts +0 -14
  266. package/esm/CamScripterAPI.d.ts +0 -19
  267. package/esm/CamScripterAPICameraEventsGenerator.d.ts +0 -74
  268. package/esm/CamStreamerAPI.d.ts +0 -16
  269. package/esm/CamSwitcherAPI.d.ts +0 -52
  270. package/esm/CamSwitcherEvents.d.ts +0 -18
  271. package/esm/VapixAPI.d.ts +0 -66
  272. package/esm/VapixEvents.d.ts +0 -43
  273. package/esm/errors/errors.d.ts +0 -34
  274. package/esm/events/AxisCameraStationEvents.d.ts +0 -9
  275. package/esm/events/GenetecAgent.js +0 -119
  276. package/esm/index.d.ts +0 -11
  277. package/esm/internal/ProxyClient.d.ts +0 -11
  278. package/esm/internal/common.d.ts +0 -39
  279. package/esm/internal/common.js +0 -20
  280. package/esm/node/DefaultClient.d.ts +0 -15
  281. package/esm/node/WsClient.d.ts +0 -39
  282. package/esm/node/WsEventClient.d.ts +0 -13
  283. package/esm/node/WsEventClient.js +0 -18
  284. package/esm/types/CamOverlayAPI.d.ts +0 -188
  285. package/esm/types/CamOverlayAPI.js +0 -44
  286. package/esm/types/CamScripterAPI.d.ts +0 -67
  287. package/esm/types/CamStreamerAPI.d.ts +0 -139
  288. package/esm/web/DefaultClient.d.ts +0 -6
  289. package/esm/web/WsClient.d.ts +0 -13
  290. package/esm/web/index.d.ts +0 -2
  291. /package/cjs/{CreatePackage.d.ts → bin/CreatePackage.d.ts} +0 -0
  292. /package/cjs/{internal → node}/Digest.d.ts +0 -0
  293. /package/{esm/CreatePackage.d.ts → cjs/node/Digest.test.d.ts} +0 -0
  294. /package/cjs/types/{CamSwitcherEvents.d.ts → ws/CamSwitcherEvents.d.ts} +0 -0
  295. /package/cjs/types/{CamSwitcherEvents.js → ws/CamSwitcherEvents.js} +0 -0
  296. /package/esm/{internal → node}/Digest.js +0 -0
  297. /package/esm/types/{CamSwitcherEvents.js → ws/CamSwitcherEvents.js} +0 -0
  298. /package/{esm → types}/internal/constants.d.ts +0 -0
  299. /package/{esm → types}/internal/transformers.d.ts +0 -0
  300. /package/{esm/internal → types/node}/Digest.d.ts +0 -0
  301. /package/{esm/types → types/types/ws}/CamSwitcherEvents.d.ts +0 -0
  302. /package/{esm/node → types/web}/index.d.ts +0 -0
@@ -0,0 +1,23 @@
1
+ import { z } from 'zod';
2
+ import { serviceNames, fontSchema, languageSchema, weatherUnitSchema, serviceCommonSchema } from './serviceCommonTypes';
3
+ export const infoTickerSchema = serviceCommonSchema.extend({
4
+ name: z.literal(serviceNames.infoticker),
5
+ showClock: z.union([z.literal(0), z.literal(1)]),
6
+ clockType: z.union([z.literal('12h'), z.literal('24h')]),
7
+ textColor: z.string(),
8
+ bgColor: z.string(),
9
+ weatherLocation: z.string(),
10
+ weatherLocationName: z.string(),
11
+ weatherLang: languageSchema,
12
+ weatherUnits: weatherUnitSchema,
13
+ numberOfLines: z.number().positive(),
14
+ switchingTime: z.number().nonnegative(),
15
+ crawlLeft: z.boolean(),
16
+ crawlSpeed: z.number(),
17
+ coordSystem: z.union([z.literal('top'), z.literal('bottom')]),
18
+ pos_y: z.number(),
19
+ font: fontSchema,
20
+ fontSize: z.number().nonnegative(),
21
+ sourceType: z.union([z.literal('text'), z.literal('url')]),
22
+ source: z.string(),
23
+ });
@@ -0,0 +1,36 @@
1
+ import { z } from 'zod';
2
+ import { serviceNames, coordinateSystemSchema, serviceCommonSchema } from './serviceCommonTypes';
3
+ export const pipSchema = serviceCommonSchema.extend({
4
+ name: z.literal(serviceNames.pip),
5
+ coordSystem: coordinateSystemSchema,
6
+ pos_x: z.number(),
7
+ pos_y: z.number(),
8
+ fps: z.number(),
9
+ compression: z.number().nonnegative(),
10
+ screenSize: z.number().nonnegative(),
11
+ source_type: z.union([z.literal('axis_camera'), z.literal('mjpeg_url')]),
12
+ mjpeg_url: z.union([z.string().url(), z.literal('')]),
13
+ camera_ip: z.union([z.string().ip(), z.literal('')]),
14
+ camera_port: z.number().nonnegative(),
15
+ camera_user: z.string(),
16
+ camera_pass: z.string(),
17
+ camera_width: z.number().nonnegative(),
18
+ camera_height: z.number().nonnegative(),
19
+ camera_view_area: z.string(),
20
+ camera_overlay_params: z.union([
21
+ z.literal('overlays=off'),
22
+ z.literal('overlays=all'),
23
+ z.literal('overlays=text'),
24
+ z.literal('overlays=image'),
25
+ z.literal('overlays=application'),
26
+ ]),
27
+ rotate: z.union([z.literal(0), z.literal(90), z.literal(180), z.literal(270)]).default(0),
28
+ dewarping: z.object({
29
+ enabled: z.boolean(),
30
+ rectangle: z.array(z.tuple([z.number(), z.number()])),
31
+ aspectRatioCorrection: z.number(),
32
+ }),
33
+ borderColor: z.string(),
34
+ borderWidth: z.number(),
35
+ scale: z.number(),
36
+ });
@@ -0,0 +1,23 @@
1
+ import { z } from 'zod';
2
+ import { serviceNames, coordinateSystemSchema, serviceCommonSchema } from './serviceCommonTypes';
3
+ export const ptzCompassSchema = serviceCommonSchema.extend({
4
+ name: z.literal(serviceNames.ptzCompass),
5
+ pos_x: z.number(),
6
+ pos_y: z.number(),
7
+ coordSystem: coordinateSystemSchema,
8
+ scale: z.number().nonnegative(),
9
+ type: z.union([z.literal('compass'), z.literal('map'), z.literal('image')]),
10
+ image: z.union([z.string().url(), z.literal('')]),
11
+ northPan: z.number(),
12
+ cameraPosX: z.number(),
13
+ cameraPosY: z.number(),
14
+ colorScheme: z.enum(['black', 'white', 'orange']),
15
+ generalLng: z.number().optional(),
16
+ generalLat: z.number().optional(),
17
+ generalZoom: z.number().nonnegative().optional(),
18
+ generalMapType: z.string().optional(),
19
+ generalIframeWidth: z.number().optional(),
20
+ generalIframeHeight: z.number().optional(),
21
+ generalAddress: z.string().optional(),
22
+ showDegrees: z.boolean().default(false),
23
+ });
@@ -0,0 +1,9 @@
1
+ import { z } from 'zod';
2
+ import { serviceNames, overlaySchema, serviceCommonSchema } from './serviceCommonTypes';
3
+ export const ptzSchema = serviceCommonSchema.extend({
4
+ name: z.literal(serviceNames.ptz),
5
+ ptz_positions: z.record(z.string(), z.object({
6
+ overlayList: z.array(overlaySchema.omit({ active: true, fps: true })),
7
+ loop: z.boolean(),
8
+ })),
9
+ });
@@ -0,0 +1,129 @@
1
+ import { z } from 'zod';
2
+ import { coordinateSystemSchema, serviceNames } from './serviceCommonTypes';
3
+ export const sportFontSchema = z.union([
4
+ z.literal('classic'),
5
+ z.custom((val) => {
6
+ return typeof val === 'string';
7
+ }),
8
+ ]);
9
+ export const scoreBoardSchema = z.object({
10
+ id: z.number().nonnegative(),
11
+ enabled: z.union([z.literal(0), z.literal(1)]),
12
+ schedule: z.string().optional(),
13
+ cameraList: z.array(z.number()),
14
+ zIndex: z.number().nonnegative(),
15
+ name: z.literal(serviceNames.scoreBoard),
16
+ pos_x: z.number(),
17
+ pos_y: z.number(),
18
+ coordSystem: coordinateSystemSchema,
19
+ width: z.number(),
20
+ height: z.number(),
21
+ scale: z.number(),
22
+ teamHomeShortname: z.string(),
23
+ teamGuestShortname: z.string(),
24
+ teamHomeBackgroundColor: z.string(),
25
+ teamGuestBackgroundColor: z.string(),
26
+ teamHomeTextColor: z.string(),
27
+ teamGuestTextColor: z.string(),
28
+ teamHomeImgPath: z.string(),
29
+ teamGuestImgPath: z.string(),
30
+ teamHomeCurrentScore: z.number(),
31
+ teamGuestCurrentScore: z.number(),
32
+ baseTimeTimestamp: z.number(),
33
+ baseTimePlaytime: z.number(),
34
+ currentPeriodPlaytime: z.number(),
35
+ timeIsRunning: z.boolean(),
36
+ currentPeriodLength: z.number(),
37
+ currentPeriod: z.number(),
38
+ font: sportFontSchema.default('classic'),
39
+ });
40
+ export const baseballScoreBoardSchema = z.object({
41
+ id: z.number().nonnegative(),
42
+ enabled: z.union([z.literal(0), z.literal(1)]),
43
+ schedule: z.string().optional(),
44
+ cameraList: z.array(z.number()),
45
+ zIndex: z.number().nonnegative(),
46
+ name: z.literal(serviceNames.baseballScoreBoard),
47
+ pos_x: z.number(),
48
+ pos_y: z.number(),
49
+ coordSystem: coordinateSystemSchema,
50
+ width: z.number(),
51
+ height: z.number(),
52
+ scale: z.number(),
53
+ matchFinished: z.boolean(),
54
+ bases: z.tuple([z.boolean(), z.boolean(), z.boolean()]),
55
+ homeInning: z.boolean(),
56
+ inning: z.number().nonnegative(),
57
+ outs: z.number().nonnegative(),
58
+ balls: z.number().nonnegative(),
59
+ strikes: z.number().nonnegative(),
60
+ baseTimeTimestamp: z.number(),
61
+ baseTimePlaytime: z.number(),
62
+ timeIsRunning: z.boolean(),
63
+ teamHomeShortname: z.string(),
64
+ teamGuestShortname: z.string(),
65
+ teamHomeBackgroundColor: z.string(),
66
+ teamGuestBackgroundColor: z.string(),
67
+ teamHomeTextColor: z.string(),
68
+ teamGuestTextColor: z.string(),
69
+ teamHomeCurrentScore: z.number(),
70
+ teamGuestCurrentScore: z.number(),
71
+ footerImgPath: z.string().optional(),
72
+ footerText: z.string().optional(),
73
+ footerBackgroundColor: z.string().optional(),
74
+ footerTextColor: z.string().optional(),
75
+ font: sportFontSchema.default('classic'),
76
+ });
77
+ export const baseballScoreBoardAutomaticSchema = z.object({
78
+ id: z.number().nonnegative(),
79
+ enabled: z.union([z.literal(0), z.literal(1)]),
80
+ schedule: z.string().optional(),
81
+ cameraList: z.array(z.number()),
82
+ zIndex: z.number().nonnegative(),
83
+ name: z.literal(serviceNames.myBallBaseballWidgets),
84
+ width: z.number(),
85
+ height: z.number(),
86
+ scale: z.number(),
87
+ matchDetailLink: z.string(),
88
+ matchListLink: z.string(),
89
+ mirrored: z.boolean(),
90
+ pregameWidgetText: z.string(),
91
+ teamHomeBackgroundColor: z.string(),
92
+ teamGuestBackgroundColor: z.string(),
93
+ teamHomeTextColor: z.string(),
94
+ teamGuestTextColor: z.string(),
95
+ homeLogoPath: z.string(),
96
+ guestLogoPath: z.string(),
97
+ footerImgPath: z.string().optional(),
98
+ footerText: z.string().optional(),
99
+ footerBackgroundColor: z.string().optional(),
100
+ footerTextColor: z.string().optional(),
101
+ font: sportFontSchema.default('classic'),
102
+ });
103
+ export const scoreOverviewSchema = z.object({
104
+ id: z.number().nonnegative(),
105
+ enabled: z.union([z.literal(0), z.literal(1)]),
106
+ cameraList: z.array(z.number()),
107
+ zIndex: z.number().nonnegative(),
108
+ name: z.literal(serviceNames.scoreOverview),
109
+ pos_x: z.number(),
110
+ pos_y: z.number(),
111
+ coordSystem: coordinateSystemSchema,
112
+ width: z.number(),
113
+ height: z.number(),
114
+ scale: z.number(),
115
+ teamHomeName: z.string(),
116
+ teamGuestName: z.string(),
117
+ teamHomeBackgroundColor: z.string(),
118
+ teamGuestBackgroundColor: z.string(),
119
+ teamHomeTextColor: z.string(),
120
+ teamGuestTextColor: z.string(),
121
+ teamHomeImgPath: z.string(),
122
+ teamGuestImgPath: z.string(),
123
+ teamHomeCurrentScore: z.number(),
124
+ teamGuestCurrentScore: z.number(),
125
+ scoreVisible: z.boolean(),
126
+ description: z.string(),
127
+ textFont: sportFontSchema.default('classic'),
128
+ scoreFont: z.literal('classic'),
129
+ });
@@ -0,0 +1,5 @@
1
+ import { z } from 'zod';
2
+ import { serviceNames, sharingSchema } from './serviceCommonTypes';
3
+ export const screenSharingSchema = sharingSchema.extend({
4
+ name: z.literal(serviceNames.screenSharing),
5
+ });
@@ -0,0 +1,88 @@
1
+ import { z } from 'zod';
2
+ export const serviceNames = {
3
+ accuweather: 'accuweather',
4
+ infoticker: 'infoticker',
5
+ customGraphics: 'customGraphics',
6
+ ptzCompass: 'ptzCompass',
7
+ images: 'images',
8
+ ptz: 'ptz',
9
+ pip: 'pip',
10
+ screenSharing: 'screenSharing',
11
+ web_camera: 'web_camera',
12
+ scoreBoard: 'scoreBoard',
13
+ baseballScoreBoard: 'baseballScoreBoard',
14
+ myBallBaseballWidgets: 'myBallBaseballWidgets',
15
+ scoreOverview: 'scoreOverview',
16
+ };
17
+ export const coordinateSystemSchema = z.union([
18
+ z.literal('top_left'),
19
+ z.literal('top'),
20
+ z.literal('top_right'),
21
+ z.literal('left'),
22
+ z.literal('center'),
23
+ z.literal('right'),
24
+ z.literal('bottom_left'),
25
+ z.literal('bottom'),
26
+ z.literal('bottom_right'),
27
+ ]);
28
+ export const languageSchema = z.union([
29
+ z.literal('en-us'),
30
+ z.literal('fr-fr'),
31
+ z.literal('ja-jp'),
32
+ z.literal('pt-pt'),
33
+ z.literal('es-es'),
34
+ z.literal('de-de'),
35
+ z.literal('ko-kr'),
36
+ z.literal('zh-hk'),
37
+ z.literal('zh-cn'),
38
+ z.literal('nl-nl'),
39
+ z.literal('cs-cz'),
40
+ z.literal('ru-ru'),
41
+ z.literal('sv-se'),
42
+ ]);
43
+ export const fontSchema = z.union([
44
+ z.literal('classic'),
45
+ z.literal('digital'),
46
+ z.custom((val) => {
47
+ return typeof val === 'string';
48
+ }),
49
+ ]);
50
+ export const weatherUnitSchema = z.union([z.literal('Metric'), z.literal('Imperial')]);
51
+ export const serviceCommonSchema = z.object({
52
+ id: z.number().nonnegative(),
53
+ enabled: z.union([z.literal(0), z.literal(1)]),
54
+ automationType: z.union([
55
+ z.literal('time'),
56
+ z.literal('manual'),
57
+ z.literal('schedule'),
58
+ z.custom((val) => {
59
+ return typeof val === 'string' ? /^input\d+$/.test(val) : false;
60
+ }),
61
+ ]),
62
+ invertInput: z.boolean().optional(),
63
+ cameraList: z.array(z.number()),
64
+ camera: z.number().nonnegative().optional(),
65
+ schedule: z.string().optional(),
66
+ customName: z.string().default(''),
67
+ zIndex: z.number().optional(),
68
+ width: z.number().nonnegative(),
69
+ height: z.number().nonnegative(),
70
+ });
71
+ export const sharingSchema = serviceCommonSchema.extend({
72
+ pos_x: z.number().nonnegative(),
73
+ pos_y: z.number().nonnegative(),
74
+ coordSystem: coordinateSystemSchema,
75
+ screenSize: z.number().positive(),
76
+ fps: z.number(),
77
+ });
78
+ export const overlaySchema = z.object({
79
+ active: z.boolean(),
80
+ coordSystem: coordinateSystemSchema,
81
+ pos_x: z.number(),
82
+ pos_y: z.number(),
83
+ imgPath: z.string(),
84
+ imgName: z.string(),
85
+ duration: z.number(),
86
+ scale: z.number(),
87
+ fps: z.number().optional(),
88
+ });
@@ -0,0 +1,5 @@
1
+ import { z } from 'zod';
2
+ import { serviceNames, sharingSchema } from './serviceCommonTypes';
3
+ export const webCameraSharingSchema = sharingSchema.extend({
4
+ name: z.literal(serviceNames.web_camera),
5
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ export const COORD = {
2
+ top_left: [-1, -1],
3
+ center_left: [-1, 0],
4
+ bottom_left: [-1, 1],
5
+ top_center: [0, -1],
6
+ center: [0, 0],
7
+ bottom_center: [0, 1],
8
+ top_right: [1, -1],
9
+ center_right: [1, 0],
10
+ bottom_right: [1, 1],
11
+ };
@@ -1,17 +1,33 @@
1
1
  import { z } from 'zod';
2
+ import { flashStorageTypeSchema, sdCardStorageTypeSchema, storageTypeSchema } from './common';
3
+ export const nodeStateSchema = z.object({
4
+ node_state: z.union([z.literal('OK'), z.literal('NOT_INSTALLED'), z.literal('NOT_FOUND')]),
5
+ });
2
6
  export const packageInfoListSchema = z.array(z.object({
3
- storage: z.union([z.literal('SD_CARD'), z.literal('INTERNAL')]),
7
+ storage: storageTypeSchema,
4
8
  manifest: z.object({
5
9
  package_name: z.string(),
6
10
  package_menu_name: z.string(),
7
11
  package_version: z.string(),
8
12
  vendor: z.string(),
9
- required_camscripter_version: z.string(),
10
- required_camscripter_rbi_version: z.string(),
13
+ required_camscripter_version: z.string().optional(),
14
+ required_camscripter_rbi_version: z.string().optional(),
11
15
  ui_link: z.string(),
12
16
  }),
13
17
  }));
14
- export const storageSchema = z.array(z.object({
15
- type: z.union([z.literal('INTERNAL'), z.literal('SD_CARD')]),
16
- capacity_mb: z.number(),
17
- }));
18
+ export const packageConfigSchema = z.record(z.string(), z.object({ enabled: z.boolean() }));
19
+ export const cameraStorageSchema = z.union([
20
+ z.tuple([
21
+ z.object({ type: flashStorageTypeSchema, capacity_mb: z.number() }),
22
+ z.object({ type: sdCardStorageTypeSchema, capacity_mb: z.number() }),
23
+ ]),
24
+ z.tuple([z.object({ type: flashStorageTypeSchema, capacity_mb: z.number() })]),
25
+ ]);
26
+ export const camscripterApiResponseSchema = z.object({
27
+ status: z.number(),
28
+ message: z.string(),
29
+ });
30
+ export const cameraTimeResponseSchema = z.object({
31
+ state: z.boolean(),
32
+ code: z.number(),
33
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- export const streamAttributesSchema = z.object({
2
+ export const cameraStreamSchema = z.object({
3
3
  enabled: z.string(),
4
4
  active: z.string(),
5
5
  audioSource: z.string(),
@@ -22,4 +22,35 @@ export const streamAttributesSchema = z.object({
22
22
  startTime: z.string(),
23
23
  stopTime: z.string(),
24
24
  });
25
- export const streamListSchema = z.record(z.string(), streamAttributesSchema);
25
+ export const streamSchema = z.object({
26
+ enabled: z.union([z.literal(0), z.literal(1)]),
27
+ active: z.union([z.literal(0), z.literal(1)]),
28
+ audioSource: z.string(),
29
+ avSyncMsec: z.number().int(),
30
+ internalVapixParameters: z.string(),
31
+ userVapixParameters: z.string(),
32
+ outputParameters: z.string(),
33
+ outputType: z.union([z.literal('video'), z.literal('images'), z.literal('none')]),
34
+ mediaServerUrl: z.string(),
35
+ inputType: z.union([z.literal('CSw'), z.literal('CRS'), z.literal('RTSP_URL')]),
36
+ inputUrl: z.string(),
37
+ forceStereo: z.union([z.literal(0), z.literal(1)]),
38
+ streamDelay: z.number().nullable(),
39
+ statusLed: z.number(),
40
+ statusPort: z.string(),
41
+ callApi: z.number().int(),
42
+ trigger: z.string(),
43
+ schedule: z.string(),
44
+ prepareAhead: z.number().int(),
45
+ startTime: z.number().nullable(),
46
+ stopTime: z.number().nullable(),
47
+ });
48
+ export const cameraStreamResponseSchema = z.object({
49
+ data: cameraStreamSchema,
50
+ code: z.number(),
51
+ message: z.string(),
52
+ });
53
+ export const camstreamerServerResponseSchema = z.object({
54
+ code: z.number(),
55
+ message: z.string(),
56
+ });
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { toCamelCase, toCamelCaseDeep } from '../internal/transformers';
3
- import { storageTypeSchema, keyboardShortcutsSchema, h264ProfileSchema, audioChannelCountSchema, } from './common';
3
+ import { storageTypeSchema, keyboardShortcutsSchema, h264ProfileSchema, audioChannelCountSchema, keyboardShortcutSchema, } from './common';
4
4
  const channelTypeSchema = z.union([z.literal('audio'), z.literal('video'), z.literal('av')]);
5
5
  const playlistPlayTypeSchema = z.union([
6
6
  z.literal('PLAY_ALL'),
@@ -132,3 +132,40 @@ export const clipListSchema = z.object({
132
132
  ])),
133
133
  })),
134
134
  });
135
+ export const bitrateModeSchema = z.union([z.literal('VBR'), z.literal('MBR'), z.literal('ABR')]);
136
+ export const bitrateVapixParamsSchema = z.object({
137
+ bitrateMode: bitrateModeSchema,
138
+ maximumBitRate: z.number(),
139
+ retentionTime: z.number(),
140
+ bitRateLimit: z.number(),
141
+ });
142
+ export const cameraOptionsSchema = bitrateVapixParamsSchema
143
+ .extend({
144
+ resolution: z.string(),
145
+ h264Profile: h264ProfileSchema,
146
+ fps: z.number(),
147
+ compression: z.number().min(0).max(100),
148
+ govLength: z.number(),
149
+ bitrateVapixParams: z.string().nullable(),
150
+ audioSampleRate: z.number(),
151
+ audioChannelCount: audioChannelCountSchema,
152
+ keyboard: z.object({
153
+ fromSource: keyboardShortcutSchema,
154
+ none: keyboardShortcutSchema,
155
+ }),
156
+ })
157
+ .partial();
158
+ export const globalAudioSettingsTypeSchema = z.union([z.literal('fromSource'), z.literal('source')]);
159
+ export const globalAudioSettingsSchema = z.object({
160
+ type: globalAudioSettingsTypeSchema,
161
+ source: z.string(),
162
+ storage: z.string().optional(),
163
+ });
164
+ export const secondaryAudioSettingsSchema = z.object({
165
+ type: z.union([z.literal('CLIP'), z.literal('STREAM'), z.literal('NONE')]),
166
+ streamName: z.string().optional(),
167
+ clipName: z.string().optional(),
168
+ storage: storageTypeSchema,
169
+ secondaryAudioLevel: z.number(),
170
+ masterAudioLevel: z.number(),
171
+ });
@@ -0,0 +1,28 @@
1
+ import { z } from 'zod';
2
+ export const successResponseSchema = z.object({
3
+ Rsp: z.object({
4
+ Status: z.literal('Ok'),
5
+ }),
6
+ });
7
+ export const cameraGuidsResponseSchema = z.object({
8
+ Rsp: z.object({
9
+ Status: z.literal('Ok'),
10
+ Result: z.array(z.object({ Guid: z.string() })),
11
+ }),
12
+ });
13
+ export const cameraDetailSchema = z.object({
14
+ Guid: z.string().optional(),
15
+ Name: z.string().optional(),
16
+ EntityType: z.string().optional(),
17
+ });
18
+ export const cameraDetailsResponseSchema = z.object({
19
+ Rsp: z.object({
20
+ Status: z.literal('Ok'),
21
+ Result: z.union([z.array(cameraDetailSchema), cameraDetailSchema]),
22
+ }),
23
+ });
24
+ export const cameraListSchema = z.array(z.object({
25
+ index: z.number(),
26
+ value: z.string(),
27
+ label: z.string(),
28
+ }));