@payloadcms/plugin-mcp 4.0.0-internal.e16cf59 → 4.0.0-internal.e387174

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 (417) hide show
  1. package/LICENSE.md +1 -1
  2. package/bin.js +46 -0
  3. package/dist/defaultAccess.d.ts +3 -0
  4. package/dist/defaultAccess.d.ts.map +1 -0
  5. package/dist/defaultAccess.js +3 -0
  6. package/dist/defaultAccess.js.map +1 -0
  7. package/dist/defineTool.d.ts +26 -0
  8. package/dist/defineTool.d.ts.map +1 -0
  9. package/dist/defineTool.js +37 -0
  10. package/dist/defineTool.js.map +1 -0
  11. package/dist/endpoint/access.d.ts +17 -0
  12. package/dist/endpoint/access.d.ts.map +1 -0
  13. package/dist/endpoint/access.js +93 -0
  14. package/dist/endpoint/access.js.map +1 -0
  15. package/dist/endpoint/index.d.ts +3 -0
  16. package/dist/endpoint/index.d.ts.map +1 -0
  17. package/dist/endpoint/index.js +87 -0
  18. package/dist/endpoint/index.js.map +1 -0
  19. package/dist/exports/client.d.ts +2 -0
  20. package/dist/exports/client.d.ts.map +1 -0
  21. package/dist/exports/client.js +4 -0
  22. package/dist/exports/client.js.map +1 -0
  23. package/dist/exports/internal.d.ts +2 -0
  24. package/dist/exports/internal.d.ts.map +1 -0
  25. package/dist/exports/internal.js +3 -0
  26. package/dist/exports/internal.js.map +1 -0
  27. package/dist/index.d.ts +6 -9
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +39 -67
  30. package/dist/index.js.map +1 -1
  31. package/dist/mcp/buildMcpServer.d.ts +19 -0
  32. package/dist/mcp/buildMcpServer.d.ts.map +1 -0
  33. package/dist/mcp/buildMcpServer.js +223 -0
  34. package/dist/mcp/buildMcpServer.js.map +1 -0
  35. package/dist/mcp/builtin/collections/authTools.d.ts +7 -0
  36. package/dist/mcp/builtin/collections/authTools.d.ts.map +1 -0
  37. package/dist/mcp/builtin/collections/authTools.js +288 -0
  38. package/dist/mcp/builtin/collections/authTools.js.map +1 -0
  39. package/dist/mcp/builtin/collections/countTool.d.ts +2 -0
  40. package/dist/mcp/builtin/collections/countTool.d.ts.map +1 -0
  41. package/dist/mcp/builtin/collections/countTool.js +68 -0
  42. package/dist/mcp/builtin/collections/countTool.js.map +1 -0
  43. package/dist/mcp/builtin/collections/countVersionsTool.d.ts +2 -0
  44. package/dist/mcp/builtin/collections/countVersionsTool.d.ts.map +1 -0
  45. package/dist/mcp/builtin/collections/countVersionsTool.js +64 -0
  46. package/dist/mcp/builtin/collections/countVersionsTool.js.map +1 -0
  47. package/dist/mcp/builtin/collections/createTool.d.ts +2 -0
  48. package/dist/mcp/builtin/collections/createTool.d.ts.map +1 -0
  49. package/dist/mcp/builtin/collections/createTool.js +86 -0
  50. package/dist/mcp/builtin/collections/createTool.js.map +1 -0
  51. package/dist/mcp/builtin/collections/deleteTool.d.ts +2 -0
  52. package/dist/mcp/builtin/collections/deleteTool.d.ts.map +1 -0
  53. package/dist/mcp/builtin/collections/deleteTool.js +110 -0
  54. package/dist/mcp/builtin/collections/deleteTool.js.map +1 -0
  55. package/dist/mcp/builtin/collections/duplicateTool.d.ts +2 -0
  56. package/dist/mcp/builtin/collections/duplicateTool.d.ts.map +1 -0
  57. package/dist/mcp/builtin/collections/duplicateTool.js +96 -0
  58. package/dist/mcp/builtin/collections/duplicateTool.js.map +1 -0
  59. package/dist/mcp/builtin/collections/findDistinctTool.d.ts +2 -0
  60. package/dist/mcp/builtin/collections/findDistinctTool.d.ts.map +1 -0
  61. package/dist/mcp/builtin/collections/findDistinctTool.js +92 -0
  62. package/dist/mcp/builtin/collections/findDistinctTool.js.map +1 -0
  63. package/dist/mcp/builtin/collections/findTool.d.ts +2 -0
  64. package/dist/mcp/builtin/collections/findTool.d.ts.map +1 -0
  65. package/dist/mcp/builtin/collections/findTool.js +164 -0
  66. package/dist/mcp/builtin/collections/findTool.js.map +1 -0
  67. package/dist/mcp/builtin/collections/findVersionByIDTool.d.ts +2 -0
  68. package/dist/mcp/builtin/collections/findVersionByIDTool.d.ts.map +1 -0
  69. package/dist/mcp/builtin/collections/findVersionByIDTool.js +83 -0
  70. package/dist/mcp/builtin/collections/findVersionByIDTool.js.map +1 -0
  71. package/dist/mcp/builtin/collections/findVersionsTool.d.ts +2 -0
  72. package/dist/mcp/builtin/collections/findVersionsTool.d.ts.map +1 -0
  73. package/dist/mcp/builtin/collections/findVersionsTool.js +98 -0
  74. package/dist/mcp/builtin/collections/findVersionsTool.js.map +1 -0
  75. package/dist/mcp/builtin/collections/formatCollectionError.d.ts +9 -0
  76. package/dist/mcp/builtin/collections/formatCollectionError.d.ts.map +1 -0
  77. package/dist/mcp/builtin/collections/formatCollectionError.js +60 -0
  78. package/dist/mcp/builtin/collections/formatCollectionError.js.map +1 -0
  79. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts +2 -0
  80. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts.map +1 -0
  81. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js +65 -0
  82. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js.map +1 -0
  83. package/dist/mcp/builtin/collections/restoreVersionTool.d.ts +2 -0
  84. package/dist/mcp/builtin/collections/restoreVersionTool.d.ts.map +1 -0
  85. package/dist/mcp/builtin/collections/restoreVersionTool.js +81 -0
  86. package/dist/mcp/builtin/collections/restoreVersionTool.js.map +1 -0
  87. package/dist/mcp/builtin/collections/updateTool.d.ts +2 -0
  88. package/dist/mcp/builtin/collections/updateTool.d.ts.map +1 -0
  89. package/dist/mcp/builtin/collections/updateTool.js +198 -0
  90. package/dist/mcp/builtin/collections/updateTool.js.map +1 -0
  91. package/dist/mcp/builtin/getConfigInfoTool.d.ts +2 -0
  92. package/dist/mcp/builtin/getConfigInfoTool.d.ts.map +1 -0
  93. package/dist/mcp/builtin/getConfigInfoTool.js +68 -0
  94. package/dist/mcp/builtin/getConfigInfoTool.js.map +1 -0
  95. package/dist/mcp/builtin/globals/countVersionsTool.d.ts +2 -0
  96. package/dist/mcp/builtin/globals/countVersionsTool.d.ts.map +1 -0
  97. package/dist/mcp/builtin/globals/countVersionsTool.js +64 -0
  98. package/dist/mcp/builtin/globals/countVersionsTool.js.map +1 -0
  99. package/dist/mcp/builtin/globals/findTool.d.ts +2 -0
  100. package/dist/mcp/builtin/globals/findTool.d.ts.map +1 -0
  101. package/dist/mcp/builtin/globals/findTool.js +73 -0
  102. package/dist/mcp/builtin/globals/findTool.js.map +1 -0
  103. package/dist/mcp/builtin/globals/findVersionByIDTool.d.ts +2 -0
  104. package/dist/mcp/builtin/globals/findVersionByIDTool.d.ts.map +1 -0
  105. package/dist/mcp/builtin/globals/findVersionByIDTool.js +79 -0
  106. package/dist/mcp/builtin/globals/findVersionByIDTool.js.map +1 -0
  107. package/dist/mcp/builtin/globals/findVersionsTool.d.ts +2 -0
  108. package/dist/mcp/builtin/globals/findVersionsTool.d.ts.map +1 -0
  109. package/dist/mcp/builtin/globals/findVersionsTool.js +94 -0
  110. package/dist/mcp/builtin/globals/findVersionsTool.js.map +1 -0
  111. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts +2 -0
  112. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts.map +1 -0
  113. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js +65 -0
  114. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js.map +1 -0
  115. package/dist/mcp/builtin/globals/restoreVersionTool.d.ts +2 -0
  116. package/dist/mcp/builtin/globals/restoreVersionTool.d.ts.map +1 -0
  117. package/dist/mcp/builtin/globals/restoreVersionTool.js +77 -0
  118. package/dist/mcp/builtin/globals/restoreVersionTool.js.map +1 -0
  119. package/dist/mcp/builtin/globals/updateTool.d.ts +2 -0
  120. package/dist/mcp/builtin/globals/updateTool.d.ts.map +1 -0
  121. package/dist/mcp/builtin/globals/updateTool.js +87 -0
  122. package/dist/mcp/builtin/globals/updateTool.js.map +1 -0
  123. package/dist/mcp/builtin/validateEntityData.d.ts +14 -0
  124. package/dist/mcp/builtin/validateEntityData.d.ts.map +1 -0
  125. package/dist/mcp/builtin/validateEntityData.js +82 -0
  126. package/dist/mcp/builtin/validateEntityData.js.map +1 -0
  127. package/dist/mcp/builtinTools.d.ts +162 -0
  128. package/dist/mcp/builtinTools.d.ts.map +1 -0
  129. package/dist/mcp/builtinTools.js +163 -0
  130. package/dist/mcp/builtinTools.js.map +1 -0
  131. package/dist/mcp/sanitizeMCPConfig.d.ts +16 -0
  132. package/dist/mcp/sanitizeMCPConfig.d.ts.map +1 -0
  133. package/dist/mcp/sanitizeMCPConfig.js +230 -0
  134. package/dist/mcp/sanitizeMCPConfig.js.map +1 -0
  135. package/dist/stdio.d.ts +8 -0
  136. package/dist/stdio.d.ts.map +1 -0
  137. package/dist/stdio.js +126 -0
  138. package/dist/stdio.js.map +1 -0
  139. package/dist/types.d.ts +256 -447
  140. package/dist/types.d.ts.map +1 -1
  141. package/dist/types.js +4 -1
  142. package/dist/types.js.map +1 -1
  143. package/dist/utils/camelCase.d.ts.map +1 -1
  144. package/dist/utils/getLogger.d.ts +10 -0
  145. package/dist/utils/getLogger.d.ts.map +1 -0
  146. package/dist/utils/getLogger.js +22 -0
  147. package/dist/utils/getLogger.js.map +1 -0
  148. package/dist/utils/getPluginConfig.d.ts +12 -0
  149. package/dist/utils/getPluginConfig.d.ts.map +1 -0
  150. package/dist/utils/getPluginConfig.js +15 -0
  151. package/dist/utils/getPluginConfig.js.map +1 -0
  152. package/dist/utils/resolveProjectRoot.d.ts +7 -0
  153. package/dist/utils/resolveProjectRoot.d.ts.map +1 -0
  154. package/dist/utils/resolveProjectRoot.js +15 -0
  155. package/dist/utils/resolveProjectRoot.js.map +1 -0
  156. package/dist/utils/schemaConversion/filterFieldsByAccess.d.ts +28 -0
  157. package/dist/utils/schemaConversion/filterFieldsByAccess.d.ts.map +1 -0
  158. package/dist/utils/schemaConversion/filterFieldsByAccess.js +71 -0
  159. package/dist/utils/schemaConversion/filterFieldsByAccess.js.map +1 -0
  160. package/dist/utils/schemaConversion/getEntityInputSchema.d.ts +13 -0
  161. package/dist/utils/schemaConversion/getEntityInputSchema.d.ts.map +1 -0
  162. package/dist/utils/schemaConversion/getEntityInputSchema.js +66 -0
  163. package/dist/utils/schemaConversion/getEntityInputSchema.js.map +1 -0
  164. package/dist/utils/schemaConversion/sanitizeEntitySchema.d.ts +10 -0
  165. package/dist/utils/schemaConversion/sanitizeEntitySchema.d.ts.map +1 -0
  166. package/dist/utils/schemaConversion/sanitizeEntitySchema.js +384 -0
  167. package/dist/utils/schemaConversion/sanitizeEntitySchema.js.map +1 -0
  168. package/dist/utils/schemaConversion/sanitizeEntitySchema.spec.js +133 -0
  169. package/dist/utils/schemaConversion/sanitizeEntitySchema.spec.js.map +1 -0
  170. package/dist/utils/toStandardSchema.d.ts +5 -0
  171. package/dist/utils/toStandardSchema.d.ts.map +1 -0
  172. package/dist/utils/toStandardSchema.js +4 -0
  173. package/dist/utils/toStandardSchema.js.map +1 -0
  174. package/dist/utils/whereSchema.d.ts +9 -0
  175. package/dist/utils/whereSchema.d.ts.map +1 -0
  176. package/dist/utils/whereSchema.js +13 -0
  177. package/dist/utils/whereSchema.js.map +1 -0
  178. package/package.json +30 -10
  179. package/src/defaultAccess.ts +3 -0
  180. package/src/defineTool.ts +44 -0
  181. package/src/endpoint/access.ts +112 -0
  182. package/src/endpoint/index.ts +77 -0
  183. package/src/exports/client.ts +3 -0
  184. package/src/exports/internal.ts +1 -0
  185. package/src/index.ts +31 -89
  186. package/src/mcp/buildMcpServer.ts +284 -0
  187. package/src/mcp/builtin/collections/authTools.ts +269 -0
  188. package/src/mcp/builtin/collections/countTool.ts +73 -0
  189. package/src/mcp/builtin/collections/countVersionsTool.ts +69 -0
  190. package/src/mcp/builtin/collections/createTool.ts +117 -0
  191. package/src/mcp/builtin/collections/deleteTool.ts +125 -0
  192. package/src/mcp/builtin/collections/duplicateTool.ts +134 -0
  193. package/src/mcp/builtin/collections/findDistinctTool.ts +119 -0
  194. package/src/mcp/builtin/collections/findTool.ts +216 -0
  195. package/src/mcp/builtin/collections/findVersionByIDTool.ts +109 -0
  196. package/src/mcp/builtin/collections/findVersionsTool.ts +154 -0
  197. package/src/mcp/builtin/collections/formatCollectionError.ts +84 -0
  198. package/src/mcp/builtin/collections/getCollectionSchemaTool.ts +63 -0
  199. package/src/mcp/builtin/collections/restoreVersionTool.ts +107 -0
  200. package/src/mcp/builtin/collections/updateTool.ts +225 -0
  201. package/src/mcp/builtin/getConfigInfoTool.ts +67 -0
  202. package/src/mcp/builtin/globals/countVersionsTool.ts +68 -0
  203. package/src/mcp/builtin/globals/findTool.ts +105 -0
  204. package/src/mcp/builtin/globals/findVersionByIDTool.ts +103 -0
  205. package/src/mcp/builtin/globals/findVersionsTool.ts +147 -0
  206. package/src/mcp/builtin/globals/getGlobalSchemaTool.ts +63 -0
  207. package/src/mcp/builtin/globals/restoreVersionTool.ts +99 -0
  208. package/src/mcp/builtin/globals/updateTool.ts +115 -0
  209. package/src/mcp/builtin/validateEntityData.ts +132 -0
  210. package/src/mcp/builtinTools.ts +154 -0
  211. package/src/mcp/sanitizeMCPConfig.ts +278 -0
  212. package/src/stdio.ts +130 -0
  213. package/src/types.ts +304 -486
  214. package/src/utils/getLogger.ts +22 -0
  215. package/src/utils/getPluginConfig.ts +24 -0
  216. package/src/utils/resolveProjectRoot.ts +17 -0
  217. package/src/utils/schemaConversion/filterFieldsByAccess.ts +123 -0
  218. package/src/utils/schemaConversion/getEntityInputSchema.ts +96 -0
  219. package/src/utils/schemaConversion/sanitizeEntitySchema.spec.ts +96 -0
  220. package/src/utils/schemaConversion/sanitizeEntitySchema.ts +432 -0
  221. package/src/utils/toStandardSchema.ts +9 -0
  222. package/src/utils/whereSchema.ts +24 -0
  223. package/dist/collections/createApiKeysCollection.d.ts +0 -7
  224. package/dist/collections/createApiKeysCollection.d.ts.map +0 -1
  225. package/dist/collections/createApiKeysCollection.js +0 -317
  226. package/dist/collections/createApiKeysCollection.js.map +0 -1
  227. package/dist/defaults.d.ts +0 -4
  228. package/dist/defaults.d.ts.map +0 -1
  229. package/dist/defaults.js +0 -5
  230. package/dist/defaults.js.map +0 -1
  231. package/dist/endpoints/mcp.d.ts +0 -4
  232. package/dist/endpoints/mcp.d.ts.map +0 -1
  233. package/dist/endpoints/mcp.js +0 -71
  234. package/dist/endpoints/mcp.js.map +0 -1
  235. package/dist/mcp/createRequest.d.ts +0 -3
  236. package/dist/mcp/createRequest.d.ts.map +0 -1
  237. package/dist/mcp/createRequest.js +0 -14
  238. package/dist/mcp/createRequest.js.map +0 -1
  239. package/dist/mcp/getMcpHandler.d.ts +0 -4
  240. package/dist/mcp/getMcpHandler.d.ts.map +0 -1
  241. package/dist/mcp/getMcpHandler.js +0 -231
  242. package/dist/mcp/getMcpHandler.js.map +0 -1
  243. package/dist/mcp/helpers/config.d.ts +0 -22
  244. package/dist/mcp/helpers/config.d.ts.map +0 -1
  245. package/dist/mcp/helpers/config.js +0 -153
  246. package/dist/mcp/helpers/config.js.map +0 -1
  247. package/dist/mcp/helpers/fields.d.ts +0 -19
  248. package/dist/mcp/helpers/fields.d.ts.map +0 -1
  249. package/dist/mcp/helpers/fields.js +0 -102
  250. package/dist/mcp/helpers/fields.js.map +0 -1
  251. package/dist/mcp/helpers/fileValidation.d.ts +0 -67
  252. package/dist/mcp/helpers/fileValidation.d.ts.map +0 -1
  253. package/dist/mcp/helpers/fileValidation.js +0 -267
  254. package/dist/mcp/helpers/fileValidation.js.map +0 -1
  255. package/dist/mcp/registerTool.d.ts +0 -6
  256. package/dist/mcp/registerTool.d.ts.map +0 -1
  257. package/dist/mcp/registerTool.js +0 -18
  258. package/dist/mcp/registerTool.js.map +0 -1
  259. package/dist/mcp/tools/auth/auth.d.ts +0 -4
  260. package/dist/mcp/tools/auth/auth.d.ts.map +0 -1
  261. package/dist/mcp/tools/auth/auth.js +0 -57
  262. package/dist/mcp/tools/auth/auth.js.map +0 -1
  263. package/dist/mcp/tools/auth/forgotPassword.d.ts +0 -4
  264. package/dist/mcp/tools/auth/forgotPassword.d.ts.map +0 -1
  265. package/dist/mcp/tools/auth/forgotPassword.js +0 -48
  266. package/dist/mcp/tools/auth/forgotPassword.js.map +0 -1
  267. package/dist/mcp/tools/auth/login.d.ts +0 -4
  268. package/dist/mcp/tools/auth/login.d.ts.map +0 -1
  269. package/dist/mcp/tools/auth/login.js +0 -51
  270. package/dist/mcp/tools/auth/login.js.map +0 -1
  271. package/dist/mcp/tools/auth/resetPassword.d.ts +0 -4
  272. package/dist/mcp/tools/auth/resetPassword.d.ts.map +0 -1
  273. package/dist/mcp/tools/auth/resetPassword.js +0 -49
  274. package/dist/mcp/tools/auth/resetPassword.js.map +0 -1
  275. package/dist/mcp/tools/auth/unlock.d.ts +0 -4
  276. package/dist/mcp/tools/auth/unlock.d.ts.map +0 -1
  277. package/dist/mcp/tools/auth/unlock.js +0 -48
  278. package/dist/mcp/tools/auth/unlock.js.map +0 -1
  279. package/dist/mcp/tools/auth/verify.d.ts +0 -4
  280. package/dist/mcp/tools/auth/verify.d.ts.map +0 -1
  281. package/dist/mcp/tools/auth/verify.js +0 -45
  282. package/dist/mcp/tools/auth/verify.js.map +0 -1
  283. package/dist/mcp/tools/collection/create.d.ts +0 -10
  284. package/dist/mcp/tools/collection/create.d.ts.map +0 -1
  285. package/dist/mcp/tools/collection/create.js +0 -139
  286. package/dist/mcp/tools/collection/create.js.map +0 -1
  287. package/dist/mcp/tools/collection/delete.d.ts +0 -10
  288. package/dist/mcp/tools/collection/delete.d.ts.map +0 -1
  289. package/dist/mcp/tools/collection/delete.js +0 -154
  290. package/dist/mcp/tools/collection/delete.js.map +0 -1
  291. package/dist/mcp/tools/collection/find.d.ts +0 -10
  292. package/dist/mcp/tools/collection/find.d.ts.map +0 -1
  293. package/dist/mcp/tools/collection/find.js +0 -165
  294. package/dist/mcp/tools/collection/find.js.map +0 -1
  295. package/dist/mcp/tools/collection/update.d.ts +0 -10
  296. package/dist/mcp/tools/collection/update.d.ts.map +0 -1
  297. package/dist/mcp/tools/collection/update.js +0 -209
  298. package/dist/mcp/tools/collection/update.js.map +0 -1
  299. package/dist/mcp/tools/config/find.d.ts +0 -10
  300. package/dist/mcp/tools/config/find.d.ts.map +0 -1
  301. package/dist/mcp/tools/config/find.js +0 -97
  302. package/dist/mcp/tools/config/find.js.map +0 -1
  303. package/dist/mcp/tools/config/update.d.ts +0 -10
  304. package/dist/mcp/tools/config/update.d.ts.map +0 -1
  305. package/dist/mcp/tools/config/update.js +0 -215
  306. package/dist/mcp/tools/config/update.js.map +0 -1
  307. package/dist/mcp/tools/global/find.d.ts +0 -5
  308. package/dist/mcp/tools/global/find.d.ts.map +0 -1
  309. package/dist/mcp/tools/global/find.js +0 -82
  310. package/dist/mcp/tools/global/find.js.map +0 -1
  311. package/dist/mcp/tools/global/update.d.ts +0 -6
  312. package/dist/mcp/tools/global/update.d.ts.map +0 -1
  313. package/dist/mcp/tools/global/update.js +0 -124
  314. package/dist/mcp/tools/global/update.js.map +0 -1
  315. package/dist/mcp/tools/job/create.d.ts +0 -10
  316. package/dist/mcp/tools/job/create.d.ts.map +0 -1
  317. package/dist/mcp/tools/job/create.js +0 -293
  318. package/dist/mcp/tools/job/create.js.map +0 -1
  319. package/dist/mcp/tools/job/run.d.ts +0 -10
  320. package/dist/mcp/tools/job/run.d.ts.map +0 -1
  321. package/dist/mcp/tools/job/run.js +0 -129
  322. package/dist/mcp/tools/job/run.js.map +0 -1
  323. package/dist/mcp/tools/job/update.d.ts +0 -11
  324. package/dist/mcp/tools/job/update.d.ts.map +0 -1
  325. package/dist/mcp/tools/job/update.js +0 -186
  326. package/dist/mcp/tools/job/update.js.map +0 -1
  327. package/dist/mcp/tools/resource/create.d.ts +0 -6
  328. package/dist/mcp/tools/resource/create.d.ts.map +0 -1
  329. package/dist/mcp/tools/resource/create.js +0 -124
  330. package/dist/mcp/tools/resource/create.js.map +0 -1
  331. package/dist/mcp/tools/resource/delete.d.ts +0 -5
  332. package/dist/mcp/tools/resource/delete.d.ts.map +0 -1
  333. package/dist/mcp/tools/resource/delete.js +0 -151
  334. package/dist/mcp/tools/resource/delete.js.map +0 -1
  335. package/dist/mcp/tools/resource/find.d.ts +0 -5
  336. package/dist/mcp/tools/resource/find.d.ts.map +0 -1
  337. package/dist/mcp/tools/resource/find.js +0 -170
  338. package/dist/mcp/tools/resource/find.js.map +0 -1
  339. package/dist/mcp/tools/resource/update.d.ts +0 -6
  340. package/dist/mcp/tools/resource/update.d.ts.map +0 -1
  341. package/dist/mcp/tools/resource/update.js +0 -256
  342. package/dist/mcp/tools/resource/update.js.map +0 -1
  343. package/dist/mcp/tools/schemas.d.ts +0 -457
  344. package/dist/mcp/tools/schemas.d.ts.map +0 -1
  345. package/dist/mcp/tools/schemas.js +0 -243
  346. package/dist/mcp/tools/schemas.js.map +0 -1
  347. package/dist/utils/adminEntitySettings.d.ts +0 -17
  348. package/dist/utils/adminEntitySettings.d.ts.map +0 -1
  349. package/dist/utils/adminEntitySettings.js +0 -41
  350. package/dist/utils/adminEntitySettings.js.map +0 -1
  351. package/dist/utils/createApiKeyFields.d.ts +0 -15
  352. package/dist/utils/createApiKeyFields.d.ts.map +0 -1
  353. package/dist/utils/createApiKeyFields.js +0 -57
  354. package/dist/utils/createApiKeyFields.js.map +0 -1
  355. package/dist/utils/getEnabledSlugs.d.ts +0 -13
  356. package/dist/utils/getEnabledSlugs.d.ts.map +0 -1
  357. package/dist/utils/getEnabledSlugs.js +0 -32
  358. package/dist/utils/getEnabledSlugs.js.map +0 -1
  359. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.d.ts +0 -3
  360. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.d.ts.map +0 -1
  361. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.js +0 -43
  362. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.js.map +0 -1
  363. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts +0 -7
  364. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts.map +0 -1
  365. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.js +0 -20
  366. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.js.map +0 -1
  367. package/dist/utils/schemaConversion/sanitizeJsonSchema.d.ts +0 -13
  368. package/dist/utils/schemaConversion/sanitizeJsonSchema.d.ts.map +0 -1
  369. package/dist/utils/schemaConversion/sanitizeJsonSchema.js +0 -56
  370. package/dist/utils/schemaConversion/sanitizeJsonSchema.js.map +0 -1
  371. package/dist/utils/schemaConversion/simplifyRelationshipFields.d.ts +0 -20
  372. package/dist/utils/schemaConversion/simplifyRelationshipFields.d.ts.map +0 -1
  373. package/dist/utils/schemaConversion/simplifyRelationshipFields.js +0 -53
  374. package/dist/utils/schemaConversion/simplifyRelationshipFields.js.map +0 -1
  375. package/dist/utils/schemaConversion/transformPointFields.d.ts +0 -3
  376. package/dist/utils/schemaConversion/transformPointFields.d.ts.map +0 -1
  377. package/dist/utils/schemaConversion/transformPointFields.js +0 -51
  378. package/dist/utils/schemaConversion/transformPointFields.js.map +0 -1
  379. package/src/collections/createApiKeysCollection.ts +0 -373
  380. package/src/defaults.ts +0 -3
  381. package/src/endpoints/mcp.ts +0 -91
  382. package/src/mcp/createRequest.ts +0 -13
  383. package/src/mcp/getMcpHandler.ts +0 -545
  384. package/src/mcp/helpers/config.ts +0 -213
  385. package/src/mcp/helpers/fields.ts +0 -154
  386. package/src/mcp/helpers/fileValidation.ts +0 -362
  387. package/src/mcp/registerTool.ts +0 -22
  388. package/src/mcp/tools/auth/auth.ts +0 -71
  389. package/src/mcp/tools/auth/forgotPassword.ts +0 -70
  390. package/src/mcp/tools/auth/login.ts +0 -72
  391. package/src/mcp/tools/auth/resetPassword.ts +0 -61
  392. package/src/mcp/tools/auth/unlock.ts +0 -64
  393. package/src/mcp/tools/auth/verify.ts +0 -57
  394. package/src/mcp/tools/collection/create.ts +0 -210
  395. package/src/mcp/tools/collection/delete.ts +0 -211
  396. package/src/mcp/tools/collection/find.ts +0 -224
  397. package/src/mcp/tools/collection/update.ts +0 -290
  398. package/src/mcp/tools/config/find.ts +0 -128
  399. package/src/mcp/tools/config/update.ts +0 -280
  400. package/src/mcp/tools/global/find.ts +0 -128
  401. package/src/mcp/tools/global/update.ts +0 -207
  402. package/src/mcp/tools/job/create.ts +0 -416
  403. package/src/mcp/tools/job/run.ts +0 -167
  404. package/src/mcp/tools/job/update.ts +0 -274
  405. package/src/mcp/tools/resource/create.ts +0 -211
  406. package/src/mcp/tools/resource/delete.ts +0 -218
  407. package/src/mcp/tools/resource/find.ts +0 -246
  408. package/src/mcp/tools/resource/update.ts +0 -383
  409. package/src/mcp/tools/schemas.ts +0 -520
  410. package/src/utils/adminEntitySettings.ts +0 -40
  411. package/src/utils/createApiKeyFields.ts +0 -72
  412. package/src/utils/getEnabledSlugs.ts +0 -42
  413. package/src/utils/schemaConversion/convertCollectionSchemaToZod.ts +0 -52
  414. package/src/utils/schemaConversion/removeVirtualFieldsFromSchema.ts +0 -27
  415. package/src/utils/schemaConversion/sanitizeJsonSchema.ts +0 -62
  416. package/src/utils/schemaConversion/simplifyRelationshipFields.ts +0 -65
  417. package/src/utils/schemaConversion/transformPointFields.ts +0 -55
@@ -0,0 +1,73 @@
1
+ import { z } from 'zod';
2
+ import { defaultAccess } from '../../../defaultAccess.js';
3
+ import { defineGlobalTool } from '../../../defineTool.js';
4
+ import { getLogger } from '../../../utils/getLogger.js';
5
+ const DEFAULT_DESCRIPTION = 'Find any Payload global by passing the global slug.';
6
+ export const findGlobalTool = defineGlobalTool({
7
+ access: (args)=>defaultAccess(args) && Boolean(args.permissions?.globals?.[args.globalSlug]?.read),
8
+ annotations: {
9
+ destructiveHint: false,
10
+ idempotentHint: true,
11
+ openWorldHint: false,
12
+ readOnlyHint: true,
13
+ title: 'Find Global'
14
+ },
15
+ description: DEFAULT_DESCRIPTION,
16
+ input: z.object({
17
+ depth: z.number().int().min(0).max(10).describe('Depth of population for relationships').optional().default(0),
18
+ fallbackLocale: z.string().describe('Optional: fallback locale code to use when requested locale is not available').optional(),
19
+ 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(),
20
+ populate: z.record(z.string(), z.unknown()).describe('Optional: control which fields to include from populated relationship or upload documents.').optional(),
21
+ 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()
22
+ })
23
+ }).handler(async ({ authorizedMCP, globalSlug, input, req })=>{
24
+ const payload = req.payload;
25
+ const logger = getLogger({
26
+ payload
27
+ });
28
+ const { depth, fallbackLocale, locale, populate, select } = input;
29
+ logger.info(`Reading global: ${globalSlug}, depth: ${depth}${locale ? `, locale: ${locale}` : ''}`);
30
+ try {
31
+ const findOptions = {
32
+ slug: globalSlug,
33
+ depth,
34
+ overrideAccess: authorizedMCP.overrideAccess,
35
+ req
36
+ };
37
+ if (locale) {
38
+ findOptions.locale = locale;
39
+ }
40
+ if (fallbackLocale) {
41
+ findOptions.fallbackLocale = fallbackLocale;
42
+ }
43
+ if (select) {
44
+ findOptions.select = select;
45
+ }
46
+ if (populate) {
47
+ findOptions.populate = populate;
48
+ }
49
+ const result = await payload.findGlobal(findOptions);
50
+ return {
51
+ content: [
52
+ {
53
+ type: 'text',
54
+ text: `Global "${globalSlug}":\n\`\`\`json\n${JSON.stringify(result)}\n\`\`\``
55
+ }
56
+ ],
57
+ doc: result
58
+ };
59
+ } catch (error) {
60
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
61
+ logger.error(`Error reading global ${globalSlug}: ${errorMessage}`);
62
+ return {
63
+ content: [
64
+ {
65
+ type: 'text',
66
+ text: `❌ **Error reading global "${globalSlug}":** ${errorMessage}`
67
+ }
68
+ ]
69
+ };
70
+ }
71
+ });
72
+
73
+ //# sourceMappingURL=findTool.js.map
@@ -0,0 +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'\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 overrideAccess: authorizedMCP.overrideAccess,\n req,\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","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","overrideAccess","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;AAEvD,MAAMC,sBAAsB;AAE5B,OAAO,MAAMC,iBAAiBH,iBAAiB;IAC7CI,QAAQ,CAACC,OACPN,cAAcM,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,OAAOpB,EAAEqB,MAAM,CAAC;QACdC,OAAOtB,EACJuB,MAAM,GACNC,GAAG,GACHC,GAAG,CAAC,GACJC,GAAG,CAAC,IACJC,QAAQ,CAAC,yCACTC,QAAQ,GACRC,OAAO,CAAC;QACXC,gBAAgB9B,EACb+B,MAAM,GACNJ,QAAQ,CAAC,gFACTC,QAAQ;QACXI,QAAQhC,EACL+B,MAAM,GACNJ,QAAQ,CACP,wHAEDC,QAAQ;QACXK,UAAUjC,EACPkC,MAAM,CAAClC,EAAE+B,MAAM,IAAI/B,EAAEmC,OAAO,IAC5BR,QAAQ,CACP,8FAEDC,QAAQ;QACXQ,QAAQpC,EACLkC,MAAM,CAAClC,EAAE+B,MAAM,IAAI/B,EAAEmC,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,SAAStC,UAAU;QAAEqC;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;YACAuB,gBAAgBP,cAAcO,cAAc;YAC5CN;QACF;QAEA,IAAIP,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,MAAMa,SAAS,MAAMN,QAAQO,UAAU,CAACJ;QAExC,OAAO;YACLK,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,QAAQ,EAAEvC,WAAW,gBAAgB,EAAEwC,KAAKC,SAAS,CAACN,QAAQ,QAAQ,CAAC;gBAChF;aACD;YACDO,KAAKP;QACP;IACF,EAAE,OAAOQ,OAAO;QACd,MAAMC,eAAeD,iBAAiBE,QAAQF,MAAMG,OAAO,GAAG;QAC9DhB,OAAOa,KAAK,CAAC,CAAC,qBAAqB,EAAE3C,WAAW,EAAE,EAAE4C,cAAc;QAClE,OAAO;YACLP,SAAS;gBACP;oBAAEC,MAAM;oBAAQC,MAAM,CAAC,0BAA0B,EAAEvC,WAAW,KAAK,EAAE4C,cAAc;gBAAC;aACrF;QACH;IACF;AACF,GAAE"}
@@ -0,0 +1,2 @@
1
+ export declare const findGlobalVersionByIDTool: import("../../../types.js").GlobalTool;
2
+ //# sourceMappingURL=findVersionByIDTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findVersionByIDTool.d.ts","sourceRoot":"","sources":["../../../../src/mcp/builtin/globals/findVersionByIDTool.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,yBAAyB,wCA2FpC,CAAA"}
@@ -0,0 +1,79 @@
1
+ import { z } from 'zod';
2
+ import { defaultAccess } from '../../../defaultAccess.js';
3
+ import { defineGlobalTool } from '../../../defineTool.js';
4
+ import { getLogger } from '../../../utils/getLogger.js';
5
+ const DEFAULT_DESCRIPTION = 'Find a specific global version in any version-enabled global by passing the global slug and version ID.';
6
+ export const findGlobalVersionByIDTool = defineGlobalTool({
7
+ access: (args)=>defaultAccess(args) && Boolean(args.permissions?.globals?.[args.globalSlug]?.readVersions),
8
+ annotations: {
9
+ destructiveHint: false,
10
+ idempotentHint: true,
11
+ openWorldHint: false,
12
+ readOnlyHint: true,
13
+ title: 'Find Global Version By ID'
14
+ },
15
+ description: DEFAULT_DESCRIPTION,
16
+ input: z.object({
17
+ id: z.string().describe('The ID of the global version to retrieve'),
18
+ depth: z.number().int().min(0).max(10).describe('How many levels deep to populate relationships in the global version document').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., {"version.siteName": true}').optional(),
23
+ showHiddenFields: z.boolean().describe('Optional: include hidden fields in the returned global version document').optional()
24
+ })
25
+ }).handler(async ({ authorizedMCP, globalSlug, input, req })=>{
26
+ const payload = req.payload;
27
+ const logger = getLogger({
28
+ payload
29
+ });
30
+ const { id, depth, fallbackLocale, locale, populate, select, showHiddenFields } = input;
31
+ logger.info(`Finding version for global: ${globalSlug} with ID: ${id}`);
32
+ try {
33
+ const result = await payload.findGlobalVersionByID({
34
+ id,
35
+ slug: globalSlug,
36
+ depth,
37
+ overrideAccess: authorizedMCP.overrideAccess,
38
+ req,
39
+ ...fallbackLocale ? {
40
+ fallbackLocale
41
+ } : {},
42
+ ...locale ? {
43
+ locale
44
+ } : {},
45
+ ...populate ? {
46
+ populate: populate
47
+ } : {},
48
+ ...select ? {
49
+ select: select
50
+ } : {},
51
+ ...showHiddenFields !== undefined ? {
52
+ showHiddenFields
53
+ } : {}
54
+ });
55
+ return {
56
+ content: [
57
+ {
58
+ type: 'text',
59
+ text: `Version "${id}" from global "${globalSlug}":\n\`\`\`json\n${JSON.stringify(result)}\n\`\`\``
60
+ }
61
+ ],
62
+ doc: result
63
+ };
64
+ } catch (error) {
65
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
66
+ logger.error(`Error finding version ${id} for global ${globalSlug}: ${errorMessage}`);
67
+ return {
68
+ content: [
69
+ {
70
+ type: 'text',
71
+ text: `❌ **Error finding version "${id}" for global "${globalSlug}":** ${errorMessage}`
72
+ }
73
+ ],
74
+ isError: true
75
+ };
76
+ }
77
+ });
78
+
79
+ //# sourceMappingURL=findVersionByIDTool.js.map
@@ -0,0 +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'\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 overrideAccess: authorizedMCP.overrideAccess,\n req,\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","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","overrideAccess","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;AAEvD,MAAMC,sBACJ;AAEF,OAAO,MAAMC,4BAA4BH,iBAAiB;IACxDI,QAAQ,CAACC,OACPN,cAAcM,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,OAAOpB,EAAEqB,MAAM,CAAC;QACdC,IAAItB,EAAEuB,MAAM,GAAGC,QAAQ,CAAC;QACxBC,OAAOzB,EACJ0B,MAAM,GACNC,GAAG,GACHC,GAAG,CAAC,GACJC,GAAG,CAAC,IACJL,QAAQ,CAAC,iFACTM,QAAQ,GACRC,OAAO,CAAC;QACXC,gBAAgBhC,EACbuB,MAAM,GACNC,QAAQ,CAAC,gFACTM,QAAQ;QACXG,QAAQjC,EACLuB,MAAM,GACNC,QAAQ,CACP,wHAEDM,QAAQ;QACXI,UAAUlC,EACPmC,MAAM,CAACnC,EAAEuB,MAAM,IAAIvB,EAAEoC,OAAO,IAC5BZ,QAAQ,CACP,8FAEDM,QAAQ;QACXO,QAAQrC,EACLmC,MAAM,CAACnC,EAAEuB,MAAM,IAAIvB,EAAEoC,OAAO,IAC5BZ,QAAQ,CACP,iHAEDM,QAAQ;QACXQ,kBAAkBtC,EACfuC,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,SAASzC,UAAU;QAAEwC;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;YACAwB,gBAAgBR,cAAcQ,cAAc;YAC5CP;YACA,GAAIV,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,qBAAqBY,YAAY;gBAAEZ;YAAiB,IAAI,CAAC,CAAC;QAChE;QAEA,OAAO;YACLa,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,SAAS,EAAE/B,GAAG,eAAe,EAAEX,WAAW,gBAAgB,EAAE2C,KAAKC,SAAS,CAACT,QAAQ,QAAQ,CAAC;gBACrG;aACD;YACDU,KAAKV;QACP;IACF,EAAE,OAAOW,OAAO;QACd,MAAMC,eAAeD,iBAAiBE,QAAQF,MAAMG,OAAO,GAAG;QAC9DhB,OAAOa,KAAK,CAAC,CAAC,sBAAsB,EAAEnC,GAAG,YAAY,EAAEX,WAAW,EAAE,EAAE+C,cAAc;QACpF,OAAO;YACLP,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,2BAA2B,EAAE/B,GAAG,cAAc,EAAEX,WAAW,KAAK,EAAE+C,cAAc;gBACzF;aACD;YACDG,SAAS;QACX;IACF;AACF,GAAE"}
@@ -0,0 +1,2 @@
1
+ export declare const findGlobalVersionsTool: import("../../../types.js").GlobalTool;
2
+ //# sourceMappingURL=findVersionsTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findVersionsTool.d.ts","sourceRoot":"","sources":["../../../../src/mcp/builtin/globals/findVersionsTool.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,sBAAsB,wCAsIjC,CAAA"}
@@ -0,0 +1,94 @@
1
+ import { z } from 'zod';
2
+ import { defaultAccess } from '../../../defaultAccess.js';
3
+ import { defineGlobalTool } from '../../../defineTool.js';
4
+ import { getLogger } from '../../../utils/getLogger.js';
5
+ import { whereSchema } from '../../../utils/whereSchema.js';
6
+ const DEFAULT_DESCRIPTION = 'Find global versions in any version-enabled global by passing the global slug and optional where clause.';
7
+ export const findGlobalVersionsTool = defineGlobalTool({
8
+ access: (args)=>defaultAccess(args) && Boolean(args.permissions?.globals?.[args.globalSlug]?.readVersions),
9
+ annotations: {
10
+ destructiveHint: false,
11
+ idempotentHint: true,
12
+ openWorldHint: false,
13
+ readOnlyHint: true,
14
+ title: 'Find Global Versions'
15
+ },
16
+ description: DEFAULT_DESCRIPTION,
17
+ input: z.object({
18
+ depth: z.number().int().min(0).max(10).describe('How many levels deep to populate relationships in global version documents').optional().default(0),
19
+ fallbackLocale: z.string().describe('Optional: fallback locale code to use when requested locale is not available').optional(),
20
+ limit: z.number().int().min(1).max(100).describe('Maximum number of versions to return (default: 10, max: 100)').optional().default(10),
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
+ page: z.number().int().min(1).describe('Page number for pagination (default: 1)').optional().default(1),
23
+ pagination: z.boolean().describe('Optional: set to false to skip the count query overhead').optional(),
24
+ populate: z.record(z.string(), z.unknown()).describe('Optional: control which fields to include from populated relationship or upload documents.').optional(),
25
+ 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(),
26
+ showHiddenFields: z.boolean().describe('Optional: include hidden fields in returned global version documents').optional(),
27
+ sort: z.string().describe('Field to sort by (e.g., "-updatedAt", "-version.updatedAt" for descending)').optional(),
28
+ where: whereSchema.describe('Optional: where clause for filtering versions. Version document fields are usually under "version". Example: {"version.siteName":{"contains":"test"}}').optional()
29
+ })
30
+ }).handler(async ({ authorizedMCP, globalSlug, input, req })=>{
31
+ const payload = req.payload;
32
+ const logger = getLogger({
33
+ payload
34
+ });
35
+ const { depth, fallbackLocale, limit, locale, page, pagination, populate, select, showHiddenFields, sort, where } = input;
36
+ logger.info(`Finding versions for global: ${globalSlug}, limit: ${limit}, page: ${page}`);
37
+ try {
38
+ const result = await payload.findGlobalVersions({
39
+ slug: globalSlug,
40
+ depth,
41
+ limit,
42
+ overrideAccess: authorizedMCP.overrideAccess,
43
+ page,
44
+ req,
45
+ ...fallbackLocale ? {
46
+ fallbackLocale
47
+ } : {},
48
+ ...locale ? {
49
+ locale
50
+ } : {},
51
+ ...pagination !== undefined ? {
52
+ pagination
53
+ } : {},
54
+ ...populate ? {
55
+ populate: populate
56
+ } : {},
57
+ ...select ? {
58
+ select: select
59
+ } : {},
60
+ ...showHiddenFields !== undefined ? {
61
+ showHiddenFields
62
+ } : {},
63
+ ...sort ? {
64
+ sort
65
+ } : {},
66
+ ...where ? {
67
+ where
68
+ } : {}
69
+ });
70
+ return {
71
+ content: [
72
+ {
73
+ type: 'text',
74
+ text: `Versions for global "${globalSlug}":\n\`\`\`json\n${JSON.stringify(result)}\n\`\`\``
75
+ }
76
+ ],
77
+ doc: result
78
+ };
79
+ } catch (error) {
80
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
81
+ logger.error(`Error finding versions for global ${globalSlug}: ${errorMessage}`);
82
+ return {
83
+ content: [
84
+ {
85
+ type: 'text',
86
+ text: `❌ **Error finding versions for global "${globalSlug}":** ${errorMessage}`
87
+ }
88
+ ],
89
+ isError: true
90
+ };
91
+ }
92
+ });
93
+
94
+ //# sourceMappingURL=findVersionsTool.js.map
@@ -0,0 +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 { 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 overrideAccess: authorizedMCP.overrideAccess,\n page,\n req,\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","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","overrideAccess","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,WAAW,QAAQ,gCAA+B;AAE3D,MAAMC,sBACJ;AAEF,OAAO,MAAMC,yBAAyBJ,iBAAiB;IACrDK,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,8EACTC,QAAQ,GACRC,OAAO,CAAC;QACXC,gBAAgB/B,EACbgC,MAAM,GACNJ,QAAQ,CAAC,gFACTC,QAAQ;QACXI,OAAOjC,EACJwB,MAAM,GACNC,GAAG,GACHC,GAAG,CAAC,GACJC,GAAG,CAAC,KACJC,QAAQ,CAAC,gEACTC,QAAQ,GACRC,OAAO,CAAC;QACXI,QAAQlC,EACLgC,MAAM,GACNJ,QAAQ,CACP,wHAEDC,QAAQ;QACXM,MAAMnC,EACHwB,MAAM,GACNC,GAAG,GACHC,GAAG,CAAC,GACJE,QAAQ,CAAC,2CACTC,QAAQ,GACRC,OAAO,CAAC;QACXM,YAAYpC,EACTqC,OAAO,GACPT,QAAQ,CAAC,2DACTC,QAAQ;QACXS,UAAUtC,EACPuC,MAAM,CAACvC,EAAEgC,MAAM,IAAIhC,EAAEwC,OAAO,IAC5BZ,QAAQ,CACP,8FAEDC,QAAQ;QACXY,QAAQzC,EACLuC,MAAM,CAACvC,EAAEgC,MAAM,IAAIhC,EAAEwC,OAAO,IAC5BZ,QAAQ,CACP,iHAEDC,QAAQ;QACXa,kBAAkB1C,EACfqC,OAAO,GACPT,QAAQ,CAAC,wEACTC,QAAQ;QACXc,MAAM3C,EACHgC,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,SAAS9C,UAAU;QAAE6C;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;YACAqB,gBAAgBR,cAAcQ,cAAc;YAC5CnB;YACAY;YACA,GAAIhB,iBAAiB;gBAAEA;YAAe,IAAI,CAAC,CAAC;YAC5C,GAAIG,SAAS;gBAAEA;YAAO,IAAI,CAAC,CAAC;YAC5B,GAAIE,eAAemB,YAAY;gBAAEnB;YAAW,IAAI,CAAC,CAAC;YAClD,GAAIE,WAAW;gBAAEA,UAAUA;YAAyB,IAAI,CAAC,CAAC;YAC1D,GAAIG,SAAS;gBAAEA,QAAQA;YAAqB,IAAI,CAAC,CAAC;YAClD,GAAIC,qBAAqBa,YAAY;gBAAEb;YAAiB,IAAI,CAAC,CAAC;YAC9D,GAAIC,OAAO;gBAAEA;YAAK,IAAI,CAAC,CAAC;YACxB,GAAIC,QAAQ;gBAAEA;YAAM,IAAI,CAAC,CAAC;QAC5B;QAEA,OAAO;YACLY,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,qBAAqB,EAAE9C,WAAW,gBAAgB,EAAE+C,KAAKC,SAAS,CAACT,QAAQ,QAAQ,CAAC;gBAC7F;aACD;YACDU,KAAKV;QACP;IACF,EAAE,OAAOW,OAAO;QACd,MAAMC,eAAeD,iBAAiBE,QAAQF,MAAMG,OAAO,GAAG;QAC9DhB,OAAOa,KAAK,CAAC,CAAC,kCAAkC,EAAElD,WAAW,EAAE,EAAEmD,cAAc;QAC/E,OAAO;YACLP,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,uCAAuC,EAAE9C,WAAW,KAAK,EAAEmD,cAAc;gBAClF;aACD;YACDG,SAAS;QACX;IACF;AACF,GAAE"}
@@ -0,0 +1,2 @@
1
+ export declare const getGlobalSchemaTool: import("../../../types.js").GlobalTool;
2
+ //# sourceMappingURL=getGlobalSchemaTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getGlobalSchemaTool.d.ts","sourceRoot":"","sources":["../../../../src/mcp/builtin/globals/getGlobalSchemaTool.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,mBAAmB,wCAwD9B,CAAA"}
@@ -0,0 +1,65 @@
1
+ import { getAccessResults } from 'payload';
2
+ import { defaultAccess } from '../../../defaultAccess.js';
3
+ import { defineGlobalTool } from '../../../defineTool.js';
4
+ import { getGlobalInputSchema } from '../../../utils/schemaConversion/getEntityInputSchema.js';
5
+ export const getGlobalSchemaTool = defineGlobalTool({
6
+ access: (args)=>{
7
+ const permissions = args.permissions?.globals?.[args.globalSlug];
8
+ return defaultAccess(args) && Boolean(permissions?.update);
9
+ },
10
+ annotations: {
11
+ destructiveHint: false,
12
+ idempotentHint: true,
13
+ openWorldHint: false,
14
+ readOnlyHint: true,
15
+ title: 'Get Global Schema'
16
+ },
17
+ description: 'Get the input schema for updating a global.'
18
+ }).handler(async ({ authorizedMCP, globalSlug, req })=>{
19
+ const permissions = authorizedMCP.overrideAccess ? null : (await getAccessResults({
20
+ req
21
+ })).globals?.[globalSlug];
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 "${globalSlug}"`
28
+ }
29
+ ],
30
+ isError: true
31
+ };
32
+ }
33
+ const inputSchema = getGlobalInputSchema({
34
+ globalSlug,
35
+ req,
36
+ ...permissions ? {
37
+ permissions
38
+ } : {}
39
+ });
40
+ if (!inputSchema) {
41
+ return {
42
+ content: [
43
+ {
44
+ type: 'text',
45
+ text: `Error: Global "${globalSlug}" not found`
46
+ }
47
+ ],
48
+ isError: true
49
+ };
50
+ }
51
+ return {
52
+ content: [
53
+ {
54
+ type: 'text',
55
+ text: `Schema for global "${globalSlug}":\n\`\`\`json\n${JSON.stringify(inputSchema)}\n\`\`\``
56
+ }
57
+ ],
58
+ structuredContent: {
59
+ globalSlug,
60
+ schema: inputSchema
61
+ }
62
+ };
63
+ });
64
+
65
+ //# sourceMappingURL=getGlobalSchemaTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/mcp/builtin/globals/getGlobalSchemaTool.ts"],"sourcesContent":["import { getAccessResults } from 'payload'\n\nimport { 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?.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(async ({ authorizedMCP, globalSlug, req }) => {\n const permissions = authorizedMCP.overrideAccess\n ? null\n : (await getAccessResults({ req })).globals?.[globalSlug]\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 \"${globalSlug}\"`,\n },\n ],\n isError: true,\n }\n }\n\n const inputSchema = getGlobalInputSchema({\n globalSlug,\n req,\n ...(permissions ? { permissions } : {}),\n })\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":["getAccessResults","defaultAccess","defineGlobalTool","getGlobalInputSchema","getGlobalSchemaTool","access","args","permissions","globals","globalSlug","Boolean","update","annotations","destructiveHint","idempotentHint","openWorldHint","readOnlyHint","title","description","handler","authorizedMCP","req","overrideAccess","content","type","text","isError","inputSchema","JSON","stringify","structuredContent","schema"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,UAAS;AAE1C,SAASC,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;IACrD;IACAC,aAAa;QACXC,iBAAiB;QACjBC,gBAAgB;QAChBC,eAAe;QACfC,cAAc;QACdC,OAAO;IACT;IACAC,aAAa;AACf,GAAGC,OAAO,CAAC,OAAO,EAAEC,aAAa,EAAEX,UAAU,EAAEY,GAAG,EAAE;IAClD,MAAMd,cAAca,cAAcE,cAAc,GAC5C,OACA,AAAC,CAAA,MAAMtB,iBAAiB;QAAEqB;IAAI,EAAC,EAAGb,OAAO,EAAE,CAACC,WAAW;IAE3D,IAAI,CAACW,cAAcE,cAAc,IAAI,CAACf,aAAaI,QAAQ;QACzD,OAAO;YACLY,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,kEAAkE,EAAEhB,WAAW,CAAC,CAAC;gBAC1F;aACD;YACDiB,SAAS;QACX;IACF;IAEA,MAAMC,cAAcxB,qBAAqB;QACvCM;QACAY;QACA,GAAId,cAAc;YAAEA;QAAY,IAAI,CAAC,CAAC;IACxC;IAEA,IAAI,CAACoB,aAAa;QAChB,OAAO;YACLJ,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,EAAEmB,KAAKC,SAAS,CAACF,aAAa,QAAQ,CAAC;YAChG;SACD;QACDG,mBAAmB;YACjBrB;YACAsB,QAAQJ;QACV;IACF;AACF,GAAE"}
@@ -0,0 +1,2 @@
1
+ export declare const restoreGlobalVersionTool: import("../../../types.js").GlobalTool;
2
+ //# sourceMappingURL=restoreVersionTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restoreVersionTool.d.ts","sourceRoot":"","sources":["../../../../src/mcp/builtin/globals/restoreVersionTool.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,wBAAwB,wCAuFnC,CAAA"}
@@ -0,0 +1,77 @@
1
+ import { z } from 'zod';
2
+ import { defaultAccess } from '../../../defaultAccess.js';
3
+ import { defineGlobalTool } from '../../../defineTool.js';
4
+ import { getLogger } from '../../../utils/getLogger.js';
5
+ const DEFAULT_DESCRIPTION = 'Restore a global from a previous version in any version-enabled global.';
6
+ export const restoreGlobalVersionTool = defineGlobalTool({
7
+ access: (args)=>defaultAccess(args) && Boolean(args.permissions?.globals?.[args.globalSlug]?.update),
8
+ annotations: {
9
+ destructiveHint: true,
10
+ idempotentHint: false,
11
+ openWorldHint: false,
12
+ readOnlyHint: false,
13
+ title: 'Restore Global Version'
14
+ },
15
+ description: DEFAULT_DESCRIPTION,
16
+ input: z.object({
17
+ id: z.string().describe('The ID of the global version to restore'),
18
+ depth: z.number().int().min(0).max(10).describe('How many levels deep to populate relationships in response').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 restore in (e.g., "en", "es")').optional(),
21
+ populate: z.record(z.string(), z.unknown()).describe('Optional: control which fields to include from populated relationship or upload documents.').optional(),
22
+ showHiddenFields: z.boolean().describe('Optional: include hidden fields in the restored global response').optional()
23
+ })
24
+ }).handler(async ({ authorizedMCP, globalSlug, input, req })=>{
25
+ const payload = req.payload;
26
+ const logger = getLogger({
27
+ payload
28
+ });
29
+ const { id, depth, fallbackLocale, locale, populate, showHiddenFields } = input;
30
+ logger.info(`Restoring version for global: ${globalSlug} with ID: ${id}`);
31
+ try {
32
+ const result = await payload.restoreGlobalVersion({
33
+ id,
34
+ slug: globalSlug,
35
+ depth,
36
+ overrideAccess: authorizedMCP.overrideAccess,
37
+ req,
38
+ ...fallbackLocale ? {
39
+ fallbackLocale
40
+ } : {},
41
+ ...locale ? {
42
+ locale
43
+ } : {},
44
+ ...populate ? {
45
+ populate: populate
46
+ } : {},
47
+ ...showHiddenFields !== undefined ? {
48
+ showHiddenFields
49
+ } : {}
50
+ });
51
+ const resultObject = result;
52
+ const restoredGlobal = resultObject.version && typeof resultObject.version === 'object' ? resultObject.version : resultObject;
53
+ return {
54
+ content: [
55
+ {
56
+ type: 'text',
57
+ text: `Version "${id}" restored successfully for global "${globalSlug}"!\nRestored global:\n\`\`\`json\n${JSON.stringify(restoredGlobal)}\n\`\`\``
58
+ }
59
+ ],
60
+ doc: restoredGlobal
61
+ };
62
+ } catch (error) {
63
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
64
+ logger.error(`Error restoring version ${id} for global ${globalSlug}: ${errorMessage}`);
65
+ return {
66
+ content: [
67
+ {
68
+ type: 'text',
69
+ text: `❌ **Error restoring version "${id}" for global "${globalSlug}":** ${errorMessage}`
70
+ }
71
+ ],
72
+ isError: true
73
+ };
74
+ }
75
+ });
76
+
77
+ //# sourceMappingURL=restoreVersionTool.js.map
@@ -0,0 +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'\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) =>\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 overrideAccess: authorizedMCP.overrideAccess,\n req,\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","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","overrideAccess","undefined","resultObject","restoredGlobal","version","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;AAEvD,MAAMC,sBACJ;AAEF,OAAO,MAAMC,2BAA2BH,iBAAiB;IACvDI,QAAQ,CAACC,OACPN,cAAcM,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,OAAOpB,EAAEqB,MAAM,CAAC;QACdC,IAAItB,EAAEuB,MAAM,GAAGC,QAAQ,CAAC;QACxBC,OAAOzB,EACJ0B,MAAM,GACNC,GAAG,GACHC,GAAG,CAAC,GACJC,GAAG,CAAC,IACJL,QAAQ,CAAC,8DACTM,QAAQ,GACRC,OAAO,CAAC;QACXC,gBAAgBhC,EACbuB,MAAM,GACNC,QAAQ,CAAC,gFACTM,QAAQ;QACXG,QAAQjC,EACLuB,MAAM,GACNC,QAAQ,CAAC,0DACTM,QAAQ;QACXI,UAAUlC,EACPmC,MAAM,CAACnC,EAAEuB,MAAM,IAAIvB,EAAEoC,OAAO,IAC5BZ,QAAQ,CACP,8FAEDM,QAAQ;QACXO,kBAAkBrC,EACfsC,OAAO,GACPd,QAAQ,CAAC,mEACTM,QAAQ;IACb;AACF,GAAGS,OAAO,CAAC,OAAO,EAAEC,aAAa,EAAE7B,UAAU,EAAES,KAAK,EAAEqB,GAAG,EAAE;IACzD,MAAMC,UAAUD,IAAIC,OAAO;IAC3B,MAAMC,SAASxC,UAAU;QAAEuC;IAAQ;IACnC,MAAM,EAAEpB,EAAE,EAAEG,KAAK,EAAEO,cAAc,EAAEC,MAAM,EAAEC,QAAQ,EAAEG,gBAAgB,EAAE,GAAGjB;IAE1EuB,OAAOC,IAAI,CAAC,CAAC,8BAA8B,EAAEjC,WAAW,UAAU,EAAEW,IAAI;IAExE,IAAI;QACF,MAAMuB,SAAS,MAAMH,QAAQI,oBAAoB,CAAC;YAChDxB;YACAyB,MAAMpC;YACNc;YACAuB,gBAAgBR,cAAcQ,cAAc;YAC5CP;YACA,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,qBAAqBY,YAAY;gBAAEZ;YAAiB,IAAI,CAAC,CAAC;QAChE;QACA,MAAMa,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,EAAEjC,GAAG,oCAAoC,EAAEX,WAAW,kCAAkC,EAAE6C,KAAKC,SAAS,CAACN,gBAAgB,QAAQ,CAAC;gBACpJ;aACD;YACDO,KAAKP;QACP;IACF,EAAE,OAAOQ,OAAO;QACd,MAAMC,eAAeD,iBAAiBE,QAAQF,MAAMG,OAAO,GAAG;QAC9DnB,OAAOgB,KAAK,CAAC,CAAC,wBAAwB,EAAErC,GAAG,YAAY,EAAEX,WAAW,EAAE,EAAEiD,cAAc;QACtF,OAAO;YACLP,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,6BAA6B,EAAEjC,GAAG,cAAc,EAAEX,WAAW,KAAK,EAAEiD,cAAc;gBAC3F;aACD;YACDG,SAAS;QACX;IACF;AACF,GAAE"}
@@ -0,0 +1,2 @@
1
+ export declare const updateGlobalTool: import("../../../types.js").GlobalTool;
2
+ //# sourceMappingURL=updateTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateTool.d.ts","sourceRoot":"","sources":["../../../../src/mcp/builtin/globals/updateTool.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,gBAAgB,wCAkG3B,CAAA"}
@@ -0,0 +1,87 @@
1
+ import { z } from 'zod';
2
+ import { defaultAccess } from '../../../defaultAccess.js';
3
+ import { defineGlobalTool } from '../../../defineTool.js';
4
+ import { getLogger } from '../../../utils/getLogger.js';
5
+ import { getGlobalVirtualFieldNames, stripVirtualFields } from '../../../utils/getVirtualFieldNames.js';
6
+ import { transformPointDataToPayload } from '../../../utils/transformPointDataToPayload.js';
7
+ import { validateGlobalData } from '../validateEntityData.js';
8
+ const DEFAULT_DESCRIPTION = 'Update any Payload global by passing the global slug and data.';
9
+ export const updateGlobalTool = defineGlobalTool({
10
+ access: (args)=>defaultAccess(args) && Boolean(args.permissions?.globals?.[args.globalSlug]?.update),
11
+ annotations: {
12
+ destructiveHint: true,
13
+ idempotentHint: false,
14
+ openWorldHint: false,
15
+ readOnlyHint: false,
16
+ title: 'Update Global'
17
+ },
18
+ description: DEFAULT_DESCRIPTION,
19
+ input: z.object({
20
+ data: z.record(z.string(), z.unknown()).describe('The global fields to update'),
21
+ depth: z.number().describe('Optional: Depth of relationships to populate').optional().default(0),
22
+ draft: z.boolean().describe('Optional: Whether to save as draft (default: false)').optional().default(false),
23
+ fallbackLocale: z.string().describe('Optional: fallback locale code to use when requested locale is not available').optional(),
24
+ locale: z.string().describe('Optional: locale code to update data in (e.g., "en", "es"). Use "all" to update all locales for localized fields').optional(),
25
+ select: z.record(z.string(), z.unknown()).describe('Optional: define exactly which fields you\'d like to return in the response, e.g., {"siteName": true}').optional()
26
+ })
27
+ }).handler(async ({ authorizedMCP, globalSlug, input, req })=>{
28
+ const payload = req.payload;
29
+ const logger = getLogger({
30
+ payload
31
+ });
32
+ const { data, depth, draft, fallbackLocale, locale, select } = input;
33
+ logger.info(`Updating global: ${globalSlug}, draft: ${draft}${locale ? `, locale: ${locale}` : ''}`);
34
+ try {
35
+ const virtualFieldNames = getGlobalVirtualFieldNames(payload.config, globalSlug);
36
+ const inputData = stripVirtualFields(data, virtualFieldNames);
37
+ const validationError = validateGlobalData({
38
+ data: inputData,
39
+ globalSlug,
40
+ req
41
+ });
42
+ if (validationError) {
43
+ return validationError;
44
+ }
45
+ const parsedData = transformPointDataToPayload(inputData);
46
+ const updateOptions = {
47
+ slug: globalSlug,
48
+ data: parsedData,
49
+ depth,
50
+ draft,
51
+ overrideAccess: authorizedMCP.overrideAccess,
52
+ req
53
+ };
54
+ if (locale) {
55
+ updateOptions.locale = locale;
56
+ }
57
+ if (fallbackLocale) {
58
+ updateOptions.fallbackLocale = fallbackLocale;
59
+ }
60
+ if (select) {
61
+ updateOptions.select = select;
62
+ }
63
+ const result = await payload.updateGlobal(updateOptions);
64
+ return {
65
+ content: [
66
+ {
67
+ type: 'text',
68
+ text: `Global "${globalSlug}" updated successfully!\n\`\`\`json\n${JSON.stringify(result)}\n\`\`\``
69
+ }
70
+ ],
71
+ doc: result
72
+ };
73
+ } catch (error) {
74
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
75
+ logger.error(`Error updating global ${globalSlug}: ${errorMessage}`);
76
+ return {
77
+ content: [
78
+ {
79
+ type: 'text',
80
+ text: `Error updating global "${globalSlug}": ${errorMessage}`
81
+ }
82
+ ]
83
+ };
84
+ }
85
+ });
86
+
87
+ //# sourceMappingURL=updateTool.js.map
@@ -0,0 +1 @@
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 { 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 overrideAccess: authorizedMCP.overrideAccess,\n req,\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","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","overrideAccess","result","updateGlobal","content","type","text","JSON","stringify","doc","error","errorMessage","Error","message"],"mappings":"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"}
@@ -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