@dudousxd/nestjs-media-dashboard 0.16.2 → 0.18.0
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/dist/client/index.d.ts +1 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -4
- package/dist/client/index.js.map +1 -1
- package/dist/client/media-console-client.d.ts +14 -23
- package/dist/client/media-console-client.d.ts.map +1 -1
- package/dist/client/media-console-client.js +53 -46
- package/dist/client/media-console-client.js.map +1 -1
- package/dist/client/types.d.ts +10 -6
- package/dist/client/types.d.ts.map +1 -1
- package/dist/server/index.cjs +805 -1235
- package/dist/server/index.cjs.map +1 -1
- package/dist/server/index.d.cts +362 -239
- package/dist/server/index.d.ts +362 -239
- package/dist/server/index.js +790 -1235
- package/dist/server/index.js.map +1 -1
- package/dist/spa/assets/{ArchivePreview-h5wYCDJT.js → ArchivePreview-DacpA4QQ.js} +1 -1
- package/dist/spa/assets/CertificatePreview-CEfJ-ORW.js +127 -0
- package/dist/spa/assets/MarkdownPreview-47FMx48l.js +74 -0
- package/dist/spa/assets/ParquetPreview-DHvs5kV-.js +973 -0
- package/dist/spa/assets/{SheetPreview-Bfq7dI0a.js → SheetPreview-AT23RGVb.js} +1 -1
- package/dist/spa/assets/{SqlitePreview-JTQDjJJ3.js → SqlitePreview-D7KZuyZD.js} +1 -1
- package/dist/spa/assets/{index-Cjax4szq.js → index-BmejPQYi.js} +1 -1
- package/dist/spa/assets/{preview-BjGG6sSu.js → preview-DVKz8AwF.js} +2 -2
- package/dist/spa/assets/styles-CG_mruF7.css +1 -0
- package/dist/spa/assets/styles-CTvG1yXb.js +61 -0
- package/dist/spa/index.html +3 -3
- package/dist/spa/preview.html +3 -3
- package/package.json +25 -30
- package/dist/client/console-session.d.ts +0 -69
- package/dist/client/console-session.d.ts.map +0 -1
- package/dist/client/console-session.js +0 -120
- package/dist/client/console-session.js.map +0 -1
- package/dist/react/index.d.ts +0 -4
- package/dist/react/index.d.ts.map +0 -1
- package/dist/react/index.js +0 -15
- package/dist/react/index.js.map +0 -1
- package/dist/react/open-console-button.d.ts +0 -26
- package/dist/react/open-console-button.d.ts.map +0 -1
- package/dist/react/open-console-button.js +0 -29
- package/dist/react/open-console-button.js.map +0 -1
- package/dist/react/use-open-console.d.ts +0 -45
- package/dist/react/use-open-console.d.ts.map +0 -1
- package/dist/react/use-open-console.js +0 -75
- package/dist/react/use-open-console.js.map +0 -1
- package/dist/spa/assets/CertificatePreview-Bm4NkGaO.js +0 -127
- package/dist/spa/assets/MarkdownPreview-Cai2BrTH.js +0 -70
- package/dist/spa/assets/ParquetPreview-DfDTL_6f.js +0 -973
- package/dist/spa/assets/styles-Cui6Yy9Y.js +0 -61
- package/dist/spa/assets/styles-FRkIQ83o.css +0 -1
package/dist/client/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export { ConsoleSessionError, mediaConsoleSessionUrl, mediaConsoleUrl, mintMediaConsoleSession, openMediaConsole, type OpenConsoleOptions, } from './console-session.js';
|
|
2
1
|
export * from './types.js';
|
|
3
|
-
export { apiBase, mediaConsoleClient, type MediaConsoleClient } from './media-console-client.js';
|
|
2
|
+
export { apiBase, ConsoleAccessError, mediaConsoleClient, onConsoleAccessDenied, type MediaConsoleClient, } from './media-console-client.js';
|
|
4
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,kBAAkB,GACxB,MAAM,2BAA2B,CAAC"}
|
package/dist/client/index.js
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
// Headless console-launcher primitives (path derivation + mint-then-navigate). Re-exported here
|
|
2
|
-
// because `./client` resolves to this file — see the package's `exports` map.
|
|
3
|
-
export { ConsoleSessionError, mediaConsoleSessionUrl, mediaConsoleUrl, mintMediaConsoleSession, openMediaConsole, } from './console-session.js';
|
|
4
1
|
export * from './types.js';
|
|
5
|
-
export { apiBase, mediaConsoleClient } from './media-console-client.js';
|
|
2
|
+
export { apiBase, ConsoleAccessError, mediaConsoleClient, onConsoleAccessDenied, } from './media-console-client.js';
|
|
6
3
|
//# sourceMappingURL=index.js.map
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,GAEtB,MAAM,2BAA2B,CAAC"}
|
|
@@ -7,28 +7,18 @@ declare global {
|
|
|
7
7
|
}
|
|
8
8
|
/** Where the SPA fetches the JSON API — injected by the UI controller, or a sensible default. */
|
|
9
9
|
export declare function apiBase(): string;
|
|
10
|
-
/** A
|
|
11
|
-
export
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
state: 'login';
|
|
22
|
-
modes: string[];
|
|
23
|
-
};
|
|
24
|
-
/** Typed browser client for the /media console JSON API. Rides ambient cookies (host guards). */
|
|
10
|
+
/** A console denial from the API: 403 (`forbidden`) or 401 (`unauthenticated`, maybe with `redirectTo`). */
|
|
11
|
+
export declare class ConsoleAccessError extends Error {
|
|
12
|
+
readonly status: 401 | 403;
|
|
13
|
+
readonly redirectTo?: string | undefined;
|
|
14
|
+
constructor(status: 401 | 403, redirectTo?: string | undefined);
|
|
15
|
+
}
|
|
16
|
+
type AccessListener = (error: ConsoleAccessError) => void;
|
|
17
|
+
/** Called on every console denial the client sees; returns an unsubscribe. The SPA uses it to show
|
|
18
|
+
* its access-denied state. */
|
|
19
|
+
export declare function onConsoleAccessDenied(listener: AccessListener): () => void;
|
|
20
|
+
/** Typed browser client for the /media console JSON API. Rides ambient cookies to whatever protects the routes. */
|
|
25
21
|
export declare const mediaConsoleClient: {
|
|
26
|
-
/** Who am I? Resolves the console's gate: open (no auth), authenticated, or "show login". */
|
|
27
|
-
me: () => Promise<ConsoleAuthState>;
|
|
28
|
-
/** Submit credentials to the built-in login; sets the session cookie on success (else throws). */
|
|
29
|
-
login: (username: string, password: string) => Promise<void>;
|
|
30
|
-
/** Clear the session cookie. */
|
|
31
|
-
logout: () => Promise<void>;
|
|
32
22
|
topology: () => Promise<Topology>;
|
|
33
23
|
disks: () => Promise<DiskListResponse>;
|
|
34
24
|
objects: (disk: string, params?: {
|
|
@@ -98,10 +88,11 @@ export declare const mediaConsoleClient: {
|
|
|
98
88
|
uploadObject: (disk: string, key: string, file: Blob & {
|
|
99
89
|
type: string;
|
|
100
90
|
}) => Promise<void>;
|
|
101
|
-
/** Create a folder (a zero-byte
|
|
91
|
+
/** Create a folder (a hidden zero-byte `<prefix>/.keep`) on the disk. */
|
|
102
92
|
createFolder: (disk: string, prefix: string) => Promise<void>;
|
|
103
|
-
/** Recursively delete a folder (every object under `<prefix
|
|
93
|
+
/** Recursively delete a folder (every object under `<prefix>/`, its `.keep` included). */
|
|
104
94
|
deleteFolder: (disk: string, prefix: string) => Promise<void>;
|
|
105
95
|
};
|
|
106
96
|
export type MediaConsoleClient = typeof mediaConsoleClient;
|
|
97
|
+
export {};
|
|
107
98
|
//# sourceMappingURL=media-console-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-console-client.d.ts","sourceRoot":"","sources":["../../src/client/media-console-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,QAAQ,EACR,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB;CACF;AAED,iGAAiG;AACjG,wBAAgB,OAAO,IAAI,MAAM,CAMhC;
|
|
1
|
+
{"version":3,"file":"media-console-client.d.ts","sourceRoot":"","sources":["../../src/client/media-console-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,10 +17,53 @@ function withQuery(path, params) {
|
|
|
17
17
|
const query = search.toString();
|
|
18
18
|
return query ? `${path}?${query}` : path;
|
|
19
19
|
}
|
|
20
|
+
/** A console denial from the API: 403 (`forbidden`) or 401 (`unauthenticated`, maybe with `redirectTo`). */
|
|
21
|
+
export class ConsoleAccessError extends Error {
|
|
22
|
+
status;
|
|
23
|
+
redirectTo;
|
|
24
|
+
constructor(status, redirectTo) {
|
|
25
|
+
super(status === 403 ? 'Access denied' : 'Sign-in required');
|
|
26
|
+
this.status = status;
|
|
27
|
+
this.redirectTo = redirectTo;
|
|
28
|
+
this.name = 'ConsoleAccessError';
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
const accessListeners = new Set();
|
|
32
|
+
/** Called on every console denial the client sees; returns an unsubscribe. The SPA uses it to show
|
|
33
|
+
* its access-denied state. */
|
|
34
|
+
export function onConsoleAccessDenied(listener) {
|
|
35
|
+
accessListeners.add(listener);
|
|
36
|
+
return () => accessListeners.delete(listener);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Throws for a non-2xx response. A 401 carrying `redirectTo` sends the browser there (the app's
|
|
40
|
+
* sign-in); a 401/403 is reported as a {@link ConsoleAccessError} to {@link onConsoleAccessDenied}.
|
|
41
|
+
*/
|
|
42
|
+
async function ensureOk(response) {
|
|
43
|
+
if (response.ok)
|
|
44
|
+
return;
|
|
45
|
+
if (response.status === 401 || response.status === 403) {
|
|
46
|
+
let redirectTo;
|
|
47
|
+
if (response.status === 401) {
|
|
48
|
+
const body = (await response
|
|
49
|
+
.clone()
|
|
50
|
+
.json()
|
|
51
|
+
.catch(() => undefined));
|
|
52
|
+
if (typeof body?.redirectTo === 'string')
|
|
53
|
+
redirectTo = body.redirectTo;
|
|
54
|
+
}
|
|
55
|
+
const error = new ConsoleAccessError(response.status, redirectTo);
|
|
56
|
+
if (redirectTo && typeof window !== 'undefined')
|
|
57
|
+
window.location.assign(redirectTo);
|
|
58
|
+
for (const listener of accessListeners)
|
|
59
|
+
listener(error);
|
|
60
|
+
throw error;
|
|
61
|
+
}
|
|
62
|
+
throw new Error(`${response.status} ${response.statusText}`);
|
|
63
|
+
}
|
|
20
64
|
async function getJson(path) {
|
|
21
65
|
const response = await fetch(`${apiBase()}${path}`, { credentials: 'same-origin' });
|
|
22
|
-
|
|
23
|
-
throw new Error(`${response.status} ${response.statusText}`);
|
|
66
|
+
await ensureOk(response);
|
|
24
67
|
return response.json();
|
|
25
68
|
}
|
|
26
69
|
async function send(method, path, body) {
|
|
@@ -31,8 +74,7 @@ async function send(method, path, body) {
|
|
|
31
74
|
? { headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body) }
|
|
32
75
|
: {}),
|
|
33
76
|
});
|
|
34
|
-
|
|
35
|
-
throw new Error(`${response.status} ${response.statusText}`);
|
|
77
|
+
await ensureOk(response);
|
|
36
78
|
}
|
|
37
79
|
/** POST raw bytes as `application/octet-stream` (a file upload) — the host's JSON parser leaves the
|
|
38
80
|
* stream intact, so the server reads it straight from the request. */
|
|
@@ -43,42 +85,10 @@ async function sendRaw(path, body) {
|
|
|
43
85
|
headers: { 'Content-Type': 'application/octet-stream' },
|
|
44
86
|
body,
|
|
45
87
|
});
|
|
46
|
-
|
|
47
|
-
throw new Error(`${response.status} ${response.statusText}`);
|
|
88
|
+
await ensureOk(response);
|
|
48
89
|
}
|
|
49
|
-
/** Typed browser client for the /media console JSON API. Rides ambient cookies
|
|
90
|
+
/** Typed browser client for the /media console JSON API. Rides ambient cookies to whatever protects the routes. */
|
|
50
91
|
export const mediaConsoleClient = {
|
|
51
|
-
/** Who am I? Resolves the console's gate: open (no auth), authenticated, or "show login". */
|
|
52
|
-
me: async () => {
|
|
53
|
-
const response = await fetch(`${apiBase()}/me`, { credentials: 'same-origin' });
|
|
54
|
-
if (response.status === 401) {
|
|
55
|
-
const body = await response.json().catch(() => null);
|
|
56
|
-
const modes = typeof body === 'object' && body !== null && 'auth' in body
|
|
57
|
-
? (body.auth?.modes ?? ['login'])
|
|
58
|
-
: ['login'];
|
|
59
|
-
return { state: 'login', modes };
|
|
60
|
-
}
|
|
61
|
-
if (!response.ok)
|
|
62
|
-
throw new Error(`${response.status} ${response.statusText}`);
|
|
63
|
-
const body = (await response.json());
|
|
64
|
-
return 'user' in body ? { state: 'authenticated', user: body.user } : { state: 'open' };
|
|
65
|
-
},
|
|
66
|
-
/** Submit credentials to the built-in login; sets the session cookie on success (else throws). */
|
|
67
|
-
login: async (username, password) => {
|
|
68
|
-
const response = await fetch(`${apiBase()}/login`, {
|
|
69
|
-
method: 'POST',
|
|
70
|
-
credentials: 'same-origin',
|
|
71
|
-
headers: { 'Content-Type': 'application/json' },
|
|
72
|
-
body: JSON.stringify({ username, password }),
|
|
73
|
-
});
|
|
74
|
-
if (!response.ok) {
|
|
75
|
-
throw new Error(response.status === 401 ? 'Invalid credentials' : `${response.status}`);
|
|
76
|
-
}
|
|
77
|
-
},
|
|
78
|
-
/** Clear the session cookie. */
|
|
79
|
-
logout: async () => {
|
|
80
|
-
await fetch(`${apiBase()}/logout`, { method: 'POST', credentials: 'same-origin' });
|
|
81
|
-
},
|
|
82
92
|
topology: () => getJson('/topology'),
|
|
83
93
|
disks: () => getJson('/disks'),
|
|
84
94
|
objects: (disk, params = {}) => getJson(withQuery(`/disks/${encodeURIComponent(disk)}/objects`, params)),
|
|
@@ -102,8 +112,7 @@ export const mediaConsoleClient = {
|
|
|
102
112
|
const response = await fetch(mediaConsoleClient.objectRawUrl(disk, key), {
|
|
103
113
|
credentials: 'same-origin',
|
|
104
114
|
});
|
|
105
|
-
|
|
106
|
-
throw new Error(`${response.status} ${response.statusText}`);
|
|
115
|
+
await ensureOk(response);
|
|
107
116
|
if (!response.body) {
|
|
108
117
|
const text = await response.text();
|
|
109
118
|
return { text, bytesRead: text.length };
|
|
@@ -150,8 +159,7 @@ export const mediaConsoleClient = {
|
|
|
150
159
|
await response.body?.cancel().catch(() => undefined);
|
|
151
160
|
throw new Error(`Ranged read of "${key}" was answered 200 (full body) instead of 206 — the Range header was dropped between this page and the disk.`);
|
|
152
161
|
}
|
|
153
|
-
|
|
154
|
-
throw new Error(`${response.status} ${response.statusText}`);
|
|
162
|
+
await ensureOk(response);
|
|
155
163
|
return new Uint8Array(await response.arrayBuffer());
|
|
156
164
|
},
|
|
157
165
|
/** Fetch an object's raw bytes (for binary previews like XLSX) through the inline proxy. */
|
|
@@ -159,8 +167,7 @@ export const mediaConsoleClient = {
|
|
|
159
167
|
const response = await fetch(mediaConsoleClient.objectRawUrl(disk, key), {
|
|
160
168
|
credentials: 'same-origin',
|
|
161
169
|
});
|
|
162
|
-
|
|
163
|
-
throw new Error(`${response.status} ${response.statusText}`);
|
|
170
|
+
await ensureOk(response);
|
|
164
171
|
return response.arrayBuffer();
|
|
165
172
|
},
|
|
166
173
|
uploads: (params = {}) => getJson(withQuery('/uploads', params)),
|
|
@@ -184,9 +191,9 @@ export const mediaConsoleClient = {
|
|
|
184
191
|
key,
|
|
185
192
|
...(file.type ? { type: file.type } : {}),
|
|
186
193
|
}), file),
|
|
187
|
-
/** Create a folder (a zero-byte
|
|
194
|
+
/** Create a folder (a hidden zero-byte `<prefix>/.keep`) on the disk. */
|
|
188
195
|
createFolder: (disk, prefix) => send('POST', `/disks/${encodeURIComponent(disk)}/folder`, { prefix }),
|
|
189
|
-
/** Recursively delete a folder (every object under `<prefix
|
|
196
|
+
/** Recursively delete a folder (every object under `<prefix>/`, its `.keep` included). */
|
|
190
197
|
deleteFolder: (disk, prefix) => send('DELETE', withQuery(`/disks/${encodeURIComponent(disk)}/folder`, { prefix })),
|
|
191
198
|
};
|
|
192
199
|
//# sourceMappingURL=media-console-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-console-client.js","sourceRoot":"","sources":["../../src/client/media-console-client.ts"],"names":[],"mappings":"AAoBA,iGAAiG;AACjG,MAAM,UAAU,OAAO;IACrB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,aAAa;YAAE,OAAO,MAAM,CAAC,aAAa,CAAC;QACtD,IAAI,MAAM,CAAC,cAAc;YAAE,OAAO,GAAG,MAAM,CAAC,cAAc,MAAM,CAAC;IACnE,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,MAAmD;IAClF,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"media-console-client.js","sourceRoot":"","sources":["../../src/client/media-console-client.ts"],"names":[],"mappings":"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"}
|
package/dist/client/types.d.ts
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a disk can do, computed by the server from the `@nestjs/storage` disk and its multipart
|
|
3
|
+
* side-car (`MediaDiskCapabilities` in `-core`).
|
|
4
|
+
*/
|
|
1
5
|
export interface DiskCapabilities {
|
|
6
|
+
/** `signedUrl()` works (S3, or a local disk with `signedUrls`). */
|
|
2
7
|
presign: boolean;
|
|
8
|
+
/** A multipart side-car is configured for the disk. */
|
|
3
9
|
multipart: boolean;
|
|
10
|
+
/** The disk has a `publicUrl`. */
|
|
4
11
|
publicUrls: boolean;
|
|
5
12
|
list: boolean;
|
|
6
13
|
/**
|
|
7
|
-
* Can the disk serve a byte range
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* this is a WIRE shape: the console bundle can be served by a host still running an older server
|
|
11
|
-
* build that never emits the field. `undefined` means "this server didn't say", which a caller
|
|
12
|
-
* should treat as "don't count on it" — not as `false`.
|
|
14
|
+
* Can the disk serve a byte range (a ranged `object/raw`)? Every `@nestjs/storage` disk can, so
|
|
15
|
+
* current servers always send `true`. Optional because this is a WIRE shape: an older server may
|
|
16
|
+
* not emit it, and `undefined` means "don't count on it", not `false`.
|
|
13
17
|
*/
|
|
14
18
|
ranged?: boolean;
|
|
15
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"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"}
|