@evercam/api 1.0.0-0ff26c649 → 1.0.0-130db5908

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 (95) hide show
  1. package/README.md +1 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +201 -15
  3. package/dist/api/api/adminApi.d.ts +94 -76
  4. package/dist/api/api/aiApi.d.ts +182 -60
  5. package/dist/api/api/authzApi.d.ts +29 -17
  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 +142 -101
  9. package/dist/api/api/evercamLabsApi.d.ts +7 -6
  10. package/dist/api/api/exNvrApi.d.ts +1 -1
  11. package/dist/api/api/ingestApi.d.ts +113 -46
  12. package/dist/api/api/ptzApi.d.ts +9 -4
  13. package/dist/api/api/videoWallApi.d.ts +2 -2
  14. package/dist/api/api/weatherApi.d.ts +2 -2
  15. package/dist/api/types/360.d.ts +259 -45
  16. package/dist/api/types/aconex.d.ts +9 -9
  17. package/dist/api/types/admin.d.ts +51 -0
  18. package/dist/api/types/aiConfigs.d.ts +244 -0
  19. package/dist/api/types/analytics.d.ts +121 -67
  20. package/dist/api/types/anpr.d.ts +48 -2
  21. package/dist/api/types/auditLogs.d.ts +19 -2
  22. package/dist/api/types/authz.d.ts +116 -6
  23. package/dist/api/types/autodesk.d.ts +7 -7
  24. package/dist/api/types/automation.d.ts +65 -3
  25. package/dist/api/types/axios.d.ts +19 -14
  26. package/dist/api/types/bim.d.ts +38 -9
  27. package/dist/api/types/camera.d.ts +117 -114
  28. package/dist/api/types/comments.d.ts +16 -11
  29. package/dist/api/types/company.d.ts +42 -1
  30. package/dist/api/types/compare.d.ts +20 -5
  31. package/dist/api/types/connector.d.ts +5 -5
  32. package/dist/api/types/coolify.d.ts +18 -2
  33. package/dist/api/types/copilot.d.ts +11 -9
  34. package/dist/api/types/detections.d.ts +23 -18
  35. package/dist/api/types/drone.d.ts +95 -6
  36. package/dist/api/types/errors.d.ts +13 -1
  37. package/dist/api/types/gateReport.d.ts +49 -68
  38. package/dist/api/types/gateReportManagement.d.ts +170 -0
  39. package/dist/api/types/hammertech.d.ts +98 -0
  40. package/dist/api/types/hdd.d.ts +26 -1
  41. package/dist/api/types/index.d.ts +14 -2
  42. package/dist/api/types/ingest.d.ts +187 -4
  43. package/dist/api/types/kit.d.ts +74 -56
  44. package/dist/api/types/map.d.ts +12 -0
  45. package/dist/api/types/media.d.ts +10 -3
  46. package/dist/api/types/notification.d.ts +83 -3
  47. package/dist/api/types/oauth.d.ts +62 -0
  48. package/dist/api/types/observationEvents.d.ts +141 -0
  49. package/dist/api/types/observations.d.ts +84 -0
  50. package/dist/api/types/planner.d.ts +98 -8
  51. package/dist/api/types/posthog.d.ts +35 -0
  52. package/dist/api/types/procore.d.ts +13 -6
  53. package/dist/api/types/progressPhoto.d.ts +6 -2
  54. package/dist/api/types/project.d.ts +113 -21
  55. package/dist/api/types/recording.d.ts +9 -15
  56. package/dist/api/types/recycleBin.d.ts +1 -1
  57. package/dist/api/types/ring.d.ts +53 -0
  58. package/dist/api/types/roi.d.ts +3 -11
  59. package/dist/api/types/routeParams.d.ts +1 -0
  60. package/dist/api/types/router.d.ts +20 -1
  61. package/dist/api/types/shared.d.ts +29 -22
  62. package/dist/api/types/shares.d.ts +6 -157
  63. package/dist/api/types/sim.d.ts +6 -6
  64. package/dist/api/types/siteAnalytics.d.ts +169 -47
  65. package/dist/api/types/siteAnalyticsManagement.d.ts +127 -0
  66. package/dist/api/types/siteView.d.ts +78 -0
  67. package/dist/api/types/smartSeach.d.ts +5 -0
  68. package/dist/api/types/snapshots.d.ts +49 -4
  69. package/dist/api/types/socket.d.ts +4 -0
  70. package/dist/api/types/storageProvider.d.ts +19 -0
  71. package/dist/api/types/storyblok.d.ts +27 -0
  72. package/dist/api/types/streaming.d.ts +3 -3
  73. package/dist/api/types/tag.d.ts +1 -1
  74. package/dist/api/types/time.d.ts +0 -18
  75. package/dist/api/types/timelapse.d.ts +7 -11
  76. package/dist/api/types/user.d.ts +117 -35
  77. package/dist/api/types/videoWall.d.ts +21 -21
  78. package/dist/api/types/weather.d.ts +75 -11
  79. package/dist/api/types/widget.d.ts +71 -12
  80. package/dist/api/types/xweather.d.ts +4 -4
  81. package/dist/api/utils.d.ts +1 -1
  82. package/dist/index.js +2410 -1037
  83. package/dist/index.js.map +1 -1
  84. package/dist/index.umd.cjs +1 -1
  85. package/dist/index.umd.cjs.map +1 -1
  86. package/dist/shared/types/components.d.ts +224 -34
  87. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  88. package/dist/shared/types/imagePlayer.d.ts +9 -2
  89. package/dist/shared/types/index.d.ts +3 -0
  90. package/dist/shared/types/observations.d.ts +25 -0
  91. package/dist/shared/types/rbac.d.ts +67 -0
  92. package/dist/shared/types/timeline.d.ts +2 -1
  93. package/package.json +4 -2
  94. package/dist/api/types/storageServers.d.ts +0 -4
  95. package/dist/api/types/vendorModel.d.ts +0 -15
@@ -1,17 +1,106 @@
1
+ import { Point3D } from "@evercam/api/types/shared";
2
+ export type DroneCameraTransform = {
3
+ position: Point3D;
4
+ direction: Point3D;
5
+ up: Point3D;
6
+ right: Point3D;
7
+ };
1
8
  export type DroneModel = {
2
- cesiumId: string;
3
- cesiumId2D: string;
9
+ cesiumId: number;
10
+ cesiumId2D: number;
4
11
  date: string;
5
12
  cesiumPointCloudId: string;
13
+ cesiumGausianSplatId: string;
6
14
  pointSize: string;
7
- maximumScreenSpaceError: string;
15
+ maximumScreenSpaceError: number;
8
16
  link: string;
9
17
  trueIndex: number;
10
18
  };
11
- export type DroneProjectJsonResponse = {
12
- models: DroneModel[];
13
- [key: string]: any;
19
+ export type DroneProjectTransform = {
20
+ initialCameraTransform?: DroneCameraTransform;
21
+ initial2DCameraTransform?: DroneCameraTransform;
22
+ markers?: Record<string, DroneMarker>;
23
+ imageryPlans?: Record<string, DroneImageryPlan>;
24
+ bimData?: DroneBimData;
25
+ terrainPoints?: Record<string, Point3D[]>;
26
+ projectWGS84Coordinates?: DroneProjectCoordinates | null;
27
+ tags?: Record<string, DroneTag>;
28
+ };
29
+ export type DroneProjectData = {
30
+ models?: DroneModel[];
31
+ transform?: DroneProjectTransform;
32
+ integrationType?: DroneProvider;
33
+ origin?: string;
34
+ params?: string;
35
+ pointSize?: number;
36
+ };
37
+ export type DroneProjectDataPatch = {
38
+ models?: Record<number, Partial<DroneModel>>;
39
+ integrationType?: DroneProvider;
40
+ origin?: string;
41
+ params?: string;
42
+ };
43
+ export type DroneProjectCoordinates = {
44
+ lat: number | null;
45
+ lon: number | null;
46
+ alt: number | null;
47
+ };
48
+ export type DroneTransformPatch = {
49
+ projectWGS84Coordinates?: DroneProjectCoordinates | null;
50
+ };
51
+ export declare enum DroneTagType {
52
+ AerialShot = "AerialShot"
53
+ }
54
+ export type DroneTag<T extends DroneTagType = DroneTagType> = {
55
+ id?: number;
56
+ type: T;
57
+ comment: string;
58
+ position?: Point3D;
59
+ cameraTransform?: string;
60
+ creationDate: string;
61
+ hyperlink?: string;
62
+ height?: number;
63
+ };
64
+ export type AerialShotPoint = DroneTag<DroneTagType.AerialShot>;
65
+ export type DroneMarkerTransform = {
66
+ fovAngle: number;
67
+ fovRadius: number;
68
+ heading: number;
69
+ height: number;
70
+ latitude: string;
71
+ longitude: string;
72
+ pitch: number;
73
+ roll: number;
74
+ scale: number;
75
+ };
76
+ export declare enum DroneMarkerType {
77
+ Default = "Default",
78
+ Gate = "Gate",
79
+ Indoor = "Indoor"
80
+ }
81
+ export type DroneMarker = {
82
+ type: DroneMarkerType;
83
+ name: string;
84
+ cameraExid: string;
85
+ transform: DroneMarkerTransform;
86
+ };
87
+ export type DroneImageryPlan = {
88
+ cesiumId: number;
89
+ uuid: string;
90
+ name: string;
91
+ alpha: number;
92
+ order: number;
93
+ };
94
+ export type DroneBimData = {
95
+ cesiumId: string | null;
96
+ iModelId: string | null;
97
+ changeSetId: string | null;
98
+ isItwin: boolean;
14
99
  };
15
100
  export declare enum DroneUrlParams {
16
101
  Date = "date"
17
102
  }
103
+ export declare enum DroneProvider {
104
+ Evercam = "Evercam",
105
+ DroneDeploy = "DroneDeploy"
106
+ }
@@ -23,7 +23,8 @@ export declare enum ErrorCode {
23
23
  UnauthorizedError = 401,
24
24
  ForbiddenError = 403,
25
25
  NotFoundError = 404,
26
- ConflictError = 409
26
+ ConflictError = 409,
27
+ GoneError = 410
27
28
  }
28
29
  export declare enum EvercamApiErrorCode {
29
30
  IntegrationError = "INTEGRATION_ERROR",
@@ -46,4 +47,15 @@ type _EvercamApiError = {
46
47
  innerError?: _EvercamApiError;
47
48
  };
48
49
  export type EvercamApiError = AxiosError<_EvercamApiError>;
50
+ export type AppError = {
51
+ statusCode?: number;
52
+ message?: string;
53
+ redirect?: {
54
+ url?: string;
55
+ label?: string;
56
+ delay?: number;
57
+ };
58
+ withSupportMessage?: boolean;
59
+ isWidget?: boolean;
60
+ };
49
61
  export {};
@@ -1,4 +1,4 @@
1
- import { AnprDirection, CameraExid, Date_HH, Date_YYYY, Date_YYYY_MM, Date_YYYY_MM_DD, DateTime, DateTimeSpaceSeparated, DateType, PaginatedItems, PaginationParams, ProjectExid, Timestamp } from "@/types";
1
+ import { AnprDirection, AnprEvent, CameraExid, DateType, PaginatedItems, PaginationParams, ProjectExid, RoiDirection, RoiShapeType, RoiType, Timestamp, TuplePoint2D } from "@evercam/api/types";
2
2
  export declare enum GateReportDetectionType {
3
3
  Auto = "auto",
4
4
  Manual = "manual",
@@ -59,16 +59,19 @@ export declare enum DetectionLabel {
59
59
  ConcreteBlock = "concrete_block",
60
60
  ConcretePipe = "concrete_pipe",
61
61
  ConcreteSlab = "concrete_slab",
62
+ Door = "door",
62
63
  PlasticWrap = "plastic_wrap",
63
64
  ContainerOffice = "container_office",
64
65
  ElectricalPole = "electrical_pole",
65
66
  ElectricalBox = "electrical_box",
66
67
  FireHydrant = "fire_hydrant",
68
+ FireExtinguisher = "fire-extinguisher",
67
69
  HoseReel = "hose_reel",
68
70
  Ladder = "ladder",
69
71
  MetalBeam = "metal_beam",
70
72
  MetalPipe = "metal_pipe",
71
73
  Pallet = "pallet",
74
+ Person = "person",
72
75
  Pillar = "pillar",
73
76
  PlasticBin = "plastic_bin",
74
77
  PlasticBucket = "plastic_bucket",
@@ -144,8 +147,8 @@ export declare enum GateReportVehicleType {
144
147
  Unknown = "unknown"
145
148
  }
146
149
  export type GateReportVehicleTypeItem = {
147
- name: string;
148
- id: GateReportVehicleType;
150
+ label: string;
151
+ value: GateReportVehicleType;
149
152
  };
150
153
  export type GateReportEvent = {
151
154
  id: number;
@@ -163,18 +166,12 @@ export type GateReportEvent = {
163
166
  truckType: GateReportVehicleType;
164
167
  thumbnailUrl?: string;
165
168
  };
166
- export type GateReportArrivedEvent = GateReportEvent & {
167
- eventType: GateReportEventType.Arrived;
168
- };
169
- export type GateReportLeftEvent = GateReportEvent & {
170
- eventType: GateReportEventType.Left;
171
- };
172
169
  export type GateReportVerifiedDay = {
173
170
  id: number;
174
- day: Date_YYYY_MM_DD;
171
+ day: string;
175
172
  isMatched: boolean;
176
- insertedAt: DateTime;
177
- updatedAt: DateTime;
173
+ insertedAt: string;
174
+ updatedAt: string;
178
175
  verifiedBy: string;
179
176
  cameraExid: CameraExid;
180
177
  projectExid: ProjectExid;
@@ -185,24 +182,19 @@ export type BoundingBox = {
185
182
  ymax: number;
186
183
  ymin: number;
187
184
  };
188
- export type EventsCountsByVehicleType = Record<GateReportVehicleType, number>;
189
185
  export type EventsCount = {
190
186
  in: number;
191
187
  out: number;
192
188
  source: GateReportDataSource;
193
189
  };
194
190
  export type YearlyEventCount = EventsCount & {
195
- year: Date_YYYY;
191
+ year: string;
196
192
  };
197
193
  export type MonthlyEventCount = EventsCount & {
198
- month: Date_YYYY_MM;
194
+ month: string;
199
195
  };
200
196
  export type DailyEventCount = EventsCount & {
201
- day: Date_YYYY_MM_DD;
202
- };
203
- export type HourlyEventCount = {
204
- hour: Date_HH;
205
- count: number;
197
+ day: string;
206
198
  };
207
199
  export type EventCountRequestPayload = {
208
200
  vehicleTypes?: GateReportVehicleType[];
@@ -220,7 +212,7 @@ export declare enum GateReportDataSource {
220
212
  }
221
213
  export type GateReportResponsePayload = {
222
214
  source: GateReportDataSource;
223
- results: PaginatedItems<GateReportEvent>;
215
+ results: PaginatedItems<AnprEvent>;
224
216
  };
225
217
  export declare enum GateReportEventDirection {
226
218
  In = "in",
@@ -230,53 +222,46 @@ export declare enum GateReportEventDirection {
230
222
  export type GatReportRequestPayload = {
231
223
  camerasExid?: CameraExid[];
232
224
  eventType?: GateReportEventType;
233
- fromDate?: DateTime;
225
+ fromDate?: string;
234
226
  isPublic?: boolean;
235
- toDate?: DateTime;
227
+ toDate?: string;
236
228
  vehicleTypes?: GateReportVehicleType[];
237
229
  } & PaginationParams;
238
230
  export declare enum GateReportExportType {
239
231
  Pdf = "pdf",
240
232
  Csv = "csv"
241
233
  }
242
- export type EventsExportRequestParameters = {
243
- vehicleTypes: GateReportVehicleType[];
244
- fileType: GateReportExportType;
245
- fromDate: DateTimeSpaceSeparated;
246
- toDate: DateTimeSpaceSeparated;
247
- camerasExid: CameraExid[];
248
- eventType: GateReportEventType;
249
- };
250
- export type AnprBasedGateReportExportRequestParams = {
234
+ export type AnprExportBaseParams = {
251
235
  vehicleTypes?: GateReportVehicleType[];
252
236
  fileType?: GateReportExportType;
253
- fromDate?: DateTimeSpaceSeparated;
254
- toDate?: DateTimeSpaceSeparated;
237
+ fromDate?: string;
238
+ toDate?: string;
255
239
  camerasExid?: CameraExid[];
240
+ isPublic?: boolean;
241
+ columns?: string[];
242
+ };
243
+ export type EventsExportRequestParameters = AnprExportBaseParams & {
244
+ eventType: GateReportEventType;
245
+ };
246
+ export type AnprBasedGateReportExportRequestParams = AnprExportBaseParams & {
247
+ direction?: AnprDirection;
248
+ };
249
+ export type LegacyAnprExportParams = AnprExportBaseParams & {
256
250
  direction?: AnprDirection;
257
251
  };
258
- type X1 = number;
259
- type Y1 = number;
260
- type X2 = number;
261
- type Y2 = number;
262
- export declare enum GateReportROIShapeType {
263
- Rectangle = "rectangle",
264
- Direction = "direction",
265
- Line = "line"
266
- }
267
252
  export type GateReportROIShape = {
268
- coordinates: [[X1, Y1], [X2, Y2]];
269
- type: GateReportROIShapeType;
253
+ coordinates: TuplePoint2D[];
254
+ type: RoiShapeType;
270
255
  };
271
256
  export type GateReportROI = {
272
257
  cameraex?: string;
273
258
  fromDate?: string;
274
- directionFilter?: string;
259
+ directionFilter?: RoiDirection;
275
260
  id?: number;
276
261
  insertedAt?: Timestamp;
277
- isactive?: boolean;
262
+ isActive?: boolean;
278
263
  name?: string;
279
- roiType?: string;
264
+ roiType?: RoiType;
280
265
  updatedAt?: Timestamp;
281
266
  shapes?: GateReportROIShape[];
282
267
  };
@@ -298,14 +283,14 @@ export type VerifiedDaysQueryParams = PaginationParams & {
298
283
  camerasExid: CameraExid[];
299
284
  verifiedBy: string;
300
285
  isMatched: boolean;
301
- insertedAt: DateTime[];
302
- updatedAt: DateTime[];
286
+ insertedAt: string[];
287
+ updatedAt: string[];
303
288
  day: string;
304
289
  };
305
290
  export type VerifyDayUpdateRequestPayload = {
306
291
  camerasExid: string[];
307
292
  projectExid: string;
308
- day: Date_YYYY_MM_DD;
293
+ day: string;
309
294
  isMatched: boolean;
310
295
  verifiedBy: string;
311
296
  };
@@ -315,27 +300,23 @@ export type ProcessedDaysQueryParams = {
315
300
  eventType: GateReportEventType;
316
301
  };
317
302
  export type RoisQueryParams = {
318
- cameraExid: string;
303
+ camerasExid: CameraExid[];
319
304
  id: number;
320
305
  name: string;
321
306
  fromDate: string;
322
- roiType: GateReportROIShapeType;
323
- isactive: boolean;
307
+ roiType: RoiType;
308
+ isActive: boolean;
324
309
  directionFilter: string;
325
310
  sort: string;
326
311
  };
327
- export type GateReportROICreateRequestPayload = {
328
- id?: number;
329
- roi: {
330
- cameraex: string;
331
- name: string;
332
- roiType: string;
333
- isactive: true;
334
- fromDate: string;
335
- shapes: Record<string, unknown>[];
336
- directionFilter: string;
337
- note: string;
338
- };
339
- createdBy: string;
312
+ export type GateReportRoiRequestPayload = {
313
+ id: number;
314
+ cameraExid: string;
315
+ name: string;
316
+ roiType: RoiType;
317
+ isActive: true;
318
+ fromDate: string;
319
+ shapes: GateReportROIShape[];
320
+ directionFilter: string;
321
+ note: string;
340
322
  };
341
- export {};
@@ -0,0 +1,170 @@
1
+ import { CameraExid, DateType, PaginationParams, 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 GateReportAppsQueryParams = PaginationParams & {
134
+ projectExid?: ProjectExid;
135
+ includeStatus?: boolean;
136
+ };
137
+ export type CoolifyProjectOption = {
138
+ uuid: string;
139
+ name: string;
140
+ description: string | null;
141
+ };
142
+ export type CoolifyServerOption = {
143
+ uuid: string;
144
+ name: string;
145
+ isReachable: boolean;
146
+ isUsable: boolean;
147
+ };
148
+ export declare enum AppRuntimeState {
149
+ Running = "running",
150
+ Stopped = "stopped",
151
+ Restarting = "restarting"
152
+ }
153
+ export type AppActionResponse = {
154
+ success: boolean;
155
+ message: string | null;
156
+ appUuid: string | null;
157
+ state: AppRuntimeState | null;
158
+ };
159
+ export type APIEnvelope<T> = {
160
+ success: boolean;
161
+ data: T | null;
162
+ message: string;
163
+ };
164
+ export type CreateGateReportAppResponse = {
165
+ created: boolean;
166
+ id: number | null;
167
+ data: GateReportManagedApp | null;
168
+ count: number | null;
169
+ message: string;
170
+ };
@@ -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
+ };
@@ -1,4 +1,4 @@
1
- import { PaginationParams } from "@/types";
1
+ import { PaginationParams } from "@evercam/api/types";
2
2
  export declare enum HddFormat {
3
3
  ExFat = "ExFAT",
4
4
  HikFs = "HikFS"
@@ -61,3 +61,28 @@ export type HDDsQueryParams = PaginationParams & {
61
61
  type: string;
62
62
  hddStatus: string;
63
63
  };
64
+ export type AdminHddFootage = {
65
+ id: number;
66
+ cameraExid: string;
67
+ cameraName: string;
68
+ startDate: string | null;
69
+ endDate: string | null;
70
+ };
71
+ export type AdminHdd = {
72
+ id: number;
73
+ size: string;
74
+ type: string;
75
+ format: string;
76
+ location: string;
77
+ errorStatus: string | null;
78
+ createdAt: string;
79
+ serialNumber: string;
80
+ hddStatus: string;
81
+ reportedCapacity: string | null;
82
+ reportedFreeSpace: string | null;
83
+ reportedHddType: string | null;
84
+ reportedPath: string | null;
85
+ reportedProperty: string | null;
86
+ shelfBlock: string;
87
+ footages: AdminHddFootage[];
88
+ };