@evercam/api 1.0.0-a6868d86c → 1.0.0-a7ddee781

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 (88) hide show
  1. package/README.md +1 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +198 -14
  3. package/dist/api/api/adminApi.d.ts +83 -70
  4. package/dist/api/api/aiApi.d.ts +99 -55
  5. package/dist/api/api/authzApi.d.ts +26 -17
  6. package/dist/api/api/client/axios.d.ts +1 -1
  7. package/dist/api/api/client/swr/Swr.d.ts +1 -1
  8. package/dist/api/api/evercamApi.d.ts +124 -99
  9. package/dist/api/api/evercamLabsApi.d.ts +7 -8
  10. package/dist/api/api/exNvrApi.d.ts +1 -1
  11. package/dist/api/api/ingestApi.d.ts +106 -47
  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 +175 -56
  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 +154 -0
  19. package/dist/api/types/analytics.d.ts +110 -58
  20. package/dist/api/types/anpr.d.ts +48 -2
  21. package/dist/api/types/auditLogs.d.ts +19 -1
  22. package/dist/api/types/authz.d.ts +45 -6
  23. package/dist/api/types/autodesk.d.ts +7 -7
  24. package/dist/api/types/automation.d.ts +37 -3
  25. package/dist/api/types/axios.d.ts +17 -11
  26. package/dist/api/types/bim.d.ts +36 -5
  27. package/dist/api/types/camera.d.ts +93 -94
  28. package/dist/api/types/comments.d.ts +10 -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 +4 -5
  32. package/dist/api/types/coolify.d.ts +18 -2
  33. package/dist/api/types/copilot.d.ts +11 -6
  34. package/dist/api/types/detections.d.ts +22 -18
  35. package/dist/api/types/drone.d.ts +96 -6
  36. package/dist/api/types/errors.d.ts +11 -0
  37. package/dist/api/types/gateReport.d.ts +47 -58
  38. package/dist/api/types/gateReportManagement.d.ts +175 -0
  39. package/dist/api/types/hdd.d.ts +26 -1
  40. package/dist/api/types/index.d.ts +10 -1
  41. package/dist/api/types/ingest.d.ts +110 -3
  42. package/dist/api/types/kit.d.ts +25 -9
  43. package/dist/api/types/map.d.ts +12 -0
  44. package/dist/api/types/media.d.ts +8 -2
  45. package/dist/api/types/notification.d.ts +32 -2
  46. package/dist/api/types/oauth.d.ts +62 -0
  47. package/dist/api/types/planner.d.ts +97 -0
  48. package/dist/api/types/posthog.d.ts +35 -0
  49. package/dist/api/types/procore.d.ts +13 -6
  50. package/dist/api/types/progressPhoto.d.ts +6 -2
  51. package/dist/api/types/project.d.ts +101 -21
  52. package/dist/api/types/recording.d.ts +8 -12
  53. package/dist/api/types/recycleBin.d.ts +1 -1
  54. package/dist/api/types/ring.d.ts +53 -0
  55. package/dist/api/types/roi.d.ts +4 -3
  56. package/dist/api/types/router.d.ts +1 -1
  57. package/dist/api/types/shared.d.ts +30 -4
  58. package/dist/api/types/shares.d.ts +6 -144
  59. package/dist/api/types/sim.d.ts +6 -6
  60. package/dist/api/types/siteAnalytics.d.ts +81 -41
  61. package/dist/api/types/siteAnalyticsManagement.d.ts +92 -0
  62. package/dist/api/types/siteView.d.ts +73 -0
  63. package/dist/api/types/smartSeach.d.ts +5 -0
  64. package/dist/api/types/snapshots.d.ts +49 -4
  65. package/dist/api/types/storageProvider.d.ts +19 -0
  66. package/dist/api/types/storyblok.d.ts +40 -0
  67. package/dist/api/types/streaming.d.ts +3 -3
  68. package/dist/api/types/tag.d.ts +1 -1
  69. package/dist/api/types/time.d.ts +0 -18
  70. package/dist/api/types/timelapse.d.ts +8 -5
  71. package/dist/api/types/user.d.ts +102 -32
  72. package/dist/api/types/videoWall.d.ts +21 -21
  73. package/dist/api/types/weather.d.ts +75 -11
  74. package/dist/api/types/widget.d.ts +71 -12
  75. package/dist/api/types/xweather.d.ts +4 -4
  76. package/dist/api/utils.d.ts +0 -1
  77. package/dist/index.js +1855 -904
  78. package/dist/index.js.map +1 -1
  79. package/dist/index.umd.cjs +1 -1
  80. package/dist/index.umd.cjs.map +1 -1
  81. package/dist/shared/types/components.d.ts +146 -16
  82. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  83. package/dist/shared/types/imagePlayer.d.ts +9 -2
  84. package/dist/shared/types/index.d.ts +2 -0
  85. package/dist/shared/types/rbac.d.ts +67 -0
  86. package/dist/shared/types/timeline.d.ts +2 -1
  87. package/package.json +4 -2
  88. package/dist/api/types/storageServers.d.ts +0 -4
@@ -1,4 +1,4 @@
1
- import type { AnalyticsEventPageId, CameraExid, CameraFeatureFlag, CameraStatus, ProjectExid, ProjectFeatureFlag, ProjectStatus } from "@/types";
1
+ import type { AnalyticsEventPageId, CameraExid, CameraFeatureFlag, CameraStatus, ProjectExid, ProjectFeatureFlag, ProjectStatus } from "@evercam/api/types";
2
2
  export declare enum CopilotMessageAuthor {
3
3
  Copilot = "copilot",
4
4
  User = "user",
@@ -26,7 +26,9 @@ export declare enum CopilotStepId {
26
26
  CompletedFieldsResponse = "completed_fields_response",
27
27
  SendRawToolCallResponse = "send_raw_tool_call_response",
28
28
  SubmitToolOutputsToLLM = "submit_tool_outputs_to_llm",
29
- CancelCall = "cancel_call"
29
+ CancelCall = "cancel_call",
30
+ RequestAgentCall = "request_agent_call",
31
+ ExecAgentCall = "exec_agent_call"
30
32
  }
31
33
  export declare enum CopilotMissingFieldsLabels {
32
34
  ProjectExid = "Project",
@@ -34,10 +36,10 @@ export declare enum CopilotMissingFieldsLabels {
34
36
  FromDate = "Start date",
35
37
  ToDate = "End date"
36
38
  }
37
- export type CopilotMissingField<T = any> = {
39
+ export type CopilotMissingField<T = unknown> = {
38
40
  name: string;
39
41
  label: string;
40
- value: any;
42
+ value: unknown;
41
43
  type: string;
42
44
  toolId: string;
43
45
  error?: T;
@@ -83,7 +85,8 @@ export declare enum CopilotSuggestion {
83
85
  Weather = "weather",
84
86
  Clip = "clip",
85
87
  Timelapse = "timelapse",
86
- Chart = "chart"
88
+ Chart = "chart",
89
+ SmartSearch = "smart_search"
87
90
  }
88
91
  export declare enum CopilotChatProvider {
89
92
  Gemini = "gemini",
@@ -101,12 +104,14 @@ export declare enum CopilotToolId {
101
104
  NavigateToPage = "navigateToPage",
102
105
  CreateTimelapse = "createTimelapse",
103
106
  RequestMissingFields = "requestMissingFields",
104
- RenderCharts = "renderCharts"
107
+ RenderCharts = "renderCharts",
108
+ SmartSearch = "smartSearch"
105
109
  }
106
110
  export type CopilotSystemToolCallResponse<I = unknown, O = unknown> = {
107
111
  toolId?: CopilotToolId;
108
112
  input?: I;
109
113
  output?: O;
114
+ isAgent?: boolean;
110
115
  };
111
116
  export type CopilotCamera = {
112
117
  name: string;
@@ -1,4 +1,4 @@
1
- import { type BoundingBox, type ProjectExid, type CameraExid, type DateType, DetectionLabel, SegmentLabel, type TimelineDateInterval, TimelinePrecision, DateRangeFilter, ProjectDateRangeFilter, CameraDateRangeFilter } from "@/types";
1
+ import { type BoundingBox, type ProjectExid, type CameraExid, type DateType, DetectionLabel, SegmentLabel, type TimelineDateInterval, TimelinePrecision, CameraDateRangeFilter } from "@evercam/api/types";
2
2
  export type BaseDetectionsFilters = {
3
3
  fromDate: string | Date;
4
4
  toDate: string | Date;
@@ -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;
@@ -31,7 +22,8 @@ export type Detection = {
31
22
  };
32
23
  export type DetectionsGroup = {
33
24
  timestamp: DateType;
34
- detections: Detection[];
25
+ cameraExid: CameraExid;
26
+ trackings: Detection[];
35
27
  };
36
28
  export type DetectionsCounts = {
37
29
  timestamps: number;
@@ -74,22 +66,33 @@ export type SegmentSimilarityResult = {
74
66
  };
75
67
  export type SegmentsSimilaritySearchParams = {
76
68
  cameraExid: CameraExid;
77
- referenceId: string;
69
+ referenceId: string | number;
78
70
  iouThreshold?: number;
79
71
  fromDate: string;
80
72
  toDate: string;
81
73
  };
82
- export type BaseCountsParams = DateRangeFilter & {
83
- precision: keyof typeof TimelinePrecision;
84
- trackId: number;
85
- labels: DetectionLabel | DetectionLabel[];
74
+ export type BaseCountsParams = {
75
+ fromDate?: string;
76
+ toDate?: string;
77
+ precision?: TimelinePrecision;
78
+ trackId?: number;
79
+ labels?: DetectionLabel | DetectionLabel[];
86
80
  };
87
- export type DetectionsCountsParams = ProjectDateRangeFilter & BaseCountsParams & {
81
+ export type DetectionsCountsParams = BaseCountsParams & {
88
82
  cameraExids?: CameraExid[];
83
+ projectExid?: ProjectExid;
84
+ modelId?: DetectionModel;
85
+ labels?: Label[];
86
+ excludeLabels?: Label[];
87
+ confidenceThreshold?: number;
88
+ mergedClasses?: string[];
89
89
  };
90
90
  export type SegmentsCountsParams = CameraDateRangeFilter & BaseCountsParams;
91
91
  export type DetectionsPresenceByLabel = Record<DetectionLabel, TimelineDateInterval[]>;
92
92
  export type SegmentsPresenceByLabel = Record<SegmentLabel, TimelineDateInterval[]>;
93
+ export type SegmentsPresenceResponse = {
94
+ intervals: SegmentsPresenceByLabel;
95
+ };
93
96
  export type LuminanceReading = {
94
97
  timestamp: string;
95
98
  luminanceDelta: number;
@@ -108,5 +111,6 @@ export declare enum DetectionModel {
108
111
  Yolov11 = 2,
109
112
  Yolov112 = 3,
110
113
  GroundingDino = 4,
111
- Owlv2 = 5
114
+ Owlv2 = 5,
115
+ PpeV2 = 6
112
116
  }
@@ -1,17 +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
+ };
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
+ 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?: DroneCameraTransform;
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;
14
100
  };
15
101
  export declare enum DroneUrlParams {
16
102
  Date = "date"
17
103
  }
104
+ export declare enum DroneProvider {
105
+ Evercam = "Evercam",
106
+ DroneDeploy = "DroneDeploy"
107
+ }
@@ -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 {};
@@ -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",
@@ -147,8 +147,8 @@ export declare enum GateReportVehicleType {
147
147
  Unknown = "unknown"
148
148
  }
149
149
  export type GateReportVehicleTypeItem = {
150
- name: string;
151
- id: GateReportVehicleType;
150
+ label: string;
151
+ value: GateReportVehicleType;
152
152
  };
153
153
  export type GateReportEvent = {
154
154
  id: number;
@@ -174,10 +174,10 @@ export type GateReportLeftEvent = GateReportEvent & {
174
174
  };
175
175
  export type GateReportVerifiedDay = {
176
176
  id: number;
177
- day: Date_YYYY_MM_DD;
177
+ day: string;
178
178
  isMatched: boolean;
179
- insertedAt: DateTime;
180
- updatedAt: DateTime;
179
+ insertedAt: string;
180
+ updatedAt: string;
181
181
  verifiedBy: string;
182
182
  cameraExid: CameraExid;
183
183
  projectExid: ProjectExid;
@@ -195,16 +195,16 @@ export type EventsCount = {
195
195
  source: GateReportDataSource;
196
196
  };
197
197
  export type YearlyEventCount = EventsCount & {
198
- year: Date_YYYY;
198
+ year: string;
199
199
  };
200
200
  export type MonthlyEventCount = EventsCount & {
201
- month: Date_YYYY_MM;
201
+ month: string;
202
202
  };
203
203
  export type DailyEventCount = EventsCount & {
204
- day: Date_YYYY_MM_DD;
204
+ day: string;
205
205
  };
206
206
  export type HourlyEventCount = {
207
- hour: Date_HH;
207
+ hour: string;
208
208
  count: number;
209
209
  };
210
210
  export type EventCountRequestPayload = {
@@ -223,7 +223,7 @@ export declare enum GateReportDataSource {
223
223
  }
224
224
  export type GateReportResponsePayload = {
225
225
  source: GateReportDataSource;
226
- results: PaginatedItems<GateReportEvent>;
226
+ results: PaginatedItems<AnprEvent>;
227
227
  };
228
228
  export declare enum GateReportEventDirection {
229
229
  In = "in",
@@ -233,53 +233,46 @@ export declare enum GateReportEventDirection {
233
233
  export type GatReportRequestPayload = {
234
234
  camerasExid?: CameraExid[];
235
235
  eventType?: GateReportEventType;
236
- fromDate?: DateTime;
236
+ fromDate?: string;
237
237
  isPublic?: boolean;
238
- toDate?: DateTime;
238
+ toDate?: string;
239
239
  vehicleTypes?: GateReportVehicleType[];
240
240
  } & PaginationParams;
241
241
  export declare enum GateReportExportType {
242
242
  Pdf = "pdf",
243
243
  Csv = "csv"
244
244
  }
245
- export type EventsExportRequestParameters = {
246
- vehicleTypes: GateReportVehicleType[];
247
- fileType: GateReportExportType;
248
- fromDate: DateTimeSpaceSeparated;
249
- toDate: DateTimeSpaceSeparated;
250
- camerasExid: CameraExid[];
251
- eventType: GateReportEventType;
252
- };
253
- export type AnprBasedGateReportExportRequestParams = {
245
+ export type AnprExportBaseParams = {
254
246
  vehicleTypes?: GateReportVehicleType[];
255
247
  fileType?: GateReportExportType;
256
- fromDate?: DateTimeSpaceSeparated;
257
- toDate?: DateTimeSpaceSeparated;
248
+ fromDate?: string;
249
+ toDate?: string;
258
250
  camerasExid?: CameraExid[];
251
+ isPublic?: boolean;
252
+ columns?: string[];
253
+ };
254
+ export type EventsExportRequestParameters = AnprExportBaseParams & {
255
+ eventType: GateReportEventType;
256
+ };
257
+ export type AnprBasedGateReportExportRequestParams = AnprExportBaseParams & {
258
+ direction?: AnprDirection;
259
+ };
260
+ export type LegacyAnprExportParams = AnprExportBaseParams & {
259
261
  direction?: AnprDirection;
260
262
  };
261
- type X1 = number;
262
- type Y1 = number;
263
- type X2 = number;
264
- type Y2 = number;
265
- export declare enum GateReportROIShapeType {
266
- Rectangle = "rectangle",
267
- Direction = "direction",
268
- Line = "line"
269
- }
270
263
  export type GateReportROIShape = {
271
- coordinates: [[X1, Y1], [X2, Y2]];
272
- type: GateReportROIShapeType;
264
+ coordinates: TuplePoint2D[];
265
+ type: RoiShapeType;
273
266
  };
274
267
  export type GateReportROI = {
275
268
  cameraex?: string;
276
269
  fromDate?: string;
277
- directionFilter?: string;
270
+ directionFilter?: RoiDirection;
278
271
  id?: number;
279
272
  insertedAt?: Timestamp;
280
- isactive?: boolean;
273
+ isActive?: boolean;
281
274
  name?: string;
282
- roiType?: string;
275
+ roiType?: RoiType;
283
276
  updatedAt?: Timestamp;
284
277
  shapes?: GateReportROIShape[];
285
278
  };
@@ -301,14 +294,14 @@ export type VerifiedDaysQueryParams = PaginationParams & {
301
294
  camerasExid: CameraExid[];
302
295
  verifiedBy: string;
303
296
  isMatched: boolean;
304
- insertedAt: DateTime[];
305
- updatedAt: DateTime[];
297
+ insertedAt: string[];
298
+ updatedAt: string[];
306
299
  day: string;
307
300
  };
308
301
  export type VerifyDayUpdateRequestPayload = {
309
302
  camerasExid: string[];
310
303
  projectExid: string;
311
- day: Date_YYYY_MM_DD;
304
+ day: string;
312
305
  isMatched: boolean;
313
306
  verifiedBy: string;
314
307
  };
@@ -318,27 +311,23 @@ export type ProcessedDaysQueryParams = {
318
311
  eventType: GateReportEventType;
319
312
  };
320
313
  export type RoisQueryParams = {
321
- cameraExid: string;
314
+ camerasExid: CameraExid[];
322
315
  id: number;
323
316
  name: string;
324
317
  fromDate: string;
325
- roiType: GateReportROIShapeType;
326
- isactive: boolean;
318
+ roiType: RoiType;
319
+ isActive: boolean;
327
320
  directionFilter: string;
328
321
  sort: string;
329
322
  };
330
- export type GateReportROICreateRequestPayload = {
331
- id?: number;
332
- roi: {
333
- cameraex: string;
334
- name: string;
335
- roiType: string;
336
- isactive: true;
337
- fromDate: string;
338
- shapes: Record<string, unknown>[];
339
- directionFilter: string;
340
- note: string;
341
- };
342
- createdBy: string;
323
+ export type GateReportRoiRequestPayload = {
324
+ id: number;
325
+ cameraExid: string;
326
+ name: string;
327
+ roiType: RoiType;
328
+ isActive: true;
329
+ fromDate: string;
330
+ shapes: GateReportROIShape[];
331
+ directionFilter: string;
332
+ note: string;
343
333
  };
344
- export {};
@@ -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
+ };
@@ -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
+ };