@evercam/api 1.0.0-0871e2da6 → 1.0.0-095233f21

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 (65) 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 +31 -20
  4. package/dist/api/api/aiApi.d.ts +127 -4
  5. package/dist/api/api/authzApi.d.ts +5 -3
  6. package/dist/api/api/evercamApi.d.ts +39 -14
  7. package/dist/api/api/evercamLabsApi.d.ts +5 -5
  8. package/dist/api/api/ingestApi.d.ts +63 -48
  9. package/dist/api/types/360.d.ts +168 -83
  10. package/dist/api/types/aiConfigs.d.ts +244 -0
  11. package/dist/api/types/analytics.d.ts +46 -23
  12. package/dist/api/types/anpr.d.ts +31 -2
  13. package/dist/api/types/auditLogs.d.ts +18 -1
  14. package/dist/api/types/authz.d.ts +72 -0
  15. package/dist/api/types/automation.d.ts +32 -4
  16. package/dist/api/types/axios.d.ts +11 -12
  17. package/dist/api/types/bim.d.ts +28 -5
  18. package/dist/api/types/camera.d.ts +35 -46
  19. package/dist/api/types/comments.d.ts +16 -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 +8 -1
  29. package/dist/api/types/ingest.d.ts +104 -4
  30. package/dist/api/types/kit.d.ts +43 -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 +52 -2
  34. package/dist/api/types/observationEvents.d.ts +141 -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 +20 -3
  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 +127 -0
  47. package/dist/api/types/siteView.d.ts +73 -0
  48. package/dist/api/types/snapshots.d.ts +48 -3
  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 +6 -9
  52. package/dist/api/types/user.d.ts +16 -4
  53. package/dist/api/utils.d.ts +1 -1
  54. package/dist/index.js +2023 -788
  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 +158 -39
  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 +3 -0
  62. package/dist/shared/types/observations.d.ts +25 -0
  63. package/dist/shared/types/rbac.d.ts +67 -0
  64. package/package.json +4 -2
  65. package/dist/api/types/vendorModel.d.ts +0 -15
@@ -1,7 +1,62 @@
1
- import { type _360Scene, type Media, type DroneModel, type MobileCaptureSnapshot, type TimelineDateInterval, type TimelinePrecision, type Comment, type ProcoreUserProject, type ProcoreProjectAlbum, type ProcoreObservationType, type AconexUserProject, type AutodeskUserHub, type AutodeskProject, type AutodeskFolder, type ProcoreType, TaskStatus, Tag } from "@evercam/shared/types";
1
+ import { type _360Scene, type Media, type DroneModel, type MobileCaptureSnapshot, type TimelineDateInterval, type TimelinePrecision, type Comment, type ProcoreUserProject, type ProcoreProjectAlbum, type ProcoreObservationType, type AconexUserProject, type AutodeskUserHub, type AutodeskProject, type AutodeskFolder, type ProcoreType, type HammertechProject, type HammertechIssueType, type HammertechPriority, type HammertechClassification, type HammertechFileFieldValue, Tag, TuplePoint2D, CameraStatus } from "@evercam/shared/types";
2
+ import type { AdminCamera, Camera, IngestUploadInitResponse } from "@evercam/api/types";
2
3
  import type { TimelineChartType, TimelineEvent, TimelineEventsGroup } from "@evercam/ui";
3
4
  import { TimelineDataProvider } from "@evercam/shared/components/timelinePlayer/providers";
4
5
  import { SeriesOptionsType } from "highcharts";
6
+ export type ReorderableCamera = Camera & {
7
+ thumbnailSrc?: string;
8
+ batteryLevel?: {
9
+ voltage: number;
10
+ level: string;
11
+ icon: string;
12
+ color: string;
13
+ } | null;
14
+ };
15
+ export type SelectItem = {
16
+ text: string;
17
+ value: string | number;
18
+ };
19
+ export type RoiProjectGroup = {
20
+ exid: string;
21
+ name: string;
22
+ cameras: AdminCamera[];
23
+ };
24
+ export declare enum IframeMessageType {
25
+ LiveView = "liveView",
26
+ EditSnapshot = "editSnapshot",
27
+ Weather = "weather",
28
+ CameraInfo = "cameraInfo",
29
+ AnalyticsEvent = "analyticsEvent",
30
+ Ready = "ready",
31
+ Info = "info",
32
+ GateReport = "gateReport",
33
+ CreateCompare = "createCompare",
34
+ UploadDrone = "uploadDrone",
35
+ UploadBIM = "uploadBIM",
36
+ History = "history",
37
+ PerformanceScore = "performanceScore",
38
+ ShareLink = "shareLink",
39
+ LoadForgeModel = "loadForgeModel",
40
+ LoadPlannerList = "loadPlannerList",
41
+ SaveProjectBounds = "saveProjectBounds",
42
+ ArchiveComment = "archiveComment",
43
+ UnarchiveComment = "unarchiveComment",
44
+ DeleteComment = "deleteComment",
45
+ CreateComment = "createComment",
46
+ RefreshComments = "refreshComments",
47
+ CommentSyncFailed = "commentSyncFailed",
48
+ Load360Gallery = "load360Gallery",
49
+ Upload360 = "upload360",
50
+ FetchForgeToken = "FetchForgeToken",
51
+ ForgeTokenResponse = "ForgeTokenResponse",
52
+ ShowBimUploadChoice = "showBimUploadChoice",
53
+ ViewerLaunchFlags = "viewerLaunchFlags",
54
+ Fetch360DrawingIds = "fetch360DrawingIds",
55
+ DrawingIdsResponse = "drawingIdsResponse",
56
+ CloseCameraMarkerPreview = "CloseCameraMarkerPreview",
57
+ ProjectMembers = "projectMembers",
58
+ FocusComment = "focusComment"
59
+ }
5
60
  export declare enum NavigationArrow {
6
61
  Previous = "previous",
7
62
  Next = "next"
@@ -11,31 +66,12 @@ export declare enum WatermarkedImageDownloadOrigin {
11
66
  Bim = "BIM",
12
67
  Snapshot = "snapshot",
13
68
  The360 = "360",
14
- The360Gallery = "360 Gallery",
15
69
  Planner = "Planner"
16
70
  }
17
71
  export declare enum PlayerMode {
18
72
  Video = "video",
19
73
  Jpegs = "jpegs"
20
74
  }
21
- export type TasksStatusMap = {
22
- [key: string]: TaskStatus;
23
- };
24
- export type TaskProgressItem = {
25
- status: TaskStatus;
26
- description: string;
27
- percentDone?: number;
28
- duration?: number;
29
- };
30
- export type GlobalSearchMatch = {
31
- path: Array<string>;
32
- value: string | number | boolean;
33
- };
34
- export type GlobalSearchResult = {
35
- index: number;
36
- matches: Array<GlobalSearchMatch>;
37
- };
38
- export type GlobalSearchResultInput = Array<Record<any, any> | Array<any>>;
39
75
  export type TimelineProviderRequestParams = TimelineDateInterval & {
40
76
  precision?: TimelinePrecision;
41
77
  labels?: string[];
@@ -118,8 +154,8 @@ export type LeaderLineOptions = {
118
154
  startPlugSize?: number;
119
155
  endPlugSize?: number;
120
156
  path?: LeaderLinesPathType;
121
- startSocketGravity?: [number, number];
122
- endSocketGravity?: [number, number];
157
+ startSocketGravity?: TuplePoint2D;
158
+ endSocketGravity?: TuplePoint2D;
123
159
  dash?: {
124
160
  animation: boolean | {
125
161
  duration: number;
@@ -136,10 +172,6 @@ export type LineConfig = {
136
172
  end: CssSelector | CssSelector[];
137
173
  options?: LeaderLineOptions;
138
174
  };
139
- export type Point = {
140
- x: number;
141
- y: number;
142
- };
143
175
  export declare enum ZohoDeskTicketStatus {
144
176
  Closed = "Closed",
145
177
  OnHold = "On Hold",
@@ -150,12 +182,14 @@ export type TagSelectorItem = Tag & {
150
182
  };
151
183
  export declare enum FormSchemaComponents {
152
184
  SelectField = "SelectField",
185
+ HierarchicalSelect = "HierarchicalSelectField",
153
186
  MultiOption = "MultiOption",
154
187
  TextField = "TextField",
155
188
  SwitchField = "SwitchField",
156
189
  CheckBox = "CheckBoxField",
157
190
  Date = "DatePickerInput",
158
191
  DateTime = "DateTimeField",
192
+ Time = "TimeField",
159
193
  TextArea = "Textarea",
160
194
  Search = "Autocomplete",
161
195
  ReadOnly = "ReadOnly",
@@ -170,6 +204,7 @@ export declare enum FormSchemaDataType {
170
204
  export type FormSchemaOptions = {
171
205
  title: string;
172
206
  value: string;
207
+ parentId?: string | null;
173
208
  };
174
209
  export type FormSchemaField = {
175
210
  id: string;
@@ -184,8 +219,20 @@ export type FormSchemaField = {
184
219
  columns?: number;
185
220
  };
186
221
  export type FormSchema = Record<string, FormSchemaField>;
222
+ export type DrawingStats = {
223
+ overlay: boolean;
224
+ geolocated: boolean;
225
+ isCalibrated: boolean;
226
+ walks: number;
227
+ markers: number;
228
+ minimodel: number;
229
+ bim: number;
230
+ comments: number;
231
+ lastCapturedDate: string | null;
232
+ };
187
233
  export interface ScrollListener {
188
234
  element: Element | Window;
235
+ event: "scroll" | "resize";
189
236
  handler: () => void;
190
237
  }
191
238
  export interface LeaderLineInstance {
@@ -199,24 +246,25 @@ export type SnapshotCardItem = {
199
246
  placeholderThumbnailUrl?: string;
200
247
  fallbackThumbnailUrl?: string;
201
248
  };
202
- export type DocumentExtended = Document & {
203
- webkitIsFullScreen?: boolean;
204
- mozFullScreen?: boolean;
205
- msFullscreenElement?: Element | null;
206
- fullscreenElement?: Element;
207
- webkitFullscreenElement?: Element;
208
- mozFullScreenElement?: Element;
209
- };
210
249
  export type HighchartsSeriesWithData<T extends number = number> = SeriesOptionsType & {
211
250
  data: T[];
212
251
  };
252
+ export type NotificationTitleSegment = {
253
+ text: string;
254
+ isBold?: boolean;
255
+ };
213
256
  export type FormattedNotificationData = {
214
257
  title: string;
258
+ titleSegments?: NotificationTitleSegment[];
215
259
  link: string;
216
260
  thumbnail?: string;
217
- icon?: string;
218
- drone?: boolean;
219
- is360?: boolean;
261
+ icon: string;
262
+ excerpt?: string;
263
+ commentTarget?: {
264
+ commentId: number;
265
+ dateId: string | number;
266
+ floorId: string;
267
+ };
220
268
  };
221
269
  export type FormattedNotification = FormattedNotificationData & {
222
270
  date: string;
@@ -245,6 +293,20 @@ export type AutodeskUploadFormData = {
245
293
  project: AutodeskProject | null;
246
294
  folder: AutodeskFolder | null;
247
295
  };
296
+ export type HammertechUploadFormData = {
297
+ project: HammertechProject | null;
298
+ issueType: HammertechIssueType | null;
299
+ description: string;
300
+ priority: HammertechPriority | null;
301
+ dueDate: string | null;
302
+ classification: HammertechClassification | null;
303
+ locationId: string | null;
304
+ isPositiveObservation: boolean;
305
+ isPhotoForFixRequired: boolean;
306
+ customFieldFormId: string | null;
307
+ customFieldValues: Record<string, unknown>;
308
+ fileCustomFieldValues: Record<string, HammertechFileFieldValue>;
309
+ };
248
310
  export interface MediaHubFilters {
249
311
  title: string;
250
312
  requesterEmail: string | undefined;
@@ -261,10 +323,67 @@ export interface MediaHubSortParameter {
261
323
  export type TableHeaderParams<TItem = unknown> = {
262
324
  value: string;
263
325
  text: string;
264
- cellClass?: string;
265
326
  align?: string;
266
327
  sortable?: boolean;
267
328
  visible?: boolean;
268
- width?: number;
329
+ width?: number | string;
330
+ copyable?: boolean;
269
331
  toStringFn?: (item: TItem, key: string) => any;
332
+ sort?: (a: unknown, b: unknown) => number;
333
+ };
334
+ export type BimUploadObject = IngestUploadInitResponse & {
335
+ projectName: string;
336
+ };
337
+ export type BimUploadFileResult = {
338
+ url: string;
339
+ title: string;
340
+ fileExtension: string;
341
+ };
342
+ export type CameraCardItem = {
343
+ thumbnail: string;
344
+ title: string;
345
+ exid: string;
346
+ status: CameraStatus;
347
+ disabled: boolean;
348
+ to: string;
349
+ isOffline: boolean;
350
+ isWaiting: boolean;
351
+ isUnderNda: boolean;
352
+ isAdmin: boolean;
353
+ batteryVoltage: number | null;
354
+ };
355
+ export type ThreeSixtyGalleryView = "drawings" | "walks";
356
+ export interface ThreeSixtyWalk {
357
+ id: string;
358
+ name: string;
359
+ date: string;
360
+ monthKey: string;
361
+ color: string;
362
+ dateId: string;
363
+ floorId: string;
364
+ commentCount: number;
365
+ hasBim: boolean;
366
+ hasMinimodel: boolean;
367
+ }
368
+ export interface ThreeSixtyWalkGroup {
369
+ date: string;
370
+ walks: ThreeSixtyWalk[];
371
+ }
372
+ export type DrawingSelection = {
373
+ pageNumber: number;
374
+ size: number;
375
+ thumbnail: string | null;
376
+ pageCount: number;
377
+ };
378
+ export type CommentCardComment = {
379
+ id?: number | string;
380
+ content?: string;
381
+ createdAt?: string;
382
+ archivedAt?: string;
383
+ creatorName?: string;
384
+ label?: string;
385
+ timestamp?: string;
386
+ cameraExid?: string;
387
+ position3d?: number[];
388
+ canDelete?: boolean;
270
389
  };
@@ -0,0 +1,10 @@
1
+ export declare enum CustomDataTableFilterType {
2
+ Select = "SelectSearchFilter",
3
+ Text = "TextFieldSearchFilter"
4
+ }
5
+ export interface CustomDataTableFilterField<T = unknown> {
6
+ component: CustomDataTableFilterType;
7
+ attributes?: Record<string, unknown>;
8
+ customFilter?: (item: T, fieldName: string, search: unknown) => boolean;
9
+ }
10
+ export type CustomDataTableFilterFields<T = unknown> = Record<string, CustomDataTableFilterField<T>>;
@@ -13,7 +13,7 @@ export type EventMarker<T extends {}> = T & {
13
13
  label: string;
14
14
  thumbnailUrl: string;
15
15
  isActive: boolean;
16
- cssClass?: Object | string;
16
+ markerType?: RecordingsMarker;
17
17
  };
18
18
  export type SnapshotEvent<T extends {}> = T & {
19
19
  eventTime: Timestamp;
@@ -22,6 +22,13 @@ export type MatchedSnapshotEvent<T extends {}> = SnapshotEvent<T> & {
22
22
  frameIndex: number;
23
23
  snapshotTimestamp: Timestamp;
24
24
  };
25
+ export declare enum RecordingsMarker {
26
+ Comment = "comment",
27
+ GateReport = "gate-report",
28
+ Anpr = "anpr",
29
+ Detection = "detection",
30
+ SmartSearch = "smart-search"
31
+ }
25
32
  export declare enum ImageQuality {
26
33
  ThreeSixty = "360",
27
34
  FourEighty = "480",
@@ -1,4 +1,7 @@
1
1
  export * from "@evercam/api/types";
2
2
  export * from "./components";
3
+ export * from "./customDataTableFilters";
3
4
  export * from "./imagePlayer";
4
5
  export * from "./timeline";
6
+ export * from "./rbac";
7
+ export * from "./observations";
@@ -0,0 +1,25 @@
1
+ export type ObservationsTableHeader = {
2
+ isThumbnail?: boolean;
3
+ visible: boolean;
4
+ divider: boolean;
5
+ sortable: boolean;
6
+ text: string;
7
+ value: string;
8
+ class: string;
9
+ align: string;
10
+ };
11
+ export type ObservationsCountDay = {
12
+ day: string;
13
+ };
14
+ export type ObservationsTableOptionsUpdate = {
15
+ page: number;
16
+ sortBy: string[];
17
+ sortDesc: boolean[];
18
+ };
19
+ export type ObservationsEventsTableState = {
20
+ height: number | string;
21
+ };
22
+ export type ObservationTypeOption = {
23
+ value: string;
24
+ label: string;
25
+ };
@@ -0,0 +1,67 @@
1
+ import type { ProjectMember, ProjectInvite, ProjectResourceRole } from "@evercam/api/types";
2
+ export type HasRoleChangedFn<T = ProjectMember | ProjectInvite> = (entity: T, baseRole: ProjectResourceRole) => boolean;
3
+ export type ProjectRoleData = {
4
+ id?: number;
5
+ name: string;
6
+ description?: string | null;
7
+ permissions: string[];
8
+ subRoles?: Array<{
9
+ resourceId: string;
10
+ roleId: number | null;
11
+ }>;
12
+ };
13
+ export type ProjectResourcePermission = {
14
+ id: string;
15
+ name: string;
16
+ description?: string;
17
+ requires?: string;
18
+ };
19
+ export type ProjectResource = {
20
+ id: string;
21
+ name: string;
22
+ permissions: ProjectResourcePermission[];
23
+ };
24
+ export type ProjectPermissionWarning = {
25
+ resourceId: string;
26
+ message: string;
27
+ type?: string;
28
+ cameraExids?: string[];
29
+ accessLevel?: string;
30
+ grantAllPermissions?: boolean;
31
+ };
32
+ export type ProjectDisabledPermission = {
33
+ id: string;
34
+ reason: string;
35
+ };
36
+ export type CameraAccessFilters = {
37
+ memberName: string;
38
+ memberEmail: string;
39
+ cameraName: string;
40
+ };
41
+ export type CameraAccessLevelConfig = {
42
+ id: string;
43
+ name: string;
44
+ description: string;
45
+ permissions: string[];
46
+ };
47
+ export declare enum CameraStatusGroup {
48
+ Active = "active",
49
+ Pending = "pending",
50
+ Archived = "archived"
51
+ }
52
+ export type CameraStatusGroupConfig = {
53
+ text: string;
54
+ icon: string;
55
+ color: string;
56
+ };
57
+ export type CameraFeatureIconConfig = {
58
+ icon: string;
59
+ tooltip: string;
60
+ };
61
+ export type RecipientRule = {
62
+ blocked: string[];
63
+ };
64
+ export type RecipientRules = {
65
+ notExistingRecipients?: RecipientRule;
66
+ notPendingInviteRecipients?: RecipientRule;
67
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evercam/api",
3
- "version": "1.0.0-0871e2da6",
3
+ "version": "1.0.0-095233f21",
4
4
  "description": "Evercam API client",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,6 +28,8 @@
28
28
  },
29
29
  "readme": "README.md",
30
30
  "scripts": {
31
+ "preinstall": "node ../shared/ci-scripts/check-bootstrap.js",
32
+ "bootstrap": "node ../shared/ci-scripts/bootstrap.js",
31
33
  "clean": "rimraf dist",
32
34
  "typecheck": "tsc --noEmit",
33
35
  "build:types": "tsc --declaration --emitDeclarationOnly",
@@ -36,7 +38,7 @@
36
38
  "publish-api": "cd ../.. && yarn publish-api"
37
39
  },
38
40
  "devDependencies": {
39
- "@types/node": "^25.5.0",
41
+ "@types/node": "^25.9.1",
40
42
  "vite": "latest",
41
43
  "vite-plugin-commonjs": "^0.10.3",
42
44
  "vite-plugin-dts": "^4.5.4"
@@ -1,15 +0,0 @@
1
- export type VendorModel = {
2
- cameraCount: number;
3
- exid: string;
4
- h264Url: string;
5
- jpgUrl: string;
6
- name: string;
7
- online: number;
8
- playbackUrl: string;
9
- };
10
- export type VendorModelRequestPayload = {
11
- sort: string;
12
- };
13
- export type VendorModelResponsePayload = {
14
- data: VendorModel[];
15
- };