@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,154 @@
1
+ export declare enum AiApp {
2
+ GateReport = "gate_report",
3
+ Ppe = "ppe",
4
+ SiteAnalytics = "site_analytics"
5
+ }
6
+ export declare enum AiProvider {
7
+ Gemini = "gemini",
8
+ OpenAi = "openai",
9
+ Anthropic = "anthropic"
10
+ }
11
+ export declare enum AiConfigsPromptDialogMode {
12
+ Create = "create",
13
+ Edit = "edit",
14
+ View = "view"
15
+ }
16
+ export declare enum AiConfigsKeyDialogMode {
17
+ Create = "create",
18
+ Rotate = "rotate",
19
+ Rename = "rename"
20
+ }
21
+ export interface AiAppConfig {
22
+ bg: string;
23
+ fg: string;
24
+ border: string;
25
+ icon: string;
26
+ }
27
+ export declare const AI_APP_CONFIGS: Record<AiApp | "generic", AiAppConfig>;
28
+ export interface AiProviderConfig {
29
+ bg: string;
30
+ fg: string;
31
+ icon: string;
32
+ }
33
+ export declare const AI_PROVIDER_CONFIGS: Record<AiProvider, AiProviderConfig>;
34
+ export declare enum AiPromptModel {
35
+ Gemini3Pro = "gemini-3-pro",
36
+ Gemini3FlashPreview = "gemini-3-flash-preview",
37
+ Gemini25Pro = "gemini-2.5-pro",
38
+ Gemini25Flash = "gemini-2.5-flash",
39
+ Gemini20Flash = "gemini-2.0-flash",
40
+ Gpt5 = "gpt-5",
41
+ Gpt5Mini = "gpt-5-mini",
42
+ Gpt4o = "gpt-4o",
43
+ Gpt4oMini = "gpt-4o-mini",
44
+ ClaudeOpus45 = "claude-opus-4-5",
45
+ ClaudeSonnet46 = "claude-sonnet-4-6",
46
+ ClaudeHaiku45 = "claude-haiku-4-5"
47
+ }
48
+ export interface AiPrompt {
49
+ id: number;
50
+ title: string | null;
51
+ purpose: string | null;
52
+ app: string | null;
53
+ model: string | null;
54
+ prompt: string;
55
+ outputSchema: Record<string, unknown> | null;
56
+ createdBy: string;
57
+ createdAt: string;
58
+ updatedAt: string;
59
+ }
60
+ export interface AiPromptCreatePayload {
61
+ title?: string | null;
62
+ purpose: string;
63
+ app: string;
64
+ model?: string | null;
65
+ prompt: string;
66
+ outputSchema?: Record<string, unknown> | null;
67
+ }
68
+ export interface AiPromptUpdatePayload {
69
+ title?: string | null;
70
+ purpose?: string;
71
+ app?: string;
72
+ model?: string | null;
73
+ prompt?: string;
74
+ outputSchema?: Record<string, unknown> | null;
75
+ }
76
+ export type AiPromptQueryParams = {
77
+ app?: string;
78
+ purpose?: string;
79
+ model?: string;
80
+ search?: string;
81
+ createdBy?: string;
82
+ page?: number;
83
+ limit?: number;
84
+ };
85
+ export interface AiPromptListResponse {
86
+ items: AiPrompt[];
87
+ total: number;
88
+ page: number;
89
+ limit: number;
90
+ from: number;
91
+ to: number;
92
+ }
93
+ export interface AiPromptCreateResponse {
94
+ created: boolean;
95
+ data: AiPrompt;
96
+ message: string;
97
+ }
98
+ export interface AiPromptUpdateResponse {
99
+ updated: boolean;
100
+ id: number | string;
101
+ message: string;
102
+ }
103
+ export interface AiPromptDeleteResponse {
104
+ deleted: boolean;
105
+ count: number;
106
+ message: string;
107
+ }
108
+ export interface AiApiKey {
109
+ id: number;
110
+ projectExid: string;
111
+ provider: string;
112
+ name: string;
113
+ purpose: string;
114
+ enabled: boolean;
115
+ autoGenerated: boolean;
116
+ firstUsedAt: string | null;
117
+ lastUsedAt: string | null;
118
+ insertedAt: string;
119
+ updatedAt: string;
120
+ }
121
+ export interface AiApiKeyCreatePayload {
122
+ projectExid: string;
123
+ provider: string;
124
+ name?: string;
125
+ purpose?: string;
126
+ apiKey?: string;
127
+ enabled?: boolean;
128
+ }
129
+ export interface AiApiKeyUpdatePayload {
130
+ name?: string;
131
+ enabled?: boolean;
132
+ apiKey?: string;
133
+ }
134
+ export type AiApiKeyQueryParams = {
135
+ projectExid?: string;
136
+ provider?: string;
137
+ purpose?: string;
138
+ enabled?: boolean;
139
+ };
140
+ export interface AiApiKeyCreateResponse {
141
+ created: boolean;
142
+ data: AiApiKey;
143
+ message: string;
144
+ }
145
+ export interface AiApiKeyUpdateResponse {
146
+ updated: boolean;
147
+ id: number | string;
148
+ message: string;
149
+ }
150
+ export interface AiApiKeyDeleteResponse {
151
+ deleted: boolean;
152
+ count: number;
153
+ message: string;
154
+ }
@@ -261,6 +261,8 @@ export declare enum AnalyticsEvent {
261
261
  MarkUpToolSendToConnectorProcoreObservations = "MarkUpTool-SendToConnector-Procore-Observations",
262
262
  MarkUpToolSendToConnectorAconex = "MarkUpTool-SendToConnector-Aconex",
263
263
  MarkUpToolSendToConnectorAutodesk = "MarkUpTool-SendToConnector-Autodesk",
264
+ MarkUpToolSendViaEmail = "MarkUpTool-SendViaEmail",
265
+ MarkUpToolSendViaEmailSent = "MarkUpTool-SendViaEmail-Sent",
264
266
  RecordingsCancelExportDialog = "CancelExportDialog",
265
267
  RecordingsClickSupportLink = "ClickSupportLink",
266
268
  RecordingsCreateClip = "CreateClip",
@@ -282,16 +284,6 @@ export declare enum AnalyticsEvent {
282
284
  SharingSortBy = "SortBy",
283
285
  SharingChangeAccessRight = "ChangeAccessRight",
284
286
  ThreeSixtyGallery = "Gallery",
285
- ThreeSixtyGalleryFilterAssetTypes = "Gallery-FilterAssetTypes",
286
- ThreeSixtyGalleryFilterDateRange = "Gallery-FilterDateRange",
287
- ThreeSixtyGalleryFilterFeatures = "Gallery-FilterFeatures",
288
- ThreeSixtyGalleryFilterFloorName = "Gallery-FilterFloorName",
289
- ThreeSixtyGalleryFilterUploadedBy = "Gallery-FilterUploadedBy",
290
- ThreeSixtyGalleryTimelineSelectMilestoneItem = "Gallery-TimelineSelectMilestoneItem",
291
- ThreeSixtyGalleryTimelineDateClick = "Gallery-TimelineDateClick",
292
- ThreeSixtyGalleryToggleUploadDialog = "Gallery-ToggleUploadDialog",
293
- ThreeSixtyGalleryUpdateFloorName = "Gallery-UpdateFloorName",
294
- ThreeSixtyGalleryEditWalkName = "Gallery-EditWalkName",
295
287
  ThreeSixtyChangeDate = "ChangeDate",
296
288
  ThreeSixtyChangeFloor = "ChangeFloor",
297
289
  ThreeSixtyCloseCompare = "CloseCompare",
@@ -310,6 +302,7 @@ export declare enum AnalyticsEvent {
310
302
  ThreeSixtyOpenForgeBIM = "OpenForgeBIM",
311
303
  ThreeSixtyOpenMarkersThumbnailsList = "OpenMarkersThumbnailsList",
312
304
  ThreeSixtyOpenCommentsList = "OpenCommentsList",
305
+ ThreeSixtyGalleryEditWalkName = "Gallery-EditWalkName",
313
306
  ThreeSixtySaveComment = "SaveComment",
314
307
  ThreeSixtyUnarchiveComment = "UnarchiveComment",
315
308
  ThreeSixtyArchiveComment = "ArchiveComment",
@@ -593,5 +586,25 @@ export declare enum AnalyticsEvent {
593
586
  AskAIClickVoice = "AskAI-ClickVoice",
594
587
  AskAIClickFullscreen = "AskAI-ClickFullscreen",
595
588
  AskAIExitFullscreen = "AskAI-ExitFullscreen",
596
- AskAICloseChat = "AskAI-CloseChat"
589
+ AskAICloseChat = "AskAI-CloseChat",
590
+ ForgeBimAddModelButtonClicked = "ForgeBim-AddModelButtonClicked",
591
+ ForgeBimUploadChoiceDialogOpened = "ForgeBim-UploadChoiceDialogOpened",
592
+ ForgeBimModelAddMethodSelected = "ForgeBim-ModelAddMethodSelected",
593
+ ForgeBimUploadChoiceDialogDismissed = "ForgeBim-UploadChoiceDialogDismissed",
594
+ ForgeBimLocalModelFileSelected = "ForgeBim-LocalModelFileSelected",
595
+ ForgeBimLocalModelFileRejected = "ForgeBim-LocalModelFileRejected",
596
+ ForgeBimUploadModelFileToIngestStarted = "ForgeBim-UploadModelFileToIngestStarted",
597
+ ForgeBimUploadModelFileToIngestCompleted = "ForgeBim-UploadModelFileToIngestCompleted",
598
+ ForgeBimUploadModelFileToIngestFailed = "ForgeBim-UploadModelFileToIngestFailed",
599
+ ForgeBimAccModelSelectorOpened = "ForgeBim-AccModelSelectorOpened",
600
+ ForgeBimAccModelSelectorDismissed = "ForgeBim-AccModelSelectorDismissed",
601
+ ForgeBimAccModelConfirmed = "ForgeBim-AccModelConfirmed",
602
+ ForgeBimModelDuplicateDetected = "ForgeBim-ModelDuplicateDetected",
603
+ ForgeBimUpdateModelButtonClicked = "ForgeBim-UpdateModelButtonClicked",
604
+ ForgeBimReplaceModelWarningOpened = "ForgeBim-ReplaceModelWarningOpened",
605
+ ForgeBimReplaceModelConfirmed = "ForgeBim-ReplaceModelConfirmed",
606
+ ForgeBimReplaceModelCancelled = "ForgeBim-ReplaceModelCancelled",
607
+ ForgeBimModelAdded = "ForgeBim-ModelAdded",
608
+ ForgeBimModelUpdated = "ForgeBim-ModelUpdated",
609
+ ForgeBimModelSaveFailed = "ForgeBim-ModelSaveFailed"
597
610
  }
@@ -104,11 +104,40 @@ export declare enum AnprEventStatus {
104
104
  export type AnprBulkUpdateRequestPayload = {
105
105
  anprEventsIds: number[];
106
106
  action: AnprEventStatus;
107
- updatedBy: string;
108
107
  };
109
108
  export type AnprUpdateRequestPayload = {
110
109
  plateNumber: string;
111
110
  vehicleType: GateReportVehicleType;
112
111
  direction: AnprDirection;
113
- updatedBy: string;
112
+ };
113
+ export declare enum AnprExtractionStatus {
114
+ Pending = "pending",
115
+ Running = "running",
116
+ Completed = "completed",
117
+ Failed = "failed"
118
+ }
119
+ export declare enum AnprExtractionSaveMode {
120
+ All = "all",
121
+ AiDbOnly = "ai_db_only",
122
+ ImagesOnly = "images_only"
123
+ }
124
+ export type AnprExtraction = {
125
+ id: number;
126
+ cameraId: number;
127
+ userId: number | null;
128
+ startDate: string;
129
+ endDate: string;
130
+ status: AnprExtractionStatus;
131
+ totalRecords: number;
132
+ error: string | null;
133
+ saveMode: AnprExtractionSaveMode;
134
+ startedAt: string | null;
135
+ completedAt: string | null;
136
+ insertedAt: string;
137
+ updatedAt: string;
138
+ };
139
+ export type AnprExtractionCreatePayload = {
140
+ startDate: string;
141
+ endDate: string;
142
+ saveMode?: AnprExtractionSaveMode;
114
143
  };
@@ -33,6 +33,24 @@ export declare enum AuditLogActionType {
33
33
  BIM_NOTE = "bim_note",
34
34
  GATE_REPORT_NOTE = "gate_report_note"
35
35
  }
36
+ export declare enum AuditLogEntity {
37
+ Cameras = "cameras",
38
+ Projects = "projects",
39
+ Layers = "layers",
40
+ Routers = "routers",
41
+ Sims = "sims",
42
+ Hdds = "hdds",
43
+ Nvr = "nvr",
44
+ Archives = "archives",
45
+ Users = "users",
46
+ Rois = "rois",
47
+ Kits = "kits",
48
+ Roles = "roles",
49
+ Tags = "tags",
50
+ KitsTags = "kits_tags",
51
+ Oauth = "oauth",
52
+ StorageProviders = "storage_providers"
53
+ }
36
54
  export type AuditLog = {
37
55
  id: number;
38
56
  action: AuditLogActionType;
@@ -13,13 +13,13 @@ export type AxiosEnvironment = {
13
13
  ingestGpuApiUrl?: string | null;
14
14
  posthogApiUrl?: string | null;
15
15
  posthogProjectId?: string | null;
16
- posthogPrivateApiKey?: string | null;
17
16
  firebaseVideowallUrl?: string | null;
18
17
  weatherApiBaseUrl?: string | null;
19
18
  evercamLabsUrl?: string | null;
20
19
  firebaseDbLink?: string | null;
21
20
  firebaseStorageUrl?: string | null;
22
21
  firebaseStorageToken?: string | null;
22
+ forgeTokenServerUrl?: string | null;
23
23
  snapshotsURL?: string | null;
24
24
  app?: string | null;
25
25
  getAuthToken?: () => string | null;
@@ -151,3 +151,20 @@ export type BimUploadPayload = {
151
151
  fileExtension: string;
152
152
  }[];
153
153
  };
154
+ export declare enum ForgeBimUploadMethod {
155
+ FileUpload = "file_upload",
156
+ AutodeskAcc = "autodesk_acc"
157
+ }
158
+ export declare enum ForgeBimFileRejectionReason {
159
+ InvalidType = "invalid_type",
160
+ ExceedsSizeLimit = "exceeds_size_limit"
161
+ }
162
+ export declare enum ForgeBimUploadStage {
163
+ TusUpload = "tus_upload",
164
+ IngestUpload = "ingest_upload"
165
+ }
166
+ export declare enum ForgeBimDialogTrigger {
167
+ UpdateModel = "update_model",
168
+ AddModel = "add_model",
169
+ InitialSetup = "initial_setup"
170
+ }
@@ -1,12 +1,8 @@
1
1
  import { AuditLogActionType, DateType, EntityByExid, KitAlarm, NvrDeviceType, PaginationParams, PowerSchedule, PowerType, ProjectExid, ProjectFeatureFlag, Schedule, ScheduleLowercase } from "@evercam/api/types";
2
2
  import { DateRangeFilter } from "@evercam/api/types/time";
3
+ import { GeoPoint, TuplePoint2D } from "@evercam/api/types/shared";
3
4
  export type CameraExid = string;
4
5
  export type CamerasByExid = EntityByExid<Camera>;
5
- export type Cartesian3 = {
6
- x: number;
7
- y: number;
8
- z: number;
9
- };
10
6
  export type Camera = {
11
7
  cameraPowerSchedule?: Schedule;
12
8
  camPassword?: string;
@@ -46,10 +42,7 @@ export type Camera = {
46
42
  isPublic: boolean;
47
43
  lastOnlineAt: string;
48
44
  lastPolledAt: string;
49
- location: {
50
- lat: number;
51
- lng: number;
52
- };
45
+ location: GeoPoint;
53
46
  modelId: string;
54
47
  modelName: string;
55
48
  name: string;
@@ -112,10 +105,7 @@ export type AdminCamera = {
112
105
  isPublic: boolean;
113
106
  sharedWithConstruction?: boolean;
114
107
  timezone: string | null;
115
- location?: {
116
- lat: number;
117
- lng: number;
118
- } | null;
108
+ location?: GeoPoint | null;
119
109
  fovAngle?: number | null;
120
110
  fovRadius?: number | null;
121
111
  heading?: number | null;
@@ -167,10 +157,7 @@ export type AdminCamera = {
167
157
  };
168
158
  export type CameraMapMarker = {
169
159
  isOnline: boolean;
170
- location: {
171
- lat: number;
172
- lng: number;
173
- };
160
+ location: GeoPoint;
174
161
  needFov: boolean;
175
162
  rotation: number;
176
163
  fovAngle: number;
@@ -209,6 +196,10 @@ export declare enum CameraFeatureFlag {
209
196
  Segmentation = "segmentation",
210
197
  SegmentationAutoLabelling = "segmentation_auto_labelling",
211
198
  PpeMonitoring = "ppe_monitoring",
199
+ PpeOwlv2 = "ppe_owlv2",
200
+ PpeGemini = "ppe_gemini",
201
+ PpeYolo = "ppe_yolo",
202
+ PpeV2 = "ppe_v2",
212
203
  NoLiveView = "no_live_view",
213
204
  Ring = "ring",
214
205
  CloudOnly = "cloud_only"
@@ -320,12 +311,6 @@ export declare enum CameraModel {
320
311
  Other = "other",
321
312
  Ring = "ring"
322
313
  }
323
- export type DroneCameraTransform = {
324
- position: Cartesian3;
325
- direction: Cartesian3;
326
- up: Cartesian3;
327
- right: Cartesian3;
328
- };
329
314
  export type Footage = {
330
315
  cameraExid: string;
331
316
  cameraName: string;
@@ -366,7 +351,7 @@ export type CameraCreateRequestPayload = {
366
351
  isPowerScheduleActive?: boolean;
367
352
  ptz?: boolean;
368
353
  name: string;
369
- coordinates?: [number, number];
354
+ coordinates?: TuplePoint2D;
370
355
  recordingFromNvr?: boolean;
371
356
  CameraConfig: {
372
357
  model: CameraModel;
@@ -1,8 +1,9 @@
1
- import { CameraExid, DateType, ProjectExid, PaginationParams } from "@evercam/api/types";
1
+ import { CameraExid, DateType, ProjectExid, PaginationParams, TuplePoint3D, TuplePoint2D } from "@evercam/api/types";
2
2
  export declare enum CommentsScope {
3
3
  Recordings = "recordings",
4
4
  ThreeSixty = "360",
5
- Drone = "drone"
5
+ Drone = "drone",
6
+ Timeline = "timeline"
6
7
  }
7
8
  export declare enum CommentsLabel {
8
9
  Info = "Info",
@@ -11,6 +12,7 @@ export declare enum CommentsLabel {
11
12
  }
12
13
  export type CommentsRequestPayload = {
13
14
  scope: CommentsScope;
15
+ cameraExid?: CameraExid;
14
16
  };
15
17
  export type CommentsListRequestPayload = PaginationParams & {
16
18
  projectExid?: ProjectExid;
@@ -34,8 +36,8 @@ export type Comment = {
34
36
  createdAt?: string;
35
37
  creatorEmail?: string;
36
38
  creatorName?: string;
37
- position2d?: [number, number];
38
- position3d?: [number, number, number];
39
+ position2d?: TuplePoint2D;
40
+ position3d?: TuplePoint3D;
39
41
  context?: Record<string, unknown>;
40
42
  canDelete?: boolean;
41
43
  archivedAt?: string;
@@ -49,7 +51,7 @@ export type CommentCreationRequestPayload = {
49
51
  projectExid: ProjectExid;
50
52
  cameraExid?: CameraExid;
51
53
  content: string;
52
- position2d?: number[];
53
- position3d?: number[];
54
+ position2d?: TuplePoint2D;
55
+ position3d?: [number, number, number];
54
56
  context?: Record<string, unknown>;
55
57
  };
@@ -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;
@@ -120,5 +111,6 @@ export declare enum DetectionModel {
120
111
  Yolov11 = 2,
121
112
  Yolov112 = 3,
122
113
  GroundingDino = 4,
123
- Owlv2 = 5
114
+ Owlv2 = 5,
115
+ PpeV2 = 6
124
116
  }
@@ -1,18 +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;
6
13
  cesiumGausianSplatId: string;
7
14
  pointSize: string;
8
- maximumScreenSpaceError: string;
15
+ maximumScreenSpaceError: number;
9
16
  link: string;
10
17
  trueIndex: number;
11
18
  };
12
- export type DroneProjectJsonResponse = {
13
- models: DroneModel[];
14
- [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;
15
100
  };
16
101
  export declare enum DroneUrlParams {
17
102
  Date = "date"
18
103
  }
104
+ export declare enum DroneProvider {
105
+ Evercam = "Evercam",
106
+ DroneDeploy = "DroneDeploy"
107
+ }
@@ -1,4 +1,4 @@
1
- import { AnprDirection, AnprEvent, CameraExid, DateType, PaginatedItems, PaginationParams, ProjectExid, RoiShapeType, Timestamp } from "@evercam/api/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",
@@ -249,6 +249,7 @@ export type AnprExportBaseParams = {
249
249
  toDate?: string;
250
250
  camerasExid?: CameraExid[];
251
251
  isPublic?: boolean;
252
+ columns?: string[];
252
253
  };
253
254
  export type EventsExportRequestParameters = AnprExportBaseParams & {
254
255
  eventType: GateReportEventType;
@@ -259,23 +260,19 @@ export type AnprBasedGateReportExportRequestParams = AnprExportBaseParams & {
259
260
  export type LegacyAnprExportParams = AnprExportBaseParams & {
260
261
  direction?: AnprDirection;
261
262
  };
262
- type X1 = number;
263
- type Y1 = number;
264
- type X2 = number;
265
- type Y2 = number;
266
263
  export type GateReportROIShape = {
267
- coordinates: [[X1, Y1], [X2, Y2]];
264
+ coordinates: TuplePoint2D[];
268
265
  type: RoiShapeType;
269
266
  };
270
267
  export type GateReportROI = {
271
268
  cameraex?: string;
272
269
  fromDate?: string;
273
- directionFilter?: string;
270
+ directionFilter?: RoiDirection;
274
271
  id?: number;
275
272
  insertedAt?: Timestamp;
276
273
  isActive?: boolean;
277
274
  name?: string;
278
- roiType?: string;
275
+ roiType?: RoiType;
279
276
  updatedAt?: Timestamp;
280
277
  shapes?: GateReportROIShape[];
281
278
  };
@@ -318,7 +315,7 @@ export type RoisQueryParams = {
318
315
  id: number;
319
316
  name: string;
320
317
  fromDate: string;
321
- roiType: RoiShapeType;
318
+ roiType: RoiType;
322
319
  isActive: boolean;
323
320
  directionFilter: string;
324
321
  sort: string;
@@ -327,11 +324,10 @@ export type GateReportRoiRequestPayload = {
327
324
  id: number;
328
325
  cameraExid: string;
329
326
  name: string;
330
- roiType: string;
327
+ roiType: RoiType;
331
328
  isActive: true;
332
329
  fromDate: string;
333
330
  shapes: GateReportROIShape[];
334
331
  directionFilter: string;
335
332
  note: string;
336
333
  };
337
- export {};