@evercam/api 1.0.0-ca4bfd0ab → 1.0.0-cb5ac4ad5
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 +4 -0
- package/dist/api/api/3dFirebaseApi.d.ts +209 -0
- package/dist/api/api/adminApi.d.ts +381 -0
- package/dist/api/api/aiApi.d.ts +251 -0
- package/dist/api/api/authzApi.d.ts +40 -0
- package/dist/api/{client → api/client}/axios.d.ts +2 -1
- package/dist/api/{client → api/client}/customErrors.d.ts +10 -0
- package/dist/api/{client → api/client}/interceptors.d.ts +1 -1
- package/dist/api/api/client/swr/Swr.d.ts +14 -0
- package/dist/api/api/client/swr/SwrStore.d.ts +10 -0
- package/dist/api/api/evercamApi.d.ts +362 -0
- package/dist/api/api/evercamLabsApi.d.ts +34 -0
- package/dist/api/{exNvrApi.d.ts → api/exNvrApi.d.ts} +1 -1
- package/dist/api/api/index.d.ts +14 -0
- package/dist/api/api/ingestApi.d.ts +161 -0
- package/dist/api/{ptzApi.d.ts → api/ptzApi.d.ts} +12 -3
- package/dist/api/api/videoWallApi.d.ts +9 -0
- package/dist/api/api/weatherApi.d.ts +9 -0
- package/dist/api/api/workflowsApi.d.ts +15 -0
- package/dist/api/index.d.ts +3 -13
- package/dist/api/types/360.d.ts +362 -0
- package/dist/api/types/aconex.d.ts +143 -0
- package/dist/api/types/admin.d.ts +51 -0
- package/dist/api/types/aiConfigs.d.ts +244 -0
- package/dist/{types → api/types}/analytics.d.ts +228 -96
- package/dist/{types → api/types}/anpr.d.ts +56 -13
- package/dist/{types → api/types}/auditLogs.d.ts +19 -2
- package/dist/api/types/authz.d.ts +132 -0
- package/dist/{types → api/types}/autodesk.d.ts +7 -7
- package/dist/api/types/automation.d.ts +123 -0
- package/dist/{types → api/types}/axios.d.ts +32 -11
- package/dist/{types → api/types}/bim.d.ts +38 -9
- package/dist/{types → api/types}/camera.d.ts +142 -165
- package/dist/api/types/comments.d.ts +64 -0
- package/dist/api/types/company.d.ts +115 -0
- package/dist/{types → api/types}/compare.d.ts +20 -5
- package/dist/api/types/connector.d.ts +21 -0
- package/dist/api/types/coolify.d.ts +36 -0
- package/dist/{types → api/types}/countries.d.ts +0 -7
- package/dist/{types → api/types}/credentials.d.ts +1 -0
- package/dist/api/types/detections.d.ts +117 -0
- package/dist/api/types/drone.d.ts +106 -0
- package/dist/{types → api/types}/errors.d.ts +25 -0
- package/dist/{types → api/types}/gateReport.d.ts +49 -168
- package/dist/api/types/gateReportManagement.d.ts +170 -0
- package/dist/api/types/hammertech.d.ts +98 -0
- package/dist/{types → api/types}/hdd.d.ts +26 -1
- package/dist/{types → api/types}/index.d.ts +22 -4
- package/dist/api/types/ingest.d.ts +234 -0
- package/dist/{types → api/types}/kit.d.ts +132 -56
- package/dist/api/types/map.d.ts +16 -0
- package/dist/{types → api/types}/media.d.ts +9 -3
- package/dist/api/types/notification.d.ts +107 -0
- package/dist/api/types/oauth.d.ts +62 -0
- package/dist/api/types/observationEvents.d.ts +141 -0
- package/dist/api/types/observations.d.ts +84 -0
- package/dist/api/types/planner.d.ts +125 -0
- package/dist/api/types/posthog.d.ts +53 -0
- package/dist/api/types/procore.d.ts +229 -0
- package/dist/{types → api/types}/progressPhoto.d.ts +11 -23
- package/dist/api/types/project.d.ts +260 -0
- package/dist/{types → api/types}/recording.d.ts +10 -16
- package/dist/api/types/recycleBin.d.ts +14 -0
- package/dist/api/types/ring.d.ts +53 -0
- package/dist/{types → api/types}/roi.d.ts +2 -9
- package/dist/{types → api/types}/routeParams.d.ts +5 -2
- package/dist/{types → api/types}/router.d.ts +20 -1
- package/dist/{types → api/types}/shared.d.ts +29 -30
- package/dist/api/types/shares.d.ts +45 -0
- package/dist/{types → api/types}/sim.d.ts +6 -6
- package/dist/api/types/siteAnalytics.d.ts +285 -0
- package/dist/api/types/siteAnalyticsManagement.d.ts +127 -0
- package/dist/api/types/siteView.d.ts +78 -0
- package/dist/api/types/smartSeach.d.ts +5 -0
- package/dist/api/types/snapshots.d.ts +104 -0
- package/dist/api/types/socket.d.ts +4 -0
- package/dist/api/types/sso.d.ts +55 -0
- package/dist/api/types/storageProvider.d.ts +19 -0
- package/dist/api/types/storyblok.d.ts +27 -0
- package/dist/{types → api/types}/streaming.d.ts +4 -25
- package/dist/api/types/systemCheck.d.ts +11 -0
- package/dist/api/types/tag.d.ts +12 -0
- package/dist/api/types/time.d.ts +7 -0
- package/dist/{types → api/types}/timelapse.d.ts +7 -11
- package/dist/{types → api/types}/user.d.ts +121 -40
- package/dist/api/types/videoWall.d.ts +66 -0
- package/dist/api/types/weather.d.ts +153 -0
- package/dist/{types → api/types}/widget.d.ts +96 -16
- package/dist/api/types/workflows.d.ts +108 -0
- package/dist/api/types/xweather.d.ts +12 -0
- package/dist/{utils.d.ts → api/utils.d.ts} +1 -0
- package/dist/index.d.ts +2 -3
- package/dist/index.js +3010 -1126
- 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/api/index.d.ts +3 -0
- package/dist/shared/components/timelinePlayer/providers/index.d.ts +3 -0
- package/dist/shared/components/timelinePlayer/providers/timelineAnprProvider.d.ts +17 -0
- package/dist/shared/components/timelinePlayer/providers/timelineDataProvider.d.ts +13 -0
- package/dist/shared/components/timelinePlayer/providers/timelineLuminanceProvider.d.ts +16 -0
- package/dist/shared/types/components.d.ts +512 -0
- package/dist/shared/types/customDataTableFilters.d.ts +10 -0
- package/dist/shared/types/imagePlayer.d.ts +41 -0
- package/dist/shared/types/index.d.ts +7 -0
- package/dist/shared/types/observations.d.ts +25 -0
- package/dist/shared/types/rbac.d.ts +67 -0
- package/dist/shared/types/timeline.d.ts +10 -0
- package/package.json +8 -5
- package/dist/api/3dFirebaseApi.d.ts +0 -9
- package/dist/api/adminApi.d.ts +0 -304
- package/dist/api/aiApi.d.ts +0 -110
- package/dist/api/authzApi.d.ts +0 -21
- package/dist/api/evercamApi.d.ts +0 -266
- package/dist/api/evercamLabsApi.d.ts +0 -46
- package/dist/api/ingestApi.d.ts +0 -65
- package/dist/api/videoWallApi.d.ts +0 -9
- package/dist/api/weatherApi.d.ts +0 -27
- package/dist/types/360.d.ts +0 -83
- package/dist/types/aconex.d.ts +0 -45
- package/dist/types/automation.d.ts +0 -6
- package/dist/types/comments.d.ts +0 -36
- package/dist/types/company.d.ts +0 -46
- package/dist/types/connector.d.ts +0 -16
- package/dist/types/coolify.d.ts +0 -18
- package/dist/types/copilot.d.ts +0 -157
- package/dist/types/detections.d.ts +0 -76
- package/dist/types/devices.d.ts +0 -228
- package/dist/types/drone.d.ts +0 -17
- package/dist/types/ingest.d.ts +0 -43
- package/dist/types/map.d.ts +0 -4
- package/dist/types/notification.d.ts +0 -27
- package/dist/types/planner.d.ts +0 -28
- package/dist/types/procore.d.ts +0 -76
- package/dist/types/project.d.ts +0 -119
- package/dist/types/shares.d.ts +0 -192
- package/dist/types/siteAnalytics.d.ts +0 -84
- package/dist/types/snapshots.d.ts +0 -50
- package/dist/types/storageServers.d.ts +0 -4
- package/dist/types/time.d.ts +0 -19
- package/dist/types/vendorModel.d.ts +0 -15
- package/dist/types/videoWall.d.ts +0 -33
- package/dist/types/weather.d.ts +0 -83
- /package/dist/api/{client → api/client}/index.d.ts +0 -0
- /package/dist/api/{webRtcApi.d.ts → api/webRtcApi.d.ts} +0 -0
- /package/dist/{types → api/types}/nvr.d.ts +0 -0
- /package/dist/{types → api/types}/voyageControl.d.ts +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { CameraExid, PaginationParams } from "@evercam/api/types";
|
|
2
|
+
import type { JsonObject } from "@evercam/api/types";
|
|
3
|
+
import { VideoWallPresetGridConfig } from "@evercam/api/types/videoWall";
|
|
4
4
|
export declare enum DelayUnit {
|
|
5
5
|
Minute = "Minutes",
|
|
6
6
|
Hour = "Hours",
|
|
@@ -53,6 +53,19 @@ export declare enum VideoWallWidgetSettingsKeys {
|
|
|
53
53
|
Height = "height",
|
|
54
54
|
HeightResolution = "heightResolution"
|
|
55
55
|
}
|
|
56
|
+
export declare enum ThreeSixtyKeys {
|
|
57
|
+
DateId = "dateId",
|
|
58
|
+
DateLocked = "dateLocked",
|
|
59
|
+
FloorId = "floorId",
|
|
60
|
+
FloorLocked = "floorLocked",
|
|
61
|
+
Marker = "markerId",
|
|
62
|
+
MarkerLocked = "markerLocked",
|
|
63
|
+
MediaLocked = "mediaLocked",
|
|
64
|
+
Width = "width",
|
|
65
|
+
WidthResolution = "resolution",
|
|
66
|
+
Height = "height",
|
|
67
|
+
HeightResolution = "heightResolution"
|
|
68
|
+
}
|
|
56
69
|
export type CommonWidgetSettings = {
|
|
57
70
|
width: number;
|
|
58
71
|
resolution: string;
|
|
@@ -65,6 +78,8 @@ export type RecordingsWidgetSettings = CommonWidgetSettings & {
|
|
|
65
78
|
hasDelay: boolean;
|
|
66
79
|
delay: number;
|
|
67
80
|
delayUnit: DelayUnit;
|
|
81
|
+
hasRange: boolean;
|
|
82
|
+
dateRange: [string, string] | null;
|
|
68
83
|
};
|
|
69
84
|
export type LiveViewWidgetSettings = CommonWidgetSettings & {
|
|
70
85
|
fullscreen: boolean;
|
|
@@ -77,16 +92,30 @@ export type BimCompareWidgetSettings = CommonWidgetSettings & {
|
|
|
77
92
|
timeline: boolean;
|
|
78
93
|
darkMode: boolean;
|
|
79
94
|
};
|
|
80
|
-
export type
|
|
81
|
-
preset:
|
|
95
|
+
export type VideoWallWidgetSettingsObject = CommonWidgetSettings & {
|
|
96
|
+
preset: VideoWallPresetGridConfig;
|
|
82
97
|
refreshRate: number;
|
|
98
|
+
allowCellFullscreen: boolean;
|
|
99
|
+
allowFitContent: boolean;
|
|
100
|
+
allowForceAspectRatio: boolean;
|
|
101
|
+
allowFullscreen: boolean;
|
|
102
|
+
cameras: CameraExid[];
|
|
103
|
+
description: string;
|
|
104
|
+
global: boolean;
|
|
105
|
+
visibility: string;
|
|
106
|
+
};
|
|
107
|
+
export type ThreeSixtyWidgetSettings = CommonWidgetSettings & {
|
|
108
|
+
dateId: string;
|
|
109
|
+
floorId: string;
|
|
110
|
+
markerId: string;
|
|
83
111
|
};
|
|
84
|
-
export type WidgetSettings = RecordingsWidgetSettings | LiveViewWidgetSettings | BimCompareWidgetSettings |
|
|
112
|
+
export type WidgetSettings = RecordingsWidgetSettings | LiveViewWidgetSettings | BimCompareWidgetSettings | VideoWallWidgetSettingsObject | ThreeSixtyWidgetSettings;
|
|
85
113
|
export declare enum WidgetType {
|
|
86
114
|
LiveWidget = "Live View",
|
|
87
115
|
Recording = "Recordings",
|
|
88
116
|
BimCompare = "BIM Compare",
|
|
89
|
-
VideoWall = "Video Wall"
|
|
117
|
+
VideoWall = "Video Wall",
|
|
118
|
+
ThreeSixty = "360"
|
|
90
119
|
}
|
|
91
120
|
export declare const WidgetTypesByResource: {
|
|
92
121
|
camera: WidgetType[];
|
|
@@ -99,7 +128,7 @@ export type WidgetsListRequestPayload = PaginationParams & {
|
|
|
99
128
|
active: boolean;
|
|
100
129
|
settings: WidgetSettings;
|
|
101
130
|
widgetType: WidgetType;
|
|
102
|
-
|
|
131
|
+
domainRestricted: boolean;
|
|
103
132
|
allowedOrigin: string;
|
|
104
133
|
};
|
|
105
134
|
export type Widget = {
|
|
@@ -119,7 +148,7 @@ export type Widget = {
|
|
|
119
148
|
widgetType: WidgetType;
|
|
120
149
|
settings: WidgetSettings;
|
|
121
150
|
allowedOrigin: string;
|
|
122
|
-
|
|
151
|
+
domainRestricted: boolean;
|
|
123
152
|
active: boolean;
|
|
124
153
|
user: {
|
|
125
154
|
id: number;
|
|
@@ -127,8 +156,8 @@ export type Widget = {
|
|
|
127
156
|
firstname: string;
|
|
128
157
|
lastname: string;
|
|
129
158
|
};
|
|
130
|
-
insertedAt:
|
|
131
|
-
updatedAt:
|
|
159
|
+
insertedAt: string;
|
|
160
|
+
updatedAt: string;
|
|
132
161
|
};
|
|
133
162
|
export type WidgetFull = {
|
|
134
163
|
id: number;
|
|
@@ -153,11 +182,62 @@ export type WidgetFull = {
|
|
|
153
182
|
email: string;
|
|
154
183
|
};
|
|
155
184
|
settings: WidgetSettings;
|
|
156
|
-
sessionSettings:
|
|
185
|
+
sessionSettings: JsonObject | null;
|
|
157
186
|
allowedOrigin: string;
|
|
158
|
-
|
|
159
|
-
insertedAt:
|
|
160
|
-
updatedAt:
|
|
187
|
+
domainRestricted: boolean;
|
|
188
|
+
insertedAt: string;
|
|
189
|
+
updatedAt: string;
|
|
190
|
+
};
|
|
191
|
+
export type WidgetSessionSettingsPayload = {
|
|
192
|
+
sessionSettings: JsonObject;
|
|
193
|
+
};
|
|
194
|
+
export type AdminWidgetResourceCamera = {
|
|
195
|
+
id: number;
|
|
196
|
+
exid: string;
|
|
197
|
+
name: string;
|
|
198
|
+
};
|
|
199
|
+
export type AdminWidgetResourceProject = {
|
|
200
|
+
id: number;
|
|
201
|
+
exid: string;
|
|
202
|
+
name: string;
|
|
203
|
+
featureFlags: string[];
|
|
204
|
+
};
|
|
205
|
+
export type AdminWidgetResourcePreset = {
|
|
206
|
+
id: number;
|
|
207
|
+
name: string;
|
|
208
|
+
exid: string;
|
|
209
|
+
config: JsonObject;
|
|
210
|
+
};
|
|
211
|
+
export type AdminWidgetResources = {
|
|
212
|
+
camera?: AdminWidgetResourceCamera | null;
|
|
213
|
+
project?: AdminWidgetResourceProject | null;
|
|
214
|
+
preset?: AdminWidgetResourcePreset | null;
|
|
215
|
+
};
|
|
216
|
+
export type AdminWidgetUser = {
|
|
217
|
+
id: number;
|
|
218
|
+
email: string;
|
|
219
|
+
firstname: string;
|
|
220
|
+
lastname: string;
|
|
221
|
+
};
|
|
222
|
+
export type AdminWidget = {
|
|
223
|
+
id: number;
|
|
224
|
+
active: boolean;
|
|
225
|
+
public: boolean;
|
|
226
|
+
user: AdminWidgetUser;
|
|
227
|
+
description: string | null;
|
|
228
|
+
insertedAt: string;
|
|
229
|
+
updatedAt: string;
|
|
230
|
+
settings: WidgetSettings;
|
|
231
|
+
ressources: AdminWidgetResources;
|
|
232
|
+
seenAt?: string;
|
|
233
|
+
showDashboardLink?: boolean;
|
|
234
|
+
domainRestricted: boolean;
|
|
235
|
+
widgetType: WidgetType;
|
|
236
|
+
allowedOrigin: string | null;
|
|
237
|
+
};
|
|
238
|
+
export type AdminWidgetFull = AdminWidget & {
|
|
239
|
+
widgetKey: string;
|
|
240
|
+
widgetId: string;
|
|
161
241
|
};
|
|
162
242
|
export type WidgetPayload = {
|
|
163
243
|
ressources: {
|
|
@@ -167,6 +247,6 @@ export type WidgetPayload = {
|
|
|
167
247
|
widgetType: WidgetType;
|
|
168
248
|
active: boolean;
|
|
169
249
|
settings: WidgetSettings;
|
|
170
|
-
|
|
250
|
+
domainRestricted: boolean;
|
|
171
251
|
allowedOrigin: string;
|
|
172
252
|
};
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Evercam Workflows engine (evercam-agent-kit), as the admin app sees it.
|
|
3
|
+
*
|
|
4
|
+
* These mirror `evercam_workflows/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
|
+
Workflow = "workflow",
|
|
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
|
+
savedWorkflowId: 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
|
+
};
|
|
@@ -7,3 +7,4 @@ export declare const toQueryString: <T extends Record<string, unknown>>(paramsOb
|
|
|
7
7
|
forceArrayBrackets?: boolean | undefined;
|
|
8
8
|
}) => string | undefined;
|
|
9
9
|
export declare function queryStringToObject(queryString?: string): QueryParams;
|
|
10
|
+
export declare function getMediaApiPreviewName(url?: string | null): string | null;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export
|
|
3
|
-
export * from "./utils";
|
|
1
|
+
export * from './api/index'
|
|
2
|
+
export {}
|