@evercam/api 1.0.0-eef6c21fd → 1.0.0-f0709bb7a

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 (48) hide show
  1. package/README.md +1 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +53 -21
  3. package/dist/api/api/adminApi.d.ts +19 -15
  4. package/dist/api/api/aiApi.d.ts +60 -2
  5. package/dist/api/api/authzApi.d.ts +4 -1
  6. package/dist/api/api/evercamApi.d.ts +23 -8
  7. package/dist/api/api/evercamLabsApi.d.ts +5 -5
  8. package/dist/api/api/ingestApi.d.ts +13 -3
  9. package/dist/api/types/360.d.ts +142 -4
  10. package/dist/api/types/aiConfigs.d.ts +154 -0
  11. package/dist/api/types/analytics.d.ts +32 -1
  12. package/dist/api/types/anpr.d.ts +31 -2
  13. package/dist/api/types/authz.d.ts +46 -0
  14. package/dist/api/types/axios.d.ts +8 -5
  15. package/dist/api/types/bim.d.ts +26 -1
  16. package/dist/api/types/camera.d.ts +3 -1
  17. package/dist/api/types/comments.d.ts +2 -1
  18. package/dist/api/types/connector.d.ts +2 -0
  19. package/dist/api/types/detections.d.ts +3 -1
  20. package/dist/api/types/drone.d.ts +6 -5
  21. package/dist/api/types/errors.d.ts +11 -0
  22. package/dist/api/types/gateReport.d.ts +1 -0
  23. package/dist/api/types/gateReportManagement.d.ts +175 -0
  24. package/dist/api/types/hammertech.d.ts +98 -0
  25. package/dist/api/types/index.d.ts +5 -0
  26. package/dist/api/types/ingest.d.ts +13 -1
  27. package/dist/api/types/kit.d.ts +38 -2
  28. package/dist/api/types/media.d.ts +8 -2
  29. package/dist/api/types/notification.d.ts +12 -2
  30. package/dist/api/types/observations.d.ts +85 -0
  31. package/dist/api/types/posthog.d.ts +20 -0
  32. package/dist/api/types/recording.d.ts +3 -8
  33. package/dist/api/types/roi.d.ts +2 -1
  34. package/dist/api/types/siteAnalytics.d.ts +1 -1
  35. package/dist/api/types/siteAnalyticsManagement.d.ts +92 -0
  36. package/dist/api/types/siteView.d.ts +0 -1
  37. package/dist/api/types/snapshots.d.ts +5 -0
  38. package/dist/api/types/user.d.ts +1 -4
  39. package/dist/api/utils.d.ts +0 -1
  40. package/dist/index.js +1158 -687
  41. package/dist/index.js.map +1 -1
  42. package/dist/index.umd.cjs +1 -1
  43. package/dist/index.umd.cjs.map +1 -1
  44. package/dist/shared/types/components.d.ts +64 -2
  45. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  46. package/dist/shared/types/index.d.ts +2 -0
  47. package/dist/shared/types/observations.d.ts +21 -0
  48. package/package.json +4 -2
@@ -6,13 +6,13 @@ export type DroneCameraTransform = {
6
6
  right: Point3D;
7
7
  };
8
8
  export type DroneModel = {
9
- cesiumId: string;
10
- cesiumId2D: string;
9
+ cesiumId: number;
10
+ cesiumId2D: number;
11
11
  date: string;
12
12
  cesiumPointCloudId: string;
13
13
  cesiumGausianSplatId: string;
14
14
  pointSize: string;
15
- maximumScreenSpaceError: string;
15
+ maximumScreenSpaceError: number;
16
16
  link: string;
17
17
  trueIndex: number;
18
18
  };
@@ -29,10 +29,11 @@ export type DroneProjectTransform = {
29
29
  };
30
30
  export type DroneProjectData = {
31
31
  models?: DroneModel[];
32
+ transform?: DroneProjectTransform;
32
33
  integrationType?: DroneProvider;
33
34
  origin?: string;
34
- params?: Record<string, unknown>;
35
- pointSize?: string;
35
+ params?: string;
36
+ pointSize?: number;
36
37
  };
37
38
  export type DroneProjectDataPatch = {
38
39
  models?: Record<number, Partial<DroneModel>>;
@@ -46,4 +46,15 @@ type _EvercamApiError = {
46
46
  innerError?: _EvercamApiError;
47
47
  };
48
48
  export type EvercamApiError = AxiosError<_EvercamApiError>;
49
+ export type AppError = {
50
+ statusCode?: number;
51
+ message?: string;
52
+ redirect?: {
53
+ url?: string;
54
+ label?: string;
55
+ delay?: number;
56
+ };
57
+ withSupportMessage?: boolean;
58
+ isWidget?: boolean;
59
+ };
49
60
  export {};
@@ -249,6 +249,7 @@ export type AnprExportBaseParams = {
249
249
  toDate?: string;
250
250
  camerasExid?: CameraExid[];
251
251
  isPublic?: boolean;
252
+ columns?: string[];
252
253
  };
253
254
  export type EventsExportRequestParameters = AnprExportBaseParams & {
254
255
  eventType: GateReportEventType;
@@ -0,0 +1,175 @@
1
+ import { CameraExid, DateType, ProjectExid } from "@evercam/api/types";
2
+ export declare enum VehicleClassifierSource {
3
+ Local = "local",
4
+ Api = "api"
5
+ }
6
+ export type GateReportCoolifyStatus = {
7
+ appUuid: string | null;
8
+ name: string | null;
9
+ serverUuid: string | null;
10
+ serverName: string | null;
11
+ appUrl: string | null;
12
+ status: string | null;
13
+ isRunning: boolean;
14
+ imageTag?: string | null;
15
+ fqdn: string | null;
16
+ updatedAt: string | null;
17
+ };
18
+ export type GateReportProjectMeta = {
19
+ exid: ProjectExid;
20
+ name: string | null;
21
+ timezone: string | null;
22
+ featureFlags: string[] | null;
23
+ };
24
+ export type GateReportCameraMeta = {
25
+ exid: CameraExid;
26
+ name: string | null;
27
+ status: string | null;
28
+ kitSerial: string | null;
29
+ kitAlarms: string[] | Record<string, unknown> | null;
30
+ };
31
+ export type GateReportManagedApp = {
32
+ id: number;
33
+ projectExid: ProjectExid;
34
+ anprCameraExid: CameraExid;
35
+ contextCameraExid: CameraExid | null;
36
+ coolifyAppId: string | null;
37
+ startDate: DateType | null;
38
+ endDate: DateType | null;
39
+ startHour: number;
40
+ endHour: number;
41
+ enabled: boolean;
42
+ enableEnrichments: boolean;
43
+ enableGemini: boolean;
44
+ geminiStartHour: number;
45
+ geminiEndHour: number;
46
+ reviewModel: string;
47
+ enrichmentModel: string;
48
+ reviewerPromptSlug: string | null;
49
+ geminiTimeoutSeconds: number;
50
+ geminiMaxAttempts: number;
51
+ vehicleClassifierSource: VehicleClassifierSource;
52
+ snapshotDelaySeconds: number;
53
+ snapshotRequestTimeout: number;
54
+ plateClassifierThreshold: number;
55
+ plateClassifierHighConfidence: number;
56
+ maxPriorEvents: number;
57
+ recordsFetchInterval: number;
58
+ priorRecentLimit: number;
59
+ priorSimilarLimit: number;
60
+ insertedAt: DateType;
61
+ updatedAt: DateType;
62
+ coolify: GateReportCoolifyStatus | null;
63
+ project: GateReportProjectMeta | null;
64
+ anprCamera: GateReportCameraMeta | null;
65
+ contextCamera: GateReportCameraMeta | null;
66
+ anprHasRoi: boolean;
67
+ contextHasRoi: boolean;
68
+ lastProcessedEventAt: DateType | null;
69
+ lastUnprocessedEventAt: DateType | null;
70
+ };
71
+ export type GateReportAppEvents = {
72
+ anprCameraExid: CameraExid;
73
+ lastProcessedEventAt: DateType | null;
74
+ lastUnprocessedEventAt: DateType | null;
75
+ };
76
+ export type AppConfigFormValue = {
77
+ contextCameraExid: string | null;
78
+ startDate: DateType | null;
79
+ endDate: DateType | null;
80
+ startHour: number;
81
+ endHour: number;
82
+ enabled: boolean;
83
+ enableEnrichments: boolean;
84
+ enableGemini: boolean;
85
+ geminiStartHour: number;
86
+ geminiEndHour: number;
87
+ reviewModel: string;
88
+ enrichmentModel: string;
89
+ reviewerPromptSlug: string | null;
90
+ geminiTimeoutSeconds: number;
91
+ geminiMaxAttempts: number;
92
+ vehicleClassifierSource: VehicleClassifierSource;
93
+ snapshotDelaySeconds: number;
94
+ snapshotRequestTimeout: number;
95
+ plateClassifierThreshold: number;
96
+ plateClassifierHighConfidence: number;
97
+ recordsFetchInterval: number;
98
+ priorRecentLimit: number;
99
+ priorSimilarLimit: number;
100
+ };
101
+ export type CreateGateReportAppPayload = {
102
+ projectExid: ProjectExid;
103
+ anprCameraExid: CameraExid;
104
+ contextCameraExid?: CameraExid | null;
105
+ coolifyServerUuid: string;
106
+ imageTag?: string;
107
+ geminiApiKey?: string | null;
108
+ startDate?: DateType | null;
109
+ endDate?: DateType | null;
110
+ startHour?: number;
111
+ endHour?: number;
112
+ enabled?: boolean;
113
+ enableEnrichments?: boolean;
114
+ enableGemini?: boolean;
115
+ geminiStartHour?: number;
116
+ geminiEndHour?: number;
117
+ reviewModel?: string;
118
+ enrichmentModel?: string;
119
+ reviewerPromptSlug?: string | null;
120
+ geminiTimeoutSeconds?: number;
121
+ geminiMaxAttempts?: number;
122
+ vehicleClassifierSource?: VehicleClassifierSource;
123
+ snapshotDelaySeconds?: number;
124
+ snapshotRequestTimeout?: number;
125
+ plateClassifierThreshold?: number;
126
+ plateClassifierHighConfidence?: number;
127
+ maxPriorEvents?: number;
128
+ recordsFetchInterval?: number;
129
+ priorRecentLimit?: number;
130
+ priorSimilarLimit?: number;
131
+ };
132
+ export type UpdateGateReportAppPayload = Partial<Omit<CreateGateReportAppPayload, "projectExid" | "anprCameraExid" | "coolifyServerUuid" | "geminiApiKey">>;
133
+ export type GateReportManagementListParams = {
134
+ projectExid?: ProjectExid;
135
+ includeStatus?: boolean;
136
+ page?: number;
137
+ limit?: number;
138
+ };
139
+ export type CoolifyProjectOption = {
140
+ uuid: string;
141
+ name: string;
142
+ description: string | null;
143
+ };
144
+ export type CoolifyServerOption = {
145
+ uuid: string;
146
+ name: string;
147
+ isReachable: boolean;
148
+ isUsable: boolean;
149
+ };
150
+ export declare enum AppRuntimeState {
151
+ Running = "running",
152
+ Stopped = "stopped",
153
+ Restarting = "restarting"
154
+ }
155
+ export type AppRuntimeStateRequest = {
156
+ state: AppRuntimeState;
157
+ };
158
+ export type AppActionResponse = {
159
+ success: boolean;
160
+ message: string | null;
161
+ appUuid: string | null;
162
+ state: AppRuntimeState | null;
163
+ };
164
+ export type APIEnvelope<T> = {
165
+ success: boolean;
166
+ data: T | null;
167
+ message: string;
168
+ };
169
+ export type CreateGateReportAppResponse = {
170
+ created: boolean;
171
+ id: number | null;
172
+ data: GateReportManagedApp | null;
173
+ count: number | null;
174
+ message: string;
175
+ };
@@ -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";
@@ -63,3 +66,5 @@ export * from "./oauth";
63
66
  export * from "./ring";
64
67
  export * from "./smartSeach";
65
68
  export * from "./siteView";
69
+ export * from "./aiConfigs";
70
+ export * from "./gateReportManagement";
@@ -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",
@@ -48,11 +49,13 @@ export type DroneUploadItem = {
48
49
  modelZip: string;
49
50
  orthomosaicZip: string;
50
51
  reportPdf: string;
52
+ processingLog: string;
51
53
  uploadedBy: string;
52
54
  processingStatus: IngestProcessingStatus | string;
53
55
  modelCesiumAssetId: string;
54
56
  updatedAt: string;
55
57
  hasTusLinks: boolean;
58
+ aerialShots: AerialShotItem[];
56
59
  };
57
60
  export type DroneUploadsResponse = IngestPaginatedResponse<DroneUploadItem>;
58
61
  export type DroneQueueResponse = {
@@ -88,6 +91,15 @@ export type CalculateMeasuringOperationRequestPayload = {
88
91
  export type FlightImagesQueryParams = Partial<Omit<PaginationParams, "sort">> & {
89
92
  date: DateType;
90
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
+ };
91
103
  export type InspectionToolRequestPayload = {
92
104
  date: DateType;
93
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;
@@ -5,18 +5,20 @@ 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;
17
18
  year: string;
18
19
  month: string;
19
20
  payload?: ApiCredentials;
21
+ cancelToken?: CancelToken;
20
22
  };
21
23
  export type AvailableDaysResponsePayload = {
22
24
  days: Array<number>;
@@ -104,13 +106,6 @@ export declare enum SnapshotExtractionInterval {
104
106
  }
105
107
  export declare enum VpnServer {
106
108
  None = "None",
107
- OpenVPN1 = "OpenVPN1",
108
- OpenVPN2 = "OpenVPN2",
109
- OpenVPN3 = "OpenVPN3",
110
- OpenVPN4 = "OpenVPN4",
111
- OpenVPN5 = "OpenVPN5",
112
- PPTP1 = "PPTP1",
113
- PPTP2 = "PPTP2",
114
109
  WireGuard1 = "WireGuard1",
115
110
  WireGuard2 = "WireGuard2",
116
111
  WireGuard3 = "WireGuard3",
@@ -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",
@@ -241,7 +241,7 @@ export type SmartSearchRequestPayload = {
241
241
  fromDate?: string;
242
242
  toDate?: string;
243
243
  page?: number;
244
- pageSize?: number;
244
+ limit?: number;
245
245
  threshold?: number;
246
246
  };
247
247
  type SmartSearchResultItemBase = {