@evercam/api 1.0.0-3ff33d7a8 → 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 (39) hide show
  1. package/dist/api/api/3dFirebaseApi.d.ts +56 -16
  2. package/dist/api/api/adminApi.d.ts +5 -4
  3. package/dist/api/api/aiApi.d.ts +29 -2
  4. package/dist/api/api/authzApi.d.ts +4 -1
  5. package/dist/api/api/evercamApi.d.ts +19 -6
  6. package/dist/api/api/evercamLabsApi.d.ts +5 -5
  7. package/dist/api/api/ingestApi.d.ts +9 -2
  8. package/dist/api/types/360.d.ts +132 -3
  9. package/dist/api/types/analytics.d.ts +11 -1
  10. package/dist/api/types/authz.d.ts +46 -0
  11. package/dist/api/types/axios.d.ts +2 -0
  12. package/dist/api/types/bim.d.ts +9 -1
  13. package/dist/api/types/camera.d.ts +1 -0
  14. package/dist/api/types/comments.d.ts +2 -1
  15. package/dist/api/types/connector.d.ts +2 -0
  16. package/dist/api/types/detections.d.ts +1 -0
  17. package/dist/api/types/hammertech.d.ts +98 -0
  18. package/dist/api/types/index.d.ts +4 -0
  19. package/dist/api/types/ingest.d.ts +12 -1
  20. package/dist/api/types/kit.d.ts +38 -2
  21. package/dist/api/types/media.d.ts +8 -2
  22. package/dist/api/types/notification.d.ts +12 -2
  23. package/dist/api/types/observations.d.ts +85 -0
  24. package/dist/api/types/posthog.d.ts +20 -0
  25. package/dist/api/types/project.d.ts +7 -0
  26. package/dist/api/types/recording.d.ts +2 -1
  27. package/dist/api/types/roi.d.ts +2 -1
  28. package/dist/api/types/routeParams.d.ts +1 -0
  29. package/dist/api/types/siteAnalyticsManagement.d.ts +92 -0
  30. package/dist/api/types/socket.d.ts +4 -0
  31. package/dist/api/types/user.d.ts +0 -3
  32. package/dist/index.js +864 -527
  33. package/dist/index.js.map +1 -1
  34. package/dist/index.umd.cjs +1 -1
  35. package/dist/index.umd.cjs.map +1 -1
  36. package/dist/shared/types/components.d.ts +74 -2
  37. package/dist/shared/types/index.d.ts +1 -0
  38. package/dist/shared/types/observations.d.ts +21 -0
  39. package/package.json +3 -1
@@ -79,6 +79,9 @@ export declare enum AnalyticsEvent {
79
79
  SettingsConnectorsRemoveVoyageControlConnection = "RemoveVoyageControl",
80
80
  SettingsConnectorsToggleConnectorPromptDialog = "ToggleConnectorPromptDialog",
81
81
  SettingsConnectorsToggleVoyageControlDialog = "ToggleVoyageControlDialog",
82
+ SettingsConnectorsConnectToHammertech = "ConnectToHammertech",
83
+ SettingsConnectorsRemoveHammertechConnection = "RemoveHammertech",
84
+ SettingsConnectorsToggleHammertechDialog = "ToggleHammertechDialog",
82
85
  WidgetsSelectTypeThreeSixty = "Widgets-SelectType360",
83
86
  WidgetsSelectProject = "SelectProject",
84
87
  WidgetsSelect360Date = "Select360Date",
@@ -192,6 +195,7 @@ export declare enum AnalyticsEvent {
192
195
  XraySendToConnectorProcoreObservations = "Xray-SendToConnector-Procore-Observations",
193
196
  XraySendToConnectorAconex = "Xray-SendToConnector-Aconex",
194
197
  XraySendToConnectorAutodesk = "Xray-SendToConnector-Autodesk",
198
+ XraySendToConnectorHammerTech = "Xray-SendToConnector-HammerTech",
195
199
  WeatherGoBackDate = "Weather-GoBackDate",
196
200
  WeatherGoForwardDate = "Weather-GoForwardDate",
197
201
  WeatherReportExportFile = "ExportFile",
@@ -261,6 +265,7 @@ export declare enum AnalyticsEvent {
261
265
  MarkUpToolSendToConnectorProcoreObservations = "MarkUpTool-SendToConnector-Procore-Observations",
262
266
  MarkUpToolSendToConnectorAconex = "MarkUpTool-SendToConnector-Aconex",
263
267
  MarkUpToolSendToConnectorAutodesk = "MarkUpTool-SendToConnector-Autodesk",
268
+ MarkUpToolSendToConnectorHammerTech = "MarkUpTool-SendToConnector-HammerTech",
264
269
  MarkUpToolSendViaEmail = "MarkUpTool-SendViaEmail",
265
270
  MarkUpToolSendViaEmailSent = "MarkUpTool-SendViaEmail-Sent",
266
271
  RecordingsCancelExportDialog = "CancelExportDialog",
@@ -292,6 +297,7 @@ export declare enum AnalyticsEvent {
292
297
  ThreeSixtyDisableMeasuringTool = "DisableMeasuringTool",
293
298
  ThreeSixtyDisableCommnetTool = "DisableCommentTool",
294
299
  ThreeSixtyEnableMeasuringTool = "EnableMeasuringTool",
300
+ ThreeSixtyMeasuringPerformed = "measuring_performed",
295
301
  ThreeSixtyEnableCommentTool = "EnableCommentTool",
296
302
  ThreeSixtyLockCompare = "LockCompare",
297
303
  ThreeSixtyLockForgeBIM = "LockForgeBIM",
@@ -312,6 +318,7 @@ export declare enum AnalyticsEvent {
312
318
  ThreeSixtyToggleMinimapVisibility = "ToggleMinimapVisibility",
313
319
  ThreeSixtyToggleMiniModel = "ToggleMiniModel",
314
320
  ThreeSixtyToggleCommentsVisibility = "ToggleCommentsVisibility",
321
+ ThreeSixtyToggleCameraPinsVisibility = "toggle_camera_pins_visibility",
315
322
  ThreeSixtyTourPause = "Tour-Pause",
316
323
  ThreeSixtyTourPlay = "Tour-Play",
317
324
  ThreeSixtyTourSetSpeedXHalve = "Tour-SetSpeedX0.5",
@@ -352,6 +359,7 @@ export declare enum AnalyticsEvent {
352
359
  DroneToggleMapStyle = "ToggleMapStyle",
353
360
  DroneTogglePointCloud = "TogglePointCloud",
354
361
  DroneToggleGaussianSplat = "ToggleGaussianSplat",
362
+ DroneToggleGlobe = "ToggleGlobe",
355
363
  DroneToggleQualityMode = "ChooseQuality",
356
364
  DroneToggleSideMenu = "ToggleSideMenu",
357
365
  DroneToggleImageryPlan = "ToggleImageryPlan",
@@ -398,6 +406,7 @@ export declare enum AnalyticsEvent {
398
406
  DrawingClickHome = "ClickHome",
399
407
  DrawingsUploadDrawing = "UploadDrawing",
400
408
  DrawingsCreateDrawing = "CreateDrawing",
409
+ DrawingsDeleteDrawing = "DeleteDrawing",
401
410
  DrawingToggleMapStyle = "ToggleMapStyle",
402
411
  DrawingToggleMapLabels = "ToggleMapLabels",
403
412
  DrawingToggleCamerasLabels = "ToggleCamerasLabels",
@@ -606,5 +615,6 @@ export declare enum AnalyticsEvent {
606
615
  ForgeBimReplaceModelCancelled = "ForgeBim-ReplaceModelCancelled",
607
616
  ForgeBimModelAdded = "ForgeBim-ModelAdded",
608
617
  ForgeBimModelUpdated = "ForgeBim-ModelUpdated",
609
- ForgeBimModelSaveFailed = "ForgeBim-ModelSaveFailed"
618
+ ForgeBimModelSaveFailed = "ForgeBim-ModelSaveFailed",
619
+ ForgeBimIngestNotificationFailed = "ForgeBim-IngestNotificationFailed"
610
620
  }
@@ -3,6 +3,10 @@ export declare enum RoleResourceType {
3
3
  Camera = "camera",
4
4
  Project = "project"
5
5
  }
6
+ export declare enum RoleAssignmentLogAction {
7
+ Assign = "assign",
8
+ Unassign = "unassign"
9
+ }
6
10
  export type RoleSubRole = {
7
11
  resourceId: string;
8
12
  roleId: number;
@@ -59,3 +63,45 @@ export type AuthzScopeCreatePayload = {
59
63
  export type AuthzScopeUpdatePayload = Partial<AuthzScopeCreatePayload>;
60
64
  export declare function isProjectRole(role: Role): role is ProjectResourceRole;
61
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
+ };
@@ -16,6 +16,7 @@ export type AxiosEnvironment = {
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;
@@ -31,6 +32,7 @@ export type ResponseInterceptor = (res: AxiosResponse, env: AxiosEnvironment) =>
31
32
  export type ErrorInterceptor = (error: any, env: AxiosEnvironment) => any;
32
33
  export type RequestManager = {
33
34
  createToken: (key: string) => CancelTokenSource["token"];
35
+ cancelToken: (key: string) => void;
34
36
  cancelAll: () => void;
35
37
  };
36
38
  export interface ExtendedAxiosInstance extends AxiosInstance {
@@ -101,7 +101,7 @@ export type BIMLayerPostPayload = {
101
101
  layerType: BIMLayerTypes;
102
102
  startAt: DateType;
103
103
  shapes: string;
104
- zIndex: number;
104
+ zIndex?: number;
105
105
  };
106
106
  export type BIMLayer = {
107
107
  id: number;
@@ -168,3 +168,11 @@ export declare enum ForgeBimDialogTrigger {
168
168
  AddModel = "add_model",
169
169
  InitialSetup = "initial_setup"
170
170
  }
171
+ export type BimUpdatedWebhookPayload = {
172
+ eventName: "bim.updated";
173
+ projectId: string;
174
+ data: {
175
+ updatedAt: string;
176
+ bimIdentifier: string;
177
+ };
178
+ };
@@ -81,6 +81,7 @@ export type Camera = {
81
81
  isAccessRestricted?: boolean;
82
82
  kitAlarms?: KitAlarm[];
83
83
  timestampPosition?: TimestampPositionCoordinates;
84
+ position?: number | null;
84
85
  };
85
86
  export type AdminCamera = {
86
87
  id: number;
@@ -48,9 +48,10 @@ export type CommentCreationRequestPayload = {
48
48
  toDate?: DateType;
49
49
  timestamp?: DateType;
50
50
  scope?: CommentsScope;
51
- projectExid: ProjectExid;
51
+ projectExid?: ProjectExid;
52
52
  cameraExid?: CameraExid;
53
53
  content: string;
54
+ label?: CommentsLabel;
54
55
  position2d?: TuplePoint2D;
55
56
  position3d?: [number, number, number];
56
57
  context?: Record<string, unknown>;
@@ -10,6 +10,8 @@ export declare enum Connector {
10
10
  AutodeskViewer = "autodesk_viewer",
11
11
  VoyageControl = "voyage_control",
12
12
  Ring = "ring",
13
+ Email = "email",
14
+ Hammertech = "hammertech",
13
15
  XWeather = "xweather"
14
16
  }
15
17
  export declare enum ProcoreType {
@@ -102,6 +102,7 @@ export declare enum PpeLabel {
102
102
  Helmet = "helmet",
103
103
  HighVisibilityVest = "high-visibility-vest",
104
104
  SafetyGlasses = "safety-glasses",
105
+ Gloves = "gloves",
105
106
  Person = "person",
106
107
  Man = "man",
107
108
  Woman = "woman"
@@ -0,0 +1,98 @@
1
+ export declare enum HammertechRegion {
2
+ US = "us",
3
+ AU = "au",
4
+ EU = "eu"
5
+ }
6
+ export type HammertechConnectPayload = {
7
+ email: string;
8
+ password: string;
9
+ tenant: string;
10
+ region: HammertechRegion;
11
+ };
12
+ export type HammertechProject = {
13
+ projectId: string;
14
+ name: string;
15
+ };
16
+ export type HammertechLocation = {
17
+ id: string;
18
+ name: string;
19
+ parentId: string | null;
20
+ };
21
+ export type HammertechCustomFieldDataType = "FreeText" | "TextArea" | "Number" | "Date" | "Time" | "DateTime" | "ExpiryDate" | "Checkbox" | "YesNoRadio" | "YesNoNaRadio" | "Dropdown" | "Radio" | "MultiSelectDropdown" | "ImageUpload" | "FileUpload" | "Signature" | "SignatureWithName" | "Heading" | "BigLabel" | "ExpandingLabel" | "Separator" | "NoMargin" | "Image" | "FileDownload" | "ChildForm" | "SectionStart" | "SectionEnd" | "SystemField" | string;
22
+ export type HammertechCustomField = {
23
+ id: string;
24
+ internalName: string;
25
+ name?: string;
26
+ customFieldType: HammertechCustomFieldDataType;
27
+ isRequired?: boolean;
28
+ answerOptions?: string[];
29
+ };
30
+ export type HammertechCustomFieldForm = {
31
+ id: string;
32
+ customFields: HammertechCustomField[];
33
+ };
34
+ export declare enum HammertechPriority {
35
+ Low = "Low",
36
+ Medium = "Medium",
37
+ High = "High",
38
+ Critical = "Critical"
39
+ }
40
+ export declare enum HammertechClassification {
41
+ Undefined = "Undefined",
42
+ Positive = "Positive",
43
+ Negative = "Negative",
44
+ Neutral = "Neutral"
45
+ }
46
+ export type HammertechIssueType = {
47
+ id: string;
48
+ name: string;
49
+ forcePriority?: boolean;
50
+ suggestedPriority?: HammertechPriority | null;
51
+ canBeNegative?: boolean;
52
+ canBeNeutral?: boolean;
53
+ canBePositive?: boolean;
54
+ openIssueCustomFieldForm?: HammertechCustomFieldForm | null;
55
+ };
56
+ export type HammertechCustomFieldValue = {
57
+ customFieldId: string;
58
+ value?: unknown;
59
+ storedFileId?: string;
60
+ };
61
+ export declare const HAMMERTECH_FILE_FIELD_TYPES: string[];
62
+ export declare function isHammertechFileFieldType(type?: string): boolean;
63
+ export declare function isHammertechSignatureWithName(type?: string): boolean;
64
+ export type HammertechStoredFilePayload = {
65
+ fileName?: string;
66
+ base64FileContent: string;
67
+ annotation?: string;
68
+ id?: string;
69
+ };
70
+ export type HammertechStoredFileResponse = {
71
+ isSuccess: boolean;
72
+ httpStatusCode: number;
73
+ messageText: string;
74
+ createdEntityId: string;
75
+ xRequestId: string;
76
+ };
77
+ export type HammertechFileFieldValue = {
78
+ file: File | null;
79
+ name: string;
80
+ };
81
+ export type HammertechCreateIssuePayload = {
82
+ projectId: string;
83
+ issueTypeId: string;
84
+ snapshot: string;
85
+ issueDate?: string;
86
+ description?: string;
87
+ priority?: HammertechPriority;
88
+ dueDate?: string;
89
+ classification?: HammertechClassification;
90
+ locationId?: string;
91
+ isPositiveObservation?: boolean;
92
+ isPhotoForFixRequired?: boolean;
93
+ openIssueCustomFieldFormId?: string;
94
+ openIssueCustomFieldValues?: HammertechCustomFieldValue[];
95
+ };
96
+ export type HammertechIssueResponse = {
97
+ id: string;
98
+ };
@@ -39,9 +39,11 @@ export * from "./user";
39
39
  export * from "./vendorModel";
40
40
  export * from "./videoWall";
41
41
  export * from "./voyageControl";
42
+ export * from "./hammertech";
42
43
  export * from "./weather";
43
44
  export * from "./comments";
44
45
  export * from "./detections";
46
+ export * from "./observations";
45
47
  export * from "./axios";
46
48
  export * from "./shared";
47
49
  export * from "./company";
@@ -49,6 +51,7 @@ export * from "./kit";
49
51
  export * from "./auditLogs";
50
52
  export * from "./snapshots";
51
53
  export * from "./siteAnalytics";
54
+ export * from "./siteAnalyticsManagement";
52
55
  export * from "./widget";
53
56
  export * from "./countries";
54
57
  export * from "./automation";
@@ -65,3 +68,4 @@ export * from "./smartSeach";
65
68
  export * from "./siteView";
66
69
  export * from "./aiConfigs";
67
70
  export * from "./gateReportManagement";
71
+ export * from "./socket";
@@ -8,7 +8,8 @@ export declare enum IngestProcessingStatus {
8
8
  Aborted = "aborted",
9
9
  Paused = "paused",
10
10
  InProgress = "inprogress",
11
- Pending = "pending"
11
+ Pending = "pending",
12
+ Downloading = "downloading"
12
13
  }
13
14
  export declare enum MobileAssetsType {
14
15
  Audio = "mobile_audios",
@@ -54,6 +55,7 @@ export type DroneUploadItem = {
54
55
  modelCesiumAssetId: string;
55
56
  updatedAt: string;
56
57
  hasTusLinks: boolean;
58
+ aerialShots: AerialShotItem[];
57
59
  };
58
60
  export type DroneUploadsResponse = IngestPaginatedResponse<DroneUploadItem>;
59
61
  export type DroneQueueResponse = {
@@ -89,6 +91,15 @@ export type CalculateMeasuringOperationRequestPayload = {
89
91
  export type FlightImagesQueryParams = Partial<Omit<PaginationParams, "sort">> & {
90
92
  date: DateType;
91
93
  };
94
+ export type AerialShotItem = {
95
+ id: number;
96
+ droneUploadId: number;
97
+ fileLink: string;
98
+ thumbnailLink: string;
99
+ gpsLatitude: string;
100
+ gpsLongitude: string;
101
+ gpsAltitude: string;
102
+ };
92
103
  export type InspectionToolRequestPayload = {
93
104
  date: DateType;
94
105
  gpsAltitude: string;
@@ -22,6 +22,33 @@ export type Kit = {
22
22
  storages: KitStorage[];
23
23
  createdAt: string;
24
24
  };
25
+ export declare enum KitSupportCheckId {
26
+ RouterSmsRoundTrip = "router_sms_round_trip",
27
+ NvrRecordingAllCameras = "nvr_recording_all_cameras",
28
+ CamerasHaveDeviceId = "cameras_have_device_id",
29
+ CamerasRecording = "cameras_recording"
30
+ }
31
+ export declare enum KitSupportCheckStatus {
32
+ Passed = "passed",
33
+ Failed = "failed",
34
+ Skipped = "skipped"
35
+ }
36
+ export type KitSupportCheck = {
37
+ id: KitSupportCheckId;
38
+ name: string;
39
+ status: KitSupportCheckStatus;
40
+ error: string | null;
41
+ };
42
+ export type KitSupportChecklist = {
43
+ checks: KitSupportCheck[];
44
+ };
45
+ export type KitDiagnosticRun = {
46
+ kitId: number;
47
+ kitSerial: string;
48
+ checks: KitSupportCheck[];
49
+ ranAt: string;
50
+ isSeen: boolean;
51
+ };
25
52
  export declare enum KitStatus {
26
53
  New = "new",
27
54
  Active = "active",
@@ -45,11 +72,14 @@ export declare enum KitAlarm {
45
72
  NoHdd = "no_hdd",
46
73
  MissingRouterInfo = "missing_router_info",
47
74
  AcFailure = "ac_failure",
48
- LowBattery = "low_battery"
75
+ LowBattery = "low_battery",
76
+ GeneratorOff = "generator_off"
49
77
  }
50
78
  export declare enum KitMetricId {
51
79
  SolarCharger = "solar_charger",
52
- PanelPower = "panel_power"
80
+ PanelPower = "panel_power",
81
+ Fan = "fan",
82
+ FanTemperature = "fan_temperature"
53
83
  }
54
84
  export declare enum KitMetricPeriod {
55
85
  Last15Minutes = "now-15m",
@@ -312,6 +342,12 @@ export type KitMetricStatsEntry = {
312
342
  panelVoltage: number;
313
343
  panelPower: number;
314
344
  };
345
+ export type KitFanStatsEntry = {
346
+ timestamp: string;
347
+ speed: number;
348
+ internalTemperature: number;
349
+ externalTemperature: number | null;
350
+ };
315
351
  export type KitUpdatePayload = {
316
352
  countryId: number;
317
353
  name: string;
@@ -43,7 +43,8 @@ export declare enum MediaFileType {
43
43
  Mp4 = "mp4",
44
44
  Png = "png",
45
45
  Pdf = "pdf",
46
- Jpeg = "jpeg"
46
+ Jpeg = "jpeg",
47
+ Csv = "csv"
47
48
  }
48
49
  export declare enum MediaStatus {
49
50
  Pending = "Pending",
@@ -93,7 +94,7 @@ export type MediaCreateRequestPayload = {
93
94
  cameraExid?: string;
94
95
  requestedBy?: string;
95
96
  notes?: string;
96
- category?: ClipsCategory;
97
+ category?: MediaCategory | ClipsCategory;
97
98
  isUrgent?: boolean;
98
99
  storeAsType?: MediaType;
99
100
  };
@@ -108,6 +109,11 @@ export declare enum ClipsCategory {
108
109
  Marketing = "marketing",
109
110
  BestPracticies = "best_practices"
110
111
  }
112
+ export declare enum MediaCategory {
113
+ Weather = "weather",
114
+ SmartSearch = "smart_search",
115
+ Copilot = "copilot"
116
+ }
111
117
  export type MediaDeleteRequestPayload = {
112
118
  timelapseIds: (string | number)[];
113
119
  compareIds: (string | number)[];
@@ -5,7 +5,13 @@ export declare enum NotificationType {
5
5
  TimelapseCreated = "timelapse_created",
6
6
  TimelapseFailed = "timelapse_failed",
7
7
  DroneProcessing = "drone_processing_done",
8
- Processing360 = "three_sixty_done"
8
+ Processing360 = "three_sixty_done",
9
+ SmartSearchExportReady = "smart_search_export_ready",
10
+ SmartSearchExportFailed = "smart_search_export_failed",
11
+ GateReportExportReady = "gate_report_export_ready",
12
+ GateReportExportFailed = "gate_report_export_failed",
13
+ PpeExportReady = "ppe_export_ready",
14
+ PpeExportFailed = "ppe_export_failed"
9
15
  }
10
16
  export interface NotificationContextBase {
11
17
  cameraExid?: string;
@@ -41,7 +47,11 @@ export interface Processing360Context extends NotificationContextBase {
41
47
  date: string;
42
48
  floor: string;
43
49
  }
44
- export type NotificationContext = CameraShareContext | CameraStatusChangeContext | MentionContext | TimelapseCreatedContext | TimelapseFailedContext | DroneProcessingContext | Processing360Context;
50
+ export interface ExportNotificationContext extends NotificationContextBase {
51
+ projectExid: string;
52
+ archiveExid?: string;
53
+ }
54
+ export type NotificationContext = CameraShareContext | CameraStatusChangeContext | MentionContext | TimelapseCreatedContext | TimelapseFailedContext | DroneProcessingContext | Processing360Context | ExportNotificationContext;
45
55
  export type Notification = {
46
56
  id: number;
47
57
  type: NotificationType;
@@ -0,0 +1,85 @@
1
+ import { type ProjectExid, type CameraExid, type DateType, type BBox, PpeLabel, DownloadFileType } from "@evercam/api/types";
2
+ export declare enum ObservationItemState {
3
+ Absent = 0,
4
+ Present = 1,
5
+ NotVisible = 2
6
+ }
7
+ export type ObservationEventEquipment = {
8
+ score: number;
9
+ bbox: BBox;
10
+ };
11
+ export type ObservationEvent = {
12
+ id: number;
13
+ cameraExid: CameraExid;
14
+ projectExid: ProjectExid;
15
+ capturedAt: DateType;
16
+ personIndex: number;
17
+ personBbox: BBox;
18
+ personScore: number;
19
+ ppe: Partial<Record<PpeLabel, ObservationEventEquipment>>;
20
+ hasHelmet: ObservationItemState | null;
21
+ hasHighVisVest: ObservationItemState | null;
22
+ hasGloves: ObservationItemState | null;
23
+ hasGlasses: ObservationItemState | null;
24
+ modelVersion: string;
25
+ createdAt: DateType;
26
+ compliant: boolean;
27
+ reason: string | null;
28
+ isApproved: boolean | null;
29
+ };
30
+ export type ObservationEventsQueryParams = {
31
+ cameraExid?: CameraExid;
32
+ fromDate?: string;
33
+ toDate?: string;
34
+ required?: string;
35
+ compliant?: boolean;
36
+ hasHelmet?: boolean;
37
+ hasHighVisVest?: boolean;
38
+ hasGloves?: boolean;
39
+ hasGlasses?: boolean;
40
+ sort?: string;
41
+ page?: number;
42
+ limit?: number;
43
+ };
44
+ export type ObservationEventsExportQueryParams = {
45
+ cameraExid?: CameraExid;
46
+ fromDate: string;
47
+ toDate: string;
48
+ required?: string;
49
+ compliant?: boolean;
50
+ fileType: DownloadFileType;
51
+ directDownload?: boolean;
52
+ includeInvalid?: boolean;
53
+ };
54
+ export type ObservationApprovalUpdateResponse = {
55
+ updated: boolean;
56
+ id: number | string | null;
57
+ message: string;
58
+ };
59
+ export declare enum ObservationCountsGranularity {
60
+ Day = "day",
61
+ Week = "week",
62
+ Month = "month"
63
+ }
64
+ export type ObservationEventsCountsQueryParams = {
65
+ cameraExid?: CameraExid;
66
+ fromDate?: string;
67
+ toDate?: string;
68
+ required?: string;
69
+ compliant?: boolean;
70
+ hasHelmet?: boolean;
71
+ hasHighVisVest?: boolean;
72
+ hasGloves?: boolean;
73
+ hasGlasses?: boolean;
74
+ granularity?: ObservationCountsGranularity;
75
+ };
76
+ export type ObservationEventCount = {
77
+ bucket: DateType;
78
+ total: number;
79
+ compliant: number;
80
+ nonCompliant: number;
81
+ };
82
+ export declare enum ObservationRequiredItem {
83
+ Helmet = "has_helmet",
84
+ HighVisVest = "has_high_vis_vest"
85
+ }
@@ -16,6 +16,26 @@ export declare enum ActiveUsersMetric {
16
16
  WAU = "wau",
17
17
  MAU = "mau"
18
18
  }
19
+ export type PosthogUser = {
20
+ id: string;
21
+ email: string;
22
+ isWeeklyActiveUser: number;
23
+ isMonthlyActiveUser: number;
24
+ eventsCount: number;
25
+ };
26
+ export type PosthogUsersRequestParams = {
27
+ companyExid?: string;
28
+ projectExid?: string;
29
+ cameraExid?: string;
30
+ productsActivityOnly?: boolean;
31
+ afterId?: string;
32
+ size?: number;
33
+ };
34
+ export type PosthogUsersResponse = {
35
+ data: PosthogUser[];
36
+ hasMore: boolean;
37
+ size: number;
38
+ };
19
39
  export type PosthogUserParams = {
20
40
  firstname?: string;
21
41
  lastname?: string;
@@ -68,6 +68,13 @@ export declare enum ProjectArchiveTier {
68
68
  export type UpdateCameraRestrictionPayload = {
69
69
  isAccessRestricted?: boolean;
70
70
  };
71
+ export type CameraPosition = {
72
+ cameraExid: CameraExid;
73
+ position: number;
74
+ };
75
+ export type ReorderCamerasPayload = {
76
+ positions: CameraPosition[];
77
+ };
71
78
  export type Logo = {
72
79
  id: number;
73
80
  projectId: number;
@@ -5,12 +5,13 @@ export type Snapshot = {
5
5
  data: string;
6
6
  status?: string;
7
7
  };
8
- export type NearestSnapshotRequestPayload = {
8
+ export type SnapshotRequestPayload = {
9
9
  apiKey?: string;
10
10
  apiId?: string;
11
11
  token?: string;
12
12
  cancelToken?: object;
13
13
  includeImage?: boolean;
14
+ view?: boolean;
14
15
  };
15
16
  export type AvailableDaysRequestPayload = {
16
17
  cameraId: string;
@@ -3,7 +3,8 @@ export declare enum RoiType {
3
3
  AnprContext = "anpr_context",
4
4
  ExclusionZone = "exclusion_zone",
5
5
  WorkflowArea = "workflow_area",
6
- SiteAnalytics = "site_analytics"
6
+ SiteAnalytics = "site_analytics",
7
+ Ppe = "ppe_roi"
7
8
  }
8
9
  export declare enum RoiShapeType {
9
10
  Polygon = "polygon",
@@ -1,6 +1,7 @@
1
1
  export type RouteParams = {
2
2
  projectExid?: string;
3
3
  cameraExid?: string;
4
+ mediaExid?: string;
4
5
  timestamp?: string;
5
6
  fromDate?: string;
6
7
  toDate?: string;