@redocly/revel-reef 0.126.0-next.14 → 0.126.0-next.16
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/CHANGELOG.md +18 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/bin.js +1 -1
- package/dist/bin.js.map +1 -1
- package/dist/cli/prepare/analytics/collect-analytics.d.ts +1 -8
- package/dist/cli/prepare/analytics/collect-analytics.d.ts.map +1 -1
- package/dist/cli/prepare/analytics/collect-analytics.js +1 -1
- package/dist/cli/prepare/analytics/collect-analytics.js.map +1 -1
- package/dist/cli/prepare/index.d.ts.map +1 -1
- package/dist/cli/prepare/index.js +1 -1
- package/dist/cli/prepare/index.js.map +1 -1
- package/dist/client/App.d.ts.map +1 -1
- package/dist/client/App.js +1 -1
- package/dist/client/App.js.map +1 -1
- package/dist/client/app/pages/CompilationError/CompilationError.js +2 -2
- package/dist/client/app/pages/CompilationError/CompilationError.js.map +1 -1
- package/dist/client/runtime/errors/page-missing-default-export-error.d.ts +4 -0
- package/dist/client/runtime/errors/page-missing-default-export-error.d.ts.map +1 -0
- package/dist/client/runtime/errors/page-missing-default-export-error.js +1 -0
- package/dist/client/runtime/errors/page-missing-default-export-error.js.map +1 -0
- package/dist/client/runtime/loader.d.ts.map +1 -1
- package/dist/client/runtime/loader.js +1 -1
- package/dist/client/runtime/loader.js.map +1 -1
- package/dist/constants/common.d.ts +8 -1
- package/dist/constants/common.d.ts.map +1 -1
- package/dist/constants/common.js +1 -1
- package/dist/constants/common.js.map +1 -1
- package/dist/server/api-routes/run-api-routes-worker.d.ts.map +1 -1
- package/dist/server/api-routes/run-api-routes-worker.js.map +1 -1
- package/dist/server/constants/entitlements.d.ts.map +1 -1
- package/dist/server/constants/entitlements.js +1 -1
- package/dist/server/constants/entitlements.js.map +1 -1
- package/dist/server/constants/plugins/search.d.ts +1 -2
- package/dist/server/constants/plugins/search.d.ts.map +1 -1
- package/dist/server/constants/plugins/search.js.map +1 -1
- package/dist/server/esbuild/esbuild-logger.js +2 -2
- package/dist/server/esbuild/esbuild-logger.js.map +1 -1
- package/dist/server/fs/utils/is-loader-cache-enabled.d.ts.map +1 -1
- package/dist/server/fs/utils/is-loader-cache-enabled.js +1 -1
- package/dist/server/fs/utils/is-loader-cache-enabled.js.map +1 -1
- package/dist/server/node-bundle-entry.d.ts +1 -1
- package/dist/server/node-bundle-entry.d.ts.map +1 -1
- package/dist/server/node-bundle-entry.js +1 -1
- package/dist/server/node-bundle-entry.js.map +1 -1
- package/dist/server/plugins/asyncapi-docs/search/search-resolver.d.ts +1 -2
- package/dist/server/plugins/asyncapi-docs/search/search-resolver.d.ts.map +1 -1
- package/dist/server/plugins/asyncapi-docs/search/search-resolver.js.map +1 -1
- package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-read-repository.d.ts.map +1 -1
- package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-read-repository.js +11 -11
- package/dist/server/plugins/catalog-entities/database/repositories/local/catalog-entities-local-read-repository.js.map +1 -1
- package/dist/server/plugins/catalog-entities/database/repositories/utils.d.ts +46 -6
- package/dist/server/plugins/catalog-entities/database/repositories/utils.d.ts.map +1 -1
- package/dist/server/plugins/catalog-entities/database/repositories/utils.js +1 -1
- package/dist/server/plugins/catalog-entities/database/repositories/utils.js.map +1 -1
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/arazzo-entities-extractor.d.ts +3 -1
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/arazzo-entities-extractor.d.ts.map +1 -1
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/arazzo-entities-extractor.js +1 -1
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/arazzo-entities-extractor.js.map +1 -1
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/asyncapi-entities-extractor.d.ts +0 -1
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/asyncapi-entities-extractor.d.ts.map +1 -1
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/asyncapi-entities-extractor.js +1 -1
- package/dist/server/plugins/catalog-entities/extensions/extractors/api-description/asyncapi-entities-extractor.js.map +1 -1
- package/dist/server/plugins/catalog-entities/plugin.d.ts.map +1 -1
- package/dist/server/plugins/catalog-entities/plugin.js +1 -1
- package/dist/server/plugins/catalog-entities/plugin.js.map +1 -1
- package/dist/server/plugins/graphql-docs/search/search-resolver.d.ts +1 -2
- package/dist/server/plugins/graphql-docs/search/search-resolver.d.ts.map +1 -1
- package/dist/server/plugins/graphql-docs/search/search-resolver.js.map +1 -1
- package/dist/server/plugins/lifecycle.d.ts.map +1 -1
- package/dist/server/plugins/lifecycle.js +2 -2
- package/dist/server/plugins/lifecycle.js.map +1 -1
- package/dist/server/plugins/markdown/search/md-search-document.d.ts +1 -1
- package/dist/server/plugins/markdown/search/md-search-document.d.ts.map +1 -1
- package/dist/server/plugins/markdown/search/md-search-document.js.map +1 -1
- package/dist/server/plugins/markdown/search/search-resolver.d.ts +2 -2
- package/dist/server/plugins/markdown/search/search-resolver.d.ts.map +1 -1
- package/dist/server/plugins/markdown/search/search-resolver.js.map +1 -1
- package/dist/server/plugins/mcp/auth/auth-handlers.d.ts +10 -0
- package/dist/server/plugins/mcp/auth/auth-handlers.d.ts.map +1 -0
- package/dist/server/plugins/mcp/auth/auth-handlers.js +1 -0
- package/dist/server/plugins/mcp/auth/auth-handlers.js.map +1 -0
- package/dist/server/plugins/mcp/constants.d.ts +13 -0
- package/dist/server/plugins/mcp/constants.d.ts.map +1 -0
- package/dist/server/plugins/mcp/constants.js +1 -0
- package/dist/server/plugins/mcp/constants.js.map +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/get-endpoint-info.d.ts +4 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/get-endpoint-info.d.ts.map +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/get-endpoint-info.js +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/get-endpoint-info.js.map +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/get-endpoints.d.ts +4 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/get-endpoints.d.ts.map +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/get-endpoints.js +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/get-endpoints.js.map +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/get-full-definition.d.ts +4 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/get-full-definition.d.ts.map +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/get-full-definition.js +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/get-full-definition.js.map +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/get-security-schemes.d.ts +4 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/get-security-schemes.d.ts.map +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/get-security-schemes.js +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/get-security-schemes.js.map +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/index.d.ts +13 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/index.d.ts.map +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/index.js +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/index.js.map +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/list-apis.d.ts +4 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/list-apis.d.ts.map +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/list-apis.js +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/list-apis.js.map +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/search.d.ts +3 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/search.d.ts.map +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/search.js +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/search.js.map +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/utils.d.ts +10 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/utils.d.ts.map +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/utils.js +11 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/utils.js.map +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/whoami.d.ts +3 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/whoami.d.ts.map +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/whoami.js +1 -0
- package/dist/server/plugins/mcp/docs-mcp/tools/whoami.js.map +1 -0
- package/dist/server/plugins/mcp/docs-mcp/utils.d.ts +23 -0
- package/dist/server/plugins/mcp/docs-mcp/utils.d.ts.map +1 -0
- package/dist/server/plugins/mcp/docs-mcp/utils.js +1 -0
- package/dist/server/plugins/mcp/docs-mcp/utils.js.map +1 -0
- package/dist/server/plugins/mcp/handlers/docs-mcp-handler.d.ts +4 -0
- package/dist/server/plugins/mcp/handlers/docs-mcp-handler.d.ts.map +1 -0
- package/dist/server/plugins/mcp/handlers/docs-mcp-handler.js +1 -0
- package/dist/server/plugins/mcp/handlers/docs-mcp-handler.js.map +1 -0
- package/dist/server/plugins/mcp/handlers/errors.d.ts +38 -0
- package/dist/server/plugins/mcp/handlers/errors.d.ts.map +1 -0
- package/dist/server/plugins/mcp/handlers/errors.js +1 -0
- package/dist/server/plugins/mcp/handlers/errors.js.map +1 -0
- package/dist/server/plugins/mcp/handlers/mcp-request-handler.d.ts +12 -0
- package/dist/server/plugins/mcp/handlers/mcp-request-handler.d.ts.map +1 -0
- package/dist/server/plugins/mcp/handlers/mcp-request-handler.js +1 -0
- package/dist/server/plugins/mcp/handlers/mcp-request-handler.js.map +1 -0
- package/dist/server/plugins/mcp/index.d.ts +5 -0
- package/dist/server/plugins/mcp/index.d.ts.map +1 -0
- package/dist/server/plugins/mcp/index.js +1 -0
- package/dist/server/plugins/mcp/index.js.map +1 -0
- package/dist/server/plugins/mcp/servers/base-server.d.ts +19 -0
- package/dist/server/plugins/mcp/servers/base-server.d.ts.map +1 -0
- package/dist/server/plugins/mcp/servers/base-server.js +1 -0
- package/dist/server/plugins/mcp/servers/base-server.js.map +1 -0
- package/dist/server/plugins/mcp/servers/docs-server.d.ts +15 -0
- package/dist/server/plugins/mcp/servers/docs-server.d.ts.map +1 -0
- package/dist/server/plugins/mcp/servers/docs-server.js +1 -0
- package/dist/server/plugins/mcp/servers/docs-server.js.map +1 -0
- package/dist/server/plugins/mcp/types.d.ts +50 -0
- package/dist/server/plugins/mcp/types.d.ts.map +1 -0
- package/dist/server/plugins/mcp/types.js +0 -0
- package/dist/server/plugins/mcp/types.js.map +1 -0
- package/dist/server/plugins/mcp/utils/jwt.d.ts +14 -0
- package/dist/server/plugins/mcp/utils/jwt.d.ts.map +1 -0
- package/dist/server/plugins/mcp/utils/jwt.js +1 -0
- package/dist/server/plugins/mcp/utils/jwt.js.map +1 -0
- package/dist/server/plugins/mcp/utils/xmcp-utils.d.ts +62 -0
- package/dist/server/plugins/mcp/utils/xmcp-utils.d.ts.map +1 -0
- package/dist/server/plugins/mcp/utils/xmcp-utils.js +1 -0
- package/dist/server/plugins/mcp/utils/xmcp-utils.js.map +1 -0
- package/dist/server/plugins/mcp/utils.d.ts +55 -0
- package/dist/server/plugins/mcp/utils.d.ts.map +1 -0
- package/dist/server/plugins/mcp/utils.js +1 -0
- package/dist/server/plugins/mcp/utils.js.map +1 -0
- package/dist/server/plugins/mcp/workers/run-api-routes-worker.d.ts +5 -0
- package/dist/server/plugins/mcp/workers/run-api-routes-worker.d.ts.map +1 -0
- package/dist/server/plugins/mcp/workers/run-api-routes-worker.js +1 -0
- package/dist/server/plugins/mcp/workers/run-api-routes-worker.js.map +1 -0
- package/dist/server/plugins/openapi-docs/load-definition.d.ts.map +1 -1
- package/dist/server/plugins/openapi-docs/load-definition.js +3 -3
- package/dist/server/plugins/openapi-docs/load-definition.js.map +1 -1
- package/dist/server/plugins/openapi-docs/search/get-ai-search-documents.d.ts.map +1 -1
- package/dist/server/plugins/openapi-docs/search/get-ai-search-documents.js.map +1 -1
- package/dist/server/plugins/openapi-docs/search/search-resolver.d.ts +0 -1
- package/dist/server/plugins/openapi-docs/search/search-resolver.d.ts.map +1 -1
- package/dist/server/plugins/openapi-docs/search-indexer.d.ts +1 -1
- package/dist/server/plugins/openapi-docs/search-indexer.d.ts.map +1 -1
- package/dist/server/plugins/openapi-docs/search-indexer.js.map +1 -1
- package/dist/server/plugins/openapi-docs/utils.d.ts.map +1 -1
- package/dist/server/plugins/openapi-docs/utils.js +1 -1
- package/dist/server/plugins/openapi-docs/utils.js.map +1 -1
- package/dist/server/plugins/search/documents/search-documents.d.ts.map +1 -1
- package/dist/server/plugins/search/documents/search-documents.js.map +1 -1
- package/dist/server/plugins/search/engines/flexsearch/index.d.ts +2 -2
- package/dist/server/plugins/search/engines/flexsearch/index.d.ts.map +1 -1
- package/dist/server/plugins/search/engines/flexsearch/index.js.map +1 -1
- package/dist/server/plugins/search/engines/flexsearch/search-index.d.ts +1 -2
- package/dist/server/plugins/search/engines/flexsearch/search-index.d.ts.map +1 -1
- package/dist/server/plugins/search/engines/search-engine.d.ts +2 -2
- package/dist/server/plugins/search/engines/search-engine.d.ts.map +1 -1
- package/dist/server/plugins/search/engines/search-engine.js.map +1 -1
- package/dist/server/plugins/search/engines/typesense/index.d.ts +2 -2
- package/dist/server/plugins/search/engines/typesense/index.d.ts.map +1 -1
- package/dist/server/ssr/index.d.ts +2 -1
- package/dist/server/ssr/index.d.ts.map +1 -1
- package/dist/server/ssr/index.js +1 -1
- package/dist/server/ssr/index.js.map +1 -1
- package/dist/server/ssr/render.d.ts +1 -0
- package/dist/server/ssr/render.d.ts.map +1 -1
- package/dist/server/ssr/render.js +1 -1
- package/dist/server/ssr/render.js.map +1 -1
- package/dist/server/types/plugins/common.d.ts +2 -1
- package/dist/server/types/plugins/common.d.ts.map +1 -1
- package/dist/server/types/plugins/search.d.ts +29 -1
- package/dist/server/types/plugins/search.d.ts.map +1 -1
- package/dist/server/utils/rbac.d.ts.map +1 -1
- package/dist/server/utils/rbac.js +1 -1
- package/dist/server/utils/rbac.js.map +1 -1
- package/dist/server/utils/report-all-errors.d.ts.map +1 -1
- package/dist/server/utils/report-all-errors.js +1 -1
- package/dist/server/utils/report-all-errors.js.map +1 -1
- package/dist/server/utils/reporter/reporter.d.ts +12 -7
- package/dist/server/utils/reporter/reporter.d.ts.map +1 -1
- package/dist/server/utils/reporter/reporter.js +7 -7
- package/dist/server/utils/reporter/reporter.js.map +1 -1
- package/dist/server/utils/reporter/validate-react-pages.d.ts +4 -0
- package/dist/server/utils/reporter/validate-react-pages.d.ts.map +1 -0
- package/dist/server/utils/reporter/validate-react-pages.js +1 -0
- package/dist/server/utils/reporter/validate-react-pages.js.map +1 -0
- package/dist/server/web-server/auth.d.ts +20 -1
- package/dist/server/web-server/auth.d.ts.map +1 -1
- package/dist/server/web-server/auth.js +4 -4
- package/dist/server/web-server/auth.js.map +1 -1
- package/dist/server/web-server/handle-api-route-request.d.ts.map +1 -1
- package/dist/server/web-server/handle-api-route-request.js +1 -1
- package/dist/server/web-server/handle-api-route-request.js.map +1 -1
- package/dist/server/web-server/routes/auth.d.ts.map +1 -1
- package/dist/server/web-server/routes/auth.js +1 -1
- package/dist/server/web-server/routes/auth.js.map +1 -1
- package/dist/server/web-server/routes/error.d.ts.map +1 -1
- package/dist/server/web-server/routes/error.js +1 -1
- package/dist/server/web-server/routes/error.js.map +1 -1
- package/dist/server/web-server/routes/index.d.ts.map +1 -1
- package/dist/server/web-server/routes/index.js +1 -1
- package/dist/server/web-server/routes/index.js.map +1 -1
- package/dist/server/web-server/routes/mcp-oauth.d.ts +12 -0
- package/dist/server/web-server/routes/mcp-oauth.d.ts.map +1 -0
- package/dist/server/web-server/routes/mcp-oauth.js +1 -0
- package/dist/server/web-server/routes/mcp-oauth.js.map +1 -0
- package/dist/server/workers/mcp-worker-pool.d.ts +4 -0
- package/dist/server/workers/mcp-worker-pool.d.ts.map +1 -0
- package/dist/server/workers/mcp-worker-pool.js +1 -0
- package/dist/server/workers/mcp-worker-pool.js.map +1 -0
- package/dist/server/workers/types.d.ts +1 -0
- package/dist/server/workers/types.d.ts.map +1 -1
- package/dist/types/entitlements.d.ts +1 -0
- package/dist/types/entitlements.d.ts.map +1 -1
- package/dist/types/errors.d.ts +6 -0
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/ssr.d.ts +1 -0
- package/dist/types/ssr.d.ts.map +1 -1
- package/package.json +7 -5
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SearchItemData } from '@redocly/theme';
|
|
2
|
+
import { OpenAPIDefinition, OpenAPIOperation } from '@redocly/openapi-docs';
|
|
3
|
+
type EndpointInfo = Pick<OpenAPIOperation, 'summary' | 'description' | 'security'> & {
|
|
4
|
+
method: string;
|
|
5
|
+
path: string;
|
|
6
|
+
};
|
|
7
|
+
export declare function getEndpointsFromPaths(def: OpenAPIDefinition): EndpointInfo[];
|
|
8
|
+
export declare function processDocuments(documents: Record<string, SearchItemData[]>, outdir: string): string;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../../../src/server/plugins/mcp/docs-mcp/tools/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAO5E,KAAK,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC,GAAG;IACnF,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,iBAAiB,GAAG,YAAY,EAAE,CAuB5E;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,EAC3C,MAAM,EAAE,MAAM,GACb,MAAM,CAkER"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import u from"node:fs";import y from"node:path";import{checkEndpointAndDeleteXMcp as x}from"../../utils/xmcp-utils.js";import{MAX_DOCUMENTS_PER_CATEGORY as O}from"../../constants.js";function E(s){const{paths:c={}}=s,a=[];for(const[l,n]of Object.entries(c)){const f=!x(n,"docs");for(const[m,t]of Object.entries(n))f||!x(t,"docs")||a.push({path:l,method:m.toUpperCase(),summary:t.summary,description:t.description,security:t.security})}return a}function k(s,c){return Object.entries(s).map(([l,n])=>{if(!n||n.length===0)return"";const f=n.slice(0,O).map(m=>{const{document:t,highlight:p}=m,g=p?.title||(Array.isArray(t.title)?t.title[0]:t.title);let r=`Document: ${t.title}`;r+=`### [${g}](${t.url})
|
|
2
|
+
|
|
3
|
+
`;let i;if(t.url)try{let e=t.url.startsWith("/")?t.url.slice(1):t.url;const o=e.indexOf("#");o!==-1&&(e=e.substring(0,o));const d=y.extname(e);d&&(e=e.slice(0,-d.length));let A=e+".md";const h=y.join(c,A);u.existsSync(h)&&(i=u.readFileSync(h,"utf8"))}catch{}return i||(i=p?.text||(Array.isArray(t.text)?t.text[0]:t.text)),r+=i,t.facets&&(r+=`
|
|
4
|
+
|
|
5
|
+
**Categories:**
|
|
6
|
+
`,Object.entries(t.facets).forEach(([e,o])=>{r+=`- ${e}: ${o}
|
|
7
|
+
`})),r});return`## ${l}
|
|
8
|
+
|
|
9
|
+
${f}`}).join(`
|
|
10
|
+
|
|
11
|
+
`).trim()}export{E as getEndpointsFromPaths,k as processDocuments};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../../src/server/plugins/mcp/docs-mcp/tools/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAM7B,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAOhE,MAAM,UAAU,qBAAqB,CAAC,GAAsB;IAC1D,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC;IAC3B,MAAM,SAAS,GAAmB,EAAE,CAAC;IAErC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAwB,EAAE,CAAC;QAC3E,MAAM,YAAY,GAAG,CAAC,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAElE,KAAK,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1D,IAAI,YAAY,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;gBACnE,SAAS;YACX,CAAC;YAED,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI;gBACJ,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE;gBAC5B,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,WAAW,EAAE,SAAS,CAAC,WAAW;gBAClC,QAAQ,EAAE,SAAS,CAAC,QAAQ;aAC7B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,SAA2C,EAC3C,MAAc;IAEd,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;SAC9C,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE;QAC7B,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,YAAY,GAAG,SAAS;aAC3B,KAAK,CAAC,CAAC,EAAE,0BAA0B,CAAC;aACpC,GAAG,CAAC,CAAC,GAAmB,EAAE,EAAE;YAC3B,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;YAEpC,MAAM,YAAY,GAChB,SAAS,EAAE,KAAK;gBAChB,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEvE,IAAI,QAAQ,GAAG,aAAa,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC7C,QAAQ,IAAI,QAAQ,YAAY,KAAK,QAAQ,CAAC,GAAG,OAAO,CAAC;YAEzD,IAAI,WAA+B,CAAC;YAEpC,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,IAAI,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAClF,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACvC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;wBACrB,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;oBAC5C,CAAC;oBACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAClC,IAAI,GAAG,EAAE,CAAC;wBACR,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC1C,CAAC;oBACD,IAAI,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;oBAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;oBAE7C,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC5B,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,6CAA6C;gBAC/C,CAAC;YACH,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,WAAW;oBACT,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzF,CAAC;YAED,QAAQ,IAAI,WAAW,CAAC;YAExB,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpB,QAAQ,IAAI,uBAAuB,CAAC;gBACpC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;oBACvD,QAAQ,IAAI,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC;gBACrC,CAAC,CAAC,CAAC;YACL,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;QAEL,OAAO,MAAM,QAAQ,OAAO,YAAY,EAAE,CAAC;IAC7C,CAAC,CAAC;SACD,IAAI,CAAC,MAAM,CAAC;SACZ,IAAI,EAAE,CAAC;IAEV,OAAO,eAAe,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../../../../../../../src/server/plugins/mcp/docs-mcp/tools/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAQtE,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GACtD,IAAI,CA+DN"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{telemetry as r}from"../../../../telemetry/index";import{getUserInfoFromHeaders as s}from"../../utils/jwt";const t="whoami";function c(o,n){o.tool(t,"Get information about the currently authenticated user",()=>{try{const e=s(n||{});return e?(r.sendMcpToolCalledMessage({server_type:"docs",tool:t}),{content:[{type:"text",text:JSON.stringify({email:e.email,name:e.name,subject:e.sub,clientId:e.client_id,scope:e.scope,issuedAt:e.iat?new Date(e.iat*1e3).toISOString():void 0,expiresAt:e.exp?new Date(e.exp*1e3).toISOString():void 0})}],isError:!1}):{content:[{type:"text",text:JSON.stringify({error:"Not authenticated",message:"No valid authentication token found. Please authenticate first."})}],isError:!0}}catch(e){return r.sendMcpErrorMessage({server_type:"docs",tool:t,message:e?.message||"Failed to get user info",stack:e?.stack||""}),{content:[{type:"text",text:JSON.stringify({error:"Failed to get user info",details:e instanceof Error?e.message:String(e)})}],isError:!0}}})}export{c as registerWhoAmITool};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../../../../../../../src/server/plugins/mcp/docs-mcp/tools/whoami.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,SAAS,GAAG,QAAQ,CAAC;AAE3B,MAAM,UAAU,kBAAkB,CAChC,MAAiB,EACjB,OAAuD;IAEvD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,wDAAwD,EAAE,GAAG,EAAE;QACpF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAEvD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,KAAK,EAAE,mBAAmB;gCAC1B,OAAO,EAAE,iEAAiE;6BAC3E,CAAC;yBACH;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,SAAS,CAAC,wBAAwB,CAAC;gBACjC,WAAW,EAAE,MAAM;gBACnB,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;4BACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;4BACnB,OAAO,EAAE,QAAQ,CAAC,GAAG;4BACrB,QAAQ,EAAE,QAAQ,CAAC,SAAS;4BAC5B,KAAK,EAAE,QAAQ,CAAC,KAAK;4BACrB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;4BAChF,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;yBAClF,CAAC;qBACH;iBACF;gBACD,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,CAAC,mBAAmB,CAAC;gBAC5B,WAAW,EAAE,MAAM;gBACnB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,yBAAyB;gBACpD,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;aAC1B,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,KAAK,EAAE,yBAAyB;4BAChC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;yBAChE,CAAC;qBACH;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { OpenAPISchema, OpenAPIParameter, OpenAPIResponse, OpenAPIRequestBody, Referenced, OpenAPIDefinition } from '@redocly/openapi-docs/lib/types/open-api.js';
|
|
2
|
+
import { McpServerType } from '../types';
|
|
3
|
+
export declare function findDefinitionByName(openapiDefinitions: OpenAPIDefinition[], name: string, serverType?: McpServerType): OpenAPIDefinition | undefined;
|
|
4
|
+
export declare function findAllDefinitionsByName(openapiDefinitions: OpenAPIDefinition[], name: string, serverType?: McpServerType): OpenAPIDefinition[];
|
|
5
|
+
export declare function resolveRef<T>(ref: string, def?: OpenAPIDefinition): T | undefined;
|
|
6
|
+
type ResolveSchemaRefsParams = {
|
|
7
|
+
schema: Referenced<OpenAPISchema> | undefined;
|
|
8
|
+
definition: OpenAPIDefinition;
|
|
9
|
+
visitedRefs?: Set<string>;
|
|
10
|
+
maxDepth?: number;
|
|
11
|
+
currentDepth?: number;
|
|
12
|
+
};
|
|
13
|
+
export declare function resolveSchemaRefs({ schema, definition, visitedRefs, maxDepth, currentDepth, }: ResolveSchemaRefsParams): OpenAPISchema | undefined;
|
|
14
|
+
type ResolveParametersParams = {
|
|
15
|
+
pathParams: Referenced<OpenAPIParameter>[];
|
|
16
|
+
opParams: Referenced<OpenAPIParameter>[];
|
|
17
|
+
definition: OpenAPIDefinition;
|
|
18
|
+
};
|
|
19
|
+
export declare function resolveParameters({ pathParams, opParams, definition, }: ResolveParametersParams): OpenAPIParameter[];
|
|
20
|
+
export declare function resolveRequestBody(requestBody: Referenced<OpenAPIRequestBody> | undefined, definition: OpenAPIDefinition): OpenAPIRequestBody | undefined;
|
|
21
|
+
export declare function resolveResponses(responses: Record<string, Referenced<OpenAPIResponse>>, definition: OpenAPIDefinition): Record<string, OpenAPIResponse>;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/plugins/mcp/docs-mcp/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,UAAU,EAGV,iBAAiB,EAClB,MAAM,6CAA6C,CAAC;AAGrD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,wBAAgB,oBAAoB,CAClC,kBAAkB,EAAE,iBAAiB,EAAE,EACvC,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,aAAsB,GACjC,iBAAiB,GAAG,SAAS,CAM/B;AAED,wBAAgB,wBAAwB,CACtC,kBAAkB,EAAE,iBAAiB,EAAE,EACvC,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,aAAsB,GACjC,iBAAiB,EAAE,CAMrB;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,iBAAiB,GAAG,CAAC,GAAG,SAAS,CAcjF;AAED,KAAK,uBAAuB,GAAG;IAC7B,MAAM,EAAE,UAAU,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;IAC9C,UAAU,EAAE,iBAAiB,CAAC;IAC9B,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,UAAU,EACV,WAAuB,EACvB,QAAa,EACb,YAAgB,GACjB,EAAE,uBAAuB,GAAG,aAAa,GAAG,SAAS,CAyGrD;AAED,KAAK,uBAAuB,GAAG;IAC7B,UAAU,EAAE,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAC3C,QAAQ,EAAE,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;IACzC,UAAU,EAAE,iBAAiB,CAAC;CAC/B,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,QAAQ,EACR,UAAU,GACX,EAAE,uBAAuB,GAAG,gBAAgB,EAAE,CA0B9C;AAgCD,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,UAAU,CAAC,kBAAkB,CAAC,GAAG,SAAS,EACvD,UAAU,EAAE,iBAAiB,GAC5B,kBAAkB,GAAG,SAAS,CA0BhC;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC,EACtD,UAAU,EAAE,iBAAiB,GAC5B,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CA8BjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{isDefinitionHidden as $}from"../utils/xmcp-utils";function h(t,o,r="docs"){return t.find(({info:e})=>e?.title?.toLowerCase().includes(o.toLowerCase())&&!$(e,r))}function x(t,o,r="docs"){return t.filter(({info:e})=>e?.title?.toLowerCase().includes(o.toLowerCase())&&!$(e,r))}function d(t,o){if(!o||!t?.startsWith("#/"))return;const r=t.slice(2).split("/");let e=o;for(const s of r)if(typeof e=="object"&&e!==null&&s in e)e=e[s];else return;return e}function l({schema:t,definition:o,visitedRefs:r=new Set,maxDepth:e=50,currentDepth:s=0}){if(!t)return;if(s>=e)return{type:"object",description:`Maximum resolution depth exceeded (${e})`};if("$ref"in t&&t.$ref){if(r.has(t.$ref))return{type:"object",description:`Circular reference detected: ${t.$ref}`,"x-circular-ref":t.$ref};const f=new Set(r);f.add(t.$ref);const u=d(t.$ref,o);return u?l({schema:u,definition:o,visitedRefs:f,maxDepth:e,currentDepth:s+1}):{type:"object",description:`Could not resolve reference: ${t.$ref}`,"x-unresolved-ref":t.$ref}}const n={...t};if(n.properties){const f={};for(const[u,i]of Object.entries(n.properties)){const m=l({schema:i,definition:o,visitedRefs:new Set(r),maxDepth:e,currentDepth:s+1});f[u]=m||i}n.properties=f}if(n.items&&typeof n.items=="object")if(Array.isArray(n.items))n.items=n.items.map(f=>l({schema:f,definition:o,visitedRefs:new Set(r),maxDepth:e,currentDepth:s+1})||f);else{const f=l({schema:n.items,definition:o,visitedRefs:new Set(r),maxDepth:e,currentDepth:s+1});f&&(n.items=f)}return["allOf","anyOf","oneOf"].forEach(f=>{const u=n[f];Array.isArray(u)&&(n[f]=u.reduce((i,m)=>{const p=l({schema:m,definition:o,visitedRefs:new Set(r),maxDepth:e,currentDepth:s+1});return p&&i.push(p),i},[]))}),n}function w({pathParams:t,opParams:o,definition:r}){return[...t,...o].reduce((e,s)=>{if(!s)return e;if("$ref"in s&&s.$ref){const n=d(s.$ref,r);return n&&e.push({...n,schema:"schema"in n&&n.schema?l({schema:n.schema,definition:r}):void 0}),e}return e.push({...s,schema:"schema"in s&&s.schema?l({schema:s.schema,definition:r}):void 0}),e},[])}function a(t,o){const r={...t};if(t.example!==void 0&&(r.example=t.example),!t.examples)return r;const e={};for(const[s,n]of Object.entries(t.examples))if("$ref"in n){const c=d(n.$ref,o);c&&(e[s]=c)}else e[s]=n;return r.examples=e,r}function y(t,o){if(!t)return;const r="$ref"in t&&t.$ref?d(t.$ref,o):t;if(!r)return;const e={...r};if("content"in r&&r.content){const s={};for(const[n,c]of Object.entries(r.content))s[n]={...a(c,o),schema:c.schema?l({schema:c.schema,definition:o}):void 0};e.content=s}return e}function b(t,o){return Object.entries(t).reduce((r,[e,s])=>{const n="$ref"in s&&s.$ref?d(s.$ref,o):s;if(!n)return r;const c={...n};if("content"in n&&n.content){const f={};for(const[u,i]of Object.entries(n.content))f[u]={...a(i,o),schema:i.schema?l({schema:i.schema,definition:o}):void 0};c.content=f}return r[e]=c,r},{})}export{x as findAllDefinitionsByName,h as findDefinitionByName,w as resolveParameters,d as resolveRef,y as resolveRequestBody,b as resolveResponses,l as resolveSchemaRefs};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../src/server/plugins/mcp/docs-mcp/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs-mcp-handler.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/plugins/mcp/handlers/docs-mcp-handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAuB,gBAAgB,EAAkB,MAAM,iBAAiB,CAAC;AAwE7F,QAAA,MAAM,cAAc,EAAE,gBAoBrB,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createMcpRequestHandler as g}from"./mcp-request-handler.js";import{createDocsMcpServer as v}from"../servers/docs-server.js";import{filterDefinitionsByRbac as M}from"../utils.js";import{createInternalServerError as D}from"./errors.js";import{McpServerType as h}from"../constants.js";import{telemetry as y}from"../../../telemetry/index.js";import{constructInvalidTokenResponse as R,constructUnauthorizedResponse as S,handleMcpAuth as w,shouldHandleMcpAuth as I}from"../auth/auth-handlers.js";async function T(o,r,n,s){try{const e=r,t=e?.props?.config?.openapiDefinitions||[],i=e?.props?.config?.outdir||"",a=e?.props?.config?.catalogName||"Docs MCP server",p=new URL(s.url).origin,{user:c,config:{rbac:f={},mcp:m={}}}=o,d=M(t,c,f,!!c?.isAuthenticated).map(({definition:u})=>u),l=m.docs?.name||a;return await v(d,l,p,n,i)}catch(e){throw y.sendMcpErrorMessage({server_type:"docs",message:e?.message||"",stack:e?.stack||""}),D(e?.message||"Internal server error mcp docs")}}const U=g({createServerInstance:T,serverType:h.Docs}),b=async(o,r,n)=>{if(I(r)){const{isAuthenticated:s,isTokenValid:e,currentUser:t}=await w(o,r);if(!s)return S(new URL(o.url).origin);if(!e)return R();t&&(r.user=t)}return U(o,r,n)};var B=b;export{B as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs-mcp-handler.js","sourceRoot":"","sources":["../../../../../../../src/server/plugins/mcp/handlers/docs-mcp-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { McpErrorCodeTypes, McpServerType } from '../types.js';
|
|
2
|
+
export type McpErrorData = {
|
|
3
|
+
readonly code: McpErrorCodeTypes;
|
|
4
|
+
readonly message: string;
|
|
5
|
+
readonly data?: unknown;
|
|
6
|
+
readonly requestId?: string | number | null;
|
|
7
|
+
};
|
|
8
|
+
export declare class McpError extends Error {
|
|
9
|
+
readonly code: McpErrorCodeTypes;
|
|
10
|
+
readonly data?: unknown;
|
|
11
|
+
readonly requestId?: string | number | null;
|
|
12
|
+
constructor(code: McpErrorCodeTypes, message: string, data?: unknown, requestId?: string | number | null);
|
|
13
|
+
/**
|
|
14
|
+
* Creates a JSON-RPC 2.0 compliant error response
|
|
15
|
+
*/
|
|
16
|
+
createErrorResponse(): Response;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Creates a method not allowed error response
|
|
20
|
+
*/
|
|
21
|
+
export declare function createMethodNotAllowedError(requestId?: string | number | null): Response;
|
|
22
|
+
/**
|
|
23
|
+
* Creates an internal server error response with telemetry
|
|
24
|
+
*/
|
|
25
|
+
export declare function createInternalServerError(error: Error | string, serverType?: McpServerType, requestId?: string | number | null): Response;
|
|
26
|
+
/**
|
|
27
|
+
* Creates an invalid request error response
|
|
28
|
+
*/
|
|
29
|
+
export declare function createInvalidRequestError(message?: string, requestId?: string | number | null): Response;
|
|
30
|
+
/**
|
|
31
|
+
* Creates an invalid parameters error response
|
|
32
|
+
*/
|
|
33
|
+
export declare function createInvalidParamsError(message?: string, requestId?: string | number | null): Response;
|
|
34
|
+
/**
|
|
35
|
+
* Safely handles errors in async functions with proper cleanup
|
|
36
|
+
*/
|
|
37
|
+
export declare function withErrorHandling<T>(operation: () => Promise<T>, serverType: McpServerType, cleanup?: () => Promise<void>): Promise<T | Response>;
|
|
38
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/plugins/mcp/handlers/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAKpE,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC7C,CAAC;AAEF,qBAAa,QAAS,SAAQ,KAAK;IACjC,SAAgB,IAAI,EAAE,iBAAiB,CAAC;IACxC,SAAgB,IAAI,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAgB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;gBAGjD,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,OAAO,EACd,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IASpC;;OAEG;IACH,mBAAmB,IAAI,QAAQ;CAkBhC;AAqBD;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ,CAIxF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,KAAK,GAAG,MAAM,EACrB,UAAU,GAAE,aAA2C,EACvD,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GACjC,QAAQ,CAkBV;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,MAA0B,EACnC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GACjC,QAAQ,CAIV;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,MAA6B,EACtC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GACjC,QAAQ,CAIV;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,UAAU,EAAE,aAAa,EACzB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAC5B,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,CAevB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{telemetry as c}from"../../../telemetry/index.js";import{McpErrorCodes as s,McpServerType as d}from"../constants.js";class n extends Error{code;data;requestId;constructor(e,t,o,a){super(t),this.name="McpError",this.code=e,this.data=o,this.requestId=a}createErrorResponse(){const e={jsonrpc:"2.0",error:{code:this.code,message:this.message,...this.data?{data:this.data}:{}},id:this.requestId??null},t=i(this.code);return new Response(JSON.stringify(e),{status:t,headers:{"Content-Type":"application/json"}})}}function i(r){switch(r){case s.InvalidRequest:case s.InvalidParams:return 400;case s.MethodNotFound:return 404;case s.ServerError:return 405;case s.InternalError:default:return 500}}function m(r){return new n(s.ServerError,"Method not allowed",void 0,r).createErrorResponse()}function u(r,e=d.Docs,t){const o=r instanceof Error?r.message:String(r),a=r instanceof Error?r.stack:void 0;return c.sendMcpErrorMessage({server_type:e,message:o,stack:a||""}),new n(s.InternalError,"Internal server error mcp",o,t).createErrorResponse()}function f(r="Invalid request",e){return new n(s.InvalidRequest,r,void 0,e).createErrorResponse()}function h(r="Invalid parameters",e){return new n(s.InvalidParams,r,void 0,e).createErrorResponse()}async function v(r,e,t){try{return await r()}catch(o){return c.sendMcpErrorMessage({server_type:e,message:o?.message||"",stack:o?.stack||""}),t&&t(),u(o,e)}}export{n as McpError,u as createInternalServerError,h as createInvalidParamsError,f as createInvalidRequestError,m as createMethodNotAllowedError,v as withErrorHandling};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../../../../src/server/plugins/mcp/handlers/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ApiFunctionsContext, ApiRoutesHandler, PageStaticData } from '@redocly/config';
|
|
2
|
+
import type { McpServerInstance, McpServerType } from '../types.js';
|
|
3
|
+
export type McpRequestHandlerDependencies = {
|
|
4
|
+
createServerInstance: (context: ApiFunctionsContext, staticData: PageStaticData, headers: Record<string, string | string[] | undefined>, request: Request) => Promise<McpServerInstance>;
|
|
5
|
+
serverType: McpServerType;
|
|
6
|
+
connectionTimeoutMs?: number;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Creates a standardized MCP request handler
|
|
10
|
+
*/
|
|
11
|
+
export declare function createMcpRequestHandler(dependencies: McpRequestHandlerDependencies): ApiRoutesHandler;
|
|
12
|
+
//# sourceMappingURL=mcp-request-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-request-handler.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/plugins/mcp/handlers/mcp-request-handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMpE,MAAM,MAAM,6BAA6B,GAAG;IAC1C,oBAAoB,EAAE,CACpB,OAAO,EAAE,mBAAmB,EAC5B,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,EACtD,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChC,UAAU,EAAE,aAAa,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,6BAA6B,GAC1C,gBAAgB,CAiElB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{toFetchResponse as i,toReqRes as E}from"fetch-to-node";import{DEFAULT_CONNECTION_TIMEOUT_MS as w}from"../constants.js";import{createMethodNotAllowedError as R,withErrorHandling as y}from"./errors.js";import{logger as d}from"../../../utils/index.js";function N(u){const{createServerInstance:l,serverType:p,connectionTimeoutMs:m=w}=u;return async(r,h,f)=>{let e,n;const c=async()=>{try{n&&(clearTimeout(n),n=void 0),e&&(await e.cleanup(),e=void 0)}catch(a){d.error("Error during mcp server cleanup:",a)}};return y(async()=>{const a={};r.headers.forEach((o,T)=>{a[T]=o}),e=await l(h,f,a,r);const{req:s,res:t}=E(r);switch(n=setTimeout(()=>{c()},m),t.on("close",()=>{c().catch(o=>{d.error("Error during response close cleanup:",o)})}),r.method){case"GET":return await e.transport.handleRequest(s,t),i(t);case"POST":const o=await r.json();return await e.transport.handleRequest(s,t,o),i(t);default:return R()}},p,c)}}export{N as createMcpRequestHandler};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-request-handler.js","sourceRoot":"","sources":["../../../../../../../src/server/plugins/mcp/handlers/mcp-request-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAK1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAajD;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,YAA2C;IAE3C,MAAM,EACJ,oBAAoB,EACpB,UAAU,EACV,mBAAmB,GAAG,6BAA6B,GACpD,GAAG,YAAY,CAAC;IAEjB,OAAO,KAAK,EAAE,OAAgB,EAAE,OAA4B,EAAE,UAA0B,EAAE,EAAE;QAC1F,IAAI,cAA6C,CAAC;QAClD,IAAI,SAAqC,CAAC;QAE1C,MAAM,OAAO,GAAG,KAAK,IAAmB,EAAE;YACxC,IAAI,CAAC;gBACH,IAAI,SAAS,EAAE,CAAC;oBACd,YAAY,CAAC,SAAS,CAAC,CAAC;oBACxB,SAAS,GAAG,SAAS,CAAC;gBACxB,CAAC;gBACD,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;oBAC/B,cAAc,GAAG,SAAS,CAAC;gBAC7B,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,iBAAiB,CACtB,KAAK,IAAI,EAAE;YACT,MAAM,OAAO,GAAkD,EAAE,CAAC;YAClE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACrC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,cAAc,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAEnF,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEzD,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC1B,OAAO,EAAE,CAAC;YACZ,CAAC,EAAE,mBAAmB,CAAC,CAAC;YAExB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACvB,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACxB,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;gBAC9D,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,KAAK;oBACR,MAAM,cAAc,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAC/D,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;gBAElC,KAAK,MAAM;oBACT,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;oBACzC,MAAM,cAAc,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;oBAC5E,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;gBAElC;oBACE,OAAO,2BAA2B,EAAE,CAAC;YACzC,CAAC;QACH,CAAC,EACD,UAAU,EACV,OAAO,CACR,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { LifecyclePluginInstance } from '../../types';
|
|
2
|
+
export declare const MCP_DOCS_SERVER_HANDLER_ID = "mcp-docs-server-handler";
|
|
3
|
+
export declare function mcpServerPlugin(): Promise<LifecyclePluginInstance>;
|
|
4
|
+
export default mcpServerPlugin;
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/server/plugins/mcp/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,uBAAuB,EAExB,MAAM,gBAAgB,CAAC;AAOxB,eAAO,MAAM,0BAA0B,4BAA4B,CAAC;AAGpE,wBAAsB,eAAe,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAgCxE;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{fileURLToPath as d}from"node:url";import{dirname as p,join as f}from"node:path";import{logger as a}from"../../utils/index.js";import{filterIgnoredDefinitions as m,getCleanedUpDefinitions as l}from"./utils.js";const s="mcp-docs-server-handler",g=p(d(import.meta.url));async function u(){return{id:"mcp",async processContent(e,n){const t=await e.loadOpenApiDefinitions(n),r=await n.getConfig(),{mcp:i}=r;if(i?.hide)return;a.info("Configuring MCP servers...");const o=f(g,"./handlers/docs-mcp-handler.js");if(!i?.docs?.hide){const c=l(m(t,i?.docs?.ignore||[]));await D(e,o,c,i,e.outdir)}}}}var M=u;async function D(e,n,t,r,i){e.createRequestHandler(s,n),e.addApiRoute({slug:"/mcp",requestHandlerId:s,httpMethod:"all",getStaticData:async()=>({props:{config:{openapiDefinitions:t.map(o=>({definition:o.definition,relativePath:o.relativePath})),outdir:i,catalogName:r?.docs?.name||"Docs MCP Server"}}})}),a.info("Registered Docs MCP Server endpoint at /mcp")}export{s as MCP_DOCS_SERVER_HANDLER_ID,M as default,u as mcpServerPlugin};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/server/plugins/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAU1C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE/E,MAAM,CAAC,MAAM,0BAA0B,GAAG,yBAAyB,CAAC;AACpE,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1D,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,OAAO;QACL,EAAE,EAAE,KAAK;QAET,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,OAAyB;YACrD,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;YAEvB,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAE1C,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE,gCAAgC,CAAC,CAAC;YAE7E,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBACrB,MAAM,WAAW,GAAG,uBAAuB,CACzC,wBAAwB,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE,CAAa,CAAC,CACnF,CAAC;gBAEF,MAAM,qBAAqB,CACzB,OAAO,EACP,kBAAkB,EAClB,WAAW,EACX,GAAsB,EACtB,OAAO,CAAC,MAAM,CACf,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,eAAe,eAAe,CAAC;AAE/B,KAAK,UAAU,qBAAqB,CAClC,OAA8B,EAC9B,WAAmB,EACnB,WAAgC,EAChC,MAAuB,EACvB,MAAc;IAEd,OAAO,CAAC,oBAAoB,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAC;IAEtE,OAAO,CAAC,WAAW,CAAC;QAClB,IAAI,EAAE,MAAM;QACZ,gBAAgB,EAAE,0BAA0B;QAC5C,UAAU,EAAE,KAAK;QACjB,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YAC1B,KAAK,EAAE;gBACL,MAAM,EAAE;oBACN,kBAAkB,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBAC5C,UAAU,EAAE,GAAG,CAAC,UAAU;wBAC1B,YAAY,EAAE,GAAG,CAAC,YAAY;qBAC/B,CAAC,CAAC;oBACH,MAAM;oBACN,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,iBAAiB;iBACrD;aACF;SACF,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { McpServer } from '@redocly/mcp-typescript-sdk/server/mcp.js';
|
|
2
|
+
import { StreamableHTTPServerTransport } from '@redocly/mcp-typescript-sdk/server/streamableHttp.js';
|
|
3
|
+
import type { Implementation } from '@redocly/mcp-typescript-sdk/types.js';
|
|
4
|
+
import type { McpServerInstance, McpServerType } from '../types.js';
|
|
5
|
+
export declare abstract class BaseMcpServer {
|
|
6
|
+
#private;
|
|
7
|
+
protected server: McpServer;
|
|
8
|
+
protected transport: StreamableHTTPServerTransport;
|
|
9
|
+
constructor(config: Implementation);
|
|
10
|
+
protected abstract registerTools(): void;
|
|
11
|
+
initialize(): Promise<McpServerInstance>;
|
|
12
|
+
clearCleanupTimeout(): void;
|
|
13
|
+
private cleanupPromise?;
|
|
14
|
+
cleanup(): Promise<void>;
|
|
15
|
+
private performCleanup;
|
|
16
|
+
protected abstract getServerType(): McpServerType;
|
|
17
|
+
}
|
|
18
|
+
export declare function createMcpServerInstance<T extends BaseMcpServer>(serverClass: new (...args: any[]) => T, ...args: any[]): Promise<McpServerInstance>;
|
|
19
|
+
//# sourceMappingURL=base-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-server.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/plugins/mcp/servers/base-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AACtE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sDAAsD,CAAC;AAErG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIpE,8BAAsB,aAAa;;IACjC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC;IAC5B,SAAS,CAAC,SAAS,EAAE,6BAA6B,CAAC;gBAIvC,MAAM,EAAE,cAAc;IAOlC,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,IAAI;IAElC,UAAU,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAW9C,mBAAmB,IAAI,IAAI;IAO3B,OAAO,CAAC,cAAc,CAAC,CAAgB;IAEjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAShB,cAAc;IAkB5B,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,aAAa;CAClD;AAED,wBAAsB,uBAAuB,CAAC,CAAC,SAAS,aAAa,EACnE,WAAW,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EACtC,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,iBAAiB,CAAC,CAG5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{McpServer as t}from"@redocly/mcp-typescript-sdk/server/mcp.js";import{StreamableHTTPServerTransport as s}from"@redocly/mcp-typescript-sdk/server/streamableHttp.js";import{telemetry as i}from"../../../telemetry/index.js";class p{server;transport;#e;#r=!1;constructor(e){this.server=new t(e,{capabilities:{logging:{}}}),this.transport=new s({sessionIdGenerator:void 0})}async initialize(){return this.registerTools(),await this.server.connect(this.transport),{server:this.server,transport:this.transport,cleanup:this.cleanup.bind(this)}}clearCleanupTimeout(){this.#e&&(clearTimeout(this.#e),this.#e=void 0)}cleanupPromise;async cleanup(){return this.cleanupPromise?this.cleanupPromise:(this.cleanupPromise=this.performCleanup(),this.cleanupPromise)}async performCleanup(){if(!this.#r){this.#r=!0,this.clearCleanupTimeout();try{this.transport.close()}catch(e){throw i.sendMcpErrorMessage({server_type:this.getServerType(),message:e?.message||"Unknown cleanup error",stack:e?.stack||""}),e}}}}async function l(r,...e){return await new r(...e).initialize()}export{p as BaseMcpServer,l as createMcpServerInstance};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-server.js","sourceRoot":"","sources":["../../../../../../../src/server/plugins/mcp/servers/base-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AACtE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sDAAsD,CAAC;AAKrG,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,MAAM,OAAgB,aAAa;IACvB,MAAM,CAAY;IAClB,SAAS,CAAgC;IACnD,eAAe,CAAkB;IACjC,YAAY,GAAG,KAAK,CAAC;IAErB,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,SAAS,GAAG,IAAI,6BAA6B,CAAC;YACjD,kBAAkB,EAAE,SAAS;SAC9B,CAAC,CAAC;IACL,CAAC;IAID,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE1C,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;SACjC,CAAC;IACJ,CAAC;IAED,mBAAmB;QACjB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACnC,CAAC;IACH,CAAC;IAEO,cAAc,CAAiB;IAEvC,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,CAAC,mBAAmB,CAAC;gBAC5B,WAAW,EAAE,IAAI,CAAC,aAAa,EAAE;gBACjC,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,uBAAuB;gBAClD,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;aAC1B,CAAC,CAAC;YAEH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CAGF;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,WAAsC,EACtC,GAAG,IAAW;IAEd,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;IACxC,OAAO,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { OpenAPIDefinition } from '@redocly/openapi-docs/lib/types/open-api.js';
|
|
2
|
+
import type { DocsServerDependencies, McpServerType } from '../types.js';
|
|
3
|
+
import { BaseMcpServer } from './base-server.js';
|
|
4
|
+
export declare class DocsMcpServer extends BaseMcpServer {
|
|
5
|
+
private readonly dependencies;
|
|
6
|
+
constructor(dependencies: DocsServerDependencies & {
|
|
7
|
+
baseUrl: string;
|
|
8
|
+
headers: Record<string, string | string[] | undefined>;
|
|
9
|
+
outdir: string;
|
|
10
|
+
});
|
|
11
|
+
protected registerTools(): void;
|
|
12
|
+
protected getServerType(): McpServerType;
|
|
13
|
+
}
|
|
14
|
+
export declare function createDocsMcpServer(definitions: OpenAPIDefinition[], name: string, baseUrl: string, headers: Record<string, string | string[] | undefined>, outdir: string): Promise<import("../types.js").McpServerInstance>;
|
|
15
|
+
//# sourceMappingURL=docs-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs-server.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/plugins/mcp/servers/docs-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,qBAAa,aAAc,SAAQ,aAAa;IAE5C,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,sBAAsB,GAAG;QACtD,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;QACvD,MAAM,EAAE,MAAM,CAAC;KAChB;IAQH,SAAS,CAAC,aAAa,IAAI,IAAI;IAU/B,SAAS,CAAC,aAAa,IAAI,aAAa;CAGzC;AAED,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,iBAAiB,EAAE,EAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,EACtD,MAAM,EAAE,MAAM,oDAIf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{BaseMcpServer as n}from"./base-server.js";import{registerDocsTools as o}from"../docs-mcp/tools/index.js";import{McpServerType as c}from"../constants.js";class p extends n{dependencies;constructor(e){super({name:e.name,version:new Date().toISOString().slice(0,10)}),this.dependencies=e}registerTools(){o({server:this.server,definitions:this.dependencies.definitions,baseUrl:this.dependencies.baseUrl,outdir:this.dependencies.outdir,headers:this.dependencies.headers})}getServerType(){return c.Docs}}async function m(r,e,s,i,t){return await new p({definitions:r,name:e,baseUrl:s,headers:i,outdir:t}).initialize()}export{p as DocsMcpServer,m as createDocsMcpServer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs-server.js","sourceRoot":"","sources":["../../../../../../../src/server/plugins/mcp/servers/docs-server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,aAAa,IAAI,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE1E,MAAM,OAAO,aAAc,SAAQ,aAAa;IAE3B;IADnB,YACmB,YAIhB;QAED,KAAK,CAAC;YACJ,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SAC/C,CAAC,CAAC;QATc,iBAAY,GAAZ,YAAY,CAI5B;IAMH,CAAC;IAES,aAAa;QACrB,iBAAiB,CAAC;YAChB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW;YAC1C,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO;YAClC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;YAChC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO;SACnC,CAAC,CAAC;IACL,CAAC;IAES,aAAa;QACrB,OAAO,sBAAsB,CAAC,IAAI,CAAC;IACrC,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,WAAgC,EAChC,IAAY,EACZ,OAAe,EACf,OAAsD,EACtD,MAAc;IAEd,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAClF,OAAO,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { OpenAPIPath } from '@redocly/openapi-docs/src/types';
|
|
2
|
+
import type { McpServer } from '@redocly/mcp-typescript-sdk/server/mcp.js';
|
|
3
|
+
import type { StreamableHTTPServerTransport } from '@redocly/mcp-typescript-sdk/server/streamableHttp.js';
|
|
4
|
+
import type { OpenAPIDefinition } from '@redocly/openapi-docs/lib/types/open-api.js';
|
|
5
|
+
import { McpErrorCodes, McpServerType } from './constants';
|
|
6
|
+
type ObjectValues<T> = T[keyof T];
|
|
7
|
+
export type McpServerType = ObjectValues<typeof McpServerType>;
|
|
8
|
+
export type McpErrorCodeTypes = ObjectValues<typeof McpErrorCodes>;
|
|
9
|
+
export interface McpPath extends OpenAPIPath {
|
|
10
|
+
'x-mcp'?: XMcpConfig;
|
|
11
|
+
}
|
|
12
|
+
export interface XMcpConfig {
|
|
13
|
+
docs?: {
|
|
14
|
+
hide?: boolean;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export type McpEndpoint = {
|
|
18
|
+
'x-mcp'?: XMcpConfig;
|
|
19
|
+
[key: string]: any;
|
|
20
|
+
};
|
|
21
|
+
export type McpServerInstance = {
|
|
22
|
+
readonly server: McpServer;
|
|
23
|
+
readonly transport: StreamableHTTPServerTransport;
|
|
24
|
+
cleanup(): Promise<void>;
|
|
25
|
+
};
|
|
26
|
+
export type McpPluginConfig = {
|
|
27
|
+
readonly hide: boolean;
|
|
28
|
+
readonly docs: {
|
|
29
|
+
readonly hide: boolean;
|
|
30
|
+
readonly name: string;
|
|
31
|
+
readonly ignore: readonly string[];
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
export type DocsServerDependencies = {
|
|
35
|
+
definitions: OpenAPIDefinition[];
|
|
36
|
+
readonly name: string;
|
|
37
|
+
};
|
|
38
|
+
export type McpUserInfo = {
|
|
39
|
+
email?: string;
|
|
40
|
+
name?: string;
|
|
41
|
+
sub?: string;
|
|
42
|
+
aud?: string | string[];
|
|
43
|
+
client_id?: string;
|
|
44
|
+
scope?: string;
|
|
45
|
+
iat?: number;
|
|
46
|
+
exp?: number;
|
|
47
|
+
[key: string]: any;
|
|
48
|
+
};
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/server/plugins/mcp/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,sDAAsD,CAAC;AAC1G,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAErF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE3D,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAElC,MAAM,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,CAAC;AAC/D,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,CAAC;AAEnE,MAAM,WAAW,OAAQ,SAAQ,WAAW;IAC1C,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;CACH;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,6BAA6B,CAAC;IAClD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;KACpC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/server/plugins/mcp/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { McpUserInfo } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Extract JWT token from Authorization header
|
|
4
|
+
*/
|
|
5
|
+
export declare function extractTokenFromAuthHeader(authHeader?: string | string[]): string | null;
|
|
6
|
+
/**
|
|
7
|
+
* Decode and validate JWT token to get user information
|
|
8
|
+
*/
|
|
9
|
+
export declare function getUserInfoFromToken(token: string): McpUserInfo | null;
|
|
10
|
+
/**
|
|
11
|
+
* Get user info from MCP request headers
|
|
12
|
+
*/
|
|
13
|
+
export declare function getUserInfoFromHeaders(headers: Record<string, string | string[] | undefined>): McpUserInfo | null;
|
|
14
|
+
//# sourceMappingURL=jwt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/plugins/mcp/utils/jwt.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAOxF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAetE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GACrD,WAAW,GAAG,IAAI,CAOpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as n from"../../../web-server/jwt/jwt.js";function e(t){if(!t)return null;const r=Array.isArray(t)?t[0]:t;return!r||!r.startsWith("Bearer ")?null:r.substring(7)}function u(t){try{const{payload:r}=n.decode(t),o=Math.floor(Date.now()/1e3);return r.exp&&r.exp<o?null:r}catch(r){return console.error("Failed to decode JWT token:",r),null}}function i(t){const r=t.authorization||t.Authorization,o=e(r);return o?u(o):null}export{e as extractTokenFromAuthHeader,i as getUserInfoFromHeaders,u as getUserInfoFromToken};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../../../../../../src/server/plugins/mcp/utils/jwt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,gCAAgC,CAAC;AAItD;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,UAA8B;IACvE,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAE7B,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAC3E,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpE,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEtC,gCAAgC;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1C,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,CAAC,gBAAgB;QAC/B,CAAC;QAED,OAAO,OAAsB,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAsD;IAEtD,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;IAErD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { OpenAPIDefinition } from '@redocly/openapi-docs';
|
|
2
|
+
import type { XMcpConfig, McpEndpoint, McpServerType } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Extracts the x-mcp configuration from an MCP endpoint.
|
|
5
|
+
*
|
|
6
|
+
* This function safely retrieves the x-mcp extension property from an endpoint object.
|
|
7
|
+
* The x-mcp property contains server-specific configuration for MCP (Model Context Protocol) endpoints.
|
|
8
|
+
*
|
|
9
|
+
* @param endpoint - The MCP endpoint object to extract configuration from.
|
|
10
|
+
* @returns The x-mcp configuration object or undefined if not present.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* getXMcpConfig({ 'x-mcp': { gateway: { hide: true } } }); // { gateway: { hide: true } }
|
|
14
|
+
* getXMcpConfig({}); // undefined
|
|
15
|
+
*/
|
|
16
|
+
export declare function getXMcpConfig(endpoint: McpEndpoint): XMcpConfig | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Checks if an endpoint should be hidden for a specific server type.
|
|
19
|
+
*
|
|
20
|
+
* This function determines whether an MCP endpoint should be hidden based on the
|
|
21
|
+
* x-mcp configuration and the target server type (gateway or catalog).
|
|
22
|
+
*
|
|
23
|
+
* @param endpoint - The MCP endpoint to check.
|
|
24
|
+
* @param serverType - The server type to check visibility for ('gateway' or 'catalog').
|
|
25
|
+
* @returns `true` if the endpoint should be hidden, `false` otherwise.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* isEndpointHidden({ 'x-mcp': { docs: { hide: false } } }, 'docs'); // false
|
|
29
|
+
*/
|
|
30
|
+
export declare function isEndpointHidden(endpoint: McpEndpoint, serverType: McpServerType): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Checks endpoint visibility and removes x-mcp configuration from output.
|
|
33
|
+
*
|
|
34
|
+
* This function first checks if an endpoint should be hidden for the given server type.
|
|
35
|
+
* If the endpoint is accessible, it removes the x-mcp configuration to clean up the output.
|
|
36
|
+
* This is typically used to prepare endpoints for public API documentation.
|
|
37
|
+
*
|
|
38
|
+
* @param endpoint - The MCP endpoint to process.
|
|
39
|
+
* @param serverType - The server type to check visibility for.
|
|
40
|
+
* @returns `true` if the endpoint is accessible and processed, `false` if hidden.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* checkEndpointAndDeleteXMcp(endpoint, 'docs');
|
|
44
|
+
* // Returns true and removes x-mcp from endpoint if accessible
|
|
45
|
+
*/
|
|
46
|
+
export declare function checkEndpointAndDeleteXMcp(endpoint: McpEndpoint, serverType: McpServerType): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Checks if an OpenAPI definition should be hidden based on x-mcp configuration.
|
|
49
|
+
*
|
|
50
|
+
* This function examines the info section of an OpenAPI definition for x-mcp configuration
|
|
51
|
+
* and determines if the definition should be hidden for the specified server type.
|
|
52
|
+
* If no server type is provided, it checks if the definition is hidden for any server type.
|
|
53
|
+
*
|
|
54
|
+
* @param info - The OpenAPI info object to check.
|
|
55
|
+
* @param serverType - Optional server type to check ('docs' or 'gateway').
|
|
56
|
+
* @returns `true` if the definition should be hidden, `false` otherwise.
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* isDefinitionHidden({ 'x-mcp': { docs: { hide: false } } }); // false
|
|
60
|
+
*/
|
|
61
|
+
export declare function isDefinitionHidden(info: OpenAPIDefinition['info'], serverType?: McpServerType): boolean;
|
|
62
|
+
//# sourceMappingURL=xmcp-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xmcp-utils.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/plugins/mcp/utils/xmcp-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE1E;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,CAE3E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,GAAG,OAAO,CAE1F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,WAAW,EACrB,UAAU,EAAE,aAAa,GACxB,OAAO,CAST;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAC/B,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAWT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function r(e){return e?.["x-mcp"]}function i(e,t){return!!r(e)?.[t]?.hide}function c(e,t){return i(e,t)?!1:(e&&delete e["x-mcp"],!0)}function o(e,t){if(!e)return!1;const n=e["x-mcp"];return!n||typeof n!="object"?!1:t?n[t]?.hide===!0:n.docs?.hide}export{c as checkEndpointAndDeleteXMcp,r as getXMcpConfig,o as isDefinitionHidden,i as isEndpointHidden};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xmcp-utils.js","sourceRoot":"","sources":["../../../../../../../src/server/plugins/mcp/utils/xmcp-utils.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAAC,QAAqB;IACjD,OAAO,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAqB,EAAE,UAAyB;IAC/E,OAAO,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,0BAA0B,CACxC,QAAqB,EACrB,UAAyB;IAEzB,IAAI,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,uBAAuB;IACvB,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;IAEvC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAA+B,EAC/B,UAA0B;IAE1B,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAExB,MAAM,IAAI,GAAI,IAAY,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAEpD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;IACzC,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { ApiFunctionsUser, RbacConfig } from '@redocly/config';
|
|
2
|
+
import type { ProcessContentActions } from '../../types';
|
|
3
|
+
export type Definitions = Awaited<ReturnType<ProcessContentActions['loadOpenApiDefinitions']>>;
|
|
4
|
+
/**
|
|
5
|
+
* Filters out localizations and definitions with no public paths.
|
|
6
|
+
*
|
|
7
|
+
* This function removes definitions that are localization files (starting with 'l10n' or 'i18n')
|
|
8
|
+
* and definitions that don't have any public API paths. It also cleans up the remaining
|
|
9
|
+
* definitions by removing internal parsing artifacts.
|
|
10
|
+
*
|
|
11
|
+
* @param definitions - Array of OpenAPI definitions to filter.
|
|
12
|
+
* @returns Filtered array of definitions with only those containing public paths.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* getCleanedUpDefinitions([
|
|
16
|
+
* { relativePath: 'l10n/en.yaml', definition: { paths: {} } },
|
|
17
|
+
* { relativePath: 'api.yaml', definition: { paths: { '/users': {} } } }
|
|
18
|
+
* ]); // Returns only the api.yaml definition
|
|
19
|
+
*/
|
|
20
|
+
export declare function getCleanedUpDefinitions(definitions: Definitions): Definitions;
|
|
21
|
+
/**
|
|
22
|
+
* Filters OpenAPI definitions based on user RBAC permissions.
|
|
23
|
+
*
|
|
24
|
+
* This function checks each definition against the user's role-based access control
|
|
25
|
+
* permissions and filters out definitions the user doesn't have access to. It also
|
|
26
|
+
* applies deep filtering to the definition content based on the user's permissions.
|
|
27
|
+
*
|
|
28
|
+
* @param definitions - Array of OpenAPI definitions to filter.
|
|
29
|
+
* @param user - The user object containing role and permission information.
|
|
30
|
+
* @param rbac - RBAC configuration defining access rules.
|
|
31
|
+
* @param requiresLogin - Whether login is required for access.
|
|
32
|
+
* @returns Array of definitions the user has access to with filtered content.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* filterDefinitionsByRbac(definitions, user, rbac, true);
|
|
36
|
+
* // Returns only definitions the user can access with filtered content
|
|
37
|
+
*/
|
|
38
|
+
export declare function filterDefinitionsByRbac(definitions: Definitions, user: ApiFunctionsUser, rbac: RbacConfig, requiresLogin: boolean): Definitions;
|
|
39
|
+
/**
|
|
40
|
+
* Filters out definitions that match ignored paths from redocly.yaml config.
|
|
41
|
+
*
|
|
42
|
+
* This function uses picomatch to check if any definition's relative path matches
|
|
43
|
+
* any of the ignored path patterns specified in the redocly configuration.
|
|
44
|
+
* Definitions matching these patterns will be excluded from the result.
|
|
45
|
+
*
|
|
46
|
+
* @param definitions - Array of OpenAPI definitions to filter.
|
|
47
|
+
* @param ignoredPaths - Array of glob patterns for paths to ignore.
|
|
48
|
+
* @returns Array of definitions that don't match any ignored path patterns.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* filterIgnoredDefinitions(definitions, ['path/to/ignore']);
|
|
52
|
+
* // Returns definitions not matching test or internal path patterns
|
|
53
|
+
*/
|
|
54
|
+
export declare function filterIgnoredDefinitions(definitions: Definitions, ignoredPaths: string[]): Definitions;
|
|
55
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/server/plugins/mcp/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAU5D,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;AAoC/F;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,CAc7E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,gBAAgB,EACtB,IAAI,EAAE,UAAU,EAChB,aAAa,EAAE,OAAO,GACrB,WAAW,CAkBb;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,MAAM,EAAE,GACrB,WAAW,CAEb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{join as f}from"node:path";import u from"picomatch";import{PUBLIC_API_DEFINITIONS_FOLDER as h,L10N_DIR_NAME as c,I18N_DIR_NAME as p}from"../../constants/common.js";import{canDownloadApiDefinition as l,filterDataByAccessDeep as D}from"../../utils/rbac.js";function s(i){if(typeof i!="object"||i===null)return i;if(Array.isArray(i))return i.map(s);const n={};for(const t in i)if(Object.hasOwn(i,t)){if(t.toString().startsWith("x-parsed-"))continue;n[t]=s(i[t])}return n}function _(i){return i.reduce((n,t)=>(t.relativePath.startsWith(c)||t.relativePath.startsWith(p)||t.definition?.paths&&Object.keys(t.definition.paths).length>0&&n.push({...t,definition:s(t.definition)}),n),[])}function d(i,n,t,e){return i.reduce((r,o)=>{if(!l(f(h,o.relativePath),t,e,n))return r;const a=D(o.definition,n,t,e);return r.push({...o,definition:a}),r},[])}function N(i,n){return i.filter(({relativePath:t})=>!u(n||[])(t))}export{d as filterDefinitionsByRbac,N as filterIgnoredDefinitions,_ as getCleanedUpDefinitions};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../src/server/plugins/mcp/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Context } from 'hono';
|
|
2
|
+
import type { ApiRoute } from '../../../types';
|
|
3
|
+
import { Store } from '../../../store.js';
|
|
4
|
+
export declare function runMcpWorker(route: ApiRoute, ctx: Context, store: Store): Promise<Response>;
|
|
5
|
+
//# sourceMappingURL=run-api-routes-worker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-api-routes-worker.d.ts","sourceRoot":"","sources":["../../../../../../../src/server/plugins/mcp/workers/run-api-routes-worker.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAS1C,wBAAsB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAoDjG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as p from"workerpool";import{withPathPrefix as l}from"@redocly/theme/core/utils";import{TimeoutExceededError as f}from"../../../web-server/routes/api-routes/api-routes-errors.js";import m from"../../../utils/reporter/logger.js";import{serializeRequest as S}from"../../../utils/api-routes/serialize-request.js";import{API_ROUTES_WORKER_KEY as g}from"../../../workers/api-routes-worker-pool.js";import{mcpWorkers as h}from"../../../workers/mcp-worker-pool.js";const w=10;async function D(o,a,e){const t=a.get("auth"),i=await e.resolveRouteStaticData(o)||{},s=l(o.slug);try{const{status:r,headers:n,body:c,loggerStickyState:u}=await h.exec(g,[{serverOutDir:e.serverOutDir,slug:s,requestHandlerId:o.requestHandlerId,maxResponseSizeMB:w,ctxData:{user:{teams:t.teams,email:t.claims.email,claims:t.claims,idpAccessToken:t.idpAccessToken,idpId:t.claims.idpId,isAuthenticated:t.isAuthenticated},config:e.config},staticData:{...i,props:{...i.props,routeSlug:s,outdir:e.outdir}},req:await S(a.req.raw),loggerStickyState:m.getStickyState()}]);m.setStickyState(u);const d=c.data?Buffer.from(c.data):null;return new Response(d,{status:r,headers:n})}catch(r){throw r instanceof p.Promise.TimeoutError?new f("Timeout exceeded"):r}}export{D as runMcpWorker};
|