@evercam/api 1.0.0-40f7b211b → 1.0.0-41bb6af5a

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 (93) hide show
  1. package/README.md +4 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +208 -12
  3. package/dist/api/api/adminApi.d.ts +122 -95
  4. package/dist/api/api/aiApi.d.ts +125 -82
  5. package/dist/api/api/authzApi.d.ts +34 -15
  6. package/dist/api/api/client/axios.d.ts +2 -1
  7. package/dist/api/api/client/swr/Swr.d.ts +1 -1
  8. package/dist/api/api/evercamApi.d.ts +150 -106
  9. package/dist/api/api/evercamLabsApi.d.ts +9 -7
  10. package/dist/api/api/exNvrApi.d.ts +1 -1
  11. package/dist/api/api/ingestApi.d.ts +123 -33
  12. package/dist/api/api/ptzApi.d.ts +12 -3
  13. package/dist/api/api/videoWallApi.d.ts +7 -7
  14. package/dist/api/api/weatherApi.d.ts +2 -2
  15. package/dist/api/types/360.d.ts +334 -9
  16. package/dist/api/types/aconex.d.ts +104 -6
  17. package/dist/api/types/admin.d.ts +51 -0
  18. package/dist/api/types/aiConfigs.d.ts +154 -0
  19. package/dist/api/types/analytics.d.ts +174 -42
  20. package/dist/api/types/anpr.d.ts +53 -13
  21. package/dist/api/types/auditLogs.d.ts +19 -1
  22. package/dist/api/types/authz.d.ts +107 -0
  23. package/dist/api/types/autodesk.d.ts +7 -7
  24. package/dist/api/types/automation.d.ts +86 -1
  25. package/dist/api/types/axios.d.ts +19 -10
  26. package/dist/api/types/bim.d.ts +37 -6
  27. package/dist/api/types/camera.d.ts +106 -92
  28. package/dist/api/types/comments.d.ts +10 -11
  29. package/dist/api/types/company.d.ts +42 -1
  30. package/dist/api/types/compare.d.ts +20 -5
  31. package/dist/api/types/connector.d.ts +5 -5
  32. package/dist/api/types/coolify.d.ts +20 -2
  33. package/dist/api/types/copilot.d.ts +11 -6
  34. package/dist/api/types/credentials.d.ts +1 -0
  35. package/dist/api/types/detections.d.ts +23 -32
  36. package/dist/api/types/drone.d.ts +96 -6
  37. package/dist/api/types/errors.d.ts +12 -0
  38. package/dist/api/types/gateReport.d.ts +50 -158
  39. package/dist/api/types/gateReportManagement.d.ts +175 -0
  40. package/dist/api/types/hammertech.d.ts +98 -0
  41. package/dist/api/types/hdd.d.ts +26 -1
  42. package/dist/api/types/index.d.ts +15 -1
  43. package/dist/api/types/ingest.d.ts +116 -4
  44. package/dist/api/types/kit.d.ts +71 -7
  45. package/dist/api/types/map.d.ts +12 -0
  46. package/dist/api/types/media.d.ts +10 -3
  47. package/dist/api/types/notification.d.ts +43 -3
  48. package/dist/api/types/oauth.d.ts +62 -0
  49. package/dist/api/types/observations.d.ts +85 -0
  50. package/dist/api/types/planner.d.ts +101 -1
  51. package/dist/api/types/posthog.d.ts +35 -0
  52. package/dist/api/types/procore.d.ts +13 -6
  53. package/dist/api/types/progressPhoto.d.ts +6 -32
  54. package/dist/api/types/project.d.ts +144 -19
  55. package/dist/api/types/recording.d.ts +9 -12
  56. package/dist/api/types/recycleBin.d.ts +14 -0
  57. package/dist/api/types/ring.d.ts +53 -0
  58. package/dist/api/types/roi.d.ts +4 -3
  59. package/dist/api/types/routeParams.d.ts +3 -1
  60. package/dist/api/types/router.d.ts +20 -1
  61. package/dist/api/types/shared.d.ts +30 -4
  62. package/dist/api/types/shares.d.ts +6 -144
  63. package/dist/api/types/sim.d.ts +6 -6
  64. package/dist/api/types/siteAnalytics.d.ts +191 -46
  65. package/dist/api/types/siteAnalyticsManagement.d.ts +92 -0
  66. package/dist/api/types/siteView.d.ts +73 -0
  67. package/dist/api/types/smartSeach.d.ts +5 -0
  68. package/dist/api/types/snapshots.d.ts +55 -1
  69. package/dist/api/types/socket.d.ts +4 -0
  70. package/dist/api/types/storageProvider.d.ts +19 -0
  71. package/dist/api/types/storyblok.d.ts +40 -0
  72. package/dist/api/types/streaming.d.ts +3 -3
  73. package/dist/api/types/tag.d.ts +1 -1
  74. package/dist/api/types/time.d.ts +4 -18
  75. package/dist/api/types/timelapse.d.ts +8 -5
  76. package/dist/api/types/user.d.ts +106 -35
  77. package/dist/api/types/videoWall.d.ts +47 -14
  78. package/dist/api/types/weather.d.ts +77 -11
  79. package/dist/api/types/widget.d.ts +96 -16
  80. package/dist/api/types/xweather.d.ts +4 -4
  81. package/dist/index.js +2279 -1045
  82. package/dist/index.js.map +1 -1
  83. package/dist/index.umd.cjs +1 -1
  84. package/dist/index.umd.cjs.map +1 -1
  85. package/dist/shared/types/components.d.ts +221 -17
  86. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  87. package/dist/shared/types/imagePlayer.d.ts +10 -3
  88. package/dist/shared/types/index.d.ts +3 -0
  89. package/dist/shared/types/observations.d.ts +21 -0
  90. package/dist/shared/types/rbac.d.ts +67 -0
  91. package/dist/shared/types/timeline.d.ts +2 -1
  92. package/package.json +6 -4
  93. package/dist/api/types/storageServers.d.ts +0 -4
@@ -1,3 +1,4 @@
1
+ import { AconexIdentifiers, CameraExid } from "@evercam/api/types";
1
2
  export declare enum AutomationProvider {
2
3
  Aconex = "aconex",
3
4
  Procore = "procore",
@@ -6,5 +7,89 @@ export declare enum AutomationProvider {
6
7
  }
7
8
  export declare enum AutomationType {
8
9
  Photo = "photo",
9
- Compare = "compare"
10
+ Compare = "compare",
11
+ GateReport = "gate_report"
10
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,5 +1,5 @@
1
1
  import type { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelTokenSource, CancelTokenStatic } from "axios";
2
- import { Swr } from "@/api/client/swr/Swr";
2
+ import { Swr } from "@evercam/api/api/client/swr/Swr";
3
3
  export type TimedRequest<T> = Promise<AxiosResponse<T> & {
4
4
  duration: number;
5
5
  error?: AxiosError;
@@ -8,17 +8,19 @@ export type AxiosEnvironment = {
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;
12
13
  ingestGpuApiUrl?: string | null;
13
14
  posthogApiUrl?: string | null;
14
15
  posthogProjectId?: string | null;
15
- posthogPrivateApiKey?: string | null;
16
16
  firebaseVideowallUrl?: string | null;
17
17
  weatherApiBaseUrl?: string | null;
18
18
  evercamLabsUrl?: string | null;
19
+ isLabsStaging?: boolean;
19
20
  firebaseDbLink?: string | null;
20
21
  firebaseStorageUrl?: string | null;
21
22
  firebaseStorageToken?: string | null;
23
+ forgeTokenServerUrl?: string | null;
22
24
  snapshotsURL?: string | null;
23
25
  app?: string | null;
24
26
  getAuthToken?: () => string | null;
@@ -28,15 +30,18 @@ export type AxiosEnvironment = {
28
30
  export type RequestInterceptor = (req: AxiosRequestConfig, env: AxiosEnvironment) => AxiosRequestConfig & any;
29
31
  export type ResponseInterceptor = (res: AxiosResponse, env: AxiosEnvironment) => AxiosResponse & any;
30
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
+ };
31
38
  export interface ExtendedAxiosInstance extends AxiosInstance {
32
39
  CancelToken: CancelTokenStatic;
33
- isCancel: (value: AxiosResponse | AxiosError | never) => boolean;
40
+ isCancel: (value: AxiosResponse | AxiosError | unknown) => boolean;
34
41
  setToken: (token: string) => void;
35
42
  setHeader: (headerName: string, value: any) => void;
36
- generateCancelTokenSource: () => CancelTokenSource;
37
- addCancelToken: (token: CancelTokenSource) => void;
38
- resetCancelTokens: () => void;
39
- cancelRequests: () => void;
43
+ createRequestManager: () => RequestManager;
44
+ requestManager: RequestManager;
40
45
  env: AxiosEnvironment;
41
46
  addEnvironmentVariables: (vars: Record<string, any>) => void;
42
47
  addRequestInterceptor: (interceptor: RequestInterceptor, errorInterceptor?: ErrorInterceptor) => void;
@@ -49,6 +54,10 @@ export type SwrResponse<T> = {
49
54
  cachedValue: ResponseValue<T>;
50
55
  freshPromise: Promise<ResponseValue<T>>;
51
56
  };
57
+ export type SwrRequestConfig<T> = Omit<AxiosRequestConfig, "onSwrHit" | "onSwrRefresh"> & {
58
+ onSwrHit?: (data: T) => unknown;
59
+ onSwrRefresh?: (data: T) => unknown;
60
+ };
52
61
  declare module "axios" {
53
62
  interface AxiosRequestConfig {
54
63
  raw?: boolean;
@@ -58,8 +67,8 @@ declare module "axios" {
58
67
  startTime: number;
59
68
  };
60
69
  swr?: boolean;
61
- onSwrHit?: <T>(data: T) => unknown;
62
- onSwrRefresh?: <T>(data: T) => unknown;
70
+ onSwrHit?: (data: any) => unknown;
71
+ onSwrRefresh?: (data: any) => unknown;
63
72
  onSwrError?: (error: Error) => unknown;
64
73
  }
65
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,7 +13,8 @@ export type Camera = {
16
13
  status: string;
17
14
  storageDuration: string;
18
15
  };
19
- createdAt: DateTime_Z_micros;
16
+ liveViewFrequency: number | null;
17
+ createdAt: string;
20
18
  description: string | null;
21
19
  discoverable: boolean;
22
20
  external: {
@@ -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;
@@ -72,7 +67,8 @@ export type Camera = {
72
67
  rtmp: string;
73
68
  };
74
69
  ptz: boolean;
75
- rights: string;
70
+ recordingFromNvr: boolean;
71
+ model?: CameraModel;
76
72
  roll: string | null;
77
73
  routerId: number;
78
74
  status: CameraStatus;
@@ -80,87 +76,90 @@ export type Camera = {
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;
86
- kitAlarms?: string[];
82
+ kitAlarms?: KitAlarm[];
83
+ timestampPosition?: TimestampPositionCoordinates;
84
+ position?: number | null;
87
85
  };
88
86
  export type AdminCamera = {
89
- cameraHost: string;
90
- cameraHttpPort: number;
91
- cameraModel: string;
92
- cameraPassword: string;
93
- cameraPictureEndpoint: string;
94
- cameraRtspPort: number;
95
- cameraScheme: string;
96
- cameraUsername: string;
97
- cameraFirmwareVersion: string;
98
- cameraTimezone: string;
99
- cloudRecordingFrequency: number;
100
- cloudRecordingId: number;
101
- cloudRecordingSchedule: Schedule;
102
- cloudRecordingStatus: string;
103
- cloudRecordingStorageDuration: number;
104
- createdAt: DateTime_Z_micros;
105
- description: null;
106
- discoverable: false;
107
- exid: CameraExid;
108
- featureFlags: CameraFeatureFlag[];
109
- fovAngle: 45.0;
110
- fovRadius: number;
111
- heading: null;
112
87
  id: number;
113
- isPowerScheduleActive: true;
114
- isPublic: false;
115
- kitId?: number;
116
- lastOnlineAt: DateTime_Z_micros;
117
- lastPolledAt: DateTime_Z_micros;
118
- location: {
119
- lat: number;
120
- lng: number;
121
- };
122
- macAddress: string;
88
+ exid: CameraExid;
123
89
  name: string;
124
- nvrChannel: null;
125
- nvrDeviceId: string;
126
- nvrHost: string;
127
- nvrHttpPort: number;
128
- nvrModel: NvrModel;
129
- nvrPassword: string;
130
- nvrPictureEndpoint: string;
131
- nvrRtspPort: number;
132
- nvrScheme: string;
133
- nvrUsername: string;
134
- offlineReason: null;
135
- pitch: null;
136
- powerSchedule: Schedule;
137
- projectExid: string;
138
- projectFeatureFlags: [];
139
- projectId: number;
140
- projectName: string;
141
- ptz: false;
142
- recordingFromNvr: false;
143
- roll: null;
144
- routerId: number;
145
90
  status: string;
146
- storageProviders: [];
147
- streamEndpoint: string;
148
- timezone: string;
149
- updatedAt: DateTime_Z_micros;
150
- userApiId: string;
151
- 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;
152
103
  userEmail: string;
153
104
  userFullname: string;
154
- userId: number;
155
- 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[];
156
158
  thumbnailUrl?: string;
157
159
  };
158
160
  export type CameraMapMarker = {
159
161
  isOnline: boolean;
160
- location: {
161
- lat: number;
162
- lng: number;
163
- };
162
+ location: GeoPoint;
164
163
  needFov: boolean;
165
164
  rotation: number;
166
165
  fovAngle: number;
@@ -176,6 +175,14 @@ export declare enum CameraStatus {
176
175
  UnderMaintenance = "under_maintenance",
177
176
  WaitingForSiteVisit = "waiting_for_site_visit"
178
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>;
179
186
  export declare enum CameraFeatureFlag {
180
187
  EdgeVideo = "edge_video",
181
188
  BimCompare = "bim_compare",
@@ -190,7 +197,14 @@ export declare enum CameraFeatureFlag {
190
197
  ObjectDetection = "object_detection",
191
198
  Segmentation = "segmentation",
192
199
  SegmentationAutoLabelling = "segmentation_auto_labelling",
193
- 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"
194
208
  }
195
209
  export type CameraLogsRequestPayload = {
196
210
  limit: number;
@@ -234,6 +248,7 @@ export type CameraUpdateRequestPayload = {
234
248
  fovRadius?: number;
235
249
  featureFlags: CameraFeatureFlag[];
236
250
  isAccessRestricted?: boolean;
251
+ liveViewFrequency?: number | null;
237
252
  };
238
253
  export type CamerasResponsePayload = {
239
254
  cameras?: Camera[];
@@ -295,14 +310,9 @@ export declare enum CameraModel {
295
310
  Hikvision = "hikvision",
296
311
  Avigilion = "avigilion",
297
312
  Hanwha = "hanwha",
298
- Other = "other"
313
+ Other = "other",
314
+ Ring = "ring"
299
315
  }
300
- export type DroneCameraTransform = {
301
- position: Cartesian3;
302
- direction: Cartesian3;
303
- up: Cartesian3;
304
- right: Cartesian3;
305
- };
306
316
  export type Footage = {
307
317
  cameraExid: string;
308
318
  cameraName: string;
@@ -334,6 +344,7 @@ export type CameraPath = {
334
344
  export type CheckCameraPortPayload = {
335
345
  address: string;
336
346
  port: number;
347
+ open: boolean;
337
348
  };
338
349
  export type CameraCreateRequestPayload = {
339
350
  status: CameraStatus;
@@ -342,7 +353,7 @@ export type CameraCreateRequestPayload = {
342
353
  isPowerScheduleActive?: boolean;
343
354
  ptz?: boolean;
344
355
  name: string;
345
- coordinates?: [number, number];
356
+ coordinates?: TuplePoint2D;
346
357
  recordingFromNvr?: boolean;
347
358
  CameraConfig: {
348
359
  model: CameraModel;
@@ -522,3 +533,6 @@ export declare enum BimType {
522
533
  TwoD = "2D",
523
534
  Forge = "Forge"
524
535
  }
536
+ export type CameraDateRangeFilter = DateRangeFilter & {
537
+ cameraExid: CameraExid;
538
+ };
@@ -1,8 +1,9 @@
1
- import { CameraExid, DateType, ProjectExid, PaginationParams } from "@/types";
1
+ import { CameraExid, DateType, ProjectExid, PaginationParams, TuplePoint3D, TuplePoint2D } from "@evercam/api/types";
2
2
  export declare enum CommentsScope {
3
3
  Recordings = "recordings",
4
4
  ThreeSixty = "360",
5
- Drone = "drone"
5
+ Drone = "drone",
6
+ Timeline = "timeline"
6
7
  }
7
8
  export declare enum CommentsLabel {
8
9
  Info = "Info",
@@ -10,12 +11,8 @@ export declare enum CommentsLabel {
10
11
  Restricted = "Restricted"
11
12
  }
12
13
  export type CommentsRequestPayload = {
13
- cameraExid: CameraExid;
14
- fromDate: string;
15
- toDate: string;
16
14
  scope: CommentsScope;
17
- page?: number;
18
- limit?: number;
15
+ cameraExid?: CameraExid;
19
16
  };
20
17
  export type CommentsListRequestPayload = PaginationParams & {
21
18
  projectExid?: ProjectExid;
@@ -39,21 +36,23 @@ export type Comment = {
39
36
  createdAt?: string;
40
37
  creatorEmail?: string;
41
38
  creatorName?: string;
42
- position2d?: [number, number];
43
- position3d?: [number, number, number];
39
+ position2d?: TuplePoint2D;
40
+ position3d?: TuplePoint3D;
44
41
  context?: Record<string, unknown>;
45
42
  canDelete?: boolean;
46
43
  archivedAt?: string;
44
+ label?: CommentsLabel;
47
45
  };
48
46
  export type CommentCreationRequestPayload = {
49
47
  fromDate?: DateType;
50
48
  toDate?: DateType;
51
49
  timestamp?: DateType;
52
50
  scope?: CommentsScope;
53
- projectExid: ProjectExid;
51
+ projectExid?: ProjectExid;
54
52
  cameraExid?: CameraExid;
55
53
  content: string;
56
- position2d?: [number, number];
54
+ label?: CommentsLabel;
55
+ position2d?: TuplePoint2D;
57
56
  position3d?: [number, number, number];
58
57
  context?: Record<string, unknown>;
59
58
  };
@@ -1,4 +1,4 @@
1
- import type { DateType, PaginationParams } from "@/types";
1
+ import type { DateType, PaginationParams } from "@evercam/api/types";
2
2
  export type CompanyUser = {
3
3
  id: number;
4
4
  fullname: string;
@@ -7,12 +7,28 @@ export type CompanyUser = {
7
7
  lastSeenAt: string;
8
8
  active: boolean;
9
9
  };
10
+ export type AdminCompanyUser = {
11
+ id: number;
12
+ email: string;
13
+ fullname: string;
14
+ lastLoginAt: string;
15
+ };
10
16
  export type CompanyProject = {
11
17
  exid: string;
12
18
  name: string;
13
19
  status: string;
14
20
  startedAt: DateType;
15
21
  };
22
+ export type AdminCompanyProject = {
23
+ id: number;
24
+ name: string;
25
+ status: string;
26
+ insertedAt: DateType;
27
+ exid: string;
28
+ endDate: string | null;
29
+ startDate: string | null;
30
+ archiveTier: string | null;
31
+ };
16
32
  export type CompanyKit = {
17
33
  id: number;
18
34
  name: string;
@@ -55,6 +71,31 @@ export type Company = {
55
71
  activeUsers: number;
56
72
  insertedAt: DateType;
57
73
  };
74
+ export type CompanySummary = {
75
+ id: number;
76
+ name: string;
77
+ users: number;
78
+ insertedAt: DateType;
79
+ exid: string;
80
+ sessions: number;
81
+ projects: number;
82
+ zohoId: string;
83
+ domains: string;
84
+ linkedinUrl: string | null;
85
+ ssoProviders: string[];
86
+ cameras: number;
87
+ kits: number;
88
+ };
89
+ export type CompanyCameraSummary = {
90
+ id: number;
91
+ name: string;
92
+ status: string;
93
+ exid: string;
94
+ projectExid: string | null;
95
+ ownerEmail: string;
96
+ ownerFullname: string;
97
+ usersCount: number;
98
+ };
58
99
  export type CompanyQueryParams = PaginationParams & {
59
100
  name: string;
60
101
  exid: string;
@@ -1,4 +1,4 @@
1
- import { DateType, PaginationParams } from "@/types";
1
+ import { DateType, PaginationParams } from "@evercam/api/types";
2
2
  export type Compare = {
3
3
  cameraExid: string;
4
4
  createdAt: string;
@@ -28,14 +28,29 @@ export declare enum CompareStatus {
28
28
  Failed = 2
29
29
  }
30
30
  export type CompareRequestPayload = {
31
+ compareExid: string;
31
32
  name: string;
32
- afterDate: string;
33
33
  beforeDate: string;
34
+ afterDate: string;
35
+ cameraExid: string;
34
36
  embed: string;
35
- compareExid: string;
36
- cameraExid?: string;
37
+ bim?: boolean;
38
+ custom?: boolean;
39
+ options?: {
40
+ type: string;
41
+ beforeSnap: string;
42
+ afterSnap: string;
43
+ };
37
44
  createAnimation: boolean;
38
- evercamWatermark?: boolean;
45
+ evercamWatermark: boolean;
46
+ logo?: CompareLogoPosition;
47
+ };
48
+ export type CompareLogoPosition = {
49
+ id?: number;
50
+ width: number;
51
+ height: number;
52
+ x: number;
53
+ y: number;
39
54
  };
40
55
  export type AdminCompare = {
41
56
  id: number;