@payloadcms/plugin-mcp 4.0.0-internal.40de3ec → 4.0.0-internal.4cbdd50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/defaultAccess.d.ts +3 -0
- package/dist/defaultAccess.d.ts.map +1 -0
- package/dist/defaultAccess.js +3 -0
- package/dist/defaultAccess.js.map +1 -0
- package/dist/endpoint/access.d.ts +17 -5
- package/dist/endpoint/access.d.ts.map +1 -1
- package/dist/endpoint/access.js +82 -88
- package/dist/endpoint/access.js.map +1 -1
- package/dist/endpoint/index.d.ts.map +1 -1
- package/dist/endpoint/index.js +11 -0
- package/dist/endpoint/index.js.map +1 -1
- package/dist/exports/client.d.ts +1 -1
- package/dist/exports/client.d.ts.map +1 -1
- package/dist/exports/client.js +1 -1
- package/dist/exports/client.js.map +1 -1
- package/dist/exports/internal.d.ts +2 -0
- package/dist/exports/internal.d.ts.map +1 -0
- package/dist/exports/internal.js +3 -0
- package/dist/exports/internal.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -18
- package/dist/index.js.map +1 -1
- package/dist/mcp/buildMcpServer.d.ts.map +1 -1
- package/dist/mcp/buildMcpServer.js +102 -71
- package/dist/mcp/buildMcpServer.js.map +1 -1
- package/dist/mcp/builtin/collections/authTools.d.ts.map +1 -1
- package/dist/mcp/builtin/collections/authTools.js +44 -6
- package/dist/mcp/builtin/collections/authTools.js.map +1 -1
- package/dist/mcp/builtin/collections/countTool.d.ts +2 -0
- package/dist/mcp/builtin/collections/countTool.d.ts.map +1 -0
- package/dist/mcp/builtin/collections/countTool.js +69 -0
- package/dist/mcp/builtin/collections/countTool.js.map +1 -0
- package/dist/mcp/builtin/collections/countVersionsTool.d.ts +2 -0
- package/dist/mcp/builtin/collections/countVersionsTool.d.ts.map +1 -0
- package/dist/mcp/builtin/collections/countVersionsTool.js +65 -0
- package/dist/mcp/builtin/collections/countVersionsTool.js.map +1 -0
- package/dist/mcp/builtin/collections/createTool.d.ts +1 -1
- package/dist/mcp/builtin/collections/createTool.d.ts.map +1 -1
- package/dist/mcp/builtin/collections/createTool.js +38 -42
- package/dist/mcp/builtin/collections/createTool.js.map +1 -1
- package/dist/mcp/builtin/collections/deleteTool.d.ts +1 -1
- package/dist/mcp/builtin/collections/deleteTool.d.ts.map +1 -1
- package/dist/mcp/builtin/collections/deleteTool.js +14 -20
- package/dist/mcp/builtin/collections/deleteTool.js.map +1 -1
- package/dist/mcp/builtin/collections/duplicateTool.d.ts +2 -0
- package/dist/mcp/builtin/collections/duplicateTool.d.ts.map +1 -0
- package/dist/mcp/builtin/collections/duplicateTool.js +97 -0
- package/dist/mcp/builtin/collections/duplicateTool.js.map +1 -0
- package/dist/mcp/builtin/collections/findDistinctTool.d.ts +2 -0
- package/dist/mcp/builtin/collections/findDistinctTool.d.ts.map +1 -0
- package/dist/mcp/builtin/collections/findDistinctTool.js +93 -0
- package/dist/mcp/builtin/collections/findDistinctTool.js.map +1 -0
- package/dist/mcp/builtin/collections/findTool.d.ts +1 -1
- package/dist/mcp/builtin/collections/findTool.d.ts.map +1 -1
- package/dist/mcp/builtin/collections/findTool.js +49 -43
- package/dist/mcp/builtin/collections/findTool.js.map +1 -1
- package/dist/mcp/builtin/collections/findVersionByIDTool.d.ts +2 -0
- package/dist/mcp/builtin/collections/findVersionByIDTool.d.ts.map +1 -0
- package/dist/mcp/builtin/collections/findVersionByIDTool.js +84 -0
- package/dist/mcp/builtin/collections/findVersionByIDTool.js.map +1 -0
- package/dist/mcp/builtin/collections/findVersionsTool.d.ts +2 -0
- package/dist/mcp/builtin/collections/findVersionsTool.d.ts.map +1 -0
- package/dist/mcp/builtin/collections/findVersionsTool.js +99 -0
- package/dist/mcp/builtin/collections/findVersionsTool.js.map +1 -0
- package/dist/mcp/builtin/collections/formatCollectionError.d.ts +9 -0
- package/dist/mcp/builtin/collections/formatCollectionError.d.ts.map +1 -0
- package/dist/mcp/builtin/collections/formatCollectionError.js +60 -0
- package/dist/mcp/builtin/collections/formatCollectionError.js.map +1 -0
- package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts +2 -0
- package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts.map +1 -0
- package/dist/mcp/builtin/collections/getCollectionSchemaTool.js +47 -0
- package/dist/mcp/builtin/collections/getCollectionSchemaTool.js.map +1 -0
- package/dist/mcp/builtin/collections/restoreVersionTool.d.ts +2 -0
- package/dist/mcp/builtin/collections/restoreVersionTool.d.ts.map +1 -0
- package/dist/mcp/builtin/collections/restoreVersionTool.js +82 -0
- package/dist/mcp/builtin/collections/restoreVersionTool.js.map +1 -0
- package/dist/mcp/builtin/collections/updateTool.d.ts +1 -1
- package/dist/mcp/builtin/collections/updateTool.d.ts.map +1 -1
- package/dist/mcp/builtin/collections/updateTool.js +87 -86
- package/dist/mcp/builtin/collections/updateTool.js.map +1 -1
- package/dist/mcp/builtin/getConfigInfoTool.d.ts +2 -0
- package/dist/mcp/builtin/getConfigInfoTool.d.ts.map +1 -0
- package/dist/mcp/builtin/getConfigInfoTool.js +71 -0
- package/dist/mcp/builtin/getConfigInfoTool.js.map +1 -0
- package/dist/mcp/builtin/globals/countVersionsTool.d.ts +2 -0
- package/dist/mcp/builtin/globals/countVersionsTool.d.ts.map +1 -0
- package/dist/mcp/builtin/globals/countVersionsTool.js +65 -0
- package/dist/mcp/builtin/globals/countVersionsTool.js.map +1 -0
- package/dist/mcp/builtin/globals/findTool.d.ts.map +1 -1
- package/dist/mcp/builtin/globals/findTool.js +18 -21
- package/dist/mcp/builtin/globals/findTool.js.map +1 -1
- package/dist/mcp/builtin/globals/findVersionByIDTool.d.ts +2 -0
- package/dist/mcp/builtin/globals/findVersionByIDTool.d.ts.map +1 -0
- package/dist/mcp/builtin/globals/findVersionByIDTool.js +80 -0
- package/dist/mcp/builtin/globals/findVersionByIDTool.js.map +1 -0
- package/dist/mcp/builtin/globals/findVersionsTool.d.ts +2 -0
- package/dist/mcp/builtin/globals/findVersionsTool.d.ts.map +1 -0
- package/dist/mcp/builtin/globals/findVersionsTool.js +95 -0
- package/dist/mcp/builtin/globals/findVersionsTool.js.map +1 -0
- package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts +2 -0
- package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts.map +1 -0
- package/dist/mcp/builtin/globals/getGlobalSchemaTool.js +47 -0
- package/dist/mcp/builtin/globals/getGlobalSchemaTool.js.map +1 -0
- package/dist/mcp/builtin/globals/restoreVersionTool.d.ts +2 -0
- package/dist/mcp/builtin/globals/restoreVersionTool.d.ts.map +1 -0
- package/dist/mcp/builtin/globals/restoreVersionTool.js +78 -0
- package/dist/mcp/builtin/globals/restoreVersionTool.js.map +1 -0
- package/dist/mcp/builtin/globals/updateTool.d.ts.map +1 -1
- package/dist/mcp/builtin/globals/updateTool.js +31 -40
- package/dist/mcp/builtin/globals/updateTool.js.map +1 -1
- package/dist/mcp/builtin/validateEntityData.d.ts +14 -0
- package/dist/mcp/builtin/validateEntityData.d.ts.map +1 -0
- package/dist/mcp/builtin/validateEntityData.js +82 -0
- package/dist/mcp/builtin/validateEntityData.js.map +1 -0
- package/dist/mcp/builtinTools.d.ts +144 -19
- package/dist/mcp/builtinTools.d.ts.map +1 -1
- package/dist/mcp/builtinTools.js +119 -20
- package/dist/mcp/builtinTools.js.map +1 -1
- package/dist/mcp/sanitizeMCPConfig.d.ts +0 -1
- package/dist/mcp/sanitizeMCPConfig.d.ts.map +1 -1
- package/dist/mcp/sanitizeMCPConfig.js +120 -58
- package/dist/mcp/sanitizeMCPConfig.js.map +1 -1
- package/dist/stdio.d.ts +3 -2
- package/dist/stdio.d.ts.map +1 -1
- package/dist/stdio.js +27 -8
- package/dist/stdio.js.map +1 -1
- package/dist/types.d.ts +62 -108
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -4
- package/dist/types.js.map +1 -1
- package/dist/utils/getPluginConfig.d.ts +1 -1
- package/dist/utils/getPluginConfig.js +1 -1
- package/dist/utils/getPluginConfig.js.map +1 -1
- package/dist/utils/schemaConversion/getEntityInputSchema.d.ts +11 -0
- package/dist/utils/schemaConversion/getEntityInputSchema.d.ts.map +1 -0
- package/dist/utils/schemaConversion/getEntityInputSchema.js +34 -0
- package/dist/utils/schemaConversion/getEntityInputSchema.js.map +1 -0
- package/dist/utils/whereSchema.d.ts +9 -0
- package/dist/utils/whereSchema.d.ts.map +1 -0
- package/dist/utils/whereSchema.js +13 -0
- package/dist/utils/whereSchema.js.map +1 -0
- package/package.json +8 -11
- package/src/defaultAccess.ts +3 -0
- package/src/endpoint/access.ts +88 -101
- package/src/endpoint/index.ts +14 -1
- package/src/exports/client.ts +2 -1
- package/src/exports/internal.ts +1 -0
- package/src/index.ts +8 -16
- package/src/mcp/buildMcpServer.ts +131 -96
- package/src/mcp/builtin/collections/authTools.ts +45 -9
- package/src/mcp/builtin/collections/countTool.ts +74 -0
- package/src/mcp/builtin/collections/countVersionsTool.ts +70 -0
- package/src/mcp/builtin/collections/createTool.ts +55 -59
- package/src/mcp/builtin/collections/deleteTool.ts +19 -16
- package/src/mcp/builtin/collections/duplicateTool.ts +135 -0
- package/src/mcp/builtin/collections/findDistinctTool.ts +120 -0
- package/src/mcp/builtin/collections/findTool.ts +63 -33
- package/src/mcp/builtin/collections/findVersionByIDTool.ts +110 -0
- package/src/mcp/builtin/collections/findVersionsTool.ts +155 -0
- package/src/mcp/builtin/collections/formatCollectionError.ts +84 -0
- package/src/mcp/builtin/collections/getCollectionSchemaTool.ts +46 -0
- package/src/mcp/builtin/collections/restoreVersionTool.ts +108 -0
- package/src/mcp/builtin/collections/updateTool.ts +111 -110
- package/src/mcp/builtin/getConfigInfoTool.ts +69 -0
- package/src/mcp/builtin/globals/countVersionsTool.ts +69 -0
- package/src/mcp/builtin/globals/findTool.ts +26 -17
- package/src/mcp/builtin/globals/findVersionByIDTool.ts +104 -0
- package/src/mcp/builtin/globals/findVersionsTool.ts +148 -0
- package/src/mcp/builtin/globals/getGlobalSchemaTool.ts +41 -0
- package/src/mcp/builtin/globals/restoreVersionTool.ts +100 -0
- package/src/mcp/builtin/globals/updateTool.ts +50 -55
- package/src/mcp/builtin/validateEntityData.ts +132 -0
- package/src/mcp/builtinTools.ts +111 -41
- package/src/mcp/sanitizeMCPConfig.ts +116 -78
- package/src/stdio.ts +23 -8
- package/src/types.ts +77 -112
- package/src/utils/getPluginConfig.ts +1 -1
- package/src/utils/schemaConversion/getEntityInputSchema.ts +78 -0
- package/src/utils/whereSchema.ts +24 -0
- package/dist/collection/getAccessField.d.ts +0 -12
- package/dist/collection/getAccessField.d.ts.map +0 -1
- package/dist/collection/getAccessField.js +0 -57
- package/dist/collection/getAccessField.js.map +0 -1
- package/dist/collection/index.d.ts +0 -6
- package/dist/collection/index.d.ts.map +0 -1
- package/dist/collection/index.js +0 -60
- package/dist/collection/index.js.map +0 -1
- package/dist/components/AccessField/index.client.d.ts +0 -10
- package/dist/components/AccessField/index.client.d.ts.map +0 -1
- package/dist/components/AccessField/index.client.js +0 -305
- package/dist/components/AccessField/index.client.js.map +0 -1
- package/dist/components/AccessField/index.css +0 -93
- package/dist/utils/schemaConversion/buildToolInput.d.ts +0 -29
- package/dist/utils/schemaConversion/buildToolInput.d.ts.map +0 -1
- package/dist/utils/schemaConversion/buildToolInput.js +0 -51
- package/dist/utils/schemaConversion/buildToolInput.js.map +0 -1
- package/src/collection/getAccessField.ts +0 -64
- package/src/collection/index.ts +0 -64
- package/src/components/AccessField/index.client.tsx +0 -344
- package/src/components/AccessField/index.css +0 -93
- package/src/utils/schemaConversion/buildToolInput.ts +0 -68
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/mcp/builtin/globals/updateTool.ts"],"sourcesContent":["import type { SelectType } from 'payload'\n\nimport { z } from 'zod'\n\nimport { defineGlobalTool } from '../../../defineTool.js'\nimport { getLogger } from '../../../utils/getLogger.js'\nimport {\n getGlobalVirtualFieldNames,\n stripVirtualFields,\n} from '../../../utils/getVirtualFieldNames.js'\nimport { localAPIDefaults } from '../../../utils/localAPIDefaults.js'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../src/mcp/builtin/globals/updateTool.ts"],"sourcesContent":["import type { SelectType } from 'payload'\n\nimport { z } from 'zod'\n\nimport { defaultAccess } from '../../../defaultAccess.js'\nimport { defineGlobalTool } from '../../../defineTool.js'\nimport { getLogger } from '../../../utils/getLogger.js'\nimport {\n getGlobalVirtualFieldNames,\n stripVirtualFields,\n} from '../../../utils/getVirtualFieldNames.js'\nimport { localAPIDefaults } from '../../../utils/localAPIDefaults.js'\nimport { transformPointDataToPayload } from '../../../utils/transformPointDataToPayload.js'\nimport { validateGlobalData } from '../validateEntityData.js'\n\nconst DEFAULT_DESCRIPTION = 'Update any Payload global by passing the global slug and data.'\n\nexport const updateGlobalTool = defineGlobalTool({\n access: (args) =>\n defaultAccess(args) && Boolean(args.permissions?.globals?.[args.globalSlug]?.update),\n annotations: {\n destructiveHint: true,\n idempotentHint: false,\n openWorldHint: false,\n readOnlyHint: false,\n title: 'Update Global',\n },\n description: DEFAULT_DESCRIPTION,\n input: z.object({\n data: z.record(z.string(), z.unknown()).describe('The global fields to update'),\n depth: z\n .number()\n .describe('Optional: Depth of relationships to populate')\n .optional()\n .default(0),\n draft: z\n .boolean()\n .describe('Optional: Whether to save as draft (default: false)')\n .optional()\n .default(false),\n fallbackLocale: z\n .string()\n .describe('Optional: fallback locale code to use when requested locale is not available')\n .optional(),\n locale: z\n .string()\n .describe(\n 'Optional: locale code to update data in (e.g., \"en\", \"es\"). Use \"all\" to update all locales for localized fields',\n )\n .optional(),\n select: z\n .record(z.string(), z.unknown())\n .describe(\n 'Optional: define exactly which fields you\\'d like to return in the response, e.g., {\"siteName\": true}',\n )\n .optional(),\n }),\n}).handler(async ({ authorizedMCP, globalSlug, input, req }) => {\n const payload = req.payload\n const logger = getLogger({ payload })\n\n const { data, depth, draft, fallbackLocale, locale, select } = input\n\n logger.info(\n `Updating global: ${globalSlug}, draft: ${draft}${locale ? `, locale: ${locale}` : ''}`,\n )\n\n try {\n const virtualFieldNames = getGlobalVirtualFieldNames(payload.config, globalSlug)\n const inputData = stripVirtualFields(data, virtualFieldNames)\n const validationError = validateGlobalData({ data: inputData, globalSlug, req })\n\n if (validationError) {\n return validationError\n }\n\n const parsedData = transformPointDataToPayload(inputData)\n\n const updateOptions: Parameters<typeof payload.updateGlobal>[0] = {\n slug: globalSlug,\n data: parsedData,\n depth,\n draft,\n ...localAPIDefaults(authorizedMCP),\n }\n\n if (locale) {\n updateOptions.locale = locale\n }\n if (fallbackLocale) {\n updateOptions.fallbackLocale = fallbackLocale\n }\n if (select) {\n updateOptions.select = select as SelectType\n }\n\n const result = await payload.updateGlobal(updateOptions)\n\n return {\n content: [\n {\n type: 'text',\n text: `Global \"${globalSlug}\" updated successfully!\\n\\`\\`\\`json\\n${JSON.stringify(result)}\\n\\`\\`\\``,\n },\n ],\n doc: result as Record<string, unknown>,\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n logger.error(`Error updating global ${globalSlug}: ${errorMessage}`)\n return {\n content: [{ type: 'text', text: `Error updating global \"${globalSlug}\": ${errorMessage}` }],\n }\n }\n})\n"],"names":["z","defaultAccess","defineGlobalTool","getLogger","getGlobalVirtualFieldNames","stripVirtualFields","localAPIDefaults","transformPointDataToPayload","validateGlobalData","DEFAULT_DESCRIPTION","updateGlobalTool","access","args","Boolean","permissions","globals","globalSlug","update","annotations","destructiveHint","idempotentHint","openWorldHint","readOnlyHint","title","description","input","object","data","record","string","unknown","describe","depth","number","optional","default","draft","boolean","fallbackLocale","locale","select","handler","authorizedMCP","req","payload","logger","info","virtualFieldNames","config","inputData","validationError","parsedData","updateOptions","slug","result","updateGlobal","content","type","text","JSON","stringify","doc","error","errorMessage","Error","message"],"mappings":"AAEA,SAASA,CAAC,QAAQ,MAAK;AAEvB,SAASC,aAAa,QAAQ,4BAA2B;AACzD,SAASC,gBAAgB,QAAQ,yBAAwB;AACzD,SAASC,SAAS,QAAQ,8BAA6B;AACvD,SACEC,0BAA0B,EAC1BC,kBAAkB,QACb,yCAAwC;AAC/C,SAASC,gBAAgB,QAAQ,qCAAoC;AACrE,SAASC,2BAA2B,QAAQ,gDAA+C;AAC3F,SAASC,kBAAkB,QAAQ,2BAA0B;AAE7D,MAAMC,sBAAsB;AAE5B,OAAO,MAAMC,mBAAmBR,iBAAiB;IAC/CS,QAAQ,CAACC,OACPX,cAAcW,SAASC,QAAQD,KAAKE,WAAW,EAAEC,SAAS,CAACH,KAAKI,UAAU,CAAC,EAAEC;IAC/EC,aAAa;QACXC,iBAAiB;QACjBC,gBAAgB;QAChBC,eAAe;QACfC,cAAc;QACdC,OAAO;IACT;IACAC,aAAaf;IACbgB,OAAOzB,EAAE0B,MAAM,CAAC;QACdC,MAAM3B,EAAE4B,MAAM,CAAC5B,EAAE6B,MAAM,IAAI7B,EAAE8B,OAAO,IAAIC,QAAQ,CAAC;QACjDC,OAAOhC,EACJiC,MAAM,GACNF,QAAQ,CAAC,gDACTG,QAAQ,GACRC,OAAO,CAAC;QACXC,OAAOpC,EACJqC,OAAO,GACPN,QAAQ,CAAC,uDACTG,QAAQ,GACRC,OAAO,CAAC;QACXG,gBAAgBtC,EACb6B,MAAM,GACNE,QAAQ,CAAC,gFACTG,QAAQ;QACXK,QAAQvC,EACL6B,MAAM,GACNE,QAAQ,CACP,oHAEDG,QAAQ;QACXM,QAAQxC,EACL4B,MAAM,CAAC5B,EAAE6B,MAAM,IAAI7B,EAAE8B,OAAO,IAC5BC,QAAQ,CACP,yGAEDG,QAAQ;IACb;AACF,GAAGO,OAAO,CAAC,OAAO,EAAEC,aAAa,EAAE1B,UAAU,EAAES,KAAK,EAAEkB,GAAG,EAAE;IACzD,MAAMC,UAAUD,IAAIC,OAAO;IAC3B,MAAMC,SAAS1C,UAAU;QAAEyC;IAAQ;IAEnC,MAAM,EAAEjB,IAAI,EAAEK,KAAK,EAAEI,KAAK,EAAEE,cAAc,EAAEC,MAAM,EAAEC,MAAM,EAAE,GAAGf;IAE/DoB,OAAOC,IAAI,CACT,CAAC,iBAAiB,EAAE9B,WAAW,SAAS,EAAEoB,QAAQG,SAAS,CAAC,UAAU,EAAEA,QAAQ,GAAG,IAAI;IAGzF,IAAI;QACF,MAAMQ,oBAAoB3C,2BAA2BwC,QAAQI,MAAM,EAAEhC;QACrE,MAAMiC,YAAY5C,mBAAmBsB,MAAMoB;QAC3C,MAAMG,kBAAkB1C,mBAAmB;YAAEmB,MAAMsB;YAAWjC;YAAY2B;QAAI;QAE9E,IAAIO,iBAAiB;YACnB,OAAOA;QACT;QAEA,MAAMC,aAAa5C,4BAA4B0C;QAE/C,MAAMG,gBAA4D;YAChEC,MAAMrC;YACNW,MAAMwB;YACNnB;YACAI;YACA,GAAG9B,iBAAiBoC,cAAc;QACpC;QAEA,IAAIH,QAAQ;YACVa,cAAcb,MAAM,GAAGA;QACzB;QACA,IAAID,gBAAgB;YAClBc,cAAcd,cAAc,GAAGA;QACjC;QACA,IAAIE,QAAQ;YACVY,cAAcZ,MAAM,GAAGA;QACzB;QAEA,MAAMc,SAAS,MAAMV,QAAQW,YAAY,CAACH;QAE1C,OAAO;YACLI,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,QAAQ,EAAE1C,WAAW,qCAAqC,EAAE2C,KAAKC,SAAS,CAACN,QAAQ,QAAQ,CAAC;gBACrG;aACD;YACDO,KAAKP;QACP;IACF,EAAE,OAAOQ,OAAO;QACd,MAAMC,eAAeD,iBAAiBE,QAAQF,MAAMG,OAAO,GAAG;QAC9DpB,OAAOiB,KAAK,CAAC,CAAC,sBAAsB,EAAE9C,WAAW,EAAE,EAAE+C,cAAc;QACnE,OAAO;YACLP,SAAS;gBAAC;oBAAEC,MAAM;oBAAQC,MAAM,CAAC,uBAAuB,EAAE1C,WAAW,GAAG,EAAE+C,cAAc;gBAAC;aAAE;QAC7F;IACF;AACF,GAAE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CollectionSlug, GlobalSlug, PayloadRequest } from 'payload';
|
|
2
|
+
import type { MCPToolResponse } from '../../types.js';
|
|
3
|
+
export declare const validateCollectionData: ({ collectionSlug, data, partial, req, }: {
|
|
4
|
+
collectionSlug: CollectionSlug;
|
|
5
|
+
data: Record<string, unknown>;
|
|
6
|
+
partial?: boolean;
|
|
7
|
+
req: PayloadRequest;
|
|
8
|
+
}) => MCPToolResponse | null;
|
|
9
|
+
export declare const validateGlobalData: ({ data, globalSlug, req, }: {
|
|
10
|
+
data: Record<string, unknown>;
|
|
11
|
+
globalSlug: GlobalSlug;
|
|
12
|
+
req: PayloadRequest;
|
|
13
|
+
}) => MCPToolResponse | null;
|
|
14
|
+
//# sourceMappingURL=validateEntityData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateEntityData.d.ts","sourceRoot":"","sources":["../../../src/mcp/builtin/validateEntityData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAmB,MAAM,SAAS,CAAA;AAI1F,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAuBrE,eAAO,MAAM,sBAAsB,GAAI,yCAKpC;IACD,cAAc,EAAE,cAAc,CAAA;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,eAAe,GAAG,IAQlB,CAAA;AAEJ,eAAO,MAAM,kBAAkB,GAAI,4BAIhC;IACD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,UAAU,EAAE,UAAU,CAAA;IACtB,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,eAAe,GAAG,IAQlB,CAAA"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { CfWorkerJsonSchemaValidator } from '@modelcontextprotocol/server';
|
|
2
|
+
import { getCollectionInputSchema, getGlobalInputSchema } from '../../utils/schemaConversion/getEntityInputSchema.js';
|
|
3
|
+
/**
|
|
4
|
+
* Keep the default `shortcircuit: true` - `false` makes validating nested rich text exponentially slow.
|
|
5
|
+
*/ const validator = new CfWorkerJsonSchemaValidator({
|
|
6
|
+
shortcircuit: true
|
|
7
|
+
});
|
|
8
|
+
/**
|
|
9
|
+
* - Caches each entity's schema and validator, so both are only built on the first request.
|
|
10
|
+
* - Keyed by payload config, then by entity type, slug, partial and language.
|
|
11
|
+
*/ const validatorCache = new WeakMap();
|
|
12
|
+
export const validateCollectionData = ({ collectionSlug, data, partial, req })=>validateData({
|
|
13
|
+
slug: collectionSlug,
|
|
14
|
+
buildSchema: ()=>getCollectionInputSchema({
|
|
15
|
+
collectionSlug,
|
|
16
|
+
req
|
|
17
|
+
}),
|
|
18
|
+
data,
|
|
19
|
+
entity: 'collection',
|
|
20
|
+
partial,
|
|
21
|
+
req
|
|
22
|
+
});
|
|
23
|
+
export const validateGlobalData = ({ data, globalSlug, req })=>validateData({
|
|
24
|
+
slug: globalSlug,
|
|
25
|
+
buildSchema: ()=>getGlobalInputSchema({
|
|
26
|
+
globalSlug,
|
|
27
|
+
req
|
|
28
|
+
}),
|
|
29
|
+
data,
|
|
30
|
+
entity: 'global',
|
|
31
|
+
partial: true,
|
|
32
|
+
req
|
|
33
|
+
});
|
|
34
|
+
const validateData = ({ slug, buildSchema, data, entity, partial, req })=>{
|
|
35
|
+
let cache = validatorCache.get(req.payload.config);
|
|
36
|
+
if (!cache) {
|
|
37
|
+
cache = new Map();
|
|
38
|
+
validatorCache.set(req.payload.config, cache);
|
|
39
|
+
}
|
|
40
|
+
const cacheKey = `${entity}:${slug}:${partial ? 'partial' : 'full'}:${req.i18n.language}`;
|
|
41
|
+
let entityValidator = cache.get(cacheKey);
|
|
42
|
+
if (!entityValidator) {
|
|
43
|
+
const schema = buildSchema();
|
|
44
|
+
if (!schema) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
entityValidator = {
|
|
48
|
+
schema,
|
|
49
|
+
validate: validator.getValidator(partial ? withoutRequired(schema) : schema)
|
|
50
|
+
};
|
|
51
|
+
cache.set(cacheKey, entityValidator);
|
|
52
|
+
}
|
|
53
|
+
const result = entityValidator.validate(data);
|
|
54
|
+
if (result.valid) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
const { schema } = entityValidator;
|
|
58
|
+
return {
|
|
59
|
+
content: [
|
|
60
|
+
{
|
|
61
|
+
type: 'text',
|
|
62
|
+
text: `Invalid data for ${entity} "${slug}": ${result.errorMessage}\n\nUse this schema for data:\n\`\`\`json\n${JSON.stringify(schema)}\n\`\`\``
|
|
63
|
+
}
|
|
64
|
+
],
|
|
65
|
+
isError: true,
|
|
66
|
+
structuredContent: {
|
|
67
|
+
[`${entity}Slug`]: slug,
|
|
68
|
+
errors: [
|
|
69
|
+
{
|
|
70
|
+
message: result.errorMessage
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
schema
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
/** Updates are partial — drop the schema's top-level `required` before validating. */ const withoutRequired = (schema)=>{
|
|
78
|
+
const { required: _required, ...rest } = schema;
|
|
79
|
+
return rest;
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
//# sourceMappingURL=validateEntityData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/mcp/builtin/validateEntityData.ts"],"sourcesContent":["import type { CollectionSlug, GlobalSlug, PayloadRequest, SanitizedConfig } from 'payload'\n\nimport { CfWorkerJsonSchemaValidator } from '@modelcontextprotocol/server'\n\nimport type { JsonSchemaType, MCPToolResponse } from '../../types.js'\n\nimport {\n getCollectionInputSchema,\n getGlobalInputSchema,\n} from '../../utils/schemaConversion/getEntityInputSchema.js'\n\n/**\n * Keep the default `shortcircuit: true` - `false` makes validating nested rich text exponentially slow.\n */\nconst validator = new CfWorkerJsonSchemaValidator({ shortcircuit: true })\n\ntype EntityValidator = {\n schema: JsonSchemaType\n validate: ReturnType<(typeof validator)['getValidator']>\n}\n\n/**\n * - Caches each entity's schema and validator, so both are only built on the first request.\n * - Keyed by payload config, then by entity type, slug, partial and language.\n */\nconst validatorCache = new WeakMap<SanitizedConfig, Map<string, EntityValidator>>()\n\nexport const validateCollectionData = ({\n collectionSlug,\n data,\n partial,\n req,\n}: {\n collectionSlug: CollectionSlug\n data: Record<string, unknown>\n partial?: boolean\n req: PayloadRequest\n}): MCPToolResponse | null =>\n validateData({\n slug: collectionSlug,\n buildSchema: () => getCollectionInputSchema({ collectionSlug, req }),\n data,\n entity: 'collection',\n partial,\n req,\n })\n\nexport const validateGlobalData = ({\n data,\n globalSlug,\n req,\n}: {\n data: Record<string, unknown>\n globalSlug: GlobalSlug\n req: PayloadRequest\n}): MCPToolResponse | null =>\n validateData({\n slug: globalSlug,\n buildSchema: () => getGlobalInputSchema({ globalSlug, req }),\n data,\n entity: 'global',\n partial: true,\n req,\n })\n\nconst validateData = ({\n slug,\n buildSchema,\n data,\n entity,\n partial,\n req,\n}: {\n buildSchema: () => JsonSchemaType | null\n data: Record<string, unknown>\n entity: 'collection' | 'global'\n partial?: boolean\n req: PayloadRequest\n slug: string\n}): MCPToolResponse | null => {\n let cache = validatorCache.get(req.payload.config)\n if (!cache) {\n cache = new Map()\n validatorCache.set(req.payload.config, cache)\n }\n\n const cacheKey = `${entity}:${slug}:${partial ? 'partial' : 'full'}:${req.i18n.language}`\n let entityValidator = cache.get(cacheKey)\n\n if (!entityValidator) {\n const schema = buildSchema()\n\n if (!schema) {\n return null\n }\n\n entityValidator = {\n schema,\n validate: validator.getValidator(partial ? withoutRequired(schema) : schema),\n }\n cache.set(cacheKey, entityValidator)\n }\n\n const result = entityValidator.validate(data)\n\n if (result.valid) {\n return null\n }\n\n const { schema } = entityValidator\n\n return {\n content: [\n {\n type: 'text',\n text: `Invalid data for ${entity} \"${slug}\": ${result.errorMessage}\\n\\nUse this schema for data:\\n\\`\\`\\`json\\n${JSON.stringify(schema)}\\n\\`\\`\\``,\n },\n ],\n isError: true,\n structuredContent: {\n [`${entity}Slug`]: slug,\n errors: [{ message: result.errorMessage }],\n schema,\n },\n }\n}\n\n/** Updates are partial — drop the schema's top-level `required` before validating. */\nconst withoutRequired = (schema: JsonSchemaType): JsonSchemaType => {\n const { required: _required, ...rest } = schema\n return rest\n}\n"],"names":["CfWorkerJsonSchemaValidator","getCollectionInputSchema","getGlobalInputSchema","validator","shortcircuit","validatorCache","WeakMap","validateCollectionData","collectionSlug","data","partial","req","validateData","slug","buildSchema","entity","validateGlobalData","globalSlug","cache","get","payload","config","Map","set","cacheKey","i18n","language","entityValidator","schema","validate","getValidator","withoutRequired","result","valid","content","type","text","errorMessage","JSON","stringify","isError","structuredContent","errors","message","required","_required","rest"],"mappings":"AAEA,SAASA,2BAA2B,QAAQ,+BAA8B;AAI1E,SACEC,wBAAwB,EACxBC,oBAAoB,QACf,uDAAsD;AAE7D;;CAEC,GACD,MAAMC,YAAY,IAAIH,4BAA4B;IAAEI,cAAc;AAAK;AAOvE;;;CAGC,GACD,MAAMC,iBAAiB,IAAIC;AAE3B,OAAO,MAAMC,yBAAyB,CAAC,EACrCC,cAAc,EACdC,IAAI,EACJC,OAAO,EACPC,GAAG,EAMJ,GACCC,aAAa;QACXC,MAAML;QACNM,aAAa,IAAMb,yBAAyB;gBAAEO;gBAAgBG;YAAI;QAClEF;QACAM,QAAQ;QACRL;QACAC;IACF,GAAE;AAEJ,OAAO,MAAMK,qBAAqB,CAAC,EACjCP,IAAI,EACJQ,UAAU,EACVN,GAAG,EAKJ,GACCC,aAAa;QACXC,MAAMI;QACNH,aAAa,IAAMZ,qBAAqB;gBAAEe;gBAAYN;YAAI;QAC1DF;QACAM,QAAQ;QACRL,SAAS;QACTC;IACF,GAAE;AAEJ,MAAMC,eAAe,CAAC,EACpBC,IAAI,EACJC,WAAW,EACXL,IAAI,EACJM,MAAM,EACNL,OAAO,EACPC,GAAG,EAQJ;IACC,IAAIO,QAAQb,eAAec,GAAG,CAACR,IAAIS,OAAO,CAACC,MAAM;IACjD,IAAI,CAACH,OAAO;QACVA,QAAQ,IAAII;QACZjB,eAAekB,GAAG,CAACZ,IAAIS,OAAO,CAACC,MAAM,EAAEH;IACzC;IAEA,MAAMM,WAAW,GAAGT,OAAO,CAAC,EAAEF,KAAK,CAAC,EAAEH,UAAU,YAAY,OAAO,CAAC,EAAEC,IAAIc,IAAI,CAACC,QAAQ,EAAE;IACzF,IAAIC,kBAAkBT,MAAMC,GAAG,CAACK;IAEhC,IAAI,CAACG,iBAAiB;QACpB,MAAMC,SAASd;QAEf,IAAI,CAACc,QAAQ;YACX,OAAO;QACT;QAEAD,kBAAkB;YAChBC;YACAC,UAAU1B,UAAU2B,YAAY,CAACpB,UAAUqB,gBAAgBH,UAAUA;QACvE;QACAV,MAAMK,GAAG,CAACC,UAAUG;IACtB;IAEA,MAAMK,SAASL,gBAAgBE,QAAQ,CAACpB;IAExC,IAAIuB,OAAOC,KAAK,EAAE;QAChB,OAAO;IACT;IAEA,MAAM,EAAEL,MAAM,EAAE,GAAGD;IAEnB,OAAO;QACLO,SAAS;YACP;gBACEC,MAAM;gBACNC,MAAM,CAAC,iBAAiB,EAAErB,OAAO,EAAE,EAAEF,KAAK,GAAG,EAAEmB,OAAOK,YAAY,CAAC,2CAA2C,EAAEC,KAAKC,SAAS,CAACX,QAAQ,QAAQ,CAAC;YAClJ;SACD;QACDY,SAAS;QACTC,mBAAmB;YACjB,CAAC,GAAG1B,OAAO,IAAI,CAAC,CAAC,EAAEF;YACnB6B,QAAQ;gBAAC;oBAAEC,SAASX,OAAOK,YAAY;gBAAC;aAAE;YAC1CT;QACF;IACF;AACF;AAEA,oFAAoF,GACpF,MAAMG,kBAAkB,CAACH;IACvB,MAAM,EAAEgB,UAAUC,SAAS,EAAE,GAAGC,MAAM,GAAGlB;IACzC,OAAOkB;AACT"}
|
|
@@ -1,37 +1,162 @@
|
|
|
1
|
-
import type { CollectionTool, GlobalTool } from '../types.js';
|
|
1
|
+
import type { CollectionTool, GlobalTool, Tool } from '../types.js';
|
|
2
|
+
type CollectionBuiltin = {
|
|
3
|
+
mcpName: string;
|
|
4
|
+
requiresDuplicateEnabled?: boolean;
|
|
5
|
+
requiresVersions?: boolean;
|
|
6
|
+
tool: CollectionTool;
|
|
7
|
+
};
|
|
8
|
+
type GlobalBuiltin = {
|
|
9
|
+
mcpName: string;
|
|
10
|
+
requiresVersions?: boolean;
|
|
11
|
+
tool: GlobalTool;
|
|
12
|
+
};
|
|
13
|
+
export declare const TOOL_BUILTINS: {
|
|
14
|
+
getConfigInfo: {
|
|
15
|
+
mcpName: string;
|
|
16
|
+
tool: Tool;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
2
19
|
/**
|
|
3
20
|
* The static built-in collection CRUD tools. Keys here are the source of truth
|
|
4
21
|
* for `MCPCollectionBuiltinName` — adding/removing an entry updates the type
|
|
5
22
|
* automatically.
|
|
6
23
|
*/
|
|
7
|
-
export declare const COLLECTION_BUILTINS:
|
|
24
|
+
export declare const COLLECTION_BUILTINS: {
|
|
25
|
+
count: {
|
|
26
|
+
mcpName: string;
|
|
27
|
+
tool: CollectionTool;
|
|
28
|
+
};
|
|
29
|
+
countVersions: {
|
|
30
|
+
mcpName: string;
|
|
31
|
+
requiresVersions: true;
|
|
32
|
+
tool: CollectionTool;
|
|
33
|
+
};
|
|
34
|
+
create: {
|
|
35
|
+
mcpName: string;
|
|
36
|
+
tool: CollectionTool;
|
|
37
|
+
};
|
|
38
|
+
delete: {
|
|
39
|
+
mcpName: string;
|
|
40
|
+
tool: CollectionTool;
|
|
41
|
+
};
|
|
42
|
+
duplicate: {
|
|
43
|
+
mcpName: string;
|
|
44
|
+
requiresDuplicateEnabled: true;
|
|
45
|
+
tool: CollectionTool;
|
|
46
|
+
};
|
|
47
|
+
find: {
|
|
48
|
+
mcpName: string;
|
|
49
|
+
tool: CollectionTool;
|
|
50
|
+
};
|
|
51
|
+
findDistinct: {
|
|
52
|
+
mcpName: string;
|
|
53
|
+
tool: CollectionTool;
|
|
54
|
+
};
|
|
55
|
+
findVersionByID: {
|
|
56
|
+
mcpName: string;
|
|
57
|
+
requiresVersions: true;
|
|
58
|
+
tool: CollectionTool;
|
|
59
|
+
};
|
|
60
|
+
findVersions: {
|
|
61
|
+
mcpName: string;
|
|
62
|
+
requiresVersions: true;
|
|
63
|
+
tool: CollectionTool;
|
|
64
|
+
};
|
|
65
|
+
getCollectionSchema: {
|
|
66
|
+
mcpName: string;
|
|
67
|
+
tool: CollectionTool;
|
|
68
|
+
};
|
|
69
|
+
restoreVersion: {
|
|
70
|
+
mcpName: string;
|
|
71
|
+
requiresVersions: true;
|
|
72
|
+
tool: CollectionTool;
|
|
73
|
+
};
|
|
74
|
+
update: {
|
|
75
|
+
mcpName: string;
|
|
76
|
+
tool: CollectionTool;
|
|
77
|
+
};
|
|
78
|
+
};
|
|
8
79
|
/**
|
|
9
|
-
* The static auth tools surfaced under auth-enabled collections.
|
|
10
|
-
*
|
|
11
|
-
* for `MCPCollectionAuthToolName`.
|
|
80
|
+
* The static auth tools surfaced under auth-enabled collections. Keys are the
|
|
81
|
+
* source of truth for `MCPCollectionAuthToolName`.
|
|
12
82
|
*/
|
|
13
|
-
export declare const COLLECTION_AUTH_BUILTINS:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
83
|
+
export declare const COLLECTION_AUTH_BUILTINS: {
|
|
84
|
+
auth: {
|
|
85
|
+
mcpName: string;
|
|
86
|
+
tool: CollectionTool;
|
|
87
|
+
};
|
|
88
|
+
forgotPassword: {
|
|
89
|
+
mcpName: string;
|
|
90
|
+
tool: CollectionTool;
|
|
91
|
+
};
|
|
92
|
+
login: {
|
|
93
|
+
mcpName: string;
|
|
94
|
+
tool: CollectionTool;
|
|
95
|
+
};
|
|
96
|
+
resetPassword: {
|
|
97
|
+
mcpName: string;
|
|
98
|
+
tool: CollectionTool;
|
|
99
|
+
};
|
|
100
|
+
unlock: {
|
|
101
|
+
mcpName: string;
|
|
102
|
+
tool: CollectionTool;
|
|
103
|
+
};
|
|
104
|
+
verify: {
|
|
105
|
+
mcpName: string;
|
|
106
|
+
tool: CollectionTool;
|
|
107
|
+
};
|
|
108
|
+
};
|
|
17
109
|
/**
|
|
18
110
|
* The static built-in global tools. Keys are the source of truth for
|
|
19
111
|
* `MCPGlobalBuiltinName`.
|
|
20
112
|
*/
|
|
21
|
-
export declare const GLOBAL_BUILTINS:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
113
|
+
export declare const GLOBAL_BUILTINS: {
|
|
114
|
+
countGlobalVersions: {
|
|
115
|
+
mcpName: string;
|
|
116
|
+
requiresVersions: true;
|
|
117
|
+
tool: GlobalTool;
|
|
118
|
+
};
|
|
119
|
+
find: {
|
|
120
|
+
mcpName: string;
|
|
121
|
+
tool: GlobalTool;
|
|
122
|
+
};
|
|
123
|
+
findGlobalVersionByID: {
|
|
124
|
+
mcpName: string;
|
|
125
|
+
requiresVersions: true;
|
|
126
|
+
tool: GlobalTool;
|
|
127
|
+
};
|
|
128
|
+
findGlobalVersions: {
|
|
129
|
+
mcpName: string;
|
|
130
|
+
requiresVersions: true;
|
|
131
|
+
tool: GlobalTool;
|
|
132
|
+
};
|
|
133
|
+
getGlobalSchema: {
|
|
134
|
+
mcpName: string;
|
|
135
|
+
tool: GlobalTool;
|
|
136
|
+
};
|
|
137
|
+
restoreGlobalVersion: {
|
|
138
|
+
mcpName: string;
|
|
139
|
+
requiresVersions: true;
|
|
140
|
+
tool: GlobalTool;
|
|
141
|
+
};
|
|
142
|
+
update: {
|
|
143
|
+
mcpName: string;
|
|
144
|
+
tool: GlobalTool;
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
export type MCPCollectionBuiltinName = keyof typeof COLLECTION_BUILTINS;
|
|
148
|
+
export type MCPCollectionAuthToolName = keyof typeof COLLECTION_AUTH_BUILTINS;
|
|
149
|
+
export type MCPGlobalBuiltinName = keyof typeof GLOBAL_BUILTINS;
|
|
150
|
+
export type MCPTopLevelBuiltinName = keyof typeof TOOL_BUILTINS;
|
|
25
151
|
/**
|
|
26
152
|
* Pre-typed `Object.entries` for each registry. The cast from `string` to the
|
|
27
153
|
* literal key union lives here once so consumers can iterate without their own
|
|
28
154
|
* cast — TypeScript's `Object.entries` always widens keys to `string`, which
|
|
29
155
|
* defeats the narrow type lookups on `MCPCollectionToolsMap`.
|
|
30
156
|
*/
|
|
31
|
-
export declare const
|
|
32
|
-
export declare const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
export declare const GLOBAL_BUILTIN_ENTRIES: Array<[MCPGlobalBuiltinName, GlobalTool]>;
|
|
157
|
+
export declare const TOOL_BUILTIN_ENTRIES: Array<[MCPTopLevelBuiltinName, (typeof TOOL_BUILTINS)[MCPTopLevelBuiltinName]]>;
|
|
158
|
+
export declare const COLLECTION_BUILTIN_ENTRIES: Array<[MCPCollectionBuiltinName, CollectionBuiltin]>;
|
|
159
|
+
export declare const COLLECTION_AUTH_BUILTIN_ENTRIES: Array<[MCPCollectionAuthToolName, (typeof COLLECTION_AUTH_BUILTINS)[MCPCollectionAuthToolName]]>;
|
|
160
|
+
export declare const GLOBAL_BUILTIN_ENTRIES: Array<[MCPGlobalBuiltinName, GlobalBuiltin]>;
|
|
161
|
+
export {};
|
|
37
162
|
//# sourceMappingURL=builtinTools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtinTools.d.ts","sourceRoot":"","sources":["../../src/mcp/builtinTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"builtinTools.d.ts","sourceRoot":"","sources":["../../src/mcp/builtinTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AA+BnE,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,EAAE,cAAc,CAAA;CACrB,CAAA;AAED,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,EAAE,UAAU,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,aAAa;;;;;CAEiC,CAAA;AAE3D;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqBa,CAAA;AAE7C;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;CAagC,CAAA;AAErE;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwBa,CAAA;AAEzC,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,mBAAmB,CAAA;AAEvE,MAAM,MAAM,yBAAyB,GAAG,MAAM,OAAO,wBAAwB,CAAA;AAE7E,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,eAAe,CAAA;AAE/D,MAAM,MAAM,sBAAsB,GAAG,MAAM,OAAO,aAAa,CAAA;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAoC,KAAK,CACxE,CAAC,sBAAsB,EAAE,CAAC,OAAO,aAAa,EAAE,sBAAsB,CAAC,CAAC,CACzE,CAAA;AAED,eAAO,MAAM,0BAA0B,EAA0C,KAAK,CACpF,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,CAC9C,CAAA;AAED,eAAO,MAAM,+BAA+B,EAA+C,KAAK,CAC9F,CAAC,yBAAyB,EAAE,CAAC,OAAO,wBAAwB,EAAE,yBAAyB,CAAC,CAAC,CAC1F,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAsC,KAAK,CAC5E,CAAC,oBAAoB,EAAE,aAAa,CAAC,CACtC,CAAA"}
|
package/dist/mcp/builtinTools.js
CHANGED
|
@@ -1,47 +1,115 @@
|
|
|
1
1
|
import { authCollectionTool, forgotPasswordCollectionTool, loginCollectionTool, resetPasswordCollectionTool, unlockCollectionTool, verifyCollectionTool } from './builtin/collections/authTools.js';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { countDocumentsTool } from './builtin/collections/countTool.js';
|
|
3
|
+
import { countVersionsTool } from './builtin/collections/countVersionsTool.js';
|
|
4
|
+
import { createDocumentTool } from './builtin/collections/createTool.js';
|
|
5
|
+
import { deleteDocumentsTool } from './builtin/collections/deleteTool.js';
|
|
6
|
+
import { duplicateDocumentTool } from './builtin/collections/duplicateTool.js';
|
|
7
|
+
import { findDistinctTool } from './builtin/collections/findDistinctTool.js';
|
|
8
|
+
import { findDocumentsTool } from './builtin/collections/findTool.js';
|
|
9
|
+
import { findVersionByIDTool } from './builtin/collections/findVersionByIDTool.js';
|
|
10
|
+
import { findVersionsTool } from './builtin/collections/findVersionsTool.js';
|
|
11
|
+
import { getCollectionSchemaTool } from './builtin/collections/getCollectionSchemaTool.js';
|
|
12
|
+
import { restoreVersionTool } from './builtin/collections/restoreVersionTool.js';
|
|
13
|
+
import { updateDocumentTool } from './builtin/collections/updateTool.js';
|
|
14
|
+
import { getConfigInfoTool } from './builtin/getConfigInfoTool.js';
|
|
15
|
+
import { countGlobalVersionsTool } from './builtin/globals/countVersionsTool.js';
|
|
6
16
|
import { findGlobalTool } from './builtin/globals/findTool.js';
|
|
17
|
+
import { findGlobalVersionByIDTool } from './builtin/globals/findVersionByIDTool.js';
|
|
18
|
+
import { findGlobalVersionsTool } from './builtin/globals/findVersionsTool.js';
|
|
19
|
+
import { getGlobalSchemaTool } from './builtin/globals/getGlobalSchemaTool.js';
|
|
20
|
+
import { restoreGlobalVersionTool } from './builtin/globals/restoreVersionTool.js';
|
|
7
21
|
import { updateGlobalTool } from './builtin/globals/updateTool.js';
|
|
22
|
+
export const TOOL_BUILTINS = {
|
|
23
|
+
getConfigInfo: {
|
|
24
|
+
mcpName: 'getConfigInfo',
|
|
25
|
+
tool: getConfigInfoTool
|
|
26
|
+
}
|
|
27
|
+
};
|
|
8
28
|
/**
|
|
9
29
|
* The static built-in collection CRUD tools. Keys here are the source of truth
|
|
10
30
|
* for `MCPCollectionBuiltinName` — adding/removing an entry updates the type
|
|
11
31
|
* automatically.
|
|
12
32
|
*/ export const COLLECTION_BUILTINS = {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
33
|
+
count: {
|
|
34
|
+
mcpName: 'countDocuments',
|
|
35
|
+
tool: countDocumentsTool
|
|
36
|
+
},
|
|
37
|
+
countVersions: {
|
|
38
|
+
mcpName: 'countVersions',
|
|
39
|
+
requiresVersions: true,
|
|
40
|
+
tool: countVersionsTool
|
|
41
|
+
},
|
|
42
|
+
create: {
|
|
43
|
+
mcpName: 'createDocument',
|
|
44
|
+
tool: createDocumentTool
|
|
45
|
+
},
|
|
46
|
+
delete: {
|
|
47
|
+
mcpName: 'deleteDocuments',
|
|
48
|
+
tool: deleteDocumentsTool
|
|
49
|
+
},
|
|
50
|
+
duplicate: {
|
|
51
|
+
mcpName: 'duplicateDocument',
|
|
52
|
+
requiresDuplicateEnabled: true,
|
|
53
|
+
tool: duplicateDocumentTool
|
|
54
|
+
},
|
|
55
|
+
find: {
|
|
56
|
+
mcpName: 'findDocuments',
|
|
57
|
+
tool: findDocumentsTool
|
|
58
|
+
},
|
|
59
|
+
findDistinct: {
|
|
60
|
+
mcpName: 'findDistinct',
|
|
61
|
+
tool: findDistinctTool
|
|
62
|
+
},
|
|
63
|
+
findVersionByID: {
|
|
64
|
+
mcpName: 'findVersionByID',
|
|
65
|
+
requiresVersions: true,
|
|
66
|
+
tool: findVersionByIDTool
|
|
67
|
+
},
|
|
68
|
+
findVersions: {
|
|
69
|
+
mcpName: 'findVersions',
|
|
70
|
+
requiresVersions: true,
|
|
71
|
+
tool: findVersionsTool
|
|
72
|
+
},
|
|
73
|
+
getCollectionSchema: {
|
|
74
|
+
mcpName: 'getCollectionSchema',
|
|
75
|
+
tool: getCollectionSchemaTool
|
|
76
|
+
},
|
|
77
|
+
restoreVersion: {
|
|
78
|
+
mcpName: 'restoreVersion',
|
|
79
|
+
requiresVersions: true,
|
|
80
|
+
tool: restoreVersionTool
|
|
81
|
+
},
|
|
82
|
+
update: {
|
|
83
|
+
mcpName: 'updateDocument',
|
|
84
|
+
tool: updateDocumentTool
|
|
85
|
+
}
|
|
17
86
|
};
|
|
18
87
|
/**
|
|
19
|
-
* The static auth tools surfaced under auth-enabled collections.
|
|
20
|
-
*
|
|
21
|
-
* for `MCPCollectionAuthToolName`.
|
|
88
|
+
* The static auth tools surfaced under auth-enabled collections. Keys are the
|
|
89
|
+
* source of truth for `MCPCollectionAuthToolName`.
|
|
22
90
|
*/ export const COLLECTION_AUTH_BUILTINS = {
|
|
23
91
|
auth: {
|
|
24
|
-
|
|
92
|
+
mcpName: 'auth',
|
|
25
93
|
tool: authCollectionTool
|
|
26
94
|
},
|
|
27
95
|
forgotPassword: {
|
|
28
|
-
|
|
96
|
+
mcpName: 'forgotPassword',
|
|
29
97
|
tool: forgotPasswordCollectionTool
|
|
30
98
|
},
|
|
31
99
|
login: {
|
|
32
|
-
|
|
100
|
+
mcpName: 'login',
|
|
33
101
|
tool: loginCollectionTool
|
|
34
102
|
},
|
|
35
103
|
resetPassword: {
|
|
36
|
-
|
|
104
|
+
mcpName: 'resetPassword',
|
|
37
105
|
tool: resetPasswordCollectionTool
|
|
38
106
|
},
|
|
39
107
|
unlock: {
|
|
40
|
-
|
|
108
|
+
mcpName: 'unlock',
|
|
41
109
|
tool: unlockCollectionTool
|
|
42
110
|
},
|
|
43
111
|
verify: {
|
|
44
|
-
|
|
112
|
+
mcpName: 'verify',
|
|
45
113
|
tool: verifyCollectionTool
|
|
46
114
|
}
|
|
47
115
|
};
|
|
@@ -49,15 +117,46 @@ import { updateGlobalTool } from './builtin/globals/updateTool.js';
|
|
|
49
117
|
* The static built-in global tools. Keys are the source of truth for
|
|
50
118
|
* `MCPGlobalBuiltinName`.
|
|
51
119
|
*/ export const GLOBAL_BUILTINS = {
|
|
52
|
-
|
|
53
|
-
|
|
120
|
+
countGlobalVersions: {
|
|
121
|
+
mcpName: 'countGlobalVersions',
|
|
122
|
+
requiresVersions: true,
|
|
123
|
+
tool: countGlobalVersionsTool
|
|
124
|
+
},
|
|
125
|
+
find: {
|
|
126
|
+
mcpName: 'findGlobal',
|
|
127
|
+
tool: findGlobalTool
|
|
128
|
+
},
|
|
129
|
+
findGlobalVersionByID: {
|
|
130
|
+
mcpName: 'findGlobalVersionByID',
|
|
131
|
+
requiresVersions: true,
|
|
132
|
+
tool: findGlobalVersionByIDTool
|
|
133
|
+
},
|
|
134
|
+
findGlobalVersions: {
|
|
135
|
+
mcpName: 'findGlobalVersions',
|
|
136
|
+
requiresVersions: true,
|
|
137
|
+
tool: findGlobalVersionsTool
|
|
138
|
+
},
|
|
139
|
+
getGlobalSchema: {
|
|
140
|
+
mcpName: 'getGlobalSchema',
|
|
141
|
+
tool: getGlobalSchemaTool
|
|
142
|
+
},
|
|
143
|
+
restoreGlobalVersion: {
|
|
144
|
+
mcpName: 'restoreGlobalVersion',
|
|
145
|
+
requiresVersions: true,
|
|
146
|
+
tool: restoreGlobalVersionTool
|
|
147
|
+
},
|
|
148
|
+
update: {
|
|
149
|
+
mcpName: 'updateGlobal',
|
|
150
|
+
tool: updateGlobalTool
|
|
151
|
+
}
|
|
54
152
|
};
|
|
55
153
|
/**
|
|
56
154
|
* Pre-typed `Object.entries` for each registry. The cast from `string` to the
|
|
57
155
|
* literal key union lives here once so consumers can iterate without their own
|
|
58
156
|
* cast — TypeScript's `Object.entries` always widens keys to `string`, which
|
|
59
157
|
* defeats the narrow type lookups on `MCPCollectionToolsMap`.
|
|
60
|
-
*/ export const
|
|
158
|
+
*/ export const TOOL_BUILTIN_ENTRIES = Object.entries(TOOL_BUILTINS);
|
|
159
|
+
export const COLLECTION_BUILTIN_ENTRIES = Object.entries(COLLECTION_BUILTINS);
|
|
61
160
|
export const COLLECTION_AUTH_BUILTIN_ENTRIES = Object.entries(COLLECTION_AUTH_BUILTINS);
|
|
62
161
|
export const GLOBAL_BUILTIN_ENTRIES = Object.entries(GLOBAL_BUILTINS);
|
|
63
162
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/mcp/builtinTools.ts"],"sourcesContent":["import type { CollectionTool, GlobalTool } from '../types.js'\n\nimport {\n authCollectionTool,\n forgotPasswordCollectionTool,\n loginCollectionTool,\n resetPasswordCollectionTool,\n unlockCollectionTool,\n verifyCollectionTool,\n} from './builtin/collections/authTools.js'\nimport { createCollectionTool } from './builtin/collections/createTool.js'\nimport { deleteCollectionTool } from './builtin/collections/deleteTool.js'\nimport { findCollectionTool } from './builtin/collections/findTool.js'\nimport { updateCollectionTool } from './builtin/collections/updateTool.js'\nimport { findGlobalTool } from './builtin/globals/findTool.js'\nimport { updateGlobalTool } from './builtin/globals/updateTool.js'\n\n/**\n * The static built-in collection CRUD tools. Keys here are the source of truth\n * for `MCPCollectionBuiltinName` — adding/removing an entry updates the type\n * automatically.\n */\nexport const COLLECTION_BUILTINS: Record<MCPCollectionBuiltinName, CollectionTool> = {\n create: createCollectionTool,\n delete: deleteCollectionTool,\n find: findCollectionTool,\n update: updateCollectionTool,\n}\n\n/**\n * The static auth tools surfaced under auth-enabled collections. Each entry\n * carries the admin-UI label alongside the tool. Keys are the source of truth\n * for `MCPCollectionAuthToolName`.\n */\nexport const COLLECTION_AUTH_BUILTINS: Record<\n MCPCollectionAuthToolName,\n { label: string; tool: CollectionTool }\n> = {\n auth: { label: 'Check Auth Status', tool: authCollectionTool },\n forgotPassword: { label: 'Forgot Password', tool: forgotPasswordCollectionTool },\n login: { label: 'User Login', tool: loginCollectionTool },\n resetPassword: { label: 'Reset Password', tool: resetPasswordCollectionTool },\n unlock: { label: 'Unlock Account', tool: unlockCollectionTool },\n verify: { label: 'Email Verification', tool: verifyCollectionTool },\n}\n\n/**\n * The static built-in global tools. Keys are the source of truth for\n * `MCPGlobalBuiltinName`.\n */\nexport const GLOBAL_BUILTINS: Record<MCPGlobalBuiltinName, GlobalTool> = {\n find: findGlobalTool,\n update: updateGlobalTool,\n}\n\nexport type MCPCollectionBuiltinName = 'create' | 'delete' | 'find' | 'update'\n\nexport type MCPCollectionAuthToolName =\n | 'auth'\n | 'forgotPassword'\n | 'login'\n | 'resetPassword'\n | 'unlock'\n | 'verify'\n\nexport type MCPGlobalBuiltinName = 'find' | 'update'\n\n/**\n * Pre-typed `Object.entries` for each registry. The cast from `string` to the\n * literal key union lives here once so consumers can iterate without their own\n * cast — TypeScript's `Object.entries` always widens keys to `string`, which\n * defeats the narrow type lookups on `MCPCollectionToolsMap`.\n */\nexport const COLLECTION_BUILTIN_ENTRIES = Object.entries(COLLECTION_BUILTINS) as Array<\n [MCPCollectionBuiltinName, CollectionTool]\n>\n\nexport const COLLECTION_AUTH_BUILTIN_ENTRIES = Object.entries(COLLECTION_AUTH_BUILTINS) as Array<\n [MCPCollectionAuthToolName, { label: string; tool: CollectionTool }]\n>\n\nexport const GLOBAL_BUILTIN_ENTRIES = Object.entries(GLOBAL_BUILTINS) as Array<\n [MCPGlobalBuiltinName, GlobalTool]\n>\n"],"names":["authCollectionTool","forgotPasswordCollectionTool","loginCollectionTool","resetPasswordCollectionTool","unlockCollectionTool","verifyCollectionTool","createCollectionTool","deleteCollectionTool","findCollectionTool","updateCollectionTool","findGlobalTool","updateGlobalTool","COLLECTION_BUILTINS","create","delete","find","update","COLLECTION_AUTH_BUILTINS","auth","label","tool","forgotPassword","login","resetPassword","unlock","verify","GLOBAL_BUILTINS","COLLECTION_BUILTIN_ENTRIES","Object","entries","COLLECTION_AUTH_BUILTIN_ENTRIES","GLOBAL_BUILTIN_ENTRIES"],"mappings":"AAEA,SACEA,kBAAkB,EAClBC,4BAA4B,EAC5BC,mBAAmB,EACnBC,2BAA2B,EAC3BC,oBAAoB,EACpBC,oBAAoB,QACf,qCAAoC;AAC3C,SAASC,oBAAoB,QAAQ,sCAAqC;AAC1E,SAASC,oBAAoB,QAAQ,sCAAqC;AAC1E,SAASC,kBAAkB,QAAQ,oCAAmC;AACtE,SAASC,oBAAoB,QAAQ,sCAAqC;AAC1E,SAASC,cAAc,QAAQ,gCAA+B;AAC9D,SAASC,gBAAgB,QAAQ,kCAAiC;AAElE;;;;CAIC,GACD,OAAO,MAAMC,sBAAwE;IACnFC,QAAQP;IACRQ,QAAQP;IACRQ,MAAMP;IACNQ,QAAQP;AACV,EAAC;AAED;;;;CAIC,GACD,OAAO,MAAMQ,2BAGT;IACFC,MAAM;QAAEC,OAAO;QAAqBC,MAAMpB;IAAmB;IAC7DqB,gBAAgB;QAAEF,OAAO;QAAmBC,MAAMnB;IAA6B;IAC/EqB,OAAO;QAAEH,OAAO;QAAcC,MAAMlB;IAAoB;IACxDqB,eAAe;QAAEJ,OAAO;QAAkBC,MAAMjB;IAA4B;IAC5EqB,QAAQ;QAAEL,OAAO;QAAkBC,MAAMhB;IAAqB;IAC9DqB,QAAQ;QAAEN,OAAO;QAAsBC,MAAMf;IAAqB;AACpE,EAAC;AAED;;;CAGC,GACD,OAAO,MAAMqB,kBAA4D;IACvEX,MAAML;IACNM,QAAQL;AACV,EAAC;AAcD;;;;;CAKC,GACD,OAAO,MAAMgB,6BAA6BC,OAAOC,OAAO,CAACjB,qBAExD;AAED,OAAO,MAAMkB,kCAAkCF,OAAOC,OAAO,CAACZ,0BAE7D;AAED,OAAO,MAAMc,yBAAyBH,OAAOC,OAAO,CAACH,iBAEpD"}
|
|
1
|
+
{"version":3,"sources":["../../src/mcp/builtinTools.ts"],"sourcesContent":["import type { CollectionTool, GlobalTool, Tool } from '../types.js'\n\nimport {\n authCollectionTool,\n forgotPasswordCollectionTool,\n loginCollectionTool,\n resetPasswordCollectionTool,\n unlockCollectionTool,\n verifyCollectionTool,\n} from './builtin/collections/authTools.js'\nimport { countDocumentsTool } from './builtin/collections/countTool.js'\nimport { countVersionsTool } from './builtin/collections/countVersionsTool.js'\nimport { createDocumentTool } from './builtin/collections/createTool.js'\nimport { deleteDocumentsTool } from './builtin/collections/deleteTool.js'\nimport { duplicateDocumentTool } from './builtin/collections/duplicateTool.js'\nimport { findDistinctTool } from './builtin/collections/findDistinctTool.js'\nimport { findDocumentsTool } from './builtin/collections/findTool.js'\nimport { findVersionByIDTool } from './builtin/collections/findVersionByIDTool.js'\nimport { findVersionsTool } from './builtin/collections/findVersionsTool.js'\nimport { getCollectionSchemaTool } from './builtin/collections/getCollectionSchemaTool.js'\nimport { restoreVersionTool } from './builtin/collections/restoreVersionTool.js'\nimport { updateDocumentTool } from './builtin/collections/updateTool.js'\nimport { getConfigInfoTool } from './builtin/getConfigInfoTool.js'\nimport { countGlobalVersionsTool } from './builtin/globals/countVersionsTool.js'\nimport { findGlobalTool } from './builtin/globals/findTool.js'\nimport { findGlobalVersionByIDTool } from './builtin/globals/findVersionByIDTool.js'\nimport { findGlobalVersionsTool } from './builtin/globals/findVersionsTool.js'\nimport { getGlobalSchemaTool } from './builtin/globals/getGlobalSchemaTool.js'\nimport { restoreGlobalVersionTool } from './builtin/globals/restoreVersionTool.js'\nimport { updateGlobalTool } from './builtin/globals/updateTool.js'\n\ntype CollectionBuiltin = {\n mcpName: string\n requiresDuplicateEnabled?: boolean\n requiresVersions?: boolean\n tool: CollectionTool\n}\n\ntype GlobalBuiltin = {\n mcpName: string\n requiresVersions?: boolean\n tool: GlobalTool\n}\n\nexport const TOOL_BUILTINS = {\n getConfigInfo: { mcpName: 'getConfigInfo', tool: getConfigInfoTool },\n} satisfies Record<string, { mcpName: string; tool: Tool }>\n\n/**\n * The static built-in collection CRUD tools. Keys here are the source of truth\n * for `MCPCollectionBuiltinName` — adding/removing an entry updates the type\n * automatically.\n */\nexport const COLLECTION_BUILTINS = {\n count: { mcpName: 'countDocuments', tool: countDocumentsTool },\n countVersions: { mcpName: 'countVersions', requiresVersions: true, tool: countVersionsTool },\n create: { mcpName: 'createDocument', tool: createDocumentTool },\n delete: { mcpName: 'deleteDocuments', tool: deleteDocumentsTool },\n duplicate: {\n mcpName: 'duplicateDocument',\n requiresDuplicateEnabled: true,\n tool: duplicateDocumentTool,\n },\n find: { mcpName: 'findDocuments', tool: findDocumentsTool },\n findDistinct: { mcpName: 'findDistinct', tool: findDistinctTool },\n findVersionByID: {\n mcpName: 'findVersionByID',\n requiresVersions: true,\n tool: findVersionByIDTool,\n },\n findVersions: { mcpName: 'findVersions', requiresVersions: true, tool: findVersionsTool },\n getCollectionSchema: { mcpName: 'getCollectionSchema', tool: getCollectionSchemaTool },\n restoreVersion: { mcpName: 'restoreVersion', requiresVersions: true, tool: restoreVersionTool },\n update: { mcpName: 'updateDocument', tool: updateDocumentTool },\n} satisfies Record<string, CollectionBuiltin>\n\n/**\n * The static auth tools surfaced under auth-enabled collections. Keys are the\n * source of truth for `MCPCollectionAuthToolName`.\n */\nexport const COLLECTION_AUTH_BUILTINS = {\n auth: { mcpName: 'auth', tool: authCollectionTool },\n forgotPassword: {\n mcpName: 'forgotPassword',\n tool: forgotPasswordCollectionTool,\n },\n login: { mcpName: 'login', tool: loginCollectionTool },\n resetPassword: {\n mcpName: 'resetPassword',\n tool: resetPasswordCollectionTool,\n },\n unlock: { mcpName: 'unlock', tool: unlockCollectionTool },\n verify: { mcpName: 'verify', tool: verifyCollectionTool },\n} satisfies Record<string, { mcpName: string; tool: CollectionTool }>\n\n/**\n * The static built-in global tools. Keys are the source of truth for\n * `MCPGlobalBuiltinName`.\n */\nexport const GLOBAL_BUILTINS = {\n countGlobalVersions: {\n mcpName: 'countGlobalVersions',\n requiresVersions: true,\n tool: countGlobalVersionsTool,\n },\n find: { mcpName: 'findGlobal', tool: findGlobalTool },\n findGlobalVersionByID: {\n mcpName: 'findGlobalVersionByID',\n requiresVersions: true,\n tool: findGlobalVersionByIDTool,\n },\n findGlobalVersions: {\n mcpName: 'findGlobalVersions',\n requiresVersions: true,\n tool: findGlobalVersionsTool,\n },\n getGlobalSchema: { mcpName: 'getGlobalSchema', tool: getGlobalSchemaTool },\n restoreGlobalVersion: {\n mcpName: 'restoreGlobalVersion',\n requiresVersions: true,\n tool: restoreGlobalVersionTool,\n },\n update: { mcpName: 'updateGlobal', tool: updateGlobalTool },\n} satisfies Record<string, GlobalBuiltin>\n\nexport type MCPCollectionBuiltinName = keyof typeof COLLECTION_BUILTINS\n\nexport type MCPCollectionAuthToolName = keyof typeof COLLECTION_AUTH_BUILTINS\n\nexport type MCPGlobalBuiltinName = keyof typeof GLOBAL_BUILTINS\n\nexport type MCPTopLevelBuiltinName = keyof typeof TOOL_BUILTINS\n\n/**\n * Pre-typed `Object.entries` for each registry. The cast from `string` to the\n * literal key union lives here once so consumers can iterate without their own\n * cast — TypeScript's `Object.entries` always widens keys to `string`, which\n * defeats the narrow type lookups on `MCPCollectionToolsMap`.\n */\nexport const TOOL_BUILTIN_ENTRIES = Object.entries(TOOL_BUILTINS) as Array<\n [MCPTopLevelBuiltinName, (typeof TOOL_BUILTINS)[MCPTopLevelBuiltinName]]\n>\n\nexport const COLLECTION_BUILTIN_ENTRIES = Object.entries(COLLECTION_BUILTINS) as Array<\n [MCPCollectionBuiltinName, CollectionBuiltin]\n>\n\nexport const COLLECTION_AUTH_BUILTIN_ENTRIES = Object.entries(COLLECTION_AUTH_BUILTINS) as Array<\n [MCPCollectionAuthToolName, (typeof COLLECTION_AUTH_BUILTINS)[MCPCollectionAuthToolName]]\n>\n\nexport const GLOBAL_BUILTIN_ENTRIES = Object.entries(GLOBAL_BUILTINS) as Array<\n [MCPGlobalBuiltinName, GlobalBuiltin]\n>\n"],"names":["authCollectionTool","forgotPasswordCollectionTool","loginCollectionTool","resetPasswordCollectionTool","unlockCollectionTool","verifyCollectionTool","countDocumentsTool","countVersionsTool","createDocumentTool","deleteDocumentsTool","duplicateDocumentTool","findDistinctTool","findDocumentsTool","findVersionByIDTool","findVersionsTool","getCollectionSchemaTool","restoreVersionTool","updateDocumentTool","getConfigInfoTool","countGlobalVersionsTool","findGlobalTool","findGlobalVersionByIDTool","findGlobalVersionsTool","getGlobalSchemaTool","restoreGlobalVersionTool","updateGlobalTool","TOOL_BUILTINS","getConfigInfo","mcpName","tool","COLLECTION_BUILTINS","count","countVersions","requiresVersions","create","delete","duplicate","requiresDuplicateEnabled","find","findDistinct","findVersionByID","findVersions","getCollectionSchema","restoreVersion","update","COLLECTION_AUTH_BUILTINS","auth","forgotPassword","login","resetPassword","unlock","verify","GLOBAL_BUILTINS","countGlobalVersions","findGlobalVersionByID","findGlobalVersions","getGlobalSchema","restoreGlobalVersion","TOOL_BUILTIN_ENTRIES","Object","entries","COLLECTION_BUILTIN_ENTRIES","COLLECTION_AUTH_BUILTIN_ENTRIES","GLOBAL_BUILTIN_ENTRIES"],"mappings":"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"}
|
|
@@ -5,7 +5,6 @@ import type { MCPPluginConfig, SanitizedMCPPluginConfig } from '../types.js';
|
|
|
5
5
|
* - Flattens `tools` / `prompts` / `resources` / per-collection / per-global
|
|
6
6
|
* tool maps into a single `items` array.
|
|
7
7
|
* - Applies built-in tools for collections and globals, respecting opt-out user overrides.
|
|
8
|
-
* - Applies the `userCollection` default
|
|
9
8
|
*
|
|
10
9
|
* Called once during plugin init. After that, `plugins['@payloadcms/plugin-mcp']
|
|
11
10
|
* ?.options` holds the sanitized result
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitizeMCPConfig.d.ts","sourceRoot":"","sources":["../../src/mcp/sanitizeMCPConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,MAAM,EAGN,eAAe,EAEhB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAMV,eAAe,
|
|
1
|
+
{"version":3,"file":"sanitizeMCPConfig.d.ts","sourceRoot":"","sources":["../../src/mcp/sanitizeMCPConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,MAAM,EAGN,eAAe,EAEhB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAMV,eAAe,EACf,wBAAwB,EACzB,MAAM,aAAa,CAAA;AAcpB;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAAI,2BAG/B;IACD,MAAM,EAAE,MAAM,GAAG,eAAe,CAAA;IAChC,YAAY,EAAE,eAAe,CAAA;CAC9B,KAAG,wBA4DH,CAAA"}
|