@evercam/api 1.0.0-364663aee → 1.0.0-3678888fa

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 (41) hide show
  1. package/README.md +1 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +164 -15
  3. package/dist/api/api/adminApi.d.ts +16 -12
  4. package/dist/api/api/aiApi.d.ts +34 -3
  5. package/dist/api/api/authzApi.d.ts +1 -2
  6. package/dist/api/api/evercamApi.d.ts +10 -1
  7. package/dist/api/api/ingestApi.d.ts +3 -2
  8. package/dist/api/types/360.d.ts +56 -51
  9. package/dist/api/types/aiConfigs.d.ts +154 -0
  10. package/dist/api/types/analytics.d.ts +24 -11
  11. package/dist/api/types/anpr.d.ts +31 -2
  12. package/dist/api/types/auditLogs.d.ts +18 -0
  13. package/dist/api/types/axios.d.ts +1 -1
  14. package/dist/api/types/bim.d.ts +17 -0
  15. package/dist/api/types/camera.d.ts +9 -24
  16. package/dist/api/types/comments.d.ts +8 -6
  17. package/dist/api/types/detections.d.ts +2 -10
  18. package/dist/api/types/drone.d.ts +95 -6
  19. package/dist/api/types/gateReport.d.ts +7 -11
  20. package/dist/api/types/gateReportManagement.d.ts +175 -0
  21. package/dist/api/types/index.d.ts +3 -0
  22. package/dist/api/types/ingest.d.ts +2 -2
  23. package/dist/api/types/map.d.ts +12 -0
  24. package/dist/api/types/planner.d.ts +55 -2
  25. package/dist/api/types/project.d.ts +2 -1
  26. package/dist/api/types/recording.d.ts +2 -8
  27. package/dist/api/types/roi.d.ts +2 -2
  28. package/dist/api/types/shared.d.ts +19 -0
  29. package/dist/api/types/siteAnalytics.d.ts +3 -3
  30. package/dist/api/types/siteView.d.ts +74 -0
  31. package/dist/api/types/snapshots.d.ts +13 -0
  32. package/dist/api/types/timelapse.d.ts +4 -1
  33. package/dist/api/types/user.d.ts +0 -1
  34. package/dist/api/utils.d.ts +0 -1
  35. package/dist/index.js +1221 -624
  36. package/dist/index.js.map +1 -1
  37. package/dist/index.umd.cjs +1 -1
  38. package/dist/index.umd.cjs.map +1 -1
  39. package/dist/shared/types/components.d.ts +29 -9
  40. package/dist/shared/types/imagePlayer.d.ts +8 -1
  41. package/package.json +2 -2
@@ -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
+ };
@@ -62,3 +62,6 @@ export * from "./authz";
62
62
  export * from "./oauth";
63
63
  export * from "./ring";
64
64
  export * from "./smartSeach";
65
+ export * from "./siteView";
66
+ export * from "./aiConfigs";
67
+ export * from "./gateReportManagement";
@@ -1,4 +1,4 @@
1
- import { PaginationParams, DateType, JsonValue } from "@evercam/api/types";
1
+ import { PaginationParams, DateType, JsonValue, TuplePoint2D } from "@evercam/api/types";
2
2
  import type { _360FloorV2, _360WalkV2 } from "@evercam/api/types/360";
3
3
  export declare enum IngestProcessingStatus {
4
4
  Completed = "completed",
@@ -82,7 +82,7 @@ export type DroneUploadUpdateRequestPayload = {
82
82
  };
83
83
  export type CalculateMeasuringOperationRequestPayload = {
84
84
  date: DateType;
85
- points: [number, number][];
85
+ points: TuplePoint2D[];
86
86
  operation: string;
87
87
  };
88
88
  export type FlightImagesQueryParams = Partial<Omit<PaginationParams, "sort">> & {
@@ -2,3 +2,15 @@ export declare enum MapType {
2
2
  Hybrid = "hybrid",
3
3
  Terrain = "terrain"
4
4
  }
5
+ export type MapView = {
6
+ east?: number;
7
+ floorID?: string;
8
+ image?: string;
9
+ mapStyle?: MapType;
10
+ name: string;
11
+ north?: number;
12
+ projectId: string;
13
+ projectName: string;
14
+ south?: number;
15
+ west?: number;
16
+ };
@@ -1,5 +1,21 @@
1
- export type Coordinate = [number, number];
2
- export type PolygonPath = Coordinate[];
1
+ import { GeoPoint, TuplePoint2D } from "./shared";
2
+ import { MapType } from "./map";
3
+ export type PlannerListItem = {
4
+ id: string;
5
+ projectId: string;
6
+ projectName: string;
7
+ projectLocation: string;
8
+ createdDate: string;
9
+ updatedDate: string;
10
+ owner?: string;
11
+ lastUpdatedBy?: string;
12
+ camerasCount?: number;
13
+ hasPlan?: boolean;
14
+ thumbnailUrl?: string;
15
+ projectMapType?: MapType;
16
+ sessionId?: string;
17
+ };
18
+ export type PolygonPath = TuplePoint2D[];
3
19
  export type PolygonCoordinates = PolygonPath[];
4
20
  export interface GeoJSONPolygon {
5
21
  type: "Polygon";
@@ -47,6 +63,43 @@ export declare enum ERoles {
47
63
  Admin = "admin",
48
64
  User = "user"
49
65
  }
66
+ export type PlannerOverlay = {
67
+ imageUrl?: string;
68
+ corners?: {
69
+ topLeft: GeoPoint;
70
+ topRight: GeoPoint;
71
+ bottomLeft: GeoPoint;
72
+ bottomRight: GeoPoint;
73
+ } | null;
74
+ };
75
+ export type PlannerCameraMarker = {
76
+ name?: string;
77
+ location?: GeoPoint;
78
+ heading?: number;
79
+ fovAngle?: number;
80
+ fovRadius?: number;
81
+ isVisible?: boolean;
82
+ color?: string;
83
+ };
84
+ export type SitePlanBounds = {
85
+ northEast: GeoPoint;
86
+ southWest: GeoPoint;
87
+ };
88
+ export type SitePlan = {
89
+ id?: string;
90
+ projectId?: string;
91
+ owner?: string;
92
+ lastUpdatedBy?: string;
93
+ projectName?: string;
94
+ projectLocation?: string;
95
+ projectMapType?: EMapTypes;
96
+ projectBounds?: SitePlanBounds;
97
+ overlay?: PlannerOverlay;
98
+ markers?: PlannerCameraMarker[];
99
+ thumbnailUrl?: string;
100
+ createdDate?: string;
101
+ updatedDate?: string;
102
+ };
50
103
  export interface IDrawControl {
51
104
  _toolbars: {
52
105
  draw: {
@@ -1,4 +1,4 @@
1
- import { AdminCamera, Camera, CameraExid, DateType, EntityByExid, Exid, PaginationParams } from "@evercam/api/types";
1
+ import { AdminCamera, Camera, CameraExid, DateType, EntityByExid, Exid, Operator, PaginationParams } from "@evercam/api/types";
2
2
  export type ProjectExid = Exid;
3
3
  export type ProjectsByExid = EntityByExid<Project>;
4
4
  export type Project = {
@@ -110,6 +110,7 @@ export type ProjectsQueryParams = PaginationParams & {
110
110
  status: ProjectStatus;
111
111
  cameras: string;
112
112
  featureFlags: Array<ProjectFeatureFlag>;
113
+ featureFlagsOperator?: Operator;
113
114
  archived: string;
114
115
  };
115
116
  export type ProjectCreateRequestPayload = {
@@ -104,13 +104,6 @@ export declare enum SnapshotExtractionInterval {
104
104
  }
105
105
  export declare enum VpnServer {
106
106
  None = "None",
107
- OpenVPN1 = "OpenVPN1",
108
- OpenVPN2 = "OpenVPN2",
109
- OpenVPN3 = "OpenVPN3",
110
- OpenVPN4 = "OpenVPN4",
111
- OpenVPN5 = "OpenVPN5",
112
- PPTP1 = "PPTP1",
113
- PPTP2 = "PPTP2",
114
107
  WireGuard1 = "WireGuard1",
115
108
  WireGuard2 = "WireGuard2",
116
109
  WireGuard3 = "WireGuard3",
@@ -120,5 +113,6 @@ export declare enum VpnServer {
120
113
  WireGuard7 = "WireGuard7",
121
114
  WireGuard8 = "WireGuard8",
122
115
  WireGuard9 = "WireGuard9",
123
- WireGuard10 = "WireGuard10"
116
+ WireGuard10 = "WireGuard10",
117
+ WgHub = "WgHub"
124
118
  }
@@ -9,8 +9,7 @@ export declare enum RoiShapeType {
9
9
  Polygon = "polygon",
10
10
  Line = "line",
11
11
  Direction = "direction",
12
- Rectangle = "rectangle",
13
- ROIBox = "ROIBox"
12
+ Rectangle = "rectangle"
14
13
  }
15
14
  export type RoiShape = {
16
15
  id: number | null;
@@ -19,6 +18,7 @@ export type RoiShape = {
19
18
  x2: number;
20
19
  y1: number;
21
20
  y2: number;
21
+ points?: [number, number][];
22
22
  };
23
23
  export declare enum RoiDirection {
24
24
  Arrived = "arrived",
@@ -1,4 +1,8 @@
1
1
  import { DateType } from "@evercam/api/types";
2
+ export declare enum Operator {
3
+ AND = "and",
4
+ OR = "or"
5
+ }
2
6
  type sortby = string;
3
7
  type sortDirection = "asc" | "desc";
4
8
  export type SortingUrlParam = `${sortby}|${sortDirection}`;
@@ -133,6 +137,21 @@ export interface JSON {
133
137
  stringify<T>(value: T, replacer?: (key: string, value: unknown) => unknown, space?: string | number): string & Stringified<T>;
134
138
  parse<T>(text: Stringified<T>, reviver?: (key: unknown, value: unknown) => unknown): T;
135
139
  }
140
+ export type TuplePoint2D = [number, number];
141
+ export type TuplePoint3D = [number, number, number];
142
+ export type Point2D = {
143
+ x: number;
144
+ y: number;
145
+ };
146
+ export type Point3D = {
147
+ x: number;
148
+ y: number;
149
+ z: number;
150
+ };
151
+ export type GeoPoint = {
152
+ lat: number;
153
+ lng: number;
154
+ };
136
155
  export type Exid = string;
137
156
  export type EntityByExid<Entity extends unknown> = Record<Exid, Entity>;
138
157
  export type BatteryVoltage = {
@@ -1,4 +1,4 @@
1
- import { BBox, BoundingBox, DateType, Schedule, ScheduleLowercase, CameraExid, DetectionModel, PaginationParams, PpeLabel, ProjectExid, CameraDateRangeFilter, CameraFeatureFlag, TimelineDateInterval, Camera, AdminCamera, _360FloorV2, _360FloorId, PaginatedItems, DateRangeFilter } from "@evercam/api/types";
1
+ import { BBox, BoundingBox, DateType, Schedule, ScheduleLowercase, CameraExid, DetectionModel, PaginationParams, PpeLabel, ProjectExid, CameraDateRangeFilter, CameraFeatureFlag, TimelineDateInterval, Camera, AdminCamera, _360FloorV2, _360FloorId, PaginatedItems, DateRangeFilter, TuplePoint2D } from "@evercam/api/types";
2
2
  import { DetectionLabel, DownloadFileType } from "@evercam/api/types";
3
3
  export declare enum SiteAnalyticsMode {
4
4
  Detections = "detections",
@@ -184,7 +184,7 @@ export type DetectionsExportRequestParams = DetectionsRequestParams & {
184
184
  directDownload?: boolean;
185
185
  };
186
186
  export type SmartSearchHeatmapPoint = {
187
- coordinates: [number, number];
187
+ coordinates: TuplePoint2D;
188
188
  detectionsCount: number;
189
189
  };
190
190
  export type SmartSearchHeatmapData = {
@@ -241,7 +241,7 @@ export type SmartSearchRequestPayload = {
241
241
  fromDate?: string;
242
242
  toDate?: string;
243
243
  page?: number;
244
- pageSize?: number;
244
+ limit?: number;
245
245
  threshold?: number;
246
246
  };
247
247
  type SmartSearchResultItemBase = {
@@ -0,0 +1,74 @@
1
+ import { ForgeView } from "@evercam/api/types/360";
2
+ import { Point2D, Point3D } from "@evercam/api/types/shared";
3
+ export declare enum SiteViewSoftwareType {
4
+ Revit = "Revit",
5
+ Navisworks = "Navisworks",
6
+ Drone = "Drone",
7
+ Synchro = "Synchro"
8
+ }
9
+ export declare enum SiteViewerType {
10
+ ITwin = "iTwin",
11
+ Cesium = "Cesium",
12
+ Forge = "Forge"
13
+ }
14
+ export type SiteViewCameraListItem = {
15
+ projectId: string;
16
+ projectName: string;
17
+ software: SiteViewSoftwareType;
18
+ type: SiteViewerType;
19
+ uniqueId: string;
20
+ integrationType?: string;
21
+ };
22
+ export type ForgeUrn = {
23
+ displayName: string;
24
+ urn: string;
25
+ isModelHostedByEvercamACC?: boolean;
26
+ };
27
+ export type ForgeAccAlignmentData = {
28
+ bbox: {
29
+ min: Point2D;
30
+ max: Point2D;
31
+ };
32
+ transform: number[];
33
+ };
34
+ export type TimelineItem = {
35
+ taskNumber: number;
36
+ taskID: string;
37
+ actualStartDate: string;
38
+ actualEndDate: string;
39
+ plannedStartDate: string;
40
+ plannedEndDate: string;
41
+ objectIDs: number[];
42
+ };
43
+ export type ForgeMarkerTransform = {
44
+ default: {
45
+ position: Point3D;
46
+ type: string;
47
+ };
48
+ };
49
+ export type ForgeMarker = {
50
+ name: string;
51
+ cameraExid: string;
52
+ transforms: ForgeMarkerTransform;
53
+ };
54
+ export type ForgeProjectData = {
55
+ urns?: ForgeUrn[];
56
+ isEvercamAccount?: boolean;
57
+ accDrawingsAlignments?: Record<string, ForgeAccAlignmentData>;
58
+ timeline?: TimelineItem[];
59
+ savedView?: ForgeView;
60
+ markers?: ForgeMarker[];
61
+ };
62
+ export type ItwinModel = {
63
+ name: string;
64
+ iTwinId: string;
65
+ iModelId: string;
66
+ changeSetId?: string;
67
+ isIModel: boolean;
68
+ height?: number;
69
+ cesiumId?: number;
70
+ markerDistanceThreshold: number;
71
+ };
72
+ export type ItwinProjectData = {
73
+ models: ItwinModel[];
74
+ };
@@ -5,8 +5,11 @@ export type SnapshotExtractionQyeryParams = PaginationParams & {
5
5
  status: SnapshotExtractionStatus;
6
6
  };
7
7
  export declare enum SnapshotExtractionStatus {
8
+ Cancelling = "canceling",
9
+ Cancelled = "cancelled",
8
10
  Completed = "completed",
9
11
  Failed = "failed",
12
+ Pending = "pending",
10
13
  Processing = "processing"
11
14
  }
12
15
  export declare enum SnapshotExtractionType {
@@ -30,6 +33,8 @@ export type SnapshotExtraction = {
30
33
  injectTo_cr: Boolean;
31
34
  schedule: Schedule;
32
35
  created_at: DateType;
36
+ jpegCount?: number;
37
+ obanJobId?: number;
33
38
  };
34
39
  export type SnapshotTestPayload = {
35
40
  cameraExid?: CameraExid;
@@ -42,6 +47,14 @@ export type SnapshotTestResponse = {
42
47
  status: string;
43
48
  data: string;
44
49
  };
50
+ export type SnapshotEmailDeliveryRequestPayload = {
51
+ snapshot: string;
52
+ recipients?: string[];
53
+ message?: string;
54
+ };
55
+ export type SnapshotEmailDeliveryResponsePayload = {
56
+ warning?: string;
57
+ };
45
58
  export type DeleteSnapshotQueryParams = {
46
59
  fromDate: DateType;
47
60
  toDate: DateType;
@@ -1,4 +1,4 @@
1
- import { DateType, Schedule } from "@evercam/api/types";
1
+ import { DateType, Point2D, Schedule } from "@evercam/api/types";
2
2
  export declare enum TimelapseStatus {
3
3
  Pending = 11,
4
4
  Completed = 5,
@@ -16,7 +16,9 @@ export type TimelapseVideoOptions = {
16
16
  removeTimestamp: boolean;
17
17
  smoothTransition: boolean;
18
18
  evercamWatermark: boolean;
19
+ sectionBlur?: boolean;
19
20
  timestampPosition?: TimestampPositionCoordinates;
21
+ blurRegions?: BlurRegionCoordinates[];
20
22
  };
21
23
  export type TimestampPositionCoordinates = {
22
24
  x: number;
@@ -24,6 +26,7 @@ export type TimestampPositionCoordinates = {
24
26
  w: number;
25
27
  h: number;
26
28
  };
29
+ export type BlurRegionCoordinates = Point2D[];
27
30
  export type TimelapseLogoOptions = {
28
31
  id?: number;
29
32
  x: number;
@@ -176,7 +176,6 @@ export type SessionActivitiesListRequestPayload = {
176
176
  };
177
177
  export type SignupUserRequestPayload = {
178
178
  telephone: string;
179
- token: string;
180
179
  firstname: string;
181
180
  lastname: string;
182
181
  email: string;
@@ -7,4 +7,3 @@ export declare const toQueryString: <T extends Record<string, unknown>>(paramsOb
7
7
  forceArrayBrackets?: boolean | undefined;
8
8
  }) => string | undefined;
9
9
  export declare function queryStringToObject(queryString?: string): QueryParams;
10
- export declare function capitalizeFirstLetter(inputString: string): string;