@payloadcms/plugin-mcp 4.0.0-canary.0 → 4.0.0-canary.2

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 (381) hide show
  1. package/dist/collection/getAccessField.d.ts.map +1 -1
  2. package/dist/collection/getAccessField.js +25 -10
  3. package/dist/collection/getAccessField.js.map +1 -1
  4. package/dist/collection/index.d.ts.map +1 -1
  5. package/dist/collection/index.js +73 -27
  6. package/dist/collection/index.js.map +1 -1
  7. package/dist/components/APIKeyField/index.client.d.ts +9 -0
  8. package/dist/components/APIKeyField/index.client.d.ts.map +1 -0
  9. package/dist/components/APIKeyField/index.client.js +85 -0
  10. package/dist/components/APIKeyField/index.client.js.map +1 -0
  11. package/dist/components/APIKeyField/index.css +105 -0
  12. package/dist/components/APIKeysEmptyState/index.client.d.ts +4 -0
  13. package/dist/components/APIKeysEmptyState/index.client.d.ts.map +1 -0
  14. package/dist/components/APIKeysEmptyState/index.client.js +21 -0
  15. package/dist/components/APIKeysEmptyState/index.client.js.map +1 -0
  16. package/dist/components/AccessField/index.client.d.ts.map +1 -1
  17. package/dist/components/AccessField/index.client.js +149 -207
  18. package/dist/components/AccessField/index.client.js.map +1 -1
  19. package/dist/components/AccessField/index.css +50 -44
  20. package/dist/components/SettingsMenu/index.client.d.ts +8 -0
  21. package/dist/components/SettingsMenu/index.client.d.ts.map +1 -0
  22. package/dist/components/SettingsMenu/index.client.js +29 -0
  23. package/dist/components/SettingsMenu/index.client.js.map +1 -0
  24. package/dist/endpoint/access.js +21 -5
  25. package/dist/endpoint/access.js.map +1 -1
  26. package/dist/exports/client.d.ts +3 -0
  27. package/dist/exports/client.d.ts.map +1 -1
  28. package/dist/exports/client.js +3 -0
  29. package/dist/exports/client.js.map +1 -1
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +46 -3
  32. package/dist/index.js.map +1 -1
  33. package/dist/mcp/buildMcpServer.d.ts.map +1 -1
  34. package/dist/mcp/buildMcpServer.js +100 -64
  35. package/dist/mcp/buildMcpServer.js.map +1 -1
  36. package/dist/mcp/builtin/collections/createTool.d.ts +1 -1
  37. package/dist/mcp/builtin/collections/createTool.d.ts.map +1 -1
  38. package/dist/mcp/builtin/collections/createTool.js +28 -21
  39. package/dist/mcp/builtin/collections/createTool.js.map +1 -1
  40. package/dist/mcp/builtin/collections/deleteTool.d.ts +1 -1
  41. package/dist/mcp/builtin/collections/deleteTool.d.ts.map +1 -1
  42. package/dist/mcp/builtin/collections/deleteTool.js +5 -20
  43. package/dist/mcp/builtin/collections/deleteTool.js.map +1 -1
  44. package/dist/mcp/builtin/collections/findTool.d.ts +1 -1
  45. package/dist/mcp/builtin/collections/findTool.d.ts.map +1 -1
  46. package/dist/mcp/builtin/collections/findTool.js +6 -21
  47. package/dist/mcp/builtin/collections/findTool.js.map +1 -1
  48. package/dist/mcp/builtin/collections/formatCollectionError.d.ts +9 -0
  49. package/dist/mcp/builtin/collections/formatCollectionError.d.ts.map +1 -0
  50. package/dist/mcp/builtin/collections/formatCollectionError.js +60 -0
  51. package/dist/mcp/builtin/collections/formatCollectionError.js.map +1 -0
  52. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts +2 -0
  53. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts.map +1 -0
  54. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js +35 -0
  55. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js.map +1 -0
  56. package/dist/mcp/builtin/collections/updateTool.d.ts +1 -1
  57. package/dist/mcp/builtin/collections/updateTool.d.ts.map +1 -1
  58. package/dist/mcp/builtin/collections/updateTool.js +74 -62
  59. package/dist/mcp/builtin/collections/updateTool.js.map +1 -1
  60. package/dist/mcp/builtin/getConfigInfoTool.d.ts +2 -0
  61. package/dist/mcp/builtin/getConfigInfoTool.d.ts.map +1 -0
  62. package/dist/mcp/builtin/getConfigInfoTool.js +49 -0
  63. package/dist/mcp/builtin/getConfigInfoTool.js.map +1 -0
  64. package/dist/mcp/builtin/globals/findTool.js +1 -1
  65. package/dist/mcp/builtin/globals/findTool.js.map +1 -1
  66. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts +2 -0
  67. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts.map +1 -0
  68. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js +35 -0
  69. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js.map +1 -0
  70. package/dist/mcp/builtin/globals/updateTool.d.ts.map +1 -1
  71. package/dist/mcp/builtin/globals/updateTool.js +21 -19
  72. package/dist/mcp/builtin/globals/updateTool.js.map +1 -1
  73. package/dist/mcp/builtin/validateEntityData.d.ts +14 -0
  74. package/dist/mcp/builtin/validateEntityData.d.ts.map +1 -0
  75. package/dist/mcp/builtin/validateEntityData.js +82 -0
  76. package/dist/mcp/builtin/validateEntityData.js.map +1 -0
  77. package/dist/mcp/builtinTools.d.ts +84 -16
  78. package/dist/mcp/builtinTools.d.ts.map +1 -1
  79. package/dist/mcp/builtinTools.js +54 -11
  80. package/dist/mcp/builtinTools.js.map +1 -1
  81. package/dist/mcp/sanitizeMCPConfig.d.ts.map +1 -1
  82. package/dist/mcp/sanitizeMCPConfig.js +61 -40
  83. package/dist/mcp/sanitizeMCPConfig.js.map +1 -1
  84. package/dist/translations/index.d.ts +11 -0
  85. package/dist/translations/index.d.ts.map +1 -0
  86. package/dist/translations/index.js +92 -0
  87. package/dist/translations/index.js.map +1 -0
  88. package/dist/translations/languages/ar.d.ts +31 -0
  89. package/dist/translations/languages/ar.d.ts.map +1 -0
  90. package/dist/translations/languages/ar.js +34 -0
  91. package/dist/translations/languages/ar.js.map +1 -0
  92. package/dist/translations/languages/az.d.ts +31 -0
  93. package/dist/translations/languages/az.d.ts.map +1 -0
  94. package/dist/translations/languages/az.js +34 -0
  95. package/dist/translations/languages/az.js.map +1 -0
  96. package/dist/translations/languages/bg.d.ts +31 -0
  97. package/dist/translations/languages/bg.d.ts.map +1 -0
  98. package/dist/translations/languages/bg.js +34 -0
  99. package/dist/translations/languages/bg.js.map +1 -0
  100. package/dist/translations/languages/bnBd.d.ts +31 -0
  101. package/dist/translations/languages/bnBd.d.ts.map +1 -0
  102. package/dist/translations/languages/bnBd.js +34 -0
  103. package/dist/translations/languages/bnBd.js.map +1 -0
  104. package/dist/translations/languages/bnIn.d.ts +31 -0
  105. package/dist/translations/languages/bnIn.d.ts.map +1 -0
  106. package/dist/translations/languages/bnIn.js +34 -0
  107. package/dist/translations/languages/bnIn.js.map +1 -0
  108. package/dist/translations/languages/ca.d.ts +31 -0
  109. package/dist/translations/languages/ca.d.ts.map +1 -0
  110. package/dist/translations/languages/ca.js +34 -0
  111. package/dist/translations/languages/ca.js.map +1 -0
  112. package/dist/translations/languages/cs.d.ts +31 -0
  113. package/dist/translations/languages/cs.d.ts.map +1 -0
  114. package/dist/translations/languages/cs.js +34 -0
  115. package/dist/translations/languages/cs.js.map +1 -0
  116. package/dist/translations/languages/da.d.ts +31 -0
  117. package/dist/translations/languages/da.d.ts.map +1 -0
  118. package/dist/translations/languages/da.js +34 -0
  119. package/dist/translations/languages/da.js.map +1 -0
  120. package/dist/translations/languages/de.d.ts +31 -0
  121. package/dist/translations/languages/de.d.ts.map +1 -0
  122. package/dist/translations/languages/de.js +34 -0
  123. package/dist/translations/languages/de.js.map +1 -0
  124. package/dist/translations/languages/en.d.ts +31 -0
  125. package/dist/translations/languages/en.d.ts.map +1 -0
  126. package/dist/translations/languages/en.js +34 -0
  127. package/dist/translations/languages/en.js.map +1 -0
  128. package/dist/translations/languages/es.d.ts +31 -0
  129. package/dist/translations/languages/es.d.ts.map +1 -0
  130. package/dist/translations/languages/es.js +34 -0
  131. package/dist/translations/languages/es.js.map +1 -0
  132. package/dist/translations/languages/et.d.ts +31 -0
  133. package/dist/translations/languages/et.d.ts.map +1 -0
  134. package/dist/translations/languages/et.js +34 -0
  135. package/dist/translations/languages/et.js.map +1 -0
  136. package/dist/translations/languages/fa.d.ts +31 -0
  137. package/dist/translations/languages/fa.d.ts.map +1 -0
  138. package/dist/translations/languages/fa.js +34 -0
  139. package/dist/translations/languages/fa.js.map +1 -0
  140. package/dist/translations/languages/fr.d.ts +31 -0
  141. package/dist/translations/languages/fr.d.ts.map +1 -0
  142. package/dist/translations/languages/fr.js +34 -0
  143. package/dist/translations/languages/fr.js.map +1 -0
  144. package/dist/translations/languages/he.d.ts +31 -0
  145. package/dist/translations/languages/he.d.ts.map +1 -0
  146. package/dist/translations/languages/he.js +34 -0
  147. package/dist/translations/languages/he.js.map +1 -0
  148. package/dist/translations/languages/hr.d.ts +31 -0
  149. package/dist/translations/languages/hr.d.ts.map +1 -0
  150. package/dist/translations/languages/hr.js +34 -0
  151. package/dist/translations/languages/hr.js.map +1 -0
  152. package/dist/translations/languages/hu.d.ts +31 -0
  153. package/dist/translations/languages/hu.d.ts.map +1 -0
  154. package/dist/translations/languages/hu.js +34 -0
  155. package/dist/translations/languages/hu.js.map +1 -0
  156. package/dist/translations/languages/hy.d.ts +31 -0
  157. package/dist/translations/languages/hy.d.ts.map +1 -0
  158. package/dist/translations/languages/hy.js +34 -0
  159. package/dist/translations/languages/hy.js.map +1 -0
  160. package/dist/translations/languages/id.d.ts +31 -0
  161. package/dist/translations/languages/id.d.ts.map +1 -0
  162. package/dist/translations/languages/id.js +34 -0
  163. package/dist/translations/languages/id.js.map +1 -0
  164. package/dist/translations/languages/is.d.ts +31 -0
  165. package/dist/translations/languages/is.d.ts.map +1 -0
  166. package/dist/translations/languages/is.js +34 -0
  167. package/dist/translations/languages/is.js.map +1 -0
  168. package/dist/translations/languages/it.d.ts +31 -0
  169. package/dist/translations/languages/it.d.ts.map +1 -0
  170. package/dist/translations/languages/it.js +34 -0
  171. package/dist/translations/languages/it.js.map +1 -0
  172. package/dist/translations/languages/ja.d.ts +31 -0
  173. package/dist/translations/languages/ja.d.ts.map +1 -0
  174. package/dist/translations/languages/ja.js +34 -0
  175. package/dist/translations/languages/ja.js.map +1 -0
  176. package/dist/translations/languages/ko.d.ts +31 -0
  177. package/dist/translations/languages/ko.d.ts.map +1 -0
  178. package/dist/translations/languages/ko.js +34 -0
  179. package/dist/translations/languages/ko.js.map +1 -0
  180. package/dist/translations/languages/lt.d.ts +31 -0
  181. package/dist/translations/languages/lt.d.ts.map +1 -0
  182. package/dist/translations/languages/lt.js +34 -0
  183. package/dist/translations/languages/lt.js.map +1 -0
  184. package/dist/translations/languages/lv.d.ts +31 -0
  185. package/dist/translations/languages/lv.d.ts.map +1 -0
  186. package/dist/translations/languages/lv.js +34 -0
  187. package/dist/translations/languages/lv.js.map +1 -0
  188. package/dist/translations/languages/my.d.ts +31 -0
  189. package/dist/translations/languages/my.d.ts.map +1 -0
  190. package/dist/translations/languages/my.js +34 -0
  191. package/dist/translations/languages/my.js.map +1 -0
  192. package/dist/translations/languages/nb.d.ts +31 -0
  193. package/dist/translations/languages/nb.d.ts.map +1 -0
  194. package/dist/translations/languages/nb.js +34 -0
  195. package/dist/translations/languages/nb.js.map +1 -0
  196. package/dist/translations/languages/nl.d.ts +31 -0
  197. package/dist/translations/languages/nl.d.ts.map +1 -0
  198. package/dist/translations/languages/nl.js +34 -0
  199. package/dist/translations/languages/nl.js.map +1 -0
  200. package/dist/translations/languages/pl.d.ts +31 -0
  201. package/dist/translations/languages/pl.d.ts.map +1 -0
  202. package/dist/translations/languages/pl.js +34 -0
  203. package/dist/translations/languages/pl.js.map +1 -0
  204. package/dist/translations/languages/pt.d.ts +31 -0
  205. package/dist/translations/languages/pt.d.ts.map +1 -0
  206. package/dist/translations/languages/pt.js +34 -0
  207. package/dist/translations/languages/pt.js.map +1 -0
  208. package/dist/translations/languages/ro.d.ts +31 -0
  209. package/dist/translations/languages/ro.d.ts.map +1 -0
  210. package/dist/translations/languages/ro.js +34 -0
  211. package/dist/translations/languages/ro.js.map +1 -0
  212. package/dist/translations/languages/rs.d.ts +31 -0
  213. package/dist/translations/languages/rs.d.ts.map +1 -0
  214. package/dist/translations/languages/rs.js +34 -0
  215. package/dist/translations/languages/rs.js.map +1 -0
  216. package/dist/translations/languages/rsLatin.d.ts +31 -0
  217. package/dist/translations/languages/rsLatin.d.ts.map +1 -0
  218. package/dist/translations/languages/rsLatin.js +34 -0
  219. package/dist/translations/languages/rsLatin.js.map +1 -0
  220. package/dist/translations/languages/ru.d.ts +31 -0
  221. package/dist/translations/languages/ru.d.ts.map +1 -0
  222. package/dist/translations/languages/ru.js +34 -0
  223. package/dist/translations/languages/ru.js.map +1 -0
  224. package/dist/translations/languages/sk.d.ts +31 -0
  225. package/dist/translations/languages/sk.d.ts.map +1 -0
  226. package/dist/translations/languages/sk.js +34 -0
  227. package/dist/translations/languages/sk.js.map +1 -0
  228. package/dist/translations/languages/sl.d.ts +31 -0
  229. package/dist/translations/languages/sl.d.ts.map +1 -0
  230. package/dist/translations/languages/sl.js +34 -0
  231. package/dist/translations/languages/sl.js.map +1 -0
  232. package/dist/translations/languages/sv.d.ts +31 -0
  233. package/dist/translations/languages/sv.d.ts.map +1 -0
  234. package/dist/translations/languages/sv.js +34 -0
  235. package/dist/translations/languages/sv.js.map +1 -0
  236. package/dist/translations/languages/ta.d.ts +31 -0
  237. package/dist/translations/languages/ta.d.ts.map +1 -0
  238. package/dist/translations/languages/ta.js +34 -0
  239. package/dist/translations/languages/ta.js.map +1 -0
  240. package/dist/translations/languages/th.d.ts +31 -0
  241. package/dist/translations/languages/th.d.ts.map +1 -0
  242. package/dist/translations/languages/th.js +34 -0
  243. package/dist/translations/languages/th.js.map +1 -0
  244. package/dist/translations/languages/tr.d.ts +31 -0
  245. package/dist/translations/languages/tr.d.ts.map +1 -0
  246. package/dist/translations/languages/tr.js +34 -0
  247. package/dist/translations/languages/tr.js.map +1 -0
  248. package/dist/translations/languages/uk.d.ts +31 -0
  249. package/dist/translations/languages/uk.d.ts.map +1 -0
  250. package/dist/translations/languages/uk.js +34 -0
  251. package/dist/translations/languages/uk.js.map +1 -0
  252. package/dist/translations/languages/vi.d.ts +31 -0
  253. package/dist/translations/languages/vi.d.ts.map +1 -0
  254. package/dist/translations/languages/vi.js +34 -0
  255. package/dist/translations/languages/vi.js.map +1 -0
  256. package/dist/translations/languages/zh.d.ts +31 -0
  257. package/dist/translations/languages/zh.d.ts.map +1 -0
  258. package/dist/translations/languages/zh.js +34 -0
  259. package/dist/translations/languages/zh.js.map +1 -0
  260. package/dist/translations/languages/zhTw.d.ts +31 -0
  261. package/dist/translations/languages/zhTw.d.ts.map +1 -0
  262. package/dist/translations/languages/zhTw.js +34 -0
  263. package/dist/translations/languages/zhTw.js.map +1 -0
  264. package/dist/translations/types.d.ts +32 -0
  265. package/dist/translations/types.d.ts.map +1 -0
  266. package/dist/translations/types.js +3 -0
  267. package/dist/translations/types.js.map +1 -0
  268. package/dist/types.d.ts +22 -28
  269. package/dist/types.d.ts.map +1 -1
  270. package/dist/types.js.map +1 -1
  271. package/dist/utils/schemaConversion/getEntityInputSchema.d.ts +11 -0
  272. package/dist/utils/schemaConversion/getEntityInputSchema.d.ts.map +1 -0
  273. package/dist/utils/schemaConversion/getEntityInputSchema.js +34 -0
  274. package/dist/utils/schemaConversion/getEntityInputSchema.js.map +1 -0
  275. package/dist/utils/schemaConversion/sanitizeEntitySchema.d.ts +15 -0
  276. package/dist/utils/schemaConversion/sanitizeEntitySchema.d.ts.map +1 -0
  277. package/dist/utils/schemaConversion/sanitizeEntitySchema.js +464 -0
  278. package/dist/utils/schemaConversion/sanitizeEntitySchema.js.map +1 -0
  279. package/dist/utils/schemaConversion/sanitizeEntitySchema.spec.js +158 -0
  280. package/dist/utils/schemaConversion/sanitizeEntitySchema.spec.js.map +1 -0
  281. package/dist/utils/whereSchema.d.ts +9 -0
  282. package/dist/utils/whereSchema.d.ts.map +1 -0
  283. package/dist/utils/whereSchema.js +13 -0
  284. package/dist/utils/whereSchema.js.map +1 -0
  285. package/package.json +7 -6
  286. package/src/collection/getAccessField.ts +33 -13
  287. package/src/collection/index.ts +64 -22
  288. package/src/components/APIKeyField/index.client.tsx +73 -0
  289. package/src/components/APIKeyField/index.css +105 -0
  290. package/src/components/APIKeysEmptyState/index.client.tsx +36 -0
  291. package/src/components/AccessField/index.client.tsx +175 -220
  292. package/src/components/AccessField/index.css +50 -44
  293. package/src/components/SettingsMenu/index.client.tsx +34 -0
  294. package/src/endpoint/access.ts +17 -5
  295. package/src/exports/client.ts +3 -0
  296. package/src/index.ts +49 -3
  297. package/src/mcp/buildMcpServer.ts +123 -90
  298. package/src/mcp/builtin/collections/createTool.ts +46 -50
  299. package/src/mcp/builtin/collections/deleteTool.ts +9 -16
  300. package/src/mcp/builtin/collections/findTool.ts +7 -17
  301. package/src/mcp/builtin/collections/formatCollectionError.ts +84 -0
  302. package/src/mcp/builtin/collections/getCollectionSchemaTool.ts +28 -0
  303. package/src/mcp/builtin/collections/updateTool.ts +97 -91
  304. package/src/mcp/builtin/getConfigInfoTool.ts +44 -0
  305. package/src/mcp/builtin/globals/findTool.ts +1 -1
  306. package/src/mcp/builtin/globals/getGlobalSchemaTool.ts +28 -0
  307. package/src/mcp/builtin/globals/updateTool.ts +40 -43
  308. package/src/mcp/builtin/validateEntityData.ts +132 -0
  309. package/src/mcp/builtinTools.ts +52 -38
  310. package/src/mcp/sanitizeMCPConfig.ts +78 -57
  311. package/src/translations/index.ts +108 -0
  312. package/src/translations/languages/ar.ts +35 -0
  313. package/src/translations/languages/az.ts +35 -0
  314. package/src/translations/languages/bg.ts +35 -0
  315. package/src/translations/languages/bnBd.ts +35 -0
  316. package/src/translations/languages/bnIn.ts +35 -0
  317. package/src/translations/languages/ca.ts +35 -0
  318. package/src/translations/languages/cs.ts +35 -0
  319. package/src/translations/languages/da.ts +35 -0
  320. package/src/translations/languages/de.ts +35 -0
  321. package/src/translations/languages/en.ts +35 -0
  322. package/src/translations/languages/es.ts +35 -0
  323. package/src/translations/languages/et.ts +35 -0
  324. package/src/translations/languages/fa.ts +35 -0
  325. package/src/translations/languages/fr.ts +35 -0
  326. package/src/translations/languages/he.ts +35 -0
  327. package/src/translations/languages/hr.ts +35 -0
  328. package/src/translations/languages/hu.ts +35 -0
  329. package/src/translations/languages/hy.ts +35 -0
  330. package/src/translations/languages/id.ts +35 -0
  331. package/src/translations/languages/is.ts +35 -0
  332. package/src/translations/languages/it.ts +35 -0
  333. package/src/translations/languages/ja.ts +35 -0
  334. package/src/translations/languages/ko.ts +35 -0
  335. package/src/translations/languages/lt.ts +35 -0
  336. package/src/translations/languages/lv.ts +35 -0
  337. package/src/translations/languages/my.ts +35 -0
  338. package/src/translations/languages/nb.ts +35 -0
  339. package/src/translations/languages/nl.ts +35 -0
  340. package/src/translations/languages/pl.ts +35 -0
  341. package/src/translations/languages/pt.ts +35 -0
  342. package/src/translations/languages/ro.ts +35 -0
  343. package/src/translations/languages/rs.ts +35 -0
  344. package/src/translations/languages/rsLatin.ts +35 -0
  345. package/src/translations/languages/ru.ts +35 -0
  346. package/src/translations/languages/sk.ts +35 -0
  347. package/src/translations/languages/sl.ts +35 -0
  348. package/src/translations/languages/sv.ts +35 -0
  349. package/src/translations/languages/ta.ts +35 -0
  350. package/src/translations/languages/th.ts +35 -0
  351. package/src/translations/languages/tr.ts +35 -0
  352. package/src/translations/languages/uk.ts +35 -0
  353. package/src/translations/languages/vi.ts +35 -0
  354. package/src/translations/languages/zh.ts +35 -0
  355. package/src/translations/languages/zhTw.ts +35 -0
  356. package/src/translations/types.ts +34 -0
  357. package/src/types.ts +30 -30
  358. package/src/utils/schemaConversion/getEntityInputSchema.ts +78 -0
  359. package/src/utils/schemaConversion/sanitizeEntitySchema.spec.ts +103 -0
  360. package/src/utils/schemaConversion/sanitizeEntitySchema.ts +529 -0
  361. package/src/utils/whereSchema.ts +24 -0
  362. package/dist/utils/schemaConversion/prepareCollectionSchema.d.ts +0 -7
  363. package/dist/utils/schemaConversion/prepareCollectionSchema.d.ts.map +0 -1
  364. package/dist/utils/schemaConversion/prepareCollectionSchema.js +0 -37
  365. package/dist/utils/schemaConversion/prepareCollectionSchema.js.map +0 -1
  366. package/dist/utils/schemaConversion/sanitizeJsonSchema.d.ts +0 -13
  367. package/dist/utils/schemaConversion/sanitizeJsonSchema.d.ts.map +0 -1
  368. package/dist/utils/schemaConversion/sanitizeJsonSchema.js +0 -56
  369. package/dist/utils/schemaConversion/sanitizeJsonSchema.js.map +0 -1
  370. package/dist/utils/schemaConversion/simplifyRelationshipFields.d.ts +0 -20
  371. package/dist/utils/schemaConversion/simplifyRelationshipFields.d.ts.map +0 -1
  372. package/dist/utils/schemaConversion/simplifyRelationshipFields.js +0 -56
  373. package/dist/utils/schemaConversion/simplifyRelationshipFields.js.map +0 -1
  374. package/dist/utils/schemaConversion/transformPointFields.d.ts +0 -3
  375. package/dist/utils/schemaConversion/transformPointFields.d.ts.map +0 -1
  376. package/dist/utils/schemaConversion/transformPointFields.js +0 -57
  377. package/dist/utils/schemaConversion/transformPointFields.js.map +0 -1
  378. package/src/utils/schemaConversion/prepareCollectionSchema.ts +0 -39
  379. package/src/utils/schemaConversion/sanitizeJsonSchema.ts +0 -62
  380. package/src/utils/schemaConversion/simplifyRelationshipFields.ts +0 -70
  381. package/src/utils/schemaConversion/transformPointFields.ts +0 -56
@@ -0,0 +1,132 @@
1
+ import type { CollectionSlug, GlobalSlug, PayloadRequest, SanitizedConfig } from 'payload'
2
+
3
+ import { CfWorkerJsonSchemaValidator } from '@modelcontextprotocol/server'
4
+
5
+ import type { JsonSchemaType, MCPToolResponse } from '../../types.js'
6
+
7
+ import {
8
+ getCollectionInputSchema,
9
+ getGlobalInputSchema,
10
+ } from '../../utils/schemaConversion/getEntityInputSchema.js'
11
+
12
+ /**
13
+ * Keep the default `shortcircuit: true` - `false` makes validating nested rich text exponentially slow.
14
+ */
15
+ const validator = new CfWorkerJsonSchemaValidator({ shortcircuit: true })
16
+
17
+ type EntityValidator = {
18
+ schema: JsonSchemaType
19
+ validate: ReturnType<(typeof validator)['getValidator']>
20
+ }
21
+
22
+ /**
23
+ * - Caches each entity's schema and validator, so both are only built on the first request.
24
+ * - Keyed by payload config, then by entity type, slug, partial and language.
25
+ */
26
+ const validatorCache = new WeakMap<SanitizedConfig, Map<string, EntityValidator>>()
27
+
28
+ export const validateCollectionData = ({
29
+ collectionSlug,
30
+ data,
31
+ partial,
32
+ req,
33
+ }: {
34
+ collectionSlug: CollectionSlug
35
+ data: Record<string, unknown>
36
+ partial?: boolean
37
+ req: PayloadRequest
38
+ }): MCPToolResponse | null =>
39
+ validateData({
40
+ slug: collectionSlug,
41
+ buildSchema: () => getCollectionInputSchema({ collectionSlug, req }),
42
+ data,
43
+ entity: 'collection',
44
+ partial,
45
+ req,
46
+ })
47
+
48
+ export const validateGlobalData = ({
49
+ data,
50
+ globalSlug,
51
+ req,
52
+ }: {
53
+ data: Record<string, unknown>
54
+ globalSlug: GlobalSlug
55
+ req: PayloadRequest
56
+ }): MCPToolResponse | null =>
57
+ validateData({
58
+ slug: globalSlug,
59
+ buildSchema: () => getGlobalInputSchema({ globalSlug, req }),
60
+ data,
61
+ entity: 'global',
62
+ partial: true,
63
+ req,
64
+ })
65
+
66
+ const validateData = ({
67
+ slug,
68
+ buildSchema,
69
+ data,
70
+ entity,
71
+ partial,
72
+ req,
73
+ }: {
74
+ buildSchema: () => JsonSchemaType | null
75
+ data: Record<string, unknown>
76
+ entity: 'collection' | 'global'
77
+ partial?: boolean
78
+ req: PayloadRequest
79
+ slug: string
80
+ }): MCPToolResponse | null => {
81
+ let cache = validatorCache.get(req.payload.config)
82
+ if (!cache) {
83
+ cache = new Map()
84
+ validatorCache.set(req.payload.config, cache)
85
+ }
86
+
87
+ const cacheKey = `${entity}:${slug}:${partial ? 'partial' : 'full'}:${req.i18n.language}`
88
+ let entityValidator = cache.get(cacheKey)
89
+
90
+ if (!entityValidator) {
91
+ const schema = buildSchema()
92
+
93
+ if (!schema) {
94
+ return null
95
+ }
96
+
97
+ entityValidator = {
98
+ schema,
99
+ validate: validator.getValidator(partial ? withoutRequired(schema) : schema),
100
+ }
101
+ cache.set(cacheKey, entityValidator)
102
+ }
103
+
104
+ const result = entityValidator.validate(data)
105
+
106
+ if (result.valid) {
107
+ return null
108
+ }
109
+
110
+ const { schema } = entityValidator
111
+
112
+ return {
113
+ content: [
114
+ {
115
+ type: 'text',
116
+ text: `Invalid data for ${entity} "${slug}": ${result.errorMessage}\n\nUse this schema for data:\n\`\`\`json\n${JSON.stringify(schema)}\n\`\`\``,
117
+ },
118
+ ],
119
+ isError: true,
120
+ structuredContent: {
121
+ [`${entity}Slug`]: slug,
122
+ errors: [{ message: result.errorMessage }],
123
+ schema,
124
+ },
125
+ }
126
+ }
127
+
128
+ /** Updates are partial — drop the schema's top-level `required` before validating. */
129
+ const withoutRequired = (schema: JsonSchemaType): JsonSchemaType => {
130
+ const { required: _required, ...rest } = schema
131
+ return rest
132
+ }
@@ -1,4 +1,4 @@
1
- import type { CollectionTool, GlobalTool } from '../types.js'
1
+ import type { CollectionTool, GlobalTool, Tool } from '../types.js'
2
2
 
3
3
  import {
4
4
  authCollectionTool,
@@ -8,62 +8,72 @@ import {
8
8
  unlockCollectionTool,
9
9
  verifyCollectionTool,
10
10
  } from './builtin/collections/authTools.js'
11
- import { createCollectionTool } from './builtin/collections/createTool.js'
12
- import { deleteCollectionTool } from './builtin/collections/deleteTool.js'
13
- import { findCollectionTool } from './builtin/collections/findTool.js'
14
- import { updateCollectionTool } from './builtin/collections/updateTool.js'
11
+ import { createDocumentTool } from './builtin/collections/createTool.js'
12
+ import { deleteDocumentsTool } from './builtin/collections/deleteTool.js'
13
+ import { findDocumentsTool } from './builtin/collections/findTool.js'
14
+ import { getCollectionSchemaTool } from './builtin/collections/getCollectionSchemaTool.js'
15
+ import { updateDocumentTool } from './builtin/collections/updateTool.js'
16
+ import { getConfigInfoTool } from './builtin/getConfigInfoTool.js'
15
17
  import { findGlobalTool } from './builtin/globals/findTool.js'
18
+ import { getGlobalSchemaTool } from './builtin/globals/getGlobalSchemaTool.js'
16
19
  import { updateGlobalTool } from './builtin/globals/updateTool.js'
17
20
 
21
+ export const TOOL_BUILTINS = {
22
+ getConfigInfo: { label: 'Config Info', mcpName: 'getConfigInfo', tool: getConfigInfoTool },
23
+ } satisfies Record<string, { label: string; mcpName: string; tool: Tool }>
24
+
18
25
  /**
19
26
  * The static built-in collection CRUD tools. Keys here are the source of truth
20
27
  * for `MCPCollectionBuiltinName` — adding/removing an entry updates the type
21
28
  * automatically.
22
29
  */
23
- export const COLLECTION_BUILTINS: Record<MCPCollectionBuiltinName, CollectionTool> = {
24
- create: createCollectionTool,
25
- delete: deleteCollectionTool,
26
- find: findCollectionTool,
27
- update: updateCollectionTool,
28
- }
30
+ export const COLLECTION_BUILTINS = {
31
+ create: { mcpName: 'createDocument', tool: createDocumentTool },
32
+ delete: { mcpName: 'deleteDocuments', tool: deleteDocumentsTool },
33
+ find: { mcpName: 'findDocuments', tool: findDocumentsTool },
34
+ getCollectionSchema: { mcpName: 'getCollectionSchema', tool: getCollectionSchemaTool },
35
+ update: { mcpName: 'updateDocument', tool: updateDocumentTool },
36
+ } satisfies Record<string, { mcpName: string; tool: CollectionTool }>
29
37
 
30
38
  /**
31
39
  * The static auth tools surfaced under auth-enabled collections. Each entry
32
40
  * carries the admin-UI label alongside the tool. Keys are the source of truth
33
41
  * for `MCPCollectionAuthToolName`.
34
42
  */
35
- export const COLLECTION_AUTH_BUILTINS: Record<
36
- MCPCollectionAuthToolName,
37
- { label: string; tool: CollectionTool }
38
- > = {
39
- auth: { label: 'Check Auth Status', tool: authCollectionTool },
40
- forgotPassword: { label: 'Forgot Password', tool: forgotPasswordCollectionTool },
41
- login: { label: 'User Login', tool: loginCollectionTool },
42
- resetPassword: { label: 'Reset Password', tool: resetPasswordCollectionTool },
43
- unlock: { label: 'Unlock Account', tool: unlockCollectionTool },
44
- verify: { label: 'Email Verification', tool: verifyCollectionTool },
45
- }
43
+ export const COLLECTION_AUTH_BUILTINS = {
44
+ auth: { label: 'Check Auth Status', mcpName: 'auth', tool: authCollectionTool },
45
+ forgotPassword: {
46
+ label: 'Forgot Password',
47
+ mcpName: 'forgotPassword',
48
+ tool: forgotPasswordCollectionTool,
49
+ },
50
+ login: { label: 'User Login', mcpName: 'login', tool: loginCollectionTool },
51
+ resetPassword: {
52
+ label: 'Reset Password',
53
+ mcpName: 'resetPassword',
54
+ tool: resetPasswordCollectionTool,
55
+ },
56
+ unlock: { label: 'Unlock Account', mcpName: 'unlock', tool: unlockCollectionTool },
57
+ verify: { label: 'Email Verification', mcpName: 'verify', tool: verifyCollectionTool },
58
+ } satisfies Record<string, { label: string; mcpName: string; tool: CollectionTool }>
46
59
 
47
60
  /**
48
61
  * The static built-in global tools. Keys are the source of truth for
49
62
  * `MCPGlobalBuiltinName`.
50
63
  */
51
- export const GLOBAL_BUILTINS: Record<MCPGlobalBuiltinName, GlobalTool> = {
52
- find: findGlobalTool,
53
- update: updateGlobalTool,
54
- }
64
+ export const GLOBAL_BUILTINS = {
65
+ find: { mcpName: 'findGlobal', tool: findGlobalTool },
66
+ getGlobalSchema: { mcpName: 'getGlobalSchema', tool: getGlobalSchemaTool },
67
+ update: { mcpName: 'updateGlobal', tool: updateGlobalTool },
68
+ } satisfies Record<string, { mcpName: string; tool: GlobalTool }>
69
+
70
+ export type MCPCollectionBuiltinName = keyof typeof COLLECTION_BUILTINS
55
71
 
56
- export type MCPCollectionBuiltinName = 'create' | 'delete' | 'find' | 'update'
72
+ export type MCPCollectionAuthToolName = keyof typeof COLLECTION_AUTH_BUILTINS
57
73
 
58
- export type MCPCollectionAuthToolName =
59
- | 'auth'
60
- | 'forgotPassword'
61
- | 'login'
62
- | 'resetPassword'
63
- | 'unlock'
64
- | 'verify'
74
+ export type MCPGlobalBuiltinName = keyof typeof GLOBAL_BUILTINS
65
75
 
66
- export type MCPGlobalBuiltinName = 'find' | 'update'
76
+ export type MCPTopLevelBuiltinName = keyof typeof TOOL_BUILTINS
67
77
 
68
78
  /**
69
79
  * Pre-typed `Object.entries` for each registry. The cast from `string` to the
@@ -71,14 +81,18 @@ export type MCPGlobalBuiltinName = 'find' | 'update'
71
81
  * cast — TypeScript's `Object.entries` always widens keys to `string`, which
72
82
  * defeats the narrow type lookups on `MCPCollectionToolsMap`.
73
83
  */
84
+ export const TOOL_BUILTIN_ENTRIES = Object.entries(TOOL_BUILTINS) as Array<
85
+ [MCPTopLevelBuiltinName, (typeof TOOL_BUILTINS)[MCPTopLevelBuiltinName]]
86
+ >
87
+
74
88
  export const COLLECTION_BUILTIN_ENTRIES = Object.entries(COLLECTION_BUILTINS) as Array<
75
- [MCPCollectionBuiltinName, CollectionTool]
89
+ [MCPCollectionBuiltinName, (typeof COLLECTION_BUILTINS)[MCPCollectionBuiltinName]]
76
90
  >
77
91
 
78
92
  export const COLLECTION_AUTH_BUILTIN_ENTRIES = Object.entries(COLLECTION_AUTH_BUILTINS) as Array<
79
- [MCPCollectionAuthToolName, { label: string; tool: CollectionTool }]
93
+ [MCPCollectionAuthToolName, (typeof COLLECTION_AUTH_BUILTINS)[MCPCollectionAuthToolName]]
80
94
  >
81
95
 
82
96
  export const GLOBAL_BUILTIN_ENTRIES = Object.entries(GLOBAL_BUILTINS) as Array<
83
- [MCPGlobalBuiltinName, GlobalTool]
97
+ [MCPGlobalBuiltinName, (typeof GLOBAL_BUILTINS)[MCPGlobalBuiltinName]]
84
98
  >
@@ -8,13 +8,12 @@ import type {
8
8
  } from 'payload'
9
9
 
10
10
  import type {
11
+ CollectionMCPItem,
11
12
  CollectionTool,
13
+ GlobalMCPItem,
12
14
  GlobalTool,
13
- MCPBuiltInToolOverride,
14
15
  MCPItem,
15
- MCPPluginCollectionConfig,
16
16
  MCPPluginConfig,
17
- MCPPluginGlobalConfig,
18
17
  SanitizedMCPPluginConfig,
19
18
  } from '../types.js'
20
19
 
@@ -25,6 +24,8 @@ import {
25
24
  COLLECTION_BUILTINS,
26
25
  GLOBAL_BUILTIN_ENTRIES,
27
26
  GLOBAL_BUILTINS,
27
+ TOOL_BUILTIN_ENTRIES,
28
+ TOOL_BUILTINS,
28
29
  } from './builtinTools.js'
29
30
 
30
31
  /**
@@ -54,29 +55,45 @@ export const sanitizeMCPConfig = ({
54
55
  items.push(...sanitizeGlobalConfig({ global, pluginConfig }))
55
56
  }
56
57
 
57
- for (const [key, tool] of Object.entries(pluginConfig.tools ?? {})) {
58
+ for (const [configKey, { label, mcpName, tool }] of TOOL_BUILTIN_ENTRIES) {
58
59
  items.push({
59
60
  type: 'tool',
60
- key,
61
- label: key,
61
+ configKey,
62
+ label,
63
+ mcpName,
62
64
  tool,
63
65
  })
64
66
  }
65
67
 
66
- for (const [key, prompt] of Object.entries(pluginConfig.prompts ?? {})) {
68
+ for (const [configKey, tool] of Object.entries(pluginConfig.tools ?? {})) {
69
+ if (configKey in TOOL_BUILTINS) {
70
+ continue
71
+ }
72
+ items.push({
73
+ type: 'tool',
74
+ configKey,
75
+ label: configKey,
76
+ mcpName: configKey,
77
+ tool,
78
+ })
79
+ }
80
+
81
+ for (const [configKey, prompt] of Object.entries(pluginConfig.prompts ?? {})) {
67
82
  items.push({
68
83
  type: 'prompt',
69
- key,
70
- label: prompt.title ?? key,
84
+ configKey,
85
+ label: prompt.title ?? configKey,
86
+ mcpName: configKey,
71
87
  prompt,
72
88
  })
73
89
  }
74
90
 
75
- for (const [key, resource] of Object.entries(pluginConfig.resources ?? {})) {
91
+ for (const [configKey, resource] of Object.entries(pluginConfig.resources ?? {})) {
76
92
  items.push({
77
93
  type: 'resource',
78
- key,
79
- label: resource.title ?? key,
94
+ configKey,
95
+ label: resource.title ?? configKey,
96
+ mcpName: configKey,
80
97
  resource,
81
98
  })
82
99
  }
@@ -101,30 +118,39 @@ const sanitizeCollectionConfig = ({
101
118
  }: {
102
119
  collection: CollectionConfig | SanitizedCollectionConfig
103
120
  pluginConfig: MCPPluginConfig
104
- }): MCPItem[] => {
121
+ }): CollectionMCPItem[] => {
105
122
  if (collection.slug === 'payload-mcp-api-keys') {
106
123
  return []
107
124
  }
108
125
  const slug = collection.slug
109
126
  const collectionPluginConfig = pluginConfig.collections?.[slug]
110
- const items: MCPItem[] = []
127
+ const items: CollectionMCPItem[] = []
111
128
 
112
- for (const [toolKey, tool] of COLLECTION_BUILTIN_ENTRIES) {
129
+ for (const [toolKey, { mcpName, tool }] of COLLECTION_BUILTIN_ENTRIES) {
113
130
  const matchedConfigEntry = collectionPluginConfig?.tools?.[toolKey]
114
131
  if (matchedConfigEntry === false) {
115
132
  continue
116
133
  }
134
+ const override = typeof matchedConfigEntry === 'object' ? matchedConfigEntry : undefined
117
135
  items.push({
118
136
  type: 'collectionTool',
119
137
  collectionSlug: slug,
120
- key: toolKey,
138
+ configKey: toolKey,
121
139
  label: capitalize(toolKey),
122
- tool: overrideBuiltinTool(tool, matchedConfigEntry, collectionPluginConfig),
140
+ mcpName,
141
+ tool: {
142
+ ...tool,
143
+ description: override?.description ?? tool.description,
144
+ overrideResponse:
145
+ override?.overrideResponse ??
146
+ collectionPluginConfig?.overrideResponse ??
147
+ tool.overrideResponse,
148
+ },
123
149
  })
124
150
  }
125
151
 
126
152
  if (collection.auth) {
127
- for (const [authToolKey, { label, tool }] of COLLECTION_AUTH_BUILTIN_ENTRIES) {
153
+ for (const [authToolKey, { label, mcpName, tool }] of COLLECTION_AUTH_BUILTIN_ENTRIES) {
128
154
  const matchedConfigEntry = collectionPluginConfig?.tools?.[authToolKey]
129
155
  if (!matchedConfigEntry) {
130
156
  continue
@@ -134,9 +160,17 @@ const sanitizeCollectionConfig = ({
134
160
  items.push({
135
161
  type: 'collectionTool',
136
162
  collectionSlug: slug,
137
- key: authToolKey,
163
+ configKey: authToolKey,
138
164
  label,
139
- tool: overrideBuiltinTool(tool, override, collectionPluginConfig),
165
+ mcpName,
166
+ tool: {
167
+ ...tool,
168
+ description: override?.description ?? tool.description,
169
+ overrideResponse:
170
+ override?.overrideResponse ??
171
+ collectionPluginConfig?.overrideResponse ??
172
+ tool.overrideResponse,
173
+ },
140
174
  })
141
175
  }
142
176
  }
@@ -146,8 +180,8 @@ const sanitizeCollectionConfig = ({
146
180
  const customEntries = Object.entries(collectionPluginConfig?.tools ?? {}) as Array<
147
181
  [string, CollectionTool | undefined]
148
182
  >
149
- for (const [key, customTool] of customEntries) {
150
- if (key in COLLECTION_BUILTINS || key in COLLECTION_AUTH_BUILTINS) {
183
+ for (const [configKey, customTool] of customEntries) {
184
+ if (configKey in COLLECTION_BUILTINS || configKey in COLLECTION_AUTH_BUILTINS) {
151
185
  continue
152
186
  }
153
187
  if (!customTool) {
@@ -156,8 +190,9 @@ const sanitizeCollectionConfig = ({
156
190
  items.push({
157
191
  type: 'collectionTool',
158
192
  collectionSlug: slug,
159
- key,
160
- label: key,
193
+ configKey,
194
+ label: configKey,
195
+ mcpName: configKey,
161
196
  tool: customTool,
162
197
  })
163
198
  }
@@ -171,30 +206,39 @@ const sanitizeGlobalConfig = ({
171
206
  }: {
172
207
  global: GlobalConfig | SanitizedGlobalConfig
173
208
  pluginConfig: MCPPluginConfig
174
- }): MCPItem[] => {
209
+ }): GlobalMCPItem[] => {
175
210
  const slug = global.slug
176
211
  const globalPluginConfig = pluginConfig.globals?.[slug]
177
- const items: MCPItem[] = []
212
+ const items: GlobalMCPItem[] = []
178
213
 
179
- for (const [toolKey, baseTool] of GLOBAL_BUILTIN_ENTRIES) {
214
+ for (const [toolKey, { mcpName, tool }] of GLOBAL_BUILTIN_ENTRIES) {
180
215
  const matchedConfigEntry = globalPluginConfig?.tools?.[toolKey]
181
216
  if (matchedConfigEntry === false) {
182
217
  continue
183
218
  }
219
+ const override = typeof matchedConfigEntry === 'object' ? matchedConfigEntry : undefined
184
220
  items.push({
185
221
  type: 'globalTool',
222
+ configKey: toolKey,
186
223
  globalSlug: slug,
187
- key: toolKey,
188
224
  label: capitalize(toolKey),
189
- tool: overrideBuiltinTool(baseTool, matchedConfigEntry, globalPluginConfig),
225
+ mcpName,
226
+ tool: {
227
+ ...tool,
228
+ description: override?.description ?? tool.description,
229
+ overrideResponse:
230
+ override?.overrideResponse ??
231
+ globalPluginConfig?.overrideResponse ??
232
+ tool.overrideResponse,
233
+ },
190
234
  })
191
235
  }
192
236
 
193
237
  const customEntries = Object.entries(globalPluginConfig?.tools ?? {}) as Array<
194
238
  [string, GlobalTool | undefined]
195
239
  >
196
- for (const [key, customTool] of customEntries) {
197
- if (key in GLOBAL_BUILTINS) {
240
+ for (const [configKey, customTool] of customEntries) {
241
+ if (configKey in GLOBAL_BUILTINS) {
198
242
  continue
199
243
  }
200
244
  if (!customTool) {
@@ -202,9 +246,10 @@ const sanitizeGlobalConfig = ({
202
246
  }
203
247
  items.push({
204
248
  type: 'globalTool',
249
+ configKey,
205
250
  globalSlug: slug,
206
- key,
207
- label: key,
251
+ label: configKey,
252
+ mcpName: configKey,
208
253
  tool: customTool,
209
254
  })
210
255
  }
@@ -213,27 +258,3 @@ const sanitizeGlobalConfig = ({
213
258
  }
214
259
 
215
260
  const capitalize = (s: string): string => s.charAt(0).toUpperCase() + s.slice(1)
216
-
217
- /**
218
- * Spread the static built-in tool and apply consumer-side overrides.
219
- * Precedence: per-tool override > scope-level (collection/global) override >
220
- * the static tool's defaults. `toolEntry` is whatever the user put under
221
- * `tools: { find: ... }` — could be `true`, `false`, or an override object —
222
- * so it's narrowed internally.
223
- */
224
- const overrideBuiltinTool = <TTool extends CollectionTool | GlobalTool>(
225
- tool: TTool,
226
- toolOverride?: MCPBuiltInToolOverride,
227
- entityPluginConfig?: TTool extends CollectionTool
228
- ? MCPPluginCollectionConfig<any>
229
- : MCPPluginGlobalConfig,
230
- ): TTool => {
231
- return {
232
- ...tool,
233
- description: toolOverride?.description ?? entityPluginConfig?.description ?? tool.description,
234
- overrideResponse:
235
- toolOverride?.overrideResponse ??
236
- entityPluginConfig?.overrideResponse ??
237
- tool.overrideResponse,
238
- }
239
- }
@@ -0,0 +1,108 @@
1
+ import type {
2
+ NestedKeysStripped,
3
+ SupportedLanguages,
4
+ } from '@payloadcms/translations'
5
+
6
+ import type { PluginDefaultTranslationsObject } from './types.js'
7
+
8
+ import { ar } from './languages/ar.js'
9
+ import { az } from './languages/az.js'
10
+ import { bg } from './languages/bg.js'
11
+ import { bnBd } from './languages/bnBd.js'
12
+ import { bnIn } from './languages/bnIn.js'
13
+ import { ca } from './languages/ca.js'
14
+ import { cs } from './languages/cs.js'
15
+ import { da } from './languages/da.js'
16
+ import { de } from './languages/de.js'
17
+ import { en } from './languages/en.js'
18
+ import { es } from './languages/es.js'
19
+ import { et } from './languages/et.js'
20
+ import { fa } from './languages/fa.js'
21
+ import { fr } from './languages/fr.js'
22
+ import { he } from './languages/he.js'
23
+ import { hr } from './languages/hr.js'
24
+ import { hu } from './languages/hu.js'
25
+ import { hy } from './languages/hy.js'
26
+ import { id } from './languages/id.js'
27
+ import { is } from './languages/is.js'
28
+ import { it } from './languages/it.js'
29
+ import { ja } from './languages/ja.js'
30
+ import { ko } from './languages/ko.js'
31
+ import { lt } from './languages/lt.js'
32
+ import { lv } from './languages/lv.js'
33
+ import { my } from './languages/my.js'
34
+ import { nb } from './languages/nb.js'
35
+ import { nl } from './languages/nl.js'
36
+ import { pl } from './languages/pl.js'
37
+ import { pt } from './languages/pt.js'
38
+ import { ro } from './languages/ro.js'
39
+ import { rs } from './languages/rs.js'
40
+ import { rsLatin } from './languages/rsLatin.js'
41
+ import { ru } from './languages/ru.js'
42
+ import { sk } from './languages/sk.js'
43
+ import { sl } from './languages/sl.js'
44
+ import { sv } from './languages/sv.js'
45
+ import { ta } from './languages/ta.js'
46
+ import { th } from './languages/th.js'
47
+ import { tr } from './languages/tr.js'
48
+ import { uk } from './languages/uk.js'
49
+ import { vi } from './languages/vi.js'
50
+ import { zh } from './languages/zh.js'
51
+ import { zhTw } from './languages/zhTw.js'
52
+
53
+ export const translations = {
54
+ id,
55
+ ar,
56
+ az,
57
+ bg,
58
+ 'bn-BD': bnBd,
59
+ 'bn-IN': bnIn,
60
+ ca,
61
+ cs,
62
+ da,
63
+ de,
64
+ en,
65
+ es,
66
+ et,
67
+ fa,
68
+ fr,
69
+ he,
70
+ hr,
71
+ hu,
72
+ hy,
73
+ is,
74
+ it,
75
+ ja,
76
+ ko,
77
+ lt,
78
+ lv,
79
+ my,
80
+ nb,
81
+ nl,
82
+ pl,
83
+ pt,
84
+ ro,
85
+ rs,
86
+ 'rs-latin': rsLatin,
87
+ ru,
88
+ sk,
89
+ sl,
90
+ sv,
91
+ ta,
92
+ th,
93
+ tr,
94
+ uk,
95
+ vi,
96
+ zh,
97
+ 'zh-TW': zhTw,
98
+ } as SupportedLanguages<PluginDefaultTranslationsObject>
99
+
100
+ export type PluginMCPTranslations = PluginDefaultTranslationsObject
101
+
102
+ export type PluginMCPTranslationKeys = NestedKeysStripped<PluginMCPTranslations>
103
+
104
+ declare module '@payloadcms/translations' {
105
+ interface CustomTranslationKeys {
106
+ 'plugin-mcp': PluginMCPTranslationKeys
107
+ }
108
+ }
@@ -0,0 +1,35 @@
1
+ import type { PluginLanguage } from '../types.js'
2
+
3
+ export const arTranslations = {
4
+ 'plugin-mcp': {
5
+ apiKeyDescription: 'تتحكم مفاتيح API في المجموعات والموارد والأدوات والمطالبات التي يمكن لعملاء MCP الوصول إليها.',
6
+ apiKeys: 'مفاتيح API',
7
+ authentication: 'المصادقة',
8
+ description: 'الوصف',
9
+ descriptionDescription: 'صف الغرض من مفتاح API.',
10
+ dismiss: 'إغلاق',
11
+ keepKeyPrivate: 'حافظ على سرية مفتاحك.',
12
+ keyPrivateDescription: 'هذا المفتاح يمنح MCP إمكانية الوصول إلى محتواك. لا تشاركه مع الآخرين!',
13
+ lastUsed: 'آخر استخدام',
14
+ manageAPIKeys: 'إدارة مفاتيح API',
15
+ mcp: 'MCP',
16
+ noAPIKeys: 'لا توجد مفاتيح API',
17
+ operations: 'العمليات',
18
+ overrideAccess: 'تجاوز التحكم في الوصول',
19
+ overrideAccessDescription: 'عند تفعيله، يتجاوز هذا المفتاح تحكم Payload في الوصول لكل عملية ينفذها. اتركه غير مفعل ما لم يكن لديك سبب محدد.',
20
+ permissions: 'الأذونات',
21
+ permissionsDescription: 'اسمح لعملاء MCP بالوصول إلى المجموعات والأدوات والموارد والمطالبات التالية.',
22
+ prompts: 'المطالبات',
23
+ resources: 'الموارد',
24
+ server: 'الخادم',
25
+ title: 'العنوان',
26
+ titleDescription: 'اسم مستعار مفيد لمفتاح API.',
27
+ tools: 'الأدوات',
28
+ userDescription: 'المستخدم الذي سيعمل MCP بصفته.',
29
+ },
30
+ }
31
+
32
+ export const ar: PluginLanguage = {
33
+ dateFNSKey: 'ar',
34
+ translations: arTranslations,
35
+ }