@evercam/api 1.0.0-b7904ee5f → 1.0.0-b908926bb

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 (138) 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 +151 -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 +290 -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 -77
  25. package/dist/{types → api/types}/anpr.d.ts +55 -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 +29 -7
  31. package/dist/{types → api/types}/bim.d.ts +28 -5
  32. package/dist/{types → api/types}/camera.d.ts +116 -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 +24 -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 +148 -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 +8 -2
  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 +7 -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 +106 -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 +2354 -1051
  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 +324 -0
  96. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  97. package/dist/shared/types/imagePlayer.d.ts +41 -0
  98. package/dist/shared/types/index.d.ts +6 -0
  99. package/dist/shared/types/rbac.d.ts +67 -0
  100. package/dist/shared/types/timeline.d.ts +10 -0
  101. package/package.json +7 -4
  102. package/dist/api/3dFirebaseApi.d.ts +0 -9
  103. package/dist/api/adminApi.d.ts +0 -313
  104. package/dist/api/aiApi.d.ts +0 -110
  105. package/dist/api/authzApi.d.ts +0 -21
  106. package/dist/api/evercamApi.d.ts +0 -265
  107. package/dist/api/evercamLabsApi.d.ts +0 -50
  108. package/dist/api/ingestApi.d.ts +0 -66
  109. package/dist/api/videoWallApi.d.ts +0 -9
  110. package/dist/api/weatherApi.d.ts +0 -27
  111. package/dist/types/360.d.ts +0 -83
  112. package/dist/types/aconex.d.ts +0 -45
  113. package/dist/types/automation.d.ts +0 -6
  114. package/dist/types/comments.d.ts +0 -36
  115. package/dist/types/company.d.ts +0 -46
  116. package/dist/types/coolify.d.ts +0 -18
  117. package/dist/types/detections.d.ts +0 -76
  118. package/dist/types/devices.d.ts +0 -228
  119. package/dist/types/drone.d.ts +0 -17
  120. package/dist/types/ingest.d.ts +0 -43
  121. package/dist/types/map.d.ts +0 -4
  122. package/dist/types/notification.d.ts +0 -27
  123. package/dist/types/planner.d.ts +0 -28
  124. package/dist/types/procore.d.ts +0 -76
  125. package/dist/types/project.d.ts +0 -119
  126. package/dist/types/shares.d.ts +0 -191
  127. package/dist/types/siteAnalytics.d.ts +0 -84
  128. package/dist/types/snapshots.d.ts +0 -50
  129. package/dist/types/storageServers.d.ts +0 -4
  130. package/dist/types/time.d.ts +0 -19
  131. package/dist/types/videoWall.d.ts +0 -33
  132. package/dist/types/weather.d.ts +0 -83
  133. /package/dist/api/{client → api/client}/index.d.ts +0 -0
  134. /package/dist/api/{webRtcApi.d.ts → api/webRtcApi.d.ts} +0 -0
  135. /package/dist/{types → api/types}/nvr.d.ts +0 -0
  136. /package/dist/{types → api/types}/vendorModel.d.ts +0 -0
  137. /package/dist/{types → api/types}/voyageControl.d.ts +0 -0
  138. /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,37 +8,54 @@ 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;
32
+ export type RequestManager = {
33
+ createToken: (key: string) => CancelTokenSource["token"];
34
+ cancelAll: () => void;
35
+ };
26
36
  export interface ExtendedAxiosInstance extends AxiosInstance {
27
37
  CancelToken: CancelTokenStatic;
28
- isCancel: (value: AxiosResponse | AxiosError | never) => boolean;
38
+ isCancel: (value: AxiosResponse | AxiosError | unknown) => boolean;
29
39
  setToken: (token: string) => void;
30
40
  setHeader: (headerName: string, value: any) => void;
31
- generateCancelTokenSource: () => CancelTokenSource;
32
- addCancelToken: (token: CancelTokenSource) => void;
33
- resetCancelTokens: () => void;
34
- cancelRequests: () => void;
41
+ createRequestManager: () => RequestManager;
42
+ requestManager: RequestManager;
35
43
  env: AxiosEnvironment;
36
44
  addEnvironmentVariables: (vars: Record<string, any>) => void;
37
45
  addRequestInterceptor: (interceptor: RequestInterceptor, errorInterceptor?: ErrorInterceptor) => void;
38
46
  addResponseInterceptor: (interceptor: ResponseInterceptor, errorInterceptor?: ErrorInterceptor) => void;
39
47
  addErrorInterceptor: (interceptor: ErrorInterceptor) => void;
48
+ swr: Swr;
40
49
  }
50
+ export type ResponseValue<T> = T | undefined;
51
+ export type SwrResponse<T> = {
52
+ cachedValue: ResponseValue<T>;
53
+ freshPromise: Promise<ResponseValue<T>>;
54
+ };
55
+ export type SwrRequestConfig<T> = Omit<AxiosRequestConfig, "onSwrHit" | "onSwrRefresh"> & {
56
+ onSwrHit?: (data: T) => unknown;
57
+ onSwrRefresh?: (data: T) => unknown;
58
+ };
41
59
  declare module "axios" {
42
60
  interface AxiosRequestConfig {
43
61
  raw?: boolean;
@@ -46,5 +64,9 @@ declare module "axios" {
46
64
  _metadata?: {
47
65
  startTime: number;
48
66
  };
67
+ swr?: boolean;
68
+ onSwrHit?: (data: any) => unknown;
69
+ onSwrRefresh?: (data: any) => unknown;
70
+ onSwrError?: (error: Error) => unknown;
49
71
  }
50
72
  }
@@ -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, TimestampPositionCoordinates } 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,98 @@ 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[];
83
+ timestampPosition?: TimestampPositionCoordinates;
85
84
  };
86
85
  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
86
  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;
87
+ exid: CameraExid;
121
88
  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
89
  status: string;
144
- storageProviders: [];
145
- streamEndpoint: string;
146
- timezone: string;
147
- updatedAt: DateTime_Z_micros;
148
- userApiId: string;
149
- userApiKey: string;
90
+ description: string | null;
91
+ createdAt: string;
92
+ updatedAt: string;
93
+ lastOnlineAt: string | null;
94
+ lastPolledAt: string | null;
95
+ decommissionedAt: string | null;
96
+ deletedAt?: string | null;
97
+ projectId: number | null;
98
+ projectExid: string | null;
99
+ projectName: string | null;
100
+ projectFeatureFlags: Array<ProjectFeatureFlag | string>;
101
+ userId: number | null;
150
102
  userEmail: string;
151
103
  userFullname: string;
152
- userId: number;
153
- zohoId: string;
104
+ userApiId?: string;
105
+ userApiKey?: string;
106
+ isPublic: boolean;
107
+ sharedWithConstruction?: boolean;
108
+ timezone: string | null;
109
+ location?: GeoPoint | null;
110
+ fovAngle?: number | null;
111
+ fovRadius?: number | null;
112
+ heading?: number | null;
113
+ pitch?: number | null;
114
+ roll?: number | null;
115
+ cameraModel?: string | null;
116
+ cameraHost?: string | null;
117
+ cameraHttpPort?: number | null;
118
+ cameraRtspPort?: number | null;
119
+ cameraScheme?: string | null;
120
+ cameraUsername?: string | null;
121
+ cameraPassword?: string | null;
122
+ cameraPictureEndpoint?: string | null;
123
+ rtspUrl?: string | null;
124
+ httpUrl?: string | null;
125
+ deviceId?: string | null;
126
+ nvrId?: number | null;
127
+ nvrDeviceId?: string | null;
128
+ nvrModel?: NvrModel | string | null;
129
+ nvrHost?: string | null;
130
+ nvrHttpPort?: number | null;
131
+ nvrRtspPort?: number | null;
132
+ nvrScheme?: string | null;
133
+ nvrUsername?: string | null;
134
+ nvrPassword?: string | null;
135
+ nvrPictureEndpoint?: string | null;
136
+ streamEndpoint?: string | null;
137
+ routerId?: number | null;
138
+ kitId?: number | null;
139
+ powerType?: string | null;
140
+ powerSchedule?: ScheduleLowercase | Record<string, string[]>;
141
+ isPowerScheduleActive?: boolean;
142
+ discoverable?: boolean;
143
+ recordingFromNvr?: boolean;
144
+ cloudRecordingFrequency?: number | null;
145
+ cloudRecordingId?: number | null;
146
+ cloudRecordingStatus?: string | null;
147
+ cloudRecordingSchedule?: ScheduleLowercase | null;
148
+ cloudRecordingStorageDuration?: number | null;
149
+ liveViewFrequency?: number | null;
150
+ anprSources?: string[];
151
+ storageProviders?: string[];
152
+ featureFlags?: CameraFeatureFlag[];
153
+ zohoId?: string | null;
154
+ offlineReason?: string | null;
155
+ macAddress?: string | null;
156
+ type?: string[];
154
157
  thumbnailUrl?: string;
155
158
  };
156
159
  export type CameraMapMarker = {
157
160
  isOnline: boolean;
158
- location: {
159
- lat: number;
160
- lng: number;
161
- };
161
+ location: GeoPoint;
162
162
  needFov: boolean;
163
163
  rotation: number;
164
164
  fovAngle: number;
@@ -174,9 +174,19 @@ export declare enum CameraStatus {
174
174
  UnderMaintenance = "under_maintenance",
175
175
  WaitingForSiteVisit = "waiting_for_site_visit"
176
176
  }
177
+ export declare enum IntensityChange {
178
+ High = "High",
179
+ Moderate = "Moderate",
180
+ Low = "Low",
181
+ NoChange = "No change",
182
+ Default = "Default"
183
+ }
184
+ export declare const IntensityChangeColorMap: Record<IntensityChange, string>;
177
185
  export declare enum CameraFeatureFlag {
178
186
  EdgeVideo = "edge_video",
179
187
  BimCompare = "bim_compare",
188
+ TwoDBimCompare = "2d_bim_compare",
189
+ ForgeBIMCompare = "forge_bim_compare",
180
190
  GateReport = "gate_report",
181
191
  VideoStream = "video_stream",
182
192
  WebRTC = "webrtc",
@@ -186,7 +196,14 @@ export declare enum CameraFeatureFlag {
186
196
  ObjectDetection = "object_detection",
187
197
  Segmentation = "segmentation",
188
198
  SegmentationAutoLabelling = "segmentation_auto_labelling",
189
- PpeMonitoring = "ppe_monitoring"
199
+ PpeMonitoring = "ppe_monitoring",
200
+ PpeOwlv2 = "ppe_owlv2",
201
+ PpeGemini = "ppe_gemini",
202
+ PpeYolo = "ppe_yolo",
203
+ PpeV2 = "ppe_v2",
204
+ NoLiveView = "no_live_view",
205
+ Ring = "ring",
206
+ CloudOnly = "cloud_only"
190
207
  }
191
208
  export type CameraLogsRequestPayload = {
192
209
  limit: number;
@@ -229,6 +246,8 @@ export type CameraUpdateRequestPayload = {
229
246
  fovAngle?: number;
230
247
  fovRadius?: number;
231
248
  featureFlags: CameraFeatureFlag[];
249
+ isAccessRestricted?: boolean;
250
+ liveViewFrequency?: number | null;
232
251
  };
233
252
  export type CamerasResponsePayload = {
234
253
  cameras?: Camera[];
@@ -290,14 +309,9 @@ export declare enum CameraModel {
290
309
  Hikvision = "hikvision",
291
310
  Avigilion = "avigilion",
292
311
  Hanwha = "hanwha",
293
- Other = "other"
312
+ Other = "other",
313
+ Ring = "ring"
294
314
  }
295
- export type DroneCameraTransform = {
296
- position: Cartesian3;
297
- direction: Cartesian3;
298
- up: Cartesian3;
299
- right: Cartesian3;
300
- };
301
315
  export type Footage = {
302
316
  cameraExid: string;
303
317
  cameraName: string;
@@ -322,56 +336,6 @@ export type Hdd = {
322
336
  errorStatus: string;
323
337
  canExpand: boolean;
324
338
  };
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
339
  export type CameraPath = {
376
340
  projectExid: ProjectExid;
377
341
  cameraExid: CameraExid;
@@ -379,6 +343,7 @@ export type CameraPath = {
379
343
  export type CheckCameraPortPayload = {
380
344
  address: string;
381
345
  port: number;
346
+ open: boolean;
382
347
  };
383
348
  export type CameraCreateRequestPayload = {
384
349
  status: CameraStatus;
@@ -387,7 +352,7 @@ export type CameraCreateRequestPayload = {
387
352
  isPowerScheduleActive?: boolean;
388
353
  ptz?: boolean;
389
354
  name: string;
390
- coordinates?: [number, number];
355
+ coordinates?: TuplePoint2D;
391
356
  recordingFromNvr?: boolean;
392
357
  CameraConfig: {
393
358
  model: CameraModel;
@@ -563,3 +528,10 @@ export type FetchCameraQueryParams = PaginationParams & {
563
528
  externalRsptPort: string;
564
529
  nvrHttpPort: string;
565
530
  };
531
+ export declare enum BimType {
532
+ TwoD = "2D",
533
+ Forge = "Forge"
534
+ }
535
+ export type CameraDateRangeFilter = DateRangeFilter & {
536
+ cameraExid: CameraExid;
537
+ };
@@ -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
+ };