camstreamerlib 4.0.0-beta.29 → 4.0.0-beta.30

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 (161) hide show
  1. package/README.md +6 -2
  2. package/cjs/CamOverlayAPI.d.ts +38 -615
  3. package/cjs/CamOverlayAPI.js +128 -104
  4. package/cjs/CamOverlayDrawingAPI.d.ts +2 -47
  5. package/cjs/CamOverlayPainter/Frame.d.ts +8 -37
  6. package/cjs/CamOverlayPainter/Frame.js +33 -0
  7. package/cjs/CamOverlayPainter/Painter.d.ts +5 -10
  8. package/cjs/CamOverlayPainter/Painter.js +2 -4
  9. package/cjs/CamOverlayPainter/ResourceManager.d.ts +3 -2
  10. package/cjs/CamOverlayPainter/ResourceManager.js +2 -1
  11. package/cjs/CamScripterAPI.d.ts +12 -12
  12. package/cjs/CamScripterAPI.js +33 -27
  13. package/cjs/CamStreamerAPI.d.ts +11 -9
  14. package/cjs/CamStreamerAPI.js +28 -22
  15. package/cjs/CamSwitcherAPI.d.ts +35 -34
  16. package/cjs/CamSwitcherAPI.js +94 -82
  17. package/cjs/PlaneTrackerAPI.d.ts +30 -36
  18. package/cjs/PlaneTrackerAPI.js +132 -71
  19. package/cjs/VapixAPI.d.ts +43 -40
  20. package/cjs/VapixAPI.js +205 -183
  21. package/cjs/events/AxisCameraStationEvents.d.ts +5 -5
  22. package/cjs/events/AxisCameraStationEvents.js +17 -12
  23. package/cjs/events/GenetecAgent.d.ts +2 -0
  24. package/cjs/events/GenetecAgent.js +15 -4
  25. package/cjs/index.d.ts +7 -1
  26. package/cjs/index.js +12 -2
  27. package/cjs/internal/ProxyClient.d.ts +7 -8
  28. package/cjs/internal/ProxyClient.js +25 -31
  29. package/cjs/internal/types.d.ts +16 -9
  30. package/cjs/internal/utils.d.ts +1 -2
  31. package/cjs/internal/utils.js +1 -5
  32. package/cjs/node/DefaultClient.d.ts +3 -5
  33. package/cjs/node/DefaultClient.js +10 -14
  34. package/cjs/node/HttpRequestSender.d.ts +1 -0
  35. package/cjs/node/HttpRequestSender.js +13 -3
  36. package/cjs/node/WsClient.d.ts +1 -0
  37. package/cjs/node/index.d.ts +2 -0
  38. package/cjs/node/index.js +18 -1
  39. package/cjs/{models/CamOverlayAPI/widgetsSchema.d.ts → types/CamOverlayAPI/CamOverlayAPI.d.ts} +625 -375
  40. package/cjs/{models/CamOverlayAPI/widgetCommonSchema.js → types/CamOverlayAPI/CamOverlayAPI.js} +65 -14
  41. package/cjs/{models → types}/CamOverlayAPI/accuweatherSchema.d.ts +40 -10
  42. package/cjs/{models → types}/CamOverlayAPI/accuweatherSchema.js +11 -9
  43. package/cjs/{models → types}/CamOverlayAPI/customGraphicsSchema.d.ts +89 -5
  44. package/cjs/{models → types}/CamOverlayAPI/customGraphicsSchema.js +9 -7
  45. package/{esm/models → cjs/types}/CamOverlayAPI/imagesSchema.d.ts +40 -13
  46. package/cjs/types/CamOverlayAPI/imagesSchema.js +12 -0
  47. package/cjs/{models → types}/CamOverlayAPI/index.d.ts +0 -4
  48. package/cjs/{models → types}/CamOverlayAPI/index.js +0 -4
  49. package/{esm/models → cjs/types}/CamOverlayAPI/infotickerSchema.d.ts +43 -9
  50. package/cjs/{models → types}/CamOverlayAPI/infotickerSchema.js +10 -8
  51. package/{esm/models → cjs/types}/CamOverlayAPI/pipSchema.d.ts +48 -7
  52. package/cjs/{models → types}/CamOverlayAPI/pipSchema.js +8 -6
  53. package/{esm/models → cjs/types}/CamOverlayAPI/ptzCompassSchema.d.ts +40 -7
  54. package/cjs/{models → types}/CamOverlayAPI/ptzCompassSchema.js +8 -6
  55. package/cjs/{models → types}/CamOverlayAPI/ptzSchema.d.ts +42 -14
  56. package/cjs/types/CamOverlayAPI/ptzSchema.js +15 -0
  57. package/{esm/models → cjs/types}/CamOverlayAPI/screenSharingSchema.d.ts +26 -5
  58. package/cjs/types/CamOverlayAPI/screenSharingSchema.js +11 -0
  59. package/cjs/{models → types}/CamOverlayAPI/webCameraSharingSchema.d.ts +26 -5
  60. package/cjs/types/CamOverlayAPI/webCameraSharingSchema.js +11 -0
  61. package/cjs/types/CamOverlayDrawingAPI.d.ts +58 -0
  62. package/cjs/types/CamOverlayDrawingAPI.js +2 -0
  63. package/cjs/types/CamOverlayPainter.d.ts +74 -0
  64. package/cjs/types/CamOverlayPainter.js +2 -0
  65. package/cjs/types/CamStreamerAPI.d.ts +4 -4
  66. package/cjs/types/PlaneTrackerAPI.d.ts +6 -0
  67. package/cjs/types/common.d.ts +12 -3
  68. package/cjs/web/DefaultClient.d.ts +4 -4
  69. package/cjs/web/DefaultClient.js +21 -11
  70. package/esm/CamOverlayAPI.d.ts +38 -615
  71. package/esm/CamOverlayAPI.js +127 -103
  72. package/esm/CamOverlayDrawingAPI.d.ts +2 -47
  73. package/esm/CamOverlayPainter/Frame.d.ts +8 -37
  74. package/esm/CamOverlayPainter/Frame.js +33 -0
  75. package/esm/CamOverlayPainter/Painter.d.ts +5 -10
  76. package/esm/CamOverlayPainter/Painter.js +1 -2
  77. package/esm/CamOverlayPainter/ResourceManager.d.ts +3 -2
  78. package/esm/CamOverlayPainter/ResourceManager.js +1 -1
  79. package/esm/CamScripterAPI.d.ts +12 -12
  80. package/esm/CamScripterAPI.js +32 -26
  81. package/esm/CamStreamerAPI.d.ts +11 -9
  82. package/esm/CamStreamerAPI.js +28 -22
  83. package/esm/CamSwitcherAPI.d.ts +35 -34
  84. package/esm/CamSwitcherAPI.js +95 -83
  85. package/esm/PlaneTrackerAPI.d.ts +30 -36
  86. package/esm/PlaneTrackerAPI.js +131 -70
  87. package/esm/VapixAPI.d.ts +43 -40
  88. package/esm/VapixAPI.js +204 -182
  89. package/esm/events/AxisCameraStationEvents.d.ts +5 -5
  90. package/esm/events/AxisCameraStationEvents.js +18 -13
  91. package/esm/events/GenetecAgent.d.ts +2 -0
  92. package/esm/events/GenetecAgent.js +15 -4
  93. package/esm/index.d.ts +7 -1
  94. package/esm/index.js +7 -1
  95. package/esm/internal/ProxyClient.d.ts +7 -8
  96. package/esm/internal/ProxyClient.js +25 -31
  97. package/esm/internal/types.d.ts +16 -9
  98. package/esm/internal/utils.d.ts +1 -2
  99. package/esm/internal/utils.js +0 -3
  100. package/esm/node/DefaultClient.d.ts +3 -5
  101. package/esm/node/DefaultClient.js +10 -14
  102. package/esm/node/HttpRequestSender.d.ts +1 -0
  103. package/esm/node/HttpRequestSender.js +13 -3
  104. package/esm/node/WsClient.d.ts +1 -0
  105. package/esm/node/index.d.ts +2 -0
  106. package/esm/node/index.js +2 -0
  107. package/esm/{models/CamOverlayAPI/widgetsSchema.d.ts → types/CamOverlayAPI/CamOverlayAPI.d.ts} +625 -375
  108. package/esm/{models/CamOverlayAPI/widgetCommonSchema.js → types/CamOverlayAPI/CamOverlayAPI.js} +64 -13
  109. package/esm/{models → types}/CamOverlayAPI/accuweatherSchema.d.ts +40 -10
  110. package/esm/{models → types}/CamOverlayAPI/accuweatherSchema.js +3 -2
  111. package/esm/{models → types}/CamOverlayAPI/customGraphicsSchema.d.ts +89 -5
  112. package/esm/{models → types}/CamOverlayAPI/customGraphicsSchema.js +3 -2
  113. package/{cjs/models → esm/types}/CamOverlayAPI/imagesSchema.d.ts +40 -13
  114. package/esm/types/CamOverlayAPI/imagesSchema.js +8 -0
  115. package/esm/{models → types}/CamOverlayAPI/index.d.ts +0 -4
  116. package/esm/{models → types}/CamOverlayAPI/index.js +0 -4
  117. package/{cjs/models → esm/types}/CamOverlayAPI/infotickerSchema.d.ts +43 -9
  118. package/esm/{models → types}/CamOverlayAPI/infotickerSchema.js +3 -2
  119. package/{cjs/models → esm/types}/CamOverlayAPI/pipSchema.d.ts +48 -7
  120. package/esm/{models → types}/CamOverlayAPI/pipSchema.js +3 -2
  121. package/{cjs/models → esm/types}/CamOverlayAPI/ptzCompassSchema.d.ts +40 -7
  122. package/esm/{models → types}/CamOverlayAPI/ptzCompassSchema.js +3 -2
  123. package/esm/{models → types}/CamOverlayAPI/ptzSchema.d.ts +42 -14
  124. package/esm/{models → types}/CamOverlayAPI/ptzSchema.js +3 -2
  125. package/{cjs/models → esm/types}/CamOverlayAPI/screenSharingSchema.d.ts +26 -5
  126. package/esm/types/CamOverlayAPI/screenSharingSchema.js +7 -0
  127. package/esm/{models → types}/CamOverlayAPI/webCameraSharingSchema.d.ts +26 -5
  128. package/esm/types/CamOverlayAPI/webCameraSharingSchema.js +7 -0
  129. package/esm/types/CamOverlayDrawingAPI.d.ts +58 -0
  130. package/esm/types/CamOverlayDrawingAPI.js +1 -0
  131. package/esm/types/CamOverlayPainter.d.ts +74 -0
  132. package/esm/types/CamOverlayPainter.js +1 -0
  133. package/esm/types/CamStreamerAPI.d.ts +4 -4
  134. package/esm/types/PlaneTrackerAPI.d.ts +6 -0
  135. package/esm/types/common.d.ts +12 -3
  136. package/esm/web/DefaultClient.d.ts +4 -4
  137. package/esm/web/DefaultClient.js +21 -11
  138. package/package.json +2 -2
  139. package/cjs/models/CamOverlayAPI/constants.d.ts +0 -11
  140. package/cjs/models/CamOverlayAPI/constants.js +0 -14
  141. package/cjs/models/CamOverlayAPI/fileSchema.d.ts +0 -28
  142. package/cjs/models/CamOverlayAPI/fileSchema.js +0 -17
  143. package/cjs/models/CamOverlayAPI/imagesSchema.js +0 -10
  144. package/cjs/models/CamOverlayAPI/ptzSchema.js +0 -13
  145. package/cjs/models/CamOverlayAPI/screenSharingSchema.js +0 -9
  146. package/cjs/models/CamOverlayAPI/webCameraSharingSchema.js +0 -9
  147. package/cjs/models/CamOverlayAPI/widgetCommonSchema.d.ts +0 -126
  148. package/cjs/models/CamOverlayAPI/widgetsSchema.js +0 -27
  149. package/cjs/types/CamOverlayAPI.d.ts +0 -328
  150. package/cjs/types/CamOverlayAPI.js +0 -26
  151. package/esm/models/CamOverlayAPI/constants.d.ts +0 -11
  152. package/esm/models/CamOverlayAPI/constants.js +0 -11
  153. package/esm/models/CamOverlayAPI/fileSchema.d.ts +0 -28
  154. package/esm/models/CamOverlayAPI/fileSchema.js +0 -14
  155. package/esm/models/CamOverlayAPI/imagesSchema.js +0 -7
  156. package/esm/models/CamOverlayAPI/screenSharingSchema.js +0 -6
  157. package/esm/models/CamOverlayAPI/webCameraSharingSchema.js +0 -6
  158. package/esm/models/CamOverlayAPI/widgetCommonSchema.d.ts +0 -126
  159. package/esm/models/CamOverlayAPI/widgetsSchema.js +0 -24
  160. package/esm/types/CamOverlayAPI.d.ts +0 -328
  161. package/esm/types/CamOverlayAPI.js +0 -14
@@ -1,3 +1,4 @@
1
+ import { TWidget } from './CamOverlayAPI';
1
2
  import { z } from 'zod';
2
3
  export declare const pipSchema: z.ZodObject<{
3
4
  id: z.ZodNumber;
@@ -48,20 +49,20 @@ export declare const pipSchema: z.ZodObject<{
48
49
  scale: z.ZodNumber;
49
50
  }, "strip", z.ZodTypeAny, {
50
51
  name: "pip";
52
+ compression: number;
51
53
  enabled: 0 | 1;
52
54
  id: number;
53
55
  width: number;
54
56
  height: number;
55
57
  fps: number;
58
+ pos_x: number;
59
+ pos_y: number;
56
60
  automationType: "time" | "manual" | "schedule" | `input${number}`;
57
61
  cameraList: number[];
58
62
  customName: string;
59
63
  coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
60
- pos_x: number;
61
- pos_y: number;
62
64
  scale: number;
63
65
  screenSize: number;
64
- compression: number;
65
66
  source_type: "axis_camera" | "mjpeg_url";
66
67
  mjpeg_url: string;
67
68
  camera_ip: string;
@@ -80,26 +81,66 @@ export declare const pipSchema: z.ZodObject<{
80
81
  };
81
82
  borderColor: string;
82
83
  borderWidth: number;
84
+ camera?: number | undefined;
83
85
  schedule?: string | undefined;
84
86
  invertInput?: boolean | undefined;
85
- camera?: number | undefined;
86
87
  zIndex?: number | undefined;
87
88
  }, {
88
89
  name: "pip";
90
+ compression: number;
89
91
  enabled: 0 | 1;
90
92
  id: number;
91
93
  width: number;
92
94
  height: number;
93
95
  fps: number;
96
+ pos_x: number;
97
+ pos_y: number;
94
98
  automationType: "time" | "manual" | "schedule" | `input${number}`;
95
99
  cameraList: number[];
96
100
  customName: string;
97
101
  coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
102
+ scale: number;
103
+ screenSize: number;
104
+ source_type: "axis_camera" | "mjpeg_url";
105
+ mjpeg_url: string;
106
+ camera_ip: string;
107
+ camera_port: number;
108
+ camera_user: string;
109
+ camera_pass: string;
110
+ camera_width: number;
111
+ camera_height: number;
112
+ camera_view_area: string;
113
+ camera_overlay_params: "overlays=off" | "overlays=all" | "overlays=text" | "overlays=image" | "overlays=application";
114
+ rotate: 0 | 90 | 180 | 270;
115
+ dewarping: {
116
+ enabled: boolean;
117
+ rectangle: [number, number][];
118
+ aspectRatioCorrection: number;
119
+ };
120
+ borderColor: string;
121
+ borderWidth: number;
122
+ camera?: number | undefined;
123
+ schedule?: string | undefined;
124
+ invertInput?: boolean | undefined;
125
+ zIndex?: number | undefined;
126
+ }>;
127
+ export type TPip = z.infer<typeof pipSchema>;
128
+ export declare const isPip: (widget: TWidget) => widget is {
129
+ name: "pip";
130
+ compression: number;
131
+ enabled: 0 | 1;
132
+ id: number;
133
+ width: number;
134
+ height: number;
135
+ fps: number;
98
136
  pos_x: number;
99
137
  pos_y: number;
138
+ automationType: "time" | "manual" | "schedule" | `input${number}`;
139
+ cameraList: number[];
140
+ customName: string;
141
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
100
142
  scale: number;
101
143
  screenSize: number;
102
- compression: number;
103
144
  source_type: "axis_camera" | "mjpeg_url";
104
145
  mjpeg_url: string;
105
146
  camera_ip: string;
@@ -118,8 +159,8 @@ export declare const pipSchema: z.ZodObject<{
118
159
  };
119
160
  borderColor: string;
120
161
  borderWidth: number;
162
+ camera?: number | undefined;
121
163
  schedule?: string | undefined;
122
164
  invertInput?: boolean | undefined;
123
- camera?: number | undefined;
124
165
  zIndex?: number | undefined;
125
- }>;
166
+ };
@@ -1,5 +1,5 @@
1
- import { allowedWidgetNames } from './constants';
2
- import { coordinateSystemSchema, widgetCommonSchema } from './widgetCommonSchema';
1
+ import { coordinateSystemSchema, widgetCommonSchema } from './CamOverlayAPI';
2
+ import { allowedWidgetNames } from '../../CamOverlayAPI';
3
3
  import { z } from 'zod';
4
4
  export const pipSchema = widgetCommonSchema.extend({
5
5
  name: z.literal(allowedWidgetNames.pip),
@@ -35,3 +35,4 @@ export const pipSchema = widgetCommonSchema.extend({
35
35
  borderWidth: z.number(),
36
36
  scale: z.number(),
37
37
  });
38
+ export const isPip = (widget) => widget.name === 'pip';
@@ -1,3 +1,4 @@
1
+ import { TWidget } from './CamOverlayAPI';
1
2
  import { z } from 'zod';
2
3
  export declare const ptzCompassSchema: z.ZodObject<{
3
4
  id: z.ZodNumber;
@@ -37,21 +38,21 @@ export declare const ptzCompassSchema: z.ZodObject<{
37
38
  id: number;
38
39
  width: number;
39
40
  height: number;
41
+ pos_x: number;
42
+ pos_y: number;
40
43
  automationType: "time" | "manual" | "schedule" | `input${number}`;
41
44
  cameraList: number[];
42
45
  customName: string;
43
46
  coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
44
- pos_x: number;
45
- pos_y: number;
46
- scale: number;
47
47
  image: string;
48
+ scale: number;
48
49
  northPan: number;
49
50
  cameraPosX: number;
50
51
  cameraPosY: number;
51
52
  colorScheme: "black" | "white" | "orange";
53
+ camera?: number | undefined;
52
54
  schedule?: string | undefined;
53
55
  invertInput?: boolean | undefined;
54
- camera?: number | undefined;
55
56
  zIndex?: number | undefined;
56
57
  generalLng?: number | undefined;
57
58
  generalLat?: number | undefined;
@@ -67,21 +68,53 @@ export declare const ptzCompassSchema: z.ZodObject<{
67
68
  id: number;
68
69
  width: number;
69
70
  height: number;
71
+ pos_x: number;
72
+ pos_y: number;
70
73
  automationType: "time" | "manual" | "schedule" | `input${number}`;
71
74
  cameraList: number[];
72
75
  customName: string;
73
76
  coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
77
+ image: string;
78
+ scale: number;
79
+ northPan: number;
80
+ cameraPosX: number;
81
+ cameraPosY: number;
82
+ colorScheme: "black" | "white" | "orange";
83
+ camera?: number | undefined;
84
+ schedule?: string | undefined;
85
+ invertInput?: boolean | undefined;
86
+ zIndex?: number | undefined;
87
+ generalLng?: number | undefined;
88
+ generalLat?: number | undefined;
89
+ generalZoom?: number | undefined;
90
+ generalMapType?: string | undefined;
91
+ generalIframeWidth?: number | undefined;
92
+ generalIframeHeight?: number | undefined;
93
+ generalAddress?: string | undefined;
94
+ }>;
95
+ export type TPtzCompass = z.infer<typeof ptzCompassSchema>;
96
+ export declare const isPtzCompass: (widget: TWidget) => widget is {
97
+ type: "map" | "image" | "compass";
98
+ name: "ptzCompass";
99
+ enabled: 0 | 1;
100
+ id: number;
101
+ width: number;
102
+ height: number;
74
103
  pos_x: number;
75
104
  pos_y: number;
76
- scale: number;
105
+ automationType: "time" | "manual" | "schedule" | `input${number}`;
106
+ cameraList: number[];
107
+ customName: string;
108
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
77
109
  image: string;
110
+ scale: number;
78
111
  northPan: number;
79
112
  cameraPosX: number;
80
113
  cameraPosY: number;
81
114
  colorScheme: "black" | "white" | "orange";
115
+ camera?: number | undefined;
82
116
  schedule?: string | undefined;
83
117
  invertInput?: boolean | undefined;
84
- camera?: number | undefined;
85
118
  zIndex?: number | undefined;
86
119
  generalLng?: number | undefined;
87
120
  generalLat?: number | undefined;
@@ -90,4 +123,4 @@ export declare const ptzCompassSchema: z.ZodObject<{
90
123
  generalIframeWidth?: number | undefined;
91
124
  generalIframeHeight?: number | undefined;
92
125
  generalAddress?: string | undefined;
93
- }>;
126
+ };
@@ -1,5 +1,5 @@
1
- import { allowedWidgetNames } from './constants';
2
- import { coordinateSystemSchema, widgetCommonSchema } from './widgetCommonSchema';
1
+ import { coordinateSystemSchema, widgetCommonSchema } from './CamOverlayAPI';
2
+ import { allowedWidgetNames } from '../../CamOverlayAPI';
3
3
  import { z } from 'zod';
4
4
  export const ptzCompassSchema = widgetCommonSchema.extend({
5
5
  name: z.literal(allowedWidgetNames.ptzCompass),
@@ -21,3 +21,4 @@ export const ptzCompassSchema = widgetCommonSchema.extend({
21
21
  generalIframeHeight: z.number().optional(),
22
22
  generalAddress: z.string().optional(),
23
23
  });
24
+ export const isPtzCompass = (widget) => widget.name === 'ptzCompass';
@@ -1,3 +1,4 @@
1
+ import { TWidget } from './CamOverlayAPI';
1
2
  import { z } from 'zod';
2
3
  export declare const ptzSchema: z.ZodObject<{
3
4
  id: z.ZodNumber;
@@ -26,43 +27,43 @@ export declare const ptzSchema: z.ZodObject<{
26
27
  fps: z.ZodOptional<z.ZodNumber>;
27
28
  }, "fps" | "active">, "strip", z.ZodTypeAny, {
28
29
  duration: number;
29
- coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
30
30
  pos_x: number;
31
31
  pos_y: number;
32
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
33
+ scale: number;
32
34
  imgPath: string;
33
35
  imgName: string;
34
- scale: number;
35
36
  }, {
36
37
  duration: number;
37
- coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
38
38
  pos_x: number;
39
39
  pos_y: number;
40
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
41
+ scale: number;
40
42
  imgPath: string;
41
43
  imgName: string;
42
- scale: number;
43
44
  }>, "many">;
44
45
  loop: z.ZodBoolean;
45
46
  }, "strip", z.ZodTypeAny, {
46
47
  loop: boolean;
47
48
  overlayList: {
48
49
  duration: number;
49
- coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
50
50
  pos_x: number;
51
51
  pos_y: number;
52
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
53
+ scale: number;
52
54
  imgPath: string;
53
55
  imgName: string;
54
- scale: number;
55
56
  }[];
56
57
  }, {
57
58
  loop: boolean;
58
59
  overlayList: {
59
60
  duration: number;
60
- coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
61
61
  pos_x: number;
62
62
  pos_y: number;
63
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
64
+ scale: number;
63
65
  imgPath: string;
64
66
  imgName: string;
65
- scale: number;
66
67
  }[];
67
68
  }>>;
68
69
  }, "strip", z.ZodTypeAny, {
@@ -78,17 +79,17 @@ export declare const ptzSchema: z.ZodObject<{
78
79
  loop: boolean;
79
80
  overlayList: {
80
81
  duration: number;
81
- coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
82
82
  pos_x: number;
83
83
  pos_y: number;
84
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
85
+ scale: number;
84
86
  imgPath: string;
85
87
  imgName: string;
86
- scale: number;
87
88
  }[];
88
89
  }>;
90
+ camera?: number | undefined;
89
91
  schedule?: string | undefined;
90
92
  invertInput?: boolean | undefined;
91
- camera?: number | undefined;
92
93
  zIndex?: number | undefined;
93
94
  }, {
94
95
  name: "ptz";
@@ -103,16 +104,43 @@ export declare const ptzSchema: z.ZodObject<{
103
104
  loop: boolean;
104
105
  overlayList: {
105
106
  duration: number;
106
- coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
107
107
  pos_x: number;
108
108
  pos_y: number;
109
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
110
+ scale: number;
109
111
  imgPath: string;
110
112
  imgName: string;
111
- scale: number;
112
113
  }[];
113
114
  }>;
115
+ camera?: number | undefined;
114
116
  schedule?: string | undefined;
115
117
  invertInput?: boolean | undefined;
116
- camera?: number | undefined;
117
118
  zIndex?: number | undefined;
118
119
  }>;
120
+ export type TPtz = z.infer<typeof ptzSchema>;
121
+ export declare const isPtz: (widget: TWidget) => widget is {
122
+ name: "ptz";
123
+ enabled: 0 | 1;
124
+ id: number;
125
+ width: number;
126
+ height: number;
127
+ automationType: "time" | "manual" | "schedule" | `input${number}`;
128
+ cameraList: number[];
129
+ customName: string;
130
+ ptz_positions: Record<string, {
131
+ loop: boolean;
132
+ overlayList: {
133
+ duration: number;
134
+ pos_x: number;
135
+ pos_y: number;
136
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
137
+ scale: number;
138
+ imgPath: string;
139
+ imgName: string;
140
+ }[];
141
+ }>;
142
+ camera?: number | undefined;
143
+ schedule?: string | undefined;
144
+ invertInput?: boolean | undefined;
145
+ zIndex?: number | undefined;
146
+ };
@@ -1,5 +1,5 @@
1
- import { allowedWidgetNames } from './constants';
2
- import { overlaySchema, widgetCommonSchema } from './widgetCommonSchema';
1
+ import { overlaySchema, widgetCommonSchema } from './CamOverlayAPI';
2
+ import { allowedWidgetNames } from '../../CamOverlayAPI';
3
3
  import { z } from 'zod';
4
4
  export const ptzSchema = widgetCommonSchema.extend({
5
5
  name: z.literal(allowedWidgetNames.ptz),
@@ -8,3 +8,4 @@ export const ptzSchema = widgetCommonSchema.extend({
8
8
  loop: z.boolean(),
9
9
  })),
10
10
  });
11
+ export const isPtz = (widget) => widget.name === 'ptz';
@@ -1,3 +1,4 @@
1
+ import { TWidget } from './CamOverlayAPI';
1
2
  import { z } from 'zod';
2
3
  export declare const screenSharingSchema: z.ZodObject<{
3
4
  id: z.ZodNumber;
@@ -26,16 +27,16 @@ export declare const screenSharingSchema: z.ZodObject<{
26
27
  width: number;
27
28
  height: number;
28
29
  fps: number;
30
+ pos_x: number;
31
+ pos_y: number;
29
32
  automationType: "time" | "manual" | "schedule" | `input${number}`;
30
33
  cameraList: number[];
31
34
  customName: string;
32
35
  coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
33
- pos_x: number;
34
- pos_y: number;
35
36
  screenSize: number;
37
+ camera?: number | undefined;
36
38
  schedule?: string | undefined;
37
39
  invertInput?: boolean | undefined;
38
- camera?: number | undefined;
39
40
  zIndex?: number | undefined;
40
41
  }, {
41
42
  name: "screenSharing";
@@ -44,15 +45,35 @@ export declare const screenSharingSchema: z.ZodObject<{
44
45
  width: number;
45
46
  height: number;
46
47
  fps: number;
48
+ pos_x: number;
49
+ pos_y: number;
47
50
  automationType: "time" | "manual" | "schedule" | `input${number}`;
48
51
  cameraList: number[];
49
52
  customName: string;
50
53
  coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
54
+ screenSize: number;
55
+ camera?: number | undefined;
56
+ schedule?: string | undefined;
57
+ invertInput?: boolean | undefined;
58
+ zIndex?: number | undefined;
59
+ }>;
60
+ export type TScreenSharing = z.infer<typeof screenSharingSchema>;
61
+ export declare const isScreenSharing: (widget: TWidget) => widget is {
62
+ name: "screenSharing";
63
+ enabled: 0 | 1;
64
+ id: number;
65
+ width: number;
66
+ height: number;
67
+ fps: number;
51
68
  pos_x: number;
52
69
  pos_y: number;
70
+ automationType: "time" | "manual" | "schedule" | `input${number}`;
71
+ cameraList: number[];
72
+ customName: string;
73
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
53
74
  screenSize: number;
75
+ camera?: number | undefined;
54
76
  schedule?: string | undefined;
55
77
  invertInput?: boolean | undefined;
56
- camera?: number | undefined;
57
78
  zIndex?: number | undefined;
58
- }>;
79
+ };
@@ -0,0 +1,7 @@
1
+ import { sharingSchema } from './CamOverlayAPI';
2
+ import { allowedWidgetNames } from '../../CamOverlayAPI';
3
+ import { z } from 'zod';
4
+ export const screenSharingSchema = sharingSchema.extend({
5
+ name: z.literal(allowedWidgetNames.screenSharing),
6
+ });
7
+ export const isScreenSharing = (widget) => widget.name === 'screenSharing';
@@ -1,3 +1,4 @@
1
+ import { TWidget } from './CamOverlayAPI';
1
2
  import { z } from 'zod';
2
3
  export declare const webCameraSharingSchema: z.ZodObject<{
3
4
  id: z.ZodNumber;
@@ -26,16 +27,16 @@ export declare const webCameraSharingSchema: z.ZodObject<{
26
27
  width: number;
27
28
  height: number;
28
29
  fps: number;
30
+ pos_x: number;
31
+ pos_y: number;
29
32
  automationType: "time" | "manual" | "schedule" | `input${number}`;
30
33
  cameraList: number[];
31
34
  customName: string;
32
35
  coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
33
- pos_x: number;
34
- pos_y: number;
35
36
  screenSize: number;
37
+ camera?: number | undefined;
36
38
  schedule?: string | undefined;
37
39
  invertInput?: boolean | undefined;
38
- camera?: number | undefined;
39
40
  zIndex?: number | undefined;
40
41
  }, {
41
42
  name: "web_camera";
@@ -44,15 +45,35 @@ export declare const webCameraSharingSchema: z.ZodObject<{
44
45
  width: number;
45
46
  height: number;
46
47
  fps: number;
48
+ pos_x: number;
49
+ pos_y: number;
47
50
  automationType: "time" | "manual" | "schedule" | `input${number}`;
48
51
  cameraList: number[];
49
52
  customName: string;
50
53
  coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
54
+ screenSize: number;
55
+ camera?: number | undefined;
56
+ schedule?: string | undefined;
57
+ invertInput?: boolean | undefined;
58
+ zIndex?: number | undefined;
59
+ }>;
60
+ export type TWebCameraSharing = z.infer<typeof webCameraSharingSchema>;
61
+ export declare const isWebCameraSharing: (widget: TWidget) => widget is {
62
+ name: "web_camera";
63
+ enabled: 0 | 1;
64
+ id: number;
65
+ width: number;
66
+ height: number;
67
+ fps: number;
51
68
  pos_x: number;
52
69
  pos_y: number;
70
+ automationType: "time" | "manual" | "schedule" | `input${number}`;
71
+ cameraList: number[];
72
+ customName: string;
73
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
53
74
  screenSize: number;
75
+ camera?: number | undefined;
54
76
  schedule?: string | undefined;
55
77
  invertInput?: boolean | undefined;
56
- camera?: number | undefined;
57
78
  zIndex?: number | undefined;
58
- }>;
79
+ };
@@ -0,0 +1,7 @@
1
+ import { sharingSchema } from './CamOverlayAPI';
2
+ import { allowedWidgetNames } from '../../CamOverlayAPI';
3
+ import { z } from 'zod';
4
+ export const webCameraSharingSchema = sharingSchema.extend({
5
+ name: z.literal(allowedWidgetNames.web_camera),
6
+ });
7
+ export const isWebCameraSharing = (widget) => widget.name === 'web_camera';
@@ -0,0 +1,58 @@
1
+ import { WsOptions } from '../internal/types';
2
+ export type CamOverlayDrawingOptions = WsOptions & {
3
+ camera?: number | number[];
4
+ zIndex?: number;
5
+ };
6
+ export type TMessage = {
7
+ command: string;
8
+ call_id?: number;
9
+ params: unknown[];
10
+ };
11
+ export type TCairoResponse = {
12
+ message: string;
13
+ call_id: number;
14
+ };
15
+ export type TCairoCreateResponse = {
16
+ var: string;
17
+ call_id: number;
18
+ };
19
+ export type TUploadImageResponse = {
20
+ var: string;
21
+ width: number;
22
+ height: number;
23
+ call_id: number;
24
+ };
25
+ export type TErrorResponse = {
26
+ error: string;
27
+ call_id?: number;
28
+ };
29
+ export type TService = {
30
+ id: number;
31
+ enabled: number;
32
+ schedule: string;
33
+ name: string;
34
+ identifier: string;
35
+ cameraList: number[];
36
+ };
37
+ export type TServiceList = {
38
+ services: TService[];
39
+ };
40
+ export type TAlign = 'A_RIGHT' | 'A_LEFT' | 'A_CENTER';
41
+ export type TextFit = 'TFM_SCALE' | 'TFM_TRUNCATE' | 'TFM_OVERFLOW';
42
+ export type TWriteTextParams = [string, string, number, number, number, number, TAlign, TextFit?];
43
+ export type TCODResponse = TCairoResponse | TCairoCreateResponse | TUploadImageResponse;
44
+ export type AsyncMessage = {
45
+ resolve: (value: TCODResponse) => void;
46
+ reject: (reason: Error) => void;
47
+ sentTimestamp: number;
48
+ };
49
+ export interface CamOverlayDrawingAPI {
50
+ on(event: 'open', listener: () => void): this;
51
+ on(event: 'close', listener: () => void): this;
52
+ on(event: 'error', listener: (err: Error) => void): this;
53
+ on(event: 'message', listener: (msg: string) => void): this;
54
+ emit(event: 'open'): boolean;
55
+ emit(event: 'close'): boolean;
56
+ emit(event: 'error', err: Error): boolean;
57
+ emit(event: 'message', msg: string): boolean;
58
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,74 @@
1
+ import { CamOverlayDrawingAPI } from '../CamOverlayDrawingAPI';
2
+ import { COORD } from '../CamOverlayPainter/Painter';
3
+ import { TAlign, TCairoCreateResponse, TUploadImageResponse } from './CamOverlayDrawingAPI';
4
+ export type TRgb = [number, number, number];
5
+ export type TRgba = [number, number, number, number];
6
+ export type TTmf = 'TFM_OVERFLOW' | 'TFM_SCALE' | 'TFM_TRUNCATE';
7
+ export type TObjectFitType = 'fill' | 'fit' | 'none';
8
+ export type TFrameOptions = {
9
+ enabled?: boolean;
10
+ x: number;
11
+ y: number;
12
+ width: number;
13
+ height: number;
14
+ text?: string;
15
+ fontColor?: TRgb;
16
+ font?: string;
17
+ bgColor?: TRgba;
18
+ bgImage?: string;
19
+ bgType?: TObjectFitType;
20
+ borderRadius?: number;
21
+ borderWidth?: number;
22
+ borderColor?: TRgba;
23
+ customDraw?: TDrawingCallback;
24
+ layer?: number;
25
+ };
26
+ export type TFrameInfo = {
27
+ width: number;
28
+ height: number;
29
+ };
30
+ export type TDrawingCallback = (cod: CamOverlayDrawingAPI, cairo: string, info: TFrameInfo) => Promise<void>;
31
+ export type TFrame = {
32
+ x: number;
33
+ y: number;
34
+ width: number;
35
+ height: number;
36
+ };
37
+ export type TText = {
38
+ text: string;
39
+ textAlign: TAlign;
40
+ textType: TTmf;
41
+ fontColor: TRgb;
42
+ font: TCairoCreateResponse | undefined;
43
+ fontName: string | undefined;
44
+ };
45
+ export type TBg = {
46
+ bgColor: TRgba | undefined;
47
+ bgImage: TUploadImageResponse | undefined;
48
+ bgImageName: string | undefined;
49
+ bgType: TObjectFitType | undefined;
50
+ };
51
+ export type TBorder = {
52
+ borderRadius: number;
53
+ borderWidth: number;
54
+ borderColor: TRgba;
55
+ };
56
+ export interface Frame {
57
+ on(event: 'open', listener: () => void): this;
58
+ on(event: 'close', listener: () => void): this;
59
+ on(event: 'layoutChanged', listener: () => void): this;
60
+ emit(event: 'open'): boolean;
61
+ emit(event: 'close'): boolean;
62
+ emit(event: 'layoutChanged'): boolean;
63
+ }
64
+ export type TCoAlignment = keyof typeof COORD;
65
+ export type TPainterOptions = TFrameOptions & {
66
+ screenWidth: number;
67
+ screenHeight: number;
68
+ coAlignment: TCoAlignment;
69
+ };
70
+ export type TLayer = {
71
+ layer: number;
72
+ surfaceCache?: string;
73
+ cairoCache?: string;
74
+ };
@@ -0,0 +1 @@
1
+ export {};