@evercam/api 1.0.0-e13c64fc3 → 1.0.0-e1cf8aca7

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 (54) hide show
  1. package/README.md +1 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +198 -15
  3. package/dist/api/api/adminApi.d.ts +30 -16
  4. package/dist/api/api/aiApi.d.ts +45 -4
  5. package/dist/api/api/authzApi.d.ts +1 -2
  6. package/dist/api/api/evercamApi.d.ts +27 -10
  7. package/dist/api/api/evercamLabsApi.d.ts +5 -6
  8. package/dist/api/api/ingestApi.d.ts +53 -44
  9. package/dist/api/types/360.d.ts +173 -54
  10. package/dist/api/types/aiConfigs.d.ts +154 -0
  11. package/dist/api/types/analytics.d.ts +37 -15
  12. package/dist/api/types/anpr.d.ts +31 -2
  13. package/dist/api/types/auditLogs.d.ts +18 -0
  14. package/dist/api/types/authz.d.ts +1 -0
  15. package/dist/api/types/axios.d.ts +9 -8
  16. package/dist/api/types/bim.d.ts +25 -0
  17. package/dist/api/types/camera.d.ts +14 -25
  18. package/dist/api/types/comments.d.ts +10 -7
  19. package/dist/api/types/connector.d.ts +1 -0
  20. package/dist/api/types/detections.d.ts +5 -10
  21. package/dist/api/types/drone.d.ts +96 -6
  22. package/dist/api/types/errors.d.ts +11 -0
  23. package/dist/api/types/gateReport.d.ts +7 -11
  24. package/dist/api/types/gateReportManagement.d.ts +175 -0
  25. package/dist/api/types/index.d.ts +5 -1
  26. package/dist/api/types/ingest.d.ts +27 -3
  27. package/dist/api/types/kit.d.ts +11 -2
  28. package/dist/api/types/map.d.ts +12 -0
  29. package/dist/api/types/media.d.ts +6 -1
  30. package/dist/api/types/planner.d.ts +97 -0
  31. package/dist/api/types/posthog.d.ts +20 -0
  32. package/dist/api/types/project.d.ts +8 -3
  33. package/dist/api/types/recording.d.ts +6 -9
  34. package/dist/api/types/roi.d.ts +4 -3
  35. package/dist/api/types/shared.d.ts +19 -0
  36. package/dist/api/types/siteAnalytics.d.ts +3 -3
  37. package/dist/api/types/siteAnalyticsManagement.d.ts +92 -0
  38. package/dist/api/types/siteView.d.ts +73 -0
  39. package/dist/api/types/snapshots.d.ts +48 -3
  40. package/dist/api/types/storageProvider.d.ts +19 -0
  41. package/dist/api/types/timelapse.d.ts +6 -2
  42. package/dist/api/types/user.d.ts +1 -5
  43. package/dist/api/utils.d.ts +0 -1
  44. package/dist/index.js +1628 -767
  45. package/dist/index.js.map +1 -1
  46. package/dist/index.umd.cjs +1 -1
  47. package/dist/index.umd.cjs.map +1 -1
  48. package/dist/shared/types/components.d.ts +73 -9
  49. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  50. package/dist/shared/types/imagePlayer.d.ts +8 -1
  51. package/dist/shared/types/index.d.ts +2 -0
  52. package/dist/shared/types/rbac.d.ts +67 -0
  53. package/package.json +4 -2
  54. package/dist/api/types/storageServers.d.ts +0 -4
@@ -0,0 +1,175 @@
1
+ import { CameraExid, DateType, ProjectExid } from "@evercam/api/types";
2
+ export declare enum VehicleClassifierSource {
3
+ Local = "local",
4
+ Api = "api"
5
+ }
6
+ export type GateReportCoolifyStatus = {
7
+ appUuid: string | null;
8
+ name: string | null;
9
+ serverUuid: string | null;
10
+ serverName: string | null;
11
+ appUrl: string | null;
12
+ status: string | null;
13
+ isRunning: boolean;
14
+ imageTag?: string | null;
15
+ fqdn: string | null;
16
+ updatedAt: string | null;
17
+ };
18
+ export type GateReportProjectMeta = {
19
+ exid: ProjectExid;
20
+ name: string | null;
21
+ timezone: string | null;
22
+ featureFlags: string[] | null;
23
+ };
24
+ export type GateReportCameraMeta = {
25
+ exid: CameraExid;
26
+ name: string | null;
27
+ status: string | null;
28
+ kitSerial: string | null;
29
+ kitAlarms: string[] | Record<string, unknown> | null;
30
+ };
31
+ export type GateReportManagedApp = {
32
+ id: number;
33
+ projectExid: ProjectExid;
34
+ anprCameraExid: CameraExid;
35
+ contextCameraExid: CameraExid | null;
36
+ coolifyAppId: string | null;
37
+ startDate: DateType | null;
38
+ endDate: DateType | null;
39
+ startHour: number;
40
+ endHour: number;
41
+ enabled: boolean;
42
+ enableEnrichments: boolean;
43
+ enableGemini: boolean;
44
+ geminiStartHour: number;
45
+ geminiEndHour: number;
46
+ reviewModel: string;
47
+ enrichmentModel: string;
48
+ reviewerPromptSlug: string | null;
49
+ geminiTimeoutSeconds: number;
50
+ geminiMaxAttempts: number;
51
+ vehicleClassifierSource: VehicleClassifierSource;
52
+ snapshotDelaySeconds: number;
53
+ snapshotRequestTimeout: number;
54
+ plateClassifierThreshold: number;
55
+ plateClassifierHighConfidence: number;
56
+ maxPriorEvents: number;
57
+ recordsFetchInterval: number;
58
+ priorRecentLimit: number;
59
+ priorSimilarLimit: number;
60
+ insertedAt: DateType;
61
+ updatedAt: DateType;
62
+ coolify: GateReportCoolifyStatus | null;
63
+ project: GateReportProjectMeta | null;
64
+ anprCamera: GateReportCameraMeta | null;
65
+ contextCamera: GateReportCameraMeta | null;
66
+ anprHasRoi: boolean;
67
+ contextHasRoi: boolean;
68
+ lastProcessedEventAt: DateType | null;
69
+ lastUnprocessedEventAt: DateType | null;
70
+ };
71
+ export type GateReportAppEvents = {
72
+ anprCameraExid: CameraExid;
73
+ lastProcessedEventAt: DateType | null;
74
+ lastUnprocessedEventAt: DateType | null;
75
+ };
76
+ export type AppConfigFormValue = {
77
+ contextCameraExid: string | null;
78
+ startDate: DateType | null;
79
+ endDate: DateType | null;
80
+ startHour: number;
81
+ endHour: number;
82
+ enabled: boolean;
83
+ enableEnrichments: boolean;
84
+ enableGemini: boolean;
85
+ geminiStartHour: number;
86
+ geminiEndHour: number;
87
+ reviewModel: string;
88
+ enrichmentModel: string;
89
+ reviewerPromptSlug: string | null;
90
+ geminiTimeoutSeconds: number;
91
+ geminiMaxAttempts: number;
92
+ vehicleClassifierSource: VehicleClassifierSource;
93
+ snapshotDelaySeconds: number;
94
+ snapshotRequestTimeout: number;
95
+ plateClassifierThreshold: number;
96
+ plateClassifierHighConfidence: number;
97
+ recordsFetchInterval: number;
98
+ priorRecentLimit: number;
99
+ priorSimilarLimit: number;
100
+ };
101
+ export type CreateGateReportAppPayload = {
102
+ projectExid: ProjectExid;
103
+ anprCameraExid: CameraExid;
104
+ contextCameraExid?: CameraExid | null;
105
+ coolifyServerUuid: string;
106
+ imageTag?: string;
107
+ geminiApiKey?: string | null;
108
+ startDate?: DateType | null;
109
+ endDate?: DateType | null;
110
+ startHour?: number;
111
+ endHour?: number;
112
+ enabled?: boolean;
113
+ enableEnrichments?: boolean;
114
+ enableGemini?: boolean;
115
+ geminiStartHour?: number;
116
+ geminiEndHour?: number;
117
+ reviewModel?: string;
118
+ enrichmentModel?: string;
119
+ reviewerPromptSlug?: string | null;
120
+ geminiTimeoutSeconds?: number;
121
+ geminiMaxAttempts?: number;
122
+ vehicleClassifierSource?: VehicleClassifierSource;
123
+ snapshotDelaySeconds?: number;
124
+ snapshotRequestTimeout?: number;
125
+ plateClassifierThreshold?: number;
126
+ plateClassifierHighConfidence?: number;
127
+ maxPriorEvents?: number;
128
+ recordsFetchInterval?: number;
129
+ priorRecentLimit?: number;
130
+ priorSimilarLimit?: number;
131
+ };
132
+ export type UpdateGateReportAppPayload = Partial<Omit<CreateGateReportAppPayload, "projectExid" | "anprCameraExid" | "coolifyServerUuid" | "geminiApiKey">>;
133
+ export type GateReportManagementListParams = {
134
+ projectExid?: ProjectExid;
135
+ includeStatus?: boolean;
136
+ page?: number;
137
+ limit?: number;
138
+ };
139
+ export type CoolifyProjectOption = {
140
+ uuid: string;
141
+ name: string;
142
+ description: string | null;
143
+ };
144
+ export type CoolifyServerOption = {
145
+ uuid: string;
146
+ name: string;
147
+ isReachable: boolean;
148
+ isUsable: boolean;
149
+ };
150
+ export declare enum AppRuntimeState {
151
+ Running = "running",
152
+ Stopped = "stopped",
153
+ Restarting = "restarting"
154
+ }
155
+ export type AppRuntimeStateRequest = {
156
+ state: AppRuntimeState;
157
+ };
158
+ export type AppActionResponse = {
159
+ success: boolean;
160
+ message: string | null;
161
+ appUuid: string | null;
162
+ state: AppRuntimeState | null;
163
+ };
164
+ export type APIEnvelope<T> = {
165
+ success: boolean;
166
+ data: T | null;
167
+ message: string;
168
+ };
169
+ export type CreateGateReportAppResponse = {
170
+ created: boolean;
171
+ id: number | null;
172
+ data: GateReportManagedApp | null;
173
+ count: number | null;
174
+ message: string;
175
+ };
@@ -30,7 +30,7 @@ export * from "./shares";
30
30
  export * from "./sim";
31
31
  export * from "./systemCheck";
32
32
  export * from "./planner";
33
- export * from "./storageServers";
33
+ export * from "./storageProvider";
34
34
  export * from "./streaming";
35
35
  export * from "./storyblok";
36
36
  export * from "./time";
@@ -49,6 +49,7 @@ export * from "./kit";
49
49
  export * from "./auditLogs";
50
50
  export * from "./snapshots";
51
51
  export * from "./siteAnalytics";
52
+ export * from "./siteAnalyticsManagement";
52
53
  export * from "./widget";
53
54
  export * from "./countries";
54
55
  export * from "./automation";
@@ -62,3 +63,6 @@ export * from "./authz";
62
63
  export * from "./oauth";
63
64
  export * from "./ring";
64
65
  export * from "./smartSeach";
66
+ export * from "./siteView";
67
+ export * from "./aiConfigs";
68
+ export * from "./gateReportManagement";
@@ -1,4 +1,4 @@
1
- import { PaginationParams, DateType, JsonValue } from "@evercam/api/types";
1
+ import { PaginationParams, DateType, JsonValue, TuplePoint2D } from "@evercam/api/types";
2
2
  import type { _360FloorV2, _360WalkV2 } from "@evercam/api/types/360";
3
3
  export declare enum IngestProcessingStatus {
4
4
  Completed = "completed",
@@ -18,7 +18,12 @@ export declare enum IngestVersions {
18
18
  V1 = "v1",
19
19
  V2 = "v2",
20
20
  V3 = "v3",
21
- V4 = "v4"
21
+ V4 = "v4",
22
+ V5 = "v5"
23
+ }
24
+ export declare enum IngestTypes {
25
+ Drone = "drone",
26
+ ThreeSixty = "360"
22
27
  }
23
28
  export type DronesQueryParams = Omit<PaginationParams, "sort"> & {
24
29
  projectId: string;
@@ -43,11 +48,13 @@ export type DroneUploadItem = {
43
48
  modelZip: string;
44
49
  orthomosaicZip: string;
45
50
  reportPdf: string;
51
+ processingLog: string;
46
52
  uploadedBy: string;
47
53
  processingStatus: IngestProcessingStatus | string;
48
54
  modelCesiumAssetId: string;
49
55
  updatedAt: string;
50
56
  hasTusLinks: boolean;
57
+ aerialShots: AerialShotItem[];
51
58
  };
52
59
  export type DroneUploadsResponse = IngestPaginatedResponse<DroneUploadItem>;
53
60
  export type DroneQueueResponse = {
@@ -65,16 +72,33 @@ export type DroneUploadUpdateRequestPayload = {
65
72
  title: string;
66
73
  fileExtension: string;
67
74
  }[];
75
+ aerialShots: {
76
+ url: string;
77
+ title: string;
78
+ fileExtension: string;
79
+ gpsLatitude: string;
80
+ gpsLongitude: string;
81
+ gpsAltitude: string;
82
+ }[];
68
83
  projectName: string;
69
84
  };
70
85
  export type CalculateMeasuringOperationRequestPayload = {
71
86
  date: DateType;
72
- points: [number, number][];
87
+ points: TuplePoint2D[];
73
88
  operation: string;
74
89
  };
75
90
  export type FlightImagesQueryParams = Partial<Omit<PaginationParams, "sort">> & {
76
91
  date: DateType;
77
92
  };
93
+ export type AerialShotItem = {
94
+ id: number;
95
+ droneUploadId: number;
96
+ fileLink: string;
97
+ thumbnailLink: string;
98
+ gpsLatitude: string;
99
+ gpsLongitude: string;
100
+ gpsAltitude: string;
101
+ };
78
102
  export type InspectionToolRequestPayload = {
79
103
  date: DateType;
80
104
  gpsAltitude: string;
@@ -45,11 +45,14 @@ export declare enum KitAlarm {
45
45
  NoHdd = "no_hdd",
46
46
  MissingRouterInfo = "missing_router_info",
47
47
  AcFailure = "ac_failure",
48
- LowBattery = "low_battery"
48
+ LowBattery = "low_battery",
49
+ GeneratorOff = "generator_off"
49
50
  }
50
51
  export declare enum KitMetricId {
51
52
  SolarCharger = "solar_charger",
52
- PanelPower = "panel_power"
53
+ PanelPower = "panel_power",
54
+ Fan = "fan",
55
+ FanTemperature = "fan_temperature"
53
56
  }
54
57
  export declare enum KitMetricPeriod {
55
58
  Last15Minutes = "now-15m",
@@ -312,6 +315,12 @@ export type KitMetricStatsEntry = {
312
315
  panelVoltage: number;
313
316
  panelPower: number;
314
317
  };
318
+ export type KitFanStatsEntry = {
319
+ timestamp: string;
320
+ speed: number;
321
+ internalTemperature: number;
322
+ externalTemperature: number | null;
323
+ };
315
324
  export type KitUpdatePayload = {
316
325
  countryId: number;
317
326
  name: string;
@@ -2,3 +2,15 @@ export declare enum MapType {
2
2
  Hybrid = "hybrid",
3
3
  Terrain = "terrain"
4
4
  }
5
+ export type MapView = {
6
+ east?: number;
7
+ floorID?: string;
8
+ image?: string;
9
+ mapStyle?: MapType;
10
+ name: string;
11
+ north?: number;
12
+ projectId: string;
13
+ projectName: string;
14
+ south?: number;
15
+ west?: number;
16
+ };
@@ -93,7 +93,7 @@ export type MediaCreateRequestPayload = {
93
93
  cameraExid?: string;
94
94
  requestedBy?: string;
95
95
  notes?: string;
96
- category?: ClipsCategory;
96
+ category?: MediaCategory | ClipsCategory;
97
97
  isUrgent?: boolean;
98
98
  storeAsType?: MediaType;
99
99
  };
@@ -108,6 +108,11 @@ export declare enum ClipsCategory {
108
108
  Marketing = "marketing",
109
109
  BestPracticies = "best_practices"
110
110
  }
111
+ export declare enum MediaCategory {
112
+ Weather = "weather",
113
+ SmartSearch = "smart_search",
114
+ Copilot = "copilot"
115
+ }
111
116
  export type MediaDeleteRequestPayload = {
112
117
  timelapseIds: (string | number)[];
113
118
  compareIds: (string | number)[];
@@ -1,3 +1,33 @@
1
+ import { GeoPoint, TuplePoint2D } from "./shared";
2
+ import { MapType } from "./map";
3
+ export type PlannerListItem = {
4
+ id: string;
5
+ projectId: string;
6
+ projectName: string;
7
+ projectLocation: string;
8
+ createdDate: string;
9
+ updatedDate: string;
10
+ owner?: string;
11
+ lastUpdatedBy?: string;
12
+ camerasCount?: number;
13
+ hasPlan?: boolean;
14
+ thumbnailUrl?: string;
15
+ projectMapType?: MapType;
16
+ sessionId?: string;
17
+ };
18
+ export type PolygonPath = TuplePoint2D[];
19
+ export type PolygonCoordinates = PolygonPath[];
20
+ export interface GeoJSONPolygon {
21
+ type: "Polygon";
22
+ coordinates: PolygonCoordinates;
23
+ }
24
+ export declare enum PlannerUrlParams {
25
+ SitePlanId = "site_plan_id",
26
+ IsNewSitePlan = "is_new_site_plan",
27
+ IsBoundsMode = "is_bounds_mode",
28
+ ProjectPosition = "project_position",
29
+ DealId = "deal_id"
30
+ }
1
31
  export declare enum EDistortImageModes {
2
32
  FreeRotate = "freeRotate",
3
33
  Lock = "lock",
@@ -33,3 +63,70 @@ export declare enum ERoles {
33
63
  Admin = "admin",
34
64
  User = "user"
35
65
  }
66
+ export type PlannerOverlay = {
67
+ imageUrl?: string;
68
+ corners?: {
69
+ topLeft: GeoPoint;
70
+ topRight: GeoPoint;
71
+ bottomLeft: GeoPoint;
72
+ bottomRight: GeoPoint;
73
+ } | null;
74
+ };
75
+ export type PlannerCameraMarker = {
76
+ name?: string;
77
+ location?: GeoPoint;
78
+ heading?: number;
79
+ fovAngle?: number;
80
+ fovRadius?: number;
81
+ isVisible?: boolean;
82
+ color?: string;
83
+ };
84
+ export type SitePlanBounds = {
85
+ northEast: GeoPoint;
86
+ southWest: GeoPoint;
87
+ };
88
+ export type SitePlan = {
89
+ id?: string;
90
+ projectId?: string;
91
+ owner?: string;
92
+ lastUpdatedBy?: string;
93
+ projectName?: string;
94
+ projectLocation?: string;
95
+ projectMapType?: EMapTypes;
96
+ projectBounds?: SitePlanBounds;
97
+ overlay?: PlannerOverlay;
98
+ markers?: PlannerCameraMarker[];
99
+ thumbnailUrl?: string;
100
+ createdDate?: string;
101
+ updatedDate?: string;
102
+ };
103
+ export interface IDrawControl {
104
+ _toolbars: {
105
+ draw: {
106
+ _activeMode: {
107
+ handler: {
108
+ disable(): void;
109
+ completeShape(): void;
110
+ };
111
+ };
112
+ _modes: {
113
+ polygon: {
114
+ handler: {
115
+ enable(): void;
116
+ };
117
+ };
118
+ };
119
+ };
120
+ edit: {
121
+ _modes: {
122
+ edit: {
123
+ handler: {
124
+ enable(): void;
125
+ disable(): void;
126
+ save(): void;
127
+ };
128
+ };
129
+ };
130
+ };
131
+ };
132
+ }
@@ -16,6 +16,26 @@ export declare enum ActiveUsersMetric {
16
16
  WAU = "wau",
17
17
  MAU = "mau"
18
18
  }
19
+ export type PosthogUser = {
20
+ id: string;
21
+ email: string;
22
+ isWeeklyActiveUser: number;
23
+ isMonthlyActiveUser: number;
24
+ eventsCount: number;
25
+ };
26
+ export type PosthogUsersRequestParams = {
27
+ companyExid?: string;
28
+ projectExid?: string;
29
+ cameraExid?: string;
30
+ productsActivityOnly?: boolean;
31
+ afterId?: string;
32
+ size?: number;
33
+ };
34
+ export type PosthogUsersResponse = {
35
+ data: PosthogUser[];
36
+ hasMore: boolean;
37
+ size: number;
38
+ };
19
39
  export type PosthogUserParams = {
20
40
  firstname?: string;
21
41
  lastname?: string;
@@ -1,4 +1,4 @@
1
- import { AdminCamera, Camera, CameraExid, DateType, EntityByExid, Exid, PaginationParams } from "@evercam/api/types";
1
+ import { AdminCamera, Camera, CameraExid, DateType, EntityByExid, Exid, Operator, PaginationParams } from "@evercam/api/types";
2
2
  export type ProjectExid = Exid;
3
3
  export type ProjectsByExid = EntityByExid<Project>;
4
4
  export type Project = {
@@ -62,7 +62,8 @@ export declare enum ProjectArchiveTier {
62
62
  Full = "Full",
63
63
  Partial = "Partial",
64
64
  Minimal = "Minimal",
65
- ScheduledForDeletion = "Scheduled for Deletion"
65
+ ScheduledForDeletion = "Scheduled for Deletion",
66
+ No = "No"
66
67
  }
67
68
  export type UpdateCameraRestrictionPayload = {
68
69
  isAccessRestricted?: boolean;
@@ -109,6 +110,7 @@ export type ProjectsQueryParams = PaginationParams & {
109
110
  status: ProjectStatus;
110
111
  cameras: string;
111
112
  featureFlags: Array<ProjectFeatureFlag>;
113
+ featureFlagsOperator?: Operator;
112
114
  archived: string;
113
115
  };
114
116
  export type ProjectCreateRequestPayload = {
@@ -163,6 +165,7 @@ export type ProjectRole = {
163
165
  };
164
166
  export type ProjectMember = {
165
167
  id: string;
168
+ key?: string;
166
169
  email: string;
167
170
  fullname: string;
168
171
  lastSeenAt?: string;
@@ -172,7 +175,9 @@ export type ProjectMember = {
172
175
  resourceId: string;
173
176
  roleId: number;
174
177
  }>;
175
- company?: string | null;
178
+ company?: {
179
+ name: string;
180
+ } | null;
176
181
  };
177
182
  export type ProjectInvite = {
178
183
  id?: string;
@@ -5,18 +5,20 @@ export type Snapshot = {
5
5
  data: string;
6
6
  status?: string;
7
7
  };
8
- export type NearestSnapshotRequestPayload = {
8
+ export type SnapshotRequestPayload = {
9
9
  apiKey?: string;
10
10
  apiId?: string;
11
11
  token?: string;
12
12
  cancelToken?: object;
13
13
  includeImage?: boolean;
14
+ view?: boolean;
14
15
  };
15
16
  export type AvailableDaysRequestPayload = {
16
17
  cameraId: string;
17
18
  year: string;
18
19
  month: string;
19
20
  payload?: ApiCredentials;
21
+ cancelToken?: CancelToken;
20
22
  };
21
23
  export type AvailableDaysResponsePayload = {
22
24
  days: Array<number>;
@@ -76,6 +78,7 @@ export declare enum CloudRecordingDuration {
76
78
  Month = 30,
77
79
  ThreeMonths = 90
78
80
  }
81
+ export declare const CloudRecordingDurationLabel: Record<CloudRecordingDuration, string>;
79
82
  export declare enum CloudRecordingStatus {
80
83
  On = "on",
81
84
  Off = "off",
@@ -103,13 +106,6 @@ export declare enum SnapshotExtractionInterval {
103
106
  }
104
107
  export declare enum VpnServer {
105
108
  None = "None",
106
- OpenVPN1 = "OpenVPN1",
107
- OpenVPN2 = "OpenVPN2",
108
- OpenVPN3 = "OpenVPN3",
109
- OpenVPN4 = "OpenVPN4",
110
- OpenVPN5 = "OpenVPN5",
111
- PPTP1 = "PPTP1",
112
- PPTP2 = "PPTP2",
113
109
  WireGuard1 = "WireGuard1",
114
110
  WireGuard2 = "WireGuard2",
115
111
  WireGuard3 = "WireGuard3",
@@ -119,5 +115,6 @@ export declare enum VpnServer {
119
115
  WireGuard7 = "WireGuard7",
120
116
  WireGuard8 = "WireGuard8",
121
117
  WireGuard9 = "WireGuard9",
122
- WireGuard10 = "WireGuard10"
118
+ WireGuard10 = "WireGuard10",
119
+ WgHub = "WgHub"
123
120
  }
@@ -3,14 +3,14 @@ export declare enum RoiType {
3
3
  AnprContext = "anpr_context",
4
4
  ExclusionZone = "exclusion_zone",
5
5
  WorkflowArea = "workflow_area",
6
- SiteAnalytics = "site_analytics"
6
+ SiteAnalytics = "site_analytics",
7
+ Ppe = "ppe_roi"
7
8
  }
8
9
  export declare enum RoiShapeType {
9
10
  Polygon = "polygon",
10
11
  Line = "line",
11
12
  Direction = "direction",
12
- Rectangle = "rectangle",
13
- ROIBox = "ROIBox"
13
+ Rectangle = "rectangle"
14
14
  }
15
15
  export type RoiShape = {
16
16
  id: number | null;
@@ -19,6 +19,7 @@ export type RoiShape = {
19
19
  x2: number;
20
20
  y1: number;
21
21
  y2: number;
22
+ points?: [number, number][];
22
23
  };
23
24
  export declare enum RoiDirection {
24
25
  Arrived = "arrived",
@@ -1,4 +1,8 @@
1
1
  import { DateType } from "@evercam/api/types";
2
+ export declare enum Operator {
3
+ AND = "and",
4
+ OR = "or"
5
+ }
2
6
  type sortby = string;
3
7
  type sortDirection = "asc" | "desc";
4
8
  export type SortingUrlParam = `${sortby}|${sortDirection}`;
@@ -133,6 +137,21 @@ export interface JSON {
133
137
  stringify<T>(value: T, replacer?: (key: string, value: unknown) => unknown, space?: string | number): string & Stringified<T>;
134
138
  parse<T>(text: Stringified<T>, reviver?: (key: unknown, value: unknown) => unknown): T;
135
139
  }
140
+ export type TuplePoint2D = [number, number];
141
+ export type TuplePoint3D = [number, number, number];
142
+ export type Point2D = {
143
+ x: number;
144
+ y: number;
145
+ };
146
+ export type Point3D = {
147
+ x: number;
148
+ y: number;
149
+ z: number;
150
+ };
151
+ export type GeoPoint = {
152
+ lat: number;
153
+ lng: number;
154
+ };
136
155
  export type Exid = string;
137
156
  export type EntityByExid<Entity extends unknown> = Record<Exid, Entity>;
138
157
  export type BatteryVoltage = {
@@ -1,4 +1,4 @@
1
- import { BBox, BoundingBox, DateType, Schedule, ScheduleLowercase, CameraExid, DetectionModel, PaginationParams, PpeLabel, ProjectExid, CameraDateRangeFilter, CameraFeatureFlag, TimelineDateInterval, Camera, AdminCamera, _360FloorV2, _360FloorId, PaginatedItems, DateRangeFilter } from "@evercam/api/types";
1
+ import { BBox, BoundingBox, DateType, Schedule, ScheduleLowercase, CameraExid, DetectionModel, PaginationParams, PpeLabel, ProjectExid, CameraDateRangeFilter, CameraFeatureFlag, TimelineDateInterval, Camera, AdminCamera, _360FloorV2, _360FloorId, PaginatedItems, DateRangeFilter, TuplePoint2D } from "@evercam/api/types";
2
2
  import { DetectionLabel, DownloadFileType } from "@evercam/api/types";
3
3
  export declare enum SiteAnalyticsMode {
4
4
  Detections = "detections",
@@ -184,7 +184,7 @@ export type DetectionsExportRequestParams = DetectionsRequestParams & {
184
184
  directDownload?: boolean;
185
185
  };
186
186
  export type SmartSearchHeatmapPoint = {
187
- coordinates: [number, number];
187
+ coordinates: TuplePoint2D;
188
188
  detectionsCount: number;
189
189
  };
190
190
  export type SmartSearchHeatmapData = {
@@ -241,7 +241,7 @@ export type SmartSearchRequestPayload = {
241
241
  fromDate?: string;
242
242
  toDate?: string;
243
243
  page?: number;
244
- pageSize?: number;
244
+ limit?: number;
245
245
  threshold?: number;
246
246
  };
247
247
  type SmartSearchResultItemBase = {