@evercam/api 1.0.0-a59703ab2 → 1.0.0-a5ed7fc12

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 (104) hide show
  1. package/README.md +1 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +209 -15
  3. package/dist/api/api/adminApi.d.ts +104 -57
  4. package/dist/api/api/aiApi.d.ts +182 -55
  5. package/dist/api/api/authzApi.d.ts +26 -16
  6. package/dist/api/api/client/axios.d.ts +1 -1
  7. package/dist/api/api/client/swr/Swr.d.ts +1 -1
  8. package/dist/api/api/evercamApi.d.ts +152 -90
  9. package/dist/api/api/evercamLabsApi.d.ts +6 -18
  10. package/dist/api/api/exNvrApi.d.ts +1 -1
  11. package/dist/api/api/index.d.ts +1 -0
  12. package/dist/api/api/ingestApi.d.ts +128 -58
  13. package/dist/api/api/ptzApi.d.ts +9 -4
  14. package/dist/api/api/reportsApi.d.ts +15 -0
  15. package/dist/api/api/videoWallApi.d.ts +2 -2
  16. package/dist/api/api/weatherApi.d.ts +2 -2
  17. package/dist/api/types/360.d.ts +176 -85
  18. package/dist/api/types/aconex.d.ts +9 -9
  19. package/dist/api/types/admin.d.ts +51 -0
  20. package/dist/api/types/aiConfigs.d.ts +244 -0
  21. package/dist/api/types/analytics.d.ts +134 -74
  22. package/dist/api/types/anpr.d.ts +48 -2
  23. package/dist/api/types/apiKey.d.ts +70 -0
  24. package/dist/api/types/auditLogs.d.ts +163 -20
  25. package/dist/api/types/authz.d.ts +116 -12
  26. package/dist/api/types/autodesk.d.ts +7 -7
  27. package/dist/api/types/automation.d.ts +65 -3
  28. package/dist/api/types/axios.d.ts +20 -15
  29. package/dist/api/types/bim.d.ts +39 -10
  30. package/dist/api/types/camera.d.ts +127 -120
  31. package/dist/api/types/comments.d.ts +16 -11
  32. package/dist/api/types/company.d.ts +43 -3
  33. package/dist/api/types/compare.d.ts +21 -6
  34. package/dist/api/types/connector.d.ts +5 -5
  35. package/dist/api/types/coolify.d.ts +18 -2
  36. package/dist/api/types/detections.d.ts +23 -18
  37. package/dist/api/types/drone.d.ts +95 -6
  38. package/dist/api/types/errors.d.ts +18 -2
  39. package/dist/api/types/gateReport.d.ts +46 -68
  40. package/dist/api/types/gateReportManagement.d.ts +170 -0
  41. package/dist/api/types/hammertech.d.ts +98 -0
  42. package/dist/api/types/hdd.d.ts +26 -1
  43. package/dist/api/types/index.d.ts +16 -3
  44. package/dist/api/types/ingest.d.ts +267 -17
  45. package/dist/api/types/kit.d.ts +55 -105
  46. package/dist/api/types/map.d.ts +12 -0
  47. package/dist/api/types/media.d.ts +9 -3
  48. package/dist/api/types/notification.d.ts +83 -3
  49. package/dist/api/types/nvr.d.ts +8 -8
  50. package/dist/api/types/oauth.d.ts +62 -0
  51. package/dist/api/types/observationEvents.d.ts +141 -0
  52. package/dist/api/types/observations.d.ts +80 -0
  53. package/dist/api/types/planner.d.ts +98 -8
  54. package/dist/api/types/posthog.d.ts +35 -0
  55. package/dist/api/types/procore.d.ts +13 -6
  56. package/dist/api/types/progressPhoto.d.ts +6 -2
  57. package/dist/api/types/project.d.ts +111 -25
  58. package/dist/api/types/recording.d.ts +9 -15
  59. package/dist/api/types/recycleBin.d.ts +1 -1
  60. package/dist/api/types/reports.d.ts +108 -0
  61. package/dist/api/types/ring.d.ts +53 -0
  62. package/dist/api/types/roi.d.ts +3 -11
  63. package/dist/api/types/routeParams.d.ts +1 -0
  64. package/dist/api/types/router.d.ts +1 -1
  65. package/dist/api/types/shared.d.ts +42 -25
  66. package/dist/api/types/shares.d.ts +1 -14
  67. package/dist/api/types/sim.d.ts +6 -6
  68. package/dist/api/types/siteAnalytics.d.ts +81 -43
  69. package/dist/api/types/siteAnalyticsManagement.d.ts +127 -0
  70. package/dist/api/types/siteView.d.ts +78 -0
  71. package/dist/api/types/smartSeach.d.ts +5 -0
  72. package/dist/api/types/snapshots.d.ts +49 -4
  73. package/dist/api/types/socket.d.ts +4 -0
  74. package/dist/api/types/storageProvider.d.ts +19 -0
  75. package/dist/api/types/storyblok.d.ts +27 -0
  76. package/dist/api/types/streaming.d.ts +3 -3
  77. package/dist/api/types/tag.d.ts +1 -1
  78. package/dist/api/types/time.d.ts +0 -18
  79. package/dist/api/types/timelapse.d.ts +7 -11
  80. package/dist/api/types/user.d.ts +106 -37
  81. package/dist/api/types/videoWall.d.ts +21 -21
  82. package/dist/api/types/weather.d.ts +75 -11
  83. package/dist/api/types/widget.d.ts +71 -12
  84. package/dist/api/types/xweather.d.ts +4 -4
  85. package/dist/api/utils.d.ts +1 -1
  86. package/dist/index.js +2453 -962
  87. package/dist/index.js.map +1 -1
  88. package/dist/index.umd.cjs +1 -1
  89. package/dist/index.umd.cjs.map +1 -1
  90. package/dist/shared/types/components.d.ts +375 -34
  91. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  92. package/dist/shared/types/droneUpload.d.ts +93 -0
  93. package/dist/shared/types/imagePlayer.d.ts +9 -2
  94. package/dist/shared/types/index.d.ts +5 -0
  95. package/dist/shared/types/observations.d.ts +25 -0
  96. package/dist/shared/types/rbac.d.ts +67 -0
  97. package/dist/shared/types/report.d.ts +107 -0
  98. package/dist/shared/types/timeline.d.ts +2 -1
  99. package/dist/shared/utils/datePickerValue.d.ts +36 -0
  100. package/dist/shared/utils/datePresets.d.ts +31 -0
  101. package/package.json +4 -2
  102. package/dist/api/types/copilot.d.ts +0 -157
  103. package/dist/api/types/storageServers.d.ts +0 -4
  104. package/dist/api/types/vendorModel.d.ts +0 -15
@@ -1,4 +1,35 @@
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[];
19
+ export type PolygonCoordinates = PolygonPath[];
20
+ export interface GeoJSONPolygon {
21
+ type: "Polygon";
22
+ coordinates: PolygonCoordinates;
23
+ }
24
+ export declare enum PlannerUrlParams {
25
+ SitePlanId = "site_plan_id",
26
+ IsNewSitePlan = "is_new_site_plan",
27
+ IsBoundsMode = "is_bounds_mode",
28
+ ProjectPosition = "project_position",
29
+ DealId = "deal_id"
30
+ }
1
31
  export declare enum EDistortImageModes {
32
+ Edit = "edit",
2
33
  FreeRotate = "freeRotate",
3
34
  Lock = "lock",
4
35
  Rotate = "rotate",
@@ -21,15 +52,74 @@ export declare enum EPageType {
21
52
  List = "list",
22
53
  Item = "item"
23
54
  }
24
- export declare enum EPaths {
25
- Home = "/",
26
- Session = "/session"
27
- }
28
- export declare enum EProjectItems {
29
- Camera = "camera",
30
- Overlay = "overlay"
31
- }
32
55
  export declare enum ERoles {
33
56
  Admin = "admin",
34
57
  User = "user"
35
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
+ };
96
+ export interface IDrawControl {
97
+ _toolbars: {
98
+ draw: {
99
+ _activeMode: {
100
+ handler: {
101
+ disable(): void;
102
+ completeShape(): void;
103
+ };
104
+ };
105
+ _modes: {
106
+ polygon: {
107
+ handler: {
108
+ enable(): void;
109
+ };
110
+ };
111
+ };
112
+ };
113
+ edit: {
114
+ _modes: {
115
+ edit: {
116
+ handler: {
117
+ enable(): void;
118
+ disable(): void;
119
+ save(): void;
120
+ };
121
+ };
122
+ };
123
+ };
124
+ };
125
+ }
@@ -16,3 +16,38 @@ 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
+ };
39
+ export type PosthogUserParams = {
40
+ firstname?: string;
41
+ lastname?: string;
42
+ email: string;
43
+ telephone?: string;
44
+ country?: string;
45
+ isAdmin?: boolean;
46
+ persona?: string;
47
+ companyExid: string;
48
+ companyName: string;
49
+ isImpersonationLogin: boolean;
50
+ ImpersonatedUserEmail?: string;
51
+ ImpersonatedUserFirstname?: string;
52
+ impersonatedUserLastname?: string;
53
+ };
@@ -44,7 +44,7 @@ export type ProcoreObservationSpecificationSection = {
44
44
  label: string;
45
45
  currentRevisionId: number;
46
46
  };
47
- export type ProcoreUserProjectsResponsePayload = Array<{
47
+ export type ProcoreUserProject = {
48
48
  accountingProjectNumber?: number;
49
49
  active: boolean;
50
50
  address: string;
@@ -85,7 +85,8 @@ export type ProcoreUserProjectsResponsePayload = Array<{
85
85
  totalValue: string;
86
86
  updatedAt: string;
87
87
  zip: number;
88
- }>;
88
+ };
89
+ export type ProcoreUserProjectsResponsePayload = Array<ProcoreUserProject>;
89
90
  export type ProcoreToolUserAccessLevel = {
90
91
  id: ProcoreToolUserAccessLevelIds;
91
92
  name: string;
@@ -120,7 +121,7 @@ export type ProcoreEditedImageUploadRequestPayload = {
120
121
  snapshot: string;
121
122
  categoryId?: number;
122
123
  };
123
- export type ProcoreProjectsAlbumsPayload = Array<{
124
+ export type ProcoreProjectAlbum = {
124
125
  count: number;
125
126
  coverPhoto: string | null;
126
127
  createdAt: string;
@@ -134,8 +135,9 @@ export type ProcoreProjectsAlbumsPayload = Array<{
134
135
  position: number;
135
136
  private: boolean;
136
137
  updatedAt: string;
137
- }>;
138
- export type ProcoreObservationTypesResponsePayload = Array<{
138
+ };
139
+ export type ProcoreProjectsAlbumsPayload = Array<ProcoreProjectAlbum>;
140
+ export type ProcoreObservationType = {
139
141
  id: number;
140
142
  name: string;
141
143
  localizedName: string;
@@ -147,12 +149,17 @@ export type ProcoreObservationTypesResponsePayload = Array<{
147
149
  parentInactive: boolean;
148
150
  isUse: boolean;
149
151
  nameTranslations: string;
150
- }>;
152
+ };
153
+ export type ProcoreObservationTypesResponsePayload = Array<ProcoreObservationType>;
151
154
  export type ProcoreObservationFormRequestPayload = {
152
155
  projectId: number;
153
156
  companyId: number;
154
157
  observationType: string;
155
158
  };
159
+ export type ProcoreCustomFieldOptionsRequestPayload = {
160
+ optionsUrl: string;
161
+ companyId: number;
162
+ };
156
163
  export type ProcoreObservationForm = Record<string, ProcoreObservationField | ProcoreObservationCustomField>;
157
164
  export type ProcoreObservationField = {
158
165
  name: string;
@@ -1,4 +1,4 @@
1
- import { Automation, AutomationType, DateTime, DateType, PaginationParams } from "@/types";
1
+ import { Automation, AutomationType, DateType, PaginationParams } from "@evercam/api/types";
2
2
  export type ProgressPhotosCreateUpdateRequestPayload = {
3
3
  cameraExids?: string;
4
4
  notifyDays?: string;
@@ -8,6 +8,7 @@ export type ProgressPhotosCreateUpdateRequestPayload = {
8
8
  type?: string;
9
9
  config?: {
10
10
  compareDelay?: AutomationType;
11
+ period?: number;
11
12
  recipients?: string;
12
13
  projectId?: number;
13
14
  companyId?: number;
@@ -24,6 +25,9 @@ export type ProgressPhotosUnSubscribeParams = {
24
25
  export type ProgressPhotosResponsePayload = {
25
26
  progressPhotos: Automation[];
26
27
  };
28
+ export type ProgressPhotoItemResponsePayload = {
29
+ progressPhotos: Automation;
30
+ };
27
31
  export declare enum AutomationDialogType {
28
32
  Create = "create",
29
33
  Edit = "edit",
@@ -70,5 +74,5 @@ export type ProgressPhotosHistory = {
70
74
  cameraIds: string;
71
75
  failedCameraIds: string;
72
76
  subject: string;
73
- recipients: DateTime;
77
+ recipients: string;
74
78
  };
@@ -1,25 +1,56 @@
1
- import { AdminCamera, Camera, CameraExid, DateRangeFilter, DateTime, DateType, EntityByExid, Exid, PaginationParams } from "@/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 = {
5
- id: string | number;
6
- exid: ProjectExid;
7
- name: string;
8
- status?: ProjectStatus;
9
- insertedAt?: string;
10
- startedAt?: string;
11
- timezone?: string;
12
- zohoId?: string;
13
- userId?: number;
5
+ archiveTier?: ProjectArchiveTier;
14
6
  cameras?: Array<Camera | AdminCamera>;
15
- unrestrictedCameras?: Array<Camera | AdminCamera>;
7
+ camerasCount?: number;
8
+ camerasRestrictionType?: string;
9
+ companyId: number;
10
+ endDate: string;
11
+ exid: ProjectExid;
16
12
  featureFlags: Array<ProjectFeatureFlag>;
13
+ geographicBounds?: unknown;
14
+ id: string | number;
15
+ insertedAt?: string;
16
+ name: string;
17
17
  owner?: {
18
18
  email?: string;
19
19
  };
20
20
  ownerEmail?: string;
21
21
  ownerName?: string;
22
- camerasRestrictionType?: string;
22
+ startedAt?: string;
23
+ status?: ProjectStatus;
24
+ timezone?: string;
25
+ unrestrictedCameras?: Camera[];
26
+ userId?: number;
27
+ zohoId?: string;
28
+ };
29
+ export type AdminProjectCameraRef = {
30
+ exid: string;
31
+ name: string;
32
+ };
33
+ export type AdminProjectListItem = {
34
+ id: number;
35
+ name: string;
36
+ status: ProjectStatus | string;
37
+ insertedAt: string;
38
+ timezone: string | null;
39
+ exid: ProjectExid;
40
+ endDate: string | null;
41
+ startDate: string | null;
42
+ archiveTier: ProjectArchiveTier | null;
43
+ featureFlags: Array<ProjectFeatureFlag | string>;
44
+ zohoId: string | null;
45
+ ownerEmail: string | null;
46
+ companyId: number | null;
47
+ companyName: string | null;
48
+ ownerName: string | null;
49
+ archived: boolean;
50
+ cameras?: AdminProjectCameraRef[];
51
+ };
52
+ export type AdminProjectDetail = AdminProjectListItem & {
53
+ userId: number;
23
54
  };
24
55
  export declare enum ProjectStatus {
25
56
  ToStart = "To Start",
@@ -31,15 +62,22 @@ export declare enum ProjectArchiveTier {
31
62
  Full = "Full",
32
63
  Partial = "Partial",
33
64
  Minimal = "Minimal",
34
- ScheduledForDeletion = "Scheduled for Deletion"
65
+ ScheduledForDeletion = "Scheduled for Deletion",
66
+ No = "No"
35
67
  }
36
- export type ProjectResponsePayload = {
37
- data?: Project[];
38
- };
39
68
  export type UpdateCameraRestrictionPayload = {
40
69
  isAccessRestricted?: boolean;
41
70
  };
71
+ export type CameraPosition = {
72
+ cameraExid: CameraExid;
73
+ position: number;
74
+ };
75
+ export type ReorderCamerasPayload = {
76
+ positions: CameraPosition[];
77
+ };
42
78
  export type Logo = {
79
+ id: number;
80
+ projectId: number;
43
81
  name: string;
44
82
  url: string;
45
83
  };
@@ -58,10 +96,10 @@ export declare enum ProjectFeatureFlag {
58
96
  MediaHubSharing = "archives_sharing",
59
97
  GateReportAnprBased = "anpr_sourced",
60
98
  NoLicensePlate = "no_license_plate",
61
- DefaultToProjectApp = "default_to_project_app",
62
99
  SmartSearch = "smart_search",
63
100
  PpeMonitoring = "ppe_monitoring",
64
- NoGdpr = "no_gdpr"
101
+ NoGdpr = "no_gdpr",
102
+ Chat = "chat"
65
103
  }
66
104
  export type ProjectBatteryReading = {
67
105
  exid: number;
@@ -79,6 +117,7 @@ export type ProjectsQueryParams = PaginationParams & {
79
117
  status: ProjectStatus;
80
118
  cameras: string;
81
119
  featureFlags: Array<ProjectFeatureFlag>;
120
+ featureFlagsOperator?: Operator;
82
121
  archived: string;
83
122
  };
84
123
  export type ProjectCreateRequestPayload = {
@@ -117,7 +156,7 @@ export type ProjectUserProperty = {
117
156
  eventsCount: number;
118
157
  fullname: string;
119
158
  id: number;
120
- lastSeenAt: DateTime;
159
+ lastSeenAt: string;
121
160
  persona: string;
122
161
  };
123
162
  export type ProjectUsers = {
@@ -127,38 +166,46 @@ export type ProjectUsers = {
127
166
  }[];
128
167
  users: Record<string, ProjectUserProperty[]>;
129
168
  };
130
- export type ProjectDateRangeFilter = DateRangeFilter & {
131
- projectExid: ProjectExid;
132
- };
133
169
  export type ProjectRole = {
134
- id: string;
170
+ id: number;
135
171
  name: string;
136
172
  };
137
173
  export type ProjectMember = {
138
174
  id: string;
175
+ key?: string;
139
176
  email: string;
140
177
  fullname: string;
141
- lastSeenAt?: DateTime;
178
+ lastSeenAt?: string;
142
179
  role: ProjectRole;
143
180
  permissions?: string[];
144
181
  subRoles?: Array<{
145
182
  resourceId: string;
146
183
  roleId: number;
147
184
  }>;
185
+ company?: {
186
+ name: string;
187
+ } | null;
148
188
  };
149
189
  export type ProjectInvite = {
150
- id?: string;
190
+ id: number;
151
191
  email: string;
152
192
  role?: ProjectRole;
193
+ permissions?: string[];
194
+ subRoles?: Array<{
195
+ resourceId: string;
196
+ roleId: number;
197
+ }>;
153
198
  invitedAt?: string;
154
199
  };
155
200
  export type ProjectMembersResponsePayload = {
156
201
  users: ProjectMember[];
157
202
  invites: ProjectInvite[];
203
+ errors: ProjectUserError[];
158
204
  };
159
205
  export type ProjectMembersRequestPayload = {
160
206
  roleId: number;
161
207
  emails: string[];
208
+ message?: string;
162
209
  overrideRole?: Partial<{
163
210
  permissions?: string[];
164
211
  subRoles?: Array<{
@@ -171,3 +218,42 @@ export type ProjectInviteMembersResponsePayload = {
171
218
  users: ProjectMember[];
172
219
  invites: ProjectInvite[];
173
220
  };
221
+ export type PlaceholderThumbnailData = {
222
+ placeholder: string;
223
+ };
224
+ export type ProjectUserError = {
225
+ email: string;
226
+ error: Record<string, string[]>;
227
+ };
228
+ export type ProjectUsersResponsePayload = {
229
+ users: ProjectMember[];
230
+ invites: ProjectInvite[];
231
+ errors: ProjectUserError[];
232
+ };
233
+ export type MentionableUser = {
234
+ id: number;
235
+ fullname: string;
236
+ email: string;
237
+ };
238
+ export type ProjectStorageQueryParams = PaginationParams & {
239
+ cameraName: string;
240
+ cameraExid: CameraExid;
241
+ status: ProjectStorageStatus;
242
+ };
243
+ export type ProjectStorage = {
244
+ id: number;
245
+ cameraExid: CameraExid;
246
+ cameraName: string;
247
+ projectExid: string;
248
+ projectName: string;
249
+ status: ProjectStorageStatus;
250
+ requestor: string;
251
+ created_at: DateType;
252
+ };
253
+ export declare enum ProjectStorageStatus {
254
+ New = "new",
255
+ Pending = "pending",
256
+ Processing = "processing",
257
+ Completed = "completed",
258
+ Failed = "failed"
259
+ }
@@ -1,22 +1,24 @@
1
- import { ApiCredentials } from "@/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
  };
@@ -56,8 +56,7 @@ export type SnapshotRangeResponsePayload = {
56
56
  snapshots: Array<SnapshotInstance>;
57
57
  };
58
58
  export declare enum BrainTool {
59
- Detections = "detections",
60
- Segmentation = "sam"
59
+ Detections = "detections"
61
60
  }
62
61
  export declare enum CloudRecordingFrequency {
63
62
  EverySecond = 60,
@@ -77,6 +76,7 @@ export declare enum CloudRecordingDuration {
77
76
  Month = 30,
78
77
  ThreeMonths = 90
79
78
  }
79
+ export declare const CloudRecordingDurationLabel: Record<CloudRecordingDuration, string>;
80
80
  export declare enum CloudRecordingStatus {
81
81
  On = "on",
82
82
  Off = "off",
@@ -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,4 +1,4 @@
1
- import type { DateType, PaginationParams } from "@/types";
1
+ import type { DateType, PaginationParams } from "@evercam/api/types";
2
2
  export type RecycleBin = {
3
3
  id?: number;
4
4
  exid: string;
@@ -0,0 +1,108 @@
1
+ /**
2
+ * The Evercam Reports engine (evercam-agent-kit), as the admin app sees it.
3
+ *
4
+ * These mirror `evercam_reports/api/schemas.py`. The engine speaks camelCase over
5
+ * the wire, so the admin client reads it with `preserveCasing: true` and these are
6
+ * the shapes as received. Named `Chat*`, after the product; the Vue 3 agent app's
7
+ * own workflow types live in `packages/agent`, unreachable here.
8
+ */
9
+ /** What kind of conversation this is. Chat only ever opens `chat`. */
10
+ export declare enum ChatMode {
11
+ Report = "report",
12
+ Chat = "chat"
13
+ }
14
+ /** Whose conversations a list covers. Only an admin is ever given `all`. */
15
+ export declare enum ChatScope {
16
+ Mine = "mine",
17
+ Account = "account",
18
+ All = "all"
19
+ }
20
+ /** A flat token tally, as the engine reports it. */
21
+ export type ChatUsage = {
22
+ inputTokens?: number;
23
+ outputTokens?: number;
24
+ cacheCreationInputTokens?: number;
25
+ cacheReadInputTokens?: number;
26
+ };
27
+ /** One recorded tool step in a turn's trace, compacted by the engine. */
28
+ export type ChatTraceStep = {
29
+ step?: number | null;
30
+ tool?: string | null;
31
+ result?: string | null;
32
+ durationMs?: number | null;
33
+ usage?: ChatUsage | null;
34
+ args?: unknown;
35
+ };
36
+ /** One stored turn, as the engine returns it inside a conversation. */
37
+ export type ChatTurn = {
38
+ id: string;
39
+ userText?: string | null;
40
+ assistantText?: string | null;
41
+ thinkingSummary?: string | null;
42
+ artifact?: unknown;
43
+ /** The agent's tool steps for this answer. Absent on turns stored before traces. */
44
+ trace?: ChatTraceStep[] | null;
45
+ /** This turn's own token usage. */
46
+ usage?: ChatUsage | null;
47
+ runId?: string | null;
48
+ at?: string | null;
49
+ };
50
+ /** A conversation in full, with its transcript, cost ledger and per-turn traces. */
51
+ export type ChatSession = {
52
+ id: string;
53
+ environment: string;
54
+ mode: string;
55
+ title: string | null;
56
+ projectExid: string | null;
57
+ projectName: string | null;
58
+ cameraExids: string[] | null;
59
+ turns: ChatTurn[];
60
+ savedReportId: string | null;
61
+ createdBy: string | null;
62
+ createdAt: string;
63
+ updatedAt: string;
64
+ usage?: ChatUsage | null;
65
+ usageByModel?: Record<string, ChatUsage> | null;
66
+ model?: string | null;
67
+ /** Money as a string, or `null` (never `0`) when the conversation is unpriced. */
68
+ costUsd?: string | null;
69
+ priceBasis?: Record<string, unknown> | null;
70
+ };
71
+ /** One conversation as a list row — metadata and cost, without the transcript. */
72
+ export type ChatSummary = {
73
+ id: string;
74
+ environment: string;
75
+ mode: string;
76
+ title: string | null;
77
+ projectExid: string | null;
78
+ projectName: string | null;
79
+ cameraExids: string[] | null;
80
+ createdBy: string | null;
81
+ createdAt: string;
82
+ updatedAt: string;
83
+ turnCount: number;
84
+ usage?: ChatUsage | null;
85
+ model?: string | null;
86
+ costUsd?: string | null;
87
+ };
88
+ /** A page of conversations for the admin viewer. */
89
+ export type ChatListPage = {
90
+ chats: ChatSummary[];
91
+ total: number;
92
+ /** The scope the engine actually applied. */
93
+ scope: ChatScope;
94
+ };
95
+ /** Query params the admin conversations list accepts. */
96
+ export type ChatListParams = {
97
+ scope?: ChatScope;
98
+ mode?: ChatMode;
99
+ projectExid?: string;
100
+ createdBy?: string;
101
+ q?: string;
102
+ from?: string;
103
+ to?: string;
104
+ sort?: string;
105
+ direction?: "asc" | "desc";
106
+ offset?: number;
107
+ limit?: number;
108
+ };