@evercam/api 1.0.0-c65b4959f → 1.0.0-cb5ac4ad5

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 (99) hide show
  1. package/README.md +3 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +201 -12
  3. package/dist/api/api/adminApi.d.ts +114 -101
  4. package/dist/api/api/aiApi.d.ts +187 -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 +154 -108
  9. package/dist/api/api/evercamLabsApi.d.ts +8 -17
  10. package/dist/api/api/exNvrApi.d.ts +1 -1
  11. package/dist/api/api/index.d.ts +1 -0
  12. package/dist/api/api/ingestApi.d.ts +123 -35
  13. package/dist/api/api/ptzApi.d.ts +12 -3
  14. package/dist/api/api/videoWallApi.d.ts +7 -7
  15. package/dist/api/api/weatherApi.d.ts +2 -2
  16. package/dist/api/api/workflowsApi.d.ts +15 -0
  17. package/dist/api/types/360.d.ts +288 -25
  18. package/dist/api/types/aconex.d.ts +104 -6
  19. package/dist/api/types/admin.d.ts +51 -0
  20. package/dist/api/types/aiConfigs.d.ts +244 -0
  21. package/dist/api/types/analytics.d.ts +182 -59
  22. package/dist/api/types/anpr.d.ts +53 -13
  23. package/dist/api/types/auditLogs.d.ts +19 -2
  24. package/dist/api/types/authz.d.ts +132 -0
  25. package/dist/api/types/autodesk.d.ts +7 -7
  26. package/dist/api/types/automation.d.ts +114 -1
  27. package/dist/api/types/axios.d.ts +20 -14
  28. package/dist/api/types/bim.d.ts +38 -9
  29. package/dist/api/types/camera.d.ts +130 -119
  30. package/dist/api/types/comments.d.ts +16 -11
  31. package/dist/api/types/company.d.ts +42 -1
  32. package/dist/api/types/compare.d.ts +20 -5
  33. package/dist/api/types/connector.d.ts +5 -5
  34. package/dist/api/types/coolify.d.ts +20 -2
  35. package/dist/api/types/credentials.d.ts +1 -0
  36. package/dist/api/types/detections.d.ts +23 -32
  37. package/dist/api/types/drone.d.ts +95 -6
  38. package/dist/api/types/errors.d.ts +13 -1
  39. package/dist/api/types/gateReport.d.ts +49 -168
  40. package/dist/api/types/gateReportManagement.d.ts +170 -0
  41. package/dist/api/types/hammertech.d.ts +98 -0
  42. package/dist/api/types/hdd.d.ts +26 -1
  43. package/dist/api/types/index.d.ts +16 -3
  44. package/dist/api/types/ingest.d.ts +191 -4
  45. package/dist/api/types/kit.d.ts +76 -56
  46. package/dist/api/types/map.d.ts +12 -0
  47. package/dist/api/types/media.d.ts +9 -3
  48. package/dist/api/types/notification.d.ts +83 -3
  49. package/dist/api/types/oauth.d.ts +62 -0
  50. package/dist/api/types/observationEvents.d.ts +141 -0
  51. package/dist/api/types/observations.d.ts +84 -0
  52. package/dist/api/types/planner.d.ts +102 -9
  53. package/dist/api/types/posthog.d.ts +35 -0
  54. package/dist/api/types/procore.d.ts +13 -6
  55. package/dist/api/types/progressPhoto.d.ts +6 -32
  56. package/dist/api/types/project.d.ts +150 -19
  57. package/dist/api/types/recording.d.ts +10 -15
  58. package/dist/api/types/recycleBin.d.ts +1 -1
  59. package/dist/api/types/ring.d.ts +53 -0
  60. package/dist/api/types/roi.d.ts +3 -11
  61. package/dist/api/types/routeParams.d.ts +1 -0
  62. package/dist/api/types/router.d.ts +20 -1
  63. package/dist/api/types/shared.d.ts +28 -24
  64. package/dist/api/types/shares.d.ts +6 -157
  65. package/dist/api/types/sim.d.ts +6 -6
  66. package/dist/api/types/siteAnalytics.d.ts +189 -46
  67. package/dist/api/types/siteAnalyticsManagement.d.ts +127 -0
  68. package/dist/api/types/siteView.d.ts +78 -0
  69. package/dist/api/types/smartSeach.d.ts +5 -0
  70. package/dist/api/types/snapshots.d.ts +49 -4
  71. package/dist/api/types/socket.d.ts +4 -0
  72. package/dist/api/types/storageProvider.d.ts +19 -0
  73. package/dist/api/types/storyblok.d.ts +27 -0
  74. package/dist/api/types/streaming.d.ts +3 -3
  75. package/dist/api/types/tag.d.ts +1 -1
  76. package/dist/api/types/time.d.ts +4 -18
  77. package/dist/api/types/timelapse.d.ts +7 -11
  78. package/dist/api/types/user.d.ts +121 -35
  79. package/dist/api/types/videoWall.d.ts +47 -14
  80. package/dist/api/types/weather.d.ts +77 -11
  81. package/dist/api/types/widget.d.ts +76 -15
  82. package/dist/api/types/workflows.d.ts +108 -0
  83. package/dist/api/types/xweather.d.ts +4 -4
  84. package/dist/api/utils.d.ts +1 -0
  85. package/dist/index.js +2446 -1048
  86. package/dist/index.js.map +1 -1
  87. package/dist/index.umd.cjs +1 -1
  88. package/dist/index.umd.cjs.map +1 -1
  89. package/dist/shared/types/components.d.ts +355 -36
  90. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  91. package/dist/shared/types/imagePlayer.d.ts +10 -3
  92. package/dist/shared/types/index.d.ts +3 -0
  93. package/dist/shared/types/observations.d.ts +25 -0
  94. package/dist/shared/types/rbac.d.ts +67 -0
  95. package/dist/shared/types/timeline.d.ts +2 -1
  96. package/package.json +6 -4
  97. package/dist/api/types/copilot.d.ts +0 -157
  98. package/dist/api/types/storageServers.d.ts +0 -4
  99. package/dist/api/types/vendorModel.d.ts +0 -15
@@ -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;
@@ -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,117 @@ 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",
12
+ Weather = "weather"
10
13
  }
14
+ export declare enum AutomationWeatherReportType {
15
+ Forecast = "forecast",
16
+ History = "history"
17
+ }
18
+ export declare enum AutomationExportFormat {
19
+ Pdf = "pdf",
20
+ Csv = "csv"
21
+ }
22
+ export declare enum AutomationWeatherDataGranularity {
23
+ Daily = "daily",
24
+ Hourly = "hourly"
25
+ }
26
+ export type AutomationWeatherConfig = {
27
+ reportType: AutomationWeatherReportType;
28
+ exportFormat: AutomationExportFormat;
29
+ dataGranularity?: AutomationWeatherDataGranularity;
30
+ selectedColumns?: string[];
31
+ forecastDays?: number;
32
+ };
33
+ export type AutomationCompareConfig = {
34
+ compareDelay: number;
35
+ };
36
+ export type AutomationEmailRecipient = string | {
37
+ email: string;
38
+ };
39
+ export type AutomationGateReportConfig = {
40
+ projectExid: string;
41
+ vehicleTypes: string[];
42
+ fileType: string;
43
+ period: number;
44
+ columns: string[];
45
+ };
46
+ export type AutomationEmailProviderConfig = {
47
+ cameraExids?: CameraExid[];
48
+ recipients: string | AutomationEmailRecipient[];
49
+ };
50
+ export type AutomationProcoreProviderConfig = {
51
+ companyId: number;
52
+ companyName: string;
53
+ projectId: number;
54
+ projectName: string;
55
+ categoryId: number;
56
+ categoryName: string;
57
+ };
58
+ export type AutomationAconexProviderConfig = {
59
+ projectId: number;
60
+ projectName: string;
61
+ } & Partial<Record<AconexIdentifiers, string | number | boolean>>;
62
+ export type AutomationAutodeskProviderConfig = {
63
+ hubId: number;
64
+ hubName: string;
65
+ projectId: number;
66
+ projectName: string;
67
+ folderId: number;
68
+ accFileType: string;
69
+ accFolderType: string;
70
+ folderName: string;
71
+ };
72
+ export type AutomationProviderConfig = AutomationEmailProviderConfig | AutomationProcoreProviderConfig | AutomationAconexProviderConfig | AutomationAutodeskProviderConfig;
73
+ export type AutomationOptionsConfig = AutomationCompareConfig | AutomationGateReportConfig | AutomationWeatherConfig | {};
74
+ export type AutomationConfig = AutomationProviderConfig & AutomationOptionsConfig;
75
+ export type Automation = {
76
+ id?: number;
77
+ cameraExids: CameraExid[];
78
+ name: string;
79
+ subject?: string;
80
+ provider: AutomationProvider;
81
+ type: AutomationType;
82
+ config: AutomationConfig;
83
+ notifyDays: string[];
84
+ notifyTime: string;
85
+ timezone: string;
86
+ isPaused: boolean;
87
+ restrictedCameraExids?: string[];
88
+ };
89
+ export declare enum AutomationConfigStep {
90
+ Type = "type",
91
+ Cameras = "cameras",
92
+ Settings = "settings",
93
+ Destination = "destination"
94
+ }
95
+ export type AutomationProviderOption = {
96
+ labelTranslationKey: string;
97
+ descriptionTranslationKey: string;
98
+ value: AutomationProvider;
99
+ icon: string;
100
+ iconSize?: string;
101
+ requiresConnection: boolean;
102
+ };
103
+ export type AutomationTypeOption = {
104
+ labelTranslationKey: string;
105
+ descriptionTranslationKey: string;
106
+ label?: string;
107
+ description?: string;
108
+ value: AutomationType;
109
+ icon: string;
110
+ iconType?: string;
111
+ };
112
+ export type FormattedAutomation = {
113
+ cameraExids?: string;
114
+ name: string;
115
+ subject: string;
116
+ provider: AutomationProvider;
117
+ type: AutomationType;
118
+ config: Partial<AutomationProviderConfig> & Partial<AutomationOptionsConfig>;
119
+ notifyDays: string;
120
+ notifyTime: string;
121
+ timezone: string;
122
+ isPaused: boolean;
123
+ };
@@ -1,24 +1,23 @@
1
1
  import type { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelTokenSource, CancelTokenStatic } from "axios";
2
- import { Swr } from "@/api/client/swr/Swr";
3
- export type TimedRequest<T> = Promise<AxiosResponse<T> & {
4
- duration: number;
5
- error?: AxiosError;
6
- }>;
2
+ import { Swr } from "@evercam/api/api/client/swr/Swr";
7
3
  export type AxiosEnvironment = {
8
4
  baseUrl?: string | null;
9
5
  stagingAiApiUrl?: string | null;
10
6
  aiApiUrl?: string | null;
11
- ingestApiUrl?: string | null;
7
+ ingestDroneApi?: string | null;
8
+ ingest360Api?: string | null;
12
9
  ingestGpuApiUrl?: string | null;
13
10
  posthogApiUrl?: string | null;
14
11
  posthogProjectId?: string | null;
15
- posthogPrivateApiKey?: string | null;
16
12
  firebaseVideowallUrl?: string | null;
17
13
  weatherApiBaseUrl?: string | null;
18
14
  evercamLabsUrl?: string | null;
15
+ isLabsStaging?: boolean;
16
+ workflowsApiUrl?: string | null;
19
17
  firebaseDbLink?: string | null;
20
18
  firebaseStorageUrl?: string | null;
21
19
  firebaseStorageToken?: string | null;
20
+ forgeTokenServerUrl?: string | null;
22
21
  snapshotsURL?: string | null;
23
22
  app?: string | null;
24
23
  getAuthToken?: () => string | null;
@@ -28,15 +27,18 @@ export type AxiosEnvironment = {
28
27
  export type RequestInterceptor = (req: AxiosRequestConfig, env: AxiosEnvironment) => AxiosRequestConfig & any;
29
28
  export type ResponseInterceptor = (res: AxiosResponse, env: AxiosEnvironment) => AxiosResponse & any;
30
29
  export type ErrorInterceptor = (error: any, env: AxiosEnvironment) => any;
30
+ export type RequestManager = {
31
+ createToken: (key: string) => CancelTokenSource["token"];
32
+ cancelToken: (key: string) => void;
33
+ cancelAll: () => void;
34
+ };
31
35
  export interface ExtendedAxiosInstance extends AxiosInstance {
32
36
  CancelToken: CancelTokenStatic;
33
- isCancel: (value: AxiosResponse | AxiosError | never) => boolean;
37
+ isCancel: (value: AxiosResponse | AxiosError | unknown) => boolean;
34
38
  setToken: (token: string) => void;
35
39
  setHeader: (headerName: string, value: any) => void;
36
- generateCancelTokenSource: () => CancelTokenSource;
37
- addCancelToken: (token: CancelTokenSource) => void;
38
- resetCancelTokens: () => void;
39
- cancelRequests: () => void;
40
+ createRequestManager: () => RequestManager;
41
+ requestManager: RequestManager;
40
42
  env: AxiosEnvironment;
41
43
  addEnvironmentVariables: (vars: Record<string, any>) => void;
42
44
  addRequestInterceptor: (interceptor: RequestInterceptor, errorInterceptor?: ErrorInterceptor) => void;
@@ -49,6 +51,10 @@ export type SwrResponse<T> = {
49
51
  cachedValue: ResponseValue<T>;
50
52
  freshPromise: Promise<ResponseValue<T>>;
51
53
  };
54
+ export type SwrRequestConfig<T> = Omit<AxiosRequestConfig, "onSwrHit" | "onSwrRefresh"> & {
55
+ onSwrHit?: (data: T) => unknown;
56
+ onSwrRefresh?: (data: T) => unknown;
57
+ };
52
58
  declare module "axios" {
53
59
  interface AxiosRequestConfig {
54
60
  raw?: boolean;
@@ -58,8 +64,8 @@ declare module "axios" {
58
64
  startTime: number;
59
65
  };
60
66
  swr?: boolean;
61
- onSwrHit?: <T>(data: T) => unknown;
62
- onSwrRefresh?: <T>(data: T) => unknown;
67
+ onSwrHit?: (data: any) => unknown;
68
+ onSwrRefresh?: (data: any) => unknown;
63
69
  onSwrError?: (error: Error) => unknown;
64
70
  }
65
71
  }
@@ -1,4 +1,4 @@
1
- import { DateTime, DateType } from "@/types";
1
+ import { CompareLogoPosition, DateType, PaginationParams } 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;
@@ -131,9 +137,7 @@ export type ProcessPendingImagesBimParams = {
131
137
  apiId: string;
132
138
  apiKey: string;
133
139
  };
134
- export type BimUploadsQueryParams = {
135
- page: number;
136
- limit: number;
140
+ export type BimUploadsQueryParams = PaginationParams & {
137
141
  projectId: string;
138
142
  id: string;
139
143
  uploadedBy: string;
@@ -145,3 +149,28 @@ export type BimUploadPayload = {
145
149
  fileExtension: string;
146
150
  }[];
147
151
  };
152
+ export declare enum ForgeBimUploadMethod {
153
+ FileUpload = "file_upload",
154
+ AutodeskAcc = "autodesk_acc"
155
+ }
156
+ export declare enum ForgeBimFileRejectionReason {
157
+ InvalidType = "invalid_type",
158
+ ExceedsSizeLimit = "exceeds_size_limit"
159
+ }
160
+ export declare enum ForgeBimUploadStage {
161
+ TusUpload = "tus_upload",
162
+ IngestUpload = "ingest_upload"
163
+ }
164
+ export declare enum ForgeBimDialogTrigger {
165
+ UpdateModel = "update_model",
166
+ AddModel = "add_model",
167
+ InitialSetup = "initial_setup"
168
+ }
169
+ export type BimUpdatedWebhookPayload = {
170
+ eventName: "bim.updated";
171
+ projectId: string;
172
+ data: {
173
+ updatedAt: string;
174
+ bimIdentifier: string;
175
+ };
176
+ };
@@ -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,13 +175,14 @@ export declare enum CameraStatus {
176
175
  UnderMaintenance = "under_maintenance",
177
176
  WaitingForSiteVisit = "waiting_for_site_visit"
178
177
  }
179
- export declare enum IntensityChangeColors {
180
- High = "#FF5252",
181
- Moderate = "#FBC02D",
182
- Low = "#006400",
183
- NoChange = "#3ACF3A",
184
- Default = "black"
178
+ export declare enum IntensityChange {
179
+ High = "High",
180
+ Moderate = "Moderate",
181
+ Low = "Low",
182
+ NoChange = "No change",
183
+ Default = "Default"
185
184
  }
185
+ export declare const IntensityChangeColorMap: Record<IntensityChange, string>;
186
186
  export declare enum CameraFeatureFlag {
187
187
  EdgeVideo = "edge_video",
188
188
  BimCompare = "bim_compare",
@@ -197,15 +197,16 @@ export declare enum CameraFeatureFlag {
197
197
  ObjectDetection = "object_detection",
198
198
  Segmentation = "segmentation",
199
199
  SegmentationAutoLabelling = "segmentation_auto_labelling",
200
- 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
+ NoRecordings = "no_recordings",
207
+ Ring = "ring",
208
+ CloudOnly = "cloud_only"
201
209
  }
202
- export type CameraLogsRequestPayload = {
203
- limit: number;
204
- page: number;
205
- types: string;
206
- from: string;
207
- to: string;
208
- };
209
210
  export type CameraUpdateRequestPayload = {
210
211
  status?: string;
211
212
  timezone?: string;
@@ -241,17 +242,22 @@ export type CameraUpdateRequestPayload = {
241
242
  fovRadius?: number;
242
243
  featureFlags: CameraFeatureFlag[];
243
244
  isAccessRestricted?: boolean;
245
+ liveViewFrequency?: number | null;
244
246
  };
245
247
  export type CamerasResponsePayload = {
246
248
  cameras?: Camera[];
247
249
  };
248
- export type CameraLogsResponsePayload = {
249
- cameraExid: string;
250
- cameraName: string;
251
- logs?: Log[];
252
- details?: {
253
- customMessage?: string;
250
+ export type CameraNoteResponsePayload = {
251
+ id: number;
252
+ camera: {
253
+ exid: string;
254
+ name: string;
254
255
  };
256
+ who: string;
257
+ noteType: string;
258
+ content: string;
259
+ pinned: boolean;
260
+ insertedAt: string;
255
261
  };
256
262
  export type CameraStatusLog = {
257
263
  start: string;
@@ -302,14 +308,9 @@ export declare enum CameraModel {
302
308
  Hikvision = "hikvision",
303
309
  Avigilion = "avigilion",
304
310
  Hanwha = "hanwha",
305
- Other = "other"
311
+ Other = "other",
312
+ Ring = "ring"
306
313
  }
307
- export type DroneCameraTransform = {
308
- position: Cartesian3;
309
- direction: Cartesian3;
310
- up: Cartesian3;
311
- right: Cartesian3;
312
- };
313
314
  export type Footage = {
314
315
  cameraExid: string;
315
316
  cameraName: string;
@@ -341,6 +342,7 @@ export type CameraPath = {
341
342
  export type CheckCameraPortPayload = {
342
343
  address: string;
343
344
  port: number;
345
+ open: boolean;
344
346
  };
345
347
  export type CameraCreateRequestPayload = {
346
348
  status: CameraStatus;
@@ -349,7 +351,7 @@ export type CameraCreateRequestPayload = {
349
351
  isPowerScheduleActive?: boolean;
350
352
  ptz?: boolean;
351
353
  name: string;
352
- coordinates?: [number, number];
354
+ coordinates?: TuplePoint2D;
353
355
  recordingFromNvr?: boolean;
354
356
  CameraConfig: {
355
357
  model: CameraModel;
@@ -386,22 +388,26 @@ export type CameraDeletePayload = {
386
388
  verify: string;
387
389
  password: string;
388
390
  };
389
- export type SaveNotePayload = {
390
- noteType: string;
391
- content: string;
392
- };
393
391
  export type CameraNote = {
394
392
  id: number;
395
393
  cameraId: number;
394
+ who: string;
396
395
  noteType: string;
397
396
  content: string;
397
+ pinned: boolean;
398
398
  insertedAt: DateType;
399
399
  };
400
+ export type GetCameraNotesParams = {
401
+ noteType?: string;
402
+ pinned?: boolean;
403
+ sort?: string;
404
+ page?: number;
405
+ limit?: number;
406
+ };
400
407
  export type CreateCameraNotePayload = {
401
- id?: number;
402
- cameraExid: CameraExid;
403
- customMessage: string;
404
- action: string;
408
+ noteType: string;
409
+ content: string;
410
+ pinned?: boolean;
405
411
  };
406
412
  export declare enum HddStatus {
407
413
  Error = "error",
@@ -501,6 +507,8 @@ export type MergeDuplicatedCameraPayload = {
501
507
  shareeCameras: Record<string, unknown>;
502
508
  };
503
509
  export type FetchCameraQueryParams = PaginationParams & {
510
+ /** Narrows the index to one project. Sent as `project_exid`. */
511
+ projectExid: ProjectExid;
504
512
  status: CameraStatus;
505
513
  isPublic: boolean;
506
514
  featureFlags: CameraFeatureFlag[];
@@ -529,3 +537,6 @@ export declare enum BimType {
529
537
  TwoD = "2D",
530
538
  Forge = "Forge"
531
539
  }
540
+ export type CameraDateRangeFilter = DateRangeFilter & {
541
+ cameraExid: CameraExid;
542
+ };