qyl-mcp-server 1.1.2 → 1.1.3
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/http-security.d.ts +7 -6
- package/dist/http-security.js +9 -7
- package/dist/http-security.js.map +1 -1
- package/dist/main.d.ts +28 -7
- package/dist/main.js +149 -106
- package/dist/main.js.map +1 -1
- package/dist/mcp-app.html +1 -1
- package/dist/mcp-dashboard.html +1 -1
- package/dist/mcp-home.html +1 -1
- package/dist/observe-graph.html +1 -1
- package/package.json +2 -6
package/dist/http-security.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
/**
|
|
2
|
+
* DNS-rebinding protection in front of the MCP handler, which validates
|
|
3
|
+
* neither header itself. Without explicit allowlists this is a loopback
|
|
4
|
+
* process, and the SDK's localhost sets are the correct answer — the same
|
|
5
|
+
* default the framework app factories arm.
|
|
6
|
+
*/
|
|
7
|
+
export declare function dnsRebindingResponse(request: Request, allowedHosts?: readonly string[], allowedOrigins?: readonly string[]): Response | undefined;
|
|
7
8
|
export declare function isLoopbackBindHost(host: string): boolean;
|
package/dist/http-security.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { hostHeaderValidationResponse, localhostAllowedHostnames, localhostAllowedOrigins, originValidationResponse, } from "@modelcontextprotocol/server";
|
|
2
2
|
function unique(values) {
|
|
3
3
|
return [...new Set(values)];
|
|
4
4
|
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
/**
|
|
6
|
+
* DNS-rebinding protection in front of the MCP handler, which validates
|
|
7
|
+
* neither header itself. Without explicit allowlists this is a loopback
|
|
8
|
+
* process, and the SDK's localhost sets are the correct answer — the same
|
|
9
|
+
* default the framework app factories arm.
|
|
10
|
+
*/
|
|
11
|
+
export function dnsRebindingResponse(request, allowedHosts, allowedOrigins) {
|
|
12
|
+
return hostHeaderValidationResponse(request, unique(allowedHosts ?? localhostAllowedHostnames())) ?? originValidationResponse(request, unique(allowedOrigins ?? localhostAllowedOrigins()));
|
|
11
13
|
}
|
|
12
14
|
export function isLoopbackBindHost(host) {
|
|
13
15
|
return host === "127.0.0.1" || host === "localhost" || host === "::1";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-security.js","sourceRoot":"","sources":["../src/http-security.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"http-security.js","sourceRoot":"","sources":["../src/http-security.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,8BAA8B,CAAC;AAEtC,SAAS,MAAM,CAAC,MAAyB;IACvC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAgB,EAChB,YAAgC,EAChC,cAAkC;IAElC,OAAO,4BAA4B,CACjC,OAAO,EACP,MAAM,CAAC,YAAY,IAAI,yBAAyB,EAAE,CAAC,CACpD,IAAI,wBAAwB,CAC3B,OAAO,EACP,MAAM,CAAC,cAAc,IAAI,uBAAuB,EAAE,CAAC,CACpD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,KAAK,CAAC;AACxE,CAAC"}
|
package/dist/main.d.ts
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { type AuthMetadataOptions, type McpServer } from "@modelcontextprotocol/server";
|
|
2
|
+
import { type AuthInfo, type AuthMetadataOptions, type McpHttpHandler, type McpServer } from "@modelcontextprotocol/server";
|
|
3
3
|
import { type StdioServerHandle } from "@modelcontextprotocol/server/stdio";
|
|
4
|
-
import type { Express } from "express";
|
|
5
|
-
import type { Server as HttpServer } from "node:http";
|
|
6
4
|
export declare function sanitizedErrorType(error: unknown): string;
|
|
7
|
-
export declare function closeHttpListener(server: HttpServer): Promise<void>;
|
|
8
5
|
export interface StreamableHTTPServerConfig {
|
|
9
6
|
port: number;
|
|
10
7
|
bindHost: string;
|
|
@@ -13,7 +10,31 @@ export interface StreamableHTTPServerConfig {
|
|
|
13
10
|
allowedOrigins?: string[];
|
|
14
11
|
}
|
|
15
12
|
export declare function readStreamableHTTPConfig(environment?: NodeJS.ProcessEnv): StreamableHTTPServerConfig;
|
|
16
|
-
export
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
export interface HostedAuth {
|
|
14
|
+
gate: (request: Request) => Promise<AuthInfo | Response>;
|
|
15
|
+
metadata: AuthMetadataOptions;
|
|
16
|
+
}
|
|
17
|
+
export interface McpFetchOptions {
|
|
18
|
+
handler: McpHttpHandler;
|
|
19
|
+
landingPage: string;
|
|
20
|
+
allowedHosts?: readonly string[] | undefined;
|
|
21
|
+
allowedOrigins?: readonly string[] | undefined;
|
|
22
|
+
auth?: HostedAuth | undefined;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* The endpoint as one web-standard function. The order is the contract: the
|
|
26
|
+
* discovery documents answer before the gate, or an unauthenticated client
|
|
27
|
+
* has no way to learn where its token comes from; the rebinding guards answer
|
|
28
|
+
* before any route, because the handler validates no header; the gate resolves
|
|
29
|
+
* to verified `AuthInfo` or to a finished challenge, and only the first of
|
|
30
|
+
* those reaches the handler.
|
|
31
|
+
*/
|
|
32
|
+
export declare function createFetch(options: McpFetchOptions): (request: Request) => Promise<Response>;
|
|
33
|
+
export interface ServeOptions {
|
|
34
|
+
port: number;
|
|
35
|
+
hostname: string;
|
|
36
|
+
fetch: (request: Request) => Promise<Response>;
|
|
37
|
+
}
|
|
19
38
|
export declare function startStdioServer(serverFactory: () => McpServer): StdioServerHandle;
|
|
39
|
+
declare const _default: ServeOptions | undefined;
|
|
40
|
+
export default _default;
|
package/dist/main.js
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
2
|
+
import { createMcpHandler, getOAuthProtectedResourceMetadataUrl, oauthMetadataResponse, requireBearerAuth, } from "@modelcontextprotocol/server";
|
|
3
3
|
import { serveStdio } from "@modelcontextprotocol/server/stdio";
|
|
4
|
-
import { toNodeHandler } from "@modelcontextprotocol/node";
|
|
5
4
|
import { realpathSync } from "node:fs";
|
|
6
5
|
import { readFile } from "node:fs/promises";
|
|
7
6
|
import { resolve } from "node:path";
|
|
8
7
|
import { pathToFileURL } from "node:url";
|
|
9
8
|
import { createServer } from "./server.js";
|
|
10
9
|
import { assertCollectorContractRevision } from "./contract-handshake.js";
|
|
11
|
-
import {
|
|
12
|
-
import { createMcpApp, isLoopbackBindHost } from "./http-security.js";
|
|
10
|
+
import { dnsRebindingResponse, isLoopbackBindHost } from "./http-security.js";
|
|
13
11
|
import { loadHostedOAuth } from "./oauth.js";
|
|
14
12
|
import { closeDefaultNativeExecutionRuntime } from "./native-execution.js";
|
|
15
13
|
export function sanitizedErrorType(error) {
|
|
@@ -20,11 +18,6 @@ export function sanitizedErrorType(error) {
|
|
|
20
18
|
function reportError(scope, error) {
|
|
21
19
|
console.error(`${scope} failed (${sanitizedErrorType(error)}); secret details omitted`);
|
|
22
20
|
}
|
|
23
|
-
export function closeHttpListener(server) {
|
|
24
|
-
return new Promise((resolveClose, rejectClose) => {
|
|
25
|
-
server.close((error) => (error ? rejectClose(error) : resolveClose()));
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
21
|
function commaSeparated(value) {
|
|
29
22
|
return (value ?? "")
|
|
30
23
|
.split(",")
|
|
@@ -81,102 +74,135 @@ export function readStreamableHTTPConfig(environment = process.env) {
|
|
|
81
74
|
function urlHost(host) {
|
|
82
75
|
return host.includes(":") && !host.startsWith("[") ? `[${host}]` : host;
|
|
83
76
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
if (requestedHeaders !== undefined) {
|
|
94
|
-
response.set("Access-Control-Allow-Headers", requestedHeaders);
|
|
95
|
-
response.vary("Access-Control-Request-Headers");
|
|
96
|
-
}
|
|
97
|
-
response.status(204).end();
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
if (request.method === "GET") {
|
|
101
|
-
response.status(200).json(metadata);
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
if (request.method === "HEAD") {
|
|
105
|
-
response.status(200).end();
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
const error = new OAuthError(OAuthErrorCode.MethodNotAllowed, `The method ${request.method} is not allowed for this endpoint`);
|
|
109
|
-
response
|
|
110
|
-
.set("Allow", "GET, HEAD, OPTIONS")
|
|
111
|
-
.status(405)
|
|
112
|
-
.json(error.toResponseObject());
|
|
113
|
-
});
|
|
114
|
-
return metadataUrl;
|
|
115
|
-
}
|
|
116
|
-
export function mountLandingPage(app, html) {
|
|
117
|
-
app.get("/", (_request, response) => {
|
|
118
|
-
response
|
|
119
|
-
.set("Cache-Control", "public, max-age=300")
|
|
120
|
-
.status(200)
|
|
121
|
-
.type("html")
|
|
122
|
-
.send(html);
|
|
77
|
+
function landingResponse(request, html) {
|
|
78
|
+
if (request.method !== "GET" && request.method !== "HEAD")
|
|
79
|
+
return notFound();
|
|
80
|
+
return new Response(request.method === "HEAD" ? null : html, {
|
|
81
|
+
status: 200,
|
|
82
|
+
headers: {
|
|
83
|
+
"content-type": "text/html; charset=utf-8",
|
|
84
|
+
"cache-control": "public, max-age=300",
|
|
85
|
+
},
|
|
123
86
|
});
|
|
124
87
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
88
|
+
function healthResponse(request) {
|
|
89
|
+
if (request.method !== "GET" && request.method !== "HEAD")
|
|
90
|
+
return notFound();
|
|
91
|
+
return Response.json({ status: "ok" });
|
|
92
|
+
}
|
|
93
|
+
function notFound() {
|
|
94
|
+
return new Response("Not Found", {
|
|
95
|
+
status: 404,
|
|
96
|
+
headers: { "content-type": "text/plain; charset=utf-8" },
|
|
133
97
|
});
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
98
|
+
}
|
|
99
|
+
// A browser client reads none of this without CORS — not the challenge that
|
|
100
|
+
// starts its OAuth flow, not the session id, not the negotiated revision. The
|
|
101
|
+
// preflight carries no credentials, so it must be answered before the gate;
|
|
102
|
+
// answering it there is a 401 the browser reports as a network failure.
|
|
103
|
+
const EXPOSED_HEADERS = "WWW-Authenticate, Mcp-Session-Id, MCP-Protocol-Version";
|
|
104
|
+
function corsPreflightResponse(request) {
|
|
105
|
+
const origin = request.headers.get("origin");
|
|
106
|
+
if (request.method !== "OPTIONS" || origin === null)
|
|
107
|
+
return undefined;
|
|
108
|
+
const requestedHeaders = request.headers.get("access-control-request-headers");
|
|
109
|
+
return new Response(null, {
|
|
110
|
+
status: 204,
|
|
111
|
+
headers: {
|
|
112
|
+
"access-control-allow-origin": origin,
|
|
113
|
+
"access-control-allow-methods": "GET, POST, DELETE, OPTIONS",
|
|
114
|
+
...(requestedHeaders === null ? {} : { "access-control-allow-headers": requestedHeaders }),
|
|
115
|
+
"access-control-expose-headers": EXPOSED_HEADERS,
|
|
116
|
+
"access-control-max-age": "600",
|
|
117
|
+
vary: "Origin, Access-Control-Request-Headers",
|
|
118
|
+
},
|
|
138
119
|
});
|
|
139
|
-
|
|
140
|
-
|
|
120
|
+
}
|
|
121
|
+
function withCors(request, response) {
|
|
122
|
+
const origin = request.headers.get("origin");
|
|
123
|
+
if (origin === null)
|
|
124
|
+
return response;
|
|
125
|
+
const headers = new Headers(response.headers);
|
|
126
|
+
headers.set("access-control-allow-origin", origin);
|
|
127
|
+
headers.set("access-control-expose-headers", EXPOSED_HEADERS);
|
|
128
|
+
headers.append("vary", "Origin");
|
|
129
|
+
return new Response(response.body, {
|
|
130
|
+
status: response.status,
|
|
131
|
+
statusText: response.statusText,
|
|
132
|
+
headers,
|
|
141
133
|
});
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* The endpoint as one web-standard function. The order is the contract: the
|
|
137
|
+
* discovery documents answer before the gate, or an unauthenticated client
|
|
138
|
+
* has no way to learn where its token comes from; the rebinding guards answer
|
|
139
|
+
* before any route, because the handler validates no header; the gate resolves
|
|
140
|
+
* to verified `AuthInfo` or to a finished challenge, and only the first of
|
|
141
|
+
* those reaches the handler.
|
|
142
|
+
*/
|
|
143
|
+
export function createFetch(options) {
|
|
144
|
+
return async (request) => {
|
|
145
|
+
const discovery = options.auth === undefined
|
|
146
|
+
? undefined
|
|
147
|
+
: oauthMetadataResponse(request, options.auth.metadata);
|
|
148
|
+
if (discovery !== undefined)
|
|
149
|
+
return discovery;
|
|
150
|
+
const rejected = dnsRebindingResponse(request, options.allowedHosts, options.allowedOrigins);
|
|
151
|
+
if (rejected !== undefined)
|
|
152
|
+
return rejected;
|
|
153
|
+
const { pathname } = new URL(request.url);
|
|
154
|
+
if (pathname === "/healthz")
|
|
155
|
+
return healthResponse(request);
|
|
156
|
+
if (pathname === "/")
|
|
157
|
+
return landingResponse(request, options.landingPage);
|
|
158
|
+
if (pathname !== "/mcp")
|
|
159
|
+
return notFound();
|
|
160
|
+
const preflight = corsPreflightResponse(request);
|
|
161
|
+
if (preflight !== undefined)
|
|
162
|
+
return preflight;
|
|
163
|
+
if (options.auth === undefined) {
|
|
164
|
+
return withCors(request, await options.handler.fetch(request));
|
|
165
|
+
}
|
|
166
|
+
const authInfo = await options.auth.gate(request);
|
|
167
|
+
if (authInfo instanceof Response)
|
|
168
|
+
return withCors(request, authInfo);
|
|
169
|
+
return withCors(request, await options.handler.fetch(request, { authInfo }));
|
|
145
170
|
};
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
171
|
+
}
|
|
172
|
+
async function hostedAuth(publicUrl) {
|
|
173
|
+
const resourceServerUrl = new URL("/mcp", publicUrl);
|
|
174
|
+
const oauth = await loadHostedOAuth(resourceServerUrl);
|
|
175
|
+
return {
|
|
176
|
+
gate: requireBearerAuth({
|
|
177
|
+
verifier: oauth.verifier,
|
|
178
|
+
requiredScopes: oauth.requiredScopes,
|
|
179
|
+
resourceMetadataUrl: getOAuthProtectedResourceMetadataUrl(resourceServerUrl),
|
|
180
|
+
}),
|
|
181
|
+
metadata: {
|
|
150
182
|
oauthMetadata: oauth.oauthMetadata,
|
|
151
183
|
resourceServerUrl,
|
|
152
184
|
scopesSupported: oauth.scopesSupported,
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
});
|
|
169
|
-
const endpoint = config.publicUrl
|
|
170
|
-
? new URL("/mcp", config.publicUrl).href
|
|
171
|
-
: `http://${urlHost(config.bindHost)}:${config.port}/mcp`;
|
|
172
|
-
console.log(`MCP server listening on ${endpoint}`);
|
|
185
|
+
},
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
async function createHostedRuntime(config) {
|
|
189
|
+
// No `legacy` option: the default stateless posture serves 2026-07-28 and
|
|
190
|
+
// 2025-era clients from this one factory, and most clients shipping today
|
|
191
|
+
// are still 2025-era.
|
|
192
|
+
const handler = createMcpHandler(() => createServer({ transport: "streamable_http" }), { onerror: (error) => reportError("Standalone MCP request", error) });
|
|
193
|
+
const options = {
|
|
194
|
+
handler,
|
|
195
|
+
landingPage: await readFile(new URL("./mcp-home.html", import.meta.url), "utf8"),
|
|
196
|
+
...(config.allowedHosts === undefined ? {} : { allowedHosts: config.allowedHosts }),
|
|
197
|
+
...(config.allowedOrigins === undefined ? {} : { allowedOrigins: config.allowedOrigins }),
|
|
198
|
+
...(config.publicUrl === undefined ? {} : { auth: await hostedAuth(config.publicUrl) }),
|
|
199
|
+
};
|
|
173
200
|
let shuttingDown = false;
|
|
174
201
|
const shutdown = () => {
|
|
175
202
|
if (shuttingDown)
|
|
176
203
|
return;
|
|
177
204
|
shuttingDown = true;
|
|
178
205
|
void handler.close()
|
|
179
|
-
.then(() => closeHttpListener(httpServer))
|
|
180
206
|
.then(closeDefaultNativeExecutionRuntime)
|
|
181
207
|
.catch((error) => {
|
|
182
208
|
reportError("Standalone MCP HTTP shutdown cleanup", error);
|
|
@@ -185,6 +211,11 @@ export async function startStreamableHTTPServer(serverFactory) {
|
|
|
185
211
|
};
|
|
186
212
|
process.once("SIGINT", shutdown);
|
|
187
213
|
process.once("SIGTERM", shutdown);
|
|
214
|
+
const endpoint = config.publicUrl
|
|
215
|
+
? new URL("/mcp", config.publicUrl).href
|
|
216
|
+
: `http://${urlHost(config.bindHost)}:${config.port}/mcp`;
|
|
217
|
+
console.log(`MCP server serving ${endpoint}`);
|
|
218
|
+
return { port: config.port, hostname: config.bindHost, fetch: createFetch(options) };
|
|
188
219
|
}
|
|
189
220
|
export function startStdioServer(serverFactory) {
|
|
190
221
|
const handle = serveStdio(serverFactory, {
|
|
@@ -207,17 +238,6 @@ export function startStdioServer(serverFactory) {
|
|
|
207
238
|
process.once("SIGTERM", shutdown);
|
|
208
239
|
return handle;
|
|
209
240
|
}
|
|
210
|
-
async function main() {
|
|
211
|
-
// Before either transport accepts a connection: a server that answers tool
|
|
212
|
-
// calls against a contract the collector does not serve is worse than one that
|
|
213
|
-
// refuses to start.
|
|
214
|
-
await assertCollectorContractRevision();
|
|
215
|
-
if (process.argv.includes("--stdio")) {
|
|
216
|
-
startStdioServer(() => createServer({ transport: "stdio" }));
|
|
217
|
-
return;
|
|
218
|
-
}
|
|
219
|
-
await startStreamableHTTPServer(() => createServer({ transport: "streamable_http" }));
|
|
220
|
-
}
|
|
221
241
|
function toRealEntryHref(entryPoint) {
|
|
222
242
|
const resolved = resolve(entryPoint);
|
|
223
243
|
try {
|
|
@@ -227,12 +247,35 @@ function toRealEntryHref(entryPoint) {
|
|
|
227
247
|
return pathToFileURL(resolved).href;
|
|
228
248
|
}
|
|
229
249
|
}
|
|
230
|
-
|
|
231
|
-
const
|
|
232
|
-
|
|
233
|
-
|
|
250
|
+
function isEntryPoint() {
|
|
251
|
+
const entryPoint = process.argv[1];
|
|
252
|
+
return entryPoint !== undefined && toRealEntryHref(entryPoint) === import.meta.url;
|
|
253
|
+
}
|
|
254
|
+
async function bootstrap() {
|
|
255
|
+
if (!isEntryPoint())
|
|
256
|
+
return undefined;
|
|
257
|
+
try {
|
|
258
|
+
// Before either transport accepts a connection: a server that answers tool
|
|
259
|
+
// calls against a contract the collector does not serve is worse than one
|
|
260
|
+
// that refuses to start.
|
|
261
|
+
await assertCollectorContractRevision();
|
|
262
|
+
if (process.argv.includes("--stdio")) {
|
|
263
|
+
startStdioServer(() => createServer({ transport: "stdio" }));
|
|
264
|
+
return undefined;
|
|
265
|
+
}
|
|
266
|
+
if (typeof globalThis.Bun === "undefined") {
|
|
267
|
+
console.error("The HTTP entry is a web-standard fetch handler served by its default export; " +
|
|
268
|
+
"run it with Bun. Node serves the stdio entry only (--stdio).");
|
|
269
|
+
process.exitCode = 1;
|
|
270
|
+
return undefined;
|
|
271
|
+
}
|
|
272
|
+
return await createHostedRuntime(readStreamableHTTPConfig());
|
|
273
|
+
}
|
|
274
|
+
catch (error) {
|
|
234
275
|
reportError("Standalone MCP startup", error);
|
|
235
276
|
process.exitCode = 1;
|
|
236
|
-
|
|
277
|
+
return undefined;
|
|
278
|
+
}
|
|
237
279
|
}
|
|
280
|
+
export default await bootstrap();
|
|
238
281
|
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|