@redocly/redoc-reef 0.140.0-next.6 → 0.140.0-next.8
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 +76 -0
- package/dist/api-schemas/mcp-fetch-count.d.ts +2 -18
- package/dist/api-schemas/otel-traces.d.ts +7 -1345
- package/dist/api-schemas/otel-traces.js +1 -1
- package/dist/api-schemas/search-facets.d.ts +3 -31
- package/dist/api-schemas/search.d.ts +6 -52
- package/dist/cli/build/index.js +1 -1
- package/dist/cli/eject/resolveEjectParams.js +1 -1
- package/dist/client/app/markdoc/custom-components/openapi/openapi-code-sample.d.ts +2 -0
- package/dist/client/app/markdoc/custom-components/openapi/openapi-code-sample.js +1 -1
- package/dist/client/app/useGlobalData.d.ts +1 -1
- package/dist/client/providers/post-message/use-post-message.d.ts +1 -1
- package/dist/compiled/@redocly/pii/index.mjs +1 -0
- package/dist/compiled/@redocly/pii/package.json +1 -1
- package/dist/markdoc/tags/openapi-code-sample.js +1 -1
- package/dist/server/api-routes/execute-api-route.js +1 -1
- package/dist/server/api-routes/run-api-routes-worker.js +1 -1
- package/dist/server/config/env-config.d.ts +26 -24
- package/dist/server/config/env-schema.d.ts +87 -326
- package/dist/server/config/env-schemas/api-urls.d.ts +2 -14
- package/dist/server/config/env-schemas/auth.d.ts +10 -32
- package/dist/server/config/env-schemas/catalog.d.ts +6 -9
- package/dist/server/config/env-schemas/database.d.ts +2 -8
- package/dist/server/config/env-schemas/environment-detection.d.ts +20 -18
- package/dist/server/config/env-schemas/feature-flags.d.ts +29 -33
- package/dist/server/config/env-schemas/feature-flags.js +1 -1
- package/dist/server/config/env-schemas/organization-project.d.ts +3 -21
- package/dist/server/config/env-schemas/scorecards.d.ts +2 -6
- package/dist/server/config/env-schemas/search.d.ts +9 -15
- package/dist/server/config/env-schemas/server-config.d.ts +6 -31
- package/dist/server/config/env-schemas/site.d.ts +1 -5
- package/dist/server/config/env-schemas/ssr.d.ts +7 -12
- package/dist/server/config/env-schemas/telemetry.d.ts +1 -7
- package/dist/server/esbuild/plugins/themes-resolver.js +3 -3
- package/dist/server/external-plugins/resolve-external-plugins.js +1 -1
- package/dist/server/node-bundle-entry.js +1 -1
- package/dist/server/plugins/api-docs/definition-access.d.ts +22 -0
- package/dist/server/plugins/api-docs/definition-access.js +1 -0
- package/dist/server/plugins/api-docs/index.js +1 -1
- package/dist/server/plugins/api-docs/options.js +1 -1
- package/dist/server/plugins/api-docs/spec-download.api.js +1 -1
- package/dist/server/plugins/config-parser/index.js +1 -1
- package/dist/server/plugins/markdown/attribute-resolvers/resolve-openapi-code-samples.js +1 -1
- package/dist/server/plugins/mcp/codemode/tools/describe-tools.d.ts +1 -1
- package/dist/server/plugins/mcp/codemode/tools/describe-tools.js +1 -3
- package/dist/server/plugins/mcp/handlers/docs-mcp-handler.js +1 -1
- package/dist/server/plugins/mcp/handlers/errors.d.ts +0 -5
- package/dist/server/plugins/mcp/handlers/errors.js +1 -1
- package/dist/server/plugins/mcp/handlers/handle-mcp-request.js +1 -1
- package/dist/server/plugins/mcp/handlers/mcp-credentials-handler.js +1 -1
- package/dist/server/plugins/mcp/servers/docs-server.js +1 -1
- package/dist/server/plugins/mcp/servers/mcp-server.js +2 -2
- package/dist/server/plugins/mcp/types.d.ts +10 -0
- package/dist/server/plugins/mcp/utils/available-tools.d.ts +5 -0
- package/dist/server/plugins/mcp/utils/available-tools.js +1 -0
- package/dist/server/plugins/mcp/workers/worker-context.d.ts +4 -0
- package/dist/server/plugins/mcp/workers/worker-context.js +1 -0
- package/dist/server/plugins/scorecard-classic/template/Grid/GridHeader.js +3 -3
- package/dist/server/store-config.d.ts +33 -0
- package/dist/server/store-config.js +1 -0
- package/dist/server/store.d.ts +10 -15
- package/dist/server/store.js +1 -1
- package/dist/server/tools/notifiers/formatter.js +1 -1
- package/dist/server/tools/notifiers/helpers/colors.d.ts +1 -1
- package/dist/server/types/plugins/api-routes.d.ts +4 -1
- package/dist/server/utils/envs/env-boolean-string.d.ts +9 -3
- package/dist/server/utils/envs/get-api-route-allowed-env-variables.d.ts +2 -0
- package/dist/server/utils/envs/get-api-route-allowed-env-variables.js +1 -1
- package/dist/server/utils/envs/interpolate-env-variables.d.ts +5 -1
- package/dist/server/utils/envs/interpolate-env-variables.js +1 -1
- package/dist/server/utils/envs/load-env-variables.js +1 -1
- package/dist/server/utils/envs/replace-env-variables-deep.d.ts +17 -9
- package/dist/server/utils/envs/replace-env-variables-deep.js +1 -1
- package/dist/server/utils/rbac.d.ts +2 -1
- package/dist/server/utils/rbac.js +1 -1
- package/dist/server/web-server/middleware/jsonValidatorMiddleware.d.ts +5 -325
- package/dist/server/workers/mcp-tool-worker-methods.d.ts +7 -0
- package/dist/server/workers/mcp-tool-worker-methods.js +1 -0
- package/dist/server/workers/mcp-tool-worker-pool.d.ts +0 -1
- package/dist/server/workers/mcp-tool-worker-pool.js +1 -1
- package/dist/server/workers/mcp-tool-worker.js +1 -1
- package/dist/server/workers/types.d.ts +4 -8
- package/dist/server/workers/worker-config.d.ts +33 -0
- package/dist/server/workers/worker-config.js +1 -0
- package/package.json +8 -8
- package/dist/compiled/@redocly/pii/index.js +0 -1
- package/dist/server/plugins/mcp/utils/available-sandbox-tools.d.ts +0 -4
- package/dist/server/plugins/mcp/utils/available-sandbox-tools.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import y from"path";import O from"picomatch";import"../node-crypto-polyfill.js";import{REDOCLY_TEAMS_RBAC as T,REDOCLY_ROUTE_RBAC as R}from"@redocly/config";import{MCP_ROUTE as U,PUBLIC_MCP_ROUTE as k}from"@redocly/theme/core/constants/mcp";import{ServerRoutes as w}from"../../constants/api.js";import{DEFAULT_ANONYMOUS_VISITOR_TEAM as D,PUBLIC_RBAC_SCOPE_ITEM as _,RBAC_ALL_OTHER_TEAMS as l,DEFAULT_RBAC_SCOPE as x,GRAPHQL_SPEC_SLUG as B}from"../../constants/common.js";import{DEPRECATED_PUBLIC_API_DEFINITIONS_FOLDER as g,PUBLIC_API_DEFINITIONS_FOLDER as I,PUBLIC_ASSETS_FOLDER as b,RUNTIME_RESOURCES_DIR as $,SCORECARD_CLASSIC_FOLDER as W,SITEMAP_FILE_NAME as v,LLMS_TXT_FILE_NAME as Y}from"../constants/common.js";import{MCP_CREDENTIALS_ROUTE as G}from"../constants/mcp.js";import{ANONYMOUS_AUTH_DETAILS as H}from"../constants/rbac.js";import{removeTrailingSlash as S}from"../../utils/url/remove-trailing-slash.js";import{removeLeadingSlash as z}from"../../utils/url/remove-leading-slash.js";import{parsePathVersions as K}from"../../utils/path/parse-path-versions.js";import{reporter as V}from"../tools/notifiers/reporter.js";import{bold as J}from"../tools/notifiers/helpers/colors.js";import{shaDirPathShort as Q}from"../utils/crypto/sha-dir-path-short.js";import{isTruthy as X}from"../../utils/guards/is-truthy.js";import{isPathInFolder as C}from"../../utils/path/is-path-in-folder.js";import{canExpandConfig as Z,expandRbacConfig as q,getTeamFolderDefaults as tt,parseTeamFoldersTemplate as et,parseTeamNameTemplate as rt}from"./rbac-expand.js";import{getUserParamsFromCookies as nt}from"../web-server/auth.js";import{getDeeperGlobPattern as ot}from"./globs.js";import{EntitlementsProvider as st}from"../entitlements/entitlements-provider.js";const j=["NONE","READ","TRIAGE","WRITE","MAINTAIN","ADMIN"],ct=new Set(["x-parsed-md-description","x-parsed-md-summary"]),at=new Set(Object.values(w).map(t=>S(t.split(":")[0])));function wt(t,e){const r=j.indexOf(t.toUpperCase()),n=j.indexOf(e.toUpperCase());return r>n?t:e}const P={};function F(t,e){if(!t?.content)return _;const r=t.content,{slug:n,fsPath:o}=e;if(!n&&!o)return _;const s=f=>{const E=`slug:${f}`,p=P[E]??O(f);P[E]=p;const A=`fsPath:${f}`,L=P[A]??O(z(f));return P[A]=L,!!(n&&p(n))||!!(o&&L(o))};if(ut(n||o||"")&&Object.keys(r).filter(p=>s(p)).length===0)return r[x]||_;const i=Object.keys(r).filter(f=>s(f));if(i.length==0)return _;const u=i.map(f=>O.scan(f,{tokens:!0,parts:!0}));let h=u[0];for(let f=1;f<u.length;f++)h=ot(h,u[f]);return r[h.input]}function N(t,e,r){const n=r?[...e,r]:e,o=[];for(const s of n)t[s]?o.push(t[s]):t[l]&&s!==r&&o.push(t[l]);return o.some(s=>s.toLowerCase()!=="none")}function Bt(t,e,r={},n=!1){if(n&&Object.keys(r).length===0)return e.isAuthenticated;const o=r.features?.[t];return o?N(o,e.teams):!0}function bt(t,e){return d(t,H,e.access?.rbac||{},e.access?.requiresLogin||!1)}function d(t,e={},r={},n=!1){if(t.slug&&typeof t.slug=="string"&&at.has(S(t.slug))||(t.slug===U||t.slug===k||t.slug===G)&&st.instance().canAccessFeature("mcp"))return!0;if(n&&Object.keys(r).length===0)return!!e.isAuthenticated;const o=q(r,e.teams||[]),s=t[T]||F(o,t[R]||{});return Object.keys(s||{}).length===0?!1:Object.keys(s).length===1&&s[l]&&s[l].toLowerCase()!=="none"?!0:N(s,e?.teams||[],e?.email)}function $t(t,e,r,n,o){if(!t.startsWith(I)&&!t.startsWith(g))return!0;if(o){const u={[T]:o.rbac,[R]:{slug:o.slug,fsPath:o.sourcePath}};return d(u,n,e,r)}const s=t.replace(new RegExp(`^${I}/`),"").replace(new RegExp(`^${g}/`),"").replace(new RegExp(`^${B}/`),""),a=s==="."?"":s,i={[R]:{slug:t,fsPath:a},slug:t};return d(i,n,e,r)}function Wt(t,e,r,n,o){if(!C(t,b))return[`/${v}`,`/${Y}`].includes(t)||[$,W].some(A=>C(t,A));const s=t.match(/\..{64}\.([A-Fa-f0-9]{8})\.[^.]+$/)?.[1];if(!s)return!0;const c=n[s];if(!c)return!0;const{base:a,ext:i}=y.parse(t),u=a.split(".")[0],h=i.split(".").join(""),E=c==="."?"":c,p={[R]:{slug:t,fsPath:y.posix.join(E,`${u}.${h}`)},slug:t};return d(p,o,e,r)}async function vt(t,e){const{isAuthenticated:r=!1,idpAccessToken:n,federatedAccessToken:o,federatedIdToken:s,...c}=await nt(t,e),{teams:a=[]}=c;let i;return r?i=a.filter(u=>u!==D):i=[D],{isAuthenticated:r,idpAccessToken:n,teams:i,claims:c}}function M(t,e,r={},n=!1){if(!t)return t;if(Array.isArray(t)){const o=[];for(const s of t){const c=M(s,e,r,n);c!==void 0&&o.push(c)}return o}if(typeof t=="object"){if(!d(t,e,r,n))return;let o=!1;const s={};for(const c in t){if(c===T||c===R)continue;if(ct.has(c)){s[c]=t[c];continue}const a=M(t[c],e,r,n);if(!t.link&&(c==="items"||c==="menu"&&t.type==="tab")&&Array.isArray(a)&&a.length===0&&t[c].length!==0){o=!0;continue}a!==void 0&&(s[c]=a),c==="paths"&&it(a)&&ft(a)}return o?void 0:s}return t}function Yt(t){return typeof t=="string"?t.split(" ").filter(Boolean):Array.isArray(t)?t.map(e=>e.toString()):[]}function Gt(t,e){if(!e)return;const r=e.content;if(!r)return e;const n=Object.entries(r).flatMap(([s,c])=>s===x?[[s,c]]:[[s,c]].concat(t.localeFolders.map(a=>[s.startsWith("/")?`/${a.toLocaleLowerCase()}${s}`:y.posix.join(t.localizationFolder,a,s),c]))),o=Object.fromEntries(n);return{...e,content:o}}async function Ht(t,e){if(!e)return{};const r={},n=new Set(t.scan().flatMap(({relativePath:o})=>{const{versionFolderPath:s}=K(o)||{},c=y.dirname(o);return s?[s,c]:c}));for(const o of n)r[Q(o)]=o;return r}const m=t=>typeof t=="object"&&t!==null&&!Array.isArray(t);function it(t){return m(t)&&Object.keys(t).length>0}function ft(t){for(const e of Object.keys(t)){const r=t[e];m(r)&&Object.keys(r).length===0&&delete t[e]}}function ut(t){return t?t.split("/").filter(Boolean).some(r=>r.startsWith(".")):!1}const lt=t=>{if(t&&m(t)&&("content"in t&&m(t.content)||"reunite"in t&&m(t.reunite)||"features"in t&&m(t.features)||t.teamFolders&&t.teamNamePatterns)){const e=Object.values(t.content||{});if(e.length===0)return!0;if(e.every(m))return e.every(r=>Object.values(r).every(n=>typeof n=="string"))}return!1},zt=async t=>{if(t){if(Object.keys(t).length===0)return{};if(lt(t))return mt(t);await V.panicOnContentError(`You are using an incorrect format of ${J("rbac:")} configuration. See: https://redocly.com/docs/realm/access`)}},mt=t=>{const e={...t};if(e.content){const r={};for(const n in e.content)if(e.content[n]!==void 0){const o=S(n);r[o]=e.content[n]}e.content=r}return e};function Kt(t,e){const r=t.fsPath,n=t.slug,o=[],s=Z(e)&&(r||n)?et(e,[r,n].filter(X)):null;if(s){const a=e?.teamNamePatterns?.map(i=>i.replace("{teamPathSegment}",s.teamPathSegment).replace("{projectRole}","read"))??[];o.push(...a)}const c=F(s?{content:{...tt(e),...e.content}}:e,t);return o.push(...pt(c)),ht(e,o)}function pt(t){if(!t)return[];const e=[],r=l in t?{authenticated:t[l],anonymous:t[l]}:{};for(const[n,o]of Object.entries({...r,...t}))o.toLowerCase()!=="none"&&n!==l&&e.push(n);return e}function ht(t,e){return e.map(n=>rt(t,n)??{teamName:n}).map(n=>n.projectRole&&n.projectRole!=="READ"?n.teamName?.toLowerCase().replace(n.projectRole?.toLowerCase?.()??"","read")??"":n.teamName?.toLowerCase()??"")}export{j as PROJECT_ROLES_ORDERED_BY_ACCESS_LEVEL,Gt as applyL10nToRbacConfig,Wt as canAccessAsset,Bt as canAccessFeature,d as canAccessResource,$t as canDownloadApiDefinition,ht as expandTeamsForRead,pt as extractTeamsFromScopeItems,M as filterDataByAccessDeep,vt as getAuthDetailsFromCookies,wt as getHigherRole,Kt as getRbacTeamsListForResource,F as getScopeItemsForResource,N as hasScopeAccess,lt as isRbacConfigValid,bt as isResourcePubliclyAccessible,mt as normalizeRbacConfig,zt as parseRbacConfig,Yt as parseTeamClaimToArray,Ht as resolveDirectoryHashes};
|
|
@@ -4,333 +4,13 @@ import type { ZodSchema } from 'zod';
|
|
|
4
4
|
* in the 400 response only in develop mode.
|
|
5
5
|
*/
|
|
6
6
|
export declare function jsonValidatorMiddleware<T extends ZodSchema>(schema: T): import("hono").MiddlewareHandler<import("hono").Env, string, {
|
|
7
|
-
in: (undefined extends (T extends
|
|
8
|
-
json?: ([T extends
|
|
7
|
+
in: (undefined extends (T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod/v4/core").input<T> : never) ? true : false) extends true ? {
|
|
8
|
+
json?: ([T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod/v4/core").input<T> : never] extends [any] ? T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod/v4/core").input<T> : never : [Exclude<T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod/v4/core").input<T> : never, undefined>] extends [never] ? {} : [Exclude<T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod/v4/core").input<T> : never, undefined>] extends [object] ? undefined extends (T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod/v4/core").input<T> : never) ? (((Exclude<T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod/v4/core").input<T> : never, (T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod/v4/core").input<T> : never) & undefined> extends infer T_3 ? { [K in keyof T_3]: ([Exclude<T_3[K], undefined>] extends [string] ? [string & Exclude<T_3[K], undefined>] extends [import("hono/utils/types").UnionToIntersection<string & Exclude<T_3[K], undefined>>] ? false : true : false) extends true ? T_3[K] : ([unknown] extends [T_3[K]] ? false : undefined extends T_3[K] ? true : false) extends true ? T_3[K] : Target extends "form" ? T$1 | T$1[] : Target extends "query" ? string | string[] : Target extends "param" ? string : Target extends "header" ? string : Target extends "cookie" ? string : unknown; } : never) extends infer T_2 ? { [K in keyof T_2]: T_2[K]; } : never) extends infer T_1 ? { [K in keyof T_1]: T_1[K]; } : never) | ((T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod/v4/core").input<T> : never) & undefined) : (((T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod/v4/core").input<T> : never) extends infer T_6 ? { [K in keyof T_6]: ([Exclude<T_6[K], undefined>] extends [string] ? [string & Exclude<T_6[K], undefined>] extends [import("hono/utils/types").UnionToIntersection<string & Exclude<T_6[K], undefined>>] ? false : true : false) extends true ? T_6[K] : ([unknown] extends [T_6[K]] ? false : undefined extends T_6[K] ? true : false) extends true ? T_6[K] : Target extends "form" ? T$1 | T$1[] : Target extends "query" ? string | string[] : Target extends "param" ? string : Target extends "header" ? string : Target extends "cookie" ? string : unknown; } : never) extends infer T_5 ? { [K in keyof T_5]: T_5[K]; } : never) extends infer T_4 ? { [K in keyof T_4]: T_4[K]; } : never : {}) | undefined;
|
|
9
9
|
} : {
|
|
10
|
-
json: [T extends
|
|
10
|
+
json: [T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod/v4/core").input<T> : never] extends [any] ? T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod/v4/core").input<T> : never : [Exclude<T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod/v4/core").input<T> : never, undefined>] extends [never] ? {} : [Exclude<T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod/v4/core").input<T> : never, undefined>] extends [object] ? undefined extends (T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod/v4/core").input<T> : never) ? (((Exclude<T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod/v4/core").input<T> : never, (T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod/v4/core").input<T> : never) & undefined> extends infer T_3 ? { [K in keyof T_3]: ([Exclude<T_3[K], undefined>] extends [string] ? [string & Exclude<T_3[K], undefined>] extends [import("hono/utils/types").UnionToIntersection<string & Exclude<T_3[K], undefined>>] ? false : true : false) extends true ? T_3[K] : ([unknown] extends [T_3[K]] ? false : undefined extends T_3[K] ? true : false) extends true ? T_3[K] : Target extends "form" ? T$1 | T$1[] : Target extends "query" ? string | string[] : Target extends "param" ? string : Target extends "header" ? string : Target extends "cookie" ? string : unknown; } : never) extends infer T_2 ? { [K in keyof T_2]: T_2[K]; } : never) extends infer T_1 ? { [K in keyof T_1]: T_1[K]; } : never) | ((T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod/v4/core").input<T> : never) & undefined) : (((T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod/v4/core").input<T> : never) extends infer T_6 ? { [K in keyof T_6]: ([Exclude<T_6[K], undefined>] extends [string] ? [string & Exclude<T_6[K], undefined>] extends [import("hono/utils/types").UnionToIntersection<string & Exclude<T_6[K], undefined>>] ? false : true : false) extends true ? T_6[K] : ([unknown] extends [T_6[K]] ? false : undefined extends T_6[K] ? true : false) extends true ? T_6[K] : Target extends "form" ? T$1 | T$1[] : Target extends "query" ? string | string[] : Target extends "param" ? string : Target extends "header" ? string : Target extends "cookie" ? string : unknown; } : never) extends infer T_5 ? { [K in keyof T_5]: T_5[K]; } : never) extends infer T_4 ? { [K in keyof T_4]: T_4[K]; } : never : {};
|
|
11
11
|
};
|
|
12
12
|
out: {
|
|
13
|
-
json: T extends
|
|
13
|
+
json: T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").output<T> : T extends import("zod/v4/core").$ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> ? import("zod").infer<T> : never;
|
|
14
14
|
};
|
|
15
|
-
},
|
|
16
|
-
success: boolean;
|
|
17
|
-
error: ({
|
|
18
|
-
path: (string | number)[];
|
|
19
|
-
message: string;
|
|
20
|
-
code: "custom";
|
|
21
|
-
params?: {
|
|
22
|
-
[x: string]: any;
|
|
23
|
-
} | undefined;
|
|
24
|
-
fatal?: boolean | undefined;
|
|
25
|
-
} | {
|
|
26
|
-
path: (string | number)[];
|
|
27
|
-
message: string;
|
|
28
|
-
code: "invalid_arguments";
|
|
29
|
-
argumentsError: {
|
|
30
|
-
name: string;
|
|
31
|
-
stack?: string;
|
|
32
|
-
cause?: import("hono/utils/types").JSONValue | undefined;
|
|
33
|
-
issues: ({
|
|
34
|
-
path: (string | number)[];
|
|
35
|
-
message: string;
|
|
36
|
-
code: "custom";
|
|
37
|
-
params?: {
|
|
38
|
-
[x: string]: any;
|
|
39
|
-
} | undefined;
|
|
40
|
-
fatal?: boolean | undefined;
|
|
41
|
-
} | /*elided*/ any | {
|
|
42
|
-
path: (string | number)[];
|
|
43
|
-
message: string;
|
|
44
|
-
code: "invalid_date";
|
|
45
|
-
fatal?: boolean | undefined;
|
|
46
|
-
} | {
|
|
47
|
-
path: (string | number)[];
|
|
48
|
-
message: string;
|
|
49
|
-
received: string | number;
|
|
50
|
-
code: "invalid_enum_value";
|
|
51
|
-
options: (string | number)[];
|
|
52
|
-
fatal?: boolean | undefined;
|
|
53
|
-
} | {
|
|
54
|
-
path: (string | number)[];
|
|
55
|
-
message: string;
|
|
56
|
-
code: "invalid_intersection_types";
|
|
57
|
-
fatal?: boolean | undefined;
|
|
58
|
-
} | {
|
|
59
|
-
path: (string | number)[];
|
|
60
|
-
message: string;
|
|
61
|
-
code: "invalid_literal";
|
|
62
|
-
expected: import("hono/utils/types").JSONValue;
|
|
63
|
-
received: import("hono/utils/types").JSONValue;
|
|
64
|
-
fatal?: boolean | undefined;
|
|
65
|
-
} | {
|
|
66
|
-
path: (string | number)[];
|
|
67
|
-
message: string;
|
|
68
|
-
code: "invalid_return_type";
|
|
69
|
-
returnTypeError: /*elided*/ any;
|
|
70
|
-
fatal?: boolean | undefined;
|
|
71
|
-
} | {
|
|
72
|
-
path: (string | number)[];
|
|
73
|
-
message: string;
|
|
74
|
-
code: "invalid_string";
|
|
75
|
-
validation: import("zod").StringValidation;
|
|
76
|
-
fatal?: boolean | undefined;
|
|
77
|
-
} | {
|
|
78
|
-
path: (string | number)[];
|
|
79
|
-
message: string;
|
|
80
|
-
code: "invalid_type";
|
|
81
|
-
expected: import("zod").ZodParsedType;
|
|
82
|
-
received: import("zod").ZodParsedType;
|
|
83
|
-
fatal?: boolean | undefined;
|
|
84
|
-
} | {
|
|
85
|
-
path: (string | number)[];
|
|
86
|
-
message: string;
|
|
87
|
-
code: "invalid_union_discriminator";
|
|
88
|
-
options: (string | number | boolean | null)[];
|
|
89
|
-
fatal?: boolean | undefined;
|
|
90
|
-
} | {
|
|
91
|
-
path: (string | number)[];
|
|
92
|
-
message: string;
|
|
93
|
-
code: "invalid_union";
|
|
94
|
-
unionErrors: /*elided*/ any[];
|
|
95
|
-
fatal?: boolean | undefined;
|
|
96
|
-
} | {
|
|
97
|
-
path: (string | number)[];
|
|
98
|
-
message: string;
|
|
99
|
-
code: "not_finite";
|
|
100
|
-
fatal?: boolean | undefined;
|
|
101
|
-
} | {
|
|
102
|
-
path: (string | number)[];
|
|
103
|
-
message: string;
|
|
104
|
-
code: "not_multiple_of";
|
|
105
|
-
multipleOf: number;
|
|
106
|
-
fatal?: boolean | undefined;
|
|
107
|
-
} | {
|
|
108
|
-
path: (string | number)[];
|
|
109
|
-
message: string;
|
|
110
|
-
code: "too_big";
|
|
111
|
-
maximum: number;
|
|
112
|
-
inclusive: boolean;
|
|
113
|
-
exact?: boolean;
|
|
114
|
-
type: "array" | "string" | "number" | "set" | "date" | "bigint";
|
|
115
|
-
fatal?: boolean | undefined;
|
|
116
|
-
} | {
|
|
117
|
-
path: (string | number)[];
|
|
118
|
-
message: string;
|
|
119
|
-
code: "too_small";
|
|
120
|
-
minimum: number;
|
|
121
|
-
inclusive: boolean;
|
|
122
|
-
exact?: boolean;
|
|
123
|
-
type: "array" | "string" | "number" | "set" | "date" | "bigint";
|
|
124
|
-
fatal?: boolean | undefined;
|
|
125
|
-
} | {
|
|
126
|
-
path: (string | number)[];
|
|
127
|
-
message: string;
|
|
128
|
-
code: "unrecognized_keys";
|
|
129
|
-
keys: string[];
|
|
130
|
-
fatal?: boolean | undefined;
|
|
131
|
-
})[];
|
|
132
|
-
readonly errors: ({
|
|
133
|
-
path: (string | number)[];
|
|
134
|
-
message: string;
|
|
135
|
-
code: "custom";
|
|
136
|
-
params?: {
|
|
137
|
-
[x: string]: any;
|
|
138
|
-
} | undefined;
|
|
139
|
-
fatal?: boolean | undefined;
|
|
140
|
-
} | /*elided*/ any | {
|
|
141
|
-
path: (string | number)[];
|
|
142
|
-
message: string;
|
|
143
|
-
code: "invalid_date";
|
|
144
|
-
fatal?: boolean | undefined;
|
|
145
|
-
} | {
|
|
146
|
-
path: (string | number)[];
|
|
147
|
-
message: string;
|
|
148
|
-
received: string | number;
|
|
149
|
-
code: "invalid_enum_value";
|
|
150
|
-
options: (string | number)[];
|
|
151
|
-
fatal?: boolean | undefined;
|
|
152
|
-
} | {
|
|
153
|
-
path: (string | number)[];
|
|
154
|
-
message: string;
|
|
155
|
-
code: "invalid_intersection_types";
|
|
156
|
-
fatal?: boolean | undefined;
|
|
157
|
-
} | {
|
|
158
|
-
path: (string | number)[];
|
|
159
|
-
message: string;
|
|
160
|
-
code: "invalid_literal";
|
|
161
|
-
expected: import("hono/utils/types").JSONValue;
|
|
162
|
-
received: import("hono/utils/types").JSONValue;
|
|
163
|
-
fatal?: boolean | undefined;
|
|
164
|
-
} | {
|
|
165
|
-
path: (string | number)[];
|
|
166
|
-
message: string;
|
|
167
|
-
code: "invalid_return_type";
|
|
168
|
-
returnTypeError: any;
|
|
169
|
-
fatal?: boolean | undefined;
|
|
170
|
-
} | {
|
|
171
|
-
path: (string | number)[];
|
|
172
|
-
message: string;
|
|
173
|
-
code: "invalid_string";
|
|
174
|
-
validation: import("zod").StringValidation;
|
|
175
|
-
fatal?: boolean | undefined;
|
|
176
|
-
} | {
|
|
177
|
-
path: (string | number)[];
|
|
178
|
-
message: string;
|
|
179
|
-
code: "invalid_type";
|
|
180
|
-
expected: import("zod").ZodParsedType;
|
|
181
|
-
received: import("zod").ZodParsedType;
|
|
182
|
-
fatal?: boolean | undefined;
|
|
183
|
-
} | {
|
|
184
|
-
path: (string | number)[];
|
|
185
|
-
message: string;
|
|
186
|
-
code: "invalid_union_discriminator";
|
|
187
|
-
options: (string | number | boolean | null)[];
|
|
188
|
-
fatal?: boolean | undefined;
|
|
189
|
-
} | {
|
|
190
|
-
path: (string | number)[];
|
|
191
|
-
message: string;
|
|
192
|
-
code: "invalid_union";
|
|
193
|
-
unionErrors: any[];
|
|
194
|
-
fatal?: boolean | undefined;
|
|
195
|
-
} | {
|
|
196
|
-
path: (string | number)[];
|
|
197
|
-
message: string;
|
|
198
|
-
code: "not_finite";
|
|
199
|
-
fatal?: boolean | undefined;
|
|
200
|
-
} | {
|
|
201
|
-
path: (string | number)[];
|
|
202
|
-
message: string;
|
|
203
|
-
code: "not_multiple_of";
|
|
204
|
-
multipleOf: number;
|
|
205
|
-
fatal?: boolean | undefined;
|
|
206
|
-
} | {
|
|
207
|
-
path: (string | number)[];
|
|
208
|
-
message: string;
|
|
209
|
-
code: "too_big";
|
|
210
|
-
maximum: number;
|
|
211
|
-
inclusive: boolean;
|
|
212
|
-
exact?: boolean;
|
|
213
|
-
type: "array" | "string" | "number" | "set" | "date" | "bigint";
|
|
214
|
-
fatal?: boolean | undefined;
|
|
215
|
-
} | {
|
|
216
|
-
path: (string | number)[];
|
|
217
|
-
message: string;
|
|
218
|
-
code: "too_small";
|
|
219
|
-
minimum: number;
|
|
220
|
-
inclusive: boolean;
|
|
221
|
-
exact?: boolean;
|
|
222
|
-
type: "array" | "string" | "number" | "set" | "date" | "bigint";
|
|
223
|
-
fatal?: boolean | undefined;
|
|
224
|
-
} | {
|
|
225
|
-
path: (string | number)[];
|
|
226
|
-
message: string;
|
|
227
|
-
code: "unrecognized_keys";
|
|
228
|
-
keys: string[];
|
|
229
|
-
fatal?: boolean | undefined;
|
|
230
|
-
})[];
|
|
231
|
-
readonly message: string;
|
|
232
|
-
readonly isEmpty: boolean;
|
|
233
|
-
addIssue: never;
|
|
234
|
-
addIssues: never;
|
|
235
|
-
readonly formErrors: {
|
|
236
|
-
formErrors: string[];
|
|
237
|
-
fieldErrors: {
|
|
238
|
-
[x: string]: string[] | undefined;
|
|
239
|
-
[x: number]: string[] | undefined;
|
|
240
|
-
};
|
|
241
|
-
};
|
|
242
|
-
};
|
|
243
|
-
fatal?: boolean | undefined;
|
|
244
|
-
} | {
|
|
245
|
-
path: (string | number)[];
|
|
246
|
-
message: string;
|
|
247
|
-
code: "invalid_date";
|
|
248
|
-
fatal?: boolean | undefined;
|
|
249
|
-
} | {
|
|
250
|
-
path: (string | number)[];
|
|
251
|
-
message: string;
|
|
252
|
-
received: string | number;
|
|
253
|
-
code: "invalid_enum_value";
|
|
254
|
-
options: (string | number)[];
|
|
255
|
-
fatal?: boolean | undefined;
|
|
256
|
-
} | {
|
|
257
|
-
path: (string | number)[];
|
|
258
|
-
message: string;
|
|
259
|
-
code: "invalid_intersection_types";
|
|
260
|
-
fatal?: boolean | undefined;
|
|
261
|
-
} | {
|
|
262
|
-
path: (string | number)[];
|
|
263
|
-
message: string;
|
|
264
|
-
code: "invalid_literal";
|
|
265
|
-
expected: import("hono/utils/types").JSONValue;
|
|
266
|
-
received: import("hono/utils/types").JSONValue;
|
|
267
|
-
fatal?: boolean | undefined;
|
|
268
|
-
} | {
|
|
269
|
-
path: (string | number)[];
|
|
270
|
-
message: string;
|
|
271
|
-
code: "invalid_return_type";
|
|
272
|
-
returnTypeError: any;
|
|
273
|
-
fatal?: boolean | undefined;
|
|
274
|
-
} | {
|
|
275
|
-
path: (string | number)[];
|
|
276
|
-
message: string;
|
|
277
|
-
code: "invalid_string";
|
|
278
|
-
validation: import("zod").StringValidation;
|
|
279
|
-
fatal?: boolean | undefined;
|
|
280
|
-
} | {
|
|
281
|
-
path: (string | number)[];
|
|
282
|
-
message: string;
|
|
283
|
-
code: "invalid_type";
|
|
284
|
-
expected: import("zod").ZodParsedType;
|
|
285
|
-
received: import("zod").ZodParsedType;
|
|
286
|
-
fatal?: boolean | undefined;
|
|
287
|
-
} | {
|
|
288
|
-
path: (string | number)[];
|
|
289
|
-
message: string;
|
|
290
|
-
code: "invalid_union_discriminator";
|
|
291
|
-
options: (string | number | boolean | null)[];
|
|
292
|
-
fatal?: boolean | undefined;
|
|
293
|
-
} | {
|
|
294
|
-
path: (string | number)[];
|
|
295
|
-
message: string;
|
|
296
|
-
code: "invalid_union";
|
|
297
|
-
unionErrors: any[];
|
|
298
|
-
fatal?: boolean | undefined;
|
|
299
|
-
} | {
|
|
300
|
-
path: (string | number)[];
|
|
301
|
-
message: string;
|
|
302
|
-
code: "not_finite";
|
|
303
|
-
fatal?: boolean | undefined;
|
|
304
|
-
} | {
|
|
305
|
-
path: (string | number)[];
|
|
306
|
-
message: string;
|
|
307
|
-
code: "not_multiple_of";
|
|
308
|
-
multipleOf: number;
|
|
309
|
-
fatal?: boolean | undefined;
|
|
310
|
-
} | {
|
|
311
|
-
path: (string | number)[];
|
|
312
|
-
message: string;
|
|
313
|
-
code: "too_big";
|
|
314
|
-
maximum: number;
|
|
315
|
-
inclusive: boolean;
|
|
316
|
-
exact?: boolean;
|
|
317
|
-
type: "array" | "string" | "number" | "set" | "date" | "bigint";
|
|
318
|
-
fatal?: boolean | undefined;
|
|
319
|
-
} | {
|
|
320
|
-
path: (string | number)[];
|
|
321
|
-
message: string;
|
|
322
|
-
code: "too_small";
|
|
323
|
-
minimum: number;
|
|
324
|
-
inclusive: boolean;
|
|
325
|
-
exact?: boolean;
|
|
326
|
-
type: "array" | "string" | "number" | "set" | "date" | "bigint";
|
|
327
|
-
fatal?: boolean | undefined;
|
|
328
|
-
} | {
|
|
329
|
-
path: (string | number)[];
|
|
330
|
-
message: string;
|
|
331
|
-
code: "unrecognized_keys";
|
|
332
|
-
keys: string[];
|
|
333
|
-
fatal?: boolean | undefined;
|
|
334
|
-
})[];
|
|
335
|
-
}, 400, "json">)>;
|
|
15
|
+
}, Response>;
|
|
336
16
|
//# sourceMappingURL=jsonValidatorMiddleware.d.ts.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { WorkerParams } from './types.js';
|
|
2
|
+
import { MCP_TOOL_AVAILABILITY_KEY, MCP_TOOL_WORKER_KEY } from './mcp-tool-worker-pool.js';
|
|
3
|
+
export declare const mcpToolWorkerMethods: {
|
|
4
|
+
executeMcpTool: (params: WorkerParams<typeof MCP_TOOL_WORKER_KEY>[0]) => Promise<import("../plugins/mcp/types.js").McpToolWorkerResponse>;
|
|
5
|
+
mcpToolAvailability: (params: WorkerParams<typeof MCP_TOOL_AVAILABILITY_KEY>[0]) => Promise<Record<string, boolean>>;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=mcp-tool-worker-methods.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{executeMcpTool as e,mcpToolAvailability as r}from"../plugins/mcp/workers/execute-mcp-tool.js";import{fromWorkerContext as t}from"../plugins/mcp/workers/worker-context.js";import{MCP_TOOL_AVAILABILITY_KEY as c,MCP_TOOL_WORKER_KEY as m}from"./mcp-tool-worker-pool.js";const T={[m]:o=>e({...o,context:t(o.context)}),[c]:o=>r({...o,context:t(o.context)})};export{T as mcpToolWorkerMethods};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { WorkerPool } from './worker-pool.js';
|
|
2
2
|
export declare const MCP_TOOL_WORKER_KEY = "executeMcpTool";
|
|
3
|
-
export declare const MCP_TOOL_IS_AVAILABLE_KEY = "isMcpToolAvailable";
|
|
4
3
|
export declare const MCP_TOOL_AVAILABILITY_KEY = "mcpToolAvailability";
|
|
5
4
|
export declare const mcpToolWorkers: WorkerPool;
|
|
6
5
|
//# sourceMappingURL=mcp-tool-worker-pool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getAllowedEnvs as o}from"../utils/envs/get-api-route-allowed-env-variables.js";import{WorkerPool as r}from"./worker-pool.js";const p="executeMcpTool",
|
|
1
|
+
import{getAllowedEnvs as o}from"../utils/envs/get-api-route-allowed-env-variables.js";import{WorkerPool as r}from"./worker-pool.js";const p="executeMcpTool",c="mcpToolAvailability",e=5,l=new r({workerScript:"./mcp-tool-worker",minWorkers:1,maxWorkers:e,workerType:"process",forkOpts:{stdio:"inherit"},resolveForkEnv:o,lazy:!0,sandbox:!0});export{c as MCP_TOOL_AVAILABILITY_KEY,p as MCP_TOOL_WORKER_KEY,l as mcpToolWorkers};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import o from"workerpool";import{
|
|
1
|
+
import o from"workerpool";import{mcpToolWorkerMethods as r}from"./mcp-tool-worker-methods.js";o.worker(r);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { ApiRoutesWorkerParams, ApiRoutesWorkerResponse } from '../types/plugins/api-routes.js';
|
|
2
2
|
import type { RenderPayload } from '../../types/ssr.js';
|
|
3
3
|
import type { ScorecardsWorkerParams, ScorecardsWorkerResponse } from '../types/plugins/scorecards.js';
|
|
4
|
-
import type {
|
|
4
|
+
import type { McpToolWorkerContext, McpToolWorkerParams, McpToolWorkerResponse } from '../plugins/mcp/types.js';
|
|
5
5
|
import type { SCORECARDS_WORKER_KEY } from './scorecards-worker-pool.js';
|
|
6
6
|
import type { API_ROUTES_WORKER_KEY } from './api-routes-worker-pool.js';
|
|
7
7
|
import type { SSR_WORKER_KEY } from './ssr-worker-pool.js';
|
|
8
|
-
import type { MCP_TOOL_AVAILABILITY_KEY,
|
|
8
|
+
import type { MCP_TOOL_AVAILABILITY_KEY, MCP_TOOL_WORKER_KEY } from './mcp-tool-worker-pool.js';
|
|
9
9
|
export type SsrWorkerResponse = {
|
|
10
10
|
html: string;
|
|
11
11
|
statusCode: 200 | 500;
|
|
@@ -25,17 +25,13 @@ export type WorkerTypeMapping = {
|
|
|
25
25
|
response: ScorecardsWorkerResponse;
|
|
26
26
|
};
|
|
27
27
|
[MCP_TOOL_WORKER_KEY]: {
|
|
28
|
-
params: [
|
|
28
|
+
params: [McpToolWorkerParams];
|
|
29
29
|
response: McpToolWorkerResponse;
|
|
30
30
|
};
|
|
31
|
-
[MCP_TOOL_IS_AVAILABLE_KEY]: {
|
|
32
|
-
params: [Omit<McpToolExecutionParams, 'args' | 'extra'>];
|
|
33
|
-
response: boolean;
|
|
34
|
-
};
|
|
35
31
|
[MCP_TOOL_AVAILABILITY_KEY]: {
|
|
36
32
|
params: [{
|
|
37
33
|
toolNames: string[];
|
|
38
|
-
context:
|
|
34
|
+
context: McpToolWorkerContext;
|
|
39
35
|
}];
|
|
40
36
|
response: Record<string, boolean>;
|
|
41
37
|
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { RedoclyConfig } from '@redocly/config';
|
|
2
|
+
type ConfigFileRef = {
|
|
3
|
+
path: string;
|
|
4
|
+
env: Record<string, string>;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* The store config file of a build output, and the env values that resolve its placeholders in a
|
|
8
|
+
* worker. `env` has no variable that the worker env excludes: those placeholders stay unresolved.
|
|
9
|
+
* Main process only: `config` is the store config that was loaded from the file.
|
|
10
|
+
*/
|
|
11
|
+
export type StoreConfigFile = ConfigFileRef & {
|
|
12
|
+
config: RedoclyConfig;
|
|
13
|
+
};
|
|
14
|
+
/** The config as it crosses to a worker: the config file entries, overridden by `entries`. */
|
|
15
|
+
export type WorkerConfig = {
|
|
16
|
+
file: ConfigFileRef;
|
|
17
|
+
entries: Partial<RedoclyConfig>;
|
|
18
|
+
} | {
|
|
19
|
+
file?: undefined;
|
|
20
|
+
entries: RedoclyConfig;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Sends only the top-level entries of `config` that are not the same values as in the config file.
|
|
24
|
+
* Without a config file (`develop`), sends all of `config`.
|
|
25
|
+
*/
|
|
26
|
+
export declare function toWorkerConfig(config: RedoclyConfig, configFile: StoreConfigFile | undefined): WorkerConfig;
|
|
27
|
+
/**
|
|
28
|
+
* Worker side. Returns a config that the call owns: a change to it, at any depth, is not seen by
|
|
29
|
+
* other calls. Throws when the config file cannot be read.
|
|
30
|
+
*/
|
|
31
|
+
export declare function readWorkerConfig(workerConfig: WorkerConfig): RedoclyConfig;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=worker-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{readFileSync as a}from"node:fs";import{MARKDOC_PARTIALS_DATA_KEY as f}from"../constants/common.js";import{resolveStoreConfig as l}from"../store-config.js";let s;function m(n,e){if(!e)return{entries:n};const o=e.config;return{file:{path:e.path,env:e.env},entries:Object.fromEntries(Object.entries(n).filter(([t,r])=>o[t]!==r))}}function j(n){const{file:e,entries:o}=n;if(!e)return o;const t=d(e),r=Object.fromEntries(Object.keys(t).map(i=>[i,()=>structuredClone(t[i])]));return r[f]=()=>u(e)[f],O(r,o)}function d(n){const e=JSON.stringify([n.path,n.env]);if(s?.key!==e){const{[f]:o,...t}=u(n);s={key:e,config:t}}return s.config}function u({path:n,env:e}){let o;try{o=JSON.parse(a(n,"utf8"))}catch(t){throw new Error(`Could not read the store config file "${n}": ${String(t)}`)}return l(o,t=>e[t]).config}function O(n,e){const o={},t=(r,i)=>{Object.defineProperty(o,r,{value:i,writable:!0,enumerable:!0,configurable:!0})};for(const[r,i]of Object.entries(n)){if(Object.hasOwn(e,r)){t(r,e[r]);continue}Object.defineProperty(o,r,{enumerable:!0,configurable:!0,get:()=>{const c=i();return t(r,c),c},set:c=>t(r,c)})}for(const[r,i]of Object.entries(e))Object.hasOwn(o,r)||t(r,i);return o}export{j as readWorkerConfig,m as toWorkerConfig};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/redoc-reef",
|
|
3
|
-
"version": "0.140.0-next.
|
|
3
|
+
"version": "0.140.0-next.8",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"@jitl/quickjs-singlefile-mjs-release-sync": "0.32.0",
|
|
22
22
|
"@libsql/client": "0.17.3",
|
|
23
23
|
"@markdoc/markdoc": "npm:@redocly/markdoc@0.7.0-beta.2",
|
|
24
|
-
"@modelcontextprotocol/server": "2.
|
|
24
|
+
"@modelcontextprotocol/server": "2.3.1",
|
|
25
25
|
"@opentelemetry/api": "1.9.1",
|
|
26
26
|
"@opentelemetry/context-zone": "2.0.1",
|
|
27
27
|
"@opentelemetry/core": "2.8.0",
|
|
@@ -33,14 +33,14 @@
|
|
|
33
33
|
"@opentelemetry/sdk-trace-web": "2.8.0",
|
|
34
34
|
"@opentelemetry/semantic-conventions": "1.40.0",
|
|
35
35
|
"@redocly/ajv": "8.18.0",
|
|
36
|
-
"@redocly/api-docs": "0.5.0-next.
|
|
37
|
-
"@redocly/config": "0.
|
|
36
|
+
"@redocly/api-docs": "0.5.0-next.6",
|
|
37
|
+
"@redocly/config": "0.69.1",
|
|
38
38
|
"@redocly/markdoc": "0.7.0-beta.2",
|
|
39
|
-
"@redocly/openapi-core": "2.
|
|
39
|
+
"@redocly/openapi-core": "2.72.1",
|
|
40
40
|
"@redocly/portal-legacy-ui": "0.19.0",
|
|
41
|
-
"@redocly/portal-plugin-mock-server": "0.25.0-next.
|
|
41
|
+
"@redocly/portal-plugin-mock-server": "0.25.0-next.2",
|
|
42
42
|
"@redocly/realm-asyncapi-sdk": "0.17.0",
|
|
43
|
-
"@redocly/theme": "0.72.0-next.
|
|
43
|
+
"@redocly/theme": "0.72.0-next.5",
|
|
44
44
|
"@shikijs/transformers": "3.21.0",
|
|
45
45
|
"@tanstack/react-query": "5.62.3",
|
|
46
46
|
"@tanstack/react-table": "8.21.3",
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
"xml-crypto": "6.1.0",
|
|
99
99
|
"xpath": "0.0.34",
|
|
100
100
|
"yaml-ast-parser": "0.0.43",
|
|
101
|
-
"zod": "^
|
|
101
|
+
"zod": "^4.6.6"
|
|
102
102
|
},
|
|
103
103
|
"peerDependencies": {
|
|
104
104
|
"react": "^19.2.7",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var v=(i,l)=>()=>{try{return l||i((l={exports:{}}).exports,l),l.exports}catch(c){throw l=0,c}},g=v(i=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.maskSubject=i.maskEmail=void 0;var l=t=>{if(!t||typeof t!="string"||!t.includes("@"))return t;let[e="",r]=t.split("@");return`${e.length>2?e.slice(0,2)+"*".repeat(e.length-2):"*".repeat(e.length)}@${r}`};i.maskEmail=l;var c=/[a-zA-Z0-9._%+-]/,b=/^[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/,s=t=>{var e;let r="",a=0,n=0;for(;n<t.length;){let d=t.indexOf("@",n);if(d===-1)break;let o=d;for(;o>a&&c.test(t.charAt(o-1));)o--;let p=o<d?(e=b.exec(t.slice(d+1)))===null||e===void 0?void 0:e[0]:void 0;if(!p){n=d+1;continue}let m=d+1+p.length;r+=t.slice(a,o)+(0,i.maskEmail)(t.slice(o,m)),a=m,n=m}return r+t.slice(a)};i.maskSubject=s}),h=v(i=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.removePii=s,i.removePiiFromUrl=t;var l={email:{pattern:/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g,replacement:"[email_removed]"},phone:{pattern:/(?:\+?1[-.\s]?)?\(?([0-9]{3})\)?[-.\s]?([0-9]{3})[-.\s]?([0-9]{4})(?:\s?(?:ext|x|extension)\.?\s?(\d+))?/g,replacement:"[phone_removed]"},ssn:{pattern:/\b(?!000|666|9\d{2})\d{3}-?(?!00)\d{2}-?(?!0000)\d{4}\b/g,replacement:"[SSN_removed]"},creditCard:{pattern:/\b\d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4}\b/g,replacement:"[credit_card_removed]"},address:{pattern:/\b\d+\s[A-Za-z0-9\s,.-]+(?:Street|St|Avenue|Ave|Road|Rd|Boulevard|Blvd|Lane|Ln|Drive|Dr|Court|Ct|Circle|Cir|Way|Place|Pl|Parkway|Pkwy|Terrace|Ter)\b/gi,replacement:"[address_removed]"},passport:{pattern:/\b[A-Z]{2}[0-9]{7}\b/g,replacement:"[passport_number_removed]"},driversLicense:{pattern:/\b[A-Z]{1,2}[0-9]{6,9}\b/g,replacement:"[driver_license_removed]"},zipCode:{pattern:/(?<!\d-)\b\d{5}(?:-\d{4})?\b(?!-\d)/g,replacement:"[zip_code_removed]"},bankAccount:{pattern:/\b\d{8,17}\b/g,replacement:"[bank_account_removed]"},dateOfBirth:{pattern:/\b(?:0[1-9]|1[0-2])[-/](?:0[1-9]|[12][0-9]|3[01])[-/](?:19|20)\d{2}\b/g,replacement:"[date_removed]"}};function c(e){return typeof e=="string"}function b(e={}){let r={email:{enabled:!0,replacement:"[email_removed]"},phone:{enabled:!0,replacement:"[phone_removed]"},ssn:{enabled:!0,replacement:"[SSN_removed]"},creditCard:{enabled:!0,replacement:"[credit_card_removed]"},address:{enabled:!0,replacement:"[address_removed]"},passport:{enabled:!0,replacement:"[passport_number_removed]"},driversLicense:{enabled:!0,replacement:"[driver_license_removed]"},zipCode:{enabled:!0,replacement:"[zip_code_removed]"},bankAccount:{enabled:!0,replacement:"[bank_account_removed]"},dateOfBirth:{enabled:!0,replacement:"[date_removed]"}};for(let[a,n]of Object.entries(e))r[a]?r[a]=Object.assign(Object.assign({},r[a]),n):r[a]=n;return r}function s(e,r={}){if(!c(e))return e;let a=b(r),n=e;for(let[d,o]of Object.entries(a)){if(!o.enabled)continue;let p=l[d],m=p?.pattern||o.pattern,f=o.replacement||p?.replacement||"[PII removed]";m&&(n=n.replace(m,f))}return n}function t(e){if(!c(e))return e;try{let r=new URL(e,"http://example.com");for(let[a,n]of r.searchParams.entries()){let d=String(s(n));r.searchParams.set(a,d)}return e.startsWith("http://")||e.startsWith("https://")?r.toString():r.pathname+r.search+r.hash}catch{return String(s(e))}}});Object.defineProperty(exports,"__esModule",{value:!0}),exports.removePiiFromUrl=exports.removePii=exports.maskSubject=exports.maskEmail=void 0;var u=g();Object.defineProperty(exports,"maskEmail",{enumerable:!0,get:function(){return u.maskEmail}}),Object.defineProperty(exports,"maskSubject",{enumerable:!0,get:function(){return u.maskSubject}});var _=h();Object.defineProperty(exports,"removePii",{enumerable:!0,get:function(){return _.removePii}}),Object.defineProperty(exports,"removePiiFromUrl",{enumerable:!0,get:function(){return _.removePiiFromUrl}});
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { McpToolSchema } from '../../../types';
|
|
2
|
-
import type { McpToolContext } from '../types.js';
|
|
3
|
-
export declare function availableSandboxTools(candidates: McpToolSchema[], context: McpToolContext): Promise<McpToolSchema[]>;
|
|
4
|
-
//# sourceMappingURL=available-sandbox-tools.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{logger as a}from"../../../tools/notifiers/logger.js";import{mcpToolWorkers as n,MCP_TOOL_AVAILABILITY_KEY as m}from"../../../workers/mcp-tool-worker-pool.js";async function p(t,l){if(t.length===0)return t;const e=t.map(o=>o.name);let r;try{r=await n.exec(m,[{toolNames:e,context:l}],{timeout:1e4})}catch(o){return i(t,o instanceof Error?o.message:String(o))}return!r||typeof r!="object"?i(t,"the worker returned no availability map"):t.filter(o=>r[o.name]!==!1)}function i(t,l){const e=t.filter(r=>r.hasAvailabilityGate);return e.length===0?t:(a.warn(`MCP tool availability is unknown (${l}); the sandbox tool list drops the gated tools: ${e.map(r=>r.name).join(", ")}.`),t.filter(r=>!r.hasAvailabilityGate))}export{p as availableSandboxTools};
|