@evercam/api 1.0.0-8d64fdf7a → 1.0.0-913c1fc0c

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 +5 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +176 -0
  3. package/dist/api/api/adminApi.d.ts +383 -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 +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 +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 +233 -104
  25. package/dist/{types → api/types}/anpr.d.ts +64 -19
  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 -4
  31. package/dist/{types → api/types}/bim.d.ts +28 -5
  32. package/dist/{types → api/types}/camera.d.ts +117 -145
  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 +19 -13
  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 +115 -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 +49 -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 +18 -3
  48. package/dist/api/types/ingest.d.ts +147 -0
  49. package/dist/{types → api/types}/kit.d.ts +93 -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 +32 -20
  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 +74 -0
  70. package/dist/api/types/smartSeach.d.ts +5 -0
  71. package/dist/api/types/snapshots.d.ts +99 -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/api/types/streaming.d.ts +97 -0
  76. package/dist/api/types/systemCheck.d.ts +11 -0
  77. package/dist/api/types/tag.d.ts +12 -0
  78. package/dist/api/types/time.d.ts +7 -0
  79. package/dist/{types → api/types}/timelapse.d.ts +23 -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 +100 -20
  84. package/dist/api/types/xweather.d.ts +12 -0
  85. package/dist/index.d.ts +2 -3
  86. package/dist/index.js +2394 -1015
  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 +6 -5
  101. package/dist/api/3dFirebaseApi.d.ts +0 -9
  102. package/dist/api/adminApi.d.ts +0 -307
  103. package/dist/api/aiApi.d.ts +0 -86
  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 -47
  107. package/dist/api/ingestApi.d.ts +0 -65
  108. package/dist/api/videoWallApi.d.ts +0 -9
  109. package/dist/api/weatherApi.d.ts +0 -25
  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/detections.d.ts +0 -73
  116. package/dist/types/devices.d.ts +0 -228
  117. package/dist/types/drone.d.ts +0 -17
  118. package/dist/types/ingest.d.ts +0 -43
  119. package/dist/types/map.d.ts +0 -4
  120. package/dist/types/notification.d.ts +0 -27
  121. package/dist/types/procore.d.ts +0 -76
  122. package/dist/types/project.d.ts +0 -120
  123. package/dist/types/shares.d.ts +0 -192
  124. package/dist/types/siteAnalytics.d.ts +0 -85
  125. package/dist/types/sitePlanner.d.ts +0 -28
  126. package/dist/types/snapshots.d.ts +0 -50
  127. package/dist/types/storageServers.d.ts +0 -4
  128. package/dist/types/streaming.d.ts +0 -119
  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,61 @@
1
+ export declare enum RoleResourceType {
2
+ App = "app",
3
+ Camera = "camera",
4
+ Project = "project"
5
+ }
6
+ export type RoleSubRole = {
7
+ resourceId: string;
8
+ roleId: number;
9
+ roleName?: string;
10
+ permissions?: string[];
11
+ };
12
+ export type Role = {
13
+ id: number;
14
+ name: string;
15
+ description?: string | null;
16
+ resource?: string;
17
+ resourceType: RoleResourceType;
18
+ resourceId?: string | null;
19
+ permissions: string[];
20
+ subRoles?: RoleSubRole[];
21
+ isDefault?: boolean;
22
+ };
23
+ export type ProjectResourceRole = Role & {
24
+ resourceType: RoleResourceType.Project;
25
+ };
26
+ export type CameraResourceRole = Omit<Role, "subRoles"> & {
27
+ resourceType: RoleResourceType.Camera;
28
+ };
29
+ export type ProjectRoleRequestPayload = {
30
+ name: string;
31
+ permissions: string[];
32
+ subRoles?: RoleSubRole[];
33
+ };
34
+ export type AuthzRoleUser = {
35
+ email: string;
36
+ resourceId: string;
37
+ };
38
+ export type AuthzUserRolesResponse = {
39
+ roles: Role[];
40
+ };
41
+ export type AuthzScopePermission = {
42
+ id: number;
43
+ action: string;
44
+ exid: string;
45
+ };
46
+ export type AuthzScope = {
47
+ id: number;
48
+ name: string;
49
+ description: string | null;
50
+ permissions: AuthzScopePermission[];
51
+ app: string;
52
+ exid: string;
53
+ };
54
+ export type AuthzScopeCreatePayload = {
55
+ name: string;
56
+ description?: string;
57
+ permissions: string[];
58
+ };
59
+ export type AuthzScopeUpdatePayload = Partial<AuthzScopeCreatePayload>;
60
+ export declare function isProjectRole(role: Role): role is ProjectResourceRole;
61
+ export declare function isCameraRole(role: Role): role is CameraResourceRole;
@@ -1,20 +1,20 @@
1
- export type AutodeskUserHubsResponsePayload = Array<{
1
+ export type AutodeskUserHub = {
2
2
  text: string;
3
3
  value: string;
4
- }>;
5
- export type AutodeskProjectsResponsePayload = Array<{
4
+ };
5
+ export type AutodeskProject = {
6
6
  text: string;
7
7
  value: string;
8
- }>;
9
- export type AutodeskFolderResponsePayload = {
8
+ };
9
+ export type AutodeskFolder = {
10
10
  text: string;
11
11
  value: string;
12
12
  allowedFileType: string;
13
13
  allowedFolderType: string;
14
- children: Array<AutodeskFolderResponsePayload>;
14
+ children: Array<AutodeskFolder>;
15
15
  parentName?: string;
16
16
  };
17
- export type AutodeskUploadSnapshotPayload = {
17
+ export type AutodeskSnapshot = {
18
18
  projectId: string;
19
19
  folderId: string;
20
20
  accFileType: string;
@@ -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,32 +1,37 @@
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
- ingestApiUrl?: string | null;
11
+ ingestDroneApi?: string | null;
12
+ ingest360Api?: string | null;
13
+ ingestGpuApiUrl?: string | null;
12
14
  posthogApiUrl?: string | null;
13
15
  posthogProjectId?: string | null;
14
- posthogPrivateApiKey?: string | null;
15
16
  firebaseVideowallUrl?: string | null;
16
17
  weatherApiBaseUrl?: string | null;
17
18
  evercamLabsUrl?: string | null;
18
19
  firebaseDbLink?: string | null;
20
+ firebaseStorageUrl?: string | null;
21
+ firebaseStorageToken?: string | null;
22
+ forgeTokenServerUrl?: string | null;
19
23
  snapshotsURL?: string | null;
20
24
  app?: string | null;
21
25
  getAuthToken?: () => string | null;
22
26
  errorLogger?: (error: AxiosError) => void;
27
+ swrKey?: string;
23
28
  };
24
29
  export type RequestInterceptor = (req: AxiosRequestConfig, env: AxiosEnvironment) => AxiosRequestConfig & any;
25
30
  export type ResponseInterceptor = (res: AxiosResponse, env: AxiosEnvironment) => AxiosResponse & any;
26
31
  export type ErrorInterceptor = (error: any, env: AxiosEnvironment) => any;
27
32
  export interface ExtendedAxiosInstance extends AxiosInstance {
28
33
  CancelToken: CancelTokenStatic;
29
- isCancel: (value: AxiosResponse | AxiosError | never) => boolean;
34
+ isCancel: (value: AxiosResponse | AxiosError | unknown) => boolean;
30
35
  setToken: (token: string) => void;
31
36
  setHeader: (headerName: string, value: any) => void;
32
37
  generateCancelTokenSource: () => CancelTokenSource;
@@ -38,7 +43,17 @@ export interface ExtendedAxiosInstance extends AxiosInstance {
38
43
  addRequestInterceptor: (interceptor: RequestInterceptor, errorInterceptor?: ErrorInterceptor) => void;
39
44
  addResponseInterceptor: (interceptor: ResponseInterceptor, errorInterceptor?: ErrorInterceptor) => void;
40
45
  addErrorInterceptor: (interceptor: ErrorInterceptor) => void;
46
+ swr: Swr;
41
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
+ };
42
57
  declare module "axios" {
43
58
  interface AxiosRequestConfig {
44
59
  raw?: boolean;
@@ -47,5 +62,9 @@ declare module "axios" {
47
62
  _metadata?: {
48
63
  startTime: number;
49
64
  };
65
+ swr?: boolean;
66
+ onSwrHit?: (data: any) => unknown;
67
+ onSwrRefresh?: (data: any) => unknown;
68
+ onSwrError?: (error: Error) => unknown;
50
69
  }
51
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, 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
+ import { GeoPoint, TuplePoint2D } from "@evercam/api/types/shared";
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",
@@ -185,7 +194,14 @@ export declare enum CameraFeatureFlag {
185
194
  PTZ = "ptz",
186
195
  ObjectDetection = "object_detection",
187
196
  Segmentation = "segmentation",
188
- SegmentationAutoLabelling = "segmentation_auto_labelling"
197
+ SegmentationAutoLabelling = "segmentation_auto_labelling",
198
+ PpeMonitoring = "ppe_monitoring",
199
+ PpeOwlv2 = "ppe_owlv2",
200
+ PpeGemini = "ppe_gemini",
201
+ PpeYolo = "ppe_yolo",
202
+ NoLiveView = "no_live_view",
203
+ Ring = "ring",
204
+ CloudOnly = "cloud_only"
189
205
  }
190
206
  export type CameraLogsRequestPayload = {
191
207
  limit: number;
@@ -227,6 +243,9 @@ export type CameraUpdateRequestPayload = {
227
243
  heading?: number;
228
244
  fovAngle?: number;
229
245
  fovRadius?: number;
246
+ featureFlags: CameraFeatureFlag[];
247
+ isAccessRestricted?: boolean;
248
+ liveViewFrequency?: number | null;
230
249
  };
231
250
  export type CamerasResponsePayload = {
232
251
  cameras?: Camera[];
@@ -288,14 +307,9 @@ export declare enum CameraModel {
288
307
  Hikvision = "hikvision",
289
308
  Avigilion = "avigilion",
290
309
  Hanwha = "hanwha",
291
- Other = "other"
310
+ Other = "other",
311
+ Ring = "ring"
292
312
  }
293
- export type DroneCameraTransform = {
294
- position: Cartesian3;
295
- direction: Cartesian3;
296
- up: Cartesian3;
297
- right: Cartesian3;
298
- };
299
313
  export type Footage = {
300
314
  cameraExid: string;
301
315
  cameraName: string;
@@ -320,56 +334,6 @@ export type Hdd = {
320
334
  errorStatus: string;
321
335
  canExpand: boolean;
322
336
  };
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
337
  export type CameraPath = {
374
338
  projectExid: ProjectExid;
375
339
  cameraExid: CameraExid;
@@ -377,6 +341,7 @@ export type CameraPath = {
377
341
  export type CheckCameraPortPayload = {
378
342
  address: string;
379
343
  port: number;
344
+ open: boolean;
380
345
  };
381
346
  export type CameraCreateRequestPayload = {
382
347
  status: CameraStatus;
@@ -385,7 +350,7 @@ export type CameraCreateRequestPayload = {
385
350
  isPowerScheduleActive?: boolean;
386
351
  ptz?: boolean;
387
352
  name: string;
388
- coordinates?: [number, number];
353
+ coordinates?: TuplePoint2D;
389
354
  recordingFromNvr?: boolean;
390
355
  CameraConfig: {
391
356
  model: CameraModel;
@@ -561,3 +526,10 @@ export type FetchCameraQueryParams = PaginationParams & {
561
526
  externalRsptPort: string;
562
527
  nvrHttpPort: string;
563
528
  };
529
+ export declare enum BimType {
530
+ TwoD = "2D",
531
+ Forge = "Forge"
532
+ }
533
+ export type CameraDateRangeFilter = DateRangeFilter & {
534
+ cameraExid: CameraExid;
535
+ };