@evercam/api 1.0.0-b42ce3404 → 1.0.0-b908926bb
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.
- package/README.md +1 -0
- package/dist/api/api/3dFirebaseApi.d.ts +164 -15
- package/dist/api/api/adminApi.d.ts +81 -48
- package/dist/api/api/aiApi.d.ts +89 -54
- package/dist/api/api/authzApi.d.ts +23 -16
- package/dist/api/api/client/axios.d.ts +1 -1
- package/dist/api/api/client/swr/Swr.d.ts +1 -1
- package/dist/api/api/evercamApi.d.ts +121 -73
- package/dist/api/api/evercamLabsApi.d.ts +4 -5
- package/dist/api/api/exNvrApi.d.ts +1 -1
- package/dist/api/api/ingestApi.d.ts +102 -47
- package/dist/api/api/ptzApi.d.ts +9 -4
- package/dist/api/api/videoWallApi.d.ts +2 -2
- package/dist/api/api/weatherApi.d.ts +2 -2
- package/dist/api/types/360.d.ts +69 -53
- package/dist/api/types/aconex.d.ts +9 -9
- package/dist/api/types/admin.d.ts +51 -0
- package/dist/api/types/aiConfigs.d.ts +154 -0
- package/dist/api/types/analytics.d.ts +107 -58
- package/dist/api/types/anpr.d.ts +48 -2
- package/dist/api/types/auditLogs.d.ts +19 -1
- package/dist/api/types/authz.d.ts +44 -6
- package/dist/api/types/autodesk.d.ts +7 -7
- package/dist/api/types/automation.d.ts +37 -3
- package/dist/api/types/axios.d.ts +17 -11
- package/dist/api/types/bim.d.ts +28 -5
- package/dist/api/types/camera.d.ts +93 -93
- package/dist/api/types/comments.d.ts +8 -10
- package/dist/api/types/company.d.ts +42 -1
- package/dist/api/types/compare.d.ts +20 -5
- package/dist/api/types/connector.d.ts +3 -5
- package/dist/api/types/coolify.d.ts +18 -2
- package/dist/api/types/copilot.d.ts +11 -6
- package/dist/api/types/detections.d.ts +22 -18
- package/dist/api/types/drone.d.ts +96 -6
- package/dist/api/types/errors.d.ts +11 -0
- package/dist/api/types/gateReport.d.ts +47 -58
- package/dist/api/types/gateReportManagement.d.ts +175 -0
- package/dist/api/types/hdd.d.ts +26 -1
- package/dist/api/types/index.d.ts +9 -1
- package/dist/api/types/ingest.d.ts +100 -3
- package/dist/api/types/kit.d.ts +14 -7
- package/dist/api/types/map.d.ts +12 -0
- package/dist/api/types/media.d.ts +8 -2
- package/dist/api/types/notification.d.ts +32 -2
- package/dist/api/types/oauth.d.ts +62 -0
- package/dist/api/types/planner.d.ts +97 -0
- package/dist/api/types/posthog.d.ts +15 -0
- package/dist/api/types/procore.d.ts +13 -6
- package/dist/api/types/progressPhoto.d.ts +6 -2
- package/dist/api/types/project.d.ts +96 -22
- package/dist/api/types/recording.d.ts +6 -11
- package/dist/api/types/recycleBin.d.ts +1 -1
- package/dist/api/types/ring.d.ts +53 -0
- package/dist/api/types/roi.d.ts +2 -2
- package/dist/api/types/router.d.ts +1 -1
- package/dist/api/types/shared.d.ts +30 -4
- package/dist/api/types/shares.d.ts +1 -1
- package/dist/api/types/sim.d.ts +6 -6
- package/dist/api/types/siteAnalytics.d.ts +81 -41
- package/dist/api/types/siteView.d.ts +73 -0
- package/dist/api/types/smartSeach.d.ts +5 -0
- package/dist/api/types/snapshots.d.ts +49 -4
- package/dist/api/types/storageProvider.d.ts +19 -0
- package/dist/api/types/storyblok.d.ts +40 -0
- package/dist/api/types/streaming.d.ts +3 -3
- package/dist/api/types/tag.d.ts +1 -1
- package/dist/api/types/time.d.ts +0 -18
- package/dist/api/types/timelapse.d.ts +8 -5
- package/dist/api/types/user.d.ts +102 -32
- package/dist/api/types/videoWall.d.ts +21 -21
- package/dist/api/types/weather.d.ts +75 -11
- package/dist/api/types/widget.d.ts +71 -12
- package/dist/api/types/xweather.d.ts +4 -4
- package/dist/api/utils.d.ts +0 -1
- package/dist/index.js +1590 -786
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +1 -1
- package/dist/index.umd.cjs.map +1 -1
- package/dist/shared/types/components.d.ts +141 -16
- package/dist/shared/types/customDataTableFilters.d.ts +10 -0
- package/dist/shared/types/imagePlayer.d.ts +9 -2
- package/dist/shared/types/index.d.ts +2 -0
- package/dist/shared/types/rbac.d.ts +67 -0
- package/dist/shared/types/timeline.d.ts +2 -1
- package/package.json +4 -2
- package/dist/api/types/storageServers.d.ts +0 -4
|
@@ -1,6 +1,44 @@
|
|
|
1
|
-
import { type _360Scene, type Media, type DroneModel, type MobileCaptureSnapshot, type TimelineDateInterval, type TimelinePrecision, type Comment, TaskStatus, Tag } from "@evercam/
|
|
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, TuplePoint2D } from "@evercam/shared/types";
|
|
2
|
+
import type { 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 declare enum IframeMessageType {
|
|
11
|
+
LiveView = "liveView",
|
|
12
|
+
EditSnapshot = "editSnapshot",
|
|
13
|
+
Weather = "weather",
|
|
14
|
+
CameraInfo = "cameraInfo",
|
|
15
|
+
AnalyticsEvent = "analyticsEvent",
|
|
16
|
+
Ready = "ready",
|
|
17
|
+
Info = "info",
|
|
18
|
+
GateReport = "gateReport",
|
|
19
|
+
CreateCompare = "createCompare",
|
|
20
|
+
UploadDrone = "uploadDrone",
|
|
21
|
+
UploadBIM = "uploadBIM",
|
|
22
|
+
History = "history",
|
|
23
|
+
PerformanceScore = "performanceScore",
|
|
24
|
+
ShareLink = "shareLink",
|
|
25
|
+
LoadForgeModel = "loadForgeModel",
|
|
26
|
+
LoadPlannerList = "loadPlannerList",
|
|
27
|
+
SaveProjectBounds = "saveProjectBounds",
|
|
28
|
+
ArchiveComment = "archiveComment",
|
|
29
|
+
UnarchiveComment = "unarchiveComment",
|
|
30
|
+
DeleteComment = "deleteComment",
|
|
31
|
+
CreateComment = "createComment",
|
|
32
|
+
RefreshComments = "refreshComments",
|
|
33
|
+
CommentSyncFailed = "commentSyncFailed",
|
|
34
|
+
Load360Gallery = "load360Gallery",
|
|
35
|
+
Upload360 = "upload360",
|
|
36
|
+
FetchForgeToken = "FetchForgeToken",
|
|
37
|
+
ForgeTokenResponse = "ForgeTokenResponse",
|
|
38
|
+
ShowBimUploadChoice = "showBimUploadChoice",
|
|
39
|
+
ViewerLaunchFlags = "viewerLaunchFlags",
|
|
40
|
+
CloseCameraMarkerPreview = "CloseCameraMarkerPreview"
|
|
41
|
+
}
|
|
4
42
|
export declare enum NavigationArrow {
|
|
5
43
|
Previous = "previous",
|
|
6
44
|
Next = "next"
|
|
@@ -10,7 +48,6 @@ export declare enum WatermarkedImageDownloadOrigin {
|
|
|
10
48
|
Bim = "BIM",
|
|
11
49
|
Snapshot = "snapshot",
|
|
12
50
|
The360 = "360",
|
|
13
|
-
The360Gallery = "360 Gallery",
|
|
14
51
|
Planner = "Planner"
|
|
15
52
|
}
|
|
16
53
|
export declare enum PlayerMode {
|
|
@@ -48,13 +85,6 @@ export type TimelinePlayerGroupConfig = {
|
|
|
48
85
|
export type TimelinePlayerConfig = {
|
|
49
86
|
[groupName: string]: TimelinePlayerGroupConfig;
|
|
50
87
|
};
|
|
51
|
-
export type TimelinePlayerTooltipItem = {
|
|
52
|
-
label?: string;
|
|
53
|
-
title?: string;
|
|
54
|
-
thumbnailUrl: string;
|
|
55
|
-
placeholderThumbnailUrl?: string;
|
|
56
|
-
fallbackThumbnailUrl?: string;
|
|
57
|
-
};
|
|
58
88
|
export declare enum TimelineGroupId {
|
|
59
89
|
ThreeSixty = "w360",
|
|
60
90
|
Drone = "drone",
|
|
@@ -124,8 +154,8 @@ export type LeaderLineOptions = {
|
|
|
124
154
|
startPlugSize?: number;
|
|
125
155
|
endPlugSize?: number;
|
|
126
156
|
path?: LeaderLinesPathType;
|
|
127
|
-
startSocketGravity?:
|
|
128
|
-
endSocketGravity?:
|
|
157
|
+
startSocketGravity?: TuplePoint2D;
|
|
158
|
+
endSocketGravity?: TuplePoint2D;
|
|
129
159
|
dash?: {
|
|
130
160
|
animation: boolean | {
|
|
131
161
|
duration: number;
|
|
@@ -142,10 +172,6 @@ export type LineConfig = {
|
|
|
142
172
|
end: CssSelector | CssSelector[];
|
|
143
173
|
options?: LeaderLineOptions;
|
|
144
174
|
};
|
|
145
|
-
export type Point = {
|
|
146
|
-
x: number;
|
|
147
|
-
y: number;
|
|
148
|
-
};
|
|
149
175
|
export declare enum ZohoDeskTicketStatus {
|
|
150
176
|
Closed = "Closed",
|
|
151
177
|
OnHold = "On Hold",
|
|
@@ -158,7 +184,8 @@ export declare enum FormSchemaComponents {
|
|
|
158
184
|
SelectField = "SelectField",
|
|
159
185
|
MultiOption = "MultiOption",
|
|
160
186
|
TextField = "TextField",
|
|
161
|
-
|
|
187
|
+
SwitchField = "SwitchField",
|
|
188
|
+
CheckBox = "CheckBoxField",
|
|
162
189
|
Date = "DatePickerInput",
|
|
163
190
|
DateTime = "DateTimeField",
|
|
164
191
|
TextArea = "Textarea",
|
|
@@ -189,11 +216,109 @@ export type FormSchemaField = {
|
|
|
189
216
|
columns?: number;
|
|
190
217
|
};
|
|
191
218
|
export type FormSchema = Record<string, FormSchemaField>;
|
|
219
|
+
export type DrawingStats = {
|
|
220
|
+
overlay: boolean;
|
|
221
|
+
geolocated: boolean;
|
|
222
|
+
isCalibrated: boolean;
|
|
223
|
+
walks: number;
|
|
224
|
+
markers: number;
|
|
225
|
+
minimodel: number;
|
|
226
|
+
bim: number;
|
|
227
|
+
comments: number;
|
|
228
|
+
lastCapturedDate: string | null;
|
|
229
|
+
};
|
|
192
230
|
export interface ScrollListener {
|
|
193
231
|
element: Element | Window;
|
|
232
|
+
event: "scroll" | "resize";
|
|
194
233
|
handler: () => void;
|
|
195
234
|
}
|
|
196
235
|
export interface LeaderLineInstance {
|
|
197
236
|
remove(): void;
|
|
198
237
|
position(): void;
|
|
199
238
|
}
|
|
239
|
+
export type SnapshotCardItem = {
|
|
240
|
+
label?: string;
|
|
241
|
+
title?: string;
|
|
242
|
+
thumbnailUrl: string;
|
|
243
|
+
placeholderThumbnailUrl?: string;
|
|
244
|
+
fallbackThumbnailUrl?: string;
|
|
245
|
+
};
|
|
246
|
+
export type DocumentExtended = Document & {
|
|
247
|
+
webkitIsFullScreen?: boolean;
|
|
248
|
+
mozFullScreen?: boolean;
|
|
249
|
+
msFullscreenElement?: Element | null;
|
|
250
|
+
fullscreenElement?: Element;
|
|
251
|
+
webkitFullscreenElement?: Element;
|
|
252
|
+
mozFullScreenElement?: Element;
|
|
253
|
+
};
|
|
254
|
+
export type HighchartsSeriesWithData<T extends number = number> = SeriesOptionsType & {
|
|
255
|
+
data: T[];
|
|
256
|
+
};
|
|
257
|
+
export type FormattedNotificationData = {
|
|
258
|
+
title: string;
|
|
259
|
+
link: string;
|
|
260
|
+
thumbnail?: string;
|
|
261
|
+
icon?: string;
|
|
262
|
+
drone?: boolean;
|
|
263
|
+
is360?: boolean;
|
|
264
|
+
};
|
|
265
|
+
export type FormattedNotification = FormattedNotificationData & {
|
|
266
|
+
date: string;
|
|
267
|
+
read: boolean;
|
|
268
|
+
id: number;
|
|
269
|
+
thumbnailError?: boolean;
|
|
270
|
+
};
|
|
271
|
+
export type ProcoreProjectStepData = {
|
|
272
|
+
project: ProcoreUserProject | null;
|
|
273
|
+
album: ProcoreProjectAlbum | null;
|
|
274
|
+
observationType: ProcoreObservationType | null;
|
|
275
|
+
};
|
|
276
|
+
export type ProcoreUploadFormData = {
|
|
277
|
+
procoreType: ProcoreType;
|
|
278
|
+
project: ProcoreUserProject | null;
|
|
279
|
+
album: ProcoreProjectAlbum | null;
|
|
280
|
+
observationType: ProcoreObservationType | null;
|
|
281
|
+
observationForm: Record<string, string | number | boolean | null>;
|
|
282
|
+
};
|
|
283
|
+
export type AconexUploadFormData = {
|
|
284
|
+
project: AconexUserProject | null;
|
|
285
|
+
form: Record<string, string | number | boolean | null>;
|
|
286
|
+
};
|
|
287
|
+
export type AutodeskUploadFormData = {
|
|
288
|
+
hub: AutodeskUserHub | null;
|
|
289
|
+
project: AutodeskProject | null;
|
|
290
|
+
folder: AutodeskFolder | null;
|
|
291
|
+
};
|
|
292
|
+
export interface MediaHubFilters {
|
|
293
|
+
title: string;
|
|
294
|
+
requesterEmail: string | undefined;
|
|
295
|
+
camera: string | undefined;
|
|
296
|
+
type: string;
|
|
297
|
+
fromDate: string;
|
|
298
|
+
toDate: string;
|
|
299
|
+
sortBy: string;
|
|
300
|
+
}
|
|
301
|
+
export interface MediaHubSortParameter {
|
|
302
|
+
label: string;
|
|
303
|
+
value: string;
|
|
304
|
+
}
|
|
305
|
+
export type TableHeaderParams<TItem = unknown> = {
|
|
306
|
+
value: string;
|
|
307
|
+
text: string;
|
|
308
|
+
cellClass?: string;
|
|
309
|
+
align?: string;
|
|
310
|
+
sortable?: boolean;
|
|
311
|
+
visible?: boolean;
|
|
312
|
+
width?: number | string;
|
|
313
|
+
copyable?: boolean;
|
|
314
|
+
toStringFn?: (item: TItem, key: string) => any;
|
|
315
|
+
sort?: (a: unknown, b: unknown) => number;
|
|
316
|
+
};
|
|
317
|
+
export type BimUploadObject = IngestUploadInitResponse & {
|
|
318
|
+
projectName: string;
|
|
319
|
+
};
|
|
320
|
+
export type BimUploadFileResult = {
|
|
321
|
+
url: string;
|
|
322
|
+
title: string;
|
|
323
|
+
fileExtension: string;
|
|
324
|
+
};
|
|
@@ -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/
|
|
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
|
-
|
|
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",
|
|
@@ -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 "
|
|
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-
|
|
3
|
+
"version": "1.0.0-b908926bb",
|
|
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.
|
|
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"
|