@lovable.dev/mcp-js 0.27.0 → 0.27.1
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/{authorize-FZydvyMU.cjs → authorize-CB35c3Wg.cjs} +1 -1
- package/dist/{authorize-KzrdWb2-.js → authorize-FOlzhxrM.js} +1 -1
- package/dist/cli/extract-manifest.cjs +2 -2
- package/dist/cli/extract-manifest.js +2 -2
- package/dist/{gate-Blmxv8t2.cjs → gate-B9RSzvoI.cjs} +1 -1
- package/dist/{gate-Cclvf6xn.js → gate-BeHmyGxk.js} +1 -1
- package/dist/{list-tools-DDhzQZRL.cjs → list-tools-DiMCRunS.cjs} +2 -2
- package/dist/{list-tools-CCGzOMpC.js → list-tools-Dt-mhh52.js} +2 -2
- package/dist/{mcp-Di8hVnwC.js → mcp-DiVQhHIw.js} +2 -2
- package/dist/{mcp-BLYbUCO5.cjs → mcp-ECo1Ixk8.cjs} +2 -2
- package/dist/{package-9XZJumh0.cjs → package-BdaLbzEh.cjs} +1 -1
- package/dist/{package-BmhaKMyb.js → package-dtiombMt.js} +1 -1
- package/dist/protocols/mcp/index.cjs +1 -1
- package/dist/protocols/mcp/index.js +1 -1
- package/dist/protocols/oauth-metadata.cjs +1 -1
- package/dist/protocols/oauth-metadata.js +1 -1
- package/dist/protocols/rest/index.cjs +2 -2
- package/dist/protocols/rest/index.js +2 -2
- package/dist/{rest-Hr1H57re.cjs → rest-1Pf9sYNU.cjs} +3 -3
- package/dist/{rest-DUQqIlzT.js → rest-Cit2862S.js} +3 -3
- package/dist/stacks/supabase/index.cjs +4 -4
- package/dist/stacks/supabase/index.js +4 -4
- package/dist/stacks/supabase/vite.cjs +1 -1
- package/dist/stacks/supabase/vite.js +1 -1
- package/dist/stacks/tanstack/index.cjs +4 -4
- package/dist/stacks/tanstack/index.js +4 -4
- package/dist/stacks/tanstack/vite.cjs +8 -7
- package/dist/stacks/tanstack/vite.js +8 -7
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_logger = require("./logger-BkMMCFTv.cjs");
|
|
2
|
-
const require_package = require("./package-
|
|
2
|
+
const require_package = require("./package-BdaLbzEh.cjs");
|
|
3
3
|
require("./metadata-path-zd7NSNoa.cjs");
|
|
4
4
|
let jose = require("jose");
|
|
5
5
|
//#region src/core/cors.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as log, n as applyLogLevelFromEnv, o as parseSafeUrl, r as describeError, s as trimTrailingSlash, t as LOG_LEVEL_ENV_VAR, u as resolveMetricsConfig } from "./logger-rGakBvJ1.js";
|
|
2
|
-
import { t as version } from "./package-
|
|
2
|
+
import { t as version } from "./package-dtiombMt.js";
|
|
3
3
|
import "./metadata-path-CAkNcfyY.js";
|
|
4
4
|
import { createLocalJWKSet, decodeProtectedHeader, jwtVerify } from "jose";
|
|
5
5
|
//#region src/core/cors.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const require_package = require("../package-
|
|
3
|
-
const require_list_tools = require("../list-tools-
|
|
2
|
+
const require_package = require("../package-BdaLbzEh.cjs");
|
|
3
|
+
const require_list_tools = require("../list-tools-DiMCRunS.cjs");
|
|
4
4
|
const require_fs_errors = require("../fs-errors-CWNzOV75.cjs");
|
|
5
5
|
let node_fs = require("node:fs");
|
|
6
6
|
let node_path = require("node:path");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { t as version } from "../package-
|
|
3
|
-
import { t as buildMcpListing } from "../list-tools-
|
|
2
|
+
import { t as version } from "../package-dtiombMt.js";
|
|
3
|
+
import { t as buildMcpListing } from "../list-tools-Dt-mhh52.js";
|
|
4
4
|
import { t as isFileMissing } from "../fs-errors-PA2t1TIp.js";
|
|
5
5
|
import { lstatSync, mkdirSync, readFileSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
|
|
6
6
|
import { dirname, resolve } from "node:path";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as createNoopRecorder, d as finalizeWireResponse, p as corsPreflightResponse } from "./authorize-
|
|
1
|
+
import { c as createNoopRecorder, d as finalizeWireResponse, p as corsPreflightResponse } from "./authorize-FOlzhxrM.js";
|
|
2
2
|
//#region src/protocols/gate.ts
|
|
3
3
|
function createGatedHandler(gate) {
|
|
4
4
|
const allow = [...gate.methods, "OPTIONS"].join(", ");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const require_authorize = require("./authorize-
|
|
2
|
-
const require_gate = require("./gate-
|
|
1
|
+
const require_authorize = require("./authorize-CB35c3Wg.cjs");
|
|
2
|
+
const require_gate = require("./gate-B9RSzvoI.cjs");
|
|
3
3
|
let _modelcontextprotocol_sdk_server_zod_compat_js = require("@modelcontextprotocol/sdk/server/zod-compat.js");
|
|
4
4
|
let _modelcontextprotocol_sdk_server_zod_json_schema_compat_js = require("@modelcontextprotocol/sdk/server/zod-json-schema-compat.js");
|
|
5
5
|
//#region src/protocols/rest/list-tools.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { f as methodNotAllowed, n as createRequestAuthorizer, t as assertRestResourceBinding } from "./authorize-
|
|
2
|
-
import { t as createGatedHandler } from "./gate-
|
|
1
|
+
import { f as methodNotAllowed, n as createRequestAuthorizer, t as assertRestResourceBinding } from "./authorize-FOlzhxrM.js";
|
|
2
|
+
import { t as createGatedHandler } from "./gate-BeHmyGxk.js";
|
|
3
3
|
import { objectFromShape } from "@modelcontextprotocol/sdk/server/zod-compat.js";
|
|
4
4
|
import { toJsonSchemaCompat } from "@modelcontextprotocol/sdk/server/zod-json-schema-compat.js";
|
|
5
5
|
//#region src/protocols/rest/list-tools.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { i as log, r as describeError } from "./logger-rGakBvJ1.js";
|
|
2
2
|
import { i as ToolContext, n as errorSummary, r as resolveToolErrorMessage } from "./errors-DSe96Ffd.js";
|
|
3
|
-
import { l as nowMs, n as createRequestAuthorizer } from "./authorize-
|
|
3
|
+
import { l as nowMs, n as createRequestAuthorizer } from "./authorize-FOlzhxrM.js";
|
|
4
4
|
import { t as extractTextContent } from "./content-D5LJAHyM.js";
|
|
5
|
-
import { t as createGatedHandler } from "./gate-
|
|
5
|
+
import { t as createGatedHandler } from "./gate-BeHmyGxk.js";
|
|
6
6
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
7
7
|
import { WebStandardStreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js";
|
|
8
8
|
//#region src/protocols/mcp/protocol.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
const require_logger = require("./logger-BkMMCFTv.cjs");
|
|
2
2
|
const require_errors = require("./errors-CN6Da8iz.cjs");
|
|
3
|
-
const require_authorize = require("./authorize-
|
|
3
|
+
const require_authorize = require("./authorize-CB35c3Wg.cjs");
|
|
4
4
|
const require_content = require("./content-NCYIGgOb.cjs");
|
|
5
|
-
const require_gate = require("./gate-
|
|
5
|
+
const require_gate = require("./gate-B9RSzvoI.cjs");
|
|
6
6
|
let _modelcontextprotocol_sdk_server_mcp_js = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
7
7
|
let _modelcontextprotocol_sdk_server_webStandardStreamableHttp_js = require("@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js");
|
|
8
8
|
//#region src/protocols/mcp/protocol.ts
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as createMcpProtocolHandler } from "../../mcp-
|
|
1
|
+
import { t as createMcpProtocolHandler } from "../../mcp-DiVQhHIw.js";
|
|
2
2
|
export { createMcpProtocolHandler };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_logger = require("../logger-BkMMCFTv.cjs");
|
|
3
|
-
const require_authorize = require("../authorize-
|
|
3
|
+
const require_authorize = require("../authorize-CB35c3Wg.cjs");
|
|
4
4
|
//#region src/protocols/oauth-metadata.ts
|
|
5
5
|
function notFound() {
|
|
6
6
|
return new Response(JSON.stringify({ error: "not found" }), {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as log, r as describeError } from "../logger-rGakBvJ1.js";
|
|
2
|
-
import { d as finalizeWireResponse, f as methodNotAllowed, i as oauthConfigurationErrorResponse, o as resolveProtectedResource, p as corsPreflightResponse, r as getOAuthRuntime, u as JSON_HEADERS } from "../authorize-
|
|
2
|
+
import { d as finalizeWireResponse, f as methodNotAllowed, i as oauthConfigurationErrorResponse, o as resolveProtectedResource, p as corsPreflightResponse, r as getOAuthRuntime, u as JSON_HEADERS } from "../authorize-FOlzhxrM.js";
|
|
3
3
|
//#region src/protocols/oauth-metadata.ts
|
|
4
4
|
function notFound() {
|
|
5
5
|
return new Response(JSON.stringify({ error: "not found" }), {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_list_tools = require("../../list-tools-
|
|
3
|
-
const require_rest = require("../../rest-
|
|
2
|
+
const require_list_tools = require("../../list-tools-DiMCRunS.cjs");
|
|
3
|
+
const require_rest = require("../../rest-1Pf9sYNU.cjs");
|
|
4
4
|
exports.createInvokeToolHandler = require_rest.createInvokeToolHandler;
|
|
5
5
|
exports.createListToolsHandler = require_list_tools.createListToolsHandler;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { n as createListToolsHandler } from "../../list-tools-
|
|
2
|
-
import { t as createInvokeToolHandler } from "../../rest-
|
|
1
|
+
import { n as createListToolsHandler } from "../../list-tools-Dt-mhh52.js";
|
|
2
|
+
import { t as createInvokeToolHandler } from "../../rest-Cit2862S.js";
|
|
3
3
|
export { createInvokeToolHandler, createListToolsHandler };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
const require_errors = require("./errors-CN6Da8iz.cjs");
|
|
2
|
-
const require_authorize = require("./authorize-
|
|
2
|
+
const require_authorize = require("./authorize-CB35c3Wg.cjs");
|
|
3
3
|
const require_content = require("./content-NCYIGgOb.cjs");
|
|
4
|
-
const require_gate = require("./gate-
|
|
5
|
-
require("./list-tools-
|
|
4
|
+
const require_gate = require("./gate-B9RSzvoI.cjs");
|
|
5
|
+
require("./list-tools-DiMCRunS.cjs");
|
|
6
6
|
let _modelcontextprotocol_sdk_server_zod_compat_js = require("@modelcontextprotocol/sdk/server/zod-compat.js");
|
|
7
7
|
//#region src/protocols/rest/invoke-tool.ts
|
|
8
8
|
const MAX_REFLECTED_TOOL_NAME = 256;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { i as ToolContext, n as errorSummary, r as resolveToolErrorMessage } from "./errors-DSe96Ffd.js";
|
|
2
|
-
import { f as methodNotAllowed, l as nowMs, n as createRequestAuthorizer, t as assertRestResourceBinding, u as JSON_HEADERS } from "./authorize-
|
|
2
|
+
import { f as methodNotAllowed, l as nowMs, n as createRequestAuthorizer, t as assertRestResourceBinding, u as JSON_HEADERS } from "./authorize-FOlzhxrM.js";
|
|
3
3
|
import { t as extractTextContent } from "./content-D5LJAHyM.js";
|
|
4
|
-
import { t as createGatedHandler } from "./gate-
|
|
5
|
-
import "./list-tools-
|
|
4
|
+
import { t as createGatedHandler } from "./gate-BeHmyGxk.js";
|
|
5
|
+
import "./list-tools-Dt-mhh52.js";
|
|
6
6
|
import { getParseErrorMessage, objectFromShape, safeParseAsync } from "@modelcontextprotocol/sdk/server/zod-compat.js";
|
|
7
7
|
//#region src/protocols/rest/invoke-tool.ts
|
|
8
8
|
const MAX_REFLECTED_TOOL_NAME = 256;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_logger = require("../../logger-BkMMCFTv.cjs");
|
|
3
|
-
const require_authorize = require("../../authorize-
|
|
3
|
+
const require_authorize = require("../../authorize-CB35c3Wg.cjs");
|
|
4
4
|
const require_metadata_path = require("../../metadata-path-zd7NSNoa.cjs");
|
|
5
|
-
const require_mcp = require("../../mcp-
|
|
5
|
+
const require_mcp = require("../../mcp-ECo1Ixk8.cjs");
|
|
6
6
|
const require_protocols_oauth_metadata = require("../../protocols/oauth-metadata.cjs");
|
|
7
|
-
const require_list_tools = require("../../list-tools-
|
|
8
|
-
const require_rest = require("../../rest-
|
|
7
|
+
const require_list_tools = require("../../list-tools-DiMCRunS.cjs");
|
|
8
|
+
const require_rest = require("../../rest-1Pf9sYNU.cjs");
|
|
9
9
|
const require_forwarded = require("../../forwarded-Bhwcj22u.cjs");
|
|
10
10
|
const require_paths = require("../../paths-OP318a6c.cjs");
|
|
11
11
|
//#region src/stacks/supabase/handler.ts
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { s as trimTrailingSlash } from "../../logger-rGakBvJ1.js";
|
|
2
|
-
import { a as assertResourcePathShape, s as createRecorderForRuntime } from "../../authorize-
|
|
2
|
+
import { a as assertResourcePathShape, s as createRecorderForRuntime } from "../../authorize-FOlzhxrM.js";
|
|
3
3
|
import { t as OAUTH_PROTECTED_RESOURCE_METADATA_PATH } from "../../metadata-path-CAkNcfyY.js";
|
|
4
|
-
import { t as createMcpProtocolHandler } from "../../mcp-
|
|
4
|
+
import { t as createMcpProtocolHandler } from "../../mcp-DiVQhHIw.js";
|
|
5
5
|
import { createOAuthProtectedResourceMetadataHandler } from "../../protocols/oauth-metadata.js";
|
|
6
|
-
import { n as createListToolsHandler } from "../../list-tools-
|
|
7
|
-
import { t as createInvokeToolHandler } from "../../rest-
|
|
6
|
+
import { n as createListToolsHandler } from "../../list-tools-Dt-mhh52.js";
|
|
7
|
+
import { t as createInvokeToolHandler } from "../../rest-Cit2862S.js";
|
|
8
8
|
import { t as applyForwardedOrigin } from "../../forwarded-BlLF3dfc.js";
|
|
9
9
|
import { n as assertFunctionName, t as FUNCTIONS_MOUNT_PREFIX } from "../../paths-IS65L6TA.js";
|
|
10
10
|
//#region src/stacks/supabase/handler.ts
|
|
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_package = require("../../package-
|
|
5
|
+
const require_package = require("../../package-BdaLbzEh.cjs");
|
|
6
6
|
const require_fs_errors = require("../../fs-errors-CWNzOV75.cjs");
|
|
7
7
|
const require_supabase_config = require("../../supabase-config-Dz7dnUv0.cjs");
|
|
8
8
|
const require_paths = require("../../paths-OP318a6c.cjs");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as version } from "../../package-
|
|
1
|
+
import { t as version } from "../../package-dtiombMt.js";
|
|
2
2
|
import { t as isFileMissing } from "../../fs-errors-PA2t1TIp.js";
|
|
3
3
|
import { t as readSupabaseProjectRef } from "../../supabase-config-CakTU8YF.js";
|
|
4
4
|
import { n as assertFunctionName, t as FUNCTIONS_MOUNT_PREFIX } from "../../paths-IS65L6TA.js";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_authorize = require("../../authorize-
|
|
3
|
-
const require_mcp = require("../../mcp-
|
|
2
|
+
const require_authorize = require("../../authorize-CB35c3Wg.cjs");
|
|
3
|
+
const require_mcp = require("../../mcp-ECo1Ixk8.cjs");
|
|
4
4
|
const require_protocols_oauth_metadata = require("../../protocols/oauth-metadata.cjs");
|
|
5
|
-
const require_list_tools = require("../../list-tools-
|
|
6
|
-
const require_rest = require("../../rest-
|
|
5
|
+
const require_list_tools = require("../../list-tools-DiMCRunS.cjs");
|
|
6
|
+
const require_rest = require("../../rest-1Pf9sYNU.cjs");
|
|
7
7
|
const require_forwarded = require("../../forwarded-Bhwcj22u.cjs");
|
|
8
8
|
//#region src/stacks/tanstack/handlers.ts
|
|
9
9
|
const STACK = "tanstack";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { s as createRecorderForRuntime } from "../../authorize-
|
|
2
|
-
import { t as createMcpProtocolHandler } from "../../mcp-
|
|
1
|
+
import { s as createRecorderForRuntime } from "../../authorize-FOlzhxrM.js";
|
|
2
|
+
import { t as createMcpProtocolHandler } from "../../mcp-DiVQhHIw.js";
|
|
3
3
|
import { createOAuthProtectedResourceMetadataHandler } from "../../protocols/oauth-metadata.js";
|
|
4
|
-
import { n as createListToolsHandler } from "../../list-tools-
|
|
5
|
-
import { t as createInvokeToolHandler } from "../../rest-
|
|
4
|
+
import { n as createListToolsHandler } from "../../list-tools-Dt-mhh52.js";
|
|
5
|
+
import { t as createInvokeToolHandler } from "../../rest-Cit2862S.js";
|
|
6
6
|
import { t as applyForwardedOrigin } from "../../forwarded-BlLF3dfc.js";
|
|
7
7
|
//#region src/stacks/tanstack/handlers.ts
|
|
8
8
|
const STACK = "tanstack";
|
|
@@ -11,6 +11,7 @@ let vite = require("vite");
|
|
|
11
11
|
//#region src/stacks/tanstack/vite.ts
|
|
12
12
|
const SUPABASE_PROJECT_REF_ENV = "VITE_SUPABASE_PROJECT_ID";
|
|
13
13
|
const GENERATED_BANNER = "// AUTO-GENERATED by @lovable.dev/mcp-js — do not edit. Regenerated by the Vite plugin.\n// To take ownership, delete this banner line; the plugin then leaves the file alone.";
|
|
14
|
+
const OXFMT_PRINT_WIDTH = 120;
|
|
14
15
|
function normalizePath(p) {
|
|
15
16
|
return p.split(node_path.sep).join("/");
|
|
16
17
|
}
|
|
@@ -84,11 +85,11 @@ function buildRouteSource(route, resourcePath, metadataPath, trustForwardedHost,
|
|
|
84
85
|
const note = route.spaFallbackNote ? " // ANY: TanStack returns SPA HTML for methods not in `handlers`; the SDK 405s instead.\n" : "";
|
|
85
86
|
const optionEntries = [`resourcePath: "${resourcePath}"`];
|
|
86
87
|
if (metadataPath !== void 0) optionEntries.push(`metadataPath: "${metadataPath}"`);
|
|
87
|
-
if (trustForwardedHost)
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
91
|
-
const
|
|
88
|
+
if (trustForwardedHost) if (route.attestsForwardedHost) optionEntries.push("// Trusting X-Forwarded-Host is safe on Lovable hosting only (its proxy\n // overwrites the header); remove both options behind other proxies.\n trustForwardedHost: true", "forwardedHostTrustedByPlatform: true");
|
|
89
|
+
else optionEntries.push("trustForwardedHost: true");
|
|
90
|
+
const optionsObject = `{\n${optionEntries.map((entry) => ` ${entry},`).join("\n")}\n }`;
|
|
91
|
+
const inlineRouteOpen = `export const Route = createFileRoute("${route.routeLiteral}")({`;
|
|
92
|
+
const routeOpen = inlineRouteOpen.length <= OXFMT_PRINT_WIDTH ? inlineRouteOpen : `export const Route = createFileRoute(\n "${route.routeLiteral}",\n)({`;
|
|
92
93
|
return `${GENERATED_BANNER}
|
|
93
94
|
// route: ${route.routeLiteral}
|
|
94
95
|
// emitted to: ${routeRel}
|
|
@@ -99,10 +100,10 @@ import { ${route.handlerFactory} } from "@lovable.dev/mcp-js/stacks/tanstack";
|
|
|
99
100
|
|
|
100
101
|
import mcp from "${mcpImport}";
|
|
101
102
|
|
|
102
|
-
|
|
103
|
+
${routeOpen}
|
|
103
104
|
server: {
|
|
104
105
|
handlers: {
|
|
105
|
-
${note} ANY: ${route.handlerFactory}(mcp, ${
|
|
106
|
+
${note} ANY: ${route.handlerFactory}(mcp, ${optionsObject}),
|
|
106
107
|
},
|
|
107
108
|
},
|
|
108
109
|
});
|
|
@@ -7,6 +7,7 @@ import { loadEnv } from "vite";
|
|
|
7
7
|
//#region src/stacks/tanstack/vite.ts
|
|
8
8
|
const SUPABASE_PROJECT_REF_ENV = "VITE_SUPABASE_PROJECT_ID";
|
|
9
9
|
const GENERATED_BANNER = "// AUTO-GENERATED by @lovable.dev/mcp-js — do not edit. Regenerated by the Vite plugin.\n// To take ownership, delete this banner line; the plugin then leaves the file alone.";
|
|
10
|
+
const OXFMT_PRINT_WIDTH = 120;
|
|
10
11
|
function normalizePath(p) {
|
|
11
12
|
return p.split(sep).join("/");
|
|
12
13
|
}
|
|
@@ -80,11 +81,11 @@ function buildRouteSource(route, resourcePath, metadataPath, trustForwardedHost,
|
|
|
80
81
|
const note = route.spaFallbackNote ? " // ANY: TanStack returns SPA HTML for methods not in `handlers`; the SDK 405s instead.\n" : "";
|
|
81
82
|
const optionEntries = [`resourcePath: "${resourcePath}"`];
|
|
82
83
|
if (metadataPath !== void 0) optionEntries.push(`metadataPath: "${metadataPath}"`);
|
|
83
|
-
if (trustForwardedHost)
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
const
|
|
84
|
+
if (trustForwardedHost) if (route.attestsForwardedHost) optionEntries.push("// Trusting X-Forwarded-Host is safe on Lovable hosting only (its proxy\n // overwrites the header); remove both options behind other proxies.\n trustForwardedHost: true", "forwardedHostTrustedByPlatform: true");
|
|
85
|
+
else optionEntries.push("trustForwardedHost: true");
|
|
86
|
+
const optionsObject = `{\n${optionEntries.map((entry) => ` ${entry},`).join("\n")}\n }`;
|
|
87
|
+
const inlineRouteOpen = `export const Route = createFileRoute("${route.routeLiteral}")({`;
|
|
88
|
+
const routeOpen = inlineRouteOpen.length <= OXFMT_PRINT_WIDTH ? inlineRouteOpen : `export const Route = createFileRoute(\n "${route.routeLiteral}",\n)({`;
|
|
88
89
|
return `${GENERATED_BANNER}
|
|
89
90
|
// route: ${route.routeLiteral}
|
|
90
91
|
// emitted to: ${routeRel}
|
|
@@ -95,10 +96,10 @@ import { ${route.handlerFactory} } from "@lovable.dev/mcp-js/stacks/tanstack";
|
|
|
95
96
|
|
|
96
97
|
import mcp from "${mcpImport}";
|
|
97
98
|
|
|
98
|
-
|
|
99
|
+
${routeOpen}
|
|
99
100
|
server: {
|
|
100
101
|
handlers: {
|
|
101
|
-
${note} ANY: ${route.handlerFactory}(mcp, ${
|
|
102
|
+
${note} ANY: ${route.handlerFactory}(mcp, ${optionsObject}),
|
|
102
103
|
},
|
|
103
104
|
},
|
|
104
105
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lovable.dev/mcp-js",
|
|
3
|
-
"version": "0.27.
|
|
3
|
+
"version": "0.27.1",
|
|
4
4
|
"description": "Author MCP servers for Lovable apps. Declare tools with defineTool, register them in defineMcp, and a framework adapter (TanStack or Supabase Edge Functions) emits the route(s) at build time.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|