@evercam/api 1.0.0-79849e0e7 → 1.0.0-7e7332709

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 (63) hide show
  1. package/README.md +1 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +204 -15
  3. package/dist/api/api/adminApi.d.ts +20 -15
  4. package/dist/api/api/aiApi.d.ts +62 -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 +13 -3
  9. package/dist/api/types/360.d.ts +190 -74
  10. package/dist/api/types/aiConfigs.d.ts +146 -0
  11. package/dist/api/types/analytics.d.ts +34 -11
  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 +46 -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 +95 -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 +7 -1
  29. package/dist/api/types/ingest.d.ts +15 -3
  30. package/dist/api/types/kit.d.ts +38 -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 +12 -2
  34. package/dist/api/types/observations.d.ts +85 -0
  35. package/dist/api/types/planner.d.ts +55 -10
  36. package/dist/api/types/posthog.d.ts +20 -0
  37. package/dist/api/types/project.d.ts +9 -1
  38. package/dist/api/types/recording.d.ts +7 -13
  39. package/dist/api/types/ring.d.ts +16 -16
  40. package/dist/api/types/roi.d.ts +3 -11
  41. package/dist/api/types/routeParams.d.ts +1 -0
  42. package/dist/api/types/shared.d.ts +18 -18
  43. package/dist/api/types/shares.d.ts +0 -13
  44. package/dist/api/types/siteAnalytics.d.ts +3 -5
  45. package/dist/api/types/siteAnalyticsManagement.d.ts +90 -0
  46. package/dist/api/types/siteView.d.ts +73 -0
  47. package/dist/api/types/snapshots.d.ts +13 -0
  48. package/dist/api/types/socket.d.ts +4 -0
  49. package/dist/api/types/storyblok.d.ts +0 -13
  50. package/dist/api/types/timelapse.d.ts +4 -8
  51. package/dist/api/types/user.d.ts +1 -4
  52. package/dist/api/utils.d.ts +0 -1
  53. package/dist/index.js +1607 -661
  54. package/dist/index.js.map +1 -1
  55. package/dist/index.umd.cjs +1 -1
  56. package/dist/index.umd.cjs.map +1 -1
  57. package/dist/shared/types/components.d.ts +102 -35
  58. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  59. package/dist/shared/types/imagePlayer.d.ts +8 -1
  60. package/dist/shared/types/index.d.ts +2 -0
  61. package/dist/shared/types/observations.d.ts +21 -0
  62. package/package.json +4 -2
  63. package/dist/api/types/vendorModel.d.ts +0 -15
@@ -2,3 +2,15 @@ export declare enum MapType {
2
2
  Hybrid = "hybrid",
3
3
  Terrain = "terrain"
4
4
  }
5
+ export type MapView = {
6
+ east?: number;
7
+ floorID?: string;
8
+ image?: string;
9
+ mapStyle?: MapType;
10
+ name: string;
11
+ north?: number;
12
+ projectId: string;
13
+ projectName: string;
14
+ south?: number;
15
+ west?: number;
16
+ };
@@ -43,7 +43,8 @@ export declare enum MediaFileType {
43
43
  Mp4 = "mp4",
44
44
  Png = "png",
45
45
  Pdf = "pdf",
46
- Jpeg = "jpeg"
46
+ Jpeg = "jpeg",
47
+ Csv = "csv"
47
48
  }
48
49
  export declare enum MediaStatus {
49
50
  Pending = "Pending",
@@ -93,7 +94,7 @@ export type MediaCreateRequestPayload = {
93
94
  cameraExid?: string;
94
95
  requestedBy?: string;
95
96
  notes?: string;
96
- category?: ClipsCategory;
97
+ category?: MediaCategory | ClipsCategory;
97
98
  isUrgent?: boolean;
98
99
  storeAsType?: MediaType;
99
100
  };
@@ -108,6 +109,11 @@ export declare enum ClipsCategory {
108
109
  Marketing = "marketing",
109
110
  BestPracticies = "best_practices"
110
111
  }
112
+ export declare enum MediaCategory {
113
+ Weather = "weather",
114
+ SmartSearch = "smart_search",
115
+ Copilot = "copilot"
116
+ }
111
117
  export type MediaDeleteRequestPayload = {
112
118
  timelapseIds: (string | number)[];
113
119
  compareIds: (string | number)[];
@@ -5,7 +5,13 @@ export declare enum NotificationType {
5
5
  TimelapseCreated = "timelapse_created",
6
6
  TimelapseFailed = "timelapse_failed",
7
7
  DroneProcessing = "drone_processing_done",
8
- Processing360 = "three_sixty_done"
8
+ Processing360 = "three_sixty_done",
9
+ SmartSearchExportReady = "smart_search_export_ready",
10
+ SmartSearchExportFailed = "smart_search_export_failed",
11
+ GateReportExportReady = "gate_report_export_ready",
12
+ GateReportExportFailed = "gate_report_export_failed",
13
+ PpeExportReady = "ppe_export_ready",
14
+ PpeExportFailed = "ppe_export_failed"
9
15
  }
10
16
  export interface NotificationContextBase {
11
17
  cameraExid?: string;
@@ -41,7 +47,11 @@ export interface Processing360Context extends NotificationContextBase {
41
47
  date: string;
42
48
  floor: string;
43
49
  }
44
- export type NotificationContext = CameraShareContext | CameraStatusChangeContext | MentionContext | TimelapseCreatedContext | TimelapseFailedContext | DroneProcessingContext | Processing360Context;
50
+ export interface ExportNotificationContext extends NotificationContextBase {
51
+ projectExid: string;
52
+ archiveExid?: string;
53
+ }
54
+ export type NotificationContext = CameraShareContext | CameraStatusChangeContext | MentionContext | TimelapseCreatedContext | TimelapseFailedContext | DroneProcessingContext | Processing360Context | ExportNotificationContext;
45
55
  export type Notification = {
46
56
  id: number;
47
57
  type: NotificationType;
@@ -0,0 +1,85 @@
1
+ import { type ProjectExid, type CameraExid, type DateType, type BBox, PpeLabel, DownloadFileType } from "@evercam/api/types";
2
+ export declare enum ObservationItemState {
3
+ Absent = 0,
4
+ Present = 1,
5
+ NotVisible = 2
6
+ }
7
+ export type ObservationEventEquipment = {
8
+ score: number;
9
+ bbox: BBox;
10
+ };
11
+ export type ObservationEvent = {
12
+ id: number;
13
+ cameraExid: CameraExid;
14
+ projectExid: ProjectExid;
15
+ capturedAt: DateType;
16
+ personIndex: number;
17
+ personBbox: BBox;
18
+ personScore: number;
19
+ ppe: Partial<Record<PpeLabel, ObservationEventEquipment>>;
20
+ hasHelmet: ObservationItemState | null;
21
+ hasHighVisVest: ObservationItemState | null;
22
+ hasGloves: ObservationItemState | null;
23
+ hasGlasses: ObservationItemState | null;
24
+ modelVersion: string;
25
+ createdAt: DateType;
26
+ compliant: boolean;
27
+ reason: string | null;
28
+ isApproved: boolean | null;
29
+ };
30
+ export type ObservationEventsQueryParams = {
31
+ cameraExid?: CameraExid;
32
+ fromDate?: string;
33
+ toDate?: string;
34
+ required?: string;
35
+ compliant?: boolean;
36
+ hasHelmet?: boolean;
37
+ hasHighVisVest?: boolean;
38
+ hasGloves?: boolean;
39
+ hasGlasses?: boolean;
40
+ sort?: string;
41
+ page?: number;
42
+ limit?: number;
43
+ };
44
+ export type ObservationEventsExportQueryParams = {
45
+ cameraExid?: CameraExid;
46
+ fromDate: string;
47
+ toDate: string;
48
+ required?: string;
49
+ compliant?: boolean;
50
+ fileType: DownloadFileType;
51
+ directDownload?: boolean;
52
+ includeInvalid?: boolean;
53
+ };
54
+ export type ObservationApprovalUpdateResponse = {
55
+ updated: boolean;
56
+ id: number | string | null;
57
+ message: string;
58
+ };
59
+ export declare enum ObservationCountsGranularity {
60
+ Day = "day",
61
+ Week = "week",
62
+ Month = "month"
63
+ }
64
+ export type ObservationEventsCountsQueryParams = {
65
+ cameraExid?: CameraExid;
66
+ fromDate?: string;
67
+ toDate?: string;
68
+ required?: string;
69
+ compliant?: boolean;
70
+ hasHelmet?: boolean;
71
+ hasHighVisVest?: boolean;
72
+ hasGloves?: boolean;
73
+ hasGlasses?: boolean;
74
+ granularity?: ObservationCountsGranularity;
75
+ };
76
+ export type ObservationEventCount = {
77
+ bucket: DateType;
78
+ total: number;
79
+ compliant: number;
80
+ nonCompliant: number;
81
+ };
82
+ export declare enum ObservationRequiredItem {
83
+ Helmet = "has_helmet",
84
+ HighVisVest = "has_high_vis_vest"
85
+ }
@@ -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";
@@ -35,18 +51,47 @@ export declare enum EPageType {
35
51
  List = "list",
36
52
  Item = "item"
37
53
  }
38
- export declare enum EPaths {
39
- Home = "/",
40
- Session = "/session"
41
- }
42
- export declare enum EProjectItems {
43
- Camera = "camera",
44
- Overlay = "overlay"
45
- }
46
54
  export declare enum ERoles {
47
55
  Admin = "admin",
48
56
  User = "user"
49
57
  }
58
+ export type PlannerOverlay = {
59
+ imageUrl?: string;
60
+ corners?: {
61
+ topLeft: GeoPoint;
62
+ topRight: GeoPoint;
63
+ bottomLeft: GeoPoint;
64
+ bottomRight: GeoPoint;
65
+ } | null;
66
+ };
67
+ export type PlannerCameraMarker = {
68
+ name?: string;
69
+ location?: GeoPoint;
70
+ heading?: number;
71
+ fovAngle?: number;
72
+ fovRadius?: number;
73
+ isVisible?: boolean;
74
+ color?: string;
75
+ };
76
+ export type SitePlanBounds = {
77
+ northEast: GeoPoint;
78
+ southWest: GeoPoint;
79
+ };
80
+ export type SitePlan = {
81
+ id?: string;
82
+ projectId?: string;
83
+ owner?: string;
84
+ lastUpdatedBy?: string;
85
+ projectName?: string;
86
+ projectLocation?: string;
87
+ projectMapType?: EMapTypes;
88
+ projectBounds?: SitePlanBounds;
89
+ overlay?: PlannerOverlay;
90
+ markers?: PlannerCameraMarker[];
91
+ thumbnailUrl?: string;
92
+ createdDate?: string;
93
+ updatedDate?: string;
94
+ };
50
95
  export interface IDrawControl {
51
96
  _toolbars: {
52
97
  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 = {
@@ -68,6 +68,13 @@ export declare enum ProjectArchiveTier {
68
68
  export type UpdateCameraRestrictionPayload = {
69
69
  isAccessRestricted?: boolean;
70
70
  };
71
+ export type CameraPosition = {
72
+ cameraExid: CameraExid;
73
+ position: number;
74
+ };
75
+ export type ReorderCamerasPayload = {
76
+ positions: CameraPosition[];
77
+ };
71
78
  export type Logo = {
72
79
  id: number;
73
80
  projectId: number;
@@ -110,6 +117,7 @@ export type ProjectsQueryParams = PaginationParams & {
110
117
  status: ProjectStatus;
111
118
  cameras: string;
112
119
  featureFlags: Array<ProjectFeatureFlag>;
120
+ featureFlagsOperator?: Operator;
113
121
  archived: string;
114
122
  };
115
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
  };
@@ -104,13 +104,6 @@ export declare enum SnapshotExtractionInterval {
104
104
  }
105
105
  export declare enum VpnServer {
106
106
  None = "None",
107
- OpenVPN1 = "OpenVPN1",
108
- OpenVPN2 = "OpenVPN2",
109
- OpenVPN3 = "OpenVPN3",
110
- OpenVPN4 = "OpenVPN4",
111
- OpenVPN5 = "OpenVPN5",
112
- PPTP1 = "PPTP1",
113
- PPTP2 = "PPTP2",
114
107
  WireGuard1 = "WireGuard1",
115
108
  WireGuard2 = "WireGuard2",
116
109
  WireGuard3 = "WireGuard3",
@@ -120,5 +113,6 @@ export declare enum VpnServer {
120
113
  WireGuard7 = "WireGuard7",
121
114
  WireGuard8 = "WireGuard8",
122
115
  WireGuard9 = "WireGuard9",
123
- WireGuard10 = "WireGuard10"
116
+ WireGuard10 = "WireGuard10",
117
+ WgHub = "WgHub"
124
118
  }
@@ -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,90 @@
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
+ insertedAt: DateType | null;
39
+ updatedAt: DateType | null;
40
+ coolify: SiteAnalyticsCoolifyStatus | null;
41
+ project: SiteAnalyticsProjectMeta | null;
42
+ camera: SiteAnalyticsCameraMeta | null;
43
+ lastTrackingAt: DateType | null;
44
+ };
45
+ export type CreateSiteAnalyticsAppPayload = {
46
+ projectExid: ProjectExid;
47
+ cameraExid: CameraExid;
48
+ coolifyServerUuid: string;
49
+ appVersion?: string;
50
+ modelId?: number | null;
51
+ startDate?: DateType | null;
52
+ endDate?: DateType | null;
53
+ startHour?: number;
54
+ endHour?: number;
55
+ source?: string;
56
+ override?: boolean;
57
+ timeIncreaseFrequency?: number;
58
+ };
59
+ export type UpdateSiteAnalyticsAppPayload = Partial<Omit<CreateSiteAnalyticsAppPayload, "projectExid" | "cameraExid" | "coolifyServerUuid">>;
60
+ export type ModelOption = {
61
+ modelId: number;
62
+ version: string;
63
+ };
64
+ export type SiteAnalyticsAppConfigFormValue = {
65
+ appVersion: string;
66
+ modelId: number | null;
67
+ startDate: string | null;
68
+ endDate: string | null;
69
+ startHour: number;
70
+ endHour: number;
71
+ source: string;
72
+ override: boolean;
73
+ timeIncreaseFrequency: number;
74
+ };
75
+ export type SiteAnalyticsManagementListParams = PaginationParams & {
76
+ projectExid?: ProjectExid;
77
+ includeStatus?: boolean;
78
+ };
79
+ export type CreateSiteAnalyticsAppResponse = {
80
+ created: boolean;
81
+ id: number | null;
82
+ data: SiteAnalyticsManagedApp | null;
83
+ count: number | null;
84
+ message: string;
85
+ };
86
+ export type DeleteSiteAnalyticsAppResponse = {
87
+ deleted: boolean;
88
+ count: number;
89
+ message: string;
90
+ };