@evercam/api 1.0.0-50bf90785 → 1.0.0-5198c9ce1

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 +216 -0
  3. package/dist/api/api/adminApi.d.ts +381 -0
  4. package/dist/api/api/aiApi.d.ts +186 -0
  5. package/dist/api/api/authzApi.d.ts +40 -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 +360 -0
  12. package/dist/api/{evercamLabsApi.d.ts → api/evercamLabsApi.d.ts} +9 -6
  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 +158 -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/{weatherApi.d.ts → api/weatherApi.d.ts} +2 -2
  19. package/dist/api/index.d.ts +3 -13
  20. package/dist/api/types/360.d.ts +419 -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 +207 -42
  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 +107 -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 +31 -7
  31. package/dist/{types → api/types}/bim.d.ts +37 -6
  32. package/dist/{types → api/types}/camera.d.ts +113 -94
  33. package/dist/{types → api/types}/comments.d.ts +26 -11
  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 +5 -5
  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 +117 -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/api/types/hammertech.d.ts +98 -0
  47. package/dist/{types → api/types}/hdd.d.ts +26 -1
  48. package/dist/{types → api/types}/index.d.ts +17 -1
  49. package/dist/api/types/ingest.d.ts +159 -0
  50. package/dist/{types → api/types}/kit.d.ts +101 -10
  51. package/dist/api/types/map.d.ts +16 -0
  52. package/dist/{types → api/types}/media.d.ts +10 -3
  53. package/dist/api/types/notification.d.ts +67 -0
  54. package/dist/api/types/oauth.d.ts +62 -0
  55. package/dist/api/types/observations.d.ts +85 -0
  56. package/dist/api/types/planner.d.ts +132 -0
  57. package/dist/api/types/posthog.d.ts +53 -0
  58. package/dist/{types → api/types}/procore.d.ts +26 -16
  59. package/dist/{types → api/types}/progressPhoto.d.ts +11 -23
  60. package/dist/api/types/project.d.ts +254 -0
  61. package/dist/{types → api/types}/recording.d.ts +9 -13
  62. package/dist/api/types/recycleBin.d.ts +14 -0
  63. package/dist/api/types/ring.d.ts +53 -0
  64. package/dist/{types → api/types}/roi.d.ts +4 -3
  65. package/dist/{types → api/types}/routeParams.d.ts +5 -2
  66. package/dist/{types → api/types}/router.d.ts +20 -1
  67. package/dist/{types → api/types}/shared.d.ts +31 -10
  68. package/dist/api/types/shares.d.ts +58 -0
  69. package/dist/{types → api/types}/sim.d.ts +6 -6
  70. package/dist/api/types/siteAnalytics.d.ts +287 -0
  71. package/dist/api/types/siteAnalyticsManagement.d.ts +92 -0
  72. package/dist/api/types/siteView.d.ts +73 -0
  73. package/dist/api/types/smartSeach.d.ts +5 -0
  74. package/dist/api/types/snapshots.d.ts +104 -0
  75. package/dist/api/types/socket.d.ts +4 -0
  76. package/dist/api/types/sso.d.ts +55 -0
  77. package/dist/api/types/storageProvider.d.ts +19 -0
  78. package/dist/api/types/storyblok.d.ts +40 -0
  79. package/dist/{types → api/types}/streaming.d.ts +4 -5
  80. package/dist/{types → api/types}/tag.d.ts +1 -1
  81. package/dist/api/types/time.d.ts +7 -0
  82. package/dist/{types → api/types}/timelapse.d.ts +8 -5
  83. package/dist/{types → api/types}/user.d.ts +106 -40
  84. package/dist/api/types/videoWall.d.ts +66 -0
  85. package/dist/api/types/weather.d.ts +153 -0
  86. package/dist/{types → api/types}/widget.d.ts +96 -16
  87. package/dist/{types → api/types}/xweather.d.ts +4 -4
  88. package/dist/index.d.ts +2 -3
  89. package/dist/index.js +2550 -957
  90. package/dist/index.js.map +1 -1
  91. package/dist/index.umd.cjs +1 -1
  92. package/dist/index.umd.cjs.map +1 -1
  93. package/dist/shared/api/index.d.ts +3 -0
  94. package/dist/shared/components/timelinePlayer/providers/index.d.ts +3 -0
  95. package/dist/shared/components/timelinePlayer/providers/timelineAnprProvider.d.ts +17 -0
  96. package/dist/shared/components/timelinePlayer/providers/timelineDataProvider.d.ts +13 -0
  97. package/dist/shared/components/timelinePlayer/providers/timelineLuminanceProvider.d.ts +16 -0
  98. package/dist/shared/types/components.d.ts +396 -0
  99. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  100. package/dist/shared/types/imagePlayer.d.ts +41 -0
  101. package/dist/shared/types/index.d.ts +7 -0
  102. package/dist/shared/types/observations.d.ts +21 -0
  103. package/dist/shared/types/rbac.d.ts +67 -0
  104. package/dist/shared/types/timeline.d.ts +10 -0
  105. package/package.json +7 -4
  106. package/dist/api/3dFirebaseApi.d.ts +0 -10
  107. package/dist/api/adminApi.d.ts +0 -313
  108. package/dist/api/aiApi.d.ts +0 -121
  109. package/dist/api/authzApi.d.ts +0 -21
  110. package/dist/api/evercamApi.d.ts +0 -294
  111. package/dist/api/ingestApi.d.ts +0 -68
  112. package/dist/api/videoWallApi.d.ts +0 -9
  113. package/dist/types/360.d.ts +0 -83
  114. package/dist/types/aconex.d.ts +0 -45
  115. package/dist/types/automation.d.ts +0 -6
  116. package/dist/types/company.d.ts +0 -46
  117. package/dist/types/coolify.d.ts +0 -18
  118. package/dist/types/detections.d.ts +0 -76
  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/project.d.ts +0 -124
  125. package/dist/types/shares.d.ts +0 -196
  126. package/dist/types/siteAnalytics.d.ts +0 -123
  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 -87
  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}/systemCheck.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,107 @@
1
+ export declare enum RoleResourceType {
2
+ App = "app",
3
+ Camera = "camera",
4
+ Project = "project"
5
+ }
6
+ export declare enum RoleAssignmentLogAction {
7
+ Assign = "assign",
8
+ Unassign = "unassign"
9
+ }
10
+ export type RoleSubRole = {
11
+ resourceId: string;
12
+ roleId: number;
13
+ roleName?: string;
14
+ permissions?: string[];
15
+ };
16
+ export type Role = {
17
+ id: number;
18
+ name: string;
19
+ description?: string | null;
20
+ resource?: string;
21
+ resourceType: RoleResourceType;
22
+ resourceId?: string | null;
23
+ permissions: string[];
24
+ subRoles?: RoleSubRole[];
25
+ isDefault?: boolean;
26
+ };
27
+ export type ProjectResourceRole = Role & {
28
+ resourceType: RoleResourceType.Project;
29
+ };
30
+ export type CameraResourceRole = Omit<Role, "subRoles"> & {
31
+ resourceType: RoleResourceType.Camera;
32
+ };
33
+ export type ProjectRoleRequestPayload = {
34
+ name: string;
35
+ permissions: string[];
36
+ subRoles?: RoleSubRole[];
37
+ };
38
+ export type AuthzRoleUser = {
39
+ email: string;
40
+ resourceId: string;
41
+ };
42
+ export type AuthzUserRolesResponse = {
43
+ roles: Role[];
44
+ };
45
+ export type AuthzScopePermission = {
46
+ id: number;
47
+ action: string;
48
+ exid: string;
49
+ };
50
+ export type AuthzScope = {
51
+ id: number;
52
+ name: string;
53
+ description: string | null;
54
+ permissions: AuthzScopePermission[];
55
+ app: string;
56
+ exid: string;
57
+ };
58
+ export type AuthzScopeCreatePayload = {
59
+ name: string;
60
+ description?: string;
61
+ permissions: string[];
62
+ };
63
+ export type AuthzScopeUpdatePayload = Partial<AuthzScopeCreatePayload>;
64
+ export declare function isProjectRole(role: Role): role is ProjectResourceRole;
65
+ export declare function isCameraRole(role: Role): role is CameraResourceRole;
66
+ export type RoleAssignmentLog = {
67
+ id: number;
68
+ action: RoleAssignmentLogAction;
69
+ assignerId: number | null;
70
+ assignerEmail: string | null;
71
+ assigneeId: number | null;
72
+ assigneeEmail: string;
73
+ roleId: number | null;
74
+ roleName: string | null;
75
+ previousRoleId: number | null;
76
+ previousRoleName: string | null;
77
+ scope: RoleResourceType;
78
+ projectExid: string | null;
79
+ cameraExid: string | null;
80
+ ip: string | null;
81
+ userDetails: {
82
+ browser?: string | null;
83
+ device?: string | null;
84
+ os?: string | null;
85
+ country?: string | null;
86
+ countryCode?: string | null;
87
+ ip?: string | null;
88
+ impersonatedBy?: string | null;
89
+ } | null;
90
+ insertedAt: string;
91
+ };
92
+ export type RoleAssignmentLogsParams = {
93
+ page?: number;
94
+ limit?: number;
95
+ sort?: string;
96
+ action?: RoleAssignmentLogAction;
97
+ roleId?: number;
98
+ roleName?: string;
99
+ assigneeEmail?: string;
100
+ assignerEmail?: string;
101
+ scope?: RoleResourceType;
102
+ projectExid?: string;
103
+ cameraExid?: string;
104
+ ip?: string;
105
+ from?: string;
106
+ to?: string;
107
+ };
@@ -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,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,56 @@ 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;
19
+ isLabsStaging?: boolean;
17
20
  firebaseDbLink?: string | null;
21
+ firebaseStorageUrl?: string | null;
22
+ firebaseStorageToken?: string | null;
23
+ forgeTokenServerUrl?: string | null;
18
24
  snapshotsURL?: string | null;
19
25
  app?: string | null;
20
26
  getAuthToken?: () => string | null;
21
27
  errorLogger?: (error: AxiosError) => void;
28
+ swrKey?: string;
22
29
  };
23
30
  export type RequestInterceptor = (req: AxiosRequestConfig, env: AxiosEnvironment) => AxiosRequestConfig & any;
24
31
  export type ResponseInterceptor = (res: AxiosResponse, env: AxiosEnvironment) => AxiosResponse & any;
25
32
  export type ErrorInterceptor = (error: any, env: AxiosEnvironment) => any;
33
+ export type RequestManager = {
34
+ createToken: (key: string) => CancelTokenSource["token"];
35
+ cancelToken: (key: string) => void;
36
+ cancelAll: () => void;
37
+ };
26
38
  export interface ExtendedAxiosInstance extends AxiosInstance {
27
39
  CancelToken: CancelTokenStatic;
28
- isCancel: (value: AxiosResponse | AxiosError | never) => boolean;
40
+ isCancel: (value: AxiosResponse | AxiosError | unknown) => boolean;
29
41
  setToken: (token: string) => void;
30
42
  setHeader: (headerName: string, value: any) => void;
31
- generateCancelTokenSource: () => CancelTokenSource;
32
- addCancelToken: (token: CancelTokenSource) => void;
33
- resetCancelTokens: () => void;
34
- cancelRequests: () => void;
43
+ createRequestManager: () => RequestManager;
44
+ requestManager: RequestManager;
35
45
  env: AxiosEnvironment;
36
46
  addEnvironmentVariables: (vars: Record<string, any>) => void;
37
47
  addRequestInterceptor: (interceptor: RequestInterceptor, errorInterceptor?: ErrorInterceptor) => void;
38
48
  addResponseInterceptor: (interceptor: ResponseInterceptor, errorInterceptor?: ErrorInterceptor) => void;
39
49
  addErrorInterceptor: (interceptor: ErrorInterceptor) => void;
50
+ swr: Swr;
40
51
  }
52
+ export type ResponseValue<T> = T | undefined;
53
+ export type SwrResponse<T> = {
54
+ cachedValue: ResponseValue<T>;
55
+ freshPromise: Promise<ResponseValue<T>>;
56
+ };
57
+ export type SwrRequestConfig<T> = Omit<AxiosRequestConfig, "onSwrHit" | "onSwrRefresh"> & {
58
+ onSwrHit?: (data: T) => unknown;
59
+ onSwrRefresh?: (data: T) => unknown;
60
+ };
41
61
  declare module "axios" {
42
62
  interface AxiosRequestConfig {
43
63
  raw?: boolean;
@@ -46,5 +66,9 @@ declare module "axios" {
46
66
  _metadata?: {
47
67
  startTime: number;
48
68
  };
69
+ swr?: boolean;
70
+ onSwrHit?: (data: any) => unknown;
71
+ onSwrRefresh?: (data: any) => unknown;
72
+ onSwrError?: (error: Error) => unknown;
49
73
  }
50
74
  }
@@ -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;
@@ -95,7 +101,7 @@ export type BIMLayerPostPayload = {
95
101
  layerType: BIMLayerTypes;
96
102
  startAt: DateType;
97
103
  shapes: string;
98
- zIndex: number;
104
+ zIndex?: number;
99
105
  };
100
106
  export type BIMLayer = {
101
107
  id: number;
@@ -145,3 +151,28 @@ 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
+ }
171
+ export type BimUpdatedWebhookPayload = {
172
+ eventName: "bim.updated";
173
+ projectId: string;
174
+ data: {
175
+ updatedAt: string;
176
+ bimIdentifier: string;
177
+ };
178
+ };
@@ -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,94 +67,99 @@ 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;
85
81
  isAccessRestricted?: boolean;
82
+ kitAlarms?: KitAlarm[];
83
+ timestampPosition?: TimestampPositionCoordinates;
84
+ position?: number | null;
86
85
  };
87
86
  export type AdminCamera = {
88
- cameraHost: string;
89
- cameraHttpPort: number;
90
- cameraModel: string;
91
- cameraPassword: string;
92
- cameraPictureEndpoint: string;
93
- cameraRtspPort: number;
94
- cameraScheme: string;
95
- cameraUsername: string;
96
- cameraFirmwareVersion: string;
97
- cameraTimezone: string;
98
- cloudRecordingFrequency: number;
99
- cloudRecordingId: number;
100
- cloudRecordingSchedule: Schedule;
101
- cloudRecordingStatus: string;
102
- cloudRecordingStorageDuration: number;
103
- createdAt: DateTime_Z_micros;
104
- description: null;
105
- discoverable: false;
106
- exid: CameraExid;
107
- featureFlags: CameraFeatureFlag[];
108
- fovAngle: 45.0;
109
- fovRadius: number;
110
- heading: null;
111
87
  id: number;
112
- isPowerScheduleActive: true;
113
- isPublic: false;
114
- kitId?: number;
115
- lastOnlineAt: DateTime_Z_micros;
116
- lastPolledAt: DateTime_Z_micros;
117
- location: {
118
- lat: number;
119
- lng: number;
120
- };
121
- macAddress: string;
88
+ exid: CameraExid;
122
89
  name: string;
123
- nvrChannel: null;
124
- nvrDeviceId: string;
125
- nvrHost: string;
126
- nvrHttpPort: number;
127
- nvrModel: NvrModel;
128
- nvrPassword: string;
129
- nvrPictureEndpoint: string;
130
- nvrRtspPort: number;
131
- nvrScheme: string;
132
- nvrUsername: string;
133
- offlineReason: null;
134
- pitch: null;
135
- powerSchedule: Schedule;
136
- projectExid: string;
137
- projectFeatureFlags: [];
138
- projectId: number;
139
- projectName: string;
140
- ptz: false;
141
- recordingFromNvr: false;
142
- roll: null;
143
- routerId: number;
144
90
  status: string;
145
- storageProviders: [];
146
- streamEndpoint: string;
147
- timezone: string;
148
- updatedAt: DateTime_Z_micros;
149
- userApiId: string;
150
- userApiKey: string;
91
+ description: string | null;
92
+ createdAt: string;
93
+ updatedAt: string;
94
+ lastOnlineAt: string | null;
95
+ lastPolledAt: string | null;
96
+ decommissionedAt: string | null;
97
+ deletedAt?: string | null;
98
+ projectId: number | null;
99
+ projectExid: string | null;
100
+ projectName: string | null;
101
+ projectFeatureFlags: Array<ProjectFeatureFlag | string>;
102
+ userId: number | null;
151
103
  userEmail: string;
152
104
  userFullname: string;
153
- userId: number;
154
- zohoId: string;
105
+ userApiId?: string;
106
+ userApiKey?: string;
107
+ isPublic: boolean;
108
+ sharedWithConstruction?: boolean;
109
+ timezone: string | null;
110
+ location?: GeoPoint | null;
111
+ fovAngle?: number | null;
112
+ fovRadius?: number | null;
113
+ heading?: number | null;
114
+ pitch?: number | null;
115
+ roll?: number | null;
116
+ cameraModel?: string | null;
117
+ cameraHost?: string | null;
118
+ cameraHttpPort?: number | null;
119
+ cameraRtspPort?: number | null;
120
+ cameraScheme?: string | null;
121
+ cameraUsername?: string | null;
122
+ cameraPassword?: string | null;
123
+ cameraPictureEndpoint?: string | null;
124
+ rtspUrl?: string | null;
125
+ httpUrl?: string | null;
126
+ deviceId?: string | null;
127
+ nvrId?: number | null;
128
+ nvrDeviceId?: string | null;
129
+ nvrModel?: NvrModel | string | null;
130
+ nvrHost?: string | null;
131
+ nvrHttpPort?: number | null;
132
+ nvrRtspPort?: number | null;
133
+ nvrScheme?: string | null;
134
+ nvrUsername?: string | null;
135
+ nvrPassword?: string | null;
136
+ nvrPictureEndpoint?: string | null;
137
+ streamEndpoint?: string | null;
138
+ routerId?: number | null;
139
+ kitId?: number | null;
140
+ powerType?: string | null;
141
+ powerSchedule?: ScheduleLowercase | Record<string, string[]>;
142
+ isPowerScheduleActive?: boolean;
143
+ discoverable?: boolean;
144
+ recordingFromNvr?: boolean;
145
+ cloudRecordingFrequency?: number | null;
146
+ cloudRecordingId?: number | null;
147
+ cloudRecordingStatus?: string | null;
148
+ cloudRecordingSchedule?: ScheduleLowercase | null;
149
+ cloudRecordingStorageDuration?: number | null;
150
+ liveViewFrequency?: number | null;
151
+ anprSources?: string[];
152
+ storageProviders?: string[];
153
+ featureFlags?: CameraFeatureFlag[];
154
+ zohoId?: string | null;
155
+ offlineReason?: string | null;
156
+ macAddress?: string | null;
157
+ type?: string[];
155
158
  thumbnailUrl?: string;
156
159
  };
157
160
  export type CameraMapMarker = {
158
161
  isOnline: boolean;
159
- location: {
160
- lat: number;
161
- lng: number;
162
- };
162
+ location: GeoPoint;
163
163
  needFov: boolean;
164
164
  rotation: number;
165
165
  fovAngle: number;
@@ -175,6 +175,14 @@ export declare enum CameraStatus {
175
175
  UnderMaintenance = "under_maintenance",
176
176
  WaitingForSiteVisit = "waiting_for_site_visit"
177
177
  }
178
+ export declare enum IntensityChange {
179
+ High = "High",
180
+ Moderate = "Moderate",
181
+ Low = "Low",
182
+ NoChange = "No change",
183
+ Default = "Default"
184
+ }
185
+ export declare const IntensityChangeColorMap: Record<IntensityChange, string>;
178
186
  export declare enum CameraFeatureFlag {
179
187
  EdgeVideo = "edge_video",
180
188
  BimCompare = "bim_compare",
@@ -189,7 +197,14 @@ export declare enum CameraFeatureFlag {
189
197
  ObjectDetection = "object_detection",
190
198
  Segmentation = "segmentation",
191
199
  SegmentationAutoLabelling = "segmentation_auto_labelling",
192
- PpeMonitoring = "ppe_monitoring"
200
+ PpeMonitoring = "ppe_monitoring",
201
+ PpeOwlv2 = "ppe_owlv2",
202
+ PpeGemini = "ppe_gemini",
203
+ PpeYolo = "ppe_yolo",
204
+ PpeV2 = "ppe_v2",
205
+ NoLiveView = "no_live_view",
206
+ Ring = "ring",
207
+ CloudOnly = "cloud_only"
193
208
  }
194
209
  export type CameraLogsRequestPayload = {
195
210
  limit: number;
@@ -233,6 +248,7 @@ export type CameraUpdateRequestPayload = {
233
248
  fovRadius?: number;
234
249
  featureFlags: CameraFeatureFlag[];
235
250
  isAccessRestricted?: boolean;
251
+ liveViewFrequency?: number | null;
236
252
  };
237
253
  export type CamerasResponsePayload = {
238
254
  cameras?: Camera[];
@@ -294,14 +310,9 @@ export declare enum CameraModel {
294
310
  Hikvision = "hikvision",
295
311
  Avigilion = "avigilion",
296
312
  Hanwha = "hanwha",
297
- Other = "other"
313
+ Other = "other",
314
+ Ring = "ring"
298
315
  }
299
- export type DroneCameraTransform = {
300
- position: Cartesian3;
301
- direction: Cartesian3;
302
- up: Cartesian3;
303
- right: Cartesian3;
304
- };
305
316
  export type Footage = {
306
317
  cameraExid: string;
307
318
  cameraName: string;
@@ -333,6 +344,7 @@ export type CameraPath = {
333
344
  export type CheckCameraPortPayload = {
334
345
  address: string;
335
346
  port: number;
347
+ open: boolean;
336
348
  };
337
349
  export type CameraCreateRequestPayload = {
338
350
  status: CameraStatus;
@@ -341,7 +353,7 @@ export type CameraCreateRequestPayload = {
341
353
  isPowerScheduleActive?: boolean;
342
354
  ptz?: boolean;
343
355
  name: string;
344
- coordinates?: [number, number];
356
+ coordinates?: TuplePoint2D;
345
357
  recordingFromNvr?: boolean;
346
358
  CameraConfig: {
347
359
  model: CameraModel;
@@ -517,3 +529,10 @@ export type FetchCameraQueryParams = PaginationParams & {
517
529
  externalRsptPort: string;
518
530
  nvrHttpPort: string;
519
531
  };
532
+ export declare enum BimType {
533
+ TwoD = "2D",
534
+ Forge = "Forge"
535
+ }
536
+ export type CameraDateRangeFilter = DateRangeFilter & {
537
+ cameraExid: CameraExid;
538
+ };