@evercam/api 1.0.0-9cdcb2c4a → 1.0.0-9dffa9592

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 (96) hide show
  1. package/README.md +4 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +210 -10
  3. package/dist/api/api/adminApi.d.ts +140 -96
  4. package/dist/api/api/aiApi.d.ts +153 -82
  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 +148 -102
  9. package/dist/api/api/evercamLabsApi.d.ts +9 -7
  10. package/dist/api/api/exNvrApi.d.ts +1 -1
  11. package/dist/api/api/ingestApi.d.ts +125 -33
  12. package/dist/api/api/ptzApi.d.ts +12 -3
  13. package/dist/api/api/videoWallApi.d.ts +7 -7
  14. package/dist/api/api/weatherApi.d.ts +2 -2
  15. package/dist/api/types/360.d.ts +291 -16
  16. package/dist/api/types/aconex.d.ts +104 -6
  17. package/dist/api/types/admin.d.ts +51 -0
  18. package/dist/api/types/aiConfigs.d.ts +242 -0
  19. package/dist/api/types/analytics.d.ts +174 -43
  20. package/dist/api/types/anpr.d.ts +53 -13
  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 +105 -1
  25. package/dist/api/types/axios.d.ts +19 -14
  26. package/dist/api/types/bim.d.ts +38 -9
  27. package/dist/api/types/camera.d.ts +111 -99
  28. package/dist/api/types/comments.d.ts +26 -11
  29. package/dist/api/types/company.d.ts +43 -2
  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 +20 -2
  33. package/dist/api/types/copilot.d.ts +11 -9
  34. package/dist/api/types/credentials.d.ts +1 -0
  35. package/dist/api/types/detections.d.ts +23 -32
  36. package/dist/api/types/drone.d.ts +96 -6
  37. package/dist/api/types/errors.d.ts +14 -1
  38. package/dist/api/types/gateReport.d.ts +49 -168
  39. package/dist/api/types/gateReportManagement.d.ts +170 -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 +17 -2
  43. package/dist/api/types/ingest.d.ts +191 -4
  44. package/dist/api/types/kit.d.ts +83 -57
  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 +72 -3
  48. package/dist/api/types/oauth.d.ts +62 -0
  49. package/dist/api/types/observationEvents.d.ts +61 -0
  50. package/dist/api/types/observations.d.ts +85 -0
  51. package/dist/api/types/planner.d.ts +101 -9
  52. package/dist/api/types/posthog.d.ts +35 -0
  53. package/dist/api/types/procore.d.ts +13 -6
  54. package/dist/api/types/progressPhoto.d.ts +6 -31
  55. package/dist/api/types/project.d.ts +144 -18
  56. package/dist/api/types/recording.d.ts +10 -15
  57. package/dist/api/types/recycleBin.d.ts +14 -0
  58. package/dist/api/types/ring.d.ts +53 -0
  59. package/dist/api/types/roi.d.ts +3 -11
  60. package/dist/api/types/routeParams.d.ts +3 -1
  61. package/dist/api/types/router.d.ts +20 -1
  62. package/dist/api/types/shared.d.ts +29 -27
  63. package/dist/api/types/shares.d.ts +6 -157
  64. package/dist/api/types/sim.d.ts +6 -6
  65. package/dist/api/types/siteAnalytics.d.ts +189 -46
  66. package/dist/api/types/siteAnalyticsManagement.d.ts +117 -0
  67. package/dist/api/types/siteView.d.ts +73 -0
  68. package/dist/api/types/smartSeach.d.ts +5 -0
  69. package/dist/api/types/snapshots.d.ts +55 -1
  70. package/dist/api/types/socket.d.ts +4 -0
  71. package/dist/api/types/sso.d.ts +55 -0
  72. package/dist/api/types/storageProvider.d.ts +19 -0
  73. package/dist/api/types/storyblok.d.ts +27 -0
  74. package/dist/api/types/streaming.d.ts +3 -3
  75. package/dist/api/types/tag.d.ts +1 -1
  76. package/dist/api/types/time.d.ts +4 -18
  77. package/dist/api/types/timelapse.d.ts +7 -11
  78. package/dist/api/types/user.d.ts +106 -35
  79. package/dist/api/types/videoWall.d.ts +47 -14
  80. package/dist/api/types/weather.d.ts +77 -11
  81. package/dist/api/types/widget.d.ts +96 -16
  82. package/dist/api/types/xweather.d.ts +4 -4
  83. package/dist/index.js +2454 -1020
  84. package/dist/index.js.map +1 -1
  85. package/dist/index.umd.cjs +1 -1
  86. package/dist/index.umd.cjs.map +1 -1
  87. package/dist/shared/types/components.d.ts +211 -35
  88. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  89. package/dist/shared/types/imagePlayer.d.ts +10 -3
  90. package/dist/shared/types/index.d.ts +3 -0
  91. package/dist/shared/types/observations.d.ts +21 -0
  92. package/dist/shared/types/rbac.d.ts +67 -0
  93. package/dist/shared/types/timeline.d.ts +2 -1
  94. package/package.json +6 -4
  95. package/dist/api/types/storageServers.d.ts +0 -4
  96. package/dist/api/types/vendorModel.d.ts +0 -15
@@ -1,6 +1,62 @@
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, 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";
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
+ CloseCameraMarkerPreview = "CloseCameraMarkerPreview"
55
+ }
56
+ export declare enum NavigationArrow {
57
+ Previous = "previous",
58
+ Next = "next"
59
+ }
4
60
  export declare enum WatermarkedImageDownloadOrigin {
5
61
  Drone = "drone",
6
62
  Bim = "BIM",
@@ -12,24 +68,6 @@ export declare enum PlayerMode {
12
68
  Video = "video",
13
69
  Jpegs = "jpegs"
14
70
  }
15
- export type TasksStatusMap = {
16
- [key: string]: TaskStatus;
17
- };
18
- export type TaskProgressItem = {
19
- status: TaskStatus;
20
- description: string;
21
- percentDone?: number;
22
- duration?: number;
23
- };
24
- export type GlobalSearchMatch = {
25
- path: Array<string>;
26
- value: string | number | boolean;
27
- };
28
- export type GlobalSearchResult = {
29
- index: number;
30
- matches: Array<GlobalSearchMatch>;
31
- };
32
- export type GlobalSearchResultInput = Array<Record<any, any> | Array<any>>;
33
71
  export type TimelineProviderRequestParams = TimelineDateInterval & {
34
72
  precision?: TimelinePrecision;
35
73
  labels?: string[];
@@ -43,13 +81,6 @@ export type TimelinePlayerGroupConfig = {
43
81
  export type TimelinePlayerConfig = {
44
82
  [groupName: string]: TimelinePlayerGroupConfig;
45
83
  };
46
- export type TimelinePlayerTooltipItem = {
47
- label?: string;
48
- title?: string;
49
- thumbnailUrl: string;
50
- placeholderThumbnailUrl?: string;
51
- fallbackThumbnailUrl?: string;
52
- };
53
84
  export declare enum TimelineGroupId {
54
85
  ThreeSixty = "w360",
55
86
  Drone = "drone",
@@ -119,8 +150,8 @@ export type LeaderLineOptions = {
119
150
  startPlugSize?: number;
120
151
  endPlugSize?: number;
121
152
  path?: LeaderLinesPathType;
122
- startSocketGravity?: [number, number];
123
- endSocketGravity?: [number, number];
153
+ startSocketGravity?: TuplePoint2D;
154
+ endSocketGravity?: TuplePoint2D;
124
155
  dash?: {
125
156
  animation: boolean | {
126
157
  duration: number;
@@ -137,10 +168,6 @@ export type LineConfig = {
137
168
  end: CssSelector | CssSelector[];
138
169
  options?: LeaderLineOptions;
139
170
  };
140
- export type Point = {
141
- x: number;
142
- y: number;
143
- };
144
171
  export declare enum ZohoDeskTicketStatus {
145
172
  Closed = "Closed",
146
173
  OnHold = "On Hold",
@@ -151,13 +178,18 @@ export type TagSelectorItem = Tag & {
151
178
  };
152
179
  export declare enum FormSchemaComponents {
153
180
  SelectField = "SelectField",
181
+ HierarchicalSelect = "HierarchicalSelectField",
154
182
  MultiOption = "MultiOption",
155
183
  TextField = "TextField",
156
- CheckBox = "SwitchField",
157
- DateTime = "DatePickerInput",
184
+ SwitchField = "SwitchField",
185
+ CheckBox = "CheckBoxField",
186
+ Date = "DatePickerInput",
187
+ DateTime = "DateTimeField",
188
+ Time = "TimeField",
158
189
  TextArea = "Textarea",
159
190
  Search = "Autocomplete",
160
- ReadOnly = "ReadOnly"
191
+ ReadOnly = "ReadOnly",
192
+ Ratio = "RatioField"
161
193
  }
162
194
  export declare enum FormSchemaDataType {
163
195
  String = "string",
@@ -168,6 +200,7 @@ export declare enum FormSchemaDataType {
168
200
  export type FormSchemaOptions = {
169
201
  title: string;
170
202
  value: string;
203
+ parentId?: string | null;
171
204
  };
172
205
  export type FormSchemaField = {
173
206
  id: string;
@@ -182,11 +215,154 @@ export type FormSchemaField = {
182
215
  columns?: number;
183
216
  };
184
217
  export type FormSchema = Record<string, FormSchemaField>;
218
+ export type DrawingStats = {
219
+ overlay: boolean;
220
+ geolocated: boolean;
221
+ isCalibrated: boolean;
222
+ walks: number;
223
+ markers: number;
224
+ minimodel: number;
225
+ bim: number;
226
+ comments: number;
227
+ lastCapturedDate: string | null;
228
+ };
185
229
  export interface ScrollListener {
186
230
  element: Element | Window;
231
+ event: "scroll" | "resize";
187
232
  handler: () => void;
188
233
  }
189
234
  export interface LeaderLineInstance {
190
235
  remove(): void;
191
236
  position(): void;
192
237
  }
238
+ export type SnapshotCardItem = {
239
+ label?: string;
240
+ title?: string;
241
+ thumbnailUrl: string;
242
+ placeholderThumbnailUrl?: string;
243
+ fallbackThumbnailUrl?: string;
244
+ };
245
+ export type HighchartsSeriesWithData<T extends number = number> = SeriesOptionsType & {
246
+ data: T[];
247
+ };
248
+ export type NotificationTitleSegment = {
249
+ text: string;
250
+ isBold?: boolean;
251
+ };
252
+ export type FormattedNotificationData = {
253
+ title: string;
254
+ titleSegments?: NotificationTitleSegment[];
255
+ link: string;
256
+ thumbnail?: string;
257
+ icon: string;
258
+ };
259
+ export type FormattedNotification = FormattedNotificationData & {
260
+ date: string;
261
+ read: boolean;
262
+ id: number;
263
+ thumbnailError?: boolean;
264
+ };
265
+ export type ProcoreProjectStepData = {
266
+ project: ProcoreUserProject | null;
267
+ album: ProcoreProjectAlbum | null;
268
+ observationType: ProcoreObservationType | null;
269
+ };
270
+ export type ProcoreUploadFormData = {
271
+ procoreType: ProcoreType;
272
+ project: ProcoreUserProject | null;
273
+ album: ProcoreProjectAlbum | null;
274
+ observationType: ProcoreObservationType | null;
275
+ observationForm: Record<string, string | number | boolean | null>;
276
+ };
277
+ export type AconexUploadFormData = {
278
+ project: AconexUserProject | null;
279
+ form: Record<string, string | number | boolean | null>;
280
+ };
281
+ export type AutodeskUploadFormData = {
282
+ hub: AutodeskUserHub | null;
283
+ project: AutodeskProject | null;
284
+ folder: AutodeskFolder | null;
285
+ };
286
+ export type HammertechUploadFormData = {
287
+ project: HammertechProject | null;
288
+ issueType: HammertechIssueType | null;
289
+ description: string;
290
+ priority: HammertechPriority | null;
291
+ dueDate: string | null;
292
+ classification: HammertechClassification | null;
293
+ locationId: string | null;
294
+ isPositiveObservation: boolean;
295
+ isPhotoForFixRequired: boolean;
296
+ customFieldFormId: string | null;
297
+ customFieldValues: Record<string, unknown>;
298
+ fileCustomFieldValues: Record<string, HammertechFileFieldValue>;
299
+ };
300
+ export interface MediaHubFilters {
301
+ title: string;
302
+ requesterEmail: string | undefined;
303
+ camera: string | undefined;
304
+ type: string;
305
+ fromDate: string;
306
+ toDate: string;
307
+ sortBy: string;
308
+ }
309
+ export interface MediaHubSortParameter {
310
+ label: string;
311
+ value: string;
312
+ }
313
+ export type TableHeaderParams<TItem = unknown> = {
314
+ value: string;
315
+ text: string;
316
+ cellClass?: string;
317
+ align?: string;
318
+ sortable?: boolean;
319
+ visible?: boolean;
320
+ width?: number | string;
321
+ copyable?: boolean;
322
+ toStringFn?: (item: TItem, key: string) => any;
323
+ sort?: (a: unknown, b: unknown) => number;
324
+ };
325
+ export type BimUploadObject = IngestUploadInitResponse & {
326
+ projectName: string;
327
+ };
328
+ export type BimUploadFileResult = {
329
+ url: string;
330
+ title: string;
331
+ fileExtension: string;
332
+ };
333
+ export type CameraCardItem = {
334
+ thumbnail: string;
335
+ title: string;
336
+ exid: string;
337
+ status: CameraStatus;
338
+ disabled: boolean;
339
+ to: string;
340
+ isOffline: boolean;
341
+ isWaiting: boolean;
342
+ isUnderNda: boolean;
343
+ isAdmin: boolean;
344
+ batteryVoltage: number | null;
345
+ };
346
+ export interface ThreeSixtyWalk {
347
+ id: string;
348
+ name: string;
349
+ date: string;
350
+ color: string;
351
+ dateId: string;
352
+ floorId: string;
353
+ }
354
+ export interface ThreeSixtyWalkGroup {
355
+ date: string;
356
+ walks: ThreeSixtyWalk[];
357
+ }
358
+ export type DatePresetContext = {
359
+ minDate?: string;
360
+ maxDate: string;
361
+ effectiveMinDate?: string;
362
+ effectiveMaxDate: string;
363
+ };
364
+ export type DatePreset = {
365
+ name: string;
366
+ resolveRange?: (ctx: DatePresetContext) => [string, string];
367
+ isHide?: (ctx: DatePresetContext) => boolean;
368
+ };
@@ -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-9cdcb2c4a",
3
+ "version": "1.0.0-9dffa9592",
4
4
  "description": "Evercam API client",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,10 +24,12 @@
24
24
  "dist"
25
25
  ],
26
26
  "engines": {
27
- "node": "20.x"
27
+ "node": ">=22"
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": "^24.3.1",
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"
@@ -47,4 +49,4 @@
47
49
  "idb-keyval": "^6.2.2",
48
50
  "moment-timezone": "^0.5.46"
49
51
  }
50
- }
52
+ }
@@ -1,4 +0,0 @@
1
- export type StorageServer = string;
2
- export type StorageServersResponsePayload = {
3
- servers: StorageServer[];
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
- };