@payloadcms/plugin-mcp 4.0.0-internal.fa345ef → 4.0.0-internal.fec2230

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/bin.js +7 -0
  2. package/dist/defaultAccess.d.ts.map +1 -1
  3. package/dist/defineTool.d.ts +8 -8
  4. package/dist/defineTool.d.ts.map +1 -1
  5. package/dist/endpoint/access.d.ts +2 -7
  6. package/dist/endpoint/access.d.ts.map +1 -1
  7. package/dist/endpoint/access.js +6 -13
  8. package/dist/endpoint/access.js.map +1 -1
  9. package/dist/mcp/buildMcpServer.d.ts +1 -1
  10. package/dist/mcp/buildMcpServer.d.ts.map +1 -1
  11. package/dist/mcp/buildMcpServer.js +35 -23
  12. package/dist/mcp/buildMcpServer.js.map +1 -1
  13. package/dist/mcp/builtin/collections/authTools.d.ts.map +1 -1
  14. package/dist/mcp/builtin/collections/authTools.js +79 -56
  15. package/dist/mcp/builtin/collections/authTools.js.map +1 -1
  16. package/dist/mcp/builtin/collections/countTool.d.ts.map +1 -1
  17. package/dist/mcp/builtin/collections/countTool.js +10 -16
  18. package/dist/mcp/builtin/collections/countTool.js.map +1 -1
  19. package/dist/mcp/builtin/collections/countVersionsTool.d.ts.map +1 -1
  20. package/dist/mcp/builtin/collections/countVersionsTool.js +10 -15
  21. package/dist/mcp/builtin/collections/countVersionsTool.js.map +1 -1
  22. package/dist/mcp/builtin/collections/createTool.d.ts +1 -1
  23. package/dist/mcp/builtin/collections/createTool.d.ts.map +1 -1
  24. package/dist/mcp/builtin/collections/createTool.js +104 -54
  25. package/dist/mcp/builtin/collections/createTool.js.map +1 -1
  26. package/dist/mcp/builtin/collections/deleteTool.d.ts.map +1 -1
  27. package/dist/mcp/builtin/collections/deleteTool.js +45 -45
  28. package/dist/mcp/builtin/collections/deleteTool.js.map +1 -1
  29. package/dist/mcp/builtin/collections/duplicateTool.d.ts.map +1 -1
  30. package/dist/mcp/builtin/collections/duplicateTool.js +32 -39
  31. package/dist/mcp/builtin/collections/duplicateTool.js.map +1 -1
  32. package/dist/mcp/builtin/collections/fileInput.d.ts +28 -0
  33. package/dist/mcp/builtin/collections/fileInput.d.ts.map +1 -0
  34. package/dist/mcp/builtin/collections/fileInput.js +88 -0
  35. package/dist/mcp/builtin/collections/fileInput.js.map +1 -0
  36. package/dist/mcp/builtin/collections/fileInput.spec.js +86 -0
  37. package/dist/mcp/builtin/collections/fileInput.spec.js.map +1 -0
  38. package/dist/mcp/builtin/collections/findDistinctTool.d.ts.map +1 -1
  39. package/dist/mcp/builtin/collections/findDistinctTool.js +12 -28
  40. package/dist/mcp/builtin/collections/findDistinctTool.js.map +1 -1
  41. package/dist/mcp/builtin/collections/findTool.d.ts.map +1 -1
  42. package/dist/mcp/builtin/collections/findTool.js +29 -48
  43. package/dist/mcp/builtin/collections/findTool.js.map +1 -1
  44. package/dist/mcp/builtin/collections/findVersionByIDTool.d.ts.map +1 -1
  45. package/dist/mcp/builtin/collections/findVersionByIDTool.js +18 -28
  46. package/dist/mcp/builtin/collections/findVersionByIDTool.js.map +1 -1
  47. package/dist/mcp/builtin/collections/findVersionsTool.d.ts.map +1 -1
  48. package/dist/mcp/builtin/collections/findVersionsTool.js +17 -32
  49. package/dist/mcp/builtin/collections/findVersionsTool.js.map +1 -1
  50. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts.map +1 -1
  51. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js +51 -11
  52. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js.map +1 -1
  53. package/dist/mcp/builtin/collections/restoreVersionTool.d.ts.map +1 -1
  54. package/dist/mcp/builtin/collections/restoreVersionTool.js +15 -28
  55. package/dist/mcp/builtin/collections/restoreVersionTool.js.map +1 -1
  56. package/dist/mcp/builtin/collections/updateTool.d.ts.map +1 -1
  57. package/dist/mcp/builtin/collections/updateTool.js +67 -87
  58. package/dist/mcp/builtin/collections/updateTool.js.map +1 -1
  59. package/dist/mcp/builtin/collections/uploadInstructionsTool.d.ts +2 -0
  60. package/dist/mcp/builtin/collections/uploadInstructionsTool.d.ts.map +1 -0
  61. package/dist/mcp/builtin/collections/uploadInstructionsTool.js +55 -0
  62. package/dist/mcp/builtin/collections/uploadInstructionsTool.js.map +1 -0
  63. package/dist/mcp/builtin/formatEntityError.d.ts +16 -0
  64. package/dist/mcp/builtin/formatEntityError.d.ts.map +1 -0
  65. package/dist/mcp/builtin/formatEntityError.js +55 -0
  66. package/dist/mcp/builtin/formatEntityError.js.map +1 -0
  67. package/dist/mcp/builtin/getConfigInfoTool.d.ts.map +1 -1
  68. package/dist/mcp/builtin/getConfigInfoTool.js +5 -7
  69. package/dist/mcp/builtin/getConfigInfoTool.js.map +1 -1
  70. package/dist/mcp/builtin/globals/countVersionsTool.d.ts.map +1 -1
  71. package/dist/mcp/builtin/globals/countVersionsTool.js +10 -15
  72. package/dist/mcp/builtin/globals/countVersionsTool.js.map +1 -1
  73. package/dist/mcp/builtin/globals/findTool.d.ts.map +1 -1
  74. package/dist/mcp/builtin/globals/findTool.js +12 -18
  75. package/dist/mcp/builtin/globals/findTool.js.map +1 -1
  76. package/dist/mcp/builtin/globals/findVersionByIDTool.d.ts.map +1 -1
  77. package/dist/mcp/builtin/globals/findVersionByIDTool.js +14 -26
  78. package/dist/mcp/builtin/globals/findVersionByIDTool.js.map +1 -1
  79. package/dist/mcp/builtin/globals/findVersionsTool.d.ts.map +1 -1
  80. package/dist/mcp/builtin/globals/findVersionsTool.js +14 -31
  81. package/dist/mcp/builtin/globals/findVersionsTool.js.map +1 -1
  82. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts.map +1 -1
  83. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js +28 -10
  84. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js.map +1 -1
  85. package/dist/mcp/builtin/globals/restoreVersionTool.d.ts.map +1 -1
  86. package/dist/mcp/builtin/globals/restoreVersionTool.js +16 -24
  87. package/dist/mcp/builtin/globals/restoreVersionTool.js.map +1 -1
  88. package/dist/mcp/builtin/globals/updateTool.d.ts.map +1 -1
  89. package/dist/mcp/builtin/globals/updateTool.js +28 -37
  90. package/dist/mcp/builtin/globals/updateTool.js.map +1 -1
  91. package/dist/mcp/builtinTools.d.ts +6 -0
  92. package/dist/mcp/builtinTools.d.ts.map +1 -1
  93. package/dist/mcp/builtinTools.js +9 -3
  94. package/dist/mcp/builtinTools.js.map +1 -1
  95. package/dist/mcp/sanitizeMCPConfig.d.ts.map +1 -1
  96. package/dist/mcp/sanitizeMCPConfig.js +4 -1
  97. package/dist/mcp/sanitizeMCPConfig.js.map +1 -1
  98. package/dist/stdio.d.ts.map +1 -1
  99. package/dist/stdio.js +2 -1
  100. package/dist/stdio.js.map +1 -1
  101. package/dist/types.d.ts +48 -11
  102. package/dist/types.d.ts.map +1 -1
  103. package/dist/types.js +2 -4
  104. package/dist/types.js.map +1 -1
  105. package/dist/utils/camelCase.d.ts.map +1 -1
  106. package/dist/utils/resolveProjectRoot.d.ts.map +1 -1
  107. package/dist/utils/toStandardSchema.d.ts.map +1 -1
  108. package/package.json +5 -7
  109. package/src/endpoint/access.ts +5 -13
  110. package/src/mcp/buildMcpServer.ts +39 -29
  111. package/src/mcp/builtin/collections/authTools.ts +77 -69
  112. package/src/mcp/builtin/collections/countTool.ts +10 -23
  113. package/src/mcp/builtin/collections/countVersionsTool.ts +10 -23
  114. package/src/mcp/builtin/collections/createTool.ts +110 -77
  115. package/src/mcp/builtin/collections/deleteTool.ts +36 -65
  116. package/src/mcp/builtin/collections/duplicateTool.ts +36 -87
  117. package/src/mcp/builtin/collections/fileInput.spec.ts +93 -0
  118. package/src/mcp/builtin/collections/fileInput.ts +127 -0
  119. package/src/mcp/builtin/collections/findDistinctTool.ts +12 -64
  120. package/src/mcp/builtin/collections/findTool.ts +25 -108
  121. package/src/mcp/builtin/collections/findVersionByIDTool.ts +16 -60
  122. package/src/mcp/builtin/collections/findVersionsTool.ts +15 -87
  123. package/src/mcp/builtin/collections/getCollectionSchemaTool.ts +48 -14
  124. package/src/mcp/builtin/collections/restoreVersionTool.ts +15 -58
  125. package/src/mcp/builtin/collections/updateTool.ts +63 -101
  126. package/src/mcp/builtin/collections/uploadInstructionsTool.ts +64 -0
  127. package/src/mcp/builtin/formatEntityError.ts +77 -0
  128. package/src/mcp/builtin/getConfigInfoTool.ts +4 -5
  129. package/src/mcp/builtin/globals/countVersionsTool.ts +10 -22
  130. package/src/mcp/builtin/globals/findTool.ts +14 -53
  131. package/src/mcp/builtin/globals/findVersionByIDTool.ts +14 -54
  132. package/src/mcp/builtin/globals/findVersionsTool.ts +15 -94
  133. package/src/mcp/builtin/globals/getGlobalSchemaTool.ts +30 -8
  134. package/src/mcp/builtin/globals/restoreVersionTool.ts +17 -48
  135. package/src/mcp/builtin/globals/updateTool.ts +39 -62
  136. package/src/mcp/builtinTools.ts +9 -2
  137. package/src/mcp/sanitizeMCPConfig.ts +4 -1
  138. package/src/stdio.ts +2 -1
  139. package/src/types.ts +47 -11
  140. package/dist/mcp/builtin/collections/formatCollectionError.d.ts +0 -9
  141. package/dist/mcp/builtin/collections/formatCollectionError.d.ts.map +0 -1
  142. package/dist/mcp/builtin/collections/formatCollectionError.js +0 -60
  143. package/dist/mcp/builtin/collections/formatCollectionError.js.map +0 -1
  144. package/dist/mcp/builtin/validateEntityData.d.ts +0 -14
  145. package/dist/mcp/builtin/validateEntityData.d.ts.map +0 -1
  146. package/dist/mcp/builtin/validateEntityData.js +0 -82
  147. package/dist/mcp/builtin/validateEntityData.js.map +0 -1
  148. package/dist/utils/getVirtualFieldNames.d.ts +0 -14
  149. package/dist/utils/getVirtualFieldNames.d.ts.map +0 -1
  150. package/dist/utils/getVirtualFieldNames.js +0 -35
  151. package/dist/utils/getVirtualFieldNames.js.map +0 -1
  152. package/dist/utils/localAPIDefaults.d.ts +0 -20
  153. package/dist/utils/localAPIDefaults.d.ts.map +0 -1
  154. package/dist/utils/localAPIDefaults.js +0 -19
  155. package/dist/utils/localAPIDefaults.js.map +0 -1
  156. package/dist/utils/schemaConversion/getEntityInputSchema.d.ts +0 -11
  157. package/dist/utils/schemaConversion/getEntityInputSchema.d.ts.map +0 -1
  158. package/dist/utils/schemaConversion/getEntityInputSchema.js +0 -32
  159. package/dist/utils/schemaConversion/getEntityInputSchema.js.map +0 -1
  160. package/dist/utils/schemaConversion/sanitizeEntitySchema.d.ts +0 -10
  161. package/dist/utils/schemaConversion/sanitizeEntitySchema.d.ts.map +0 -1
  162. package/dist/utils/schemaConversion/sanitizeEntitySchema.js +0 -384
  163. package/dist/utils/schemaConversion/sanitizeEntitySchema.js.map +0 -1
  164. package/dist/utils/schemaConversion/sanitizeEntitySchema.spec.js +0 -133
  165. package/dist/utils/schemaConversion/sanitizeEntitySchema.spec.js.map +0 -1
  166. package/dist/utils/transformPointDataToPayload.d.ts +0 -7
  167. package/dist/utils/transformPointDataToPayload.d.ts.map +0 -1
  168. package/dist/utils/transformPointDataToPayload.js +0 -28
  169. package/dist/utils/transformPointDataToPayload.js.map +0 -1
  170. package/dist/utils/whereSchema.d.ts +0 -9
  171. package/dist/utils/whereSchema.d.ts.map +0 -1
  172. package/dist/utils/whereSchema.js +0 -13
  173. package/dist/utils/whereSchema.js.map +0 -1
  174. package/src/mcp/builtin/collections/formatCollectionError.ts +0 -84
  175. package/src/mcp/builtin/validateEntityData.ts +0 -132
  176. package/src/utils/getVirtualFieldNames.ts +0 -53
  177. package/src/utils/localAPIDefaults.ts +0 -22
  178. package/src/utils/schemaConversion/getEntityInputSchema.ts +0 -62
  179. package/src/utils/schemaConversion/sanitizeEntitySchema.spec.ts +0 -96
  180. package/src/utils/schemaConversion/sanitizeEntitySchema.ts +0 -432
  181. package/src/utils/transformPointDataToPayload.ts +0 -40
  182. package/src/utils/whereSchema.ts +0 -24
@@ -1,11 +1,10 @@
1
- import { z } from 'zod';
1
+ import { findGlobalInputSchema } from 'payload';
2
2
  import { defaultAccess } from '../../../defaultAccess.js';
3
3
  import { defineGlobalTool } from '../../../defineTool.js';
4
4
  import { getLogger } from '../../../utils/getLogger.js';
5
- import { localAPIDefaults } from '../../../utils/localAPIDefaults.js';
6
5
  const DEFAULT_DESCRIPTION = 'Find any Payload global by passing the global slug.';
7
6
  export const findGlobalTool = defineGlobalTool({
8
- access: (args)=>defaultAccess(args) && Boolean(args.permissions?.globals?.[args.globalSlug]?.read),
7
+ access: (args)=>defaultAccess(args) && Boolean(args.permissions?.globals?.[args.slug]?.read),
9
8
  annotations: {
10
9
  destructiveHint: false,
11
10
  idempotentHint: true,
@@ -14,30 +13,25 @@ export const findGlobalTool = defineGlobalTool({
14
13
  title: 'Find Global'
15
14
  },
16
15
  description: DEFAULT_DESCRIPTION,
17
- input: z.object({
18
- depth: z.number().int().min(0).max(10).describe('Depth of population for relationships').optional().default(0),
19
- fallbackLocale: z.string().describe('Optional: fallback locale code to use when requested locale is not available').optional(),
20
- locale: z.string().describe('Optional: locale code to retrieve data in (e.g., "en", "es"). Use "all" to retrieve all locales for localized fields').optional(),
21
- populate: z.record(z.string(), z.unknown()).describe('Optional: control which fields to include from populated relationship or upload documents.').optional(),
22
- select: z.record(z.string(), z.unknown()).describe('Optional: define exactly which fields you\'d like to return in the response, e.g., {"title": true}').optional()
23
- })
24
- }).handler(async ({ authorizedMCP, globalSlug, input, req })=>{
16
+ input: findGlobalInputSchema
17
+ }).handler(async ({ slug, authorizedMCP, input, req })=>{
25
18
  const payload = req.payload;
26
19
  const logger = getLogger({
27
20
  payload
28
21
  });
29
22
  const { depth, fallbackLocale, locale, populate, select } = input;
30
- logger.info(`Reading global: ${globalSlug}, depth: ${depth}${locale ? `, locale: ${locale}` : ''}`);
23
+ logger.info(`Reading global: ${slug}, depth: ${depth}${locale ? `, locale: ${locale}` : ''}`);
31
24
  try {
32
25
  const findOptions = {
33
- slug: globalSlug,
26
+ slug,
34
27
  depth,
35
- ...localAPIDefaults(authorizedMCP)
28
+ overrideAccess: authorizedMCP.overrideAccess,
29
+ req
36
30
  };
37
31
  if (locale) {
38
32
  findOptions.locale = locale;
39
33
  }
40
- if (fallbackLocale) {
34
+ if (fallbackLocale !== undefined) {
41
35
  findOptions.fallbackLocale = fallbackLocale;
42
36
  }
43
37
  if (select) {
@@ -51,19 +45,19 @@ export const findGlobalTool = defineGlobalTool({
51
45
  content: [
52
46
  {
53
47
  type: 'text',
54
- text: `Global "${globalSlug}":\n\`\`\`json\n${JSON.stringify(result)}\n\`\`\``
48
+ text: `Global "${slug}":\n\`\`\`json\n${JSON.stringify(result)}\n\`\`\``
55
49
  }
56
50
  ],
57
51
  doc: result
58
52
  };
59
53
  } catch (error) {
60
54
  const errorMessage = error instanceof Error ? error.message : 'Unknown error';
61
- logger.error(`Error reading global ${globalSlug}: ${errorMessage}`);
55
+ logger.error(`Error reading global ${slug}: ${errorMessage}`);
62
56
  return {
63
57
  content: [
64
58
  {
65
59
  type: 'text',
66
- text: `❌ **Error reading global "${globalSlug}":** ${errorMessage}`
60
+ text: `❌ **Error reading global "${slug}":** ${errorMessage}`
67
61
  }
68
62
  ]
69
63
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/mcp/builtin/globals/findTool.ts"],"sourcesContent":["import type { PopulateType, 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 { localAPIDefaults } from '../../../utils/localAPIDefaults.js'\n\nconst DEFAULT_DESCRIPTION = 'Find any Payload global by passing the global slug.'\n\nexport const findGlobalTool = defineGlobalTool({\n access: (args) =>\n defaultAccess(args) && Boolean(args.permissions?.globals?.[args.globalSlug]?.read),\n annotations: {\n destructiveHint: false,\n idempotentHint: true,\n openWorldHint: false,\n readOnlyHint: true,\n title: 'Find Global',\n },\n description: DEFAULT_DESCRIPTION,\n input: z.object({\n depth: z\n .number()\n .int()\n .min(0)\n .max(10)\n .describe('Depth of population for relationships')\n .optional()\n .default(0),\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 retrieve data in (e.g., \"en\", \"es\"). Use \"all\" to retrieve all locales for localized fields',\n )\n .optional(),\n populate: z\n .record(z.string(), z.unknown())\n .describe(\n 'Optional: control which fields to include from populated relationship or upload documents.',\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., {\"title\": 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 { depth, fallbackLocale, locale, populate, select } = input\n\n logger.info(\n `Reading global: ${globalSlug}, depth: ${depth}${locale ? `, locale: ${locale}` : ''}`,\n )\n\n try {\n const findOptions: Parameters<typeof payload.findGlobal>[0] = {\n slug: globalSlug,\n depth,\n ...localAPIDefaults(authorizedMCP),\n }\n\n if (locale) {\n findOptions.locale = locale\n }\n if (fallbackLocale) {\n findOptions.fallbackLocale = fallbackLocale\n }\n if (select) {\n findOptions.select = select as SelectType\n }\n if (populate) {\n findOptions.populate = populate as PopulateType\n }\n\n const result = await payload.findGlobal(findOptions)\n\n return {\n content: [\n {\n type: 'text',\n text: `Global \"${globalSlug}\":\\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 reading global ${globalSlug}: ${errorMessage}`)\n return {\n content: [\n { type: 'text', text: `❌ **Error reading global \"${globalSlug}\":** ${errorMessage}` },\n ],\n }\n }\n})\n"],"names":["z","defaultAccess","defineGlobalTool","getLogger","localAPIDefaults","DEFAULT_DESCRIPTION","findGlobalTool","access","args","Boolean","permissions","globals","globalSlug","read","annotations","destructiveHint","idempotentHint","openWorldHint","readOnlyHint","title","description","input","object","depth","number","int","min","max","describe","optional","default","fallbackLocale","string","locale","populate","record","unknown","select","handler","authorizedMCP","req","payload","logger","info","findOptions","slug","result","findGlobal","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,SAASC,gBAAgB,QAAQ,qCAAoC;AAErE,MAAMC,sBAAsB;AAE5B,OAAO,MAAMC,iBAAiBJ,iBAAiB;IAC7CK,QAAQ,CAACC,OACPP,cAAcO,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,OAAOrB,EAAEsB,MAAM,CAAC;QACdC,OAAOvB,EACJwB,MAAM,GACNC,GAAG,GACHC,GAAG,CAAC,GACJC,GAAG,CAAC,IACJC,QAAQ,CAAC,yCACTC,QAAQ,GACRC,OAAO,CAAC;QACXC,gBAAgB/B,EACbgC,MAAM,GACNJ,QAAQ,CAAC,gFACTC,QAAQ;QACXI,QAAQjC,EACLgC,MAAM,GACNJ,QAAQ,CACP,wHAEDC,QAAQ;QACXK,UAAUlC,EACPmC,MAAM,CAACnC,EAAEgC,MAAM,IAAIhC,EAAEoC,OAAO,IAC5BR,QAAQ,CACP,8FAEDC,QAAQ;QACXQ,QAAQrC,EACLmC,MAAM,CAACnC,EAAEgC,MAAM,IAAIhC,EAAEoC,OAAO,IAC5BR,QAAQ,CACP,sGAEDC,QAAQ;IACb;AACF,GAAGS,OAAO,CAAC,OAAO,EAAEC,aAAa,EAAE3B,UAAU,EAAES,KAAK,EAAEmB,GAAG,EAAE;IACzD,MAAMC,UAAUD,IAAIC,OAAO;IAC3B,MAAMC,SAASvC,UAAU;QAAEsC;IAAQ;IAEnC,MAAM,EAAElB,KAAK,EAAEQ,cAAc,EAAEE,MAAM,EAAEC,QAAQ,EAAEG,MAAM,EAAE,GAAGhB;IAE5DqB,OAAOC,IAAI,CACT,CAAC,gBAAgB,EAAE/B,WAAW,SAAS,EAAEW,QAAQU,SAAS,CAAC,UAAU,EAAEA,QAAQ,GAAG,IAAI;IAGxF,IAAI;QACF,MAAMW,cAAwD;YAC5DC,MAAMjC;YACNW;YACA,GAAGnB,iBAAiBmC,cAAc;QACpC;QAEA,IAAIN,QAAQ;YACVW,YAAYX,MAAM,GAAGA;QACvB;QACA,IAAIF,gBAAgB;YAClBa,YAAYb,cAAc,GAAGA;QAC/B;QACA,IAAIM,QAAQ;YACVO,YAAYP,MAAM,GAAGA;QACvB;QACA,IAAIH,UAAU;YACZU,YAAYV,QAAQ,GAAGA;QACzB;QAEA,MAAMY,SAAS,MAAML,QAAQM,UAAU,CAACH;QAExC,OAAO;YACLI,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,QAAQ,EAAEtC,WAAW,gBAAgB,EAAEuC,KAAKC,SAAS,CAACN,QAAQ,QAAQ,CAAC;gBAChF;aACD;YACDO,KAAKP;QACP;IACF,EAAE,OAAOQ,OAAO;QACd,MAAMC,eAAeD,iBAAiBE,QAAQF,MAAMG,OAAO,GAAG;QAC9Df,OAAOY,KAAK,CAAC,CAAC,qBAAqB,EAAE1C,WAAW,EAAE,EAAE2C,cAAc;QAClE,OAAO;YACLP,SAAS;gBACP;oBAAEC,MAAM;oBAAQC,MAAM,CAAC,0BAA0B,EAAEtC,WAAW,KAAK,EAAE2C,cAAc;gBAAC;aACrF;QACH;IACF;AACF,GAAE"}
1
+ {"version":3,"sources":["../../../../src/mcp/builtin/globals/findTool.ts"],"sourcesContent":["import { findGlobalInputSchema } from 'payload'\n\nimport { defaultAccess } from '../../../defaultAccess.js'\nimport { defineGlobalTool } from '../../../defineTool.js'\nimport { getLogger } from '../../../utils/getLogger.js'\n\nconst DEFAULT_DESCRIPTION = 'Find any Payload global by passing the global slug.'\n\nexport const findGlobalTool = defineGlobalTool({\n access: (args) => defaultAccess(args) && Boolean(args.permissions?.globals?.[args.slug]?.read),\n annotations: {\n destructiveHint: false,\n idempotentHint: true,\n openWorldHint: false,\n readOnlyHint: true,\n title: 'Find Global',\n },\n description: DEFAULT_DESCRIPTION,\n input: findGlobalInputSchema,\n}).handler(async ({ slug, authorizedMCP, input, req }) => {\n const payload = req.payload\n const logger = getLogger({ payload })\n\n const { depth, fallbackLocale, locale, populate, select } = input\n\n logger.info(`Reading global: ${slug}, depth: ${depth}${locale ? `, locale: ${locale}` : ''}`)\n\n try {\n const findOptions: Parameters<typeof payload.findGlobal>[0] = {\n slug,\n depth,\n overrideAccess: authorizedMCP.overrideAccess,\n req,\n }\n\n if (locale) {\n findOptions.locale = locale\n }\n if (fallbackLocale !== undefined) {\n findOptions.fallbackLocale = fallbackLocale\n }\n if (select) {\n findOptions.select = select\n }\n if (populate) {\n findOptions.populate = populate\n }\n const result = await payload.findGlobal(findOptions)\n\n return {\n content: [\n {\n type: 'text',\n text: `Global \"${slug}\":\\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 reading global ${slug}: ${errorMessage}`)\n return {\n content: [{ type: 'text', text: `❌ **Error reading global \"${slug}\":** ${errorMessage}` }],\n }\n }\n})\n"],"names":["findGlobalInputSchema","defaultAccess","defineGlobalTool","getLogger","DEFAULT_DESCRIPTION","findGlobalTool","access","args","Boolean","permissions","globals","slug","read","annotations","destructiveHint","idempotentHint","openWorldHint","readOnlyHint","title","description","input","handler","authorizedMCP","req","payload","logger","depth","fallbackLocale","locale","populate","select","info","findOptions","overrideAccess","undefined","result","findGlobal","content","type","text","JSON","stringify","doc","error","errorMessage","Error","message"],"mappings":"AAAA,SAASA,qBAAqB,QAAQ,UAAS;AAE/C,SAASC,aAAa,QAAQ,4BAA2B;AACzD,SAASC,gBAAgB,QAAQ,yBAAwB;AACzD,SAASC,SAAS,QAAQ,8BAA6B;AAEvD,MAAMC,sBAAsB;AAE5B,OAAO,MAAMC,iBAAiBH,iBAAiB;IAC7CI,QAAQ,CAACC,OAASN,cAAcM,SAASC,QAAQD,KAAKE,WAAW,EAAEC,SAAS,CAACH,KAAKI,IAAI,CAAC,EAAEC;IACzFC,aAAa;QACXC,iBAAiB;QACjBC,gBAAgB;QAChBC,eAAe;QACfC,cAAc;QACdC,OAAO;IACT;IACAC,aAAaf;IACbgB,OAAOpB;AACT,GAAGqB,OAAO,CAAC,OAAO,EAAEV,IAAI,EAAEW,aAAa,EAAEF,KAAK,EAAEG,GAAG,EAAE;IACnD,MAAMC,UAAUD,IAAIC,OAAO;IAC3B,MAAMC,SAAStB,UAAU;QAAEqB;IAAQ;IAEnC,MAAM,EAAEE,KAAK,EAAEC,cAAc,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,MAAM,EAAE,GAAGV;IAE5DK,OAAOM,IAAI,CAAC,CAAC,gBAAgB,EAAEpB,KAAK,SAAS,EAAEe,QAAQE,SAAS,CAAC,UAAU,EAAEA,QAAQ,GAAG,IAAI;IAE5F,IAAI;QACF,MAAMI,cAAwD;YAC5DrB;YACAe;YACAO,gBAAgBX,cAAcW,cAAc;YAC5CV;QACF;QAEA,IAAIK,QAAQ;YACVI,YAAYJ,MAAM,GAAGA;QACvB;QACA,IAAID,mBAAmBO,WAAW;YAChCF,YAAYL,cAAc,GAAGA;QAC/B;QACA,IAAIG,QAAQ;YACVE,YAAYF,MAAM,GAAGA;QACvB;QACA,IAAID,UAAU;YACZG,YAAYH,QAAQ,GAAGA;QACzB;QACA,MAAMM,SAAS,MAAMX,QAAQY,UAAU,CAACJ;QAExC,OAAO;YACLK,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,QAAQ,EAAE5B,KAAK,gBAAgB,EAAE6B,KAAKC,SAAS,CAACN,QAAQ,QAAQ,CAAC;gBAC1E;aACD;YACDO,KAAKP;QACP;IACF,EAAE,OAAOQ,OAAO;QACd,MAAMC,eAAeD,iBAAiBE,QAAQF,MAAMG,OAAO,GAAG;QAC9DrB,OAAOkB,KAAK,CAAC,CAAC,qBAAqB,EAAEhC,KAAK,EAAE,EAAEiC,cAAc;QAC5D,OAAO;YACLP,SAAS;gBAAC;oBAAEC,MAAM;oBAAQC,MAAM,CAAC,0BAA0B,EAAE5B,KAAK,KAAK,EAAEiC,cAAc;gBAAC;aAAE;QAC5F;IACF;AACF,GAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"findVersionByIDTool.d.ts","sourceRoot":"","sources":["../../../../src/mcp/builtin/globals/findVersionByIDTool.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,yBAAyB,wCA2FpC,CAAA"}
1
+ {"version":3,"file":"findVersionByIDTool.d.ts","sourceRoot":"","sources":["../../../../src/mcp/builtin/globals/findVersionByIDTool.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,yBAAyB,wCAsDpC,CAAA"}
@@ -1,11 +1,10 @@
1
- import { z } from 'zod';
1
+ import { findGlobalVersionByIDInputSchema } from 'payload';
2
2
  import { defaultAccess } from '../../../defaultAccess.js';
3
3
  import { defineGlobalTool } from '../../../defineTool.js';
4
4
  import { getLogger } from '../../../utils/getLogger.js';
5
- import { localAPIDefaults } from '../../../utils/localAPIDefaults.js';
6
5
  const DEFAULT_DESCRIPTION = 'Find a specific global version in any version-enabled global by passing the global slug and version ID.';
7
6
  export const findGlobalVersionByIDTool = defineGlobalTool({
8
- access: (args)=>defaultAccess(args) && Boolean(args.permissions?.globals?.[args.globalSlug]?.readVersions),
7
+ access: (args)=>defaultAccess(args) && Boolean(args.permissions?.globals?.[args.slug]?.readVersions),
9
8
  annotations: {
10
9
  destructiveHint: false,
11
10
  idempotentHint: true,
@@ -14,62 +13,51 @@ export const findGlobalVersionByIDTool = defineGlobalTool({
14
13
  title: 'Find Global Version By ID'
15
14
  },
16
15
  description: DEFAULT_DESCRIPTION,
17
- input: z.object({
18
- id: z.string().describe('The ID of the global version to retrieve'),
19
- depth: z.number().int().min(0).max(10).describe('How many levels deep to populate relationships in the global version document').optional().default(0),
20
- fallbackLocale: z.string().describe('Optional: fallback locale code to use when requested locale is not available').optional(),
21
- locale: z.string().describe('Optional: locale code to retrieve data in (e.g., "en", "es"). Use "all" to retrieve all locales for localized fields').optional(),
22
- populate: z.record(z.string(), z.unknown()).describe('Optional: control which fields to include from populated relationship or upload documents.').optional(),
23
- select: z.record(z.string(), z.unknown()).describe('Optional: define exactly which fields you\'d like to return in the response, e.g., {"version.siteName": true}').optional(),
24
- showHiddenFields: z.boolean().describe('Optional: include hidden fields in the returned global version document').optional()
25
- })
26
- }).handler(async ({ authorizedMCP, globalSlug, input, req })=>{
16
+ input: findGlobalVersionByIDInputSchema
17
+ }).handler(async ({ slug, authorizedMCP, input, req })=>{
27
18
  const payload = req.payload;
28
19
  const logger = getLogger({
29
20
  payload
30
21
  });
31
- const { id, depth, fallbackLocale, locale, populate, select, showHiddenFields } = input;
32
- logger.info(`Finding version for global: ${globalSlug} with ID: ${id}`);
22
+ const { id, depth, fallbackLocale, locale, populate, select } = input;
23
+ logger.info(`Finding version for global: ${slug} with ID: ${id}`);
33
24
  try {
34
25
  const result = await payload.findGlobalVersionByID({
35
26
  id,
36
- slug: globalSlug,
27
+ slug,
37
28
  depth,
29
+ overrideAccess: authorizedMCP.overrideAccess,
38
30
  req,
39
- ...localAPIDefaults(authorizedMCP),
40
- ...fallbackLocale ? {
31
+ ...fallbackLocale !== undefined ? {
41
32
  fallbackLocale
42
33
  } : {},
43
34
  ...locale ? {
44
35
  locale
45
36
  } : {},
46
37
  ...populate ? {
47
- populate: populate
38
+ populate
48
39
  } : {},
49
40
  ...select ? {
50
- select: select
51
- } : {},
52
- ...showHiddenFields !== undefined ? {
53
- showHiddenFields
41
+ select
54
42
  } : {}
55
43
  });
56
44
  return {
57
45
  content: [
58
46
  {
59
47
  type: 'text',
60
- text: `Version "${id}" from global "${globalSlug}":\n\`\`\`json\n${JSON.stringify(result)}\n\`\`\``
48
+ text: `Version "${id}" from global "${slug}":\n\`\`\`json\n${JSON.stringify(result)}\n\`\`\``
61
49
  }
62
50
  ],
63
51
  doc: result
64
52
  };
65
53
  } catch (error) {
66
54
  const errorMessage = error instanceof Error ? error.message : 'Unknown error';
67
- logger.error(`Error finding version ${id} for global ${globalSlug}: ${errorMessage}`);
55
+ logger.error(`Error finding version ${id} for global ${slug}: ${errorMessage}`);
68
56
  return {
69
57
  content: [
70
58
  {
71
59
  type: 'text',
72
- text: `❌ **Error finding version "${id}" for global "${globalSlug}":** ${errorMessage}`
60
+ text: `❌ **Error finding version "${id}" for global "${slug}":** ${errorMessage}`
73
61
  }
74
62
  ],
75
63
  isError: true
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/mcp/builtin/globals/findVersionByIDTool.ts"],"sourcesContent":["import type { PopulateType, 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 { localAPIDefaults } from '../../../utils/localAPIDefaults.js'\n\nconst DEFAULT_DESCRIPTION =\n 'Find a specific global version in any version-enabled global by passing the global slug and version ID.'\n\nexport const findGlobalVersionByIDTool = defineGlobalTool({\n access: (args) =>\n defaultAccess(args) && Boolean(args.permissions?.globals?.[args.globalSlug]?.readVersions),\n annotations: {\n destructiveHint: false,\n idempotentHint: true,\n openWorldHint: false,\n readOnlyHint: true,\n title: 'Find Global Version By ID',\n },\n description: DEFAULT_DESCRIPTION,\n input: z.object({\n id: z.string().describe('The ID of the global version to retrieve'),\n depth: z\n .number()\n .int()\n .min(0)\n .max(10)\n .describe('How many levels deep to populate relationships in the global version document')\n .optional()\n .default(0),\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 retrieve data in (e.g., \"en\", \"es\"). Use \"all\" to retrieve all locales for localized fields',\n )\n .optional(),\n populate: z\n .record(z.string(), z.unknown())\n .describe(\n 'Optional: control which fields to include from populated relationship or upload documents.',\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., {\"version.siteName\": true}',\n )\n .optional(),\n showHiddenFields: z\n .boolean()\n .describe('Optional: include hidden fields in the returned global version document')\n .optional(),\n }),\n}).handler(async ({ authorizedMCP, globalSlug, input, req }) => {\n const payload = req.payload\n const logger = getLogger({ payload })\n const { id, depth, fallbackLocale, locale, populate, select, showHiddenFields } = input\n\n logger.info(`Finding version for global: ${globalSlug} with ID: ${id}`)\n\n try {\n const result = await payload.findGlobalVersionByID({\n id,\n slug: globalSlug,\n depth,\n req,\n ...localAPIDefaults(authorizedMCP),\n ...(fallbackLocale ? { fallbackLocale } : {}),\n ...(locale ? { locale } : {}),\n ...(populate ? { populate: populate as PopulateType } : {}),\n ...(select ? { select: select as SelectType } : {}),\n ...(showHiddenFields !== undefined ? { showHiddenFields } : {}),\n })\n\n return {\n content: [\n {\n type: 'text',\n text: `Version \"${id}\" from global \"${globalSlug}\":\\n\\`\\`\\`json\\n${JSON.stringify(result)}\\n\\`\\`\\``,\n },\n ],\n doc: result as unknown as Record<string, unknown>,\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n logger.error(`Error finding version ${id} for global ${globalSlug}: ${errorMessage}`)\n return {\n content: [\n {\n type: 'text',\n text: `❌ **Error finding version \"${id}\" for global \"${globalSlug}\":** ${errorMessage}`,\n },\n ],\n isError: true,\n }\n }\n})\n"],"names":["z","defaultAccess","defineGlobalTool","getLogger","localAPIDefaults","DEFAULT_DESCRIPTION","findGlobalVersionByIDTool","access","args","Boolean","permissions","globals","globalSlug","readVersions","annotations","destructiveHint","idempotentHint","openWorldHint","readOnlyHint","title","description","input","object","id","string","describe","depth","number","int","min","max","optional","default","fallbackLocale","locale","populate","record","unknown","select","showHiddenFields","boolean","handler","authorizedMCP","req","payload","logger","info","result","findGlobalVersionByID","slug","undefined","content","type","text","JSON","stringify","doc","error","errorMessage","Error","message","isError"],"mappings":"AAEA,SAASA,CAAC,QAAQ,MAAK;AAEvB,SAASC,aAAa,QAAQ,4BAA2B;AACzD,SAASC,gBAAgB,QAAQ,yBAAwB;AACzD,SAASC,SAAS,QAAQ,8BAA6B;AACvD,SAASC,gBAAgB,QAAQ,qCAAoC;AAErE,MAAMC,sBACJ;AAEF,OAAO,MAAMC,4BAA4BJ,iBAAiB;IACxDK,QAAQ,CAACC,OACPP,cAAcO,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,OAAOrB,EAAEsB,MAAM,CAAC;QACdC,IAAIvB,EAAEwB,MAAM,GAAGC,QAAQ,CAAC;QACxBC,OAAO1B,EACJ2B,MAAM,GACNC,GAAG,GACHC,GAAG,CAAC,GACJC,GAAG,CAAC,IACJL,QAAQ,CAAC,iFACTM,QAAQ,GACRC,OAAO,CAAC;QACXC,gBAAgBjC,EACbwB,MAAM,GACNC,QAAQ,CAAC,gFACTM,QAAQ;QACXG,QAAQlC,EACLwB,MAAM,GACNC,QAAQ,CACP,wHAEDM,QAAQ;QACXI,UAAUnC,EACPoC,MAAM,CAACpC,EAAEwB,MAAM,IAAIxB,EAAEqC,OAAO,IAC5BZ,QAAQ,CACP,8FAEDM,QAAQ;QACXO,QAAQtC,EACLoC,MAAM,CAACpC,EAAEwB,MAAM,IAAIxB,EAAEqC,OAAO,IAC5BZ,QAAQ,CACP,iHAEDM,QAAQ;QACXQ,kBAAkBvC,EACfwC,OAAO,GACPf,QAAQ,CAAC,2EACTM,QAAQ;IACb;AACF,GAAGU,OAAO,CAAC,OAAO,EAAEC,aAAa,EAAE9B,UAAU,EAAES,KAAK,EAAEsB,GAAG,EAAE;IACzD,MAAMC,UAAUD,IAAIC,OAAO;IAC3B,MAAMC,SAAS1C,UAAU;QAAEyC;IAAQ;IACnC,MAAM,EAAErB,EAAE,EAAEG,KAAK,EAAEO,cAAc,EAAEC,MAAM,EAAEC,QAAQ,EAAEG,MAAM,EAAEC,gBAAgB,EAAE,GAAGlB;IAElFwB,OAAOC,IAAI,CAAC,CAAC,4BAA4B,EAAElC,WAAW,UAAU,EAAEW,IAAI;IAEtE,IAAI;QACF,MAAMwB,SAAS,MAAMH,QAAQI,qBAAqB,CAAC;YACjDzB;YACA0B,MAAMrC;YACNc;YACAiB;YACA,GAAGvC,iBAAiBsC,cAAc;YAClC,GAAIT,iBAAiB;gBAAEA;YAAe,IAAI,CAAC,CAAC;YAC5C,GAAIC,SAAS;gBAAEA;YAAO,IAAI,CAAC,CAAC;YAC5B,GAAIC,WAAW;gBAAEA,UAAUA;YAAyB,IAAI,CAAC,CAAC;YAC1D,GAAIG,SAAS;gBAAEA,QAAQA;YAAqB,IAAI,CAAC,CAAC;YAClD,GAAIC,qBAAqBW,YAAY;gBAAEX;YAAiB,IAAI,CAAC,CAAC;QAChE;QAEA,OAAO;YACLY,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,SAAS,EAAE9B,GAAG,eAAe,EAAEX,WAAW,gBAAgB,EAAE0C,KAAKC,SAAS,CAACR,QAAQ,QAAQ,CAAC;gBACrG;aACD;YACDS,KAAKT;QACP;IACF,EAAE,OAAOU,OAAO;QACd,MAAMC,eAAeD,iBAAiBE,QAAQF,MAAMG,OAAO,GAAG;QAC9Df,OAAOY,KAAK,CAAC,CAAC,sBAAsB,EAAElC,GAAG,YAAY,EAAEX,WAAW,EAAE,EAAE8C,cAAc;QACpF,OAAO;YACLP,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,2BAA2B,EAAE9B,GAAG,cAAc,EAAEX,WAAW,KAAK,EAAE8C,cAAc;gBACzF;aACD;YACDG,SAAS;QACX;IACF;AACF,GAAE"}
1
+ {"version":3,"sources":["../../../../src/mcp/builtin/globals/findVersionByIDTool.ts"],"sourcesContent":["import { findGlobalVersionByIDInputSchema } from 'payload'\n\nimport { defaultAccess } from '../../../defaultAccess.js'\nimport { defineGlobalTool } from '../../../defineTool.js'\nimport { getLogger } from '../../../utils/getLogger.js'\n\nconst DEFAULT_DESCRIPTION =\n 'Find a specific global version in any version-enabled global by passing the global slug and version ID.'\n\nexport const findGlobalVersionByIDTool = defineGlobalTool({\n access: (args) =>\n defaultAccess(args) && Boolean(args.permissions?.globals?.[args.slug]?.readVersions),\n annotations: {\n destructiveHint: false,\n idempotentHint: true,\n openWorldHint: false,\n readOnlyHint: true,\n title: 'Find Global Version By ID',\n },\n description: DEFAULT_DESCRIPTION,\n input: findGlobalVersionByIDInputSchema,\n}).handler(async ({ slug, authorizedMCP, input, req }) => {\n const payload = req.payload\n const logger = getLogger({ payload })\n const { id, depth, fallbackLocale, locale, populate, select } = input\n\n logger.info(`Finding version for global: ${slug} with ID: ${id}`)\n\n try {\n const result = await payload.findGlobalVersionByID({\n id,\n slug,\n depth,\n overrideAccess: authorizedMCP.overrideAccess,\n req,\n ...(fallbackLocale !== undefined ? { fallbackLocale } : {}),\n ...(locale ? { locale } : {}),\n ...(populate ? { populate } : {}),\n ...(select ? { select } : {}),\n })\n\n return {\n content: [\n {\n type: 'text',\n text: `Version \"${id}\" from global \"${slug}\":\\n\\`\\`\\`json\\n${JSON.stringify(result)}\\n\\`\\`\\``,\n },\n ],\n doc: result as unknown as Record<string, unknown>,\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n logger.error(`Error finding version ${id} for global ${slug}: ${errorMessage}`)\n return {\n content: [\n {\n type: 'text',\n text: `❌ **Error finding version \"${id}\" for global \"${slug}\":** ${errorMessage}`,\n },\n ],\n isError: true,\n }\n }\n})\n"],"names":["findGlobalVersionByIDInputSchema","defaultAccess","defineGlobalTool","getLogger","DEFAULT_DESCRIPTION","findGlobalVersionByIDTool","access","args","Boolean","permissions","globals","slug","readVersions","annotations","destructiveHint","idempotentHint","openWorldHint","readOnlyHint","title","description","input","handler","authorizedMCP","req","payload","logger","id","depth","fallbackLocale","locale","populate","select","info","result","findGlobalVersionByID","overrideAccess","undefined","content","type","text","JSON","stringify","doc","error","errorMessage","Error","message","isError"],"mappings":"AAAA,SAASA,gCAAgC,QAAQ,UAAS;AAE1D,SAASC,aAAa,QAAQ,4BAA2B;AACzD,SAASC,gBAAgB,QAAQ,yBAAwB;AACzD,SAASC,SAAS,QAAQ,8BAA6B;AAEvD,MAAMC,sBACJ;AAEF,OAAO,MAAMC,4BAA4BH,iBAAiB;IACxDI,QAAQ,CAACC,OACPN,cAAcM,SAASC,QAAQD,KAAKE,WAAW,EAAEC,SAAS,CAACH,KAAKI,IAAI,CAAC,EAAEC;IACzEC,aAAa;QACXC,iBAAiB;QACjBC,gBAAgB;QAChBC,eAAe;QACfC,cAAc;QACdC,OAAO;IACT;IACAC,aAAaf;IACbgB,OAAOpB;AACT,GAAGqB,OAAO,CAAC,OAAO,EAAEV,IAAI,EAAEW,aAAa,EAAEF,KAAK,EAAEG,GAAG,EAAE;IACnD,MAAMC,UAAUD,IAAIC,OAAO;IAC3B,MAAMC,SAAStB,UAAU;QAAEqB;IAAQ;IACnC,MAAM,EAAEE,EAAE,EAAEC,KAAK,EAAEC,cAAc,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,MAAM,EAAE,GAAGX;IAEhEK,OAAOO,IAAI,CAAC,CAAC,4BAA4B,EAAErB,KAAK,UAAU,EAAEe,IAAI;IAEhE,IAAI;QACF,MAAMO,SAAS,MAAMT,QAAQU,qBAAqB,CAAC;YACjDR;YACAf;YACAgB;YACAQ,gBAAgBb,cAAca,cAAc;YAC5CZ;YACA,GAAIK,mBAAmBQ,YAAY;gBAAER;YAAe,IAAI,CAAC,CAAC;YAC1D,GAAIC,SAAS;gBAAEA;YAAO,IAAI,CAAC,CAAC;YAC5B,GAAIC,WAAW;gBAAEA;YAAS,IAAI,CAAC,CAAC;YAChC,GAAIC,SAAS;gBAAEA;YAAO,IAAI,CAAC,CAAC;QAC9B;QAEA,OAAO;YACLM,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,SAAS,EAAEb,GAAG,eAAe,EAAEf,KAAK,gBAAgB,EAAE6B,KAAKC,SAAS,CAACR,QAAQ,QAAQ,CAAC;gBAC/F;aACD;YACDS,KAAKT;QACP;IACF,EAAE,OAAOU,OAAO;QACd,MAAMC,eAAeD,iBAAiBE,QAAQF,MAAMG,OAAO,GAAG;QAC9DrB,OAAOkB,KAAK,CAAC,CAAC,sBAAsB,EAAEjB,GAAG,YAAY,EAAEf,KAAK,EAAE,EAAEiC,cAAc;QAC9E,OAAO;YACLP,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,2BAA2B,EAAEb,GAAG,cAAc,EAAEf,KAAK,KAAK,EAAEiC,cAAc;gBACnF;aACD;YACDG,SAAS;QACX;IACF;AACF,GAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"findVersionsTool.d.ts","sourceRoot":"","sources":["../../../../src/mcp/builtin/globals/findVersionsTool.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,sBAAsB,wCAsIjC,CAAA"}
1
+ {"version":3,"file":"findVersionsTool.d.ts","sourceRoot":"","sources":["../../../../src/mcp/builtin/globals/findVersionsTool.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,sBAAsB,wCA2DjC,CAAA"}
@@ -1,12 +1,10 @@
1
- import { z } from 'zod';
1
+ import { findGlobalVersionsInputSchema } from 'payload';
2
2
  import { defaultAccess } from '../../../defaultAccess.js';
3
3
  import { defineGlobalTool } from '../../../defineTool.js';
4
4
  import { getLogger } from '../../../utils/getLogger.js';
5
- import { localAPIDefaults } from '../../../utils/localAPIDefaults.js';
6
- import { whereSchema } from '../../../utils/whereSchema.js';
7
5
  const DEFAULT_DESCRIPTION = 'Find global versions in any version-enabled global by passing the global slug and optional where clause.';
8
6
  export const findGlobalVersionsTool = defineGlobalTool({
9
- access: (args)=>defaultAccess(args) && Boolean(args.permissions?.globals?.[args.globalSlug]?.readVersions),
7
+ access: (args)=>defaultAccess(args) && Boolean(args.permissions?.globals?.[args.slug]?.readVersions),
10
8
  annotations: {
11
9
  destructiveHint: false,
12
10
  idempotentHint: true,
@@ -15,35 +13,23 @@ export const findGlobalVersionsTool = defineGlobalTool({
15
13
  title: 'Find Global Versions'
16
14
  },
17
15
  description: DEFAULT_DESCRIPTION,
18
- input: z.object({
19
- depth: z.number().int().min(0).max(10).describe('How many levels deep to populate relationships in global version documents').optional().default(0),
20
- fallbackLocale: z.string().describe('Optional: fallback locale code to use when requested locale is not available').optional(),
21
- limit: z.number().int().min(1).max(100).describe('Maximum number of versions to return (default: 10, max: 100)').optional().default(10),
22
- locale: z.string().describe('Optional: locale code to retrieve data in (e.g., "en", "es"). Use "all" to retrieve all locales for localized fields').optional(),
23
- page: z.number().int().min(1).describe('Page number for pagination (default: 1)').optional().default(1),
24
- pagination: z.boolean().describe('Optional: set to false to skip the count query overhead').optional(),
25
- populate: z.record(z.string(), z.unknown()).describe('Optional: control which fields to include from populated relationship or upload documents.').optional(),
26
- select: z.record(z.string(), z.unknown()).describe('Optional: define exactly which fields you\'d like to return in the response, e.g., {"version.siteName": true}').optional(),
27
- showHiddenFields: z.boolean().describe('Optional: include hidden fields in returned global version documents').optional(),
28
- sort: z.string().describe('Field to sort by (e.g., "-updatedAt", "-version.updatedAt" for descending)').optional(),
29
- where: whereSchema.describe('Optional: where clause for filtering versions. Version document fields are usually under "version". Example: {"version.siteName":{"contains":"test"}}').optional()
30
- })
31
- }).handler(async ({ authorizedMCP, globalSlug, input, req })=>{
16
+ input: findGlobalVersionsInputSchema
17
+ }).handler(async ({ slug, authorizedMCP, input, req })=>{
32
18
  const payload = req.payload;
33
19
  const logger = getLogger({
34
20
  payload
35
21
  });
36
- const { depth, fallbackLocale, limit, locale, page, pagination, populate, select, showHiddenFields, sort, where } = input;
37
- logger.info(`Finding versions for global: ${globalSlug}, limit: ${limit}, page: ${page}`);
22
+ const { depth, fallbackLocale, limit, locale, page, pagination, populate, select, sort, where } = input;
23
+ logger.info(`Finding versions for global: ${slug}, limit: ${limit}, page: ${page}`);
38
24
  try {
39
25
  const result = await payload.findGlobalVersions({
40
- slug: globalSlug,
26
+ slug,
41
27
  depth,
42
28
  limit,
29
+ overrideAccess: authorizedMCP.overrideAccess,
43
30
  page,
44
31
  req,
45
- ...localAPIDefaults(authorizedMCP),
46
- ...fallbackLocale ? {
32
+ ...fallbackLocale !== undefined ? {
47
33
  fallbackLocale
48
34
  } : {},
49
35
  ...locale ? {
@@ -53,13 +39,10 @@ export const findGlobalVersionsTool = defineGlobalTool({
53
39
  pagination
54
40
  } : {},
55
41
  ...populate ? {
56
- populate: populate
42
+ populate
57
43
  } : {},
58
44
  ...select ? {
59
- select: select
60
- } : {},
61
- ...showHiddenFields !== undefined ? {
62
- showHiddenFields
45
+ select
63
46
  } : {},
64
47
  ...sort ? {
65
48
  sort
@@ -72,19 +55,19 @@ export const findGlobalVersionsTool = defineGlobalTool({
72
55
  content: [
73
56
  {
74
57
  type: 'text',
75
- text: `Versions for global "${globalSlug}":\n\`\`\`json\n${JSON.stringify(result)}\n\`\`\``
58
+ text: `Versions for global "${slug}":\n\`\`\`json\n${JSON.stringify(result)}\n\`\`\``
76
59
  }
77
60
  ],
78
61
  doc: result
79
62
  };
80
63
  } catch (error) {
81
64
  const errorMessage = error instanceof Error ? error.message : 'Unknown error';
82
- logger.error(`Error finding versions for global ${globalSlug}: ${errorMessage}`);
65
+ logger.error(`Error finding versions for global ${slug}: ${errorMessage}`);
83
66
  return {
84
67
  content: [
85
68
  {
86
69
  type: 'text',
87
- text: `❌ **Error finding versions for global "${globalSlug}":** ${errorMessage}`
70
+ text: `❌ **Error finding versions for global "${slug}":** ${errorMessage}`
88
71
  }
89
72
  ],
90
73
  isError: true
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/mcp/builtin/globals/findVersionsTool.ts"],"sourcesContent":["import type { PopulateType, 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 { localAPIDefaults } from '../../../utils/localAPIDefaults.js'\nimport { whereSchema } from '../../../utils/whereSchema.js'\n\nconst DEFAULT_DESCRIPTION =\n 'Find global versions in any version-enabled global by passing the global slug and optional where clause.'\n\nexport const findGlobalVersionsTool = defineGlobalTool({\n access: (args) =>\n defaultAccess(args) && Boolean(args.permissions?.globals?.[args.globalSlug]?.readVersions),\n annotations: {\n destructiveHint: false,\n idempotentHint: true,\n openWorldHint: false,\n readOnlyHint: true,\n title: 'Find Global Versions',\n },\n description: DEFAULT_DESCRIPTION,\n input: z.object({\n depth: z\n .number()\n .int()\n .min(0)\n .max(10)\n .describe('How many levels deep to populate relationships in global version documents')\n .optional()\n .default(0),\n fallbackLocale: z\n .string()\n .describe('Optional: fallback locale code to use when requested locale is not available')\n .optional(),\n limit: z\n .number()\n .int()\n .min(1)\n .max(100)\n .describe('Maximum number of versions to return (default: 10, max: 100)')\n .optional()\n .default(10),\n locale: z\n .string()\n .describe(\n 'Optional: locale code to retrieve data in (e.g., \"en\", \"es\"). Use \"all\" to retrieve all locales for localized fields',\n )\n .optional(),\n page: z\n .number()\n .int()\n .min(1)\n .describe('Page number for pagination (default: 1)')\n .optional()\n .default(1),\n pagination: z\n .boolean()\n .describe('Optional: set to false to skip the count query overhead')\n .optional(),\n populate: z\n .record(z.string(), z.unknown())\n .describe(\n 'Optional: control which fields to include from populated relationship or upload documents.',\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., {\"version.siteName\": true}',\n )\n .optional(),\n showHiddenFields: z\n .boolean()\n .describe('Optional: include hidden fields in returned global version documents')\n .optional(),\n sort: z\n .string()\n .describe('Field to sort by (e.g., \"-updatedAt\", \"-version.updatedAt\" for descending)')\n .optional(),\n where: whereSchema\n .describe(\n 'Optional: where clause for filtering versions. Version document fields are usually under \"version\". Example: {\"version.siteName\":{\"contains\":\"test\"}}',\n )\n .optional(),\n }),\n}).handler(async ({ authorizedMCP, globalSlug, input, req }) => {\n const payload = req.payload\n const logger = getLogger({ payload })\n const {\n depth,\n fallbackLocale,\n limit,\n locale,\n page,\n pagination,\n populate,\n select,\n showHiddenFields,\n sort,\n where,\n } = input\n\n logger.info(`Finding versions for global: ${globalSlug}, limit: ${limit}, page: ${page}`)\n\n try {\n const result = await payload.findGlobalVersions({\n slug: globalSlug,\n depth,\n limit,\n page,\n req,\n ...localAPIDefaults(authorizedMCP),\n ...(fallbackLocale ? { fallbackLocale } : {}),\n ...(locale ? { locale } : {}),\n ...(pagination !== undefined ? { pagination } : {}),\n ...(populate ? { populate: populate as PopulateType } : {}),\n ...(select ? { select: select as SelectType } : {}),\n ...(showHiddenFields !== undefined ? { showHiddenFields } : {}),\n ...(sort ? { sort } : {}),\n ...(where ? { where } : {}),\n })\n\n return {\n content: [\n {\n type: 'text',\n text: `Versions for global \"${globalSlug}\":\\n\\`\\`\\`json\\n${JSON.stringify(result)}\\n\\`\\`\\``,\n },\n ],\n doc: result as unknown as Record<string, unknown>,\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n logger.error(`Error finding versions for global ${globalSlug}: ${errorMessage}`)\n return {\n content: [\n {\n type: 'text',\n text: `❌ **Error finding versions for global \"${globalSlug}\":** ${errorMessage}`,\n },\n ],\n isError: true,\n }\n }\n})\n"],"names":["z","defaultAccess","defineGlobalTool","getLogger","localAPIDefaults","whereSchema","DEFAULT_DESCRIPTION","findGlobalVersionsTool","access","args","Boolean","permissions","globals","globalSlug","readVersions","annotations","destructiveHint","idempotentHint","openWorldHint","readOnlyHint","title","description","input","object","depth","number","int","min","max","describe","optional","default","fallbackLocale","string","limit","locale","page","pagination","boolean","populate","record","unknown","select","showHiddenFields","sort","where","handler","authorizedMCP","req","payload","logger","info","result","findGlobalVersions","slug","undefined","content","type","text","JSON","stringify","doc","error","errorMessage","Error","message","isError"],"mappings":"AAEA,SAASA,CAAC,QAAQ,MAAK;AAEvB,SAASC,aAAa,QAAQ,4BAA2B;AACzD,SAASC,gBAAgB,QAAQ,yBAAwB;AACzD,SAASC,SAAS,QAAQ,8BAA6B;AACvD,SAASC,gBAAgB,QAAQ,qCAAoC;AACrE,SAASC,WAAW,QAAQ,gCAA+B;AAE3D,MAAMC,sBACJ;AAEF,OAAO,MAAMC,yBAAyBL,iBAAiB;IACrDM,QAAQ,CAACC,OACPR,cAAcQ,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,OAAOtB,EAAEuB,MAAM,CAAC;QACdC,OAAOxB,EACJyB,MAAM,GACNC,GAAG,GACHC,GAAG,CAAC,GACJC,GAAG,CAAC,IACJC,QAAQ,CAAC,8EACTC,QAAQ,GACRC,OAAO,CAAC;QACXC,gBAAgBhC,EACbiC,MAAM,GACNJ,QAAQ,CAAC,gFACTC,QAAQ;QACXI,OAAOlC,EACJyB,MAAM,GACNC,GAAG,GACHC,GAAG,CAAC,GACJC,GAAG,CAAC,KACJC,QAAQ,CAAC,gEACTC,QAAQ,GACRC,OAAO,CAAC;QACXI,QAAQnC,EACLiC,MAAM,GACNJ,QAAQ,CACP,wHAEDC,QAAQ;QACXM,MAAMpC,EACHyB,MAAM,GACNC,GAAG,GACHC,GAAG,CAAC,GACJE,QAAQ,CAAC,2CACTC,QAAQ,GACRC,OAAO,CAAC;QACXM,YAAYrC,EACTsC,OAAO,GACPT,QAAQ,CAAC,2DACTC,QAAQ;QACXS,UAAUvC,EACPwC,MAAM,CAACxC,EAAEiC,MAAM,IAAIjC,EAAEyC,OAAO,IAC5BZ,QAAQ,CACP,8FAEDC,QAAQ;QACXY,QAAQ1C,EACLwC,MAAM,CAACxC,EAAEiC,MAAM,IAAIjC,EAAEyC,OAAO,IAC5BZ,QAAQ,CACP,iHAEDC,QAAQ;QACXa,kBAAkB3C,EACfsC,OAAO,GACPT,QAAQ,CAAC,wEACTC,QAAQ;QACXc,MAAM5C,EACHiC,MAAM,GACNJ,QAAQ,CAAC,8EACTC,QAAQ;QACXe,OAAOxC,YACJwB,QAAQ,CACP,yJAEDC,QAAQ;IACb;AACF,GAAGgB,OAAO,CAAC,OAAO,EAAEC,aAAa,EAAElC,UAAU,EAAES,KAAK,EAAE0B,GAAG,EAAE;IACzD,MAAMC,UAAUD,IAAIC,OAAO;IAC3B,MAAMC,SAAS/C,UAAU;QAAE8C;IAAQ;IACnC,MAAM,EACJzB,KAAK,EACLQ,cAAc,EACdE,KAAK,EACLC,MAAM,EACNC,IAAI,EACJC,UAAU,EACVE,QAAQ,EACRG,MAAM,EACNC,gBAAgB,EAChBC,IAAI,EACJC,KAAK,EACN,GAAGvB;IAEJ4B,OAAOC,IAAI,CAAC,CAAC,6BAA6B,EAAEtC,WAAW,SAAS,EAAEqB,MAAM,QAAQ,EAAEE,MAAM;IAExF,IAAI;QACF,MAAMgB,SAAS,MAAMH,QAAQI,kBAAkB,CAAC;YAC9CC,MAAMzC;YACNW;YACAU;YACAE;YACAY;YACA,GAAG5C,iBAAiB2C,cAAc;YAClC,GAAIf,iBAAiB;gBAAEA;YAAe,IAAI,CAAC,CAAC;YAC5C,GAAIG,SAAS;gBAAEA;YAAO,IAAI,CAAC,CAAC;YAC5B,GAAIE,eAAekB,YAAY;gBAAElB;YAAW,IAAI,CAAC,CAAC;YAClD,GAAIE,WAAW;gBAAEA,UAAUA;YAAyB,IAAI,CAAC,CAAC;YAC1D,GAAIG,SAAS;gBAAEA,QAAQA;YAAqB,IAAI,CAAC,CAAC;YAClD,GAAIC,qBAAqBY,YAAY;gBAAEZ;YAAiB,IAAI,CAAC,CAAC;YAC9D,GAAIC,OAAO;gBAAEA;YAAK,IAAI,CAAC,CAAC;YACxB,GAAIC,QAAQ;gBAAEA;YAAM,IAAI,CAAC,CAAC;QAC5B;QAEA,OAAO;YACLW,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,qBAAqB,EAAE7C,WAAW,gBAAgB,EAAE8C,KAAKC,SAAS,CAACR,QAAQ,QAAQ,CAAC;gBAC7F;aACD;YACDS,KAAKT;QACP;IACF,EAAE,OAAOU,OAAO;QACd,MAAMC,eAAeD,iBAAiBE,QAAQF,MAAMG,OAAO,GAAG;QAC9Df,OAAOY,KAAK,CAAC,CAAC,kCAAkC,EAAEjD,WAAW,EAAE,EAAEkD,cAAc;QAC/E,OAAO;YACLP,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,uCAAuC,EAAE7C,WAAW,KAAK,EAAEkD,cAAc;gBAClF;aACD;YACDG,SAAS;QACX;IACF;AACF,GAAE"}
1
+ {"version":3,"sources":["../../../../src/mcp/builtin/globals/findVersionsTool.ts"],"sourcesContent":["import { findGlobalVersionsInputSchema } from 'payload'\n\nimport { defaultAccess } from '../../../defaultAccess.js'\nimport { defineGlobalTool } from '../../../defineTool.js'\nimport { getLogger } from '../../../utils/getLogger.js'\n\nconst DEFAULT_DESCRIPTION =\n 'Find global versions in any version-enabled global by passing the global slug and optional where clause.'\n\nexport const findGlobalVersionsTool = defineGlobalTool({\n access: (args) =>\n defaultAccess(args) && Boolean(args.permissions?.globals?.[args.slug]?.readVersions),\n annotations: {\n destructiveHint: false,\n idempotentHint: true,\n openWorldHint: false,\n readOnlyHint: true,\n title: 'Find Global Versions',\n },\n description: DEFAULT_DESCRIPTION,\n input: findGlobalVersionsInputSchema,\n}).handler(async ({ slug, authorizedMCP, input, req }) => {\n const payload = req.payload\n const logger = getLogger({ payload })\n const { depth, fallbackLocale, limit, locale, page, pagination, populate, select, sort, where } =\n input\n\n logger.info(`Finding versions for global: ${slug}, limit: ${limit}, page: ${page}`)\n\n try {\n const result = await payload.findGlobalVersions({\n slug,\n depth,\n limit,\n overrideAccess: authorizedMCP.overrideAccess,\n page,\n req,\n ...(fallbackLocale !== undefined ? { fallbackLocale } : {}),\n ...(locale ? { locale } : {}),\n ...(pagination !== undefined ? { pagination } : {}),\n ...(populate ? { populate } : {}),\n ...(select ? { select } : {}),\n ...(sort ? { sort } : {}),\n ...(where ? { where } : {}),\n })\n\n return {\n content: [\n {\n type: 'text',\n text: `Versions for global \"${slug}\":\\n\\`\\`\\`json\\n${JSON.stringify(result)}\\n\\`\\`\\``,\n },\n ],\n doc: result as unknown as Record<string, unknown>,\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n logger.error(`Error finding versions for global ${slug}: ${errorMessage}`)\n return {\n content: [\n {\n type: 'text',\n text: `❌ **Error finding versions for global \"${slug}\":** ${errorMessage}`,\n },\n ],\n isError: true,\n }\n }\n})\n"],"names":["findGlobalVersionsInputSchema","defaultAccess","defineGlobalTool","getLogger","DEFAULT_DESCRIPTION","findGlobalVersionsTool","access","args","Boolean","permissions","globals","slug","readVersions","annotations","destructiveHint","idempotentHint","openWorldHint","readOnlyHint","title","description","input","handler","authorizedMCP","req","payload","logger","depth","fallbackLocale","limit","locale","page","pagination","populate","select","sort","where","info","result","findGlobalVersions","overrideAccess","undefined","content","type","text","JSON","stringify","doc","error","errorMessage","Error","message","isError"],"mappings":"AAAA,SAASA,6BAA6B,QAAQ,UAAS;AAEvD,SAASC,aAAa,QAAQ,4BAA2B;AACzD,SAASC,gBAAgB,QAAQ,yBAAwB;AACzD,SAASC,SAAS,QAAQ,8BAA6B;AAEvD,MAAMC,sBACJ;AAEF,OAAO,MAAMC,yBAAyBH,iBAAiB;IACrDI,QAAQ,CAACC,OACPN,cAAcM,SAASC,QAAQD,KAAKE,WAAW,EAAEC,SAAS,CAACH,KAAKI,IAAI,CAAC,EAAEC;IACzEC,aAAa;QACXC,iBAAiB;QACjBC,gBAAgB;QAChBC,eAAe;QACfC,cAAc;QACdC,OAAO;IACT;IACAC,aAAaf;IACbgB,OAAOpB;AACT,GAAGqB,OAAO,CAAC,OAAO,EAAEV,IAAI,EAAEW,aAAa,EAAEF,KAAK,EAAEG,GAAG,EAAE;IACnD,MAAMC,UAAUD,IAAIC,OAAO;IAC3B,MAAMC,SAAStB,UAAU;QAAEqB;IAAQ;IACnC,MAAM,EAAEE,KAAK,EAAEC,cAAc,EAAEC,KAAK,EAAEC,MAAM,EAAEC,IAAI,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAC7Ff;IAEFK,OAAOW,IAAI,CAAC,CAAC,6BAA6B,EAAEzB,KAAK,SAAS,EAAEiB,MAAM,QAAQ,EAAEE,MAAM;IAElF,IAAI;QACF,MAAMO,SAAS,MAAMb,QAAQc,kBAAkB,CAAC;YAC9C3B;YACAe;YACAE;YACAW,gBAAgBjB,cAAciB,cAAc;YAC5CT;YACAP;YACA,GAAII,mBAAmBa,YAAY;gBAAEb;YAAe,IAAI,CAAC,CAAC;YAC1D,GAAIE,SAAS;gBAAEA;YAAO,IAAI,CAAC,CAAC;YAC5B,GAAIE,eAAeS,YAAY;gBAAET;YAAW,IAAI,CAAC,CAAC;YAClD,GAAIC,WAAW;gBAAEA;YAAS,IAAI,CAAC,CAAC;YAChC,GAAIC,SAAS;gBAAEA;YAAO,IAAI,CAAC,CAAC;YAC5B,GAAIC,OAAO;gBAAEA;YAAK,IAAI,CAAC,CAAC;YACxB,GAAIC,QAAQ;gBAAEA;YAAM,IAAI,CAAC,CAAC;QAC5B;QAEA,OAAO;YACLM,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,qBAAqB,EAAEhC,KAAK,gBAAgB,EAAEiC,KAAKC,SAAS,CAACR,QAAQ,QAAQ,CAAC;gBACvF;aACD;YACDS,KAAKT;QACP;IACF,EAAE,OAAOU,OAAO;QACd,MAAMC,eAAeD,iBAAiBE,QAAQF,MAAMG,OAAO,GAAG;QAC9DzB,OAAOsB,KAAK,CAAC,CAAC,kCAAkC,EAAEpC,KAAK,EAAE,EAAEqC,cAAc;QACzE,OAAO;YACLP,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,uCAAuC,EAAEhC,KAAK,KAAK,EAAEqC,cAAc;gBAC5E;aACD;YACDG,SAAS;QACX;IACF;AACF,GAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"getGlobalSchemaTool.d.ts","sourceRoot":"","sources":["../../../../src/mcp/builtin/globals/getGlobalSchemaTool.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,wCAoC9B,CAAA"}
1
+ {"version":3,"file":"getGlobalSchemaTool.d.ts","sourceRoot":"","sources":["../../../../src/mcp/builtin/globals/getGlobalSchemaTool.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,mBAAmB,wCAyD9B,CAAA"}
@@ -1,10 +1,10 @@
1
+ import { getAccessResults, getGlobalInputSchema, getGlobalSchemaInputSchema } from 'payload';
1
2
  import { defaultAccess } from '../../../defaultAccess.js';
2
3
  import { defineGlobalTool } from '../../../defineTool.js';
3
- import { getGlobalInputSchema } from '../../../utils/schemaConversion/getEntityInputSchema.js';
4
4
  export const getGlobalSchemaTool = defineGlobalTool({
5
5
  access: (args)=>{
6
- const permissions = args.permissions?.globals?.[args.globalSlug];
7
- return defaultAccess(args) && Boolean(permissions?.read || permissions?.update);
6
+ const permissions = args.permissions?.globals?.[args.slug];
7
+ return defaultAccess(args) && Boolean(permissions?.update);
8
8
  },
9
9
  annotations: {
10
10
  destructiveHint: false,
@@ -13,18 +13,36 @@ export const getGlobalSchemaTool = defineGlobalTool({
13
13
  readOnlyHint: true,
14
14
  title: 'Get Global Schema'
15
15
  },
16
- description: 'Get the input schema for updating a global.'
17
- }).handler(({ globalSlug, req })=>{
18
- const inputSchema = getGlobalInputSchema({
19
- globalSlug,
16
+ description: 'Get the input schema for updating a global.',
17
+ input: getGlobalSchemaInputSchema
18
+ }).handler(async ({ slug, authorizedMCP, req })=>{
19
+ const permissions = authorizedMCP.overrideAccess ? null : (await getAccessResults({
20
20
  req
21
+ })).globals?.[slug];
22
+ if (!authorizedMCP.overrideAccess && !permissions?.update) {
23
+ return {
24
+ content: [
25
+ {
26
+ type: 'text',
27
+ text: `Error: MCP access to "getGlobalSchema" is not enabled for global "${slug}"`
28
+ }
29
+ ],
30
+ isError: true
31
+ };
32
+ }
33
+ const inputSchema = getGlobalInputSchema({
34
+ globalSlug: slug,
35
+ req,
36
+ ...permissions ? {
37
+ permissions
38
+ } : {}
21
39
  });
22
40
  if (!inputSchema) {
23
41
  return {
24
42
  content: [
25
43
  {
26
44
  type: 'text',
27
- text: `Error: Global "${globalSlug}" not found`
45
+ text: `Error: Global "${slug}" not found`
28
46
  }
29
47
  ],
30
48
  isError: true
@@ -34,11 +52,11 @@ export const getGlobalSchemaTool = defineGlobalTool({
34
52
  content: [
35
53
  {
36
54
  type: 'text',
37
- text: `Schema for global "${globalSlug}":\n\`\`\`json\n${JSON.stringify(inputSchema)}\n\`\`\``
55
+ text: `Schema for global "${slug}":\n\`\`\`json\n${JSON.stringify(inputSchema)}\n\`\`\``
38
56
  }
39
57
  ],
40
58
  structuredContent: {
41
- globalSlug,
59
+ slug,
42
60
  schema: inputSchema
43
61
  }
44
62
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/mcp/builtin/globals/getGlobalSchemaTool.ts"],"sourcesContent":["import { defaultAccess } from '../../../defaultAccess.js'\nimport { defineGlobalTool } from '../../../defineTool.js'\nimport { getGlobalInputSchema } from '../../../utils/schemaConversion/getEntityInputSchema.js'\n\nexport const getGlobalSchemaTool = defineGlobalTool({\n access: (args) => {\n const permissions = args.permissions?.globals?.[args.globalSlug]\n\n return defaultAccess(args) && Boolean(permissions?.read || permissions?.update)\n },\n annotations: {\n destructiveHint: false,\n idempotentHint: true,\n openWorldHint: false,\n readOnlyHint: true,\n title: 'Get Global Schema',\n },\n description: 'Get the input schema for updating a global.',\n}).handler(({ globalSlug, req }) => {\n const inputSchema = getGlobalInputSchema({ globalSlug, req })\n\n if (!inputSchema) {\n return {\n content: [{ type: 'text', text: `Error: Global \"${globalSlug}\" not found` }],\n isError: true,\n }\n }\n\n return {\n content: [\n {\n type: 'text',\n text: `Schema for global \"${globalSlug}\":\\n\\`\\`\\`json\\n${JSON.stringify(inputSchema)}\\n\\`\\`\\``,\n },\n ],\n structuredContent: {\n globalSlug,\n schema: inputSchema,\n },\n }\n})\n"],"names":["defaultAccess","defineGlobalTool","getGlobalInputSchema","getGlobalSchemaTool","access","args","permissions","globals","globalSlug","Boolean","read","update","annotations","destructiveHint","idempotentHint","openWorldHint","readOnlyHint","title","description","handler","req","inputSchema","content","type","text","isError","JSON","stringify","structuredContent","schema"],"mappings":"AAAA,SAASA,aAAa,QAAQ,4BAA2B;AACzD,SAASC,gBAAgB,QAAQ,yBAAwB;AACzD,SAASC,oBAAoB,QAAQ,0DAAyD;AAE9F,OAAO,MAAMC,sBAAsBF,iBAAiB;IAClDG,QAAQ,CAACC;QACP,MAAMC,cAAcD,KAAKC,WAAW,EAAEC,SAAS,CAACF,KAAKG,UAAU,CAAC;QAEhE,OAAOR,cAAcK,SAASI,QAAQH,aAAaI,QAAQJ,aAAaK;IAC1E;IACAC,aAAa;QACXC,iBAAiB;QACjBC,gBAAgB;QAChBC,eAAe;QACfC,cAAc;QACdC,OAAO;IACT;IACAC,aAAa;AACf,GAAGC,OAAO,CAAC,CAAC,EAAEX,UAAU,EAAEY,GAAG,EAAE;IAC7B,MAAMC,cAAcnB,qBAAqB;QAAEM;QAAYY;IAAI;IAE3D,IAAI,CAACC,aAAa;QAChB,OAAO;YACLC,SAAS;gBAAC;oBAAEC,MAAM;oBAAQC,MAAM,CAAC,eAAe,EAAEhB,WAAW,WAAW,CAAC;gBAAC;aAAE;YAC5EiB,SAAS;QACX;IACF;IAEA,OAAO;QACLH,SAAS;YACP;gBACEC,MAAM;gBACNC,MAAM,CAAC,mBAAmB,EAAEhB,WAAW,gBAAgB,EAAEkB,KAAKC,SAAS,CAACN,aAAa,QAAQ,CAAC;YAChG;SACD;QACDO,mBAAmB;YACjBpB;YACAqB,QAAQR;QACV;IACF;AACF,GAAE"}
1
+ {"version":3,"sources":["../../../../src/mcp/builtin/globals/getGlobalSchemaTool.ts"],"sourcesContent":["import { getAccessResults, getGlobalInputSchema, getGlobalSchemaInputSchema } from 'payload'\n\nimport { defaultAccess } from '../../../defaultAccess.js'\nimport { defineGlobalTool } from '../../../defineTool.js'\n\nexport const getGlobalSchemaTool = defineGlobalTool({\n access: (args) => {\n const permissions = args.permissions?.globals?.[args.slug]\n\n return defaultAccess(args) && Boolean(permissions?.update)\n },\n annotations: {\n destructiveHint: false,\n idempotentHint: true,\n openWorldHint: false,\n readOnlyHint: true,\n title: 'Get Global Schema',\n },\n description: 'Get the input schema for updating a global.',\n input: getGlobalSchemaInputSchema,\n}).handler(async ({ slug, authorizedMCP, req }) => {\n const permissions = authorizedMCP.overrideAccess\n ? null\n : (await getAccessResults({ req })).globals?.[slug]\n\n if (!authorizedMCP.overrideAccess && !permissions?.update) {\n return {\n content: [\n {\n type: 'text',\n text: `Error: MCP access to \"getGlobalSchema\" is not enabled for global \"${slug}\"`,\n },\n ],\n isError: true,\n }\n }\n\n const inputSchema = getGlobalInputSchema({\n globalSlug: slug,\n req,\n ...(permissions ? { permissions } : {}),\n })\n\n if (!inputSchema) {\n return {\n content: [{ type: 'text', text: `Error: Global \"${slug}\" not found` }],\n isError: true,\n }\n }\n\n return {\n content: [\n {\n type: 'text',\n text: `Schema for global \"${slug}\":\\n\\`\\`\\`json\\n${JSON.stringify(inputSchema)}\\n\\`\\`\\``,\n },\n ],\n structuredContent: {\n slug,\n schema: inputSchema,\n },\n }\n})\n"],"names":["getAccessResults","getGlobalInputSchema","getGlobalSchemaInputSchema","defaultAccess","defineGlobalTool","getGlobalSchemaTool","access","args","permissions","globals","slug","Boolean","update","annotations","destructiveHint","idempotentHint","openWorldHint","readOnlyHint","title","description","input","handler","authorizedMCP","req","overrideAccess","content","type","text","isError","inputSchema","globalSlug","JSON","stringify","structuredContent","schema"],"mappings":"AAAA,SAASA,gBAAgB,EAAEC,oBAAoB,EAAEC,0BAA0B,QAAQ,UAAS;AAE5F,SAASC,aAAa,QAAQ,4BAA2B;AACzD,SAASC,gBAAgB,QAAQ,yBAAwB;AAEzD,OAAO,MAAMC,sBAAsBD,iBAAiB;IAClDE,QAAQ,CAACC;QACP,MAAMC,cAAcD,KAAKC,WAAW,EAAEC,SAAS,CAACF,KAAKG,IAAI,CAAC;QAE1D,OAAOP,cAAcI,SAASI,QAAQH,aAAaI;IACrD;IACAC,aAAa;QACXC,iBAAiB;QACjBC,gBAAgB;QAChBC,eAAe;QACfC,cAAc;QACdC,OAAO;IACT;IACAC,aAAa;IACbC,OAAOlB;AACT,GAAGmB,OAAO,CAAC,OAAO,EAAEX,IAAI,EAAEY,aAAa,EAAEC,GAAG,EAAE;IAC5C,MAAMf,cAAcc,cAAcE,cAAc,GAC5C,OACA,AAAC,CAAA,MAAMxB,iBAAiB;QAAEuB;IAAI,EAAC,EAAGd,OAAO,EAAE,CAACC,KAAK;IAErD,IAAI,CAACY,cAAcE,cAAc,IAAI,CAAChB,aAAaI,QAAQ;QACzD,OAAO;YACLa,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,kEAAkE,EAAEjB,KAAK,CAAC,CAAC;gBACpF;aACD;YACDkB,SAAS;QACX;IACF;IAEA,MAAMC,cAAc5B,qBAAqB;QACvC6B,YAAYpB;QACZa;QACA,GAAIf,cAAc;YAAEA;QAAY,IAAI,CAAC,CAAC;IACxC;IAEA,IAAI,CAACqB,aAAa;QAChB,OAAO;YACLJ,SAAS;gBAAC;oBAAEC,MAAM;oBAAQC,MAAM,CAAC,eAAe,EAAEjB,KAAK,WAAW,CAAC;gBAAC;aAAE;YACtEkB,SAAS;QACX;IACF;IAEA,OAAO;QACLH,SAAS;YACP;gBACEC,MAAM;gBACNC,MAAM,CAAC,mBAAmB,EAAEjB,KAAK,gBAAgB,EAAEqB,KAAKC,SAAS,CAACH,aAAa,QAAQ,CAAC;YAC1F;SACD;QACDI,mBAAmB;YACjBvB;YACAwB,QAAQL;QACV;IACF;AACF,GAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"restoreVersionTool.d.ts","sourceRoot":"","sources":["../../../../src/mcp/builtin/globals/restoreVersionTool.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,wBAAwB,wCAuFnC,CAAA"}
1
+ {"version":3,"file":"restoreVersionTool.d.ts","sourceRoot":"","sources":["../../../../src/mcp/builtin/globals/restoreVersionTool.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,wBAAwB,wCA0DnC,CAAA"}
@@ -1,11 +1,10 @@
1
- import { z } from 'zod';
1
+ import { restoreGlobalVersionInputSchema } from 'payload';
2
2
  import { defaultAccess } from '../../../defaultAccess.js';
3
3
  import { defineGlobalTool } from '../../../defineTool.js';
4
4
  import { getLogger } from '../../../utils/getLogger.js';
5
- import { localAPIDefaults } from '../../../utils/localAPIDefaults.js';
6
5
  const DEFAULT_DESCRIPTION = 'Restore a global from a previous version in any version-enabled global.';
7
6
  export const restoreGlobalVersionTool = defineGlobalTool({
8
- access: (args)=>defaultAccess(args) && Boolean(args.permissions?.globals?.[args.globalSlug]?.update),
7
+ access: (args)=>defaultAccess(args) && Boolean(args.permissions?.globals?.[args.slug]?.update),
9
8
  annotations: {
10
9
  destructiveHint: true,
11
10
  idempotentHint: false,
@@ -14,39 +13,32 @@ export const restoreGlobalVersionTool = defineGlobalTool({
14
13
  title: 'Restore Global Version'
15
14
  },
16
15
  description: DEFAULT_DESCRIPTION,
17
- input: z.object({
18
- id: z.string().describe('The ID of the global version to restore'),
19
- depth: z.number().int().min(0).max(10).describe('How many levels deep to populate relationships in response').optional().default(0),
20
- fallbackLocale: z.string().describe('Optional: fallback locale code to use when requested locale is not available').optional(),
21
- locale: z.string().describe('Optional: locale code to restore in (e.g., "en", "es")').optional(),
22
- populate: z.record(z.string(), z.unknown()).describe('Optional: control which fields to include from populated relationship or upload documents.').optional(),
23
- showHiddenFields: z.boolean().describe('Optional: include hidden fields in the restored global response').optional()
24
- })
25
- }).handler(async ({ authorizedMCP, globalSlug, input, req })=>{
16
+ input: restoreGlobalVersionInputSchema
17
+ }).handler(async ({ slug, authorizedMCP, input, req })=>{
26
18
  const payload = req.payload;
27
19
  const logger = getLogger({
28
20
  payload
29
21
  });
30
- const { id, depth, fallbackLocale, locale, populate, showHiddenFields } = input;
31
- logger.info(`Restoring version for global: ${globalSlug} with ID: ${id}`);
22
+ const { id, depth, fallbackLocale, locale, populate, select } = input;
23
+ logger.info(`Restoring version for global: ${slug} with ID: ${id}`);
32
24
  try {
33
25
  const result = await payload.restoreGlobalVersion({
34
- id,
35
- slug: globalSlug,
26
+ id: String(id),
27
+ slug,
36
28
  depth,
29
+ overrideAccess: authorizedMCP.overrideAccess,
37
30
  req,
38
- ...localAPIDefaults(authorizedMCP),
39
- ...fallbackLocale ? {
31
+ ...fallbackLocale !== undefined ? {
40
32
  fallbackLocale
41
33
  } : {},
42
34
  ...locale ? {
43
35
  locale
44
36
  } : {},
45
37
  ...populate ? {
46
- populate: populate
38
+ populate
47
39
  } : {},
48
- ...showHiddenFields !== undefined ? {
49
- showHiddenFields
40
+ ...select ? {
41
+ select
50
42
  } : {}
51
43
  });
52
44
  const resultObject = result;
@@ -55,19 +47,19 @@ export const restoreGlobalVersionTool = defineGlobalTool({
55
47
  content: [
56
48
  {
57
49
  type: 'text',
58
- text: `Version "${id}" restored successfully for global "${globalSlug}"!\nRestored global:\n\`\`\`json\n${JSON.stringify(restoredGlobal)}\n\`\`\``
50
+ text: `Version "${id}" restored successfully for global "${slug}"!\nRestored global:\n\`\`\`json\n${JSON.stringify(restoredGlobal)}\n\`\`\``
59
51
  }
60
52
  ],
61
53
  doc: restoredGlobal
62
54
  };
63
55
  } catch (error) {
64
56
  const errorMessage = error instanceof Error ? error.message : 'Unknown error';
65
- logger.error(`Error restoring version ${id} for global ${globalSlug}: ${errorMessage}`);
57
+ logger.error(`Error restoring version ${id} for global ${slug}: ${errorMessage}`);
66
58
  return {
67
59
  content: [
68
60
  {
69
61
  type: 'text',
70
- text: `❌ **Error restoring version "${id}" for global "${globalSlug}":** ${errorMessage}`
62
+ text: `❌ **Error restoring version "${id}" for global "${slug}":** ${errorMessage}`
71
63
  }
72
64
  ],
73
65
  isError: true
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/mcp/builtin/globals/restoreVersionTool.ts"],"sourcesContent":["import type { PopulateType } 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 { localAPIDefaults } from '../../../utils/localAPIDefaults.js'\n\nconst DEFAULT_DESCRIPTION = 'Restore a global from a previous version in any version-enabled global.'\n\nexport const restoreGlobalVersionTool = 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: 'Restore Global Version',\n },\n description: DEFAULT_DESCRIPTION,\n input: z.object({\n id: z.string().describe('The ID of the global version to restore'),\n depth: z\n .number()\n .int()\n .min(0)\n .max(10)\n .describe('How many levels deep to populate relationships in response')\n .optional()\n .default(0),\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('Optional: locale code to restore in (e.g., \"en\", \"es\")')\n .optional(),\n populate: z\n .record(z.string(), z.unknown())\n .describe(\n 'Optional: control which fields to include from populated relationship or upload documents.',\n )\n .optional(),\n showHiddenFields: z\n .boolean()\n .describe('Optional: include hidden fields in the restored global response')\n .optional(),\n }),\n}).handler(async ({ authorizedMCP, globalSlug, input, req }) => {\n const payload = req.payload\n const logger = getLogger({ payload })\n const { id, depth, fallbackLocale, locale, populate, showHiddenFields } = input\n\n logger.info(`Restoring version for global: ${globalSlug} with ID: ${id}`)\n\n try {\n const result = await payload.restoreGlobalVersion({\n id,\n slug: globalSlug,\n depth,\n req,\n ...localAPIDefaults(authorizedMCP),\n ...(fallbackLocale ? { fallbackLocale } : {}),\n ...(locale ? { locale } : {}),\n ...(populate ? { populate: populate as PopulateType } : {}),\n ...(showHiddenFields !== undefined ? { showHiddenFields } : {}),\n })\n const resultObject = result as Record<string, unknown>\n const restoredGlobal =\n resultObject.version && typeof resultObject.version === 'object'\n ? (resultObject.version as Record<string, unknown>)\n : resultObject\n\n return {\n content: [\n {\n type: 'text',\n text: `Version \"${id}\" restored successfully for global \"${globalSlug}\"!\\nRestored global:\\n\\`\\`\\`json\\n${JSON.stringify(restoredGlobal)}\\n\\`\\`\\``,\n },\n ],\n doc: restoredGlobal,\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n logger.error(`Error restoring version ${id} for global ${globalSlug}: ${errorMessage}`)\n return {\n content: [\n {\n type: 'text',\n text: `❌ **Error restoring version \"${id}\" for global \"${globalSlug}\":** ${errorMessage}`,\n },\n ],\n isError: true,\n }\n }\n})\n"],"names":["z","defaultAccess","defineGlobalTool","getLogger","localAPIDefaults","DEFAULT_DESCRIPTION","restoreGlobalVersionTool","access","args","Boolean","permissions","globals","globalSlug","update","annotations","destructiveHint","idempotentHint","openWorldHint","readOnlyHint","title","description","input","object","id","string","describe","depth","number","int","min","max","optional","default","fallbackLocale","locale","populate","record","unknown","showHiddenFields","boolean","handler","authorizedMCP","req","payload","logger","info","result","restoreGlobalVersion","slug","undefined","resultObject","restoredGlobal","version","content","type","text","JSON","stringify","doc","error","errorMessage","Error","message","isError"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/mcp/builtin/globals/restoreVersionTool.ts"],"sourcesContent":["import { restoreGlobalVersionInputSchema } from 'payload'\n\nimport { defaultAccess } from '../../../defaultAccess.js'\nimport { defineGlobalTool } from '../../../defineTool.js'\nimport { getLogger } from '../../../utils/getLogger.js'\n\nconst DEFAULT_DESCRIPTION =\n 'Restore a global from a previous version in any version-enabled global.'\n\nexport const restoreGlobalVersionTool = defineGlobalTool({\n access: (args) => defaultAccess(args) && Boolean(args.permissions?.globals?.[args.slug]?.update),\n annotations: {\n destructiveHint: true,\n idempotentHint: false,\n openWorldHint: false,\n readOnlyHint: false,\n title: 'Restore Global Version',\n },\n description: DEFAULT_DESCRIPTION,\n input: restoreGlobalVersionInputSchema,\n}).handler(async ({ slug, authorizedMCP, input, req }) => {\n const payload = req.payload\n const logger = getLogger({ payload })\n const { id, depth, fallbackLocale, locale, populate, select } = input\n\n logger.info(`Restoring version for global: ${slug} with ID: ${id}`)\n\n try {\n const result = await payload.restoreGlobalVersion({\n id: String(id),\n slug,\n depth,\n overrideAccess: authorizedMCP.overrideAccess,\n req,\n ...(fallbackLocale !== undefined ? { fallbackLocale } : {}),\n ...(locale ? { locale } : {}),\n ...(populate ? { populate } : {}),\n ...(select ? { select } : {}),\n })\n const resultObject = result as Record<string, unknown>\n const restoredGlobal =\n resultObject.version && typeof resultObject.version === 'object'\n ? (resultObject.version as Record<string, unknown>)\n : resultObject\n\n return {\n content: [\n {\n type: 'text',\n text: `Version \"${id}\" restored successfully for global \"${slug}\"!\\nRestored global:\\n\\`\\`\\`json\\n${JSON.stringify(restoredGlobal)}\\n\\`\\`\\``,\n },\n ],\n doc: restoredGlobal,\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n logger.error(`Error restoring version ${id} for global ${slug}: ${errorMessage}`)\n return {\n content: [\n {\n type: 'text',\n text: `❌ **Error restoring version \"${id}\" for global \"${slug}\":** ${errorMessage}`,\n },\n ],\n isError: true,\n }\n }\n})\n"],"names":["restoreGlobalVersionInputSchema","defaultAccess","defineGlobalTool","getLogger","DEFAULT_DESCRIPTION","restoreGlobalVersionTool","access","args","Boolean","permissions","globals","slug","update","annotations","destructiveHint","idempotentHint","openWorldHint","readOnlyHint","title","description","input","handler","authorizedMCP","req","payload","logger","id","depth","fallbackLocale","locale","populate","select","info","result","restoreGlobalVersion","String","overrideAccess","undefined","resultObject","restoredGlobal","version","content","type","text","JSON","stringify","doc","error","errorMessage","Error","message","isError"],"mappings":"AAAA,SAASA,+BAA+B,QAAQ,UAAS;AAEzD,SAASC,aAAa,QAAQ,4BAA2B;AACzD,SAASC,gBAAgB,QAAQ,yBAAwB;AACzD,SAASC,SAAS,QAAQ,8BAA6B;AAEvD,MAAMC,sBACJ;AAEF,OAAO,MAAMC,2BAA2BH,iBAAiB;IACvDI,QAAQ,CAACC,OAASN,cAAcM,SAASC,QAAQD,KAAKE,WAAW,EAAEC,SAAS,CAACH,KAAKI,IAAI,CAAC,EAAEC;IACzFC,aAAa;QACXC,iBAAiB;QACjBC,gBAAgB;QAChBC,eAAe;QACfC,cAAc;QACdC,OAAO;IACT;IACAC,aAAaf;IACbgB,OAAOpB;AACT,GAAGqB,OAAO,CAAC,OAAO,EAAEV,IAAI,EAAEW,aAAa,EAAEF,KAAK,EAAEG,GAAG,EAAE;IACnD,MAAMC,UAAUD,IAAIC,OAAO;IAC3B,MAAMC,SAAStB,UAAU;QAAEqB;IAAQ;IACnC,MAAM,EAAEE,EAAE,EAAEC,KAAK,EAAEC,cAAc,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,MAAM,EAAE,GAAGX;IAEhEK,OAAOO,IAAI,CAAC,CAAC,8BAA8B,EAAErB,KAAK,UAAU,EAAEe,IAAI;IAElE,IAAI;QACF,MAAMO,SAAS,MAAMT,QAAQU,oBAAoB,CAAC;YAChDR,IAAIS,OAAOT;YACXf;YACAgB;YACAS,gBAAgBd,cAAcc,cAAc;YAC5Cb;YACA,GAAIK,mBAAmBS,YAAY;gBAAET;YAAe,IAAI,CAAC,CAAC;YAC1D,GAAIC,SAAS;gBAAEA;YAAO,IAAI,CAAC,CAAC;YAC5B,GAAIC,WAAW;gBAAEA;YAAS,IAAI,CAAC,CAAC;YAChC,GAAIC,SAAS;gBAAEA;YAAO,IAAI,CAAC,CAAC;QAC9B;QACA,MAAMO,eAAeL;QACrB,MAAMM,iBACJD,aAAaE,OAAO,IAAI,OAAOF,aAAaE,OAAO,KAAK,WACnDF,aAAaE,OAAO,GACrBF;QAEN,OAAO;YACLG,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,SAAS,EAAEjB,GAAG,oCAAoC,EAAEf,KAAK,kCAAkC,EAAEiC,KAAKC,SAAS,CAACN,gBAAgB,QAAQ,CAAC;gBAC9I;aACD;YACDO,KAAKP;QACP;IACF,EAAE,OAAOQ,OAAO;QACd,MAAMC,eAAeD,iBAAiBE,QAAQF,MAAMG,OAAO,GAAG;QAC9DzB,OAAOsB,KAAK,CAAC,CAAC,wBAAwB,EAAErB,GAAG,YAAY,EAAEf,KAAK,EAAE,EAAEqC,cAAc;QAChF,OAAO;YACLP,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,6BAA6B,EAAEjB,GAAG,cAAc,EAAEf,KAAK,KAAK,EAAEqC,cAAc;gBACrF;aACD;YACDG,SAAS;QACX;IACF;AACF,GAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"updateTool.d.ts","sourceRoot":"","sources":["../../../../src/mcp/builtin/globals/updateTool.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,gBAAgB,wCAiG3B,CAAA"}
1
+ {"version":3,"file":"updateTool.d.ts","sourceRoot":"","sources":["../../../../src/mcp/builtin/globals/updateTool.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,gBAAgB,wCA4E3B,CAAA"}