@evercam/api 1.0.0-964e29308 → 1.0.0-97bd6ccd7

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 (64) hide show
  1. package/README.md +1 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +197 -15
  3. package/dist/api/api/adminApi.d.ts +20 -15
  4. package/dist/api/api/aiApi.d.ts +125 -4
  5. package/dist/api/api/authzApi.d.ts +5 -3
  6. package/dist/api/api/evercamApi.d.ts +32 -12
  7. package/dist/api/api/evercamLabsApi.d.ts +5 -5
  8. package/dist/api/api/ingestApi.d.ts +21 -7
  9. package/dist/api/types/360.d.ts +167 -83
  10. package/dist/api/types/aiConfigs.d.ts +244 -0
  11. package/dist/api/types/analytics.d.ts +36 -23
  12. package/dist/api/types/anpr.d.ts +31 -2
  13. package/dist/api/types/auditLogs.d.ts +18 -0
  14. package/dist/api/types/authz.d.ts +71 -0
  15. package/dist/api/types/automation.d.ts +23 -4
  16. package/dist/api/types/axios.d.ts +9 -9
  17. package/dist/api/types/bim.d.ts +28 -5
  18. package/dist/api/types/camera.d.ts +13 -32
  19. package/dist/api/types/comments.d.ts +10 -7
  20. package/dist/api/types/connector.d.ts +2 -0
  21. package/dist/api/types/copilot.d.ts +0 -3
  22. package/dist/api/types/detections.d.ts +3 -10
  23. package/dist/api/types/drone.d.ts +94 -6
  24. package/dist/api/types/errors.d.ts +13 -1
  25. package/dist/api/types/gateReport.d.ts +7 -22
  26. package/dist/api/types/gateReportManagement.d.ts +170 -0
  27. package/dist/api/types/hammertech.d.ts +98 -0
  28. package/dist/api/types/index.d.ts +8 -1
  29. package/dist/api/types/ingest.d.ts +98 -3
  30. package/dist/api/types/kit.d.ts +41 -51
  31. package/dist/api/types/map.d.ts +12 -0
  32. package/dist/api/types/media.d.ts +8 -2
  33. package/dist/api/types/notification.d.ts +41 -2
  34. package/dist/api/types/observationEvents.d.ts +135 -0
  35. package/dist/api/types/observations.d.ts +84 -0
  36. package/dist/api/types/planner.d.ts +56 -10
  37. package/dist/api/types/posthog.d.ts +20 -0
  38. package/dist/api/types/project.d.ts +11 -2
  39. package/dist/api/types/recording.d.ts +8 -13
  40. package/dist/api/types/ring.d.ts +16 -16
  41. package/dist/api/types/roi.d.ts +3 -11
  42. package/dist/api/types/routeParams.d.ts +1 -0
  43. package/dist/api/types/shared.d.ts +18 -18
  44. package/dist/api/types/shares.d.ts +0 -13
  45. package/dist/api/types/siteAnalytics.d.ts +3 -5
  46. package/dist/api/types/siteAnalyticsManagement.d.ts +117 -0
  47. package/dist/api/types/siteView.d.ts +73 -0
  48. package/dist/api/types/snapshots.d.ts +13 -0
  49. package/dist/api/types/socket.d.ts +4 -0
  50. package/dist/api/types/storyblok.d.ts +0 -13
  51. package/dist/api/types/timelapse.d.ts +4 -8
  52. package/dist/api/types/user.d.ts +1 -4
  53. package/dist/api/utils.d.ts +0 -1
  54. package/dist/index.js +1832 -682
  55. package/dist/index.js.map +1 -1
  56. package/dist/index.umd.cjs +1 -1
  57. package/dist/index.umd.cjs.map +1 -1
  58. package/dist/shared/types/components.d.ts +111 -38
  59. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  60. package/dist/shared/types/imagePlayer.d.ts +8 -1
  61. package/dist/shared/types/index.d.ts +2 -0
  62. package/dist/shared/types/observations.d.ts +25 -0
  63. package/package.json +4 -2
  64. package/dist/api/types/vendorModel.d.ts +0 -15
@@ -0,0 +1,84 @@
1
+ import { type ProjectExid, type CameraExid, type DateType, type BBox, AiObservationFeasibilityStatus, ObservationEventStatus, DownloadFileType } from "@evercam/api/types";
2
+ export type ObservationApproval = boolean | ObservationEventStatus.Unsure | null;
3
+ export type ObservationEvent = {
4
+ id: number;
5
+ observationTypeId: number;
6
+ observationCode: string | null;
7
+ cameraExid: CameraExid;
8
+ projectExid: ProjectExid | null;
9
+ capturedAt: DateType;
10
+ endTime: DateType | null;
11
+ confidence: number | null;
12
+ status: ObservationEventStatus;
13
+ isApproved: ObservationApproval;
14
+ reason: string | null;
15
+ personBbox: BBox | null;
16
+ modelVersion: string | null;
17
+ observationMetadata: Record<string, unknown> | null;
18
+ trigger: string;
19
+ reviewedBy: string | null;
20
+ reviewedAt: DateType | null;
21
+ };
22
+ export type ObservationType = {
23
+ id: number;
24
+ observationCode: string;
25
+ name: string;
26
+ description: string | null;
27
+ type: string;
28
+ severity: number | null;
29
+ feasibilityStatus: AiObservationFeasibilityStatus;
30
+ };
31
+ export declare enum ObservationMissingItem {
32
+ Helmet = "helmet",
33
+ HighVisVest = "high_vis_vest",
34
+ Gloves = "gloves",
35
+ Glasses = "glasses"
36
+ }
37
+ export type ObservationEventsQueryParams = {
38
+ cameraExid?: CameraExid;
39
+ observationCode?: string;
40
+ fromDate?: string;
41
+ toDate?: string;
42
+ missingItems?: string;
43
+ status?: ObservationEventStatus;
44
+ sort?: string;
45
+ page?: number;
46
+ limit?: number;
47
+ };
48
+ export type ObservationEventsExportQueryParams = {
49
+ cameraExid?: CameraExid;
50
+ fromDate: string;
51
+ toDate: string;
52
+ required?: string;
53
+ compliant?: boolean;
54
+ fileType: DownloadFileType;
55
+ directDownload?: boolean;
56
+ includeInvalid?: boolean;
57
+ };
58
+ export type ObservationApprovalUpdateResponse = {
59
+ updated: boolean;
60
+ id: number | string | null;
61
+ message: string;
62
+ };
63
+ export declare enum ObservationCountsGranularity {
64
+ Day = "day",
65
+ Week = "week",
66
+ Month = "month"
67
+ }
68
+ export type ObservationEventsCountsQueryParams = {
69
+ cameraExid?: CameraExid;
70
+ observationCode?: string;
71
+ fromDate?: string;
72
+ toDate?: string;
73
+ missingItems?: string;
74
+ status?: ObservationEventStatus;
75
+ granularity?: ObservationCountsGranularity;
76
+ };
77
+ export type ObservationEventCount = {
78
+ bucket: DateType;
79
+ total: number;
80
+ };
81
+ export declare enum ObservationRequiredItem {
82
+ Helmet = "has_helmet",
83
+ HighVisVest = "has_high_vis_vest"
84
+ }
@@ -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";
@@ -13,6 +29,7 @@ export declare enum PlannerUrlParams {
13
29
  DealId = "deal_id"
14
30
  }
15
31
  export declare enum EDistortImageModes {
32
+ Edit = "edit",
16
33
  FreeRotate = "freeRotate",
17
34
  Lock = "lock",
18
35
  Rotate = "rotate",
@@ -35,18 +52,47 @@ export declare enum EPageType {
35
52
  List = "list",
36
53
  Item = "item"
37
54
  }
38
- export declare enum EPaths {
39
- Home = "/",
40
- Session = "/session"
41
- }
42
- export declare enum EProjectItems {
43
- Camera = "camera",
44
- Overlay = "overlay"
45
- }
46
55
  export declare enum ERoles {
47
56
  Admin = "admin",
48
57
  User = "user"
49
58
  }
59
+ export type PlannerOverlay = {
60
+ imageUrl?: string;
61
+ corners?: {
62
+ topLeft: GeoPoint;
63
+ topRight: GeoPoint;
64
+ bottomLeft: GeoPoint;
65
+ bottomRight: GeoPoint;
66
+ } | null;
67
+ };
68
+ export type PlannerCameraMarker = {
69
+ name?: string;
70
+ location?: GeoPoint;
71
+ heading?: number;
72
+ fovAngle?: number;
73
+ fovRadius?: number;
74
+ isVisible?: boolean;
75
+ color?: string;
76
+ };
77
+ export type SitePlanBounds = {
78
+ northEast: GeoPoint;
79
+ southWest: GeoPoint;
80
+ };
81
+ export type SitePlan = {
82
+ id?: string;
83
+ projectId?: string;
84
+ owner?: string;
85
+ lastUpdatedBy?: string;
86
+ projectName?: string;
87
+ projectLocation?: string;
88
+ projectMapType?: EMapTypes;
89
+ projectBounds?: SitePlanBounds;
90
+ overlay?: PlannerOverlay;
91
+ markers?: PlannerCameraMarker[];
92
+ thumbnailUrl?: string;
93
+ createdDate?: string;
94
+ updatedDate?: string;
95
+ };
50
96
  export interface IDrawControl {
51
97
  _toolbars: {
52
98
  draw: {
@@ -16,6 +16,26 @@ export declare enum ActiveUsersMetric {
16
16
  WAU = "wau",
17
17
  MAU = "mau"
18
18
  }
19
+ export type PosthogUser = {
20
+ id: string;
21
+ email: string;
22
+ isWeeklyActiveUser: number;
23
+ isMonthlyActiveUser: number;
24
+ eventsCount: number;
25
+ };
26
+ export type PosthogUsersRequestParams = {
27
+ companyExid?: string;
28
+ projectExid?: string;
29
+ cameraExid?: string;
30
+ productsActivityOnly?: boolean;
31
+ afterId?: string;
32
+ size?: number;
33
+ };
34
+ export type PosthogUsersResponse = {
35
+ data: PosthogUser[];
36
+ hasMore: boolean;
37
+ size: number;
38
+ };
19
39
  export type PosthogUserParams = {
20
40
  firstname?: string;
21
41
  lastname?: string;
@@ -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 = {
@@ -62,11 +62,19 @@ export declare enum ProjectArchiveTier {
62
62
  Full = "Full",
63
63
  Partial = "Partial",
64
64
  Minimal = "Minimal",
65
- ScheduledForDeletion = "Scheduled for Deletion"
65
+ ScheduledForDeletion = "Scheduled for Deletion",
66
+ No = "No"
66
67
  }
67
68
  export type UpdateCameraRestrictionPayload = {
68
69
  isAccessRestricted?: boolean;
69
70
  };
71
+ export type CameraPosition = {
72
+ cameraExid: CameraExid;
73
+ position: number;
74
+ };
75
+ export type ReorderCamerasPayload = {
76
+ positions: CameraPosition[];
77
+ };
70
78
  export type Logo = {
71
79
  id: number;
72
80
  projectId: number;
@@ -109,6 +117,7 @@ export type ProjectsQueryParams = PaginationParams & {
109
117
  status: ProjectStatus;
110
118
  cameras: string;
111
119
  featureFlags: Array<ProjectFeatureFlag>;
120
+ featureFlagsOperator?: Operator;
112
121
  archived: string;
113
122
  };
114
123
  export type ProjectCreateRequestPayload = {
@@ -1,22 +1,24 @@
1
- import { ApiCredentials } from "@evercam/api/types";
1
+ import { ApiCredentials, PaginationParams } from "@evercam/api/types";
2
2
  import { CancelToken } from "axios";
3
3
  export type Snapshot = {
4
4
  createdAt: string;
5
5
  data: string;
6
6
  status?: string;
7
7
  };
8
- export type NearestSnapshotRequestPayload = {
8
+ export type SnapshotRequestPayload = {
9
9
  apiKey?: string;
10
10
  apiId?: string;
11
11
  token?: string;
12
12
  cancelToken?: object;
13
13
  includeImage?: boolean;
14
+ view?: boolean;
14
15
  };
15
16
  export type AvailableDaysRequestPayload = {
16
17
  cameraId: string;
17
18
  year: string;
18
19
  month: string;
19
20
  payload?: ApiCredentials;
21
+ cancelToken?: CancelToken;
20
22
  };
21
23
  export type AvailableDaysResponsePayload = {
22
24
  days: Array<number>;
@@ -39,11 +41,9 @@ export type NearestSnapshotResponsePayload = {
39
41
  notes?: string;
40
42
  }>;
41
43
  };
42
- export type SnapshotRangeRequestPayload = {
44
+ export type SnapshotRangeRequestPayload = PaginationParams & {
43
45
  from: string;
44
46
  to: string;
45
- limit?: number;
46
- page?: number;
47
47
  schedule?: boolean;
48
48
  count?: number;
49
49
  };
@@ -76,6 +76,7 @@ export declare enum CloudRecordingDuration {
76
76
  Month = 30,
77
77
  ThreeMonths = 90
78
78
  }
79
+ export declare const CloudRecordingDurationLabel: Record<CloudRecordingDuration, string>;
79
80
  export declare enum CloudRecordingStatus {
80
81
  On = "on",
81
82
  Off = "off",
@@ -103,13 +104,6 @@ export declare enum SnapshotExtractionInterval {
103
104
  }
104
105
  export declare enum VpnServer {
105
106
  None = "None",
106
- OpenVPN1 = "OpenVPN1",
107
- OpenVPN2 = "OpenVPN2",
108
- OpenVPN3 = "OpenVPN3",
109
- OpenVPN4 = "OpenVPN4",
110
- OpenVPN5 = "OpenVPN5",
111
- PPTP1 = "PPTP1",
112
- PPTP2 = "PPTP2",
113
107
  WireGuard1 = "WireGuard1",
114
108
  WireGuard2 = "WireGuard2",
115
109
  WireGuard3 = "WireGuard3",
@@ -119,5 +113,6 @@ export declare enum VpnServer {
119
113
  WireGuard7 = "WireGuard7",
120
114
  WireGuard8 = "WireGuard8",
121
115
  WireGuard9 = "WireGuard9",
122
- WireGuard10 = "WireGuard10"
116
+ WireGuard10 = "WireGuard10",
117
+ WgHub = "WgHub"
123
118
  }
@@ -1,8 +1,23 @@
1
+ export type RingCompleteLinkingPayload = {
2
+ nonce: string;
3
+ time: string;
4
+ };
5
+ /** The only auto-import status complete-linking returns today. */
6
+ export declare const RING_AUTO_IMPORT_QUEUED = "queued";
7
+ export type RingAutoImportStatus = typeof RING_AUTO_IMPORT_QUEUED;
8
+ export type RingCompleteLinkingResponsePayload = {
9
+ status: string;
10
+ /** Absent when the API did not schedule an import. */
11
+ autoImport?: RingAutoImportStatus;
12
+ };
1
13
  export type RingDevice = {
2
14
  deviceId: string;
3
15
  name: string;
4
- deviceType: string;
16
+ /** Resolved from Ring's `device-status`; null when Ring did not return it. */
17
+ online: boolean | null;
18
+ deviceType: string | null;
5
19
  firmwareVersion: string | null;
20
+ /** Always null — Ring's API does not expose device power level. */
6
21
  batteryLife: number | null;
7
22
  location: string | null;
8
23
  imported: boolean;
@@ -13,21 +28,6 @@ export type RingDevice = {
13
28
  export type RingDevicesResponsePayload = {
14
29
  devices: RingDevice[];
15
30
  };
16
- export type RingImportDevicesPayload = {
17
- deviceIds: string[];
18
- projectExid: string;
19
- deviceNames?: Record<string, string>;
20
- };
21
- export type RingImportResponsePayload = {
22
- cameras: Array<{
23
- exid: string;
24
- name: string;
25
- }>;
26
- project: {
27
- exid: string;
28
- name: string;
29
- };
30
- };
31
31
  export type RingMoveDevicePayload = {
32
32
  projectExid: string;
33
33
  };
@@ -3,23 +3,15 @@ export declare enum RoiType {
3
3
  AnprContext = "anpr_context",
4
4
  ExclusionZone = "exclusion_zone",
5
5
  WorkflowArea = "workflow_area",
6
- SiteAnalytics = "site_analytics"
6
+ SiteAnalytics = "site_analytics",
7
+ Ppe = "ppe_roi"
7
8
  }
8
9
  export declare enum RoiShapeType {
9
10
  Polygon = "polygon",
10
11
  Line = "line",
11
12
  Direction = "direction",
12
- Rectangle = "rectangle",
13
- ROIBox = "ROIBox"
13
+ Rectangle = "rectangle"
14
14
  }
15
- export type RoiShape = {
16
- id: number | null;
17
- name: string;
18
- x1: number;
19
- x2: number;
20
- y1: number;
21
- y2: number;
22
- };
23
15
  export declare enum RoiDirection {
24
16
  Arrived = "arrived",
25
17
  Left = "left",
@@ -1,6 +1,7 @@
1
1
  export type RouteParams = {
2
2
  projectExid?: string;
3
3
  cameraExid?: string;
4
+ mediaExid?: string;
4
5
  timestamp?: string;
5
6
  fromDate?: string;
6
7
  toDate?: string;
@@ -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}`;
@@ -124,15 +128,21 @@ export type FeedbackPayload = {
124
128
  messageId?: number;
125
129
  conversationId?: number;
126
130
  };
127
- export type Stringified<T> = string & {
128
- [P in keyof T]: {
129
- "_ value": T[P];
130
- };
131
+ export type TuplePoint2D = [number, number];
132
+ export type TuplePoint3D = [number, number, number];
133
+ export type Point2D = {
134
+ x: number;
135
+ y: number;
136
+ };
137
+ export type Point3D = {
138
+ x: number;
139
+ y: number;
140
+ z: number;
141
+ };
142
+ export type GeoPoint = {
143
+ lat: number;
144
+ lng: number;
131
145
  };
132
- export interface JSON {
133
- stringify<T>(value: T, replacer?: (key: string, value: unknown) => unknown, space?: string | number): string & Stringified<T>;
134
- parse<T>(text: Stringified<T>, reviver?: (key: unknown, value: unknown) => unknown): T;
135
- }
136
146
  export type Exid = string;
137
147
  export type EntityByExid<Entity extends unknown> = Record<Exid, Entity>;
138
148
  export type BatteryVoltage = {
@@ -159,16 +169,6 @@ export declare enum TimelinePrecision {
159
169
  Minute = "minute",
160
170
  Events = "events"
161
171
  }
162
- export type EntityStatsQueryParams = {
163
- period: "day" | "week" | "month";
164
- startDate: string;
165
- endDate: string;
166
- };
167
- export type EntityStat = {
168
- period: string;
169
- name: string;
170
- count: number;
171
- };
172
172
  export declare enum TaskStatus {
173
173
  Idle = "idle",
174
174
  Loading = "loading",
@@ -33,14 +33,6 @@ export type SharedUsersResponsePayload = Array<{
33
33
  email: string;
34
34
  name: string;
35
35
  }>;
36
- export type ShareCreateRequestPayload = {
37
- email: string[] | string;
38
- message?: string;
39
- permission?: string;
40
- rights: string;
41
- apiId?: string;
42
- apiKey?: string;
43
- };
44
36
  export type ShareCreateResponsePayload = {
45
37
  shares: Share[];
46
38
  shareRequests: ShareRequest[];
@@ -51,8 +43,3 @@ export declare enum InviteStatus {
51
43
  Used = 1,
52
44
  Failed = -2
53
45
  }
54
- export declare enum ShareVisibility {
55
- PublicDiscoverable = "publicDiscoverable",
56
- PublicUndiscoverable = "publicUndiscoverable",
57
- Private = "private"
58
- }
@@ -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 = {
@@ -232,7 +232,7 @@ export type SiteAnalyticsProcessingStatus = {
232
232
  feature: CameraFeatureFlag;
233
233
  processedIntervals: TimelineDateInterval[];
234
234
  };
235
- export type SmartSearchRequestPayload = {
235
+ export type SmartSearchRequestPayload = PaginationParams & {
236
236
  cameraExids?: CameraExid[];
237
237
  drawingIds?: _360FloorId[];
238
238
  walkIds?: string[];
@@ -240,8 +240,6 @@ export type SmartSearchRequestPayload = {
240
240
  payload: SmartSearchBackendQuery;
241
241
  fromDate?: string;
242
242
  toDate?: string;
243
- page?: number;
244
- pageSize?: number;
245
243
  threshold?: number;
246
244
  };
247
245
  type SmartSearchResultItemBase = {
@@ -0,0 +1,117 @@
1
+ import { CameraExid, DateType, PaginationParams, ProjectExid } from "@evercam/api/types";
2
+ export type SiteAnalyticsCoolifyStatus = {
3
+ appUuid: string | null;
4
+ name: string | null;
5
+ serverUuid: string | null;
6
+ serverName: string | null;
7
+ appUrl: string | null;
8
+ status: string | null;
9
+ isRunning: boolean;
10
+ updatedAt: string | null;
11
+ };
12
+ export type SiteAnalyticsProjectMeta = {
13
+ exid: ProjectExid;
14
+ name: string | null;
15
+ timezone: string | null;
16
+ featureFlags: string[] | null;
17
+ };
18
+ export type SiteAnalyticsCameraMeta = {
19
+ exid: CameraExid;
20
+ name: string | null;
21
+ status: string | null;
22
+ featureFlags: string[] | null;
23
+ };
24
+ export type SiteAnalyticsManagedApp = {
25
+ id: number;
26
+ projectExid: ProjectExid;
27
+ cameraExid: CameraExid;
28
+ coolifyAppId: string | null;
29
+ appVersion: string;
30
+ modelId: number | null;
31
+ startDate: DateType | null;
32
+ endDate: DateType | null;
33
+ startHour: number;
34
+ endHour: number;
35
+ source: string;
36
+ override: boolean;
37
+ timeIncreaseFrequency: number;
38
+ skipWeekends: boolean;
39
+ tracking: boolean;
40
+ observations: boolean;
41
+ insertedAt: DateType | null;
42
+ updatedAt: DateType | null;
43
+ coolify: SiteAnalyticsCoolifyStatus | null;
44
+ project: SiteAnalyticsProjectMeta | null;
45
+ camera: SiteAnalyticsCameraMeta | null;
46
+ lastTrackingAt: DateType | null;
47
+ };
48
+ export type CreateSiteAnalyticsAppPayload = {
49
+ projectExid: ProjectExid;
50
+ cameraExid: CameraExid;
51
+ coolifyServerUuid: string;
52
+ appVersion?: string;
53
+ modelId?: number | null;
54
+ startDate?: DateType | null;
55
+ endDate?: DateType | null;
56
+ startHour?: number;
57
+ endHour?: number;
58
+ source?: string;
59
+ override?: boolean;
60
+ skipWeekends?: boolean;
61
+ timeIncreaseFrequency?: number;
62
+ tracking?: boolean;
63
+ observations?: boolean;
64
+ observationPromptId?: number | null;
65
+ };
66
+ export type UpdateSiteAnalyticsAppPayload = Partial<Omit<CreateSiteAnalyticsAppPayload, "projectExid" | "cameraExid" | "coolifyServerUuid">>;
67
+ export type ModelOption = {
68
+ modelId: number;
69
+ version: string;
70
+ };
71
+ export type SiteAnalyticsAppConfigFormValue = {
72
+ appVersion: string;
73
+ modelId: number | null;
74
+ startDate: string | null;
75
+ endDate: string | null;
76
+ startHour: number;
77
+ endHour: number;
78
+ source: string;
79
+ override: boolean;
80
+ timeIncreaseFrequency: number;
81
+ skipWeekends: boolean;
82
+ };
83
+ export type SiteAnalyticsManagementListParams = PaginationParams & {
84
+ projectExid?: ProjectExid;
85
+ includeStatus?: boolean;
86
+ };
87
+ export type CreateSiteAnalyticsAppResponse = {
88
+ created: boolean;
89
+ id: number | null;
90
+ data: SiteAnalyticsManagedApp | null;
91
+ count: number | null;
92
+ message: string;
93
+ };
94
+ export type DeleteSiteAnalyticsAppResponse = {
95
+ deleted: boolean;
96
+ count: number;
97
+ message: string;
98
+ };
99
+ export type ObservationConfigActivity = {
100
+ observationTypeId: number;
101
+ every: number | null;
102
+ };
103
+ export type ObservationConfig = {
104
+ id: number;
105
+ cameraExid: CameraExid;
106
+ projectExid: ProjectExid | null;
107
+ enabled: boolean;
108
+ activities: ObservationConfigActivity[];
109
+ createdBy: string | null;
110
+ insertedAt: DateType | null;
111
+ updatedAt: DateType | null;
112
+ };
113
+ export type UpsertObservationConfigPayload = {
114
+ projectExid?: ProjectExid;
115
+ enabled: boolean;
116
+ activities: ObservationConfigActivity[];
117
+ };
@@ -0,0 +1,73 @@
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
+ accDrawingsAlignments?: Record<string, ForgeAccAlignmentData>;
57
+ timeline?: TimelineItem[];
58
+ savedView?: ForgeView;
59
+ markers?: ForgeMarker[];
60
+ };
61
+ export type ItwinModel = {
62
+ name: string;
63
+ iTwinId: string;
64
+ iModelId: string;
65
+ changeSetId?: string;
66
+ isIModel: boolean;
67
+ height?: number;
68
+ cesiumId?: number;
69
+ markerDistanceThreshold: number;
70
+ };
71
+ export type ItwinProjectData = {
72
+ models: ItwinModel[];
73
+ };