@evercam/api 1.0.0-4976cdc31 → 1.0.0-49fa7f1d4

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 (59) hide show
  1. package/README.md +1 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +59 -19
  3. package/dist/api/api/adminApi.d.ts +8 -10
  4. package/dist/api/api/aiApi.d.ts +58 -3
  5. package/dist/api/api/authzApi.d.ts +4 -1
  6. package/dist/api/api/evercamApi.d.ts +23 -12
  7. package/dist/api/api/evercamLabsApi.d.ts +5 -5
  8. package/dist/api/api/ingestApi.d.ts +19 -6
  9. package/dist/api/types/360.d.ts +136 -42
  10. package/dist/api/types/aiConfigs.d.ts +99 -11
  11. package/dist/api/types/analytics.d.ts +12 -1
  12. package/dist/api/types/authz.d.ts +71 -0
  13. package/dist/api/types/automation.d.ts +23 -4
  14. package/dist/api/types/axios.d.ts +8 -8
  15. package/dist/api/types/bim.d.ts +11 -5
  16. package/dist/api/types/camera.d.ts +5 -8
  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/copilot.d.ts +0 -3
  20. package/dist/api/types/detections.d.ts +3 -1
  21. package/dist/api/types/drone.d.ts +1 -1
  22. package/dist/api/types/errors.d.ts +13 -1
  23. package/dist/api/types/gateReport.d.ts +1 -11
  24. package/dist/api/types/gateReportManagement.d.ts +28 -9
  25. package/dist/api/types/hammertech.d.ts +98 -0
  26. package/dist/api/types/index.d.ts +5 -1
  27. package/dist/api/types/ingest.d.ts +88 -1
  28. package/dist/api/types/kit.d.ts +41 -51
  29. package/dist/api/types/media.d.ts +8 -2
  30. package/dist/api/types/notification.d.ts +41 -2
  31. package/dist/api/types/observationEvents.d.ts +61 -0
  32. package/dist/api/types/observations.d.ts +85 -0
  33. package/dist/api/types/planner.d.ts +0 -8
  34. package/dist/api/types/posthog.d.ts +20 -0
  35. package/dist/api/types/project.d.ts +7 -0
  36. package/dist/api/types/recording.d.ts +5 -5
  37. package/dist/api/types/ring.d.ts +16 -16
  38. package/dist/api/types/roi.d.ts +2 -10
  39. package/dist/api/types/routeParams.d.ts +1 -0
  40. package/dist/api/types/shared.d.ts +0 -19
  41. package/dist/api/types/shares.d.ts +0 -13
  42. package/dist/api/types/siteAnalytics.d.ts +1 -3
  43. package/dist/api/types/siteAnalyticsManagement.d.ts +117 -0
  44. package/dist/api/types/siteView.d.ts +0 -1
  45. package/dist/api/types/snapshots.d.ts +5 -0
  46. package/dist/api/types/socket.d.ts +4 -0
  47. package/dist/api/types/storyblok.d.ts +0 -13
  48. package/dist/api/types/timelapse.d.ts +1 -8
  49. package/dist/api/types/user.d.ts +1 -3
  50. package/dist/index.js +1215 -713
  51. package/dist/index.js.map +1 -1
  52. package/dist/index.umd.cjs +1 -1
  53. package/dist/index.umd.cjs.map +1 -1
  54. package/dist/shared/types/components.d.ts +82 -31
  55. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  56. package/dist/shared/types/index.d.ts +2 -0
  57. package/dist/shared/types/observations.d.ts +21 -0
  58. package/package.json +3 -1
  59. package/dist/api/types/vendorModel.d.ts +0 -15
@@ -1,5 +1,5 @@
1
1
  import { DateType } from "@evercam/api/types/time";
2
- import { GeoPoint, Point3D } from "@evercam/api/types/shared";
2
+ import { GeoPoint, PaginationParams, Point3D } from "@evercam/api/types/shared";
3
3
  export type _360OverlayPosition = {
4
4
  northEast: GeoPoint;
5
5
  northWest: GeoPoint;
@@ -77,7 +77,7 @@ export type _360WalkV2 = {
77
77
  archive: string;
78
78
  date: string;
79
79
  deviceSerial: string | null;
80
- endPosition: unknown | null;
80
+ endPosition: string | null;
81
81
  floor: string;
82
82
  floorId: number;
83
83
  id: number;
@@ -92,8 +92,10 @@ 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
- startPosition: unknown | null;
98
+ startPosition: string | null;
97
99
  tusLinks: unknown | null;
98
100
  updatedAt: string;
99
101
  uploadedBy: string;
@@ -112,13 +114,15 @@ export type _360FloorV2 = {
112
114
  overlayPosition: _360OverlayPosition;
113
115
  insertedAt: string;
114
116
  updatedAt: string;
117
+ deletedAt: string | null;
115
118
  };
116
119
  export type _360Scene = {
117
120
  date: string;
118
- dateID: number;
121
+ dateID: string | number;
119
122
  floors: {
120
123
  floorID: _360FloorId;
121
124
  name: string;
125
+ isValidated?: boolean;
122
126
  }[];
123
127
  polarAngle: number;
124
128
  azimuthAngle: number;
@@ -149,24 +153,7 @@ export type _360ProjectListItem = {
149
153
  providerSuffix: string;
150
154
  timeline: string;
151
155
  uniqueId: string;
152
- };
153
- export type _360FullProject = {
154
- dates: _360SceneWithFloors[];
155
- integrationType: string;
156
- projectId: string;
157
- projectName: string;
158
- providerID: string;
159
- providerPrefix: string;
160
- providerSuffix: string;
161
- timeline: string;
162
- uniqueId: string;
163
- };
164
- export type _360FullFloor = _360Floor & {
165
- id: _360FloorId;
166
- name: string;
167
- };
168
- export type _360SceneWithFloors = _360Scene & {
169
- floors: _360FullFloor[];
156
+ requiresValidation?: boolean;
170
157
  };
171
158
  export type _360ProjectJsonResponse = {
172
159
  dates: _360Scene[];
@@ -181,12 +168,24 @@ export type MobileCaptureSnapshot = {
181
168
  thumbnailUrl: string;
182
169
  };
183
170
  export declare enum _360UrlParams {
184
- DateId = "date_id",
171
+ DateId = "dateId",
185
172
  Date = "date",
186
173
  Floor = "floor",
187
174
  Marker = "marker",
188
175
  PolarAngle = "polarAngle",
189
- AzimuthAngle = "azimuthAngle"
176
+ AzimuthAngle = "azimuthAngle",
177
+ Zoom = "zoom",
178
+ User = "user",
179
+ ViewerMode = "viewer_mode",
180
+ ProjectId = "projectId",
181
+ Unit = "unit",
182
+ LockDate = "lockDate",
183
+ LockFloor = "lockFloor",
184
+ LockMarker = "lockMarker",
185
+ IsWidget = "isWidget",
186
+ MediaLocked = "mediaLocked",
187
+ Debug = "debug",
188
+ RequiresValidation = "requires_validation"
190
189
  }
191
190
  export declare enum _360AssetType {
192
191
  Video = "video",
@@ -200,11 +199,6 @@ export declare enum _360AssetLabel {
200
199
  Walks = "walks",
201
200
  MobilePhotos = "mobilePhotos"
202
201
  }
203
- export declare enum _360Feature {
204
- BIM = "BIM",
205
- Minimap = "Minimap",
206
- Minimodel = "Minimodel"
207
- }
208
202
  export declare enum _360IntergrationType {
209
203
  Evercam = "Evercam",
210
204
  Matterport = "Matterport",
@@ -217,9 +211,7 @@ export declare enum PathMarkerColor {
217
211
  End = "#fd7567",
218
212
  Default = "#2196F3"
219
213
  }
220
- export type _360AssetsQueryParams = {
221
- page: number;
222
- limit: number;
214
+ export type _360AssetsQueryParams = PaginationParams & {
223
215
  projectId: string;
224
216
  date: DateType;
225
217
  floor: string;
@@ -231,7 +223,7 @@ export type _360AssetsRequestPayload = {
231
223
  floor: string;
232
224
  uploadedBy?: string;
233
225
  };
234
- export type DrawingsRequestPayload = {
226
+ export type DrawingsRequestPayload = PaginationParams & {
235
227
  projectId?: string;
236
228
  name?: string;
237
229
  changedBy?: string;
@@ -239,10 +231,9 @@ export type DrawingsRequestPayload = {
239
231
  startDate?: string;
240
232
  endDate?: string;
241
233
  id?: number;
242
- page?: number;
243
- limit?: number;
244
234
  paginate?: boolean;
245
235
  withAsset?: boolean;
236
+ includeDeleted?: boolean;
246
237
  };
247
238
  export type GenerateFloorPayload = {
248
239
  overlay?: {
@@ -266,16 +257,119 @@ export type _360AssetsUploadPayload = {
266
257
  title: string;
267
258
  fileExtension: string;
268
259
  }[];
269
- deviceSerial: string;
270
- startPosition: string;
271
- endPosition: string;
272
- isTimelapse: boolean;
273
- isImagesOnly: boolean;
260
+ deviceSerial?: string;
261
+ startPosition?: string;
262
+ endPosition?: string;
263
+ isTimelapse?: boolean;
264
+ isImagesOnly?: boolean;
274
265
  };
275
266
  export type Generate360MapRequestPayload = {
276
- dateId: string;
267
+ dateId: string | number;
277
268
  floorId: string;
278
- cameraOffset: string;
269
+ cameraOffset: string | number;
279
270
  startPoint: string;
280
271
  endPoint: string;
272
+ drawingId?: number;
273
+ markers?: Array<{
274
+ position: {
275
+ x: number;
276
+ y: number;
277
+ z: number;
278
+ };
279
+ }>;
280
+ startPointIndex?: number;
281
+ endPointIndex?: number;
282
+ };
283
+ export declare enum EModelsType {
284
+ FBX = "FBX",
285
+ PointCloud = "PLY"
286
+ }
287
+ export type _360FloorRef = {
288
+ projectID: string;
289
+ dateID: string | number;
290
+ floorID: _360FloorId;
291
+ };
292
+ export type _360Vector3 = {
293
+ x: number;
294
+ y: number;
295
+ z: number;
296
+ };
297
+ export type _360MarkerData = {
298
+ cameraPosition: _360Vector3;
299
+ nextRoomId: string;
300
+ position: _360Vector3;
301
+ geolocation?: {
302
+ latitude: number;
303
+ longitude: number;
304
+ };
305
+ rotation: {
306
+ _order: string;
307
+ _x: number;
308
+ _y: number;
309
+ _z: number;
310
+ isEuler: boolean;
311
+ x?: number;
312
+ y?: number;
313
+ z?: number;
314
+ };
315
+ };
316
+ export type _360Route = {
317
+ overlayID?: number;
318
+ track?: string;
319
+ cameraHeadingOffset?: number;
320
+ };
321
+ export type _360CalibrationDetails = {
322
+ baseOriginOf360Viewer?: _360Vector3;
323
+ baseOriginOfForgeViewer?: _360Vector3;
324
+ rotationMatrix?: {
325
+ elements: number[];
326
+ };
327
+ scaleMatrix?: {
328
+ elements: number[];
329
+ };
330
+ };
331
+ export type _360FloorData = {
332
+ _3DMarkers: _360MarkerData[];
333
+ fbxModel: string | null;
334
+ fbxModelHQ: string | null;
335
+ pointCloudModelHQ: string | null;
336
+ initialMarker: string;
337
+ cameraRotation: _360CameraRotation;
338
+ steps: number;
339
+ route: _360Route | null;
340
+ sceneScale: number;
341
+ modelViewerFeatureFlag: boolean;
342
+ imagesOnlyFeatureFlag: boolean;
343
+ forgeBIMFeatureFlag: boolean;
344
+ isForgeGravityEnabled: boolean;
345
+ initialForgeView: ForgeView | null;
346
+ calibrationDetails: _360CalibrationDetails;
347
+ enhancedLightFeatureFlag: boolean;
348
+ };
349
+ export type _360PinData = {
350
+ position: _360Vector3;
351
+ pinType: string;
352
+ name: string;
353
+ pinId?: string;
354
+ cameraExid?: string;
355
+ currentRoom?: string;
356
+ cameraRotation?: {
357
+ polarAngle: number;
358
+ azimuthAngle: number;
359
+ };
360
+ };
361
+ export type _360ForgeTimelineItem = {
362
+ taskNumber: number;
363
+ taskID: string;
364
+ actualStartDate: string;
365
+ actualEndDate: string;
366
+ plannedStartDate: string;
367
+ plannedEndDate: string;
368
+ objectIDs: number[];
369
+ };
370
+ export type _360ForgeProject = {
371
+ urns?: Array<{
372
+ urn: string;
373
+ }>;
374
+ timeline?: _360ForgeTimelineItem[];
281
375
  };
@@ -1,3 +1,4 @@
1
+ import { PaginatedItems, PaginationParams } from "@evercam/api/types";
1
2
  export declare enum AiApp {
2
3
  GateReport = "gate_report",
3
4
  Ppe = "ppe",
@@ -11,7 +12,8 @@ export declare enum AiProvider {
11
12
  export declare enum AiConfigsPromptDialogMode {
12
13
  Create = "create",
13
14
  Edit = "edit",
14
- View = "view"
15
+ View = "view",
16
+ Subprompt = "subprompt"
15
17
  }
16
18
  export declare enum AiConfigsKeyDialogMode {
17
19
  Create = "create",
@@ -45,6 +47,11 @@ export declare enum AiPromptModel {
45
47
  ClaudeSonnet46 = "claude-sonnet-4-6",
46
48
  ClaudeHaiku45 = "claude-haiku-4-5"
47
49
  }
50
+ export declare enum AiPromptType {
51
+ Prompt = "prompt",
52
+ Parent = "parent",
53
+ Subprompt = "subprompt"
54
+ }
48
55
  export interface AiPrompt {
49
56
  id: number;
50
57
  title: string | null;
@@ -56,6 +63,9 @@ export interface AiPrompt {
56
63
  createdBy: string;
57
64
  createdAt: string;
58
65
  updatedAt: string;
66
+ promptType: AiPromptType;
67
+ parentId: number | null;
68
+ subpromptCount: number;
59
69
  }
60
70
  export interface AiPromptCreatePayload {
61
71
  title?: string | null;
@@ -64,6 +74,7 @@ export interface AiPromptCreatePayload {
64
74
  model?: string | null;
65
75
  prompt: string;
66
76
  outputSchema?: Record<string, unknown> | null;
77
+ promptType?: AiPromptType.Prompt | AiPromptType.Parent;
67
78
  }
68
79
  export interface AiPromptUpdatePayload {
69
80
  title?: string | null;
@@ -73,23 +84,23 @@ export interface AiPromptUpdatePayload {
73
84
  prompt?: string;
74
85
  outputSchema?: Record<string, unknown> | null;
75
86
  }
76
- export type AiPromptQueryParams = {
87
+ export type AiPromptQueryParams = PaginationParams & {
77
88
  app?: string;
78
89
  purpose?: string;
79
90
  model?: string;
80
91
  search?: string;
81
92
  createdBy?: string;
82
- page?: number;
83
- limit?: number;
93
+ promptType?: AiPromptType;
94
+ includeSubprompts?: boolean;
84
95
  };
85
- export interface AiPromptListResponse {
86
- items: AiPrompt[];
87
- total: number;
88
- page: number;
89
- limit: number;
90
- from: number;
91
- to: number;
96
+ export interface AiSubpromptCreatePayload {
97
+ title?: string | null;
98
+ purpose: string;
99
+ model?: string | null;
100
+ prompt: string;
101
+ outputSchema?: Record<string, unknown> | null;
92
102
  }
103
+ export type AiPromptListResponse = PaginatedItems<AiPrompt>;
93
104
  export interface AiPromptCreateResponse {
94
105
  created: boolean;
95
106
  data: AiPrompt;
@@ -152,3 +163,80 @@ export interface AiApiKeyDeleteResponse {
152
163
  count: number;
153
164
  message: string;
154
165
  }
166
+ export declare enum AiObservationFeasibilityStatus {
167
+ Prod = "prod",
168
+ Beta = "beta",
169
+ Parked = "parked"
170
+ }
171
+ export declare enum AiObservationTimeDetection {
172
+ PerSecond = "per_second",
173
+ PerMinute = "per_minute",
174
+ Hourly = "hourly",
175
+ Daily = "daily"
176
+ }
177
+ export interface AiObservationFeasibilityConfig {
178
+ bg: string;
179
+ fg: string;
180
+ border: string;
181
+ label: string;
182
+ }
183
+ export declare const AI_OBSERVATION_FEASIBILITY_CONFIGS: Record<AiObservationFeasibilityStatus, AiObservationFeasibilityConfig>;
184
+ export interface AiObservationType {
185
+ id: number;
186
+ observationCode: string;
187
+ name: string;
188
+ description: string | null;
189
+ type: string;
190
+ rules: Record<string, unknown> | null;
191
+ timeDetection: string | null;
192
+ every: number | null;
193
+ severity: number | null;
194
+ feasibilityStatus: AiObservationFeasibilityStatus;
195
+ promptId: number | null;
196
+ promptName: string | null;
197
+ insertedAt: string;
198
+ updatedAt: string;
199
+ }
200
+ export interface AiObservationTypeCreatePayload {
201
+ observationCode: string;
202
+ name: string;
203
+ description?: string | null;
204
+ type: string;
205
+ rules?: Record<string, unknown> | null;
206
+ timeDetection?: string | null;
207
+ every?: number | null;
208
+ severity?: number | null;
209
+ feasibilityStatus: AiObservationFeasibilityStatus;
210
+ promptId?: number | null;
211
+ }
212
+ export type AiObservationTypeUpdatePayload = Partial<Omit<AiObservationTypeCreatePayload, "observationCode">>;
213
+ export type AiObservationTypeQueryParams = {
214
+ search?: string;
215
+ feasibilityStatus?: string;
216
+ type?: string;
217
+ page?: number;
218
+ limit?: number;
219
+ };
220
+ export interface AiObservationTypeListResponse {
221
+ items: AiObservationType[];
222
+ total: number;
223
+ page: number;
224
+ limit: number;
225
+ from: number;
226
+ to: number;
227
+ }
228
+ export interface AiObservationTypeCreateResponse {
229
+ created: boolean;
230
+ data: AiObservationType;
231
+ message: string;
232
+ }
233
+ export interface AiObservationTypeUpdateResponse {
234
+ updated: boolean;
235
+ id: number | string;
236
+ message: string;
237
+ }
238
+ export interface AiObservationTypeDeleteResponse {
239
+ deleted: boolean;
240
+ count: number;
241
+ message: string;
242
+ }
@@ -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",
@@ -312,6 +318,7 @@ export declare enum AnalyticsEvent {
312
318
  ThreeSixtyToggleMinimapVisibility = "ToggleMinimapVisibility",
313
319
  ThreeSixtyToggleMiniModel = "ToggleMiniModel",
314
320
  ThreeSixtyToggleCommentsVisibility = "ToggleCommentsVisibility",
321
+ ThreeSixtyToggleCameraPinsVisibility = "toggle_camera_pins_visibility",
315
322
  ThreeSixtyTourPause = "Tour-Pause",
316
323
  ThreeSixtyTourPlay = "Tour-Play",
317
324
  ThreeSixtyTourSetSpeedXHalve = "Tour-SetSpeedX0.5",
@@ -352,6 +359,7 @@ export declare enum AnalyticsEvent {
352
359
  DroneToggleMapStyle = "ToggleMapStyle",
353
360
  DroneTogglePointCloud = "TogglePointCloud",
354
361
  DroneToggleGaussianSplat = "ToggleGaussianSplat",
362
+ DroneToggleGlobe = "ToggleGlobe",
355
363
  DroneToggleQualityMode = "ChooseQuality",
356
364
  DroneToggleSideMenu = "ToggleSideMenu",
357
365
  DroneToggleImageryPlan = "ToggleImageryPlan",
@@ -398,6 +406,8 @@ export declare enum AnalyticsEvent {
398
406
  DrawingClickHome = "ClickHome",
399
407
  DrawingsUploadDrawing = "UploadDrawing",
400
408
  DrawingsCreateDrawing = "CreateDrawing",
409
+ DrawingsSelectPdfPage = "SelectPdfPage",
410
+ DrawingsDeleteDrawing = "DeleteDrawing",
401
411
  DrawingToggleMapStyle = "ToggleMapStyle",
402
412
  DrawingToggleMapLabels = "ToggleMapLabels",
403
413
  DrawingToggleCamerasLabels = "ToggleCamerasLabels",
@@ -606,5 +616,6 @@ export declare enum AnalyticsEvent {
606
616
  ForgeBimReplaceModelCancelled = "ForgeBim-ReplaceModelCancelled",
607
617
  ForgeBimModelAdded = "ForgeBim-ModelAdded",
608
618
  ForgeBimModelUpdated = "ForgeBim-ModelUpdated",
609
- ForgeBimModelSaveFailed = "ForgeBim-ModelSaveFailed"
619
+ ForgeBimModelSaveFailed = "ForgeBim-ModelSaveFailed",
620
+ ForgeBimIngestNotificationFailed = "ForgeBim-IngestNotificationFailed"
610
621
  }
@@ -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,70 @@ 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 RoleAssignmentUserDetails = {
67
+ browser?: string | null;
68
+ device?: string | null;
69
+ os?: string | null;
70
+ country?: string | null;
71
+ countryCode?: string | null;
72
+ ip?: string | null;
73
+ impersonatedBy?: string | null;
74
+ };
75
+ export type RoleAssignmentRowUserDetails = RoleAssignmentUserDetails & {
76
+ via?: string | null;
77
+ inviteId?: number | null;
78
+ inviteEmail?: string | null;
79
+ };
80
+ export type RoleAssignmentLog = {
81
+ id: number;
82
+ action: RoleAssignmentLogAction;
83
+ assignerId: number | null;
84
+ assignerEmail: string | null;
85
+ assigneeId: number | null;
86
+ assigneeEmail: string;
87
+ roleId: number | null;
88
+ roleName: string | null;
89
+ previousRoleId: number | null;
90
+ previousRoleName: string | null;
91
+ scope: RoleResourceType;
92
+ projectExid: string | null;
93
+ cameraExid: string | null;
94
+ cameraName: string | null;
95
+ projectName: string | null;
96
+ ip: string | null;
97
+ userDetails: RoleAssignmentRowUserDetails | null;
98
+ insertedAt: string;
99
+ };
100
+ export type RoleAssignmentResourceRef = {
101
+ exid: string;
102
+ name: string | null;
103
+ };
104
+ export type RoleAssignmentLogBatch = {
105
+ groupId: string;
106
+ batchId: string | null;
107
+ batchSize: number;
108
+ assigneeId: number | null;
109
+ assigneeEmail: string;
110
+ actions: RoleAssignmentLogAction[];
111
+ projects: RoleAssignmentResourceRef[];
112
+ ip: string | null;
113
+ userDetails: RoleAssignmentUserDetails | null;
114
+ insertedAt: string;
115
+ children: RoleAssignmentLog[];
116
+ };
117
+ export type RoleAssignmentLogsParams = {
118
+ page?: number;
119
+ limit?: number;
120
+ sort?: string;
121
+ action?: RoleAssignmentLogAction;
122
+ roleId?: number;
123
+ roleName?: string;
124
+ assigneeEmail?: string;
125
+ assignerEmail?: string;
126
+ scope?: RoleResourceType;
127
+ projectExid?: string;
128
+ cameraExid?: string;
129
+ ip?: string;
130
+ from?: string;
131
+ to?: string;
132
+ };
@@ -8,8 +8,28 @@ export declare enum AutomationProvider {
8
8
  export declare enum AutomationType {
9
9
  Photo = "photo",
10
10
  Compare = "compare",
11
- GateReport = "gate_report"
11
+ GateReport = "gate_report",
12
+ Weather = "weather"
12
13
  }
14
+ export declare enum AutomationWeatherReportType {
15
+ Forecast = "forecast",
16
+ History = "history"
17
+ }
18
+ export declare enum AutomationExportFormat {
19
+ Pdf = "pdf",
20
+ Csv = "csv"
21
+ }
22
+ export declare enum AutomationWeatherDataGranularity {
23
+ Daily = "daily",
24
+ Hourly = "hourly"
25
+ }
26
+ export type AutomationWeatherConfig = {
27
+ reportType: AutomationWeatherReportType;
28
+ exportFormat: AutomationExportFormat;
29
+ dataGranularity?: AutomationWeatherDataGranularity;
30
+ selectedColumns?: string[];
31
+ forecastDays?: number;
32
+ };
13
33
  export type AutomationCompareConfig = {
14
34
  compareDelay: number;
15
35
  };
@@ -22,7 +42,6 @@ export type AutomationGateReportConfig = {
22
42
  fileType: string;
23
43
  period: number;
24
44
  columns: string[];
25
- recipients: string | string[];
26
45
  };
27
46
  export type AutomationEmailProviderConfig = {
28
47
  cameraExids?: CameraExid[];
@@ -51,7 +70,7 @@ export type AutomationAutodeskProviderConfig = {
51
70
  folderName: string;
52
71
  };
53
72
  export type AutomationProviderConfig = AutomationEmailProviderConfig | AutomationProcoreProviderConfig | AutomationAconexProviderConfig | AutomationAutodeskProviderConfig;
54
- export type AutomationOptionsConfig = AutomationCompareConfig | AutomationGateReportConfig | {};
73
+ export type AutomationOptionsConfig = AutomationCompareConfig | AutomationGateReportConfig | AutomationWeatherConfig | {};
55
74
  export type AutomationConfig = AutomationProviderConfig & AutomationOptionsConfig;
56
75
  export type Automation = {
57
76
  id?: number;
@@ -82,7 +101,7 @@ export type AutomationProviderOption = {
82
101
  requiresConnection: boolean;
83
102
  };
84
103
  export type FormattedAutomation = {
85
- cameraExids: string;
104
+ cameraExids?: string;
86
105
  name: string;
87
106
  subject: string;
88
107
  provider: AutomationProvider;
@@ -1,9 +1,5 @@
1
1
  import type { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelTokenSource, CancelTokenStatic } from "axios";
2
2
  import { Swr } from "@evercam/api/api/client/swr/Swr";
3
- export type TimedRequest<T> = Promise<AxiosResponse<T> & {
4
- duration: number;
5
- error?: AxiosError;
6
- }>;
7
3
  export type AxiosEnvironment = {
8
4
  baseUrl?: string | null;
9
5
  stagingAiApiUrl?: string | null;
@@ -16,6 +12,7 @@ export type AxiosEnvironment = {
16
12
  firebaseVideowallUrl?: string | null;
17
13
  weatherApiBaseUrl?: string | null;
18
14
  evercamLabsUrl?: string | null;
15
+ isLabsStaging?: boolean;
19
16
  firebaseDbLink?: string | null;
20
17
  firebaseStorageUrl?: string | null;
21
18
  firebaseStorageToken?: string | null;
@@ -29,15 +26,18 @@ export type AxiosEnvironment = {
29
26
  export type RequestInterceptor = (req: AxiosRequestConfig, env: AxiosEnvironment) => AxiosRequestConfig & any;
30
27
  export type ResponseInterceptor = (res: AxiosResponse, env: AxiosEnvironment) => AxiosResponse & any;
31
28
  export type ErrorInterceptor = (error: any, env: AxiosEnvironment) => any;
29
+ export type RequestManager = {
30
+ createToken: (key: string) => CancelTokenSource["token"];
31
+ cancelToken: (key: string) => void;
32
+ cancelAll: () => void;
33
+ };
32
34
  export interface ExtendedAxiosInstance extends AxiosInstance {
33
35
  CancelToken: CancelTokenStatic;
34
36
  isCancel: (value: AxiosResponse | AxiosError | unknown) => boolean;
35
37
  setToken: (token: string) => void;
36
38
  setHeader: (headerName: string, value: any) => void;
37
- generateCancelTokenSource: () => CancelTokenSource;
38
- addCancelToken: (token: CancelTokenSource) => void;
39
- resetCancelTokens: () => void;
40
- cancelRequests: () => void;
39
+ createRequestManager: () => RequestManager;
40
+ requestManager: RequestManager;
41
41
  env: AxiosEnvironment;
42
42
  addEnvironmentVariables: (vars: Record<string, any>) => void;
43
43
  addRequestInterceptor: (interceptor: RequestInterceptor, errorInterceptor?: ErrorInterceptor) => void;
@@ -1,4 +1,4 @@
1
- import { CompareLogoPosition, DateType } from "@evercam/api/types";
1
+ import { CompareLogoPosition, DateType, PaginationParams } from "@evercam/api/types";
2
2
  export declare enum BimModelType {
3
3
  Architectural = "Architectural",
4
4
  Structural = "Structural",
@@ -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;
@@ -137,9 +137,7 @@ export type ProcessPendingImagesBimParams = {
137
137
  apiId: string;
138
138
  apiKey: string;
139
139
  };
140
- export type BimUploadsQueryParams = {
141
- page: number;
142
- limit: number;
140
+ export type BimUploadsQueryParams = PaginationParams & {
143
141
  projectId: string;
144
142
  id: string;
145
143
  uploadedBy: string;
@@ -168,3 +166,11 @@ export declare enum ForgeBimDialogTrigger {
168
166
  AddModel = "add_model",
169
167
  InitialSetup = "initial_setup"
170
168
  }
169
+ export type BimUpdatedWebhookPayload = {
170
+ eventName: "bim.updated";
171
+ projectId: string;
172
+ data: {
173
+ updatedAt: string;
174
+ bimIdentifier: string;
175
+ };
176
+ };