@lovable.dev/mcp-js 0.24.0 → 0.25.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.
Files changed (54) hide show
  1. package/README.internal.md +3 -2
  2. package/dist/{authorize-CumVyk7p.d.cts → authorize-D3zzoTAG.d.cts} +1 -1
  3. package/dist/{authorize-D6p4-9_D.d.ts → authorize-Y6Jm8GhR.d.ts} +1 -1
  4. package/dist/cli/extract-manifest.cjs +2 -2
  5. package/dist/cli/extract-manifest.js +2 -2
  6. package/dist/{cors-Ftb-tw1d.js → cors-CkVAbFZD.js} +3 -3
  7. package/dist/{cors-Y_FmMkXK.cjs → cors-odDrgCEY.cjs} +3 -3
  8. package/dist/index.cjs +1 -1
  9. package/dist/index.d.cts +1 -1
  10. package/dist/index.d.ts +1 -1
  11. package/dist/index.js +1 -1
  12. package/dist/{io-BIvFmJK1.d.cts → io-BlJ298VF.d.cts} +1 -1
  13. package/dist/{io-Bi7DYgft.d.ts → io-CSsqm26s.d.ts} +1 -1
  14. package/dist/{list-tools-BeVzrTT-.cjs → list-tools-BjmymWv7.cjs} +1 -1
  15. package/dist/{list-tools-BrSIMpBi.js → list-tools-CdgXFtgF.js} +1 -1
  16. package/dist/{list-tools-Go45Ib1W.d.ts → list-tools-DKz6nJQ6.d.ts} +2 -2
  17. package/dist/{list-tools--SBVo58Z.d.cts → list-tools-Dk-QKfqy.d.cts} +2 -2
  18. package/dist/{logger-2OXtfiIW.js → logger-3-kwsF-5.js} +4 -3
  19. package/dist/{logger-BqPOa_E1.cjs → logger-BSKbuM66.cjs} +9 -2
  20. package/dist/{mcp-_a39WlhN.cjs → mcp-23wsFJ2_.cjs} +2 -2
  21. package/dist/{mcp-BarAJ9N0.js → mcp-Cul2AMOn.js} +2 -2
  22. package/dist/{package-DtnkW7Jc.cjs → package-BNwfs02J.cjs} +1 -1
  23. package/dist/{package-DudvPdrW.js → package-RfsGR4Ar.js} +1 -1
  24. package/dist/protocols/mcp/index.cjs +1 -1
  25. package/dist/protocols/mcp/index.d.cts +2 -2
  26. package/dist/protocols/mcp/index.d.ts +2 -2
  27. package/dist/protocols/mcp/index.js +1 -1
  28. package/dist/protocols/oauth-metadata.cjs +2 -2
  29. package/dist/protocols/oauth-metadata.d.cts +2 -2
  30. package/dist/protocols/oauth-metadata.d.ts +2 -2
  31. package/dist/protocols/oauth-metadata.js +2 -2
  32. package/dist/protocols/rest/index.cjs +2 -2
  33. package/dist/protocols/rest/index.d.cts +3 -3
  34. package/dist/protocols/rest/index.d.ts +3 -3
  35. package/dist/protocols/rest/index.js +2 -2
  36. package/dist/{rest-C9kWgxK5.cjs → rest-BmhntVZo.cjs} +2 -2
  37. package/dist/{rest-Be8uOb6r.js → rest-CuWe1DJb.js} +2 -2
  38. package/dist/stacks/supabase/index.cjs +5 -5
  39. package/dist/stacks/supabase/index.d.cts +1 -1
  40. package/dist/stacks/supabase/index.d.ts +1 -1
  41. package/dist/stacks/supabase/index.js +5 -5
  42. package/dist/stacks/supabase/vite.cjs +1 -1
  43. package/dist/stacks/supabase/vite.d.cts +1 -1
  44. package/dist/stacks/supabase/vite.d.ts +1 -1
  45. package/dist/stacks/supabase/vite.js +1 -1
  46. package/dist/stacks/tanstack/index.cjs +4 -4
  47. package/dist/stacks/tanstack/index.d.cts +2 -2
  48. package/dist/stacks/tanstack/index.d.ts +2 -2
  49. package/dist/stacks/tanstack/index.js +4 -4
  50. package/dist/stacks/tanstack/vite.d.cts +1 -1
  51. package/dist/stacks/tanstack/vite.d.ts +1 -1
  52. package/dist/{types-BYdYYTjk.d.cts → types-C0Wgm9zp.d.cts} +1 -1
  53. package/dist/{types-BYdYYTjk.d.ts → types-C0Wgm9zp.d.ts} +1 -1
  54. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  # @lovable.dev/mcp-js — internal notes
2
2
 
3
- Architecture rationale, source layout, and dev scripts for contributors. The user-facing docs are in [`README.md`](README.md); release rules and build-system constraints are in [`AGENTS.md`](AGENTS.md). Nothing in this file ships to npm — only `dist`, `package.json`, `README.md`, `LICENSE`, and `CHANGELOG.md` end up in the tarball.
3
+ Architecture rationale, source layout, and dev scripts for contributors. The user-facing docs are in [`README.md`](README.md); release rules and build-system constraints are in [`AGENTS.md`](AGENTS.md). The tarball carries `dist`, `package.json`, `LICENSE`, `CHANGELOG.md`, and every root `README*` (npm force-includes them, this file included) — no source, tests, or examples.
4
4
 
5
5
  ## Folder meaning
6
6
 
@@ -159,6 +159,7 @@ tests/
159
159
  stacks/
160
160
  tanstack/{handlers,vite}.test.ts
161
161
  supabase/{handler,emit,vite}.test.ts
162
+ supabase/authoring-template.test.ts # executes the App MCP authoring guides' factory (reads go/api/**, needs a monorepo checkout)
162
163
  integration/ # boots an example app, hits live HTTP
163
164
  global-setup.ts # spawns example/tanstack on :8080
164
165
  tools.test.ts # non-OAuth example
@@ -173,7 +174,7 @@ pnpm format:check # oxfmt --check src/ tests/
173
174
  pnpm lint # format:check + oxlint (one command, both surfaces)
174
175
  pnpm lint:fix # format + oxlint --fix
175
176
  pnpm typecheck # tsgo --noEmit
176
- pnpm test # vitest run --project unit (fast, hermetic)
177
+ pnpm test # vitest run --project unit (fast; needs the monorepo checkout — authoring-template.test.ts reads go/api/**)
177
178
  pnpm test:watch # vitest --project unit
178
179
  pnpm test:integration:tanstack # build + install tanstack example + vitest --project integration
179
180
  pnpm test:integration:tanstack:oauth # build + install OAuth example + vitest --project integration-oauth
@@ -1,4 +1,4 @@
1
- import "./types-BYdYYTjk.cjs";
1
+ import "./types-C0Wgm9zp.cjs";
2
2
  //#region src/auth/authorize.d.ts
3
3
  interface McpRuntimeOptions {
4
4
  /**
@@ -1,4 +1,4 @@
1
- import "./types-BYdYYTjk.js";
1
+ import "./types-C0Wgm9zp.js";
2
2
  //#region src/auth/authorize.d.ts
3
3
  interface McpRuntimeOptions {
4
4
  /**
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
- const require_package = require("../package-DtnkW7Jc.cjs");
3
- const require_list_tools = require("../list-tools-BeVzrTT-.cjs");
2
+ const require_package = require("../package-BNwfs02J.cjs");
3
+ const require_list_tools = require("../list-tools-BjmymWv7.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-DudvPdrW.js";
3
- import { t as buildMcpListing } from "../list-tools-BrSIMpBi.js";
2
+ import { t as version } from "../package-RfsGR4Ar.js";
3
+ import { t as buildMcpListing } from "../list-tools-CdgXFtgF.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,5 +1,5 @@
1
- import { c as DEFAULT_METRICS_ENDPOINT, i as log, l as resolveMetricsConfig, n as applyLogLevelFromEnv, o as parseSafeUrl, r as describeError, s as trimTrailingSlash, t as LOG_LEVEL_ENV_VAR } from "./logger-2OXtfiIW.js";
2
- import { t as version } from "./package-DudvPdrW.js";
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-3-kwsF-5.js";
2
+ import { t as version } from "./package-RfsGR4Ar.js";
3
3
  import "./metadata-path-CAkNcfyY.js";
4
4
  import { createLocalJWKSet, decodeProtectedHeader, jwtVerify } from "jose";
5
5
  //#region src/core/http.ts
@@ -133,7 +133,7 @@ var BaseMetricRecorder = class {
133
133
  this.server = server;
134
134
  this.deps = deps;
135
135
  this.doFetch = deps.fetch ?? (typeof globalThis.fetch === "function" ? globalThis.fetch.bind(globalThis) : void 0);
136
- this.usesLovableEndpoint = config.endpoint === DEFAULT_METRICS_ENDPOINT;
136
+ this.usesLovableEndpoint = config.endpoint === "https://api.lovable.dev/internal/v1/app-mcp-usage" || config.endpoint === "https://api.lovable.dev/v1/app-mcp-usage";
137
137
  const headers = {};
138
138
  if (!this.usesLovableEndpoint) {
139
139
  for (const [key, value] of Object.entries(config.headers)) if (key.toLowerCase() !== "content-type") headers[key] = value;
@@ -1,5 +1,5 @@
1
- const require_logger = require("./logger-BqPOa_E1.cjs");
2
- const require_package = require("./package-DtnkW7Jc.cjs");
1
+ const require_logger = require("./logger-BSKbuM66.cjs");
2
+ const require_package = require("./package-BNwfs02J.cjs");
3
3
  require("./metadata-path-zd7NSNoa.cjs");
4
4
  let jose = require("jose");
5
5
  //#region src/core/http.ts
@@ -133,7 +133,7 @@ var BaseMetricRecorder = class {
133
133
  this.server = server;
134
134
  this.deps = deps;
135
135
  this.doFetch = deps.fetch ?? (typeof globalThis.fetch === "function" ? globalThis.fetch.bind(globalThis) : void 0);
136
- this.usesLovableEndpoint = config.endpoint === require_logger.DEFAULT_METRICS_ENDPOINT;
136
+ this.usesLovableEndpoint = config.endpoint === "https://api.lovable.dev/internal/v1/app-mcp-usage" || config.endpoint === "https://api.lovable.dev/v1/app-mcp-usage";
137
137
  const headers = {};
138
138
  if (!this.usesLovableEndpoint) {
139
139
  for (const [key, value] of Object.entries(config.headers)) if (key.toLowerCase() !== "content-type") headers[key] = value;
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_logger = require("./logger-BqPOa_E1.cjs");
2
+ const require_logger = require("./logger-BSKbuM66.cjs");
3
3
  const require_context = require("./context-BweeEcoA.cjs");
4
4
  //#region src/core/define.ts
5
5
  function assertUniqueNames(mcp) {
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { C as McpAuthConfig, S as JwtClaims, _ as ZodRawShape, a as EmbeddedResource, b as MetricsOptions, c as McpDefinition, d as ResourceLinkIcon, f as TextContent, g as ToolHandlerResult, h as ToolDefinition, i as EmbeddedBlobResource, l as McpDefinitionInput, m as ToolContent, n as ContentAnnotations, o as EmbeddedTextResource, p as ToolAnnotations, r as ContentBlock, s as ImageContent, t as AudioContent, u as ResourceLink, v as ZodSchema, x as ToolContext, y as MetricsConfig } from "./types-BYdYYTjk.cjs";
1
+ import { C as McpAuthConfig, S as JwtClaims, _ as ZodRawShape, a as EmbeddedResource, b as MetricsOptions, c as McpDefinition, d as ResourceLinkIcon, f as TextContent, g as ToolHandlerResult, h as ToolDefinition, i as EmbeddedBlobResource, l as McpDefinitionInput, m as ToolContent, n as ContentAnnotations, o as EmbeddedTextResource, p as ToolAnnotations, r as ContentBlock, s as ImageContent, t as AudioContent, u as ResourceLink, v as ZodSchema, x as ToolContext, y as MetricsConfig } from "./types-C0Wgm9zp.cjs";
2
2
  //#region src/core/define.d.ts
3
3
  /**
4
4
  * Declare a single MCP tool. Import the result into your MCP definition's
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { C as McpAuthConfig, S as JwtClaims, _ as ZodRawShape, a as EmbeddedResource, b as MetricsOptions, c as McpDefinition, d as ResourceLinkIcon, f as TextContent, g as ToolHandlerResult, h as ToolDefinition, i as EmbeddedBlobResource, l as McpDefinitionInput, m as ToolContent, n as ContentAnnotations, o as EmbeddedTextResource, p as ToolAnnotations, r as ContentBlock, s as ImageContent, t as AudioContent, u as ResourceLink, v as ZodSchema, x as ToolContext, y as MetricsConfig } from "./types-BYdYYTjk.js";
1
+ import { C as McpAuthConfig, S as JwtClaims, _ as ZodRawShape, a as EmbeddedResource, b as MetricsOptions, c as McpDefinition, d as ResourceLinkIcon, f as TextContent, g as ToolHandlerResult, h as ToolDefinition, i as EmbeddedBlobResource, l as McpDefinitionInput, m as ToolContent, n as ContentAnnotations, o as EmbeddedTextResource, p as ToolAnnotations, r as ContentBlock, s as ImageContent, t as AudioContent, u as ResourceLink, v as ZodSchema, x as ToolContext, y as MetricsConfig } from "./types-C0Wgm9zp.js";
2
2
  //#region src/core/define.d.ts
3
3
  /**
4
4
  * Declare a single MCP tool. Import the result into your MCP definition's
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a as setLogLevel, l as resolveMetricsConfig, o as parseSafeUrl, s as trimTrailingSlash } from "./logger-2OXtfiIW.js";
1
+ import { a as setLogLevel, o as parseSafeUrl, s as trimTrailingSlash, u as resolveMetricsConfig } from "./logger-3-kwsF-5.js";
2
2
  import { t as ToolContext } from "./context-CIpPzN7P.js";
3
3
  //#region src/core/define.ts
4
4
  function assertUniqueNames(mcp) {
@@ -1,4 +1,4 @@
1
- import "./list-tools--SBVo58Z.cjs";
1
+ import "./list-tools-Dk-QKfqy.cjs";
2
2
  //#region src/manifest/io.d.ts
3
3
  /**
4
4
  * Shape every MCP Vite plugin exposes on its `api` so `runExtract` can read
@@ -1,4 +1,4 @@
1
- import "./list-tools-Go45Ib1W.js";
1
+ import "./list-tools-DKz6nJQ6.js";
2
2
  //#region src/manifest/io.d.ts
3
3
  /**
4
4
  * Shape every MCP Vite plugin exposes on its `api` so `runExtract` can read
@@ -1,4 +1,4 @@
1
- const require_cors = require("./cors-Y_FmMkXK.cjs");
1
+ const require_cors = require("./cors-odDrgCEY.cjs");
2
2
  let _modelcontextprotocol_sdk_server_zod_compat_js = require("@modelcontextprotocol/sdk/server/zod-compat.js");
3
3
  let _modelcontextprotocol_sdk_server_zod_json_schema_compat_js = require("@modelcontextprotocol/sdk/server/zod-json-schema-compat.js");
4
4
  //#region src/protocols/rest/list-tools.ts
@@ -1,4 +1,4 @@
1
- import { i as createRequestAuthorizer, m as methodNotAllowed, n as withCors, p as headResponse, r as assertRestResourceBinding, t as corsPreflightResponse, u as createNoopRecorder } from "./cors-Ftb-tw1d.js";
1
+ import { i as createRequestAuthorizer, m as methodNotAllowed, n as withCors, p as headResponse, r as assertRestResourceBinding, t as corsPreflightResponse, u as createNoopRecorder } from "./cors-CkVAbFZD.js";
2
2
  import { objectFromShape } from "@modelcontextprotocol/sdk/server/zod-compat.js";
3
3
  import { toJsonSchemaCompat } from "@modelcontextprotocol/sdk/server/zod-json-schema-compat.js";
4
4
  //#region src/protocols/rest/list-tools.ts
@@ -1,6 +1,6 @@
1
- import { c as McpDefinition } from "./types-BYdYYTjk.js";
1
+ import { c as McpDefinition } from "./types-C0Wgm9zp.js";
2
2
  import { t as MetricsRecorder } from "./base-D-dYxK8t.js";
3
- import { t as McpRuntimeOptions } from "./authorize-D6p4-9_D.js";
3
+ import { t as McpRuntimeOptions } from "./authorize-Y6Jm8GhR.js";
4
4
  //#region src/protocols/rest/list-tools.d.ts
5
5
  type RestListToolsHandler = (request: Request, recorder?: MetricsRecorder) => Promise<Response>;
6
6
  declare function createListToolsHandler(mcp: McpDefinition, options?: McpRuntimeOptions): RestListToolsHandler;
@@ -1,6 +1,6 @@
1
- import { c as McpDefinition } from "./types-BYdYYTjk.cjs";
1
+ import { c as McpDefinition } from "./types-C0Wgm9zp.cjs";
2
2
  import { t as MetricsRecorder } from "./base-D-dYxK8t.cjs";
3
- import { t as McpRuntimeOptions } from "./authorize-CumVyk7p.cjs";
3
+ import { t as McpRuntimeOptions } from "./authorize-D3zzoTAG.cjs";
4
4
  //#region src/protocols/rest/list-tools.d.ts
5
5
  type RestListToolsHandler = (request: Request, recorder?: MetricsRecorder) => Promise<Response>;
6
6
  declare function createListToolsHandler(mcp: McpDefinition, options?: McpRuntimeOptions): RestListToolsHandler;
@@ -1,5 +1,6 @@
1
1
  //#region src/metrics/config.ts
2
- const DEFAULT_METRICS_ENDPOINT = "https://api.lovable.dev/v1/app-mcp-usage";
2
+ const DEFAULT_METRICS_ENDPOINT = "https://api.lovable.dev/internal/v1/app-mcp-usage";
3
+ const LEGACY_METRICS_ENDPOINT = "https://api.lovable.dev/v1/app-mcp-usage";
3
4
  const METRICS_API_KEY_ENV_VAR = "LOVABLE_API_KEY";
4
5
  /**
5
6
  * Validate the ingest endpoint at plugin-construction time so a malformed URL
@@ -21,7 +22,7 @@ function assertMetricsEndpoint(endpoint) {
21
22
  */
22
23
  function resolveMetricsConfig(config = true) {
23
24
  const options = typeof config === "boolean" ? { enabled: config } : config;
24
- const endpoint = options.endpoint ?? "https://api.lovable.dev/v1/app-mcp-usage";
25
+ const endpoint = options.endpoint ?? "https://api.lovable.dev/internal/v1/app-mcp-usage";
25
26
  assertMetricsEndpoint(endpoint);
26
27
  return Object.freeze({
27
28
  enabled: options.enabled ?? true,
@@ -138,4 +139,4 @@ function describeError(err) {
138
139
  return { value: String(err) };
139
140
  }
140
141
  //#endregion
141
- export { setLogLevel as a, DEFAULT_METRICS_ENDPOINT as c, log as i, resolveMetricsConfig as l, applyLogLevelFromEnv as n, parseSafeUrl as o, describeError as r, trimTrailingSlash as s, LOG_LEVEL_ENV_VAR as t };
142
+ export { setLogLevel as a, DEFAULT_METRICS_ENDPOINT as c, log as i, LEGACY_METRICS_ENDPOINT as l, applyLogLevelFromEnv as n, parseSafeUrl as o, describeError as r, trimTrailingSlash as s, LOG_LEVEL_ENV_VAR as t, resolveMetricsConfig as u };
@@ -1,5 +1,6 @@
1
1
  //#region src/metrics/config.ts
2
- const DEFAULT_METRICS_ENDPOINT = "https://api.lovable.dev/v1/app-mcp-usage";
2
+ const DEFAULT_METRICS_ENDPOINT = "https://api.lovable.dev/internal/v1/app-mcp-usage";
3
+ const LEGACY_METRICS_ENDPOINT = "https://api.lovable.dev/v1/app-mcp-usage";
3
4
  const METRICS_API_KEY_ENV_VAR = "LOVABLE_API_KEY";
4
5
  /**
5
6
  * Validate the ingest endpoint at plugin-construction time so a malformed URL
@@ -21,7 +22,7 @@ function assertMetricsEndpoint(endpoint) {
21
22
  */
22
23
  function resolveMetricsConfig(config = true) {
23
24
  const options = typeof config === "boolean" ? { enabled: config } : config;
24
- const endpoint = options.endpoint ?? "https://api.lovable.dev/v1/app-mcp-usage";
25
+ const endpoint = options.endpoint ?? "https://api.lovable.dev/internal/v1/app-mcp-usage";
25
26
  assertMetricsEndpoint(endpoint);
26
27
  return Object.freeze({
27
28
  enabled: options.enabled ?? true,
@@ -144,6 +145,12 @@ Object.defineProperty(exports, "DEFAULT_METRICS_ENDPOINT", {
144
145
  return DEFAULT_METRICS_ENDPOINT;
145
146
  }
146
147
  });
148
+ Object.defineProperty(exports, "LEGACY_METRICS_ENDPOINT", {
149
+ enumerable: true,
150
+ get: function() {
151
+ return LEGACY_METRICS_ENDPOINT;
152
+ }
153
+ });
147
154
  Object.defineProperty(exports, "LOG_LEVEL_ENV_VAR", {
148
155
  enumerable: true,
149
156
  get: function() {
@@ -1,6 +1,6 @@
1
- const require_logger = require("./logger-BqPOa_E1.cjs");
1
+ const require_logger = require("./logger-BSKbuM66.cjs");
2
2
  const require_context = require("./context-BweeEcoA.cjs");
3
- const require_cors = require("./cors-Y_FmMkXK.cjs");
3
+ const require_cors = require("./cors-odDrgCEY.cjs");
4
4
  const require_content = require("./content-NCYIGgOb.cjs");
5
5
  let _modelcontextprotocol_sdk_server_mcp_js = require("@modelcontextprotocol/sdk/server/mcp.js");
6
6
  let _modelcontextprotocol_sdk_server_webStandardStreamableHttp_js = require("@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js");
@@ -1,6 +1,6 @@
1
- import { i as log, r as describeError } from "./logger-2OXtfiIW.js";
1
+ import { i as log, r as describeError } from "./logger-3-kwsF-5.js";
2
2
  import { t as ToolContext } from "./context-CIpPzN7P.js";
3
- import { d as nowMs, i as createRequestAuthorizer, n as withCors, t as corsPreflightResponse, u as createNoopRecorder } from "./cors-Ftb-tw1d.js";
3
+ import { d as nowMs, i as createRequestAuthorizer, n as withCors, t as corsPreflightResponse, u as createNoopRecorder } from "./cors-CkVAbFZD.js";
4
4
  import { t as extractTextContent } from "./content-D5LJAHyM.js";
5
5
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
6
6
  import { WebStandardStreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js";
@@ -1,5 +1,5 @@
1
1
  //#region package.json
2
- var version = "0.24.0";
2
+ var version = "0.25.1";
3
3
  //#endregion
4
4
  Object.defineProperty(exports, "version", {
5
5
  enumerable: true,
@@ -1,4 +1,4 @@
1
1
  //#region package.json
2
- var version = "0.24.0";
2
+ var version = "0.25.1";
3
3
  //#endregion
4
4
  export { version as t };
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_mcp = require("../../mcp-_a39WlhN.cjs");
2
+ const require_mcp = require("../../mcp-23wsFJ2_.cjs");
3
3
  exports.createMcpProtocolHandler = require_mcp.createMcpProtocolHandler;
@@ -1,6 +1,6 @@
1
- import { c as McpDefinition } from "../../types-BYdYYTjk.cjs";
1
+ import { c as McpDefinition } from "../../types-C0Wgm9zp.cjs";
2
2
  import { t as MetricsRecorder } from "../../base-D-dYxK8t.cjs";
3
- import { t as McpRuntimeOptions } from "../../authorize-CumVyk7p.cjs";
3
+ import { t as McpRuntimeOptions } from "../../authorize-D3zzoTAG.cjs";
4
4
  //#region src/protocols/mcp/protocol.d.ts
5
5
  type McpProtocolHandler = (request: Request, recorder?: MetricsRecorder) => Promise<Response>;
6
6
  /**
@@ -1,6 +1,6 @@
1
- import { c as McpDefinition } from "../../types-BYdYYTjk.js";
1
+ import { c as McpDefinition } from "../../types-C0Wgm9zp.js";
2
2
  import { t as MetricsRecorder } from "../../base-D-dYxK8t.js";
3
- import { t as McpRuntimeOptions } from "../../authorize-D6p4-9_D.js";
3
+ import { t as McpRuntimeOptions } from "../../authorize-Y6Jm8GhR.js";
4
4
  //#region src/protocols/mcp/protocol.d.ts
5
5
  type McpProtocolHandler = (request: Request, recorder?: MetricsRecorder) => Promise<Response>;
6
6
  /**
@@ -1,2 +1,2 @@
1
- import { t as createMcpProtocolHandler } from "../../mcp-BarAJ9N0.js";
1
+ import { t as createMcpProtocolHandler } from "../../mcp-Cul2AMOn.js";
2
2
  export { createMcpProtocolHandler };
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_logger = require("../logger-BqPOa_E1.cjs");
3
- const require_cors = require("../cors-Y_FmMkXK.cjs");
2
+ const require_logger = require("../logger-BSKbuM66.cjs");
3
+ const require_cors = require("../cors-odDrgCEY.cjs");
4
4
  //#region src/protocols/oauth-metadata.ts
5
5
  function notFound() {
6
6
  return require_cors.withCors(new Response(JSON.stringify({ error: "not found" }), {
@@ -1,5 +1,5 @@
1
- import { c as McpDefinition } from "../types-BYdYYTjk.cjs";
2
- import { t as McpRuntimeOptions } from "../authorize-CumVyk7p.cjs";
1
+ import { c as McpDefinition } from "../types-C0Wgm9zp.cjs";
2
+ import { t as McpRuntimeOptions } from "../authorize-D3zzoTAG.cjs";
3
3
  //#region src/protocols/oauth-metadata.d.ts
4
4
  type OAuthProtectedResourceMetadataHandler = (request: Request) => Promise<Response>;
5
5
  declare function createOAuthProtectedResourceMetadataHandler(mcp: McpDefinition, options?: McpRuntimeOptions): OAuthProtectedResourceMetadataHandler;
@@ -1,5 +1,5 @@
1
- import { c as McpDefinition } from "../types-BYdYYTjk.js";
2
- import { t as McpRuntimeOptions } from "../authorize-D6p4-9_D.js";
1
+ import { c as McpDefinition } from "../types-C0Wgm9zp.js";
2
+ import { t as McpRuntimeOptions } from "../authorize-Y6Jm8GhR.js";
3
3
  //#region src/protocols/oauth-metadata.d.ts
4
4
  type OAuthProtectedResourceMetadataHandler = (request: Request) => Promise<Response>;
5
5
  declare function createOAuthProtectedResourceMetadataHandler(mcp: McpDefinition, options?: McpRuntimeOptions): OAuthProtectedResourceMetadataHandler;
@@ -1,5 +1,5 @@
1
- import { i as log, r as describeError } from "../logger-2OXtfiIW.js";
2
- import { a as getOAuthRuntime, c as resolveProtectedResource, f as JSON_HEADERS, m as methodNotAllowed, n as withCors, o as oauthConfigurationErrorResponse, p as headResponse, t as corsPreflightResponse } from "../cors-Ftb-tw1d.js";
1
+ import { i as log, r as describeError } from "../logger-3-kwsF-5.js";
2
+ import { a as getOAuthRuntime, c as resolveProtectedResource, f as JSON_HEADERS, m as methodNotAllowed, n as withCors, o as oauthConfigurationErrorResponse, p as headResponse, t as corsPreflightResponse } from "../cors-CkVAbFZD.js";
3
3
  //#region src/protocols/oauth-metadata.ts
4
4
  function notFound() {
5
5
  return withCors(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-BeVzrTT-.cjs");
3
- const require_rest = require("../../rest-C9kWgxK5.cjs");
2
+ const require_list_tools = require("../../list-tools-BjmymWv7.cjs");
3
+ const require_rest = require("../../rest-BmhntVZo.cjs");
4
4
  exports.createInvokeToolHandler = require_rest.createInvokeToolHandler;
5
5
  exports.createListToolsHandler = require_list_tools.createListToolsHandler;
@@ -1,7 +1,7 @@
1
- import { c as McpDefinition } from "../../types-BYdYYTjk.cjs";
1
+ import { c as McpDefinition } from "../../types-C0Wgm9zp.cjs";
2
2
  import { t as MetricsRecorder } from "../../base-D-dYxK8t.cjs";
3
- import { t as McpRuntimeOptions } from "../../authorize-CumVyk7p.cjs";
4
- import { n as createListToolsHandler, t as RestListToolsHandler } from "../../list-tools--SBVo58Z.cjs";
3
+ import { t as McpRuntimeOptions } from "../../authorize-D3zzoTAG.cjs";
4
+ import { n as createListToolsHandler, t as RestListToolsHandler } from "../../list-tools-Dk-QKfqy.cjs";
5
5
  //#region src/protocols/rest/invoke-tool.d.ts
6
6
  type RestInvokeToolHandler = (request: Request, toolName: string, recorder?: MetricsRecorder) => Promise<Response>;
7
7
  declare function createInvokeToolHandler(mcp: McpDefinition, options?: McpRuntimeOptions): RestInvokeToolHandler;
@@ -1,7 +1,7 @@
1
- import { c as McpDefinition } from "../../types-BYdYYTjk.js";
1
+ import { c as McpDefinition } from "../../types-C0Wgm9zp.js";
2
2
  import { t as MetricsRecorder } from "../../base-D-dYxK8t.js";
3
- import { t as McpRuntimeOptions } from "../../authorize-D6p4-9_D.js";
4
- import { n as createListToolsHandler, t as RestListToolsHandler } from "../../list-tools-Go45Ib1W.js";
3
+ import { t as McpRuntimeOptions } from "../../authorize-Y6Jm8GhR.js";
4
+ import { n as createListToolsHandler, t as RestListToolsHandler } from "../../list-tools-DKz6nJQ6.js";
5
5
  //#region src/protocols/rest/invoke-tool.d.ts
6
6
  type RestInvokeToolHandler = (request: Request, toolName: string, recorder?: MetricsRecorder) => Promise<Response>;
7
7
  declare function createInvokeToolHandler(mcp: McpDefinition, options?: McpRuntimeOptions): RestInvokeToolHandler;
@@ -1,3 +1,3 @@
1
- import { n as createListToolsHandler } from "../../list-tools-BrSIMpBi.js";
2
- import { t as createInvokeToolHandler } from "../../rest-Be8uOb6r.js";
1
+ import { n as createListToolsHandler } from "../../list-tools-CdgXFtgF.js";
2
+ import { t as createInvokeToolHandler } from "../../rest-CuWe1DJb.js";
3
3
  export { createInvokeToolHandler, createListToolsHandler };
@@ -1,7 +1,7 @@
1
1
  const require_context = require("./context-BweeEcoA.cjs");
2
- const require_cors = require("./cors-Y_FmMkXK.cjs");
2
+ const require_cors = require("./cors-odDrgCEY.cjs");
3
3
  const require_content = require("./content-NCYIGgOb.cjs");
4
- require("./list-tools-BeVzrTT-.cjs");
4
+ require("./list-tools-BjmymWv7.cjs");
5
5
  let _modelcontextprotocol_sdk_server_zod_compat_js = require("@modelcontextprotocol/sdk/server/zod-compat.js");
6
6
  //#region src/protocols/rest/invoke-tool.ts
7
7
  const MAX_REFLECTED_TOOL_NAME = 256;
@@ -1,7 +1,7 @@
1
1
  import { t as ToolContext } from "./context-CIpPzN7P.js";
2
- import { d as nowMs, f as JSON_HEADERS, i as createRequestAuthorizer, m as methodNotAllowed, n as withCors, r as assertRestResourceBinding, t as corsPreflightResponse, u as createNoopRecorder } from "./cors-Ftb-tw1d.js";
2
+ import { d as nowMs, f as JSON_HEADERS, i as createRequestAuthorizer, m as methodNotAllowed, n as withCors, r as assertRestResourceBinding, t as corsPreflightResponse, u as createNoopRecorder } from "./cors-CkVAbFZD.js";
3
3
  import { t as extractTextContent } from "./content-D5LJAHyM.js";
4
- import "./list-tools-BrSIMpBi.js";
4
+ import "./list-tools-CdgXFtgF.js";
5
5
  import { getParseErrorMessage, objectFromShape, safeParseAsync } from "@modelcontextprotocol/sdk/server/zod-compat.js";
6
6
  //#region src/protocols/rest/invoke-tool.ts
7
7
  const MAX_REFLECTED_TOOL_NAME = 256;
@@ -1,11 +1,11 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_logger = require("../../logger-BqPOa_E1.cjs");
3
- const require_cors = require("../../cors-Y_FmMkXK.cjs");
2
+ const require_logger = require("../../logger-BSKbuM66.cjs");
3
+ const require_cors = require("../../cors-odDrgCEY.cjs");
4
4
  const require_metadata_path = require("../../metadata-path-zd7NSNoa.cjs");
5
- const require_mcp = require("../../mcp-_a39WlhN.cjs");
5
+ const require_mcp = require("../../mcp-23wsFJ2_.cjs");
6
6
  const require_protocols_oauth_metadata = require("../../protocols/oauth-metadata.cjs");
7
- const require_list_tools = require("../../list-tools-BeVzrTT-.cjs");
8
- const require_rest = require("../../rest-C9kWgxK5.cjs");
7
+ const require_list_tools = require("../../list-tools-BjmymWv7.cjs");
8
+ const require_rest = require("../../rest-BmhntVZo.cjs");
9
9
  const require_forwarded = require("../../forwarded-Pi8Hs5Ps.cjs");
10
10
  const require_paths = require("../../paths-OP318a6c.cjs");
11
11
  //#region src/stacks/supabase/handler.ts
@@ -1,4 +1,4 @@
1
- import { c as McpDefinition } from "../../types-BYdYYTjk.cjs";
1
+ import { c as McpDefinition } from "../../types-C0Wgm9zp.cjs";
2
2
  //#region src/stacks/supabase/handler.d.ts
3
3
  type SupabaseHandler = (request: Request) => Promise<Response>;
4
4
  interface SupabaseHandlerOptions {
@@ -1,4 +1,4 @@
1
- import { c as McpDefinition } from "../../types-BYdYYTjk.js";
1
+ import { c as McpDefinition } from "../../types-C0Wgm9zp.js";
2
2
  //#region src/stacks/supabase/handler.d.ts
3
3
  type SupabaseHandler = (request: Request) => Promise<Response>;
4
4
  interface SupabaseHandlerOptions {
@@ -1,10 +1,10 @@
1
- import { s as trimTrailingSlash } from "../../logger-2OXtfiIW.js";
2
- import { l as createRecorderForRuntime, s as assertResourcePathShape } from "../../cors-Ftb-tw1d.js";
1
+ import { s as trimTrailingSlash } from "../../logger-3-kwsF-5.js";
2
+ import { l as createRecorderForRuntime, s as assertResourcePathShape } from "../../cors-CkVAbFZD.js";
3
3
  import { t as OAUTH_PROTECTED_RESOURCE_METADATA_PATH } from "../../metadata-path-CAkNcfyY.js";
4
- import { t as createMcpProtocolHandler } from "../../mcp-BarAJ9N0.js";
4
+ import { t as createMcpProtocolHandler } from "../../mcp-Cul2AMOn.js";
5
5
  import { createOAuthProtectedResourceMetadataHandler } from "../../protocols/oauth-metadata.js";
6
- import { n as createListToolsHandler } from "../../list-tools-BrSIMpBi.js";
7
- import { t as createInvokeToolHandler } from "../../rest-Be8uOb6r.js";
6
+ import { n as createListToolsHandler } from "../../list-tools-CdgXFtgF.js";
7
+ import { t as createInvokeToolHandler } from "../../rest-CuWe1DJb.js";
8
8
  import { t as applyForwardedOrigin } from "../../forwarded--h4efJy-.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-DtnkW7Jc.cjs");
5
+ const require_package = require("../../package-BNwfs02J.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 McpPluginApi } from "../../io-BIvFmJK1.cjs";
1
+ import { t as McpPluginApi } from "../../io-BlJ298VF.cjs";
2
2
  import { Plugin } from "vite";
3
3
  //#region src/stacks/supabase/vite.d.ts
4
4
  interface McpPluginOptions {
@@ -1,4 +1,4 @@
1
- import { t as McpPluginApi } from "../../io-Bi7DYgft.js";
1
+ import { t as McpPluginApi } from "../../io-CSsqm26s.js";
2
2
  import { Plugin } from "vite";
3
3
  //#region src/stacks/supabase/vite.d.ts
4
4
  interface McpPluginOptions {
@@ -1,4 +1,4 @@
1
- import { t as version } from "../../package-DudvPdrW.js";
1
+ import { t as version } from "../../package-RfsGR4Ar.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_cors = require("../../cors-Y_FmMkXK.cjs");
3
- const require_mcp = require("../../mcp-_a39WlhN.cjs");
2
+ const require_cors = require("../../cors-odDrgCEY.cjs");
3
+ const require_mcp = require("../../mcp-23wsFJ2_.cjs");
4
4
  const require_protocols_oauth_metadata = require("../../protocols/oauth-metadata.cjs");
5
- const require_list_tools = require("../../list-tools-BeVzrTT-.cjs");
6
- const require_rest = require("../../rest-C9kWgxK5.cjs");
5
+ const require_list_tools = require("../../list-tools-BjmymWv7.cjs");
6
+ const require_rest = require("../../rest-BmhntVZo.cjs");
7
7
  const require_forwarded = require("../../forwarded-Pi8Hs5Ps.cjs");
8
8
  //#region src/stacks/tanstack/handlers.ts
9
9
  const STACK = "tanstack";
@@ -1,5 +1,5 @@
1
- import { c as McpDefinition } from "../../types-BYdYYTjk.cjs";
2
- import { t as McpRuntimeOptions } from "../../authorize-CumVyk7p.cjs";
1
+ import { c as McpDefinition } from "../../types-C0Wgm9zp.cjs";
2
+ import { t as McpRuntimeOptions } from "../../authorize-D3zzoTAG.cjs";
3
3
  //#region src/stacks/tanstack/handlers.d.ts
4
4
  interface TanStackRouteCtx {
5
5
  request: Request;
@@ -1,5 +1,5 @@
1
- import { c as McpDefinition } from "../../types-BYdYYTjk.js";
2
- import { t as McpRuntimeOptions } from "../../authorize-D6p4-9_D.js";
1
+ import { c as McpDefinition } from "../../types-C0Wgm9zp.js";
2
+ import { t as McpRuntimeOptions } from "../../authorize-Y6Jm8GhR.js";
3
3
  //#region src/stacks/tanstack/handlers.d.ts
4
4
  interface TanStackRouteCtx {
5
5
  request: Request;
@@ -1,8 +1,8 @@
1
- import { l as createRecorderForRuntime } from "../../cors-Ftb-tw1d.js";
2
- import { t as createMcpProtocolHandler } from "../../mcp-BarAJ9N0.js";
1
+ import { l as createRecorderForRuntime } from "../../cors-CkVAbFZD.js";
2
+ import { t as createMcpProtocolHandler } from "../../mcp-Cul2AMOn.js";
3
3
  import { createOAuthProtectedResourceMetadataHandler } from "../../protocols/oauth-metadata.js";
4
- import { n as createListToolsHandler } from "../../list-tools-BrSIMpBi.js";
5
- import { t as createInvokeToolHandler } from "../../rest-Be8uOb6r.js";
4
+ import { n as createListToolsHandler } from "../../list-tools-CdgXFtgF.js";
5
+ import { t as createInvokeToolHandler } from "../../rest-CuWe1DJb.js";
6
6
  import { t as applyForwardedOrigin } from "../../forwarded--h4efJy-.js";
7
7
  //#region src/stacks/tanstack/handlers.ts
8
8
  const STACK = "tanstack";
@@ -1,4 +1,4 @@
1
- import { t as McpPluginApi } from "../../io-BIvFmJK1.cjs";
1
+ import { t as McpPluginApi } from "../../io-BlJ298VF.cjs";
2
2
  import { Plugin } from "vite";
3
3
  //#region src/stacks/tanstack/vite.d.ts
4
4
  interface McpPluginOptions {
@@ -1,4 +1,4 @@
1
- import { t as McpPluginApi } from "../../io-Bi7DYgft.js";
1
+ import { t as McpPluginApi } from "../../io-CSsqm26s.js";
2
2
  import { Plugin } from "vite";
3
3
  //#region src/stacks/tanstack/vite.d.ts
4
4
  interface McpPluginOptions {
@@ -128,7 +128,7 @@ interface MetricsOptions {
128
128
  enabled?: boolean;
129
129
  /** OTLP/HTTP (JSON) logs URL to POST each invocation to — the default Lovable
130
130
  * route or any OTLP collector. Must be an absolute http(s) URL.
131
- * @default "https://api.lovable.dev/v1/app-mcp-usage" */
131
+ * @default "https://api.lovable.dev/internal/v1/app-mcp-usage" */
132
132
  endpoint?: string;
133
133
  /** Extra request headers — e.g. the auth token for a private OTLP collector.
134
134
  * Sent verbatim with every request (and baked into the build output, so source
@@ -128,7 +128,7 @@ interface MetricsOptions {
128
128
  enabled?: boolean;
129
129
  /** OTLP/HTTP (JSON) logs URL to POST each invocation to — the default Lovable
130
130
  * route or any OTLP collector. Must be an absolute http(s) URL.
131
- * @default "https://api.lovable.dev/v1/app-mcp-usage" */
131
+ * @default "https://api.lovable.dev/internal/v1/app-mcp-usage" */
132
132
  endpoint?: string;
133
133
  /** Extra request headers — e.g. the auth token for a private OTLP collector.
134
134
  * Sent verbatim with every request (and baked into the build output, so source
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lovable.dev/mcp-js",
3
- "version": "0.24.0",
3
+ "version": "0.25.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": {