@evercam/api 1.0.0-000bac2be

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 (113) hide show
  1. package/README.md +7 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +215 -0
  3. package/dist/api/api/adminApi.d.ts +381 -0
  4. package/dist/api/api/aiApi.d.ts +251 -0
  5. package/dist/api/api/authzApi.d.ts +40 -0
  6. package/dist/api/api/client/axios.d.ts +14 -0
  7. package/dist/api/api/client/customErrors.d.ts +90 -0
  8. package/dist/api/api/client/index.d.ts +5 -0
  9. package/dist/api/api/client/interceptors.d.ts +10 -0
  10. package/dist/api/api/client/swr/Swr.d.ts +14 -0
  11. package/dist/api/api/client/swr/SwrStore.d.ts +10 -0
  12. package/dist/api/api/evercamApi.d.ts +365 -0
  13. package/dist/api/api/evercamLabsApi.d.ts +34 -0
  14. package/dist/api/api/exNvrApi.d.ts +43 -0
  15. package/dist/api/api/index.d.ts +14 -0
  16. package/dist/api/api/ingestApi.d.ts +161 -0
  17. package/dist/api/api/ptzApi.d.ts +45 -0
  18. package/dist/api/api/videoWallApi.d.ts +9 -0
  19. package/dist/api/api/weatherApi.d.ts +9 -0
  20. package/dist/api/api/webRtcApi.d.ts +22 -0
  21. package/dist/api/api/workflowsApi.d.ts +15 -0
  22. package/dist/api/index.d.ts +3 -0
  23. package/dist/api/types/360.d.ts +364 -0
  24. package/dist/api/types/aconex.d.ts +143 -0
  25. package/dist/api/types/admin.d.ts +51 -0
  26. package/dist/api/types/aiConfigs.d.ts +244 -0
  27. package/dist/api/types/analytics.d.ts +612 -0
  28. package/dist/api/types/anpr.d.ts +143 -0
  29. package/dist/api/types/auditLogs.d.ts +116 -0
  30. package/dist/api/types/authz.d.ts +132 -0
  31. package/dist/api/types/autodesk.d.ts +29 -0
  32. package/dist/api/types/automation.d.ts +123 -0
  33. package/dist/api/types/axios.d.ts +71 -0
  34. package/dist/api/types/bim.d.ts +176 -0
  35. package/dist/api/types/camera.d.ts +542 -0
  36. package/dist/api/types/comments.d.ts +64 -0
  37. package/dist/api/types/company.d.ts +115 -0
  38. package/dist/api/types/compare.d.ts +72 -0
  39. package/dist/api/types/connector.d.ts +21 -0
  40. package/dist/api/types/coolify.d.ts +36 -0
  41. package/dist/api/types/countries.d.ts +500 -0
  42. package/dist/api/types/credentials.d.ts +6 -0
  43. package/dist/api/types/detections.d.ts +117 -0
  44. package/dist/api/types/drone.d.ts +106 -0
  45. package/dist/api/types/errors.d.ts +61 -0
  46. package/dist/api/types/gateReport.d.ts +322 -0
  47. package/dist/api/types/gateReportManagement.d.ts +170 -0
  48. package/dist/api/types/hammertech.d.ts +98 -0
  49. package/dist/api/types/hdd.d.ts +88 -0
  50. package/dist/api/types/index.d.ts +71 -0
  51. package/dist/api/types/ingest.d.ts +234 -0
  52. package/dist/api/types/kit.d.ts +375 -0
  53. package/dist/api/types/map.d.ts +16 -0
  54. package/dist/api/types/media.d.ts +120 -0
  55. package/dist/api/types/notification.d.ts +107 -0
  56. package/dist/api/types/nvr.d.ts +36 -0
  57. package/dist/api/types/oauth.d.ts +62 -0
  58. package/dist/api/types/observationEvents.d.ts +141 -0
  59. package/dist/api/types/observations.d.ts +84 -0
  60. package/dist/api/types/planner.d.ts +125 -0
  61. package/dist/api/types/posthog.d.ts +53 -0
  62. package/dist/api/types/procore.d.ts +229 -0
  63. package/dist/api/types/progressPhoto.d.ts +78 -0
  64. package/dist/api/types/project.d.ts +259 -0
  65. package/dist/api/types/recording.d.ts +118 -0
  66. package/dist/api/types/recycleBin.d.ts +14 -0
  67. package/dist/api/types/ring.d.ts +53 -0
  68. package/dist/api/types/roi.d.ts +19 -0
  69. package/dist/api/types/routeParams.d.ts +53 -0
  70. package/dist/api/types/router.d.ts +86 -0
  71. package/dist/api/types/shared.d.ts +199 -0
  72. package/dist/api/types/shares.d.ts +45 -0
  73. package/dist/api/types/sim.d.ts +114 -0
  74. package/dist/api/types/siteAnalytics.d.ts +285 -0
  75. package/dist/api/types/siteAnalyticsManagement.d.ts +127 -0
  76. package/dist/api/types/siteView.d.ts +78 -0
  77. package/dist/api/types/smartSeach.d.ts +5 -0
  78. package/dist/api/types/snapshots.d.ts +104 -0
  79. package/dist/api/types/socket.d.ts +4 -0
  80. package/dist/api/types/sso.d.ts +55 -0
  81. package/dist/api/types/storageProvider.d.ts +19 -0
  82. package/dist/api/types/storyblok.d.ts +27 -0
  83. package/dist/api/types/streaming.d.ts +97 -0
  84. package/dist/api/types/systemCheck.d.ts +11 -0
  85. package/dist/api/types/tag.d.ts +12 -0
  86. package/dist/api/types/time.d.ts +7 -0
  87. package/dist/api/types/timelapse.d.ts +95 -0
  88. package/dist/api/types/user.d.ts +357 -0
  89. package/dist/api/types/videoWall.d.ts +66 -0
  90. package/dist/api/types/voyageControl.d.ts +6 -0
  91. package/dist/api/types/weather.d.ts +153 -0
  92. package/dist/api/types/widget.d.ts +252 -0
  93. package/dist/api/types/workflows.d.ts +108 -0
  94. package/dist/api/types/xweather.d.ts +12 -0
  95. package/dist/api/utils.d.ts +10 -0
  96. package/dist/index.d.ts +2 -0
  97. package/dist/index.js +4397 -0
  98. package/dist/index.js.map +1 -0
  99. package/dist/index.umd.cjs +2 -0
  100. package/dist/index.umd.cjs.map +1 -0
  101. package/dist/shared/api/index.d.ts +3 -0
  102. package/dist/shared/components/timelinePlayer/providers/index.d.ts +3 -0
  103. package/dist/shared/components/timelinePlayer/providers/timelineAnprProvider.d.ts +17 -0
  104. package/dist/shared/components/timelinePlayer/providers/timelineDataProvider.d.ts +13 -0
  105. package/dist/shared/components/timelinePlayer/providers/timelineLuminanceProvider.d.ts +16 -0
  106. package/dist/shared/types/components.d.ts +512 -0
  107. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  108. package/dist/shared/types/imagePlayer.d.ts +41 -0
  109. package/dist/shared/types/index.d.ts +7 -0
  110. package/dist/shared/types/observations.d.ts +25 -0
  111. package/dist/shared/types/rbac.d.ts +67 -0
  112. package/dist/shared/types/timeline.d.ts +10 -0
  113. package/package.json +52 -0
@@ -0,0 +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
+ };
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
+ 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;
99
+ };
100
+ export declare enum DroneUrlParams {
101
+ Date = "date"
102
+ }
103
+ export declare enum DroneProvider {
104
+ Evercam = "Evercam",
105
+ DroneDeploy = "DroneDeploy"
106
+ }
@@ -0,0 +1,61 @@
1
+ import { AxiosError } from "axios";
2
+ export declare enum ErrorType {
3
+ BadRequestError = "BadRequestError",
4
+ NotFoundError = "NotFoundError",
5
+ UnauthorizedError = "UnauthorizedError",
6
+ GatewayTimeoutError = "GatewayTimeoutError",
7
+ BadGatewayError = "BadGatewayError",
8
+ ForbiddenError = "ForbiddenError",
9
+ HlsError = "HlsError",
10
+ SnapshotError = "SnapshotError",
11
+ ConflictError = "ConflictError",
12
+ InternalServerError = "InternalServerError",
13
+ CanceledError = "CanceledError",
14
+ UnhandledRejection = "UnhandledRejection",
15
+ TypeError = "TypeError"
16
+ }
17
+ export declare enum ErrorCode {
18
+ InternalServerError = 500,
19
+ BadGatewayError = 502,
20
+ ServiceUnavailableError = 503,
21
+ GatewayTimeoutError = 504,
22
+ BadRequestError = 400,
23
+ UnauthorizedError = 401,
24
+ ForbiddenError = 403,
25
+ NotFoundError = 404,
26
+ ConflictError = 409,
27
+ GoneError = 410
28
+ }
29
+ export declare enum EvercamApiErrorCode {
30
+ IntegrationError = "INTEGRATION_ERROR",
31
+ BadArgument = "BAD_ARGUMENT",
32
+ DeviceError = "DEVICE_ERROR",
33
+ UnsupportedOperation = "UNSUPPORTED_OPERATION",
34
+ QuotaExceeded = "QUOTA_EXCEEDED",
35
+ InvalidCredentials = "INVALID_CREDENTIALS",
36
+ InvalidToken = "INVALID_TOKEN",
37
+ ProviderAuthFailure = "PROVIDER_AUTH_FAILURE",
38
+ ProviderEmailRequired = "PROVIDER_EMAIL_REQUIRED",
39
+ PasswordReset = "PASSWORD_RESET",
40
+ RequireShareRequest = "REQUIRE_SHARE_REQUEST",
41
+ Generic = "GENERIC"
42
+ }
43
+ type _EvercamApiError = {
44
+ code: EvercamApiErrorCode;
45
+ message: string;
46
+ details: string;
47
+ innerError?: _EvercamApiError;
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
+ };
61
+ export {};
@@ -0,0 +1,322 @@
1
+ import { AnprDirection, AnprEvent, CameraExid, DateType, PaginatedItems, PaginationParams, ProjectExid, RoiDirection, RoiShapeType, RoiType, Timestamp, TuplePoint2D } from "@evercam/api/types";
2
+ export declare enum GateReportDetectionType {
3
+ Auto = "auto",
4
+ Manual = "manual",
5
+ Cloud = "cloud",
6
+ Edge = "edge"
7
+ }
8
+ export declare enum GateReportEventType {
9
+ Arrived = "arrived",
10
+ Left = "left"
11
+ }
12
+ export declare enum DetectionLabel {
13
+ ArticulatedDumper = "articulated-dumper",
14
+ BackhoeLoader = "backhoe-loader",
15
+ CompactExcavator = "compact-excavator",
16
+ ConcretePump = "concrete-pump",
17
+ Dumper = "dumper",
18
+ Excavator = "excavator",
19
+ FlatbedSemiTrailer = "flatbed-semi-trailer",
20
+ IndustrialTruck = "industrial-truck",
21
+ Loader = "loader",
22
+ Mewps = "mewps",
23
+ MobileCrane = "mobile-crane",
24
+ MobileCrusher = "mobile-crusher",
25
+ OtherTruck = "other-truck",
26
+ PileDrillingRig = "pile-drilling-rig",
27
+ RoadVehicle = "road-vehicle",
28
+ Roller = "roller",
29
+ SemiTrailer = "semi-trailer",
30
+ SkidSteerLoader = "skid-steer-loader",
31
+ SkipTruck = "skip-truck",
32
+ SmallTruck = "small-truck",
33
+ TankTruck = "tank-truck",
34
+ TeleHandler = "tele-handler",
35
+ TippingTruck = "tipping-truck",
36
+ TowerCrane = "tower-crane",
37
+ TowerMountedConcreteMix = "tower-mounted-concrete-mix",
38
+ TractorDozer = "tractor-dozer",
39
+ TruckHead = "truck-head",
40
+ TruckMixer = "truck-mixer",
41
+ TruckMountedMobileCrane = "truck-mounted-mobile-crane",
42
+ Unknown = "unknown",
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"
96
+ }
97
+ export declare enum SegmentLabel {
98
+ AirCompressor = "air_compressor",
99
+ Brick = "brick",
100
+ Building = "building",
101
+ CableReel = "cable_reel",
102
+ CementMixer = "cement_mixer",
103
+ CementPile = "cement_pile",
104
+ ConcreteBarrier = "concrete_barrier",
105
+ ConcreteBlock = "concrete_block",
106
+ ConstructionContainer = "construction_container",
107
+ ConstructionSite = "construction_site",
108
+ Crane = "crane",
109
+ DetachedExcavatorBucket = "detached_excavator_bucket",
110
+ DryMortarSilo = "dry_mortar_silo",
111
+ DumpTruck = "dump_truck",
112
+ Dumpster = "dumpster",
113
+ Fence = "fence",
114
+ FireHydrant = "fire_hydrant",
115
+ GarbageBin = "garbage_bin",
116
+ HoseReel = "hose_reel",
117
+ Ibc = "ibc",
118
+ JerryCan = "jerry_can",
119
+ MetalBeam = "metal_beam",
120
+ MiniDumper = "mini_dumper",
121
+ Pallet = "pallet",
122
+ Pipe = "pipe",
123
+ Puddle = "puddle",
124
+ Rebar = "rebar",
125
+ Rubble = "rubble",
126
+ Scaffolding = "scaffolding",
127
+ ShippingContainer = "shipping_container",
128
+ SiteOffice = "site_office",
129
+ TrafficCone = "traffic_cone",
130
+ Transformer = "transformer",
131
+ Vehicle = "vehicle",
132
+ Window = "window",
133
+ WoodenSpool = "wooden_spool",
134
+ Unknown = "unknown"
135
+ }
136
+ export declare enum GateReportVehicleType {
137
+ ConcretePump = "concrete-pump",
138
+ FlatbedSemiTrailer = "flatbed-semi-trailer",
139
+ OtherTruck = "other-truck",
140
+ RoadVehicle = "road-vehicle",
141
+ SemiTrailer = "semi-trailer",
142
+ SmallTruck = "small-truck",
143
+ TankTruck = "tank-truck",
144
+ TippingTruck = "tipping-truck",
145
+ TruckHead = "truck-head",
146
+ TruckMixer = "truck-mixer",
147
+ Unknown = "unknown"
148
+ }
149
+ export type GateReportVehicleTypeItem = {
150
+ label: string;
151
+ value: GateReportVehicleType;
152
+ };
153
+ export type GateReportEvent = {
154
+ id: number;
155
+ vehicleTypes: GateReportVehicleType;
156
+ exid: string;
157
+ cameraExid?: string;
158
+ boundingBox: BoundingBox;
159
+ detectionType: GateReportDetectionType;
160
+ edited: boolean;
161
+ eventTime: string;
162
+ timestamp?: string;
163
+ eventType: GateReportEventType;
164
+ isPublic: boolean;
165
+ roiId: string;
166
+ truckType: GateReportVehicleType;
167
+ thumbnailUrl?: string;
168
+ };
169
+ export type GateReportVerifiedDay = {
170
+ id: number;
171
+ day: string;
172
+ isMatched: boolean;
173
+ insertedAt: string;
174
+ updatedAt: string;
175
+ verifiedBy: string;
176
+ cameraExid: CameraExid;
177
+ projectExid: ProjectExid;
178
+ };
179
+ export type BoundingBox = {
180
+ xmax: number;
181
+ xmin: number;
182
+ ymax: number;
183
+ ymin: number;
184
+ };
185
+ export type EventsCount = {
186
+ in: number;
187
+ out: number;
188
+ source: GateReportDataSource;
189
+ };
190
+ export type YearlyEventCount = EventsCount & {
191
+ year: string;
192
+ };
193
+ export type MonthlyEventCount = EventsCount & {
194
+ month: string;
195
+ };
196
+ export type DailyEventCount = EventsCount & {
197
+ day: string;
198
+ };
199
+ export type EventCountRequestPayload = {
200
+ vehicleTypes?: GateReportVehicleType[];
201
+ isPublic?: boolean;
202
+ camerasExid?: string[];
203
+ };
204
+ export type EventCountResponsePayload = {
205
+ days?: DailyEventCount[];
206
+ months?: MonthlyEventCount[];
207
+ years?: YearlyEventCount[];
208
+ };
209
+ export declare enum GateReportDataSource {
210
+ Anpr = "anpr",
211
+ Events = "events"
212
+ }
213
+ export type GateReportResponsePayload = {
214
+ source: GateReportDataSource;
215
+ results: PaginatedItems<AnprEvent>;
216
+ };
217
+ export declare enum GateReportEventDirection {
218
+ In = "in",
219
+ Out = "out",
220
+ Unknown = "unknown"
221
+ }
222
+ export type GatReportRequestPayload = {
223
+ camerasExid?: CameraExid[];
224
+ eventType?: GateReportEventType;
225
+ fromDate?: string;
226
+ isPublic?: boolean;
227
+ toDate?: string;
228
+ vehicleTypes?: GateReportVehicleType[];
229
+ } & PaginationParams;
230
+ export declare enum GateReportExportType {
231
+ Pdf = "pdf",
232
+ Csv = "csv"
233
+ }
234
+ export type AnprExportBaseParams = {
235
+ vehicleTypes?: GateReportVehicleType[];
236
+ fileType?: GateReportExportType;
237
+ fromDate?: string;
238
+ toDate?: string;
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 & {
250
+ direction?: AnprDirection;
251
+ };
252
+ export type GateReportROIShape = {
253
+ coordinates: TuplePoint2D[];
254
+ type: RoiShapeType;
255
+ };
256
+ export type GateReportROI = {
257
+ cameraex?: string;
258
+ fromDate?: string;
259
+ directionFilter?: RoiDirection;
260
+ id?: number;
261
+ insertedAt?: Timestamp;
262
+ isActive?: boolean;
263
+ name?: string;
264
+ roiType?: RoiType;
265
+ updatedAt?: Timestamp;
266
+ shapes?: GateReportROIShape[];
267
+ };
268
+ export declare enum GateReportProcessingStatus {
269
+ Processed = "processed",
270
+ Unprocessed = "unprocessed"
271
+ }
272
+ export declare const VEHICLE_TYPE_IDS: GateReportVehicleType[];
273
+ export type GateReportCamera = {
274
+ exid: number;
275
+ name: string;
276
+ status: string;
277
+ note: string;
278
+ last_published_day: DateType;
279
+ last_processed_day: DateType;
280
+ };
281
+ export type VerifiedDaysQueryParams = PaginationParams & {
282
+ projectExid: ProjectExid;
283
+ camerasExid: CameraExid[];
284
+ verifiedBy: string;
285
+ isMatched: boolean;
286
+ insertedAt: string[];
287
+ updatedAt: string[];
288
+ day: string;
289
+ };
290
+ export type VerifyDayUpdateRequestPayload = {
291
+ camerasExid: string[];
292
+ projectExid: string;
293
+ day: string;
294
+ isMatched: boolean;
295
+ verifiedBy: string;
296
+ };
297
+ export type ProcessedDaysQueryParams = {
298
+ camerasExid: CameraExid[];
299
+ isPublic: boolean;
300
+ eventType: GateReportEventType;
301
+ };
302
+ export type RoisQueryParams = {
303
+ camerasExid: CameraExid[];
304
+ id: number;
305
+ name: string;
306
+ fromDate: string;
307
+ roiType: RoiType;
308
+ isActive: boolean;
309
+ directionFilter: string;
310
+ sort: string;
311
+ };
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;
322
+ };
@@ -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
+ };