@evercam/api 1.0.0-55c107e01 → 1.0.0-5841dedff

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 (145) hide show
  1. package/README.md +5 -1
  2. package/dist/api/api/3dFirebaseApi.d.ts +216 -0
  3. package/dist/api/api/adminApi.d.ts +381 -0
  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}/customErrors.d.ts +10 -0
  8. package/dist/api/{client → api/client}/interceptors.d.ts +3 -2
  9. package/dist/api/api/client/swr/Swr.d.ts +14 -0
  10. package/dist/api/api/client/swr/SwrStore.d.ts +10 -0
  11. package/dist/api/api/evercamApi.d.ts +357 -0
  12. package/dist/api/api/evercamLabsApi.d.ts +45 -0
  13. package/dist/api/{exNvrApi.d.ts → api/exNvrApi.d.ts} +1 -1
  14. package/dist/api/api/index.d.ts +13 -0
  15. package/dist/api/api/ingestApi.d.ts +158 -0
  16. package/dist/api/{ptzApi.d.ts → api/ptzApi.d.ts} +13 -4
  17. package/dist/api/api/videoWallApi.d.ts +9 -0
  18. package/dist/api/api/weatherApi.d.ts +9 -0
  19. package/dist/api/index.d.ts +3 -13
  20. package/dist/api/types/360.d.ts +392 -0
  21. package/dist/api/types/aconex.d.ts +143 -0
  22. package/dist/api/types/admin.d.ts +51 -0
  23. package/dist/api/types/aiConfigs.d.ts +242 -0
  24. package/dist/{types → api/types}/analytics.d.ts +245 -106
  25. package/dist/{types → api/types}/anpr.d.ts +64 -19
  26. package/dist/{types → api/types}/auditLogs.d.ts +19 -1
  27. package/dist/api/types/authz.d.ts +107 -0
  28. package/dist/{types → api/types}/autodesk.d.ts +7 -7
  29. package/dist/api/types/automation.d.ts +114 -0
  30. package/dist/{types → api/types}/axios.d.ts +31 -12
  31. package/dist/{types → api/types}/bim.d.ts +38 -9
  32. package/dist/{types → api/types}/camera.d.ts +121 -152
  33. package/dist/api/types/comments.d.ts +58 -0
  34. package/dist/api/types/company.d.ts +115 -0
  35. package/dist/{types → api/types}/compare.d.ts +20 -5
  36. package/dist/api/types/connector.d.ts +21 -0
  37. package/dist/api/types/coolify.d.ts +36 -0
  38. package/dist/{types → api/types}/copilot.d.ts +20 -16
  39. package/dist/{types → api/types}/countries.d.ts +0 -7
  40. package/dist/{types → api/types}/credentials.d.ts +1 -0
  41. package/dist/api/types/detections.d.ts +117 -0
  42. package/dist/api/types/drone.d.ts +107 -0
  43. package/dist/{types → api/types}/errors.d.ts +25 -0
  44. package/dist/{types → api/types}/gateReport.d.ts +99 -169
  45. package/dist/api/types/gateReportManagement.d.ts +170 -0
  46. package/dist/api/types/hammertech.d.ts +98 -0
  47. package/dist/api/types/hdd.d.ts +88 -0
  48. package/dist/{types → api/types}/index.d.ts +24 -4
  49. package/dist/api/types/ingest.d.ts +159 -0
  50. package/dist/{types → api/types}/kit.d.ts +160 -58
  51. package/dist/api/types/map.d.ts +16 -0
  52. package/dist/{types → api/types}/media.d.ts +10 -3
  53. package/dist/api/types/notification.d.ts +67 -0
  54. package/dist/{types → api/types}/nvr.d.ts +2 -1
  55. package/dist/api/types/oauth.d.ts +62 -0
  56. package/dist/api/types/observationEvents.d.ts +61 -0
  57. package/dist/api/types/observations.d.ts +85 -0
  58. package/dist/api/types/planner.d.ts +124 -0
  59. package/dist/api/types/posthog.d.ts +53 -0
  60. package/dist/api/types/procore.d.ts +229 -0
  61. package/dist/{types → api/types}/progressPhoto.d.ts +11 -23
  62. package/dist/api/types/project.d.ts +254 -0
  63. package/dist/{types → api/types}/recording.d.ts +10 -16
  64. package/dist/api/types/recycleBin.d.ts +14 -0
  65. package/dist/api/types/ring.d.ts +53 -0
  66. package/dist/{types → api/types}/roi.d.ts +2 -9
  67. package/dist/{types → api/types}/routeParams.d.ts +5 -2
  68. package/dist/{types → api/types}/router.d.ts +20 -1
  69. package/dist/{types → api/types}/shared.d.ts +32 -39
  70. package/dist/api/types/shares.d.ts +45 -0
  71. package/dist/{types → api/types}/sim.d.ts +6 -6
  72. package/dist/api/types/siteAnalytics.d.ts +285 -0
  73. package/dist/api/types/siteAnalyticsManagement.d.ts +117 -0
  74. package/dist/api/types/siteView.d.ts +73 -0
  75. package/dist/api/types/smartSeach.d.ts +5 -0
  76. package/dist/api/types/snapshots.d.ts +104 -0
  77. package/dist/api/types/socket.d.ts +4 -0
  78. package/dist/api/types/sso.d.ts +55 -0
  79. package/dist/api/types/storageProvider.d.ts +19 -0
  80. package/dist/api/types/storyblok.d.ts +27 -0
  81. package/dist/api/types/streaming.d.ts +97 -0
  82. package/dist/api/types/systemCheck.d.ts +11 -0
  83. package/dist/api/types/tag.d.ts +12 -0
  84. package/dist/api/types/time.d.ts +7 -0
  85. package/dist/{types → api/types}/timelapse.d.ts +22 -11
  86. package/dist/{types → api/types}/user.d.ts +106 -40
  87. package/dist/api/types/videoWall.d.ts +66 -0
  88. package/dist/api/types/weather.d.ts +153 -0
  89. package/dist/{types → api/types}/widget.d.ts +106 -20
  90. package/dist/api/types/xweather.d.ts +12 -0
  91. package/dist/index.d.ts +2 -3
  92. package/dist/index.js +3014 -1059
  93. package/dist/index.js.map +1 -1
  94. package/dist/index.umd.cjs +1 -1
  95. package/dist/index.umd.cjs.map +1 -1
  96. package/dist/shared/api/index.d.ts +3 -0
  97. package/dist/shared/components/timelinePlayer/providers/index.d.ts +3 -0
  98. package/dist/shared/components/timelinePlayer/providers/timelineAnprProvider.d.ts +17 -0
  99. package/dist/shared/components/timelinePlayer/providers/timelineDataProvider.d.ts +13 -0
  100. package/dist/shared/components/timelinePlayer/providers/timelineLuminanceProvider.d.ts +16 -0
  101. package/dist/shared/types/components.d.ts +370 -0
  102. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  103. package/dist/shared/types/imagePlayer.d.ts +41 -0
  104. package/dist/shared/types/index.d.ts +7 -0
  105. package/dist/shared/types/observations.d.ts +21 -0
  106. package/dist/shared/types/rbac.d.ts +67 -0
  107. package/dist/shared/types/timeline.d.ts +10 -0
  108. package/package.json +10 -7
  109. package/dist/api/3dFirebaseApi.d.ts +0 -9
  110. package/dist/api/adminApi.d.ts +0 -281
  111. package/dist/api/aiApi.d.ts +0 -73
  112. package/dist/api/authzApi.d.ts +0 -21
  113. package/dist/api/evercamApi.d.ts +0 -266
  114. package/dist/api/evercamLabsApi.d.ts +0 -50
  115. package/dist/api/ingestApi.d.ts +0 -65
  116. package/dist/api/videoWallApi.d.ts +0 -9
  117. package/dist/api/weatherApi.d.ts +0 -25
  118. package/dist/types/360.d.ts +0 -83
  119. package/dist/types/aconex.d.ts +0 -45
  120. package/dist/types/automation.d.ts +0 -6
  121. package/dist/types/comments.d.ts +0 -36
  122. package/dist/types/company.d.ts +0 -46
  123. package/dist/types/connector.d.ts +0 -16
  124. package/dist/types/detections.d.ts +0 -62
  125. package/dist/types/devices.d.ts +0 -228
  126. package/dist/types/drone.d.ts +0 -17
  127. package/dist/types/ingest.d.ts +0 -43
  128. package/dist/types/map.d.ts +0 -4
  129. package/dist/types/notification.d.ts +0 -27
  130. package/dist/types/procore.d.ts +0 -76
  131. package/dist/types/project.d.ts +0 -120
  132. package/dist/types/shares.d.ts +0 -192
  133. package/dist/types/siteAnalytics.d.ts +0 -5
  134. package/dist/types/sitePlanner.d.ts +0 -23
  135. package/dist/types/snapshots.d.ts +0 -50
  136. package/dist/types/storageServers.d.ts +0 -4
  137. package/dist/types/streaming.d.ts +0 -120
  138. package/dist/types/time.d.ts +0 -19
  139. package/dist/types/vendorModel.d.ts +0 -15
  140. package/dist/types/videoWall.d.ts +0 -33
  141. package/dist/types/weather.d.ts +0 -83
  142. /package/dist/api/{client → api/client}/index.d.ts +0 -0
  143. /package/dist/api/{webRtcApi.d.ts → api/webRtcApi.d.ts} +0 -0
  144. /package/dist/{types → api/types}/voyageControl.d.ts +0 -0
  145. /package/dist/{utils.d.ts → api/utils.d.ts} +0 -0
@@ -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",
@@ -40,7 +40,59 @@ export declare enum DetectionLabel {
40
40
  TruckMixer = "truck-mixer",
41
41
  TruckMountedMobileCrane = "truck-mounted-mobile-crane",
42
42
  Unknown = "unknown",
43
- Worker = "worker"
43
+ Worker = "worker",
44
+ Rubble = "rubble",
45
+ Puddle = "puddle",
46
+ DirtGravelCementPile = "dirt_gravel_cement_pile",
47
+ DetachedExcavatorBucket = "detached_excavator_bucket",
48
+ IntermediateBulkContainer = "intermediate_bulk_container",
49
+ WoodenPallet = "wooden_pallet",
50
+ ShippingContainer = "shipping_container",
51
+ AirCompressor = "air_compressor",
52
+ DryMortarSilo = "dry_mortar_silo",
53
+ Fence = "fence",
54
+ Brick = "brick",
55
+ Barrel = "barrel",
56
+ Cardboard = "cardboard",
57
+ CardboardBox = "cardboard_box",
58
+ CementBag = "cement_bag",
59
+ ConcreteBlock = "concrete_block",
60
+ ConcretePipe = "concrete_pipe",
61
+ ConcreteSlab = "concrete_slab",
62
+ Door = "door",
63
+ PlasticWrap = "plastic_wrap",
64
+ ContainerOffice = "container_office",
65
+ ElectricalPole = "electrical_pole",
66
+ ElectricalBox = "electrical_box",
67
+ FireHydrant = "fire_hydrant",
68
+ FireExtinguisher = "fire-extinguisher",
69
+ HoseReel = "hose_reel",
70
+ Ladder = "ladder",
71
+ MetalBeam = "metal_beam",
72
+ MetalPipe = "metal_pipe",
73
+ Pallet = "pallet",
74
+ Person = "person",
75
+ Pillar = "pillar",
76
+ PlasticBin = "plastic_bin",
77
+ PlasticBucket = "plastic_bucket",
78
+ PlasticPipe = "plastic_pipe",
79
+ PublicToilet = "public_toilet",
80
+ Sign = "sign",
81
+ SiteToolbox = "site_toolbox",
82
+ StreetSink = "street_sink",
83
+ TrafficBarrier = "traffic_barrier",
84
+ TrafficCone = "traffic_cone",
85
+ Wall = "wall",
86
+ WasteContainer = "waste_container",
87
+ WaterStorageTank = "water_storage_tank",
88
+ Wheelbarrow = "wheelbarrow",
89
+ Window = "window",
90
+ WoodPlank = "wood_plank",
91
+ CableReel = "cable_reel",
92
+ AirConditioningSystem = "air_conditioning_system",
93
+ WoodenBox = "wooden_box",
94
+ PlasticBag = "plastic_bag",
95
+ MaterialStack = "material_stack"
44
96
  }
45
97
  export declare enum SegmentLabel {
46
98
  AirCompressor = "air_compressor",
@@ -95,8 +147,8 @@ export declare enum GateReportVehicleType {
95
147
  Unknown = "unknown"
96
148
  }
97
149
  export type GateReportVehicleTypeItem = {
98
- name: string;
99
- id: GateReportVehicleType;
150
+ label: string;
151
+ value: GateReportVehicleType;
100
152
  };
101
153
  export type GateReportEvent = {
102
154
  id: number;
@@ -114,18 +166,12 @@ export type GateReportEvent = {
114
166
  truckType: GateReportVehicleType;
115
167
  thumbnailUrl?: string;
116
168
  };
117
- export type GateReportArrivedEvent = GateReportEvent & {
118
- eventType: GateReportEventType.Arrived;
119
- };
120
- export type GateReportLeftEvent = GateReportEvent & {
121
- eventType: GateReportEventType.Left;
122
- };
123
169
  export type GateReportVerifiedDay = {
124
170
  id: number;
125
- day: Date_YYYY_MM_DD;
171
+ day: string;
126
172
  isMatched: boolean;
127
- insertedAt: DateTime;
128
- updatedAt: DateTime;
173
+ insertedAt: string;
174
+ updatedAt: string;
129
175
  verifiedBy: string;
130
176
  cameraExid: CameraExid;
131
177
  projectExid: ProjectExid;
@@ -136,24 +182,19 @@ export type BoundingBox = {
136
182
  ymax: number;
137
183
  ymin: number;
138
184
  };
139
- export type EventsCountsByVehicleType = Record<GateReportVehicleType, number>;
140
185
  export type EventsCount = {
141
186
  in: number;
142
187
  out: number;
143
188
  source: GateReportDataSource;
144
189
  };
145
190
  export type YearlyEventCount = EventsCount & {
146
- year: Date_YYYY;
191
+ year: string;
147
192
  };
148
193
  export type MonthlyEventCount = EventsCount & {
149
- month: Date_YYYY_MM;
194
+ month: string;
150
195
  };
151
196
  export type DailyEventCount = EventsCount & {
152
- day: Date_YYYY_MM_DD;
153
- };
154
- export type HourlyEventCount = {
155
- hour: Date_HH;
156
- count: number;
197
+ day: string;
157
198
  };
158
199
  export type EventCountRequestPayload = {
159
200
  vehicleTypes?: GateReportVehicleType[];
@@ -165,31 +206,13 @@ export type EventCountResponsePayload = {
165
206
  months?: MonthlyEventCount[];
166
207
  years?: YearlyEventCount[];
167
208
  };
168
- export type ProcessedDaysRequestPayload = {
169
- apiId?: string;
170
- apiKey?: string;
171
- isPublic?: Boolean;
172
- };
173
- export type EventsRequestPayload = {
174
- apiId?: string;
175
- apiKey?: string;
176
- camerasExid?: CameraExid[];
177
- cameras?: string[];
178
- eventType?: GateReportEventType;
179
- fromDate?: DateTime;
180
- isPublic?: boolean;
181
- toDate?: DateTime;
182
- truckTypes?: GateReportVehicleType[];
183
- vehicleTypes?: string[];
184
- } & PaginationParams;
185
- export type EventsResponsePayload = PaginatedItems<GateReportEvent>;
186
209
  export declare enum GateReportDataSource {
187
210
  Anpr = "anpr",
188
211
  Events = "events"
189
212
  }
190
213
  export type GateReportResponsePayload = {
191
214
  source: GateReportDataSource;
192
- results: PaginatedItems<GateReportEvent>;
215
+ results: PaginatedItems<AnprEvent>;
193
216
  };
194
217
  export declare enum GateReportEventDirection {
195
218
  In = "in",
@@ -199,53 +222,46 @@ export declare enum GateReportEventDirection {
199
222
  export type GatReportRequestPayload = {
200
223
  camerasExid?: CameraExid[];
201
224
  eventType?: GateReportEventType;
202
- fromDate?: DateTime;
225
+ fromDate?: string;
203
226
  isPublic?: boolean;
204
- toDate?: DateTime;
227
+ toDate?: string;
205
228
  vehicleTypes?: GateReportVehicleType[];
206
229
  } & PaginationParams;
207
230
  export declare enum GateReportExportType {
208
231
  Pdf = "pdf",
209
232
  Csv = "csv"
210
233
  }
211
- export type EventsExportRequestParameters = {
212
- vehicleTypes: GateReportVehicleType[];
213
- fileType: GateReportExportType;
214
- fromDate: DateTimeSpaceSeparated;
215
- toDate: DateTimeSpaceSeparated;
216
- camerasExid: CameraExid[];
217
- eventType: GateReportEventType;
218
- };
219
- export type AnprBasedGateReportExportRequestParams = {
234
+ export type AnprExportBaseParams = {
220
235
  vehicleTypes?: GateReportVehicleType[];
221
236
  fileType?: GateReportExportType;
222
- fromDate?: DateTimeSpaceSeparated;
223
- toDate?: DateTimeSpaceSeparated;
237
+ fromDate?: string;
238
+ toDate?: string;
224
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 & {
225
250
  direction?: AnprDirection;
226
251
  };
227
- type X1 = number;
228
- type Y1 = number;
229
- type X2 = number;
230
- type Y2 = number;
231
- export declare enum GateReportROIShapeType {
232
- Rectangle = "rectangle",
233
- Direction = "direction",
234
- Line = "line"
235
- }
236
252
  export type GateReportROIShape = {
237
- coordinates: [[X1, Y1], [X2, Y2]];
238
- type: GateReportROIShapeType;
253
+ coordinates: TuplePoint2D[];
254
+ type: RoiShapeType;
239
255
  };
240
256
  export type GateReportROI = {
241
257
  cameraex?: string;
242
258
  fromDate?: string;
243
- directionFilter?: string;
259
+ directionFilter?: RoiDirection;
244
260
  id?: number;
245
261
  insertedAt?: Timestamp;
246
- isactive?: boolean;
262
+ isActive?: boolean;
247
263
  name?: string;
248
- roiType?: string;
264
+ roiType?: RoiType;
249
265
  updatedAt?: Timestamp;
250
266
  shapes?: GateReportROIShape[];
251
267
  };
@@ -262,89 +278,19 @@ export type GateReportCamera = {
262
278
  last_published_day: DateType;
263
279
  last_processed_day: DateType;
264
280
  };
265
- export type GateReportProject = {
266
- exid: string;
267
- name: string;
268
- status: string;
269
- featureFlags: ProjectFeatureFlag;
270
- cameras: GateReportCamera[];
271
- };
272
- export type AnalyticsParameters = {
273
- id: number;
274
- cameraex: string;
275
- processingType: string;
276
- startDate: DateTime;
277
- endDate: DateTime;
278
- skipWeekend: boolean;
279
- hourSiteOpening: number;
280
- hourSiteClosure: number;
281
- gateReportActive: boolean;
282
- countingActive: boolean;
283
- queueSystem: string;
284
- reprocess: boolean;
285
- framesToSkip: number;
286
- detection_model: string;
287
- detectionThreshold: number;
288
- printLogsFrame: number;
289
- crossingVectorAngleLimit: number;
290
- minTruckLife: number;
291
- insideMinTime: number;
292
- trackerMaxAge: number;
293
- trackerMinHit: number;
294
- snapshotUpload: boolean;
295
- snapshotPerSecond: number;
296
- detectionClasses: string;
297
- deepEventEndpointUrl: string;
298
- timestampCalculation: string;
299
- matchingEmbeddedDstCoeff: number;
300
- matchingTimeCoeff: number;
301
- matchingQueueOrderCoeff: number;
302
- rabbitmqServerUrl: string;
303
- rabbitmqEventsQueue: string;
304
- rabbitmqEventsExchange: string;
305
- rabbitmqCountingQueue: string;
306
- rabbitmqCountingExchange: string;
307
- dangerZones: boolean;
308
- workflows: boolean;
309
- linkedAnprCameras: Record<string, unknown>;
310
- };
311
281
  export type VerifiedDaysQueryParams = PaginationParams & {
312
282
  projectExid: ProjectExid;
313
283
  camerasExid: CameraExid[];
314
284
  verifiedBy: string;
315
285
  isMatched: boolean;
316
- insertedAt: DateTime[];
317
- updatedAt: DateTime[];
286
+ insertedAt: string[];
287
+ updatedAt: string[];
318
288
  day: string;
319
289
  };
320
- export type EventUpdateRequestPayload = {
321
- cameraex: string;
322
- roiId: number;
323
- eventType: string;
324
- eventTime: "2024-12-13T14:25:58.066Z";
325
- truckType: string;
326
- isPublic: boolean;
327
- boundingBox: {
328
- additionalProp1: number;
329
- additionalProp2: number;
330
- additionalProp3: number;
331
- };
332
- valid: boolean;
333
- loadState: string;
334
- embeddingId: number;
335
- embedding: number[];
336
- similarityDst: number;
337
- detectionType: string;
338
- trackingId: number;
339
- deliveriesId: number;
340
- edited: boolean;
341
- isDeleted: boolean;
342
- modelVersion: string;
343
- };
344
290
  export type VerifyDayUpdateRequestPayload = {
345
291
  camerasExid: string[];
346
292
  projectExid: string;
347
- day: Date_YYYY_MM_DD;
293
+ day: string;
348
294
  isMatched: boolean;
349
295
  verifiedBy: string;
350
296
  };
@@ -353,40 +299,24 @@ export type ProcessedDaysQueryParams = {
353
299
  isPublic: boolean;
354
300
  eventType: GateReportEventType;
355
301
  };
356
- export type SecurityMeasurementQueryParams = {
357
- cameraex: string;
358
- timestamp: DateTime;
359
- prompt: string;
360
- snapshotUrl: string;
361
- };
362
- export type ObjectDetectionQueryParams = {
363
- cameraex: string;
364
- timestamp: DateTime;
365
- base64Img: string;
366
- snapshotUrl: string;
367
- };
368
302
  export type RoisQueryParams = {
369
- cameraExid: string;
303
+ camerasExid: CameraExid[];
370
304
  id: number;
371
305
  name: string;
372
306
  fromDate: string;
373
- roiType: GateReportROIShapeType;
374
- isactive: boolean;
307
+ roiType: RoiType;
308
+ isActive: boolean;
375
309
  directionFilter: string;
376
310
  sort: string;
377
311
  };
378
- export type GateReportROICreateRequestPayload = {
379
- id?: number;
380
- roi: {
381
- cameraex: string;
382
- name: string;
383
- roiType: string;
384
- isactive: true;
385
- fromDate: string;
386
- shapes: Record<string, unknown>[];
387
- directionFilter: string;
388
- note: string;
389
- };
390
- 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;
391
322
  };
392
- 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
+ };