@evercam/api 1.0.0-8134dc28b → 1.0.0-815a0b34c

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 (137) hide show
  1. package/README.md +4 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +176 -0
  3. package/dist/api/api/adminApi.d.ts +380 -0
  4. package/dist/api/api/aiApi.d.ts +159 -0
  5. package/dist/api/api/authzApi.d.ts +37 -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 +1 -1
  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 +346 -0
  12. package/dist/api/api/evercamLabsApi.d.ts +45 -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 +149 -0
  16. package/dist/api/{ptzApi.d.ts → api/ptzApi.d.ts} +12 -3
  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 +281 -0
  21. package/dist/api/types/aconex.d.ts +143 -0
  22. package/dist/api/types/admin.d.ts +51 -0
  23. package/dist/api/types/aiConfigs.d.ts +154 -0
  24. package/dist/{types → api/types}/analytics.d.ts +209 -80
  25. package/dist/{types → api/types}/anpr.d.ts +56 -13
  26. package/dist/{types → api/types}/auditLogs.d.ts +19 -1
  27. package/dist/api/types/authz.d.ts +61 -0
  28. package/dist/{types → api/types}/autodesk.d.ts +7 -7
  29. package/dist/api/types/automation.d.ts +95 -0
  30. package/dist/{types → api/types}/axios.d.ts +23 -3
  31. package/dist/{types → api/types}/bim.d.ts +28 -5
  32. package/dist/{types → api/types}/camera.d.ts +115 -144
  33. package/dist/api/types/comments.d.ts +57 -0
  34. package/dist/api/types/company.d.ts +115 -0
  35. package/dist/{types → api/types}/compare.d.ts +20 -5
  36. package/dist/{types → api/types}/connector.d.ts +9 -6
  37. package/dist/api/types/coolify.d.ts +36 -0
  38. package/dist/{types → api/types}/copilot.d.ts +11 -6
  39. package/dist/{types → api/types}/countries.d.ts +0 -7
  40. package/dist/{types → api/types}/credentials.d.ts +1 -0
  41. package/dist/api/types/detections.d.ts +116 -0
  42. package/dist/api/types/drone.d.ts +107 -0
  43. package/dist/{types → api/types}/errors.d.ts +13 -0
  44. package/dist/{types → api/types}/gateReport.d.ts +50 -158
  45. package/dist/api/types/gateReportManagement.d.ts +175 -0
  46. package/dist/{types → api/types}/hdd.d.ts +26 -1
  47. package/dist/{types → api/types}/index.d.ts +15 -2
  48. package/dist/api/types/ingest.d.ts +147 -0
  49. package/dist/{types → api/types}/kit.d.ts +89 -7
  50. package/dist/api/types/map.d.ts +16 -0
  51. package/dist/{types → api/types}/media.d.ts +2 -1
  52. package/dist/api/types/notification.d.ts +57 -0
  53. package/dist/api/types/oauth.d.ts +62 -0
  54. package/dist/api/types/planner.d.ts +132 -0
  55. package/dist/api/types/posthog.d.ts +33 -0
  56. package/dist/api/types/procore.d.ts +229 -0
  57. package/dist/{types → api/types}/progressPhoto.d.ts +11 -23
  58. package/dist/api/types/project.d.ts +247 -0
  59. package/dist/{types → api/types}/recording.d.ts +6 -12
  60. package/dist/api/types/recycleBin.d.ts +14 -0
  61. package/dist/api/types/ring.d.ts +53 -0
  62. package/dist/{types → api/types}/roi.d.ts +1 -0
  63. package/dist/{types → api/types}/routeParams.d.ts +4 -2
  64. package/dist/{types → api/types}/router.d.ts +20 -1
  65. package/dist/{types → api/types}/shared.d.ts +31 -10
  66. package/dist/api/types/shares.d.ts +58 -0
  67. package/dist/{types → api/types}/sim.d.ts +6 -6
  68. package/dist/api/types/siteAnalytics.d.ts +287 -0
  69. package/dist/api/types/siteView.d.ts +73 -0
  70. package/dist/api/types/smartSeach.d.ts +5 -0
  71. package/dist/api/types/snapshots.d.ts +104 -0
  72. package/dist/api/types/sso.d.ts +55 -0
  73. package/dist/api/types/storageProvider.d.ts +19 -0
  74. package/dist/api/types/storyblok.d.ts +40 -0
  75. package/dist/{types → api/types}/streaming.d.ts +4 -25
  76. package/dist/api/types/systemCheck.d.ts +11 -0
  77. package/dist/{types → api/types}/tag.d.ts +1 -1
  78. package/dist/api/types/time.d.ts +7 -0
  79. package/dist/{types → api/types}/timelapse.d.ts +8 -5
  80. package/dist/{types → api/types}/user.d.ts +105 -37
  81. package/dist/api/types/videoWall.d.ts +66 -0
  82. package/dist/api/types/weather.d.ts +153 -0
  83. package/dist/{types → api/types}/widget.d.ts +96 -16
  84. package/dist/api/types/xweather.d.ts +12 -0
  85. package/dist/index.d.ts +2 -3
  86. package/dist/index.js +2337 -1049
  87. package/dist/index.js.map +1 -1
  88. package/dist/index.umd.cjs +1 -1
  89. package/dist/index.umd.cjs.map +1 -1
  90. package/dist/shared/api/index.d.ts +3 -0
  91. package/dist/shared/components/timelinePlayer/providers/index.d.ts +3 -0
  92. package/dist/shared/components/timelinePlayer/providers/timelineAnprProvider.d.ts +17 -0
  93. package/dist/shared/components/timelinePlayer/providers/timelineDataProvider.d.ts +13 -0
  94. package/dist/shared/components/timelinePlayer/providers/timelineLuminanceProvider.d.ts +16 -0
  95. package/dist/shared/types/components.d.ts +323 -0
  96. package/dist/shared/types/imagePlayer.d.ts +41 -0
  97. package/dist/shared/types/index.d.ts +5 -0
  98. package/dist/shared/types/rbac.d.ts +67 -0
  99. package/dist/shared/types/timeline.d.ts +10 -0
  100. package/package.json +5 -4
  101. package/dist/api/3dFirebaseApi.d.ts +0 -9
  102. package/dist/api/adminApi.d.ts +0 -313
  103. package/dist/api/aiApi.d.ts +0 -110
  104. package/dist/api/authzApi.d.ts +0 -21
  105. package/dist/api/evercamApi.d.ts +0 -266
  106. package/dist/api/evercamLabsApi.d.ts +0 -50
  107. package/dist/api/ingestApi.d.ts +0 -66
  108. package/dist/api/videoWallApi.d.ts +0 -9
  109. package/dist/api/weatherApi.d.ts +0 -27
  110. package/dist/types/360.d.ts +0 -83
  111. package/dist/types/aconex.d.ts +0 -45
  112. package/dist/types/automation.d.ts +0 -6
  113. package/dist/types/comments.d.ts +0 -36
  114. package/dist/types/company.d.ts +0 -46
  115. package/dist/types/coolify.d.ts +0 -18
  116. package/dist/types/detections.d.ts +0 -76
  117. package/dist/types/devices.d.ts +0 -228
  118. package/dist/types/drone.d.ts +0 -17
  119. package/dist/types/ingest.d.ts +0 -43
  120. package/dist/types/map.d.ts +0 -4
  121. package/dist/types/notification.d.ts +0 -27
  122. package/dist/types/planner.d.ts +0 -28
  123. package/dist/types/procore.d.ts +0 -76
  124. package/dist/types/project.d.ts +0 -119
  125. package/dist/types/shares.d.ts +0 -192
  126. package/dist/types/siteAnalytics.d.ts +0 -84
  127. package/dist/types/snapshots.d.ts +0 -50
  128. package/dist/types/storageServers.d.ts +0 -4
  129. package/dist/types/time.d.ts +0 -19
  130. package/dist/types/videoWall.d.ts +0 -33
  131. package/dist/types/weather.d.ts +0 -83
  132. /package/dist/api/{client → api/client}/index.d.ts +0 -0
  133. /package/dist/api/{webRtcApi.d.ts → api/webRtcApi.d.ts} +0 -0
  134. /package/dist/{types → api/types}/nvr.d.ts +0 -0
  135. /package/dist/{types → api/types}/vendorModel.d.ts +0 -0
  136. /package/dist/{types → api/types}/voyageControl.d.ts +0 -0
  137. /package/dist/{utils.d.ts → api/utils.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,4 +1,5 @@
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;
@@ -7,25 +8,30 @@ export type AxiosEnvironment = {
7
8
  baseUrl?: string | null;
8
9
  stagingAiApiUrl?: string | null;
9
10
  aiApiUrl?: string | null;
10
- ingestApiUrl?: string | null;
11
+ ingestDroneApi?: string | null;
12
+ ingest360Api?: string | null;
13
+ ingestGpuApiUrl?: string | null;
11
14
  posthogApiUrl?: string | null;
12
15
  posthogProjectId?: string | null;
13
- posthogPrivateApiKey?: string | null;
14
16
  firebaseVideowallUrl?: string | null;
15
17
  weatherApiBaseUrl?: string | null;
16
18
  evercamLabsUrl?: string | null;
17
19
  firebaseDbLink?: string | null;
20
+ firebaseStorageUrl?: string | null;
21
+ firebaseStorageToken?: string | null;
22
+ forgeTokenServerUrl?: string | null;
18
23
  snapshotsURL?: string | null;
19
24
  app?: string | null;
20
25
  getAuthToken?: () => string | null;
21
26
  errorLogger?: (error: AxiosError) => void;
27
+ swrKey?: string;
22
28
  };
23
29
  export type RequestInterceptor = (req: AxiosRequestConfig, env: AxiosEnvironment) => AxiosRequestConfig & any;
24
30
  export type ResponseInterceptor = (res: AxiosResponse, env: AxiosEnvironment) => AxiosResponse & any;
25
31
  export type ErrorInterceptor = (error: any, env: AxiosEnvironment) => any;
26
32
  export interface ExtendedAxiosInstance extends AxiosInstance {
27
33
  CancelToken: CancelTokenStatic;
28
- isCancel: (value: AxiosResponse | AxiosError | never) => boolean;
34
+ isCancel: (value: AxiosResponse | AxiosError | unknown) => boolean;
29
35
  setToken: (token: string) => void;
30
36
  setHeader: (headerName: string, value: any) => void;
31
37
  generateCancelTokenSource: () => CancelTokenSource;
@@ -37,7 +43,17 @@ export interface ExtendedAxiosInstance extends AxiosInstance {
37
43
  addRequestInterceptor: (interceptor: RequestInterceptor, errorInterceptor?: ErrorInterceptor) => void;
38
44
  addResponseInterceptor: (interceptor: ResponseInterceptor, errorInterceptor?: ErrorInterceptor) => void;
39
45
  addErrorInterceptor: (interceptor: ErrorInterceptor) => void;
46
+ swr: Swr;
40
47
  }
48
+ export type ResponseValue<T> = T | undefined;
49
+ export type SwrResponse<T> = {
50
+ cachedValue: ResponseValue<T>;
51
+ freshPromise: Promise<ResponseValue<T>>;
52
+ };
53
+ export type SwrRequestConfig<T> = Omit<AxiosRequestConfig, "onSwrHit" | "onSwrRefresh"> & {
54
+ onSwrHit?: (data: T) => unknown;
55
+ onSwrRefresh?: (data: T) => unknown;
56
+ };
41
57
  declare module "axios" {
42
58
  interface AxiosRequestConfig {
43
59
  raw?: boolean;
@@ -46,5 +62,9 @@ declare module "axios" {
46
62
  _metadata?: {
47
63
  startTime: number;
48
64
  };
65
+ swr?: boolean;
66
+ onSwrHit?: (data: any) => unknown;
67
+ onSwrRefresh?: (data: any) => unknown;
68
+ onSwrError?: (error: Error) => unknown;
49
69
  }
50
70
  }
@@ -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;
@@ -145,3 +151,20 @@ export type BimUploadPayload = {
145
151
  fileExtension: string;
146
152
  }[];
147
153
  };
154
+ export declare enum ForgeBimUploadMethod {
155
+ FileUpload = "file_upload",
156
+ AutodeskAcc = "autodesk_acc"
157
+ }
158
+ export declare enum ForgeBimFileRejectionReason {
159
+ InvalidType = "invalid_type",
160
+ ExceedsSizeLimit = "exceeds_size_limit"
161
+ }
162
+ export declare enum ForgeBimUploadStage {
163
+ TusUpload = "tus_upload",
164
+ IngestUpload = "ingest_upload"
165
+ }
166
+ export declare enum ForgeBimDialogTrigger {
167
+ UpdateModel = "update_model",
168
+ AddModel = "add_model",
169
+ InitialSetup = "initial_setup"
170
+ }
@@ -1,11 +1,8 @@
1
- import { AuditLogActionType, DateTime_Z_micros, DateType, EntityByExid, NvrDeviceType, PaginationParams, PowerSchedule, PowerType, ProjectExid, Schedule } from "@/types";
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
+ import { GeoPoint, TuplePoint2D } from "@evercam/api/types/shared";
2
4
  export type CameraExid = string;
3
5
  export type CamerasByExid = EntityByExid<Camera>;
4
- export type Cartesian3 = {
5
- x: number;
6
- y: number;
7
- z: number;
8
- };
9
6
  export type Camera = {
10
7
  cameraPowerSchedule?: Schedule;
11
8
  camPassword?: string;
@@ -16,8 +13,9 @@ export type Camera = {
16
13
  status: string;
17
14
  storageDuration: string;
18
15
  };
19
- createdAt: DateTime_Z_micros;
20
- description: null;
16
+ liveViewFrequency: number | null;
17
+ createdAt: string;
18
+ description: string | null;
21
19
  discoverable: boolean;
22
20
  external: {
23
21
  host: string;
@@ -36,18 +34,15 @@ export type Camera = {
36
34
  featureFlags: Array<CameraFeatureFlag>;
37
35
  fovAngle: number;
38
36
  fovRadius: number;
39
- heading: null;
37
+ heading: number;
40
38
  id: CameraExid;
41
39
  exid: CameraExid;
42
40
  isOnline: boolean;
43
41
  isPowerScheduleActive: boolean;
44
42
  isPublic: boolean;
45
- lastOnlineAt: DateTime_Z_micros;
46
- lastPolledAt: DateTime_Z_micros;
47
- location: {
48
- lat: number;
49
- lng: number;
50
- };
43
+ lastOnlineAt: string;
44
+ lastPolledAt: string;
45
+ location: GeoPoint;
51
46
  modelId: string;
52
47
  modelName: string;
53
48
  name: string;
@@ -62,7 +57,7 @@ export type Camera = {
62
57
  offlineReason: string;
63
58
  owned: boolean;
64
59
  owner: string;
65
- pitch: null;
60
+ pitch: string | null;
66
61
  project: {
67
62
  id: string;
68
63
  name: string;
@@ -72,93 +67,97 @@ export type Camera = {
72
67
  rtmp: string;
73
68
  };
74
69
  ptz: boolean;
75
- rights: string;
76
- roll: null;
70
+ recordingFromNvr: boolean;
71
+ model?: CameraModel;
72
+ roll: string | null;
77
73
  routerId: number;
78
74
  status: CameraStatus;
79
75
  streamingServer: string;
80
76
  thumbnailUrl: string;
81
77
  largeThumbnailUrl?: string;
82
78
  timezone: string;
83
- updatedAt: DateTime_Z_micros;
79
+ updatedAt: string;
84
80
  vendorName: string;
81
+ isAccessRestricted?: boolean;
82
+ kitAlarms?: KitAlarm[];
85
83
  };
86
84
  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
85
  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;
86
+ exid: CameraExid;
121
87
  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
88
  status: string;
144
- storageProviders: [];
145
- streamEndpoint: string;
146
- timezone: string;
147
- updatedAt: DateTime_Z_micros;
148
- userApiId: string;
149
- userApiKey: string;
89
+ description: string | null;
90
+ createdAt: string;
91
+ updatedAt: string;
92
+ lastOnlineAt: string | null;
93
+ lastPolledAt: string | null;
94
+ decommissionedAt: string | null;
95
+ deletedAt?: string | null;
96
+ projectId: number | null;
97
+ projectExid: string | null;
98
+ projectName: string | null;
99
+ projectFeatureFlags: Array<ProjectFeatureFlag | string>;
100
+ userId: number | null;
150
101
  userEmail: string;
151
102
  userFullname: string;
152
- userId: number;
153
- zohoId: string;
103
+ userApiId?: string;
104
+ userApiKey?: string;
105
+ isPublic: boolean;
106
+ sharedWithConstruction?: boolean;
107
+ timezone: string | null;
108
+ location?: GeoPoint | null;
109
+ fovAngle?: number | null;
110
+ fovRadius?: number | null;
111
+ heading?: number | null;
112
+ pitch?: number | null;
113
+ roll?: number | null;
114
+ cameraModel?: string | null;
115
+ cameraHost?: string | null;
116
+ cameraHttpPort?: number | null;
117
+ cameraRtspPort?: number | null;
118
+ cameraScheme?: string | null;
119
+ cameraUsername?: string | null;
120
+ cameraPassword?: string | null;
121
+ cameraPictureEndpoint?: string | null;
122
+ rtspUrl?: string | null;
123
+ httpUrl?: string | null;
124
+ deviceId?: string | null;
125
+ nvrId?: number | null;
126
+ nvrDeviceId?: string | null;
127
+ nvrModel?: NvrModel | string | null;
128
+ nvrHost?: string | null;
129
+ nvrHttpPort?: number | null;
130
+ nvrRtspPort?: number | null;
131
+ nvrScheme?: string | null;
132
+ nvrUsername?: string | null;
133
+ nvrPassword?: string | null;
134
+ nvrPictureEndpoint?: string | null;
135
+ streamEndpoint?: string | null;
136
+ routerId?: number | null;
137
+ kitId?: number | null;
138
+ powerType?: string | null;
139
+ powerSchedule?: ScheduleLowercase | Record<string, string[]>;
140
+ isPowerScheduleActive?: boolean;
141
+ discoverable?: boolean;
142
+ recordingFromNvr?: boolean;
143
+ cloudRecordingFrequency?: number | null;
144
+ cloudRecordingId?: number | null;
145
+ cloudRecordingStatus?: string | null;
146
+ cloudRecordingSchedule?: ScheduleLowercase | null;
147
+ cloudRecordingStorageDuration?: number | null;
148
+ liveViewFrequency?: number | null;
149
+ anprSources?: string[];
150
+ storageProviders?: string[];
151
+ featureFlags?: CameraFeatureFlag[];
152
+ zohoId?: string | null;
153
+ offlineReason?: string | null;
154
+ macAddress?: string | null;
155
+ type?: string[];
154
156
  thumbnailUrl?: string;
155
157
  };
156
158
  export type CameraMapMarker = {
157
159
  isOnline: boolean;
158
- location: {
159
- lat: number;
160
- lng: number;
161
- };
160
+ location: GeoPoint;
162
161
  needFov: boolean;
163
162
  rotation: number;
164
163
  fovAngle: number;
@@ -174,9 +173,19 @@ export declare enum CameraStatus {
174
173
  UnderMaintenance = "under_maintenance",
175
174
  WaitingForSiteVisit = "waiting_for_site_visit"
176
175
  }
176
+ export declare enum IntensityChange {
177
+ High = "High",
178
+ Moderate = "Moderate",
179
+ Low = "Low",
180
+ NoChange = "No change",
181
+ Default = "Default"
182
+ }
183
+ export declare const IntensityChangeColorMap: Record<IntensityChange, string>;
177
184
  export declare enum CameraFeatureFlag {
178
185
  EdgeVideo = "edge_video",
179
186
  BimCompare = "bim_compare",
187
+ TwoDBimCompare = "2d_bim_compare",
188
+ ForgeBIMCompare = "forge_bim_compare",
180
189
  GateReport = "gate_report",
181
190
  VideoStream = "video_stream",
182
191
  WebRTC = "webrtc",
@@ -186,7 +195,14 @@ export declare enum CameraFeatureFlag {
186
195
  ObjectDetection = "object_detection",
187
196
  Segmentation = "segmentation",
188
197
  SegmentationAutoLabelling = "segmentation_auto_labelling",
189
- PpeMonitoring = "ppe_monitoring"
198
+ PpeMonitoring = "ppe_monitoring",
199
+ PpeOwlv2 = "ppe_owlv2",
200
+ PpeGemini = "ppe_gemini",
201
+ PpeYolo = "ppe_yolo",
202
+ PpeV2 = "ppe_v2",
203
+ NoLiveView = "no_live_view",
204
+ Ring = "ring",
205
+ CloudOnly = "cloud_only"
190
206
  }
191
207
  export type CameraLogsRequestPayload = {
192
208
  limit: number;
@@ -229,6 +245,8 @@ export type CameraUpdateRequestPayload = {
229
245
  fovAngle?: number;
230
246
  fovRadius?: number;
231
247
  featureFlags: CameraFeatureFlag[];
248
+ isAccessRestricted?: boolean;
249
+ liveViewFrequency?: number | null;
232
250
  };
233
251
  export type CamerasResponsePayload = {
234
252
  cameras?: Camera[];
@@ -290,14 +308,9 @@ export declare enum CameraModel {
290
308
  Hikvision = "hikvision",
291
309
  Avigilion = "avigilion",
292
310
  Hanwha = "hanwha",
293
- Other = "other"
311
+ Other = "other",
312
+ Ring = "ring"
294
313
  }
295
- export type DroneCameraTransform = {
296
- position: Cartesian3;
297
- direction: Cartesian3;
298
- up: Cartesian3;
299
- right: Cartesian3;
300
- };
301
314
  export type Footage = {
302
315
  cameraExid: string;
303
316
  cameraName: string;
@@ -322,56 +335,6 @@ export type Hdd = {
322
335
  errorStatus: string;
323
336
  canExpand: boolean;
324
337
  };
325
- export declare enum ResolutionDimensions {
326
- QVGA = "320x240",
327
- VGA = "640x480",
328
- SVGA = "800x600",
329
- XGA = "1024x768",
330
- HD = "1280x720",
331
- WXGA = "1280x800",
332
- HDPlus = "1366x768",
333
- WXGAPlus = "1440x900",
334
- HDPlusPlus = "1600x900",
335
- UXGA = "1600x1200",
336
- FullHD = "1920x1080",
337
- WUXGA = "1920x1200",
338
- TwoK = "2048x1080",
339
- QHD = "2560x1440",
340
- WQXGA = "2560x1600",
341
- FourK = "3840x2160",
342
- FourKCinema = "4096x2160",
343
- FiveK = "5120x2880",
344
- EightK = "7680x4320",
345
- WHUXGA = "7680x4800"
346
- }
347
- export declare enum ResolutionLabel {
348
- QVGA = "QVGA",
349
- VGA = "VGA",
350
- SVGA = "SVGA",
351
- XGA = "XGA",
352
- HD = "HD",
353
- WXGA = "WXGA",
354
- HDPlus = "HD+",
355
- WXGAPlus = "WXGA++",
356
- HDPlusPlus = "HD++",
357
- UXGA = "UXGA",
358
- FullHD = "FullHD",
359
- WUXGA = "WUXGA",
360
- TwoK = "2K",
361
- QHD = "QHD",
362
- WQXGA = "WQXGA",
363
- FourK = "4K",
364
- FourKCinema = "4KCinema",
365
- FiveK = "5K",
366
- EightK = "8K",
367
- WHUXGA = "WHUXGA"
368
- }
369
- export type ResolutionInfo = {
370
- ratioString: string;
371
- ratioFloat: number;
372
- resolutionDimensions: ResolutionDimensions;
373
- resolutionLabel: ResolutionLabel;
374
- };
375
338
  export type CameraPath = {
376
339
  projectExid: ProjectExid;
377
340
  cameraExid: CameraExid;
@@ -379,6 +342,7 @@ export type CameraPath = {
379
342
  export type CheckCameraPortPayload = {
380
343
  address: string;
381
344
  port: number;
345
+ open: boolean;
382
346
  };
383
347
  export type CameraCreateRequestPayload = {
384
348
  status: CameraStatus;
@@ -387,7 +351,7 @@ export type CameraCreateRequestPayload = {
387
351
  isPowerScheduleActive?: boolean;
388
352
  ptz?: boolean;
389
353
  name: string;
390
- coordinates?: [number, number];
354
+ coordinates?: TuplePoint2D;
391
355
  recordingFromNvr?: boolean;
392
356
  CameraConfig: {
393
357
  model: CameraModel;
@@ -563,3 +527,10 @@ export type FetchCameraQueryParams = PaginationParams & {
563
527
  externalRsptPort: string;
564
528
  nvrHttpPort: string;
565
529
  };
530
+ export declare enum BimType {
531
+ TwoD = "2D",
532
+ Forge = "Forge"
533
+ }
534
+ export type CameraDateRangeFilter = DateRangeFilter & {
535
+ cameraExid: CameraExid;
536
+ };
@@ -0,0 +1,57 @@
1
+ import { CameraExid, DateType, ProjectExid, PaginationParams, TuplePoint3D, TuplePoint2D } from "@evercam/api/types";
2
+ export declare enum CommentsScope {
3
+ Recordings = "recordings",
4
+ ThreeSixty = "360",
5
+ Drone = "drone",
6
+ Timeline = "timeline"
7
+ }
8
+ export declare enum CommentsLabel {
9
+ Info = "Info",
10
+ Danger = "Danger",
11
+ Restricted = "Restricted"
12
+ }
13
+ export type CommentsRequestPayload = {
14
+ scope: CommentsScope;
15
+ cameraExid?: CameraExid;
16
+ };
17
+ export type CommentsListRequestPayload = PaginationParams & {
18
+ projectExid?: ProjectExid;
19
+ cameraExid?: CameraExid;
20
+ fromDate?: string;
21
+ toDate?: string;
22
+ scope?: CommentsScope;
23
+ creatorEmail?: string;
24
+ content?: string;
25
+ includeArchived?: boolean;
26
+ };
27
+ export type Comment = {
28
+ fromDate?: string;
29
+ toDate?: string;
30
+ timestamp: string;
31
+ projectExid: ProjectExid;
32
+ updatedAt?: string;
33
+ id?: number;
34
+ cameraExid: CameraExid;
35
+ content: string;
36
+ createdAt?: string;
37
+ creatorEmail?: string;
38
+ creatorName?: string;
39
+ position2d?: TuplePoint2D;
40
+ position3d?: TuplePoint3D;
41
+ context?: Record<string, unknown>;
42
+ canDelete?: boolean;
43
+ archivedAt?: string;
44
+ label?: CommentsLabel;
45
+ };
46
+ export type CommentCreationRequestPayload = {
47
+ fromDate?: DateType;
48
+ toDate?: DateType;
49
+ timestamp?: DateType;
50
+ scope?: CommentsScope;
51
+ projectExid: ProjectExid;
52
+ cameraExid?: CameraExid;
53
+ content: string;
54
+ position2d?: TuplePoint2D;
55
+ position3d?: [number, number, number];
56
+ context?: Record<string, unknown>;
57
+ };