@evercam/api 1.0.0-e03a0c41b → 1.0.0-e13c64fc3

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 (128) hide show
  1. package/README.md +5 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +27 -0
  3. package/dist/api/api/adminApi.d.ts +366 -0
  4. package/dist/api/api/aiApi.d.ts +127 -0
  5. package/dist/api/api/authzApi.d.ts +38 -0
  6. package/dist/api/{client → api/client}/axios.d.ts +2 -1
  7. package/dist/api/{client → api/client}/customErrors.d.ts +10 -0
  8. package/dist/api/{client → api/client}/interceptors.d.ts +3 -2
  9. package/dist/api/api/client/swr/Swr.d.ts +14 -0
  10. package/dist/api/api/client/swr/SwrStore.d.ts +10 -0
  11. package/dist/api/api/evercamApi.d.ts +329 -0
  12. package/dist/api/api/evercamLabsApi.d.ts +46 -0
  13. package/dist/api/{exNvrApi.d.ts → api/exNvrApi.d.ts} +1 -1
  14. package/dist/api/api/index.d.ts +13 -0
  15. package/dist/api/api/ingestApi.d.ts +147 -0
  16. package/dist/api/{ptzApi.d.ts → api/ptzApi.d.ts} +13 -4
  17. package/dist/api/api/videoWallApi.d.ts +9 -0
  18. package/dist/api/api/weatherApi.d.ts +9 -0
  19. package/dist/api/index.d.ts +3 -13
  20. package/dist/api/types/360.d.ts +276 -0
  21. package/dist/api/types/aconex.d.ts +143 -0
  22. package/dist/api/types/admin.d.ts +51 -0
  23. package/dist/{types → api/types}/analytics.d.ts +214 -103
  24. package/dist/{types → api/types}/anpr.d.ts +35 -19
  25. package/dist/{types → api/types}/auditLogs.d.ts +1 -1
  26. package/dist/api/types/authz.d.ts +60 -0
  27. package/dist/{types → api/types}/autodesk.d.ts +7 -7
  28. package/dist/api/types/automation.d.ts +95 -0
  29. package/dist/{types → api/types}/axios.d.ts +22 -2
  30. package/dist/{types → api/types}/bim.d.ts +11 -5
  31. package/dist/{types → api/types}/camera.d.ts +110 -125
  32. package/dist/api/types/comments.d.ts +55 -0
  33. package/dist/api/types/company.d.ts +115 -0
  34. package/dist/{types → api/types}/compare.d.ts +20 -5
  35. package/dist/{types → api/types}/connector.d.ts +9 -6
  36. package/dist/api/types/coolify.d.ts +36 -0
  37. package/dist/{types → api/types}/copilot.d.ts +19 -13
  38. package/dist/{types → api/types}/countries.d.ts +0 -7
  39. package/dist/{types → api/types}/credentials.d.ts +1 -0
  40. package/dist/api/types/detections.d.ts +121 -0
  41. package/dist/{types → api/types}/errors.d.ts +13 -0
  42. package/dist/{types → api/types}/gateReport.d.ts +46 -150
  43. package/dist/api/types/hdd.d.ts +88 -0
  44. package/dist/{types → api/types}/index.d.ts +15 -2
  45. package/dist/api/types/ingest.d.ts +134 -0
  46. package/dist/{types → api/types}/kit.d.ts +94 -6
  47. package/dist/{types → api/types}/media.d.ts +2 -1
  48. package/dist/api/types/notification.d.ts +57 -0
  49. package/dist/{types → api/types}/nvr.d.ts +2 -1
  50. package/dist/api/types/oauth.d.ts +62 -0
  51. package/dist/{types/sitePlanner.d.ts → api/types/planner.d.ts} +11 -2
  52. package/dist/api/types/posthog.d.ts +33 -0
  53. package/dist/api/types/procore.d.ts +229 -0
  54. package/dist/{types → api/types}/progressPhoto.d.ts +11 -23
  55. package/dist/api/types/project.d.ts +242 -0
  56. package/dist/{types → api/types}/recording.d.ts +3 -4
  57. package/dist/api/types/recycleBin.d.ts +14 -0
  58. package/dist/api/types/ring.d.ts +53 -0
  59. package/dist/{types → api/types}/roi.d.ts +2 -1
  60. package/dist/{types → api/types}/routeParams.d.ts +4 -2
  61. package/dist/{types → api/types}/router.d.ts +20 -1
  62. package/dist/{types → api/types}/shared.d.ts +14 -21
  63. package/dist/api/types/shares.d.ts +58 -0
  64. package/dist/{types → api/types}/sim.d.ts +6 -6
  65. package/dist/api/types/siteAnalytics.d.ts +287 -0
  66. package/dist/api/types/smartSeach.d.ts +5 -0
  67. package/dist/{types → api/types}/snapshots.d.ts +10 -1
  68. package/dist/api/types/sso.d.ts +55 -0
  69. package/dist/api/types/storyblok.d.ts +40 -0
  70. package/dist/api/types/streaming.d.ts +97 -0
  71. package/dist/api/types/systemCheck.d.ts +11 -0
  72. package/dist/api/types/tag.d.ts +12 -0
  73. package/dist/api/types/time.d.ts +7 -0
  74. package/dist/{types → api/types}/timelapse.d.ts +18 -4
  75. package/dist/{types → api/types}/user.d.ts +105 -35
  76. package/dist/api/types/videoWall.d.ts +66 -0
  77. package/dist/api/types/weather.d.ts +153 -0
  78. package/dist/{types → api/types}/widget.d.ts +103 -20
  79. package/dist/api/types/xweather.d.ts +12 -0
  80. package/dist/{utils.d.ts → api/utils.d.ts} +1 -0
  81. package/dist/index.d.ts +2 -3
  82. package/dist/index.js +1741 -960
  83. package/dist/index.js.map +1 -1
  84. package/dist/index.umd.cjs +1 -1
  85. package/dist/index.umd.cjs.map +1 -1
  86. package/dist/shared/api/index.d.ts +3 -0
  87. package/dist/shared/components/timelinePlayer/providers/index.d.ts +3 -0
  88. package/dist/shared/components/timelinePlayer/providers/timelineAnprProvider.d.ts +17 -0
  89. package/dist/shared/components/timelinePlayer/providers/timelineDataProvider.d.ts +13 -0
  90. package/dist/shared/components/timelinePlayer/providers/timelineLuminanceProvider.d.ts +16 -0
  91. package/dist/shared/types/components.d.ts +270 -0
  92. package/dist/shared/types/imagePlayer.d.ts +34 -0
  93. package/dist/shared/types/index.d.ts +4 -0
  94. package/dist/shared/types/timeline.d.ts +10 -0
  95. package/package.json +8 -7
  96. package/dist/api/3dFirebaseApi.d.ts +0 -9
  97. package/dist/api/adminApi.d.ts +0 -289
  98. package/dist/api/aiApi.d.ts +0 -76
  99. package/dist/api/authzApi.d.ts +0 -21
  100. package/dist/api/evercamApi.d.ts +0 -266
  101. package/dist/api/evercamLabsApi.d.ts +0 -50
  102. package/dist/api/ingestApi.d.ts +0 -65
  103. package/dist/api/videoWallApi.d.ts +0 -9
  104. package/dist/api/weatherApi.d.ts +0 -25
  105. package/dist/types/360.d.ts +0 -83
  106. package/dist/types/aconex.d.ts +0 -45
  107. package/dist/types/automation.d.ts +0 -6
  108. package/dist/types/comments.d.ts +0 -36
  109. package/dist/types/company.d.ts +0 -46
  110. package/dist/types/detections.d.ts +0 -70
  111. package/dist/types/devices.d.ts +0 -228
  112. package/dist/types/ingest.d.ts +0 -43
  113. package/dist/types/notification.d.ts +0 -27
  114. package/dist/types/procore.d.ts +0 -76
  115. package/dist/types/project.d.ts +0 -120
  116. package/dist/types/shares.d.ts +0 -192
  117. package/dist/types/siteAnalytics.d.ts +0 -5
  118. package/dist/types/streaming.d.ts +0 -119
  119. package/dist/types/time.d.ts +0 -19
  120. package/dist/types/videoWall.d.ts +0 -33
  121. package/dist/types/weather.d.ts +0 -83
  122. /package/dist/api/{client → api/client}/index.d.ts +0 -0
  123. /package/dist/api/{webRtcApi.d.ts → api/webRtcApi.d.ts} +0 -0
  124. /package/dist/{types → api/types}/drone.d.ts +0 -0
  125. /package/dist/{types → api/types}/map.d.ts +0 -0
  126. /package/dist/{types → api/types}/storageServers.d.ts +0 -0
  127. /package/dist/{types → api/types}/vendorModel.d.ts +0 -0
  128. /package/dist/{types → api/types}/voyageControl.d.ts +0 -0
@@ -0,0 +1,95 @@
1
+ import { AconexIdentifiers, CameraExid } from "@evercam/api/types";
2
+ export declare enum AutomationProvider {
3
+ Aconex = "aconex",
4
+ Procore = "procore",
5
+ Autodesk = "autodesk",
6
+ Email = "email"
7
+ }
8
+ export declare enum AutomationType {
9
+ Photo = "photo",
10
+ Compare = "compare",
11
+ GateReport = "gate_report"
12
+ }
13
+ export type AutomationCompareConfig = {
14
+ compareDelay: number;
15
+ };
16
+ export type AutomationEmailRecipient = string | {
17
+ email: string;
18
+ };
19
+ export type AutomationGateReportConfig = {
20
+ projectExid: string;
21
+ vehicleTypes: string[];
22
+ fileType: string;
23
+ period: number;
24
+ columns: string[];
25
+ recipients: string | string[];
26
+ };
27
+ export type AutomationEmailProviderConfig = {
28
+ cameraExids?: CameraExid[];
29
+ recipients: string | AutomationEmailRecipient[];
30
+ };
31
+ export type AutomationProcoreProviderConfig = {
32
+ companyId: number;
33
+ companyName: string;
34
+ projectId: number;
35
+ projectName: string;
36
+ categoryId: number;
37
+ categoryName: string;
38
+ };
39
+ export type AutomationAconexProviderConfig = {
40
+ projectId: number;
41
+ projectName: string;
42
+ } & Partial<Record<AconexIdentifiers, string | number | boolean>>;
43
+ export type AutomationAutodeskProviderConfig = {
44
+ hubId: number;
45
+ hubName: string;
46
+ projectId: number;
47
+ projectName: string;
48
+ folderId: number;
49
+ accFileType: string;
50
+ accFolderType: string;
51
+ folderName: string;
52
+ };
53
+ export type AutomationProviderConfig = AutomationEmailProviderConfig | AutomationProcoreProviderConfig | AutomationAconexProviderConfig | AutomationAutodeskProviderConfig;
54
+ export type AutomationOptionsConfig = AutomationCompareConfig | AutomationGateReportConfig | {};
55
+ export type AutomationConfig = AutomationProviderConfig & AutomationOptionsConfig;
56
+ export type Automation = {
57
+ id?: number;
58
+ cameraExids: CameraExid[];
59
+ name: string;
60
+ subject?: string;
61
+ provider: AutomationProvider;
62
+ type: AutomationType;
63
+ config: AutomationConfig;
64
+ notifyDays: string[];
65
+ notifyTime: string;
66
+ timezone: string;
67
+ isPaused: boolean;
68
+ restrictedCameraExids?: string[];
69
+ };
70
+ export declare enum AutomationConfigStep {
71
+ Type = "type",
72
+ Cameras = "cameras",
73
+ Settings = "settings",
74
+ Destination = "destination"
75
+ }
76
+ export type AutomationProviderOption = {
77
+ labelTranslationKey: string;
78
+ descriptionTranslationKey: string;
79
+ value: AutomationProvider;
80
+ icon: string;
81
+ iconSize?: string;
82
+ requiresConnection: boolean;
83
+ };
84
+ export type FormattedAutomation = {
85
+ cameraExids: string;
86
+ name: string;
87
+ subject: string;
88
+ provider: AutomationProvider;
89
+ type: AutomationType;
90
+ config: Partial<AutomationProviderConfig> & Partial<AutomationOptionsConfig>;
91
+ notifyDays: string;
92
+ notifyTime: string;
93
+ timezone: string;
94
+ isPaused: boolean;
95
+ };
@@ -1,14 +1,17 @@
1
1
  import type { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelTokenSource, CancelTokenStatic } from "axios";
2
+ import { Swr } from "@evercam/api/api/client/swr/Swr";
2
3
  export type TimedRequest<T> = Promise<AxiosResponse<T> & {
3
4
  duration: number;
4
5
  error?: AxiosError;
5
6
  }>;
6
7
  export type AxiosEnvironment = {
7
- isStaging?: boolean;
8
8
  baseUrl?: string | null;
9
9
  stagingAiApiUrl?: string | null;
10
10
  aiApiUrl?: string | null;
11
11
  ingestApiUrl?: string | null;
12
+ ingestGpuApiUrl?: string | null;
13
+ ingestGpuV3ApiUrl?: string | null;
14
+ ingestGpuV4ApiUrl?: string | null;
12
15
  posthogApiUrl?: string | null;
13
16
  posthogProjectId?: string | null;
14
17
  posthogPrivateApiKey?: string | null;
@@ -16,17 +19,20 @@ export type AxiosEnvironment = {
16
19
  weatherApiBaseUrl?: string | null;
17
20
  evercamLabsUrl?: string | null;
18
21
  firebaseDbLink?: string | null;
22
+ firebaseStorageUrl?: string | null;
23
+ firebaseStorageToken?: string | null;
19
24
  snapshotsURL?: string | null;
20
25
  app?: string | null;
21
26
  getAuthToken?: () => string | null;
22
27
  errorLogger?: (error: AxiosError) => void;
28
+ swrKey?: string;
23
29
  };
24
30
  export type RequestInterceptor = (req: AxiosRequestConfig, env: AxiosEnvironment) => AxiosRequestConfig & any;
25
31
  export type ResponseInterceptor = (res: AxiosResponse, env: AxiosEnvironment) => AxiosResponse & any;
26
32
  export type ErrorInterceptor = (error: any, env: AxiosEnvironment) => any;
27
33
  export interface ExtendedAxiosInstance extends AxiosInstance {
28
34
  CancelToken: CancelTokenStatic;
29
- isCancel: (value: AxiosResponse | AxiosError | never) => boolean;
35
+ isCancel: (value: AxiosResponse | AxiosError | unknown) => boolean;
30
36
  setToken: (token: string) => void;
31
37
  setHeader: (headerName: string, value: any) => void;
32
38
  generateCancelTokenSource: () => CancelTokenSource;
@@ -38,7 +44,17 @@ export interface ExtendedAxiosInstance extends AxiosInstance {
38
44
  addRequestInterceptor: (interceptor: RequestInterceptor, errorInterceptor?: ErrorInterceptor) => void;
39
45
  addResponseInterceptor: (interceptor: ResponseInterceptor, errorInterceptor?: ErrorInterceptor) => void;
40
46
  addErrorInterceptor: (interceptor: ErrorInterceptor) => void;
47
+ swr: Swr;
41
48
  }
49
+ export type ResponseValue<T> = T | undefined;
50
+ export type SwrResponse<T> = {
51
+ cachedValue: ResponseValue<T>;
52
+ freshPromise: Promise<ResponseValue<T>>;
53
+ };
54
+ export type SwrRequestConfig<T> = Omit<AxiosRequestConfig, "onSwrHit" | "onSwrRefresh"> & {
55
+ onSwrHit?: (data: T) => unknown;
56
+ onSwrRefresh?: (data: T) => unknown;
57
+ };
42
58
  declare module "axios" {
43
59
  interface AxiosRequestConfig {
44
60
  raw?: boolean;
@@ -47,5 +63,9 @@ declare module "axios" {
47
63
  _metadata?: {
48
64
  startTime: number;
49
65
  };
66
+ swr?: boolean;
67
+ onSwrHit?: (data: any) => unknown;
68
+ onSwrRefresh?: (data: any) => unknown;
69
+ onSwrError?: (error: Error) => unknown;
50
70
  }
51
71
  }
@@ -1,4 +1,4 @@
1
- import { DateTime, DateType } from "@/types";
1
+ import { CompareLogoPosition, DateType } from "@evercam/api/types";
2
2
  export declare enum BimModelType {
3
3
  Architectural = "Architectural",
4
4
  Structural = "Structural",
@@ -48,14 +48,15 @@ export type BimCompareExportRequestPayload = {
48
48
  layerId?: number;
49
49
  maskId?: number;
50
50
  evercamWatermark?: boolean;
51
+ logo?: CompareLogoPosition;
51
52
  };
52
53
  export type BimLayerResponsePayload = {
53
54
  id: number;
54
55
  name: string;
55
- insertedAt: DateTime;
56
- updatedAt: DateTime;
56
+ insertedAt: string;
57
+ updatedAt: string;
57
58
  shapes: string;
58
- startAt: DateTime;
59
+ startAt: string;
59
60
  };
60
61
  export declare enum BimUploadStatus {
61
62
  Initial = 0,
@@ -78,13 +79,18 @@ export type BimCreationPayload = {
78
79
  };
79
80
  export declare enum BIMLayerTypes {
80
81
  Mask = "mask",
82
+ BimMask = "bim_mask",
81
83
  MeasuringGrid = "measuring_grid",
82
84
  BimArchitectural = "bim_architectural",
83
85
  BimStructural = "bim_structural",
84
86
  Bim4D = "bim_4d",
85
87
  BimMep = "bim_mep",
86
88
  RecordingsTag = "recordings_tag",
87
- Milestone = "milestone"
89
+ Milestone = "milestone",
90
+ ForgeBimArchitectural = "forge_bim_architectural",
91
+ ForgeBimStructural = "forge_bim_structural",
92
+ ForgeBim4D = "forge_bim_4d",
93
+ ForgeBimMep = "forge_bim_mep"
88
94
  }
89
95
  export type BimLayersQueryParams = {
90
96
  layerType: BIMLayerTypes;
@@ -1,5 +1,6 @@
1
- import { AuditLogActionType, DateTime_Z_micros, DateType, EntityByExid, Exid, NvrDeviceType, PaginationParams, PowerSchedule, PowerType, ProjectExid, Schedule } from "@/types";
2
- export type CameraExid = Exid;
1
+ import { AuditLogActionType, DateType, EntityByExid, KitAlarm, NvrDeviceType, PaginationParams, PowerSchedule, PowerType, ProjectExid, ProjectFeatureFlag, Schedule, ScheduleLowercase } from "@evercam/api/types";
2
+ import { DateRangeFilter } from "@evercam/api/types/time";
3
+ export type CameraExid = string;
3
4
  export type CamerasByExid = EntityByExid<Camera>;
4
5
  export type Cartesian3 = {
5
6
  x: number;
@@ -16,8 +17,8 @@ export type Camera = {
16
17
  status: string;
17
18
  storageDuration: string;
18
19
  };
19
- createdAt: DateTime_Z_micros;
20
- description: null;
20
+ createdAt: string;
21
+ description: string | null;
21
22
  discoverable: boolean;
22
23
  external: {
23
24
  host: string;
@@ -36,14 +37,14 @@ export type Camera = {
36
37
  featureFlags: Array<CameraFeatureFlag>;
37
38
  fovAngle: number;
38
39
  fovRadius: number;
39
- heading: null;
40
+ heading: number;
40
41
  id: CameraExid;
41
42
  exid: CameraExid;
42
43
  isOnline: boolean;
43
44
  isPowerScheduleActive: boolean;
44
45
  isPublic: boolean;
45
- lastOnlineAt: DateTime_Z_micros;
46
- lastPolledAt: DateTime_Z_micros;
46
+ lastOnlineAt: string;
47
+ lastPolledAt: string;
47
48
  location: {
48
49
  lat: number;
49
50
  lng: number;
@@ -62,7 +63,7 @@ export type Camera = {
62
63
  offlineReason: string;
63
64
  owned: boolean;
64
65
  owner: string;
65
- pitch: null;
66
+ pitch: string | null;
66
67
  project: {
67
68
  id: string;
68
69
  name: string;
@@ -72,85 +73,94 @@ export type Camera = {
72
73
  rtmp: string;
73
74
  };
74
75
  ptz: boolean;
75
- rights: string;
76
- roll: null;
76
+ recordingFromNvr: boolean;
77
+ model?: CameraModel;
78
+ roll: string | null;
77
79
  routerId: number;
78
80
  status: CameraStatus;
79
81
  streamingServer: string;
80
82
  thumbnailUrl: string;
81
83
  largeThumbnailUrl?: string;
82
84
  timezone: string;
83
- updatedAt: DateTime_Z_micros;
85
+ updatedAt: string;
84
86
  vendorName: string;
87
+ isAccessRestricted?: boolean;
88
+ kitAlarms?: KitAlarm[];
85
89
  };
86
90
  export type AdminCamera = {
87
- cameraHost: string;
88
- cameraHttpPort: number;
89
- cameraModel: string;
90
- cameraPassword: string;
91
- cameraPictureEndpoint: string;
92
- cameraRtspPort: number;
93
- cameraScheme: string;
94
- cameraUsername: string;
95
- cameraFirmwareVersion: string;
96
- cameraTimezone: string;
97
- cloudRecordingFrequency: number;
98
- cloudRecordingId: number;
99
- cloudRecordingSchedule: Schedule;
100
- cloudRecordingStatus: string;
101
- cloudRecordingStorageDuration: number;
102
- createdAt: DateTime_Z_micros;
103
- description: null;
104
- discoverable: false;
105
- exid: CameraExid;
106
- featureFlags: CameraFeatureFlag[];
107
- fovAngle: 45.0;
108
- fovRadius: number;
109
- heading: null;
110
91
  id: number;
111
- isPowerScheduleActive: true;
112
- isPublic: false;
113
- kitId?: number;
114
- lastOnlineAt: DateTime_Z_micros;
115
- lastPolledAt: DateTime_Z_micros;
116
- location: {
117
- lat: number;
118
- lng: number;
119
- };
120
- macAddress: string;
92
+ exid: CameraExid;
121
93
  name: string;
122
- nvrChannel: null;
123
- nvrDeviceId: string;
124
- nvrHost: string;
125
- nvrHttpPort: number;
126
- nvrModel: NvrModel;
127
- nvrPassword: string;
128
- nvrPictureEndpoint: string;
129
- nvrRtspPort: number;
130
- nvrScheme: string;
131
- nvrUsername: string;
132
- offlineReason: null;
133
- pitch: null;
134
- powerSchedule: Schedule;
135
- projectExid: string;
136
- projectFeatureFlags: [];
137
- projectId: number;
138
- projectName: string;
139
- ptz: false;
140
- recordingFromNvr: false;
141
- roll: null;
142
- routerId: number;
143
94
  status: string;
144
- storageProviders: [];
145
- streamEndpoint: string;
146
- timezone: string;
147
- updatedAt: DateTime_Z_micros;
148
- userApiId: string;
149
- userApiKey: string;
95
+ description: string | null;
96
+ createdAt: string;
97
+ updatedAt: string;
98
+ lastOnlineAt: string | null;
99
+ lastPolledAt: string | null;
100
+ decommissionedAt: string | null;
101
+ deletedAt?: string | null;
102
+ projectId: number | null;
103
+ projectExid: string | null;
104
+ projectName: string | null;
105
+ projectFeatureFlags: Array<ProjectFeatureFlag | string>;
106
+ userId: number | null;
150
107
  userEmail: string;
151
108
  userFullname: string;
152
- userId: number;
153
- zohoId: string;
109
+ userApiId?: string;
110
+ userApiKey?: string;
111
+ isPublic: boolean;
112
+ sharedWithConstruction?: boolean;
113
+ timezone: string | null;
114
+ location?: {
115
+ lat: number;
116
+ lng: number;
117
+ } | null;
118
+ fovAngle?: number | null;
119
+ fovRadius?: number | null;
120
+ heading?: number | null;
121
+ pitch?: number | null;
122
+ roll?: number | null;
123
+ cameraModel?: string | null;
124
+ cameraHost?: string | null;
125
+ cameraHttpPort?: number | null;
126
+ cameraRtspPort?: number | null;
127
+ cameraScheme?: string | null;
128
+ cameraUsername?: string | null;
129
+ cameraPassword?: string | null;
130
+ cameraPictureEndpoint?: string | null;
131
+ rtspUrl?: string | null;
132
+ httpUrl?: string | null;
133
+ deviceId?: string | null;
134
+ nvrId?: number | null;
135
+ nvrDeviceId?: string | null;
136
+ nvrModel?: NvrModel | string | null;
137
+ nvrHost?: string | null;
138
+ nvrHttpPort?: number | null;
139
+ nvrRtspPort?: number | null;
140
+ nvrScheme?: string | null;
141
+ nvrUsername?: string | null;
142
+ nvrPassword?: string | null;
143
+ nvrPictureEndpoint?: string | null;
144
+ streamEndpoint?: string | null;
145
+ routerId?: number | null;
146
+ kitId?: number | null;
147
+ powerType?: string | null;
148
+ powerSchedule?: ScheduleLowercase | Record<string, string[]>;
149
+ isPowerScheduleActive?: boolean;
150
+ discoverable?: boolean;
151
+ recordingFromNvr?: boolean;
152
+ cloudRecordingFrequency?: number | null;
153
+ cloudRecordingId?: number | null;
154
+ cloudRecordingStatus?: string | null;
155
+ cloudRecordingSchedule?: ScheduleLowercase | null;
156
+ cloudRecordingStorageDuration?: number | null;
157
+ anprSources?: string[];
158
+ storageProviders?: string[];
159
+ featureFlags?: CameraFeatureFlag[];
160
+ zohoId?: string | null;
161
+ offlineReason?: string | null;
162
+ macAddress?: string | null;
163
+ type?: string[];
154
164
  thumbnailUrl?: string;
155
165
  };
156
166
  export type CameraMapMarker = {
@@ -174,9 +184,19 @@ export declare enum CameraStatus {
174
184
  UnderMaintenance = "under_maintenance",
175
185
  WaitingForSiteVisit = "waiting_for_site_visit"
176
186
  }
187
+ export declare enum IntensityChange {
188
+ High = "High",
189
+ Moderate = "Moderate",
190
+ Low = "Low",
191
+ NoChange = "No change",
192
+ Default = "Default"
193
+ }
194
+ export declare const IntensityChangeColorMap: Record<IntensityChange, string>;
177
195
  export declare enum CameraFeatureFlag {
178
196
  EdgeVideo = "edge_video",
179
197
  BimCompare = "bim_compare",
198
+ TwoDBimCompare = "2d_bim_compare",
199
+ ForgeBIMCompare = "forge_bim_compare",
180
200
  GateReport = "gate_report",
181
201
  VideoStream = "video_stream",
182
202
  WebRTC = "webrtc",
@@ -185,7 +205,11 @@ export declare enum CameraFeatureFlag {
185
205
  PTZ = "ptz",
186
206
  ObjectDetection = "object_detection",
187
207
  Segmentation = "segmentation",
188
- SegmentationAutoLabelling = "segmentation_auto_labelling"
208
+ SegmentationAutoLabelling = "segmentation_auto_labelling",
209
+ PpeMonitoring = "ppe_monitoring",
210
+ NoLiveView = "no_live_view",
211
+ Ring = "ring",
212
+ CloudOnly = "cloud_only"
189
213
  }
190
214
  export type CameraLogsRequestPayload = {
191
215
  limit: number;
@@ -227,6 +251,8 @@ export type CameraUpdateRequestPayload = {
227
251
  heading?: number;
228
252
  fovAngle?: number;
229
253
  fovRadius?: number;
254
+ featureFlags: CameraFeatureFlag[];
255
+ isAccessRestricted?: boolean;
230
256
  };
231
257
  export type CamerasResponsePayload = {
232
258
  cameras?: Camera[];
@@ -288,7 +314,8 @@ export declare enum CameraModel {
288
314
  Hikvision = "hikvision",
289
315
  Avigilion = "avigilion",
290
316
  Hanwha = "hanwha",
291
- Other = "other"
317
+ Other = "other",
318
+ Ring = "ring"
292
319
  }
293
320
  export type DroneCameraTransform = {
294
321
  position: Cartesian3;
@@ -320,56 +347,6 @@ export type Hdd = {
320
347
  errorStatus: string;
321
348
  canExpand: boolean;
322
349
  };
323
- export declare enum ResolutionDimensions {
324
- QVGA = "320x240",
325
- VGA = "640x480",
326
- SVGA = "800x600",
327
- XGA = "1024x768",
328
- HD = "1280x720",
329
- WXGA = "1280x800",
330
- HDPlus = "1366x768",
331
- WXGAPlus = "1440x900",
332
- HDPlusPlus = "1600x900",
333
- UXGA = "1600x1200",
334
- FullHD = "1920x1080",
335
- WUXGA = "1920x1200",
336
- TwoK = "2048x1080",
337
- QHD = "2560x1440",
338
- WQXGA = "2560x1600",
339
- FourK = "3840x2160",
340
- FourKCinema = "4096x2160",
341
- FiveK = "5120x2880",
342
- EightK = "7680x4320",
343
- WHUXGA = "7680x4800"
344
- }
345
- export declare enum ResolutionLabel {
346
- QVGA = "QVGA",
347
- VGA = "VGA",
348
- SVGA = "SVGA",
349
- XGA = "XGA",
350
- HD = "HD",
351
- WXGA = "WXGA",
352
- HDPlus = "HD+",
353
- WXGAPlus = "WXGA++",
354
- HDPlusPlus = "HD++",
355
- UXGA = "UXGA",
356
- FullHD = "FullHD",
357
- WUXGA = "WUXGA",
358
- TwoK = "2K",
359
- QHD = "QHD",
360
- WQXGA = "WQXGA",
361
- FourK = "4K",
362
- FourKCinema = "4KCinema",
363
- FiveK = "5K",
364
- EightK = "8K",
365
- WHUXGA = "WHUXGA"
366
- }
367
- export type ResolutionInfo = {
368
- ratioString: string;
369
- ratioFloat: number;
370
- resolutionDimensions: ResolutionDimensions;
371
- resolutionLabel: ResolutionLabel;
372
- };
373
350
  export type CameraPath = {
374
351
  projectExid: ProjectExid;
375
352
  cameraExid: CameraExid;
@@ -377,6 +354,7 @@ export type CameraPath = {
377
354
  export type CheckCameraPortPayload = {
378
355
  address: string;
379
356
  port: number;
357
+ open: boolean;
380
358
  };
381
359
  export type CameraCreateRequestPayload = {
382
360
  status: CameraStatus;
@@ -561,3 +539,10 @@ export type FetchCameraQueryParams = PaginationParams & {
561
539
  externalRsptPort: string;
562
540
  nvrHttpPort: string;
563
541
  };
542
+ export declare enum BimType {
543
+ TwoD = "2D",
544
+ Forge = "Forge"
545
+ }
546
+ export type CameraDateRangeFilter = DateRangeFilter & {
547
+ cameraExid: CameraExid;
548
+ };
@@ -0,0 +1,55 @@
1
+ import { CameraExid, DateType, ProjectExid, PaginationParams } from "@evercam/api/types";
2
+ export declare enum CommentsScope {
3
+ Recordings = "recordings",
4
+ ThreeSixty = "360",
5
+ Drone = "drone"
6
+ }
7
+ export declare enum CommentsLabel {
8
+ Info = "Info",
9
+ Danger = "Danger",
10
+ Restricted = "Restricted"
11
+ }
12
+ export type CommentsRequestPayload = {
13
+ scope: CommentsScope;
14
+ };
15
+ export type CommentsListRequestPayload = PaginationParams & {
16
+ projectExid?: ProjectExid;
17
+ cameraExid?: CameraExid;
18
+ fromDate?: string;
19
+ toDate?: string;
20
+ scope?: CommentsScope;
21
+ creatorEmail?: string;
22
+ content?: string;
23
+ includeArchived?: boolean;
24
+ };
25
+ export type Comment = {
26
+ fromDate?: string;
27
+ toDate?: string;
28
+ timestamp: string;
29
+ projectExid: ProjectExid;
30
+ updatedAt?: string;
31
+ id?: number;
32
+ cameraExid: CameraExid;
33
+ content: string;
34
+ createdAt?: string;
35
+ creatorEmail?: string;
36
+ creatorName?: string;
37
+ position2d?: [number, number];
38
+ position3d?: [number, number, number];
39
+ context?: Record<string, unknown>;
40
+ canDelete?: boolean;
41
+ archivedAt?: string;
42
+ label?: CommentsLabel;
43
+ };
44
+ export type CommentCreationRequestPayload = {
45
+ fromDate?: DateType;
46
+ toDate?: DateType;
47
+ timestamp?: DateType;
48
+ scope?: CommentsScope;
49
+ projectExid: ProjectExid;
50
+ cameraExid?: CameraExid;
51
+ content: string;
52
+ position2d?: number[];
53
+ position3d?: number[];
54
+ context?: Record<string, unknown>;
55
+ };
@@ -0,0 +1,115 @@
1
+ import type { DateType, PaginationParams } from "@evercam/api/types";
2
+ export type CompanyUser = {
3
+ id: number;
4
+ fullname: string;
5
+ email: string;
6
+ eventsCount: number;
7
+ lastSeenAt: string;
8
+ active: boolean;
9
+ };
10
+ export type AdminCompanyUser = {
11
+ id: number;
12
+ email: string;
13
+ fullname: string;
14
+ lastLoginAt: string;
15
+ };
16
+ export type CompanyProject = {
17
+ exid: string;
18
+ name: string;
19
+ status: string;
20
+ startedAt: DateType;
21
+ };
22
+ export type AdminCompanyProject = {
23
+ id: number;
24
+ name: string;
25
+ status: string;
26
+ insertedAt: DateType;
27
+ exid: string;
28
+ endDate: string | null;
29
+ startDate: string | null;
30
+ archiveTier: string | null;
31
+ };
32
+ export type CompanyKit = {
33
+ id: number;
34
+ name: string;
35
+ serial: string;
36
+ status: string;
37
+ powerType: string;
38
+ countryName: string;
39
+ nvrId: string;
40
+ nvrSerial: string;
41
+ nvrVersion: string;
42
+ nvrNerves: boolean;
43
+ nvrModel: string;
44
+ nvrDeviceType: string;
45
+ routerId: string;
46
+ routerSerial: string;
47
+ projectExid: string;
48
+ projectName: string;
49
+ alarms: Array<string>;
50
+ sims: Array<{
51
+ id: number;
52
+ number: string;
53
+ }>;
54
+ cameras: Array<{
55
+ exid: string;
56
+ name: string;
57
+ status: string;
58
+ }>;
59
+ };
60
+ export type Company = {
61
+ id: number;
62
+ exid: string;
63
+ name: string;
64
+ zohoId: string;
65
+ domains: string;
66
+ linkedinUrl: string;
67
+ sessions: number;
68
+ projects: number;
69
+ cameras: number;
70
+ users: number;
71
+ activeUsers: number;
72
+ insertedAt: DateType;
73
+ };
74
+ export type CompanySummary = {
75
+ id: number;
76
+ name: string;
77
+ users: number;
78
+ insertedAt: DateType;
79
+ exid: string;
80
+ sessions: number;
81
+ projects: number;
82
+ zohoId: string;
83
+ domains: string;
84
+ linkedinUrl: string | null;
85
+ ssoProviders: string[];
86
+ cameras: number;
87
+ kits: number;
88
+ };
89
+ export type CompanyCameraSummary = {
90
+ id: number;
91
+ name: string;
92
+ status: string;
93
+ exid: string;
94
+ projectExid: string | null;
95
+ ownerEmail: string;
96
+ ownerFullname: string;
97
+ usersCount: number;
98
+ };
99
+ export type CompanyQueryParams = PaginationParams & {
100
+ name: string;
101
+ exid: string;
102
+ domains: string;
103
+ projects: string;
104
+ cameras: string;
105
+ users: string;
106
+ activeUsers: string;
107
+ sessions: string;
108
+ };
109
+ export type CompanyUpdatePayload = {
110
+ name: string;
111
+ exid: string;
112
+ linkedinUrl?: string;
113
+ domains?: string;
114
+ zohoId?: string;
115
+ };