@evercam/api 1.0.0-d7a4e6c9d → 1.0.0-d8d5ce969

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 (92) hide show
  1. package/README.md +1 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +202 -13
  3. package/dist/api/api/adminApi.d.ts +104 -96
  4. package/dist/api/api/aiApi.d.ts +117 -86
  5. package/dist/api/api/authzApi.d.ts +34 -15
  6. package/dist/api/api/client/axios.d.ts +2 -1
  7. package/dist/api/api/client/swr/Swr.d.ts +1 -1
  8. package/dist/api/api/evercamApi.d.ts +142 -101
  9. package/dist/api/api/evercamLabsApi.d.ts +7 -6
  10. package/dist/api/api/exNvrApi.d.ts +1 -1
  11. package/dist/api/api/ingestApi.d.ts +107 -46
  12. package/dist/api/api/ptzApi.d.ts +12 -3
  13. package/dist/api/api/videoWallApi.d.ts +2 -2
  14. package/dist/api/api/weatherApi.d.ts +2 -2
  15. package/dist/api/types/360.d.ts +281 -27
  16. package/dist/api/types/aconex.d.ts +9 -9
  17. package/dist/api/types/admin.d.ts +51 -0
  18. package/dist/api/types/aiConfigs.d.ts +154 -0
  19. package/dist/api/types/analytics.d.ts +145 -60
  20. package/dist/api/types/anpr.d.ts +48 -2
  21. package/dist/api/types/auditLogs.d.ts +19 -1
  22. package/dist/api/types/authz.d.ts +107 -0
  23. package/dist/api/types/autodesk.d.ts +7 -7
  24. package/dist/api/types/automation.d.ts +37 -3
  25. package/dist/api/types/axios.d.ts +19 -10
  26. package/dist/api/types/bim.d.ts +37 -6
  27. package/dist/api/types/camera.d.ts +100 -99
  28. package/dist/api/types/comments.d.ts +10 -11
  29. package/dist/api/types/company.d.ts +42 -1
  30. package/dist/api/types/compare.d.ts +20 -5
  31. package/dist/api/types/connector.d.ts +5 -5
  32. package/dist/api/types/coolify.d.ts +18 -2
  33. package/dist/api/types/copilot.d.ts +11 -6
  34. package/dist/api/types/credentials.d.ts +1 -0
  35. package/dist/api/types/detections.d.ts +23 -18
  36. package/dist/api/types/drone.d.ts +96 -6
  37. package/dist/api/types/errors.d.ts +11 -0
  38. package/dist/api/types/gateReport.d.ts +50 -158
  39. package/dist/api/types/gateReportManagement.d.ts +175 -0
  40. package/dist/api/types/hammertech.d.ts +98 -0
  41. package/dist/api/types/hdd.d.ts +26 -1
  42. package/dist/api/types/index.d.ts +13 -1
  43. package/dist/api/types/ingest.d.ts +110 -3
  44. package/dist/api/types/kit.d.ts +69 -7
  45. package/dist/api/types/map.d.ts +12 -0
  46. package/dist/api/types/media.d.ts +10 -3
  47. package/dist/api/types/notification.d.ts +43 -3
  48. package/dist/api/types/oauth.d.ts +62 -0
  49. package/dist/api/types/observations.d.ts +85 -0
  50. package/dist/api/types/planner.d.ts +101 -1
  51. package/dist/api/types/posthog.d.ts +35 -0
  52. package/dist/api/types/procore.d.ts +13 -6
  53. package/dist/api/types/progressPhoto.d.ts +6 -2
  54. package/dist/api/types/project.d.ts +136 -21
  55. package/dist/api/types/recording.d.ts +9 -12
  56. package/dist/api/types/recycleBin.d.ts +1 -1
  57. package/dist/api/types/ring.d.ts +53 -0
  58. package/dist/api/types/roi.d.ts +4 -3
  59. package/dist/api/types/router.d.ts +20 -1
  60. package/dist/api/types/shared.d.ts +30 -4
  61. package/dist/api/types/shares.d.ts +6 -144
  62. package/dist/api/types/sim.d.ts +6 -6
  63. package/dist/api/types/siteAnalytics.d.ts +171 -47
  64. package/dist/api/types/siteAnalyticsManagement.d.ts +92 -0
  65. package/dist/api/types/siteView.d.ts +73 -0
  66. package/dist/api/types/smartSeach.d.ts +5 -0
  67. package/dist/api/types/snapshots.d.ts +49 -4
  68. package/dist/api/types/storageProvider.d.ts +19 -0
  69. package/dist/api/types/storyblok.d.ts +40 -0
  70. package/dist/api/types/streaming.d.ts +3 -3
  71. package/dist/api/types/tag.d.ts +1 -1
  72. package/dist/api/types/time.d.ts +0 -18
  73. package/dist/api/types/timelapse.d.ts +8 -5
  74. package/dist/api/types/user.d.ts +106 -35
  75. package/dist/api/types/videoWall.d.ts +21 -21
  76. package/dist/api/types/weather.d.ts +75 -11
  77. package/dist/api/types/widget.d.ts +71 -12
  78. package/dist/api/types/xweather.d.ts +4 -4
  79. package/dist/api/utils.d.ts +0 -1
  80. package/dist/index.js +2126 -1040
  81. package/dist/index.js.map +1 -1
  82. package/dist/index.umd.cjs +1 -1
  83. package/dist/index.umd.cjs.map +1 -1
  84. package/dist/shared/types/components.d.ts +191 -16
  85. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  86. package/dist/shared/types/imagePlayer.d.ts +10 -3
  87. package/dist/shared/types/index.d.ts +3 -0
  88. package/dist/shared/types/observations.d.ts +21 -0
  89. package/dist/shared/types/rbac.d.ts +67 -0
  90. package/dist/shared/types/timeline.d.ts +2 -1
  91. package/package.json +4 -2
  92. package/dist/api/types/storageServers.d.ts +0 -4
@@ -1,6 +1,49 @@
1
- import { type _360Scene, type Media, type DroneModel, type MobileCaptureSnapshot, type TimelineDateInterval, type TimelinePrecision, type Comment, TaskStatus, Tag } from "@evercam/api/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, TaskStatus, Tag, TuplePoint2D } from "@evercam/shared/types";
2
+ import type { AdminCamera, 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";
5
+ import { SeriesOptionsType } from "highcharts";
6
+ export type SelectItem = {
7
+ text: string;
8
+ value: string | number;
9
+ };
10
+ export type RoiProjectGroup = {
11
+ exid: string;
12
+ name: string;
13
+ cameras: AdminCamera[];
14
+ };
15
+ export declare enum IframeMessageType {
16
+ LiveView = "liveView",
17
+ EditSnapshot = "editSnapshot",
18
+ Weather = "weather",
19
+ CameraInfo = "cameraInfo",
20
+ AnalyticsEvent = "analyticsEvent",
21
+ Ready = "ready",
22
+ Info = "info",
23
+ GateReport = "gateReport",
24
+ CreateCompare = "createCompare",
25
+ UploadDrone = "uploadDrone",
26
+ UploadBIM = "uploadBIM",
27
+ History = "history",
28
+ PerformanceScore = "performanceScore",
29
+ ShareLink = "shareLink",
30
+ LoadForgeModel = "loadForgeModel",
31
+ LoadPlannerList = "loadPlannerList",
32
+ SaveProjectBounds = "saveProjectBounds",
33
+ ArchiveComment = "archiveComment",
34
+ UnarchiveComment = "unarchiveComment",
35
+ DeleteComment = "deleteComment",
36
+ CreateComment = "createComment",
37
+ RefreshComments = "refreshComments",
38
+ CommentSyncFailed = "commentSyncFailed",
39
+ Load360Gallery = "load360Gallery",
40
+ Upload360 = "upload360",
41
+ FetchForgeToken = "FetchForgeToken",
42
+ ForgeTokenResponse = "ForgeTokenResponse",
43
+ ShowBimUploadChoice = "showBimUploadChoice",
44
+ ViewerLaunchFlags = "viewerLaunchFlags",
45
+ CloseCameraMarkerPreview = "CloseCameraMarkerPreview"
46
+ }
4
47
  export declare enum NavigationArrow {
5
48
  Previous = "previous",
6
49
  Next = "next"
@@ -10,7 +53,6 @@ export declare enum WatermarkedImageDownloadOrigin {
10
53
  Bim = "BIM",
11
54
  Snapshot = "snapshot",
12
55
  The360 = "360",
13
- The360Gallery = "360 Gallery",
14
56
  Planner = "Planner"
15
57
  }
16
58
  export declare enum PlayerMode {
@@ -48,13 +90,6 @@ export type TimelinePlayerGroupConfig = {
48
90
  export type TimelinePlayerConfig = {
49
91
  [groupName: string]: TimelinePlayerGroupConfig;
50
92
  };
51
- export type TimelinePlayerTooltipItem = {
52
- label?: string;
53
- title?: string;
54
- thumbnailUrl: string;
55
- placeholderThumbnailUrl?: string;
56
- fallbackThumbnailUrl?: string;
57
- };
58
93
  export declare enum TimelineGroupId {
59
94
  ThreeSixty = "w360",
60
95
  Drone = "drone",
@@ -124,8 +159,8 @@ export type LeaderLineOptions = {
124
159
  startPlugSize?: number;
125
160
  endPlugSize?: number;
126
161
  path?: LeaderLinesPathType;
127
- startSocketGravity?: [number, number];
128
- endSocketGravity?: [number, number];
162
+ startSocketGravity?: TuplePoint2D;
163
+ endSocketGravity?: TuplePoint2D;
129
164
  dash?: {
130
165
  animation: boolean | {
131
166
  duration: number;
@@ -142,10 +177,6 @@ export type LineConfig = {
142
177
  end: CssSelector | CssSelector[];
143
178
  options?: LeaderLineOptions;
144
179
  };
145
- export type Point = {
146
- x: number;
147
- y: number;
148
- };
149
180
  export declare enum ZohoDeskTicketStatus {
150
181
  Closed = "Closed",
151
182
  OnHold = "On Hold",
@@ -156,11 +187,14 @@ export type TagSelectorItem = Tag & {
156
187
  };
157
188
  export declare enum FormSchemaComponents {
158
189
  SelectField = "SelectField",
190
+ HierarchicalSelect = "HierarchicalSelectField",
159
191
  MultiOption = "MultiOption",
160
192
  TextField = "TextField",
161
- CheckBox = "SwitchField",
193
+ SwitchField = "SwitchField",
194
+ CheckBox = "CheckBoxField",
162
195
  Date = "DatePickerInput",
163
196
  DateTime = "DateTimeField",
197
+ Time = "TimeField",
164
198
  TextArea = "Textarea",
165
199
  Search = "Autocomplete",
166
200
  ReadOnly = "ReadOnly",
@@ -175,6 +209,7 @@ export declare enum FormSchemaDataType {
175
209
  export type FormSchemaOptions = {
176
210
  title: string;
177
211
  value: string;
212
+ parentId?: string | null;
178
213
  };
179
214
  export type FormSchemaField = {
180
215
  id: string;
@@ -189,11 +224,151 @@ export type FormSchemaField = {
189
224
  columns?: number;
190
225
  };
191
226
  export type FormSchema = Record<string, FormSchemaField>;
227
+ export type DrawingStats = {
228
+ overlay: boolean;
229
+ geolocated: boolean;
230
+ isCalibrated: boolean;
231
+ walks: number;
232
+ markers: number;
233
+ minimodel: number;
234
+ bim: number;
235
+ comments: number;
236
+ lastCapturedDate: string | null;
237
+ };
192
238
  export interface ScrollListener {
193
239
  element: Element | Window;
240
+ event: "scroll" | "resize";
194
241
  handler: () => void;
195
242
  }
196
243
  export interface LeaderLineInstance {
197
244
  remove(): void;
198
245
  position(): void;
199
246
  }
247
+ export type SnapshotCardItem = {
248
+ label?: string;
249
+ title?: string;
250
+ thumbnailUrl: string;
251
+ placeholderThumbnailUrl?: string;
252
+ fallbackThumbnailUrl?: string;
253
+ };
254
+ export type DocumentExtended = Document & {
255
+ webkitIsFullScreen?: boolean;
256
+ mozFullScreen?: boolean;
257
+ msFullscreenElement?: Element | null;
258
+ fullscreenElement?: Element;
259
+ webkitFullscreenElement?: Element;
260
+ mozFullScreenElement?: Element;
261
+ };
262
+ export type HighchartsSeriesWithData<T extends number = number> = SeriesOptionsType & {
263
+ data: T[];
264
+ };
265
+ export type NotificationTitleSegment = {
266
+ text: string;
267
+ isBold?: boolean;
268
+ };
269
+ export type FormattedNotificationData = {
270
+ title: string;
271
+ titleSegments?: NotificationTitleSegment[];
272
+ link: string;
273
+ thumbnail?: string;
274
+ icon?: string;
275
+ drone?: boolean;
276
+ is360?: boolean;
277
+ };
278
+ export type FormattedNotification = FormattedNotificationData & {
279
+ date: string;
280
+ read: boolean;
281
+ id: number;
282
+ thumbnailError?: boolean;
283
+ };
284
+ export type ProcoreProjectStepData = {
285
+ project: ProcoreUserProject | null;
286
+ album: ProcoreProjectAlbum | null;
287
+ observationType: ProcoreObservationType | null;
288
+ };
289
+ export type ProcoreUploadFormData = {
290
+ procoreType: ProcoreType;
291
+ project: ProcoreUserProject | null;
292
+ album: ProcoreProjectAlbum | null;
293
+ observationType: ProcoreObservationType | null;
294
+ observationForm: Record<string, string | number | boolean | null>;
295
+ };
296
+ export type AconexUploadFormData = {
297
+ project: AconexUserProject | null;
298
+ form: Record<string, string | number | boolean | null>;
299
+ };
300
+ export type AutodeskUploadFormData = {
301
+ hub: AutodeskUserHub | null;
302
+ project: AutodeskProject | null;
303
+ folder: AutodeskFolder | null;
304
+ };
305
+ export type HammertechUploadFormData = {
306
+ project: HammertechProject | null;
307
+ issueType: HammertechIssueType | null;
308
+ description: string;
309
+ priority: HammertechPriority | null;
310
+ dueDate: string | null;
311
+ classification: HammertechClassification | null;
312
+ locationId: string | null;
313
+ isPositiveObservation: boolean;
314
+ isPhotoForFixRequired: boolean;
315
+ customFieldFormId: string | null;
316
+ customFieldValues: Record<string, unknown>;
317
+ fileCustomFieldValues: Record<string, HammertechFileFieldValue>;
318
+ };
319
+ export interface MediaHubFilters {
320
+ title: string;
321
+ requesterEmail: string | undefined;
322
+ camera: string | undefined;
323
+ type: string;
324
+ fromDate: string;
325
+ toDate: string;
326
+ sortBy: string;
327
+ }
328
+ export interface MediaHubSortParameter {
329
+ label: string;
330
+ value: string;
331
+ }
332
+ export type TableHeaderParams<TItem = unknown> = {
333
+ value: string;
334
+ text: string;
335
+ cellClass?: string;
336
+ align?: string;
337
+ sortable?: boolean;
338
+ visible?: boolean;
339
+ width?: number | string;
340
+ copyable?: boolean;
341
+ toStringFn?: (item: TItem, key: string) => any;
342
+ sort?: (a: unknown, b: unknown) => number;
343
+ };
344
+ export type BimUploadObject = IngestUploadInitResponse & {
345
+ projectName: string;
346
+ };
347
+ export type BimUploadFileResult = {
348
+ url: string;
349
+ title: string;
350
+ fileExtension: string;
351
+ };
352
+ export interface ThreeSixtyWalk {
353
+ id: string;
354
+ name: string;
355
+ date: string;
356
+ color: string;
357
+ dateId: string;
358
+ floorId: string;
359
+ }
360
+ export interface ThreeSixtyWalkGroup {
361
+ date: string;
362
+ walks: ThreeSixtyWalk[];
363
+ }
364
+ export type DatePresetContext = {
365
+ minDate?: string;
366
+ maxDate: string;
367
+ effectiveMinDate?: string;
368
+ effectiveMaxDate: string;
369
+ };
370
+ export type DatePreset = {
371
+ name: string;
372
+ resolveRange?: (ctx: DatePresetContext) => [string, string];
373
+ isHide?: (ctx: DatePresetContext) => boolean;
374
+ };
@@ -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>>;
@@ -1,4 +1,4 @@
1
- import type { Timestamp } from "@evercam/api/types";
1
+ import type { Timestamp } from "@evercam/shared/types";
2
2
  export interface Frame {
3
3
  label: string;
4
4
  src: string;
@@ -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,8 +22,15 @@ 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
- ThureeSixty = "360",
33
+ ThreeSixty = "360",
27
34
  FourEighty = "480",
28
35
  SevenTwenty = "720",
29
36
  OneZeroEightZero = "1080",
@@ -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,21 @@
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
+ };
@@ -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
+ };
@@ -1,4 +1,4 @@
1
- import { TimelineGroupId, type TimelinePlayerGroupConfig } from "@evercam/shared/types/components";
1
+ import { TimelineGroupId, type TimelinePlayerGroupConfig } from "./components";
2
2
  export interface TimelineGroup {
3
3
  id: TimelineGroupId;
4
4
  timelineConfig: TimelinePlayerGroupConfig | Record<string, TimelinePlayerGroupConfig>;
@@ -6,4 +6,5 @@ export interface TimelineGroup {
6
6
  isDisabled: boolean;
7
7
  isRestricted?: boolean;
8
8
  hasMultipleGroups?: boolean;
9
+ isPersistent?: boolean;
9
10
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evercam/api",
3
- "version": "1.0.0-d7a4e6c9d",
3
+ "version": "1.0.0-d8d5ce969",
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.0.3",
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,4 +0,0 @@
1
- export type StorageServer = string;
2
- export type StorageServersResponsePayload = {
3
- servers: StorageServer[];
4
- };