@evercam/api 1.0.0-cd4690ce8 → 1.0.0-d0847b9fa

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 (131) hide show
  1. package/README.md +1 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +217 -0
  3. package/dist/api/{adminApi.d.ts → api/adminApi.d.ts} +104 -96
  4. package/dist/api/api/aiApi.d.ts +214 -0
  5. package/dist/api/api/authzApi.d.ts +40 -0
  6. package/dist/api/{client → api/client}/axios.d.ts +2 -1
  7. package/dist/api/{client → api/client}/swr/Swr.d.ts +1 -1
  8. package/dist/api/{evercamApi.d.ts → api/evercamApi.d.ts} +144 -101
  9. package/dist/api/{evercamLabsApi.d.ts → api/evercamLabsApi.d.ts} +7 -6
  10. package/dist/api/{exNvrApi.d.ts → api/exNvrApi.d.ts} +1 -1
  11. package/dist/api/api/index.d.ts +13 -0
  12. package/dist/api/api/ingestApi.d.ts +162 -0
  13. package/dist/api/{ptzApi.d.ts → api/ptzApi.d.ts} +12 -3
  14. package/dist/api/api/videoWallApi.d.ts +9 -0
  15. package/dist/api/{weatherApi.d.ts → api/weatherApi.d.ts} +2 -2
  16. package/dist/api/index.d.ts +3 -13
  17. package/dist/api/types/360.d.ts +375 -0
  18. package/dist/{types → api/types}/aconex.d.ts +9 -9
  19. package/dist/api/types/admin.d.ts +51 -0
  20. package/dist/api/types/aiConfigs.d.ts +242 -0
  21. package/dist/{types → api/types}/analytics.d.ts +149 -59
  22. package/dist/{types → api/types}/anpr.d.ts +48 -2
  23. package/dist/{types → api/types}/auditLogs.d.ts +19 -1
  24. package/dist/api/types/authz.d.ts +132 -0
  25. package/dist/{types → api/types}/autodesk.d.ts +7 -7
  26. package/dist/{types → api/types}/automation.d.ts +56 -3
  27. package/dist/{types → api/types}/axios.d.ts +19 -14
  28. package/dist/{types → api/types}/bim.d.ts +38 -9
  29. package/dist/{types → api/types}/camera.d.ts +102 -106
  30. package/dist/{types → api/types}/comments.d.ts +10 -11
  31. package/dist/{types → api/types}/company.d.ts +42 -1
  32. package/dist/{types → api/types}/compare.d.ts +20 -5
  33. package/dist/{types → api/types}/connector.d.ts +5 -5
  34. package/dist/{types → api/types}/coolify.d.ts +18 -2
  35. package/dist/{types → api/types}/copilot.d.ts +11 -9
  36. package/dist/{types → api/types}/credentials.d.ts +1 -0
  37. package/dist/{types → api/types}/detections.d.ts +23 -18
  38. package/dist/api/types/drone.d.ts +107 -0
  39. package/dist/{types → api/types}/errors.d.ts +13 -1
  40. package/dist/{types → api/types}/gateReport.d.ts +49 -168
  41. package/dist/api/types/gateReportManagement.d.ts +170 -0
  42. package/dist/api/types/hammertech.d.ts +98 -0
  43. package/dist/{types → api/types}/hdd.d.ts +26 -1
  44. package/dist/{types → api/types}/index.d.ts +15 -2
  45. package/dist/api/types/ingest.d.ts +234 -0
  46. package/dist/{types → api/types}/kit.d.ts +74 -56
  47. package/dist/api/types/map.d.ts +16 -0
  48. package/dist/{types → api/types}/media.d.ts +10 -3
  49. package/dist/api/types/notification.d.ts +96 -0
  50. package/dist/api/types/oauth.d.ts +62 -0
  51. package/dist/api/types/observationEvents.d.ts +61 -0
  52. package/dist/api/types/observations.d.ts +85 -0
  53. package/dist/api/types/planner.d.ts +124 -0
  54. package/dist/api/types/posthog.d.ts +53 -0
  55. package/dist/{types → api/types}/procore.d.ts +13 -6
  56. package/dist/{types → api/types}/progressPhoto.d.ts +6 -2
  57. package/dist/api/types/project.d.ts +254 -0
  58. package/dist/{types → api/types}/recording.d.ts +10 -15
  59. package/dist/{types → api/types}/recycleBin.d.ts +1 -1
  60. package/dist/api/types/ring.d.ts +53 -0
  61. package/dist/{types → api/types}/roi.d.ts +3 -11
  62. package/dist/{types → api/types}/routeParams.d.ts +1 -0
  63. package/dist/{types → api/types}/router.d.ts +20 -1
  64. package/dist/{types → api/types}/shared.d.ts +29 -22
  65. package/dist/api/types/shares.d.ts +45 -0
  66. package/dist/{types → api/types}/sim.d.ts +6 -6
  67. package/dist/api/types/siteAnalytics.d.ts +285 -0
  68. package/dist/api/types/siteAnalyticsManagement.d.ts +117 -0
  69. package/dist/api/types/siteView.d.ts +73 -0
  70. package/dist/api/types/smartSeach.d.ts +5 -0
  71. package/dist/{types → api/types}/snapshots.d.ts +49 -4
  72. package/dist/api/types/socket.d.ts +4 -0
  73. package/dist/api/types/storageProvider.d.ts +19 -0
  74. package/dist/api/types/storyblok.d.ts +27 -0
  75. package/dist/{types → api/types}/streaming.d.ts +3 -3
  76. package/dist/{types → api/types}/tag.d.ts +1 -1
  77. package/dist/api/types/time.d.ts +7 -0
  78. package/dist/{types → api/types}/timelapse.d.ts +7 -11
  79. package/dist/{types → api/types}/user.d.ts +106 -35
  80. package/dist/api/types/videoWall.d.ts +66 -0
  81. package/dist/{types → api/types}/weather.d.ts +75 -11
  82. package/dist/{types → api/types}/widget.d.ts +72 -11
  83. package/dist/{types → api/types}/xweather.d.ts +4 -4
  84. package/dist/{utils.d.ts → api/utils.d.ts} +0 -1
  85. package/dist/index.d.ts +2 -3
  86. package/dist/index.js +2334 -1087
  87. package/dist/index.js.map +1 -1
  88. package/dist/index.umd.cjs +1 -1
  89. package/dist/index.umd.cjs.map +1 -1
  90. package/dist/shared/api/index.d.ts +3 -0
  91. package/dist/shared/components/timelinePlayer/providers/index.d.ts +3 -0
  92. package/dist/shared/components/timelinePlayer/providers/timelineAnprProvider.d.ts +17 -0
  93. package/dist/shared/components/timelinePlayer/providers/timelineDataProvider.d.ts +13 -0
  94. package/dist/shared/components/timelinePlayer/providers/timelineLuminanceProvider.d.ts +16 -0
  95. package/dist/shared/types/components.d.ts +374 -0
  96. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  97. package/dist/shared/types/imagePlayer.d.ts +41 -0
  98. package/dist/shared/types/index.d.ts +7 -0
  99. package/dist/shared/types/observations.d.ts +21 -0
  100. package/dist/shared/types/rbac.d.ts +67 -0
  101. package/dist/shared/types/timeline.d.ts +10 -0
  102. package/package.json +4 -2
  103. package/dist/api/3dFirebaseApi.d.ts +0 -21
  104. package/dist/api/aiApi.d.ts +0 -155
  105. package/dist/api/authzApi.d.ts +0 -21
  106. package/dist/api/ingestApi.d.ts +0 -95
  107. package/dist/api/videoWallApi.d.ts +0 -9
  108. package/dist/types/360.d.ts +0 -141
  109. package/dist/types/drone.d.ts +0 -17
  110. package/dist/types/ingest.d.ts +0 -51
  111. package/dist/types/map.d.ts +0 -4
  112. package/dist/types/notification.d.ts +0 -27
  113. package/dist/types/planner.d.ts +0 -32
  114. package/dist/types/posthog.d.ts +0 -18
  115. package/dist/types/project.d.ts +0 -132
  116. package/dist/types/shares.d.ts +0 -196
  117. package/dist/types/siteAnalytics.d.ts +0 -163
  118. package/dist/types/storageServers.d.ts +0 -4
  119. package/dist/types/time.d.ts +0 -25
  120. package/dist/types/vendorModel.d.ts +0 -15
  121. package/dist/types/videoWall.d.ts +0 -33
  122. /package/dist/api/{client → api/client}/customErrors.d.ts +0 -0
  123. /package/dist/api/{client → api/client}/index.d.ts +0 -0
  124. /package/dist/api/{client → api/client}/interceptors.d.ts +0 -0
  125. /package/dist/api/{client → api/client}/swr/SwrStore.d.ts +0 -0
  126. /package/dist/api/{webRtcApi.d.ts → api/webRtcApi.d.ts} +0 -0
  127. /package/dist/{types → api/types}/countries.d.ts +0 -0
  128. /package/dist/{types → api/types}/nvr.d.ts +0 -0
  129. /package/dist/{types → api/types}/sso.d.ts +0 -0
  130. /package/dist/{types → api/types}/systemCheck.d.ts +0 -0
  131. /package/dist/{types → api/types}/voyageControl.d.ts +0 -0
@@ -0,0 +1,107 @@
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
+ };
8
+ export type DroneModel = {
9
+ cesiumId: number;
10
+ cesiumId2D: number;
11
+ date: string;
12
+ cesiumPointCloudId: string;
13
+ cesiumGausianSplatId: string;
14
+ pointSize: string;
15
+ maximumScreenSpaceError: number;
16
+ link: string;
17
+ trueIndex: number;
18
+ };
19
+ export type DroneProjectTransform = {
20
+ initialCameraTransform?: DroneCameraTransform;
21
+ initial2DCameraTransform?: DroneCameraTransform;
22
+ blackListIds?: string;
23
+ markers?: Record<string, DroneMarker>;
24
+ imageryPlans?: Record<string, DroneImageryPlan>;
25
+ bimData?: DroneBimData;
26
+ terrainPoints?: Record<string, Point3D[]>;
27
+ projectWGS84Coordinates?: DroneProjectCoordinates | null;
28
+ tags?: Record<string, DroneTag>;
29
+ };
30
+ export type DroneProjectData = {
31
+ models?: DroneModel[];
32
+ transform?: DroneProjectTransform;
33
+ integrationType?: DroneProvider;
34
+ origin?: string;
35
+ params?: string;
36
+ pointSize?: number;
37
+ };
38
+ export type DroneProjectDataPatch = {
39
+ models?: Record<number, Partial<DroneModel>>;
40
+ integrationType?: DroneProvider;
41
+ origin?: string;
42
+ params?: string;
43
+ };
44
+ export type DroneProjectCoordinates = {
45
+ lat: number | null;
46
+ lon: number | null;
47
+ alt: number | null;
48
+ };
49
+ export type DroneTransformPatch = {
50
+ projectWGS84Coordinates?: DroneProjectCoordinates | null;
51
+ };
52
+ export declare enum DroneTagType {
53
+ AerialShot = "AerialShot"
54
+ }
55
+ export type DroneTag<T extends DroneTagType = DroneTagType> = {
56
+ id?: number;
57
+ type: T;
58
+ comment: string;
59
+ position?: Point3D;
60
+ cameraTransform?: string;
61
+ creationDate: string;
62
+ hyperlink?: string;
63
+ height?: number;
64
+ };
65
+ export type AerialShotPoint = DroneTag<DroneTagType.AerialShot>;
66
+ export type DroneMarkerTransform = {
67
+ fovAngle: number;
68
+ fovRadius: number;
69
+ heading: number;
70
+ height: number;
71
+ latitude: string;
72
+ longitude: string;
73
+ pitch: number;
74
+ roll: number;
75
+ scale: number;
76
+ };
77
+ export declare enum DroneMarkerType {
78
+ Default = "Default",
79
+ Gate = "Gate",
80
+ Indoor = "Indoor"
81
+ }
82
+ export type DroneMarker = {
83
+ type: DroneMarkerType;
84
+ name: string;
85
+ cameraExid: string;
86
+ transform: DroneMarkerTransform;
87
+ };
88
+ export type DroneImageryPlan = {
89
+ cesiumId: number;
90
+ uuid: string;
91
+ name: string;
92
+ alpha: number;
93
+ order: number;
94
+ };
95
+ export type DroneBimData = {
96
+ cesiumId: string | null;
97
+ iModelId: string | null;
98
+ changeSetId: string | null;
99
+ isItwin: boolean;
100
+ };
101
+ export declare enum DroneUrlParams {
102
+ Date = "date"
103
+ }
104
+ export declare enum DroneProvider {
105
+ Evercam = "Evercam",
106
+ DroneDeploy = "DroneDeploy"
107
+ }
@@ -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, ProjectFeatureFlag, 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[];
@@ -214,31 +206,13 @@ export type EventCountResponsePayload = {
214
206
  months?: MonthlyEventCount[];
215
207
  years?: YearlyEventCount[];
216
208
  };
217
- export type ProcessedDaysRequestPayload = {
218
- apiId?: string;
219
- apiKey?: string;
220
- isPublic?: Boolean;
221
- };
222
- export type EventsRequestPayload = {
223
- apiId?: string;
224
- apiKey?: string;
225
- camerasExid?: CameraExid[];
226
- cameras?: string[];
227
- eventType?: GateReportEventType;
228
- fromDate?: DateTime;
229
- isPublic?: boolean;
230
- toDate?: DateTime;
231
- truckTypes?: GateReportVehicleType[];
232
- vehicleTypes?: string[];
233
- } & PaginationParams;
234
- export type EventsResponsePayload = PaginatedItems<GateReportEvent>;
235
209
  export declare enum GateReportDataSource {
236
210
  Anpr = "anpr",
237
211
  Events = "events"
238
212
  }
239
213
  export type GateReportResponsePayload = {
240
214
  source: GateReportDataSource;
241
- results: PaginatedItems<GateReportEvent>;
215
+ results: PaginatedItems<AnprEvent>;
242
216
  };
243
217
  export declare enum GateReportEventDirection {
244
218
  In = "in",
@@ -248,53 +222,46 @@ export declare enum GateReportEventDirection {
248
222
  export type GatReportRequestPayload = {
249
223
  camerasExid?: CameraExid[];
250
224
  eventType?: GateReportEventType;
251
- fromDate?: DateTime;
225
+ fromDate?: string;
252
226
  isPublic?: boolean;
253
- toDate?: DateTime;
227
+ toDate?: string;
254
228
  vehicleTypes?: GateReportVehicleType[];
255
229
  } & PaginationParams;
256
230
  export declare enum GateReportExportType {
257
231
  Pdf = "pdf",
258
232
  Csv = "csv"
259
233
  }
260
- export type EventsExportRequestParameters = {
261
- vehicleTypes: GateReportVehicleType[];
262
- fileType: GateReportExportType;
263
- fromDate: DateTimeSpaceSeparated;
264
- toDate: DateTimeSpaceSeparated;
265
- camerasExid: CameraExid[];
266
- eventType: GateReportEventType;
267
- };
268
- export type AnprBasedGateReportExportRequestParams = {
234
+ export type AnprExportBaseParams = {
269
235
  vehicleTypes?: GateReportVehicleType[];
270
236
  fileType?: GateReportExportType;
271
- fromDate?: DateTimeSpaceSeparated;
272
- toDate?: DateTimeSpaceSeparated;
237
+ fromDate?: string;
238
+ toDate?: string;
273
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 & {
274
250
  direction?: AnprDirection;
275
251
  };
276
- type X1 = number;
277
- type Y1 = number;
278
- type X2 = number;
279
- type Y2 = number;
280
- export declare enum GateReportROIShapeType {
281
- Rectangle = "rectangle",
282
- Direction = "direction",
283
- Line = "line"
284
- }
285
252
  export type GateReportROIShape = {
286
- coordinates: [[X1, Y1], [X2, Y2]];
287
- type: GateReportROIShapeType;
253
+ coordinates: TuplePoint2D[];
254
+ type: RoiShapeType;
288
255
  };
289
256
  export type GateReportROI = {
290
257
  cameraex?: string;
291
258
  fromDate?: string;
292
- directionFilter?: string;
259
+ directionFilter?: RoiDirection;
293
260
  id?: number;
294
261
  insertedAt?: Timestamp;
295
- isactive?: boolean;
262
+ isActive?: boolean;
296
263
  name?: string;
297
- roiType?: string;
264
+ roiType?: RoiType;
298
265
  updatedAt?: Timestamp;
299
266
  shapes?: GateReportROIShape[];
300
267
  };
@@ -311,89 +278,19 @@ export type GateReportCamera = {
311
278
  last_published_day: DateType;
312
279
  last_processed_day: DateType;
313
280
  };
314
- export type GateReportProject = {
315
- exid: string;
316
- name: string;
317
- status: string;
318
- featureFlags: ProjectFeatureFlag;
319
- cameras: GateReportCamera[];
320
- };
321
- export type AnalyticsParameters = {
322
- id: number;
323
- cameraex: string;
324
- processingType: string;
325
- startDate: DateTime;
326
- endDate: DateTime;
327
- skipWeekend: boolean;
328
- hourSiteOpening: number;
329
- hourSiteClosure: number;
330
- gateReportActive: boolean;
331
- countingActive: boolean;
332
- queueSystem: string;
333
- reprocess: boolean;
334
- framesToSkip: number;
335
- detection_model: string;
336
- detectionThreshold: number;
337
- printLogsFrame: number;
338
- crossingVectorAngleLimit: number;
339
- minTruckLife: number;
340
- insideMinTime: number;
341
- trackerMaxAge: number;
342
- trackerMinHit: number;
343
- snapshotUpload: boolean;
344
- snapshotPerSecond: number;
345
- detectionClasses: string;
346
- deepEventEndpointUrl: string;
347
- timestampCalculation: string;
348
- matchingEmbeddedDstCoeff: number;
349
- matchingTimeCoeff: number;
350
- matchingQueueOrderCoeff: number;
351
- rabbitmqServerUrl: string;
352
- rabbitmqEventsQueue: string;
353
- rabbitmqEventsExchange: string;
354
- rabbitmqCountingQueue: string;
355
- rabbitmqCountingExchange: string;
356
- dangerZones: boolean;
357
- workflows: boolean;
358
- linkedAnprCameras: Record<string, unknown>;
359
- };
360
281
  export type VerifiedDaysQueryParams = PaginationParams & {
361
282
  projectExid: ProjectExid;
362
283
  camerasExid: CameraExid[];
363
284
  verifiedBy: string;
364
285
  isMatched: boolean;
365
- insertedAt: DateTime[];
366
- updatedAt: DateTime[];
286
+ insertedAt: string[];
287
+ updatedAt: string[];
367
288
  day: string;
368
289
  };
369
- export type EventUpdateRequestPayload = {
370
- cameraex: string;
371
- roiId: number;
372
- eventType: string;
373
- eventTime: "2024-12-13T14:25:58.066Z";
374
- truckType: string;
375
- isPublic: boolean;
376
- boundingBox: {
377
- additionalProp1: number;
378
- additionalProp2: number;
379
- additionalProp3: number;
380
- };
381
- valid: boolean;
382
- loadState: string;
383
- embeddingId: number;
384
- embedding: number[];
385
- similarityDst: number;
386
- detectionType: string;
387
- trackingId: number;
388
- deliveriesId: number;
389
- edited: boolean;
390
- isDeleted: boolean;
391
- modelVersion: string;
392
- };
393
290
  export type VerifyDayUpdateRequestPayload = {
394
291
  camerasExid: string[];
395
292
  projectExid: string;
396
- day: Date_YYYY_MM_DD;
293
+ day: string;
397
294
  isMatched: boolean;
398
295
  verifiedBy: string;
399
296
  };
@@ -402,40 +299,24 @@ export type ProcessedDaysQueryParams = {
402
299
  isPublic: boolean;
403
300
  eventType: GateReportEventType;
404
301
  };
405
- export type SecurityMeasurementQueryParams = {
406
- cameraex: string;
407
- timestamp: DateTime;
408
- prompt: string;
409
- snapshotUrl: string;
410
- };
411
- export type ObjectDetectionQueryParams = {
412
- cameraex: string;
413
- timestamp: DateTime;
414
- base64Img: string;
415
- snapshotUrl: string;
416
- };
417
302
  export type RoisQueryParams = {
418
- cameraExid: string;
303
+ camerasExid: CameraExid[];
419
304
  id: number;
420
305
  name: string;
421
306
  fromDate: string;
422
- roiType: GateReportROIShapeType;
423
- isactive: boolean;
307
+ roiType: RoiType;
308
+ isActive: boolean;
424
309
  directionFilter: string;
425
310
  sort: string;
426
311
  };
427
- export type GateReportROICreateRequestPayload = {
428
- id?: number;
429
- roi: {
430
- cameraex: string;
431
- name: string;
432
- roiType: string;
433
- isactive: true;
434
- fromDate: string;
435
- shapes: Record<string, unknown>[];
436
- directionFilter: string;
437
- note: string;
438
- };
439
- 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;
440
322
  };
441
- 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
+ };