@levo-so/core 0.1.35 → 0.1.37

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 (51) hide show
  1. package/dist/client.d.ts +81 -0
  2. package/dist/constants/media.d.ts +1 -1
  3. package/dist/control/audience.d.ts +22 -0
  4. package/dist/control/audience.d.ts.map +1 -0
  5. package/dist/control/index.d.ts +23 -0
  6. package/dist/control/index.d.ts.map +1 -0
  7. package/dist/httpClient.d.ts +13 -0
  8. package/dist/index.d.ts +1 -2
  9. package/dist/index.js +1196 -70
  10. package/dist/logger/batch.d.ts +3 -10
  11. package/dist/logger/batch.d.ts.map +1 -1
  12. package/dist/logger/index.d.ts +22 -0
  13. package/dist/logger/index.d.ts.map +1 -0
  14. package/dist/modules/blog.d.ts +10 -0
  15. package/dist/modules/blog.d.ts.map +1 -0
  16. package/dist/modules/collection.d.ts +25 -0
  17. package/dist/modules/collection.d.ts.map +1 -0
  18. package/dist/{plugins/LevoMedia.d.ts → modules/media.d.ts} +6 -4
  19. package/dist/modules/media.d.ts.map +1 -0
  20. package/dist/modules/membership.d.ts +21 -0
  21. package/dist/modules/membership.d.ts.map +1 -0
  22. package/dist/types/audience.d.ts +35 -2
  23. package/dist/types/audience.d.ts.map +1 -1
  24. package/dist/utils/listToX.d.ts +3 -0
  25. package/dist/utils/listToX.d.ts.map +1 -0
  26. package/dist/utils/lock.d.ts.map +1 -1
  27. package/package.json +5 -3
  28. package/dist/LevoClient.d.ts +0 -38
  29. package/dist/chunk-OT564SO4.js +0 -69
  30. package/dist/chunk-QJSKNLTV.js +0 -9
  31. package/dist/chunk-ZLLCLSGE.js +0 -8
  32. package/dist/plugins/LevoAudience.d.ts +0 -32
  33. package/dist/plugins/LevoAudience.d.ts.map +0 -1
  34. package/dist/plugins/LevoAudience.js +0 -561
  35. package/dist/plugins/LevoBlog.d.ts +0 -8
  36. package/dist/plugins/LevoBlog.d.ts.map +0 -1
  37. package/dist/plugins/LevoBlog.js +0 -21
  38. package/dist/plugins/LevoCollection.d.ts +0 -23
  39. package/dist/plugins/LevoCollection.d.ts.map +0 -1
  40. package/dist/plugins/LevoCollection.js +0 -47
  41. package/dist/plugins/LevoLogger.d.ts +0 -32
  42. package/dist/plugins/LevoLogger.d.ts.map +0 -1
  43. package/dist/plugins/LevoLogger.js +0 -193
  44. package/dist/plugins/LevoMedia.d.ts.map +0 -1
  45. package/dist/plugins/LevoMedia.js +0 -13
  46. package/dist/plugins/LevoMembership.d.ts +0 -38
  47. package/dist/plugins/LevoMembership.d.ts.map +0 -1
  48. package/dist/plugins/LevoMembership.js +0 -104
  49. package/dist/plugins/LevoPlugin.d.ts +0 -6
  50. package/dist/plugins/LevoPlugin.d.ts.map +0 -1
  51. package/dist/plugins/LevoPlugin.js +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"LevoLogger.d.ts","sourceRoot":"","sources":["../../src/plugins/LevoLogger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,eAAO,MAAM,SAAS,SAAgC,CAAC;AAEvD,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;IACT,GAAG,MAAM;CACV;AAiBD,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AACD,qBAAa,UAAW,SAAQ,UAAU;IACxC,QAAQ,EAAE,QAAQ,CAAkB;IACpC,YAAY,EAAE,OAAO,CAAS;IAE9B,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAG3B,MAAM,EAAE,UAAU,EAClB,YAAY,GAAE,aAAkB,EAChC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAcnC,KAAK,YAAa,GAAG,EAAE,UAErB;IAEF,IAAI,YAAa,GAAG,EAAE,UAEpB;IAEF,IAAI,YAAa,GAAG,EAAE,UAEpB;IAEF,KAAK,YAAa,GAAG,EAAE,UAErB;IAEF,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC;KAC3C;IAsDD,GAAG,UAAW,QAAQ,QAAQ,GAAG,EAAE,UAsCjC;CACH"}
@@ -1,193 +0,0 @@
1
- import { LevoPlugin } from '../chunk-QJSKNLTV.js';
2
- import wretch from 'wretch';
3
-
4
- var LogBatch = class {
5
- logApiUrl = "https://public-api.levo.so";
6
- logs = [];
7
- activeFlush = Promise.resolve();
8
- nextFlush = setTimeout(() => {
9
- }, 0);
10
- lastFlush = /* @__PURE__ */ new Date();
11
- constructor(options = {}) {
12
- if (options?.logApiUrl) {
13
- this.logApiUrl = options?.logApiUrl;
14
- }
15
- }
16
- sendLogs = async (logs) => {
17
- const url = `${this.logApiUrl}/v1/apm/logs/json`;
18
- const sendFallback = () => {
19
- return wretch().url(url).post(logs).res().catch((e) => console.error(e));
20
- };
21
- try {
22
- if (typeof fetch === "undefined") {
23
- throw new Error("fetch is not defined");
24
- } else if (typeof window !== "undefined" && navigator.sendBeacon) {
25
- try {
26
- if (!navigator.sendBeacon.bind(navigator)(url, JSON.stringify(logs))) {
27
- return sendFallback();
28
- }
29
- } catch {
30
- return sendFallback();
31
- }
32
- } else {
33
- return sendFallback();
34
- }
35
- } catch (e) {
36
- console.warn(`Failed to send logs to server: ${e}`);
37
- this.logs = [...this.logs, ...logs];
38
- }
39
- };
40
- ingest = (log) => {
41
- if (!this.logApiUrl) return;
42
- const task = Array.isArray(log) ? log : [log];
43
- this.logs.push(task);
44
- if (this.logs.length >= 50 || this.lastFlush.getTime() < Date.now() - 1500) {
45
- clearTimeout(this.nextFlush);
46
- this.activeFlush = this.flush();
47
- } else {
48
- clearTimeout(this.nextFlush);
49
- this.nextFlush = setTimeout(() => {
50
- this.activeFlush = this.flush();
51
- }, 1500);
52
- }
53
- };
54
- flush = async () => {
55
- const tasks = this.logs.splice(0, this.logs.length);
56
- clearTimeout(this.nextFlush);
57
- await this.activeFlush;
58
- if (tasks.length === 0) {
59
- this.lastFlush = /* @__PURE__ */ new Date();
60
- return;
61
- }
62
- try {
63
- await this.sendLogs(tasks);
64
- } catch (e) {
65
- console.log("error sending logs", e);
66
- } finally {
67
- this.lastFlush = /* @__PURE__ */ new Date();
68
- }
69
- };
70
- };
71
-
72
- // src/plugins/LevoLogger.ts
73
- var isBrowser = typeof window !== "undefined";
74
- var LogLevel = /* @__PURE__ */ ((LogLevel2) => {
75
- LogLevel2[LogLevel2["debug"] = 0] = "debug";
76
- LogLevel2[LogLevel2["info"] = 1] = "info";
77
- LogLevel2[LogLevel2["warn"] = 2] = "warn";
78
- LogLevel2[LogLevel2["error"] = 3] = "error";
79
- LogLevel2[LogLevel2["off"] = 100] = "off";
80
- return LogLevel2;
81
- })(LogLevel || {});
82
- var getMethodName = (level) => {
83
- switch (level) {
84
- case 0 /* debug */:
85
- return "log";
86
- case 1 /* info */:
87
- return "info";
88
- case 2 /* warn */:
89
- return "warn";
90
- case 3 /* error */:
91
- return "error";
92
- default:
93
- return "log";
94
- }
95
- };
96
- var LevoLogger = class extends LevoPlugin {
97
- logLevel = 0 /* debug */;
98
- enableRemote = false;
99
- batch;
100
- context;
101
- constructor(client, batchOptions = {}, context = {}) {
102
- super(client);
103
- this.batch = new LogBatch(batchOptions);
104
- this.context = context;
105
- this.logLevel = batchOptions?.level ?? (this.client.NODE_ENV !== "development" ? 1 /* info */ : 0 /* debug */);
106
- this.enableRemote = batchOptions?.enableRemote ?? this.client.NODE_ENV !== "development";
107
- }
108
- debug = (...args) => {
109
- this.log(0 /* debug */, args);
110
- };
111
- info = (...args) => {
112
- this.log(1 /* info */, args);
113
- };
114
- warn = (...args) => {
115
- this.log(2 /* warn */, args);
116
- };
117
- error = (...args) => {
118
- this.log(3 /* error */, args);
119
- };
120
- format(messages) {
121
- let message = "";
122
- const formattedMessages = messages.map((arg) => {
123
- let payload = "";
124
- const isMessageEmpty = !message;
125
- if (typeof arg === "string") {
126
- payload = arg;
127
- if (isMessageEmpty) {
128
- message = arg;
129
- }
130
- } else if (arg instanceof Error) {
131
- payload = {
132
- message: arg.message,
133
- name: arg.name,
134
- stack: arg.stack
135
- };
136
- if (isMessageEmpty) {
137
- message = arg.message;
138
- }
139
- } else if (typeof arg === "object") {
140
- payload = arg;
141
- } else {
142
- payload = String(arg);
143
- if (isMessageEmpty) {
144
- message = String(arg);
145
- }
146
- }
147
- return payload;
148
- }).filter(Boolean);
149
- if (!message && formattedMessages.length > 0) {
150
- message = "Default message (Check content for details)";
151
- }
152
- if (formattedMessages?.length === 1 && formattedMessages[0] === message) {
153
- return { message, content: {} };
154
- }
155
- return {
156
- message,
157
- content: formattedMessages
158
- };
159
- }
160
- log = (level, args) => {
161
- const messages = Array.isArray(args) ? args : [args];
162
- if (level < this.logLevel) {
163
- return;
164
- }
165
- if (this.enableRemote && level === 3 /* error */) {
166
- const { content = {}, message } = this.format(messages);
167
- if (message) {
168
- const log = {
169
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
170
- level: "error",
171
- workspace: this.client.workspace,
172
- appName: this.client.appName,
173
- isBrowser,
174
- ...this.context,
175
- message,
176
- content
177
- };
178
- if (isBrowser) {
179
- log.hostname = window.location.hostname;
180
- log.pathname = window.location.pathname;
181
- log.url = window.location.href;
182
- log.page_title = window.document.title;
183
- log.userAgent = window.navigator.userAgent;
184
- }
185
- this.batch.ingest(log);
186
- }
187
- }
188
- const method = getMethodName(level);
189
- console[method](...messages);
190
- };
191
- };
192
-
193
- export { LevoLogger, LogLevel, isBrowser };
@@ -1 +0,0 @@
1
- {"version":3,"file":"LevoMedia.d.ts","sourceRoot":"","sources":["../../src/plugins/LevoMedia.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,SAAU,SAAQ,UAAU;IACvC,eAAe,aAAc,QAAQ,YAAW,aAAa,wCAM3D;IAEF,WAAW,UAAgB,SAAS,CAAC,SAAS,wCAK5C;CACH"}
@@ -1,13 +0,0 @@
1
- import { LevoPlugin } from '../chunk-QJSKNLTV.js';
2
-
3
- // src/plugins/LevoMedia.ts
4
- var LevoMedia = class extends LevoPlugin {
5
- mediaBulkUpload = (formData, options = {}) => {
6
- return this.client.fetch.url("/v1/assets/media/bulk").options(options).post(formData).json();
7
- };
8
- getAllMedia = async (data = {}) => {
9
- return await this.client.fetch.url("/v1/assets/media/query").post(data).json();
10
- };
11
- };
12
-
13
- export { LevoMedia };
@@ -1,38 +0,0 @@
1
- import type { WretchOptions } from "wretch";
2
- import type { ILevoMembership } from "../types/membership";
3
- import { LevoPlugin } from "./LevoPlugin";
4
- export declare class LevoMembership extends LevoPlugin {
5
- /**
6
- * Get the list of URL for OAuth providers to redirect to
7
- * This can be used in the OAuth Buttons like "Continue with Google" etc.
8
- * The URL contains the current page's URL and the current workspace
9
- *
10
- * @example
11
- * const urls = await LevoMembership.getOAuthURL();
12
- * console.log(urls.google)
13
- *
14
- * @returns {ILevoMembership.OAuthURLList}
15
- */
16
- getOAuthURL(options?: WretchOptions): Promise<ILevoMembership.OAuthURLList>;
17
- /**
18
- * Sign out the current user's account
19
- * @returns T | null
20
- */
21
- signOut<T = {
22
- status: boolean;
23
- }>(options?: WretchOptions): Promise<T>;
24
- /**
25
- * Get the current user's account
26
- * @returns T | null
27
- */
28
- getMe<T = ILevoMembership.Account>(options?: WretchOptions): Promise<T>;
29
- updateMe<T = ILevoMembership.Account, D = ILevoMembership.Request.UpdateMe>(data: D, options?: WretchOptions): Promise<T>;
30
- createPassword<T = ILevoMembership.Account>(data: ILevoMembership.Request.CreatePassword, options?: WretchOptions): Promise<T>;
31
- isLoggedIn<T = ILevoMembership.Account>(options?: WretchOptions): Promise<T | null>;
32
- requestMagicLink(data: ILevoMembership.Request.RequestMagicLink, options?: WretchOptions): Promise<Pick<ILevoMembership.Otp, "_id" | "content">>;
33
- requestOtp(data: ILevoMembership.Request.RequestOtp, options?: WretchOptions): Promise<Pick<ILevoMembership.Otp, "_id" | "content">>;
34
- signInWithOtp<T = ILevoMembership.Account>(data: ILevoMembership.Request.SignInWithOtp, options?: WretchOptions): Promise<T | null>;
35
- signInWithPassword<T = ILevoMembership.Account>(data: ILevoMembership.Request.SignInWithPassword, options?: WretchOptions): Promise<T | null>;
36
- signUpWithPassword<T = ILevoMembership.Account>(data: ILevoMembership.Request.SignUpWithPassword, options?: WretchOptions): Promise<T | null>;
37
- }
38
- //# sourceMappingURL=LevoMembership.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LevoMembership.d.ts","sourceRoot":"","sources":["../../src/plugins/LevoMembership.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAM5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,cAAe,SAAQ,UAAU;IAC5C;;;;;;;;;;OAUG;IACG,WAAW,CACf,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC;IAoDxC;;;OAGG;IACG,OAAO,CAAC,CAAC,GAAG;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,EACnC,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,CAAC,CAAC;IAQb;;;OAGG;IACG,KAAK,CAAC,CAAC,GAAG,eAAe,CAAC,OAAO,EACrC,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,CAAC,CAAC;IAUP,QAAQ,CACZ,CAAC,GAAG,eAAe,CAAC,OAAO,EAC3B,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,EACpC,IAAI,EAAE,CAAC,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAU7C,cAAc,CAAC,CAAC,GAAG,eAAe,CAAC,OAAO,EAC9C,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,cAAc,EAC5C,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,CAAC,CAAC;IAUP,UAAU,CAAC,CAAC,GAAG,eAAe,CAAC,OAAO,EAC1C,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IASd,gBAAgB,CACpB,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,gBAAgB,EAC9C,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;IAiBlD,UAAU,CACd,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,UAAU,EACxC,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;IAUlD,aAAa,CAAC,CAAC,GAAG,eAAe,CAAC,OAAO,EAC7C,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,aAAa,EAC3C,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAUd,kBAAkB,CAAC,CAAC,GAAG,eAAe,CAAC,OAAO,EAClD,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,kBAAkB,EAChD,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAUd,kBAAkB,CAAC,CAAC,GAAG,eAAe,CAAC,OAAO,EAClD,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,kBAAkB,EAChD,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;CASrB"}
@@ -1,104 +0,0 @@
1
- import { LevoOAuthProviderList } from '../chunk-ZLLCLSGE.js';
2
- import { LevoPlugin } from '../chunk-QJSKNLTV.js';
3
-
4
- // src/plugins/LevoMembership.ts
5
- var LevoMembership = class extends LevoPlugin {
6
- /**
7
- * Get the list of URL for OAuth providers to redirect to
8
- * This can be used in the OAuth Buttons like "Continue with Google" etc.
9
- * The URL contains the current page's URL and the current workspace
10
- *
11
- * @example
12
- * const urls = await LevoMembership.getOAuthURL();
13
- * console.log(urls.google)
14
- *
15
- * @returns {ILevoMembership.OAuthURLList}
16
- */
17
- async getOAuthURL(options = {}) {
18
- try {
19
- const response = await this.client.fetch.url("/v1/membership/auth/oauth/get-redirect-url").options(options).get().json();
20
- const result = response?.content?.data;
21
- const providers = Object.keys(result);
22
- if (typeof window !== "undefined") {
23
- for (const provider of providers) {
24
- const raw_url = result[provider];
25
- if (raw_url) {
26
- const url = new URL(raw_url);
27
- const url_params = url.searchParams;
28
- url_params.set("redirect_uri", window.location.href);
29
- if (this.client.workspace) {
30
- url_params.set("workspace_id", this.client.workspace);
31
- }
32
- const pageContext = this.client.getPageContext();
33
- if (pageContext) {
34
- url_params.set("page_context", JSON.stringify(pageContext));
35
- }
36
- result[provider] = `${url.origin}${url.pathname}?${url_params.toString()}`;
37
- }
38
- }
39
- }
40
- return result;
41
- } catch (_) {
42
- return LevoOAuthProviderList.reduce((acc, provider) => {
43
- acc[provider] = null;
44
- return acc;
45
- }, {});
46
- }
47
- }
48
- /**
49
- * Sign out the current user's account
50
- * @returns T | null
51
- */
52
- async signOut(options = {}) {
53
- return this.client.fetch.url("/v1/membership/auth/sign-out").options(options).post("").json();
54
- }
55
- /**
56
- * Get the current user's account
57
- * @returns T | null
58
- */
59
- async getMe(options = {}) {
60
- const response = await this.client.fetch.url("/v1/membership/auth/get-me").options(options).get().json();
61
- return response?.content?.data;
62
- }
63
- async updateMe(data, options = {}) {
64
- const response = await this.client.fetch.url("/v1/membership/auth/update-me").options(options).put(data).json();
65
- return response?.content?.data;
66
- }
67
- async createPassword(data, options = {}) {
68
- const response = await this.client.fetch.url("/v1/membership/auth/change-password").options(options).put(data).json();
69
- return response?.content?.data;
70
- }
71
- async isLoggedIn(options = {}) {
72
- try {
73
- const account = await this.getMe(options);
74
- return account;
75
- } catch (_) {
76
- return null;
77
- }
78
- }
79
- async requestMagicLink(data, options = {}) {
80
- if (typeof window !== "undefined" && !data.redirect_uri) {
81
- data.redirect_uri = window.location.href;
82
- }
83
- const response = await this.client.fetch.url("/v1/membership/auth/request-magic-link").options(options).post(data).json();
84
- return response?.content?.data;
85
- }
86
- async requestOtp(data, options = {}) {
87
- const response = await this.client.fetch.url("/v1/membership/auth/request-otp").options(options).post(data).json();
88
- return response?.content?.data;
89
- }
90
- async signInWithOtp(data, options = {}) {
91
- const response = await this.client.fetch.url("/v1/membership/auth/signin-with-otp").options(options).post(data).json();
92
- return response?.content?.data;
93
- }
94
- async signInWithPassword(data, options = {}) {
95
- const response = await this.client.fetch.url("/v1/membership/auth/signin-with-password").options(options).post(data).json();
96
- return response?.content?.data;
97
- }
98
- async signUpWithPassword(data, options = {}) {
99
- const response = await this.client.fetch.url("/v1/membership/auth/signup-with-password").options(options).post(data).json();
100
- return response?.content?.data;
101
- }
102
- };
103
-
104
- export { LevoMembership };
@@ -1,6 +0,0 @@
1
- import type LevoClient from "../LevoClient";
2
- export declare abstract class LevoPlugin {
3
- protected client: LevoClient;
4
- constructor(client: LevoClient);
5
- }
6
- //# sourceMappingURL=LevoPlugin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LevoPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/LevoPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAE5C,8BAAsB,UAAU;IAC9B,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;gBAEjB,MAAM,EAAE,UAAU;CAG/B"}
@@ -1 +0,0 @@
1
- export { LevoPlugin } from '../chunk-QJSKNLTV.js';