@evercam/api 1.0.0-9a767ebbe → 1.0.0-9c3cd2ae7

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 (55) hide show
  1. package/README.md +1 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +60 -27
  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 +29 -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 +34 -11
  12. package/dist/api/types/anpr.d.ts +31 -2
  13. package/dist/api/types/auditLogs.d.ts +18 -0
  14. package/dist/api/types/authz.d.ts +46 -0
  15. package/dist/api/types/axios.d.ts +8 -5
  16. package/dist/api/types/bim.d.ts +26 -1
  17. package/dist/api/types/camera.d.ts +8 -3
  18. package/dist/api/types/comments.d.ts +10 -7
  19. package/dist/api/types/connector.d.ts +2 -0
  20. package/dist/api/types/detections.d.ts +3 -10
  21. package/dist/api/types/drone.d.ts +6 -5
  22. package/dist/api/types/errors.d.ts +11 -0
  23. package/dist/api/types/gateReport.d.ts +1 -0
  24. package/dist/api/types/gateReportManagement.d.ts +175 -0
  25. package/dist/api/types/hammertech.d.ts +98 -0
  26. package/dist/api/types/index.d.ts +6 -0
  27. package/dist/api/types/ingest.d.ts +15 -3
  28. package/dist/api/types/kit.d.ts +38 -2
  29. package/dist/api/types/media.d.ts +8 -2
  30. package/dist/api/types/notification.d.ts +12 -2
  31. package/dist/api/types/observations.d.ts +85 -0
  32. package/dist/api/types/planner.d.ts +2 -3
  33. package/dist/api/types/posthog.d.ts +20 -0
  34. package/dist/api/types/recording.d.ts +5 -9
  35. package/dist/api/types/roi.d.ts +2 -1
  36. package/dist/api/types/routeParams.d.ts +1 -0
  37. package/dist/api/types/shared.d.ts +1 -0
  38. package/dist/api/types/siteAnalytics.d.ts +3 -3
  39. package/dist/api/types/siteAnalyticsManagement.d.ts +92 -0
  40. package/dist/api/types/siteView.d.ts +0 -1
  41. package/dist/api/types/snapshots.d.ts +13 -0
  42. package/dist/api/types/socket.d.ts +4 -0
  43. package/dist/api/types/timelapse.d.ts +2 -6
  44. package/dist/api/types/user.d.ts +1 -4
  45. package/dist/api/utils.d.ts +0 -1
  46. package/dist/index.js +1272 -806
  47. package/dist/index.js.map +1 -1
  48. package/dist/index.umd.cjs +1 -1
  49. package/dist/index.umd.cjs.map +1 -1
  50. package/dist/shared/types/components.d.ts +78 -5
  51. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  52. package/dist/shared/types/imagePlayer.d.ts +8 -1
  53. package/dist/shared/types/index.d.ts +2 -0
  54. package/dist/shared/types/observations.d.ts +21 -0
  55. package/package.json +4 -2
@@ -1,8 +1,9 @@
1
- import { CameraExid, DateType, ProjectExid, PaginationParams } from "@evercam/api/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",
@@ -11,6 +12,7 @@ export declare enum CommentsLabel {
11
12
  }
12
13
  export type CommentsRequestPayload = {
13
14
  scope: CommentsScope;
15
+ cameraExid?: CameraExid;
14
16
  };
15
17
  export type CommentsListRequestPayload = PaginationParams & {
16
18
  projectExid?: ProjectExid;
@@ -34,8 +36,8 @@ export type Comment = {
34
36
  createdAt?: string;
35
37
  creatorEmail?: string;
36
38
  creatorName?: string;
37
- position2d?: [number, number];
38
- position3d?: [number, number, number];
39
+ position2d?: TuplePoint2D;
40
+ position3d?: TuplePoint3D;
39
41
  context?: Record<string, unknown>;
40
42
  canDelete?: boolean;
41
43
  archivedAt?: string;
@@ -46,10 +48,11 @@ export type CommentCreationRequestPayload = {
46
48
  toDate?: DateType;
47
49
  timestamp?: DateType;
48
50
  scope?: CommentsScope;
49
- projectExid: ProjectExid;
51
+ projectExid?: ProjectExid;
50
52
  cameraExid?: CameraExid;
51
53
  content: string;
52
- position2d?: number[];
53
- position3d?: number[];
54
+ label?: CommentsLabel;
55
+ position2d?: TuplePoint2D;
56
+ position3d?: [number, number, number];
54
57
  context?: Record<string, unknown>;
55
58
  };
@@ -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 {
@@ -13,15 +13,6 @@ export type SegmentsFilters = BaseDetectionsFilters & {
13
13
  cameraExid: CameraExid;
14
14
  };
15
15
  export type BBox = number[];
16
- export type SelectedObjectPath = {
17
- label: string;
18
- trackId: string;
19
- paths: Array<{
20
- timestamp: number;
21
- center: [number, number];
22
- bbox: BBox;
23
- }>;
24
- };
25
16
  export type Label = DetectionLabel | PpeLabel;
26
17
  export type Detection = {
27
18
  bbox: BBox;
@@ -111,6 +102,7 @@ export declare enum PpeLabel {
111
102
  Helmet = "helmet",
112
103
  HighVisibilityVest = "high-visibility-vest",
113
104
  SafetyGlasses = "safety-glasses",
105
+ Gloves = "gloves",
114
106
  Person = "person",
115
107
  Man = "man",
116
108
  Woman = "woman"
@@ -120,5 +112,6 @@ export declare enum DetectionModel {
120
112
  Yolov11 = 2,
121
113
  Yolov112 = 3,
122
114
  GroundingDino = 4,
123
- Owlv2 = 5
115
+ Owlv2 = 5,
116
+ PpeV2 = 6
124
117
  }
@@ -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,6 @@ 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";
71
+ export * from "./socket";
@@ -1,4 +1,4 @@
1
- import { PaginationParams, DateType, JsonValue } from "@evercam/api/types";
1
+ import { PaginationParams, DateType, JsonValue, TuplePoint2D } from "@evercam/api/types";
2
2
  import type { _360FloorV2, _360WalkV2 } from "@evercam/api/types/360";
3
3
  export declare enum IngestProcessingStatus {
4
4
  Completed = "completed",
@@ -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 = {
@@ -82,12 +85,21 @@ export type DroneUploadUpdateRequestPayload = {
82
85
  };
83
86
  export type CalculateMeasuringOperationRequestPayload = {
84
87
  date: DateType;
85
- points: [number, number][];
88
+ points: TuplePoint2D[];
86
89
  operation: string;
87
90
  };
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;