@evercam/api 1.0.0-eef6c21fd → 1.0.0-f0709bb7a

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 (48) hide show
  1. package/README.md +1 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +53 -21
  3. package/dist/api/api/adminApi.d.ts +19 -15
  4. package/dist/api/api/aiApi.d.ts +60 -2
  5. package/dist/api/api/authzApi.d.ts +4 -1
  6. package/dist/api/api/evercamApi.d.ts +23 -8
  7. package/dist/api/api/evercamLabsApi.d.ts +5 -5
  8. package/dist/api/api/ingestApi.d.ts +13 -3
  9. package/dist/api/types/360.d.ts +142 -4
  10. package/dist/api/types/aiConfigs.d.ts +154 -0
  11. package/dist/api/types/analytics.d.ts +32 -1
  12. package/dist/api/types/anpr.d.ts +31 -2
  13. package/dist/api/types/authz.d.ts +46 -0
  14. package/dist/api/types/axios.d.ts +8 -5
  15. package/dist/api/types/bim.d.ts +26 -1
  16. package/dist/api/types/camera.d.ts +3 -1
  17. package/dist/api/types/comments.d.ts +2 -1
  18. package/dist/api/types/connector.d.ts +2 -0
  19. package/dist/api/types/detections.d.ts +3 -1
  20. package/dist/api/types/drone.d.ts +6 -5
  21. package/dist/api/types/errors.d.ts +11 -0
  22. package/dist/api/types/gateReport.d.ts +1 -0
  23. package/dist/api/types/gateReportManagement.d.ts +175 -0
  24. package/dist/api/types/hammertech.d.ts +98 -0
  25. package/dist/api/types/index.d.ts +5 -0
  26. package/dist/api/types/ingest.d.ts +13 -1
  27. package/dist/api/types/kit.d.ts +38 -2
  28. package/dist/api/types/media.d.ts +8 -2
  29. package/dist/api/types/notification.d.ts +12 -2
  30. package/dist/api/types/observations.d.ts +85 -0
  31. package/dist/api/types/posthog.d.ts +20 -0
  32. package/dist/api/types/recording.d.ts +3 -8
  33. package/dist/api/types/roi.d.ts +2 -1
  34. package/dist/api/types/siteAnalytics.d.ts +1 -1
  35. package/dist/api/types/siteAnalyticsManagement.d.ts +92 -0
  36. package/dist/api/types/siteView.d.ts +0 -1
  37. package/dist/api/types/snapshots.d.ts +5 -0
  38. package/dist/api/types/user.d.ts +1 -4
  39. package/dist/api/utils.d.ts +0 -1
  40. package/dist/index.js +1158 -687
  41. package/dist/index.js.map +1 -1
  42. package/dist/index.umd.cjs +1 -1
  43. package/dist/index.umd.cjs.map +1 -1
  44. package/dist/shared/types/components.d.ts +64 -2
  45. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  46. package/dist/shared/types/index.d.ts +2 -0
  47. package/dist/shared/types/observations.d.ts +21 -0
  48. package/package.json +4 -2
@@ -92,6 +92,8 @@ export type _360WalkV2 = {
92
92
  processingStatus: string;
93
93
  projectId: string;
94
94
  report: string;
95
+ processingLog: string;
96
+ hasSteps?: boolean;
95
97
  route: unknown | null;
96
98
  startPosition: unknown | null;
97
99
  tusLinks: unknown | null;
@@ -100,6 +102,29 @@ export type _360WalkV2 = {
100
102
  videoArchive: string;
101
103
  videos: string[];
102
104
  };
105
+ export type _360ProcessingStep = {
106
+ name: string;
107
+ tool: string | null;
108
+ status: string;
109
+ startedAt: string | null;
110
+ endedAt: string | null;
111
+ durationSec: number | null;
112
+ durationPct: number | null;
113
+ detail: Record<string, unknown>;
114
+ };
115
+ export type _360ProgressResponse = {
116
+ available: boolean;
117
+ processingStatus: string;
118
+ status: string | null;
119
+ currentStep: string | null;
120
+ startedAt: string | null;
121
+ steps: _360ProcessingStep[];
122
+ footprint?: _360Footprint | null;
123
+ };
124
+ export type _360Footprint = {
125
+ disk: Record<string, number>;
126
+ peak: Record<string, number>;
127
+ };
103
128
  export type _360FloorV2 = {
104
129
  id: _360FloorId;
105
130
  assets: _360WalkV2[];
@@ -112,10 +137,11 @@ export type _360FloorV2 = {
112
137
  overlayPosition: _360OverlayPosition;
113
138
  insertedAt: string;
114
139
  updatedAt: string;
140
+ deletedAt: string | null;
115
141
  };
116
142
  export type _360Scene = {
117
143
  date: string;
118
- dateID: number;
144
+ dateID: string | number;
119
145
  floors: {
120
146
  floorID: _360FloorId;
121
147
  name: string;
@@ -181,12 +207,23 @@ export type MobileCaptureSnapshot = {
181
207
  thumbnailUrl: string;
182
208
  };
183
209
  export declare enum _360UrlParams {
184
- DateId = "date_id",
210
+ DateId = "dateId",
185
211
  Date = "date",
186
212
  Floor = "floor",
187
213
  Marker = "marker",
188
214
  PolarAngle = "polarAngle",
189
- AzimuthAngle = "azimuthAngle"
215
+ AzimuthAngle = "azimuthAngle",
216
+ Zoom = "zoom",
217
+ User = "user",
218
+ ViewerMode = "viewer_mode",
219
+ ProjectId = "projectId",
220
+ Unit = "unit",
221
+ LockDate = "lockDate",
222
+ LockFloor = "lockFloor",
223
+ LockMarker = "lockMarker",
224
+ IsWidget = "isWidget",
225
+ MediaLocked = "mediaLocked",
226
+ Debug = "debug"
190
227
  }
191
228
  export declare enum _360AssetType {
192
229
  Video = "video",
@@ -220,7 +257,7 @@ export declare enum PathMarkerColor {
220
257
  export type _360AssetsQueryParams = {
221
258
  page: number;
222
259
  limit: number;
223
- projectID: string;
260
+ projectId: string;
224
261
  date: DateType;
225
262
  floor: string;
226
263
  id: string;
@@ -243,6 +280,7 @@ export type DrawingsRequestPayload = {
243
280
  limit?: number;
244
281
  paginate?: boolean;
245
282
  withAsset?: boolean;
283
+ includeDeleted?: boolean;
246
284
  };
247
285
  export type GenerateFloorPayload = {
248
286
  overlay?: {
@@ -278,4 +316,104 @@ export type Generate360MapRequestPayload = {
278
316
  cameraOffset: string;
279
317
  startPoint: string;
280
318
  endPoint: string;
319
+ drawingId?: number;
320
+ markers?: Array<{
321
+ position: {
322
+ x: number;
323
+ y: number;
324
+ z: number;
325
+ };
326
+ }>;
327
+ startPointIndex?: number;
328
+ endPointIndex?: number;
329
+ };
330
+ export declare enum EModelsType {
331
+ FBX = "FBX",
332
+ PointCloud = "PLY"
333
+ }
334
+ export type _360FloorRef = {
335
+ projectID: string;
336
+ dateID: string;
337
+ floorID: string;
338
+ };
339
+ export type _360Vector3 = {
340
+ x: number;
341
+ y: number;
342
+ z: number;
343
+ };
344
+ export type _360MarkerData = {
345
+ cameraPosition: _360Vector3;
346
+ nextRoomId: string;
347
+ position: _360Vector3;
348
+ geolocation?: {
349
+ latitude: number;
350
+ longitude: number;
351
+ };
352
+ rotation: {
353
+ _order: string;
354
+ _x: number;
355
+ _y: number;
356
+ _z: number;
357
+ isEuler: boolean;
358
+ };
359
+ };
360
+ export type _360Route = {
361
+ overlayID?: number;
362
+ track?: string;
363
+ cameraHeadingOffset?: number;
364
+ };
365
+ export type _360CalibrationDetails = {
366
+ baseOriginOf360Viewer?: _360Vector3;
367
+ baseOriginOfForgeViewer?: _360Vector3;
368
+ rotationMatrix?: {
369
+ elements: number[];
370
+ };
371
+ scaleMatrix?: {
372
+ elements: number[];
373
+ };
374
+ };
375
+ export type _360FloorData = {
376
+ _3DMarkers: _360MarkerData[];
377
+ fbxModel: string | null;
378
+ fbxModelHQ: string | null;
379
+ pointCloudModelHQ: string | null;
380
+ initialMarker: string;
381
+ cameraRotation: _360CameraRotation;
382
+ steps: number;
383
+ route: _360Route | null;
384
+ sceneScale: number;
385
+ modelViewerFeatureFlag: boolean;
386
+ imagesOnlyFeatureFlag: boolean;
387
+ forgeBIMFeatureFlag: boolean;
388
+ isForgeGravityEnabled: boolean;
389
+ initialForgeView: Record<string, unknown> | null;
390
+ calibrationDetails: _360CalibrationDetails;
391
+ enhancedLightFeatureFlag: boolean;
392
+ };
393
+ export type _360PinData = {
394
+ position: _360Vector3;
395
+ pinType: string;
396
+ name: string;
397
+ pinId?: string;
398
+ cameraExid?: string;
399
+ currentRoom?: string;
400
+ cameraRotation?: {
401
+ polarAngle: number;
402
+ azimuthAngle: number;
403
+ };
404
+ };
405
+ export type _360ForgeTimelineItem = {
406
+ taskNumber: number;
407
+ taskID: string;
408
+ actualStartDate: string;
409
+ actualEndDate: string;
410
+ plannedStartDate: string;
411
+ plannedEndDate: string;
412
+ objectIDs: number[];
413
+ };
414
+ export type _360ForgeProject = {
415
+ urns?: Array<{
416
+ urn: string;
417
+ }>;
418
+ timeline?: _360ForgeTimelineItem[];
281
419
  };
@@ -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
+ }
@@ -79,6 +79,9 @@ export declare enum AnalyticsEvent {
79
79
  SettingsConnectorsRemoveVoyageControlConnection = "RemoveVoyageControl",
80
80
  SettingsConnectorsToggleConnectorPromptDialog = "ToggleConnectorPromptDialog",
81
81
  SettingsConnectorsToggleVoyageControlDialog = "ToggleVoyageControlDialog",
82
+ SettingsConnectorsConnectToHammertech = "ConnectToHammertech",
83
+ SettingsConnectorsRemoveHammertechConnection = "RemoveHammertech",
84
+ SettingsConnectorsToggleHammertechDialog = "ToggleHammertechDialog",
82
85
  WidgetsSelectTypeThreeSixty = "Widgets-SelectType360",
83
86
  WidgetsSelectProject = "SelectProject",
84
87
  WidgetsSelect360Date = "Select360Date",
@@ -192,6 +195,7 @@ export declare enum AnalyticsEvent {
192
195
  XraySendToConnectorProcoreObservations = "Xray-SendToConnector-Procore-Observations",
193
196
  XraySendToConnectorAconex = "Xray-SendToConnector-Aconex",
194
197
  XraySendToConnectorAutodesk = "Xray-SendToConnector-Autodesk",
198
+ XraySendToConnectorHammerTech = "Xray-SendToConnector-HammerTech",
195
199
  WeatherGoBackDate = "Weather-GoBackDate",
196
200
  WeatherGoForwardDate = "Weather-GoForwardDate",
197
201
  WeatherReportExportFile = "ExportFile",
@@ -261,6 +265,7 @@ export declare enum AnalyticsEvent {
261
265
  MarkUpToolSendToConnectorProcoreObservations = "MarkUpTool-SendToConnector-Procore-Observations",
262
266
  MarkUpToolSendToConnectorAconex = "MarkUpTool-SendToConnector-Aconex",
263
267
  MarkUpToolSendToConnectorAutodesk = "MarkUpTool-SendToConnector-Autodesk",
268
+ MarkUpToolSendToConnectorHammerTech = "MarkUpTool-SendToConnector-HammerTech",
264
269
  MarkUpToolSendViaEmail = "MarkUpTool-SendViaEmail",
265
270
  MarkUpToolSendViaEmailSent = "MarkUpTool-SendViaEmail-Sent",
266
271
  RecordingsCancelExportDialog = "CancelExportDialog",
@@ -292,6 +297,7 @@ export declare enum AnalyticsEvent {
292
297
  ThreeSixtyDisableMeasuringTool = "DisableMeasuringTool",
293
298
  ThreeSixtyDisableCommnetTool = "DisableCommentTool",
294
299
  ThreeSixtyEnableMeasuringTool = "EnableMeasuringTool",
300
+ ThreeSixtyMeasuringPerformed = "measuring_performed",
295
301
  ThreeSixtyEnableCommentTool = "EnableCommentTool",
296
302
  ThreeSixtyLockCompare = "LockCompare",
297
303
  ThreeSixtyLockForgeBIM = "LockForgeBIM",
@@ -302,6 +308,7 @@ export declare enum AnalyticsEvent {
302
308
  ThreeSixtyOpenForgeBIM = "OpenForgeBIM",
303
309
  ThreeSixtyOpenMarkersThumbnailsList = "OpenMarkersThumbnailsList",
304
310
  ThreeSixtyOpenCommentsList = "OpenCommentsList",
311
+ ThreeSixtyGalleryEditWalkName = "Gallery-EditWalkName",
305
312
  ThreeSixtySaveComment = "SaveComment",
306
313
  ThreeSixtyUnarchiveComment = "UnarchiveComment",
307
314
  ThreeSixtyArchiveComment = "ArchiveComment",
@@ -311,6 +318,7 @@ export declare enum AnalyticsEvent {
311
318
  ThreeSixtyToggleMinimapVisibility = "ToggleMinimapVisibility",
312
319
  ThreeSixtyToggleMiniModel = "ToggleMiniModel",
313
320
  ThreeSixtyToggleCommentsVisibility = "ToggleCommentsVisibility",
321
+ ThreeSixtyToggleCameraPinsVisibility = "toggle_camera_pins_visibility",
314
322
  ThreeSixtyTourPause = "Tour-Pause",
315
323
  ThreeSixtyTourPlay = "Tour-Play",
316
324
  ThreeSixtyTourSetSpeedXHalve = "Tour-SetSpeedX0.5",
@@ -351,6 +359,7 @@ export declare enum AnalyticsEvent {
351
359
  DroneToggleMapStyle = "ToggleMapStyle",
352
360
  DroneTogglePointCloud = "TogglePointCloud",
353
361
  DroneToggleGaussianSplat = "ToggleGaussianSplat",
362
+ DroneToggleGlobe = "ToggleGlobe",
354
363
  DroneToggleQualityMode = "ChooseQuality",
355
364
  DroneToggleSideMenu = "ToggleSideMenu",
356
365
  DroneToggleImageryPlan = "ToggleImageryPlan",
@@ -397,6 +406,7 @@ export declare enum AnalyticsEvent {
397
406
  DrawingClickHome = "ClickHome",
398
407
  DrawingsUploadDrawing = "UploadDrawing",
399
408
  DrawingsCreateDrawing = "CreateDrawing",
409
+ DrawingsDeleteDrawing = "DeleteDrawing",
400
410
  DrawingToggleMapStyle = "ToggleMapStyle",
401
411
  DrawingToggleMapLabels = "ToggleMapLabels",
402
412
  DrawingToggleCamerasLabels = "ToggleCamerasLabels",
@@ -585,5 +595,26 @@ export declare enum AnalyticsEvent {
585
595
  AskAIClickVoice = "AskAI-ClickVoice",
586
596
  AskAIClickFullscreen = "AskAI-ClickFullscreen",
587
597
  AskAIExitFullscreen = "AskAI-ExitFullscreen",
588
- AskAICloseChat = "AskAI-CloseChat"
598
+ AskAICloseChat = "AskAI-CloseChat",
599
+ ForgeBimAddModelButtonClicked = "ForgeBim-AddModelButtonClicked",
600
+ ForgeBimUploadChoiceDialogOpened = "ForgeBim-UploadChoiceDialogOpened",
601
+ ForgeBimModelAddMethodSelected = "ForgeBim-ModelAddMethodSelected",
602
+ ForgeBimUploadChoiceDialogDismissed = "ForgeBim-UploadChoiceDialogDismissed",
603
+ ForgeBimLocalModelFileSelected = "ForgeBim-LocalModelFileSelected",
604
+ ForgeBimLocalModelFileRejected = "ForgeBim-LocalModelFileRejected",
605
+ ForgeBimUploadModelFileToIngestStarted = "ForgeBim-UploadModelFileToIngestStarted",
606
+ ForgeBimUploadModelFileToIngestCompleted = "ForgeBim-UploadModelFileToIngestCompleted",
607
+ ForgeBimUploadModelFileToIngestFailed = "ForgeBim-UploadModelFileToIngestFailed",
608
+ ForgeBimAccModelSelectorOpened = "ForgeBim-AccModelSelectorOpened",
609
+ ForgeBimAccModelSelectorDismissed = "ForgeBim-AccModelSelectorDismissed",
610
+ ForgeBimAccModelConfirmed = "ForgeBim-AccModelConfirmed",
611
+ ForgeBimModelDuplicateDetected = "ForgeBim-ModelDuplicateDetected",
612
+ ForgeBimUpdateModelButtonClicked = "ForgeBim-UpdateModelButtonClicked",
613
+ ForgeBimReplaceModelWarningOpened = "ForgeBim-ReplaceModelWarningOpened",
614
+ ForgeBimReplaceModelConfirmed = "ForgeBim-ReplaceModelConfirmed",
615
+ ForgeBimReplaceModelCancelled = "ForgeBim-ReplaceModelCancelled",
616
+ ForgeBimModelAdded = "ForgeBim-ModelAdded",
617
+ ForgeBimModelUpdated = "ForgeBim-ModelUpdated",
618
+ ForgeBimModelSaveFailed = "ForgeBim-ModelSaveFailed",
619
+ ForgeBimIngestNotificationFailed = "ForgeBim-IngestNotificationFailed"
589
620
  }
@@ -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
  };
@@ -3,6 +3,10 @@ export declare enum RoleResourceType {
3
3
  Camera = "camera",
4
4
  Project = "project"
5
5
  }
6
+ export declare enum RoleAssignmentLogAction {
7
+ Assign = "assign",
8
+ Unassign = "unassign"
9
+ }
6
10
  export type RoleSubRole = {
7
11
  resourceId: string;
8
12
  roleId: number;
@@ -59,3 +63,45 @@ export type AuthzScopeCreatePayload = {
59
63
  export type AuthzScopeUpdatePayload = Partial<AuthzScopeCreatePayload>;
60
64
  export declare function isProjectRole(role: Role): role is ProjectResourceRole;
61
65
  export declare function isCameraRole(role: Role): role is CameraResourceRole;
66
+ export type RoleAssignmentLog = {
67
+ id: number;
68
+ action: RoleAssignmentLogAction;
69
+ assignerId: number | null;
70
+ assignerEmail: string | null;
71
+ assigneeId: number | null;
72
+ assigneeEmail: string;
73
+ roleId: number | null;
74
+ roleName: string | null;
75
+ previousRoleId: number | null;
76
+ previousRoleName: string | null;
77
+ scope: RoleResourceType;
78
+ projectExid: string | null;
79
+ cameraExid: string | null;
80
+ ip: string | null;
81
+ userDetails: {
82
+ browser?: string | null;
83
+ device?: string | null;
84
+ os?: string | null;
85
+ country?: string | null;
86
+ countryCode?: string | null;
87
+ ip?: string | null;
88
+ impersonatedBy?: string | null;
89
+ } | null;
90
+ insertedAt: string;
91
+ };
92
+ export type RoleAssignmentLogsParams = {
93
+ page?: number;
94
+ limit?: number;
95
+ sort?: string;
96
+ action?: RoleAssignmentLogAction;
97
+ roleId?: number;
98
+ roleName?: string;
99
+ assigneeEmail?: string;
100
+ assignerEmail?: string;
101
+ scope?: RoleResourceType;
102
+ projectExid?: string;
103
+ cameraExid?: string;
104
+ ip?: string;
105
+ from?: string;
106
+ to?: string;
107
+ };
@@ -13,10 +13,10 @@ 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;
19
+ isLabsStaging?: boolean;
20
20
  firebaseDbLink?: string | null;
21
21
  firebaseStorageUrl?: string | null;
22
22
  firebaseStorageToken?: string | null;
@@ -30,15 +30,18 @@ export type AxiosEnvironment = {
30
30
  export type RequestInterceptor = (req: AxiosRequestConfig, env: AxiosEnvironment) => AxiosRequestConfig & any;
31
31
  export type ResponseInterceptor = (res: AxiosResponse, env: AxiosEnvironment) => AxiosResponse & any;
32
32
  export type ErrorInterceptor = (error: any, env: AxiosEnvironment) => any;
33
+ export type RequestManager = {
34
+ createToken: (key: string) => CancelTokenSource["token"];
35
+ cancelToken: (key: string) => void;
36
+ cancelAll: () => void;
37
+ };
33
38
  export interface ExtendedAxiosInstance extends AxiosInstance {
34
39
  CancelToken: CancelTokenStatic;
35
40
  isCancel: (value: AxiosResponse | AxiosError | unknown) => boolean;
36
41
  setToken: (token: string) => void;
37
42
  setHeader: (headerName: string, value: any) => void;
38
- generateCancelTokenSource: () => CancelTokenSource;
39
- addCancelToken: (token: CancelTokenSource) => void;
40
- resetCancelTokens: () => void;
41
- cancelRequests: () => void;
43
+ createRequestManager: () => RequestManager;
44
+ requestManager: RequestManager;
42
45
  env: AxiosEnvironment;
43
46
  addEnvironmentVariables: (vars: Record<string, any>) => void;
44
47
  addRequestInterceptor: (interceptor: RequestInterceptor, errorInterceptor?: ErrorInterceptor) => void;
@@ -101,7 +101,7 @@ export type BIMLayerPostPayload = {
101
101
  layerType: BIMLayerTypes;
102
102
  startAt: DateType;
103
103
  shapes: string;
104
- zIndex: number;
104
+ zIndex?: number;
105
105
  };
106
106
  export type BIMLayer = {
107
107
  id: number;
@@ -151,3 +151,28 @@ 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
+ }
171
+ export type BimUpdatedWebhookPayload = {
172
+ eventName: "bim.updated";
173
+ projectId: string;
174
+ data: {
175
+ updatedAt: string;
176
+ bimIdentifier: string;
177
+ };
178
+ };
@@ -1,4 +1,4 @@
1
- import { AuditLogActionType, DateType, EntityByExid, KitAlarm, NvrDeviceType, PaginationParams, PowerSchedule, PowerType, ProjectExid, ProjectFeatureFlag, Schedule, ScheduleLowercase } from "@evercam/api/types";
1
+ import { AuditLogActionType, DateType, EntityByExid, KitAlarm, NvrDeviceType, PaginationParams, PowerSchedule, PowerType, ProjectExid, ProjectFeatureFlag, Schedule, ScheduleLowercase, TimestampPositionCoordinates } from "@evercam/api/types";
2
2
  import { DateRangeFilter } from "@evercam/api/types/time";
3
3
  import { GeoPoint, TuplePoint2D } from "@evercam/api/types/shared";
4
4
  export type CameraExid = string;
@@ -80,6 +80,7 @@ export type Camera = {
80
80
  vendorName: string;
81
81
  isAccessRestricted?: boolean;
82
82
  kitAlarms?: KitAlarm[];
83
+ timestampPosition?: TimestampPositionCoordinates;
83
84
  };
84
85
  export type AdminCamera = {
85
86
  id: number;
@@ -199,6 +200,7 @@ export declare enum CameraFeatureFlag {
199
200
  PpeOwlv2 = "ppe_owlv2",
200
201
  PpeGemini = "ppe_gemini",
201
202
  PpeYolo = "ppe_yolo",
203
+ PpeV2 = "ppe_v2",
202
204
  NoLiveView = "no_live_view",
203
205
  Ring = "ring",
204
206
  CloudOnly = "cloud_only"
@@ -48,9 +48,10 @@ export type CommentCreationRequestPayload = {
48
48
  toDate?: DateType;
49
49
  timestamp?: DateType;
50
50
  scope?: CommentsScope;
51
- projectExid: ProjectExid;
51
+ projectExid?: ProjectExid;
52
52
  cameraExid?: CameraExid;
53
53
  content: string;
54
+ label?: CommentsLabel;
54
55
  position2d?: TuplePoint2D;
55
56
  position3d?: [number, number, number];
56
57
  context?: Record<string, unknown>;
@@ -10,6 +10,8 @@ export declare enum Connector {
10
10
  AutodeskViewer = "autodesk_viewer",
11
11
  VoyageControl = "voyage_control",
12
12
  Ring = "ring",
13
+ Email = "email",
14
+ Hammertech = "hammertech",
13
15
  XWeather = "xweather"
14
16
  }
15
17
  export declare enum ProcoreType {
@@ -102,6 +102,7 @@ export declare enum PpeLabel {
102
102
  Helmet = "helmet",
103
103
  HighVisibilityVest = "high-visibility-vest",
104
104
  SafetyGlasses = "safety-glasses",
105
+ Gloves = "gloves",
105
106
  Person = "person",
106
107
  Man = "man",
107
108
  Woman = "woman"
@@ -111,5 +112,6 @@ export declare enum DetectionModel {
111
112
  Yolov11 = 2,
112
113
  Yolov112 = 3,
113
114
  GroundingDino = 4,
114
- Owlv2 = 5
115
+ Owlv2 = 5,
116
+ PpeV2 = 6
115
117
  }