@payloadcms/plugin-mcp 4.0.0-internal.5b1e7cd → 4.0.0-internal.688c4d0

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 (617) hide show
  1. package/bin.js +39 -0
  2. package/dist/@types/assets.d.js +2 -0
  3. package/dist/@types/assets.d.js.map +1 -0
  4. package/dist/collection/getAccessField.d.ts +12 -0
  5. package/dist/collection/getAccessField.d.ts.map +1 -0
  6. package/dist/collection/getAccessField.js +72 -0
  7. package/dist/collection/getAccessField.js.map +1 -0
  8. package/dist/collection/index.d.ts +6 -0
  9. package/dist/collection/index.d.ts.map +1 -0
  10. package/dist/collection/index.js +105 -0
  11. package/dist/collection/index.js.map +1 -0
  12. package/dist/components/APIKeyField/index.client.d.ts +9 -0
  13. package/dist/components/APIKeyField/index.client.d.ts.map +1 -0
  14. package/dist/components/APIKeyField/index.client.js +85 -0
  15. package/dist/components/APIKeyField/index.client.js.map +1 -0
  16. package/dist/components/APIKeyField/index.css +105 -0
  17. package/dist/components/APIKeysEmptyState/index.client.d.ts +4 -0
  18. package/dist/components/APIKeysEmptyState/index.client.d.ts.map +1 -0
  19. package/dist/components/APIKeysEmptyState/index.client.js +21 -0
  20. package/dist/components/APIKeysEmptyState/index.client.js.map +1 -0
  21. package/dist/components/AccessField/index.client.d.ts +10 -0
  22. package/dist/components/AccessField/index.client.d.ts.map +1 -0
  23. package/dist/components/AccessField/index.client.js +247 -0
  24. package/dist/components/AccessField/index.client.js.map +1 -0
  25. package/dist/components/AccessField/index.css +99 -0
  26. package/dist/components/SettingsMenu/index.client.d.ts +8 -0
  27. package/dist/components/SettingsMenu/index.client.d.ts.map +1 -0
  28. package/dist/components/SettingsMenu/index.client.js +29 -0
  29. package/dist/components/SettingsMenu/index.client.js.map +1 -0
  30. package/dist/defineTool.d.ts +26 -0
  31. package/dist/defineTool.d.ts.map +1 -0
  32. package/dist/defineTool.js +37 -0
  33. package/dist/defineTool.js.map +1 -0
  34. package/dist/endpoint/access.d.ts +10 -0
  35. package/dist/endpoint/access.d.ts.map +1 -0
  36. package/dist/endpoint/access.js +122 -0
  37. package/dist/endpoint/access.js.map +1 -0
  38. package/dist/endpoint/index.d.ts +3 -0
  39. package/dist/endpoint/index.d.ts.map +1 -0
  40. package/dist/endpoint/index.js +36 -0
  41. package/dist/endpoint/index.js.map +1 -0
  42. package/dist/exports/client.d.ts +5 -0
  43. package/dist/exports/client.d.ts.map +1 -0
  44. package/dist/exports/client.js +7 -0
  45. package/dist/exports/client.js.map +1 -0
  46. package/dist/index.d.ts +4 -7
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +87 -67
  49. package/dist/index.js.map +1 -1
  50. package/dist/mcp/buildMcpServer.d.ts +19 -0
  51. package/dist/mcp/buildMcpServer.d.ts.map +1 -0
  52. package/dist/mcp/buildMcpServer.js +199 -0
  53. package/dist/mcp/buildMcpServer.js.map +1 -0
  54. package/dist/mcp/builtin/collections/authTools.d.ts +7 -0
  55. package/dist/mcp/builtin/collections/authTools.d.ts.map +1 -0
  56. package/dist/mcp/builtin/collections/authTools.js +250 -0
  57. package/dist/mcp/builtin/collections/authTools.js.map +1 -0
  58. package/dist/mcp/builtin/collections/createTool.d.ts +2 -0
  59. package/dist/mcp/builtin/collections/createTool.d.ts.map +1 -0
  60. package/dist/mcp/builtin/collections/createTool.js +94 -0
  61. package/dist/mcp/builtin/collections/createTool.js.map +1 -0
  62. package/dist/mcp/builtin/collections/deleteTool.d.ts +2 -0
  63. package/dist/mcp/builtin/collections/deleteTool.d.ts.map +1 -0
  64. package/dist/mcp/builtin/collections/deleteTool.js +102 -0
  65. package/dist/mcp/builtin/collections/deleteTool.js.map +1 -0
  66. package/dist/mcp/builtin/collections/findTool.d.ts +2 -0
  67. package/dist/mcp/builtin/collections/findTool.d.ts.map +1 -0
  68. package/dist/mcp/builtin/collections/findTool.js +144 -0
  69. package/dist/mcp/builtin/collections/findTool.js.map +1 -0
  70. package/dist/mcp/builtin/collections/formatCollectionError.d.ts +9 -0
  71. package/dist/mcp/builtin/collections/formatCollectionError.d.ts.map +1 -0
  72. package/dist/mcp/builtin/collections/formatCollectionError.js +60 -0
  73. package/dist/mcp/builtin/collections/formatCollectionError.js.map +1 -0
  74. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts +2 -0
  75. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts.map +1 -0
  76. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js +35 -0
  77. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js.map +1 -0
  78. package/dist/mcp/builtin/collections/updateTool.d.ts +2 -0
  79. package/dist/mcp/builtin/collections/updateTool.d.ts.map +1 -0
  80. package/dist/mcp/builtin/collections/updateTool.js +199 -0
  81. package/dist/mcp/builtin/collections/updateTool.js.map +1 -0
  82. package/dist/mcp/builtin/getConfigInfoTool.d.ts +2 -0
  83. package/dist/mcp/builtin/getConfigInfoTool.d.ts.map +1 -0
  84. package/dist/mcp/builtin/getConfigInfoTool.js +49 -0
  85. package/dist/mcp/builtin/getConfigInfoTool.js.map +1 -0
  86. package/dist/mcp/builtin/globals/findTool.d.ts +2 -0
  87. package/dist/mcp/builtin/globals/findTool.d.ts.map +1 -0
  88. package/dist/mcp/builtin/globals/findTool.js +76 -0
  89. package/dist/mcp/builtin/globals/findTool.js.map +1 -0
  90. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts +2 -0
  91. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts.map +1 -0
  92. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js +35 -0
  93. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js.map +1 -0
  94. package/dist/mcp/builtin/globals/updateTool.d.ts +2 -0
  95. package/dist/mcp/builtin/globals/updateTool.d.ts.map +1 -0
  96. package/dist/mcp/builtin/globals/updateTool.js +94 -0
  97. package/dist/mcp/builtin/globals/updateTool.js.map +1 -0
  98. package/dist/mcp/builtin/validateEntityData.d.ts +14 -0
  99. package/dist/mcp/builtin/validateEntityData.d.ts.map +1 -0
  100. package/dist/mcp/builtin/validateEntityData.js +82 -0
  101. package/dist/mcp/builtin/validateEntityData.js.map +1 -0
  102. package/dist/mcp/builtinTools.d.ts +105 -0
  103. package/dist/mcp/builtinTools.d.ts.map +1 -0
  104. package/dist/mcp/builtinTools.js +107 -0
  105. package/dist/mcp/builtinTools.js.map +1 -0
  106. package/dist/mcp/sanitizeMCPConfig.d.ts +17 -0
  107. package/dist/mcp/sanitizeMCPConfig.d.ts.map +1 -0
  108. package/dist/mcp/sanitizeMCPConfig.js +188 -0
  109. package/dist/mcp/sanitizeMCPConfig.js.map +1 -0
  110. package/dist/stdio.d.ts +8 -0
  111. package/dist/stdio.d.ts.map +1 -0
  112. package/dist/stdio.js +89 -0
  113. package/dist/stdio.js.map +1 -0
  114. package/dist/translations/index.d.ts +11 -0
  115. package/dist/translations/index.d.ts.map +1 -0
  116. package/dist/translations/index.js +92 -0
  117. package/dist/translations/index.js.map +1 -0
  118. package/dist/translations/languages/ar.d.ts +31 -0
  119. package/dist/translations/languages/ar.d.ts.map +1 -0
  120. package/dist/translations/languages/ar.js +34 -0
  121. package/dist/translations/languages/ar.js.map +1 -0
  122. package/dist/translations/languages/az.d.ts +31 -0
  123. package/dist/translations/languages/az.d.ts.map +1 -0
  124. package/dist/translations/languages/az.js +34 -0
  125. package/dist/translations/languages/az.js.map +1 -0
  126. package/dist/translations/languages/bg.d.ts +31 -0
  127. package/dist/translations/languages/bg.d.ts.map +1 -0
  128. package/dist/translations/languages/bg.js +34 -0
  129. package/dist/translations/languages/bg.js.map +1 -0
  130. package/dist/translations/languages/bnBd.d.ts +31 -0
  131. package/dist/translations/languages/bnBd.d.ts.map +1 -0
  132. package/dist/translations/languages/bnBd.js +34 -0
  133. package/dist/translations/languages/bnBd.js.map +1 -0
  134. package/dist/translations/languages/bnIn.d.ts +31 -0
  135. package/dist/translations/languages/bnIn.d.ts.map +1 -0
  136. package/dist/translations/languages/bnIn.js +34 -0
  137. package/dist/translations/languages/bnIn.js.map +1 -0
  138. package/dist/translations/languages/ca.d.ts +31 -0
  139. package/dist/translations/languages/ca.d.ts.map +1 -0
  140. package/dist/translations/languages/ca.js +34 -0
  141. package/dist/translations/languages/ca.js.map +1 -0
  142. package/dist/translations/languages/cs.d.ts +31 -0
  143. package/dist/translations/languages/cs.d.ts.map +1 -0
  144. package/dist/translations/languages/cs.js +34 -0
  145. package/dist/translations/languages/cs.js.map +1 -0
  146. package/dist/translations/languages/da.d.ts +31 -0
  147. package/dist/translations/languages/da.d.ts.map +1 -0
  148. package/dist/translations/languages/da.js +34 -0
  149. package/dist/translations/languages/da.js.map +1 -0
  150. package/dist/translations/languages/de.d.ts +31 -0
  151. package/dist/translations/languages/de.d.ts.map +1 -0
  152. package/dist/translations/languages/de.js +34 -0
  153. package/dist/translations/languages/de.js.map +1 -0
  154. package/dist/translations/languages/en.d.ts +31 -0
  155. package/dist/translations/languages/en.d.ts.map +1 -0
  156. package/dist/translations/languages/en.js +34 -0
  157. package/dist/translations/languages/en.js.map +1 -0
  158. package/dist/translations/languages/es.d.ts +31 -0
  159. package/dist/translations/languages/es.d.ts.map +1 -0
  160. package/dist/translations/languages/es.js +34 -0
  161. package/dist/translations/languages/es.js.map +1 -0
  162. package/dist/translations/languages/et.d.ts +31 -0
  163. package/dist/translations/languages/et.d.ts.map +1 -0
  164. package/dist/translations/languages/et.js +34 -0
  165. package/dist/translations/languages/et.js.map +1 -0
  166. package/dist/translations/languages/fa.d.ts +31 -0
  167. package/dist/translations/languages/fa.d.ts.map +1 -0
  168. package/dist/translations/languages/fa.js +34 -0
  169. package/dist/translations/languages/fa.js.map +1 -0
  170. package/dist/translations/languages/fr.d.ts +31 -0
  171. package/dist/translations/languages/fr.d.ts.map +1 -0
  172. package/dist/translations/languages/fr.js +34 -0
  173. package/dist/translations/languages/fr.js.map +1 -0
  174. package/dist/translations/languages/he.d.ts +31 -0
  175. package/dist/translations/languages/he.d.ts.map +1 -0
  176. package/dist/translations/languages/he.js +34 -0
  177. package/dist/translations/languages/he.js.map +1 -0
  178. package/dist/translations/languages/hr.d.ts +31 -0
  179. package/dist/translations/languages/hr.d.ts.map +1 -0
  180. package/dist/translations/languages/hr.js +34 -0
  181. package/dist/translations/languages/hr.js.map +1 -0
  182. package/dist/translations/languages/hu.d.ts +31 -0
  183. package/dist/translations/languages/hu.d.ts.map +1 -0
  184. package/dist/translations/languages/hu.js +34 -0
  185. package/dist/translations/languages/hu.js.map +1 -0
  186. package/dist/translations/languages/hy.d.ts +31 -0
  187. package/dist/translations/languages/hy.d.ts.map +1 -0
  188. package/dist/translations/languages/hy.js +34 -0
  189. package/dist/translations/languages/hy.js.map +1 -0
  190. package/dist/translations/languages/id.d.ts +31 -0
  191. package/dist/translations/languages/id.d.ts.map +1 -0
  192. package/dist/translations/languages/id.js +34 -0
  193. package/dist/translations/languages/id.js.map +1 -0
  194. package/dist/translations/languages/is.d.ts +31 -0
  195. package/dist/translations/languages/is.d.ts.map +1 -0
  196. package/dist/translations/languages/is.js +34 -0
  197. package/dist/translations/languages/is.js.map +1 -0
  198. package/dist/translations/languages/it.d.ts +31 -0
  199. package/dist/translations/languages/it.d.ts.map +1 -0
  200. package/dist/translations/languages/it.js +34 -0
  201. package/dist/translations/languages/it.js.map +1 -0
  202. package/dist/translations/languages/ja.d.ts +31 -0
  203. package/dist/translations/languages/ja.d.ts.map +1 -0
  204. package/dist/translations/languages/ja.js +34 -0
  205. package/dist/translations/languages/ja.js.map +1 -0
  206. package/dist/translations/languages/ko.d.ts +31 -0
  207. package/dist/translations/languages/ko.d.ts.map +1 -0
  208. package/dist/translations/languages/ko.js +34 -0
  209. package/dist/translations/languages/ko.js.map +1 -0
  210. package/dist/translations/languages/lt.d.ts +31 -0
  211. package/dist/translations/languages/lt.d.ts.map +1 -0
  212. package/dist/translations/languages/lt.js +34 -0
  213. package/dist/translations/languages/lt.js.map +1 -0
  214. package/dist/translations/languages/lv.d.ts +31 -0
  215. package/dist/translations/languages/lv.d.ts.map +1 -0
  216. package/dist/translations/languages/lv.js +34 -0
  217. package/dist/translations/languages/lv.js.map +1 -0
  218. package/dist/translations/languages/my.d.ts +31 -0
  219. package/dist/translations/languages/my.d.ts.map +1 -0
  220. package/dist/translations/languages/my.js +34 -0
  221. package/dist/translations/languages/my.js.map +1 -0
  222. package/dist/translations/languages/nb.d.ts +31 -0
  223. package/dist/translations/languages/nb.d.ts.map +1 -0
  224. package/dist/translations/languages/nb.js +34 -0
  225. package/dist/translations/languages/nb.js.map +1 -0
  226. package/dist/translations/languages/nl.d.ts +31 -0
  227. package/dist/translations/languages/nl.d.ts.map +1 -0
  228. package/dist/translations/languages/nl.js +34 -0
  229. package/dist/translations/languages/nl.js.map +1 -0
  230. package/dist/translations/languages/pl.d.ts +31 -0
  231. package/dist/translations/languages/pl.d.ts.map +1 -0
  232. package/dist/translations/languages/pl.js +34 -0
  233. package/dist/translations/languages/pl.js.map +1 -0
  234. package/dist/translations/languages/pt.d.ts +31 -0
  235. package/dist/translations/languages/pt.d.ts.map +1 -0
  236. package/dist/translations/languages/pt.js +34 -0
  237. package/dist/translations/languages/pt.js.map +1 -0
  238. package/dist/translations/languages/ro.d.ts +31 -0
  239. package/dist/translations/languages/ro.d.ts.map +1 -0
  240. package/dist/translations/languages/ro.js +34 -0
  241. package/dist/translations/languages/ro.js.map +1 -0
  242. package/dist/translations/languages/rs.d.ts +31 -0
  243. package/dist/translations/languages/rs.d.ts.map +1 -0
  244. package/dist/translations/languages/rs.js +34 -0
  245. package/dist/translations/languages/rs.js.map +1 -0
  246. package/dist/translations/languages/rsLatin.d.ts +31 -0
  247. package/dist/translations/languages/rsLatin.d.ts.map +1 -0
  248. package/dist/translations/languages/rsLatin.js +34 -0
  249. package/dist/translations/languages/rsLatin.js.map +1 -0
  250. package/dist/translations/languages/ru.d.ts +31 -0
  251. package/dist/translations/languages/ru.d.ts.map +1 -0
  252. package/dist/translations/languages/ru.js +34 -0
  253. package/dist/translations/languages/ru.js.map +1 -0
  254. package/dist/translations/languages/sk.d.ts +31 -0
  255. package/dist/translations/languages/sk.d.ts.map +1 -0
  256. package/dist/translations/languages/sk.js +34 -0
  257. package/dist/translations/languages/sk.js.map +1 -0
  258. package/dist/translations/languages/sl.d.ts +31 -0
  259. package/dist/translations/languages/sl.d.ts.map +1 -0
  260. package/dist/translations/languages/sl.js +34 -0
  261. package/dist/translations/languages/sl.js.map +1 -0
  262. package/dist/translations/languages/sv.d.ts +31 -0
  263. package/dist/translations/languages/sv.d.ts.map +1 -0
  264. package/dist/translations/languages/sv.js +34 -0
  265. package/dist/translations/languages/sv.js.map +1 -0
  266. package/dist/translations/languages/ta.d.ts +31 -0
  267. package/dist/translations/languages/ta.d.ts.map +1 -0
  268. package/dist/translations/languages/ta.js +34 -0
  269. package/dist/translations/languages/ta.js.map +1 -0
  270. package/dist/translations/languages/th.d.ts +31 -0
  271. package/dist/translations/languages/th.d.ts.map +1 -0
  272. package/dist/translations/languages/th.js +34 -0
  273. package/dist/translations/languages/th.js.map +1 -0
  274. package/dist/translations/languages/tr.d.ts +31 -0
  275. package/dist/translations/languages/tr.d.ts.map +1 -0
  276. package/dist/translations/languages/tr.js +34 -0
  277. package/dist/translations/languages/tr.js.map +1 -0
  278. package/dist/translations/languages/uk.d.ts +31 -0
  279. package/dist/translations/languages/uk.d.ts.map +1 -0
  280. package/dist/translations/languages/uk.js +34 -0
  281. package/dist/translations/languages/uk.js.map +1 -0
  282. package/dist/translations/languages/vi.d.ts +31 -0
  283. package/dist/translations/languages/vi.d.ts.map +1 -0
  284. package/dist/translations/languages/vi.js +34 -0
  285. package/dist/translations/languages/vi.js.map +1 -0
  286. package/dist/translations/languages/zh.d.ts +31 -0
  287. package/dist/translations/languages/zh.d.ts.map +1 -0
  288. package/dist/translations/languages/zh.js +34 -0
  289. package/dist/translations/languages/zh.js.map +1 -0
  290. package/dist/translations/languages/zhTw.d.ts +31 -0
  291. package/dist/translations/languages/zhTw.d.ts.map +1 -0
  292. package/dist/translations/languages/zhTw.js +34 -0
  293. package/dist/translations/languages/zhTw.js.map +1 -0
  294. package/dist/translations/types.d.ts +32 -0
  295. package/dist/translations/types.d.ts.map +1 -0
  296. package/dist/translations/types.js +3 -0
  297. package/dist/translations/types.js.map +1 -0
  298. package/dist/types.d.ts +255 -454
  299. package/dist/types.d.ts.map +1 -1
  300. package/dist/types.js +6 -1
  301. package/dist/types.js.map +1 -1
  302. package/dist/utils/camelCase.d.ts.map +1 -1
  303. package/dist/utils/getLogger.d.ts +10 -0
  304. package/dist/utils/getLogger.d.ts.map +1 -0
  305. package/dist/utils/getLogger.js +22 -0
  306. package/dist/utils/getLogger.js.map +1 -0
  307. package/dist/utils/getPluginConfig.d.ts +12 -0
  308. package/dist/utils/getPluginConfig.d.ts.map +1 -0
  309. package/dist/utils/getPluginConfig.js +15 -0
  310. package/dist/utils/getPluginConfig.js.map +1 -0
  311. package/dist/utils/localAPIDefaults.d.ts +20 -0
  312. package/dist/utils/localAPIDefaults.d.ts.map +1 -0
  313. package/dist/utils/localAPIDefaults.js +19 -0
  314. package/dist/utils/localAPIDefaults.js.map +1 -0
  315. package/dist/utils/resolveProjectRoot.d.ts +7 -0
  316. package/dist/utils/resolveProjectRoot.d.ts.map +1 -0
  317. package/dist/utils/resolveProjectRoot.js +15 -0
  318. package/dist/utils/resolveProjectRoot.js.map +1 -0
  319. package/dist/utils/schemaConversion/getEntityInputSchema.d.ts +11 -0
  320. package/dist/utils/schemaConversion/getEntityInputSchema.d.ts.map +1 -0
  321. package/dist/utils/schemaConversion/getEntityInputSchema.js +34 -0
  322. package/dist/utils/schemaConversion/getEntityInputSchema.js.map +1 -0
  323. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts +2 -2
  324. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts.map +1 -1
  325. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.js.map +1 -1
  326. package/dist/utils/schemaConversion/sanitizeEntitySchema.d.ts +15 -0
  327. package/dist/utils/schemaConversion/sanitizeEntitySchema.d.ts.map +1 -0
  328. package/dist/utils/schemaConversion/sanitizeEntitySchema.js +464 -0
  329. package/dist/utils/schemaConversion/sanitizeEntitySchema.js.map +1 -0
  330. package/dist/utils/schemaConversion/sanitizeEntitySchema.spec.js +158 -0
  331. package/dist/utils/schemaConversion/sanitizeEntitySchema.spec.js.map +1 -0
  332. package/dist/utils/toStandardSchema.d.ts +5 -0
  333. package/dist/utils/toStandardSchema.d.ts.map +1 -0
  334. package/dist/utils/toStandardSchema.js +4 -0
  335. package/dist/utils/toStandardSchema.js.map +1 -0
  336. package/dist/utils/whereSchema.d.ts +9 -0
  337. package/dist/utils/whereSchema.d.ts.map +1 -0
  338. package/dist/utils/whereSchema.js +13 -0
  339. package/dist/utils/whereSchema.js.map +1 -0
  340. package/package.json +36 -10
  341. package/src/@types/assets.d.ts +3 -0
  342. package/src/collection/getAccessField.ts +84 -0
  343. package/src/collection/index.ts +105 -0
  344. package/src/components/APIKeyField/index.client.tsx +73 -0
  345. package/src/components/APIKeyField/index.css +105 -0
  346. package/src/components/APIKeysEmptyState/index.client.tsx +36 -0
  347. package/src/components/AccessField/index.client.tsx +299 -0
  348. package/src/components/AccessField/index.css +99 -0
  349. package/src/components/SettingsMenu/index.client.tsx +34 -0
  350. package/src/defineTool.ts +44 -0
  351. package/src/endpoint/access.ts +144 -0
  352. package/src/endpoint/index.ts +35 -0
  353. package/src/exports/client.ts +5 -0
  354. package/src/index.ts +82 -86
  355. package/src/mcp/buildMcpServer.ts +257 -0
  356. package/src/mcp/builtin/collections/authTools.ts +233 -0
  357. package/src/mcp/builtin/collections/createTool.ts +112 -0
  358. package/src/mcp/builtin/collections/deleteTool.ts +116 -0
  359. package/src/mcp/builtin/collections/findTool.ts +177 -0
  360. package/src/mcp/builtin/collections/formatCollectionError.ts +84 -0
  361. package/src/mcp/builtin/collections/getCollectionSchemaTool.ts +28 -0
  362. package/src/mcp/builtin/collections/updateTool.ts +211 -0
  363. package/src/mcp/builtin/getConfigInfoTool.ts +44 -0
  364. package/src/mcp/builtin/globals/findTool.ts +96 -0
  365. package/src/mcp/builtin/globals/getGlobalSchemaTool.ts +28 -0
  366. package/src/mcp/builtin/globals/updateTool.ts +115 -0
  367. package/src/mcp/builtin/validateEntityData.ts +132 -0
  368. package/src/mcp/builtinTools.ts +98 -0
  369. package/src/mcp/sanitizeMCPConfig.ts +260 -0
  370. package/src/stdio.ts +98 -0
  371. package/src/translations/index.ts +108 -0
  372. package/src/translations/languages/ar.ts +35 -0
  373. package/src/translations/languages/az.ts +35 -0
  374. package/src/translations/languages/bg.ts +35 -0
  375. package/src/translations/languages/bnBd.ts +35 -0
  376. package/src/translations/languages/bnIn.ts +35 -0
  377. package/src/translations/languages/ca.ts +35 -0
  378. package/src/translations/languages/cs.ts +35 -0
  379. package/src/translations/languages/da.ts +35 -0
  380. package/src/translations/languages/de.ts +35 -0
  381. package/src/translations/languages/en.ts +35 -0
  382. package/src/translations/languages/es.ts +35 -0
  383. package/src/translations/languages/et.ts +35 -0
  384. package/src/translations/languages/fa.ts +35 -0
  385. package/src/translations/languages/fr.ts +35 -0
  386. package/src/translations/languages/he.ts +35 -0
  387. package/src/translations/languages/hr.ts +35 -0
  388. package/src/translations/languages/hu.ts +35 -0
  389. package/src/translations/languages/hy.ts +35 -0
  390. package/src/translations/languages/id.ts +35 -0
  391. package/src/translations/languages/is.ts +35 -0
  392. package/src/translations/languages/it.ts +35 -0
  393. package/src/translations/languages/ja.ts +35 -0
  394. package/src/translations/languages/ko.ts +35 -0
  395. package/src/translations/languages/lt.ts +35 -0
  396. package/src/translations/languages/lv.ts +35 -0
  397. package/src/translations/languages/my.ts +35 -0
  398. package/src/translations/languages/nb.ts +35 -0
  399. package/src/translations/languages/nl.ts +35 -0
  400. package/src/translations/languages/pl.ts +35 -0
  401. package/src/translations/languages/pt.ts +35 -0
  402. package/src/translations/languages/ro.ts +35 -0
  403. package/src/translations/languages/rs.ts +35 -0
  404. package/src/translations/languages/rsLatin.ts +35 -0
  405. package/src/translations/languages/ru.ts +35 -0
  406. package/src/translations/languages/sk.ts +35 -0
  407. package/src/translations/languages/sl.ts +35 -0
  408. package/src/translations/languages/sv.ts +35 -0
  409. package/src/translations/languages/ta.ts +35 -0
  410. package/src/translations/languages/th.ts +35 -0
  411. package/src/translations/languages/tr.ts +35 -0
  412. package/src/translations/languages/uk.ts +35 -0
  413. package/src/translations/languages/vi.ts +35 -0
  414. package/src/translations/languages/zh.ts +35 -0
  415. package/src/translations/languages/zhTw.ts +35 -0
  416. package/src/translations/types.ts +34 -0
  417. package/src/types.ts +295 -490
  418. package/src/utils/getLogger.ts +22 -0
  419. package/src/utils/getPluginConfig.ts +24 -0
  420. package/src/utils/localAPIDefaults.ts +22 -0
  421. package/src/utils/resolveProjectRoot.ts +17 -0
  422. package/src/utils/schemaConversion/getEntityInputSchema.ts +78 -0
  423. package/src/utils/schemaConversion/removeVirtualFieldsFromSchema.ts +3 -3
  424. package/src/utils/schemaConversion/sanitizeEntitySchema.spec.ts +103 -0
  425. package/src/utils/schemaConversion/sanitizeEntitySchema.ts +529 -0
  426. package/src/utils/toStandardSchema.ts +9 -0
  427. package/src/utils/whereSchema.ts +24 -0
  428. package/dist/collections/createApiKeysCollection.d.ts +0 -7
  429. package/dist/collections/createApiKeysCollection.d.ts.map +0 -1
  430. package/dist/collections/createApiKeysCollection.js +0 -317
  431. package/dist/collections/createApiKeysCollection.js.map +0 -1
  432. package/dist/defaults.d.ts +0 -4
  433. package/dist/defaults.d.ts.map +0 -1
  434. package/dist/defaults.js +0 -5
  435. package/dist/defaults.js.map +0 -1
  436. package/dist/endpoints/mcp.d.ts +0 -4
  437. package/dist/endpoints/mcp.d.ts.map +0 -1
  438. package/dist/endpoints/mcp.js +0 -71
  439. package/dist/endpoints/mcp.js.map +0 -1
  440. package/dist/mcp/createRequest.d.ts +0 -3
  441. package/dist/mcp/createRequest.d.ts.map +0 -1
  442. package/dist/mcp/createRequest.js +0 -14
  443. package/dist/mcp/createRequest.js.map +0 -1
  444. package/dist/mcp/getMcpHandler.d.ts +0 -4
  445. package/dist/mcp/getMcpHandler.d.ts.map +0 -1
  446. package/dist/mcp/getMcpHandler.js +0 -231
  447. package/dist/mcp/getMcpHandler.js.map +0 -1
  448. package/dist/mcp/helpers/config.d.ts +0 -22
  449. package/dist/mcp/helpers/config.d.ts.map +0 -1
  450. package/dist/mcp/helpers/config.js +0 -153
  451. package/dist/mcp/helpers/config.js.map +0 -1
  452. package/dist/mcp/helpers/fields.d.ts +0 -19
  453. package/dist/mcp/helpers/fields.d.ts.map +0 -1
  454. package/dist/mcp/helpers/fields.js +0 -102
  455. package/dist/mcp/helpers/fields.js.map +0 -1
  456. package/dist/mcp/helpers/fileValidation.d.ts +0 -67
  457. package/dist/mcp/helpers/fileValidation.d.ts.map +0 -1
  458. package/dist/mcp/helpers/fileValidation.js +0 -267
  459. package/dist/mcp/helpers/fileValidation.js.map +0 -1
  460. package/dist/mcp/registerTool.d.ts +0 -6
  461. package/dist/mcp/registerTool.d.ts.map +0 -1
  462. package/dist/mcp/registerTool.js +0 -18
  463. package/dist/mcp/registerTool.js.map +0 -1
  464. package/dist/mcp/tools/auth/auth.d.ts +0 -4
  465. package/dist/mcp/tools/auth/auth.d.ts.map +0 -1
  466. package/dist/mcp/tools/auth/auth.js +0 -57
  467. package/dist/mcp/tools/auth/auth.js.map +0 -1
  468. package/dist/mcp/tools/auth/forgotPassword.d.ts +0 -4
  469. package/dist/mcp/tools/auth/forgotPassword.d.ts.map +0 -1
  470. package/dist/mcp/tools/auth/forgotPassword.js +0 -48
  471. package/dist/mcp/tools/auth/forgotPassword.js.map +0 -1
  472. package/dist/mcp/tools/auth/login.d.ts +0 -4
  473. package/dist/mcp/tools/auth/login.d.ts.map +0 -1
  474. package/dist/mcp/tools/auth/login.js +0 -51
  475. package/dist/mcp/tools/auth/login.js.map +0 -1
  476. package/dist/mcp/tools/auth/resetPassword.d.ts +0 -4
  477. package/dist/mcp/tools/auth/resetPassword.d.ts.map +0 -1
  478. package/dist/mcp/tools/auth/resetPassword.js +0 -49
  479. package/dist/mcp/tools/auth/resetPassword.js.map +0 -1
  480. package/dist/mcp/tools/auth/unlock.d.ts +0 -4
  481. package/dist/mcp/tools/auth/unlock.d.ts.map +0 -1
  482. package/dist/mcp/tools/auth/unlock.js +0 -48
  483. package/dist/mcp/tools/auth/unlock.js.map +0 -1
  484. package/dist/mcp/tools/auth/verify.d.ts +0 -4
  485. package/dist/mcp/tools/auth/verify.d.ts.map +0 -1
  486. package/dist/mcp/tools/auth/verify.js +0 -45
  487. package/dist/mcp/tools/auth/verify.js.map +0 -1
  488. package/dist/mcp/tools/collection/create.d.ts +0 -10
  489. package/dist/mcp/tools/collection/create.d.ts.map +0 -1
  490. package/dist/mcp/tools/collection/create.js +0 -139
  491. package/dist/mcp/tools/collection/create.js.map +0 -1
  492. package/dist/mcp/tools/collection/delete.d.ts +0 -10
  493. package/dist/mcp/tools/collection/delete.d.ts.map +0 -1
  494. package/dist/mcp/tools/collection/delete.js +0 -154
  495. package/dist/mcp/tools/collection/delete.js.map +0 -1
  496. package/dist/mcp/tools/collection/find.d.ts +0 -10
  497. package/dist/mcp/tools/collection/find.d.ts.map +0 -1
  498. package/dist/mcp/tools/collection/find.js +0 -165
  499. package/dist/mcp/tools/collection/find.js.map +0 -1
  500. package/dist/mcp/tools/collection/update.d.ts +0 -10
  501. package/dist/mcp/tools/collection/update.d.ts.map +0 -1
  502. package/dist/mcp/tools/collection/update.js +0 -209
  503. package/dist/mcp/tools/collection/update.js.map +0 -1
  504. package/dist/mcp/tools/config/find.d.ts +0 -10
  505. package/dist/mcp/tools/config/find.d.ts.map +0 -1
  506. package/dist/mcp/tools/config/find.js +0 -97
  507. package/dist/mcp/tools/config/find.js.map +0 -1
  508. package/dist/mcp/tools/config/update.d.ts +0 -10
  509. package/dist/mcp/tools/config/update.d.ts.map +0 -1
  510. package/dist/mcp/tools/config/update.js +0 -215
  511. package/dist/mcp/tools/config/update.js.map +0 -1
  512. package/dist/mcp/tools/global/find.d.ts +0 -5
  513. package/dist/mcp/tools/global/find.d.ts.map +0 -1
  514. package/dist/mcp/tools/global/find.js +0 -82
  515. package/dist/mcp/tools/global/find.js.map +0 -1
  516. package/dist/mcp/tools/global/update.d.ts +0 -6
  517. package/dist/mcp/tools/global/update.d.ts.map +0 -1
  518. package/dist/mcp/tools/global/update.js +0 -124
  519. package/dist/mcp/tools/global/update.js.map +0 -1
  520. package/dist/mcp/tools/job/create.d.ts +0 -10
  521. package/dist/mcp/tools/job/create.d.ts.map +0 -1
  522. package/dist/mcp/tools/job/create.js +0 -293
  523. package/dist/mcp/tools/job/create.js.map +0 -1
  524. package/dist/mcp/tools/job/run.d.ts +0 -10
  525. package/dist/mcp/tools/job/run.d.ts.map +0 -1
  526. package/dist/mcp/tools/job/run.js +0 -129
  527. package/dist/mcp/tools/job/run.js.map +0 -1
  528. package/dist/mcp/tools/job/update.d.ts +0 -11
  529. package/dist/mcp/tools/job/update.d.ts.map +0 -1
  530. package/dist/mcp/tools/job/update.js +0 -186
  531. package/dist/mcp/tools/job/update.js.map +0 -1
  532. package/dist/mcp/tools/resource/create.d.ts +0 -6
  533. package/dist/mcp/tools/resource/create.d.ts.map +0 -1
  534. package/dist/mcp/tools/resource/create.js +0 -124
  535. package/dist/mcp/tools/resource/create.js.map +0 -1
  536. package/dist/mcp/tools/resource/delete.d.ts +0 -5
  537. package/dist/mcp/tools/resource/delete.d.ts.map +0 -1
  538. package/dist/mcp/tools/resource/delete.js +0 -151
  539. package/dist/mcp/tools/resource/delete.js.map +0 -1
  540. package/dist/mcp/tools/resource/find.d.ts +0 -5
  541. package/dist/mcp/tools/resource/find.d.ts.map +0 -1
  542. package/dist/mcp/tools/resource/find.js +0 -170
  543. package/dist/mcp/tools/resource/find.js.map +0 -1
  544. package/dist/mcp/tools/resource/update.d.ts +0 -6
  545. package/dist/mcp/tools/resource/update.d.ts.map +0 -1
  546. package/dist/mcp/tools/resource/update.js +0 -256
  547. package/dist/mcp/tools/resource/update.js.map +0 -1
  548. package/dist/mcp/tools/schemas.d.ts +0 -457
  549. package/dist/mcp/tools/schemas.d.ts.map +0 -1
  550. package/dist/mcp/tools/schemas.js +0 -243
  551. package/dist/mcp/tools/schemas.js.map +0 -1
  552. package/dist/utils/adminEntitySettings.d.ts +0 -17
  553. package/dist/utils/adminEntitySettings.d.ts.map +0 -1
  554. package/dist/utils/adminEntitySettings.js +0 -41
  555. package/dist/utils/adminEntitySettings.js.map +0 -1
  556. package/dist/utils/createApiKeyFields.d.ts +0 -15
  557. package/dist/utils/createApiKeyFields.d.ts.map +0 -1
  558. package/dist/utils/createApiKeyFields.js +0 -57
  559. package/dist/utils/createApiKeyFields.js.map +0 -1
  560. package/dist/utils/getEnabledSlugs.d.ts +0 -13
  561. package/dist/utils/getEnabledSlugs.d.ts.map +0 -1
  562. package/dist/utils/getEnabledSlugs.js +0 -32
  563. package/dist/utils/getEnabledSlugs.js.map +0 -1
  564. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.d.ts +0 -3
  565. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.d.ts.map +0 -1
  566. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.js +0 -43
  567. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.js.map +0 -1
  568. package/dist/utils/schemaConversion/sanitizeJsonSchema.d.ts +0 -13
  569. package/dist/utils/schemaConversion/sanitizeJsonSchema.d.ts.map +0 -1
  570. package/dist/utils/schemaConversion/sanitizeJsonSchema.js +0 -56
  571. package/dist/utils/schemaConversion/sanitizeJsonSchema.js.map +0 -1
  572. package/dist/utils/schemaConversion/simplifyRelationshipFields.d.ts +0 -20
  573. package/dist/utils/schemaConversion/simplifyRelationshipFields.d.ts.map +0 -1
  574. package/dist/utils/schemaConversion/simplifyRelationshipFields.js +0 -53
  575. package/dist/utils/schemaConversion/simplifyRelationshipFields.js.map +0 -1
  576. package/dist/utils/schemaConversion/transformPointFields.d.ts +0 -3
  577. package/dist/utils/schemaConversion/transformPointFields.d.ts.map +0 -1
  578. package/dist/utils/schemaConversion/transformPointFields.js +0 -51
  579. package/dist/utils/schemaConversion/transformPointFields.js.map +0 -1
  580. package/src/collections/createApiKeysCollection.ts +0 -373
  581. package/src/defaults.ts +0 -3
  582. package/src/endpoints/mcp.ts +0 -91
  583. package/src/mcp/createRequest.ts +0 -13
  584. package/src/mcp/getMcpHandler.ts +0 -545
  585. package/src/mcp/helpers/config.ts +0 -213
  586. package/src/mcp/helpers/fields.ts +0 -154
  587. package/src/mcp/helpers/fileValidation.ts +0 -362
  588. package/src/mcp/registerTool.ts +0 -22
  589. package/src/mcp/tools/auth/auth.ts +0 -71
  590. package/src/mcp/tools/auth/forgotPassword.ts +0 -70
  591. package/src/mcp/tools/auth/login.ts +0 -72
  592. package/src/mcp/tools/auth/resetPassword.ts +0 -61
  593. package/src/mcp/tools/auth/unlock.ts +0 -64
  594. package/src/mcp/tools/auth/verify.ts +0 -57
  595. package/src/mcp/tools/collection/create.ts +0 -210
  596. package/src/mcp/tools/collection/delete.ts +0 -211
  597. package/src/mcp/tools/collection/find.ts +0 -224
  598. package/src/mcp/tools/collection/update.ts +0 -290
  599. package/src/mcp/tools/config/find.ts +0 -128
  600. package/src/mcp/tools/config/update.ts +0 -280
  601. package/src/mcp/tools/global/find.ts +0 -128
  602. package/src/mcp/tools/global/update.ts +0 -207
  603. package/src/mcp/tools/job/create.ts +0 -416
  604. package/src/mcp/tools/job/run.ts +0 -167
  605. package/src/mcp/tools/job/update.ts +0 -274
  606. package/src/mcp/tools/resource/create.ts +0 -211
  607. package/src/mcp/tools/resource/delete.ts +0 -218
  608. package/src/mcp/tools/resource/find.ts +0 -246
  609. package/src/mcp/tools/resource/update.ts +0 -383
  610. package/src/mcp/tools/schemas.ts +0 -520
  611. package/src/utils/adminEntitySettings.ts +0 -40
  612. package/src/utils/createApiKeyFields.ts +0 -72
  613. package/src/utils/getEnabledSlugs.ts +0 -42
  614. package/src/utils/schemaConversion/convertCollectionSchemaToZod.ts +0 -52
  615. package/src/utils/schemaConversion/sanitizeJsonSchema.ts +0 -62
  616. package/src/utils/schemaConversion/simplifyRelationshipFields.ts +0 -65
  617. package/src/utils/schemaConversion/transformPointFields.ts +0 -55
@@ -1,48 +0,0 @@
1
- import { toolSchemas } from '../schemas.js';
2
- export const forgotPasswordTool = (server, req, verboseLogs)=>{
3
- const tool = async (collection, email, disableEmail = false)=>{
4
- const payload = req.payload;
5
- if (verboseLogs) {
6
- payload.logger.info(`[payload-mcp] Sending password reset email for user: ${email} in collection: ${collection}`);
7
- }
8
- try {
9
- const result = await payload.forgotPassword({
10
- collection,
11
- data: {
12
- email
13
- },
14
- disableEmail
15
- });
16
- if (verboseLogs) {
17
- payload.logger.info(`[payload-mcp] Password reset email sent successfully for user: ${email}`);
18
- }
19
- return {
20
- content: [
21
- {
22
- type: 'text',
23
- text: `# Password Reset Email Sent\n\n**User:** ${email}\n**Collection:** ${collection}\n**Email Disabled:** ${disableEmail}\n\n\`\`\`json\n${JSON.stringify(result)}\n\`\`\``
24
- }
25
- ]
26
- };
27
- } catch (error) {
28
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
29
- payload.logger.error(`[payload-mcp] Error sending password reset email for user ${email}: ${errorMessage}`);
30
- return {
31
- content: [
32
- {
33
- type: 'text',
34
- text: `❌ **Error sending password reset email for user "${email}"**: ${errorMessage}`
35
- }
36
- ]
37
- };
38
- }
39
- };
40
- server.registerTool('forgotPassword', {
41
- description: toolSchemas.forgotPassword.description,
42
- inputSchema: toolSchemas.forgotPassword.parameters.shape
43
- }, async ({ collection, disableEmail, email })=>{
44
- return await tool(collection, email, disableEmail);
45
- });
46
- };
47
-
48
- //# sourceMappingURL=forgotPassword.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/mcp/tools/auth/forgotPassword.ts"],"sourcesContent":["import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'\nimport type { PayloadRequest } from 'payload'\n\nimport { toolSchemas } from '../schemas.js'\n\nexport const forgotPasswordTool = (\n server: McpServer,\n req: PayloadRequest,\n verboseLogs: boolean,\n) => {\n const tool = async (collection: string, email: string, disableEmail: boolean = false) => {\n const payload = req.payload\n\n if (verboseLogs) {\n payload.logger.info(\n `[payload-mcp] Sending password reset email for user: ${email} in collection: ${collection}`,\n )\n }\n\n try {\n const result = await payload.forgotPassword({\n collection,\n data: {\n email,\n },\n disableEmail,\n })\n\n if (verboseLogs) {\n payload.logger.info(\n `[payload-mcp] Password reset email sent successfully for user: ${email}`,\n )\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `# Password Reset Email Sent\\n\\n**User:** ${email}\\n**Collection:** ${collection}\\n**Email Disabled:** ${disableEmail}\\n\\n\\`\\`\\`json\\n${JSON.stringify(result)}\\n\\`\\`\\``,\n },\n ],\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n payload.logger.error(\n `[payload-mcp] Error sending password reset email for user ${email}: ${errorMessage}`,\n )\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `❌ **Error sending password reset email for user \"${email}\"**: ${errorMessage}`,\n },\n ],\n }\n }\n }\n\n server.registerTool(\n 'forgotPassword',\n {\n description: toolSchemas.forgotPassword.description,\n inputSchema: toolSchemas.forgotPassword.parameters.shape,\n },\n async ({ collection, disableEmail, email }) => {\n return await tool(collection, email, disableEmail)\n },\n )\n}\n"],"names":["toolSchemas","forgotPasswordTool","server","req","verboseLogs","tool","collection","email","disableEmail","payload","logger","info","result","forgotPassword","data","content","type","text","JSON","stringify","error","errorMessage","Error","message","registerTool","description","inputSchema","parameters","shape"],"mappings":"AAGA,SAASA,WAAW,QAAQ,gBAAe;AAE3C,OAAO,MAAMC,qBAAqB,CAChCC,QACAC,KACAC;IAEA,MAAMC,OAAO,OAAOC,YAAoBC,OAAeC,eAAwB,KAAK;QAClF,MAAMC,UAAUN,IAAIM,OAAO;QAE3B,IAAIL,aAAa;YACfK,QAAQC,MAAM,CAACC,IAAI,CACjB,CAAC,qDAAqD,EAAEJ,MAAM,gBAAgB,EAAED,YAAY;QAEhG;QAEA,IAAI;YACF,MAAMM,SAAS,MAAMH,QAAQI,cAAc,CAAC;gBAC1CP;gBACAQ,MAAM;oBACJP;gBACF;gBACAC;YACF;YAEA,IAAIJ,aAAa;gBACfK,QAAQC,MAAM,CAACC,IAAI,CACjB,CAAC,+DAA+D,EAAEJ,OAAO;YAE7E;YAEA,OAAO;gBACLQ,SAAS;oBACP;wBACEC,MAAM;wBACNC,MAAM,CAAC,yCAAyC,EAAEV,MAAM,kBAAkB,EAAED,WAAW,sBAAsB,EAAEE,aAAa,gBAAgB,EAAEU,KAAKC,SAAS,CAACP,QAAQ,QAAQ,CAAC;oBAChL;iBACD;YACH;QACF,EAAE,OAAOQ,OAAO;YACd,MAAMC,eAAeD,iBAAiBE,QAAQF,MAAMG,OAAO,GAAG;YAC9Dd,QAAQC,MAAM,CAACU,KAAK,CAClB,CAAC,0DAA0D,EAAEb,MAAM,EAAE,EAAEc,cAAc;YAGvF,OAAO;gBACLN,SAAS;oBACP;wBACEC,MAAM;wBACNC,MAAM,CAAC,iDAAiD,EAAEV,MAAM,KAAK,EAAEc,cAAc;oBACvF;iBACD;YACH;QACF;IACF;IAEAnB,OAAOsB,YAAY,CACjB,kBACA;QACEC,aAAazB,YAAYa,cAAc,CAACY,WAAW;QACnDC,aAAa1B,YAAYa,cAAc,CAACc,UAAU,CAACC,KAAK;IAC1D,GACA,OAAO,EAAEtB,UAAU,EAAEE,YAAY,EAAED,KAAK,EAAE;QACxC,OAAO,MAAMF,KAAKC,YAAYC,OAAOC;IACvC;AAEJ,EAAC"}
@@ -1,4 +0,0 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import type { PayloadRequest } from 'payload';
3
- export declare const loginTool: (server: McpServer, req: PayloadRequest, verboseLogs: boolean) => void;
4
- //# sourceMappingURL=login.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/auth/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,eAAO,MAAM,SAAS,WAAY,SAAS,OAAO,cAAc,eAAe,OAAO,SAkErF,CAAA"}
@@ -1,51 +0,0 @@
1
- import { toolSchemas } from '../schemas.js';
2
- export const loginTool = (server, req, verboseLogs)=>{
3
- const tool = async (collection, email, password, depth = 0, overrideAccess = false, showHiddenFields = false)=>{
4
- const payload = req.payload;
5
- if (verboseLogs) {
6
- payload.logger.info(`[payload-mcp] Attempting login for user: ${email} in collection: ${collection}`);
7
- }
8
- try {
9
- const result = await payload.login({
10
- collection,
11
- data: {
12
- email,
13
- password
14
- },
15
- depth,
16
- overrideAccess,
17
- showHiddenFields
18
- });
19
- if (verboseLogs) {
20
- payload.logger.info(`[payload-mcp] Login successful for user: ${email}`);
21
- }
22
- return {
23
- content: [
24
- {
25
- type: 'text',
26
- text: `# Login Successful\n\n**User:** ${email}\n**Collection:** ${collection}\n\n\`\`\`json\n${JSON.stringify(result)}\n\`\`\``
27
- }
28
- ]
29
- };
30
- } catch (error) {
31
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
32
- payload.logger.error(`[payload-mcp] Login failed for user ${email}: ${errorMessage}`);
33
- return {
34
- content: [
35
- {
36
- type: 'text',
37
- text: `❌ **Login failed for user "${email}"**: ${errorMessage}`
38
- }
39
- ]
40
- };
41
- }
42
- };
43
- server.registerTool('login', {
44
- description: toolSchemas.login.description,
45
- inputSchema: toolSchemas.login.parameters.shape
46
- }, async ({ collection, depth, email, overrideAccess, password, showHiddenFields })=>{
47
- return await tool(collection, email, password, depth, overrideAccess, showHiddenFields);
48
- });
49
- };
50
-
51
- //# sourceMappingURL=login.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/mcp/tools/auth/login.ts"],"sourcesContent":["import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'\nimport type { PayloadRequest } from 'payload'\n\nimport { toolSchemas } from '../schemas.js'\n\nexport const loginTool = (server: McpServer, req: PayloadRequest, verboseLogs: boolean) => {\n const tool = async (\n collection: string,\n email: string,\n password: string,\n depth: number = 0,\n overrideAccess: boolean = false,\n showHiddenFields: boolean = false,\n ) => {\n const payload = req.payload\n\n if (verboseLogs) {\n payload.logger.info(\n `[payload-mcp] Attempting login for user: ${email} in collection: ${collection}`,\n )\n }\n\n try {\n const result = await payload.login({\n collection,\n data: {\n email,\n password,\n },\n depth,\n overrideAccess,\n showHiddenFields,\n })\n\n if (verboseLogs) {\n payload.logger.info(`[payload-mcp] Login successful for user: ${email}`)\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `# Login Successful\\n\\n**User:** ${email}\\n**Collection:** ${collection}\\n\\n\\`\\`\\`json\\n${JSON.stringify(result)}\\n\\`\\`\\``,\n },\n ],\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n payload.logger.error(`[payload-mcp] Login failed for user ${email}: ${errorMessage}`)\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `❌ **Login failed for user \"${email}\"**: ${errorMessage}`,\n },\n ],\n }\n }\n }\n\n server.registerTool(\n 'login',\n {\n description: toolSchemas.login.description,\n inputSchema: toolSchemas.login.parameters.shape,\n },\n async ({ collection, depth, email, overrideAccess, password, showHiddenFields }) => {\n return await tool(collection, email, password, depth, overrideAccess, showHiddenFields)\n },\n )\n}\n"],"names":["toolSchemas","loginTool","server","req","verboseLogs","tool","collection","email","password","depth","overrideAccess","showHiddenFields","payload","logger","info","result","login","data","content","type","text","JSON","stringify","error","errorMessage","Error","message","registerTool","description","inputSchema","parameters","shape"],"mappings":"AAGA,SAASA,WAAW,QAAQ,gBAAe;AAE3C,OAAO,MAAMC,YAAY,CAACC,QAAmBC,KAAqBC;IAChE,MAAMC,OAAO,OACXC,YACAC,OACAC,UACAC,QAAgB,CAAC,EACjBC,iBAA0B,KAAK,EAC/BC,mBAA4B,KAAK;QAEjC,MAAMC,UAAUT,IAAIS,OAAO;QAE3B,IAAIR,aAAa;YACfQ,QAAQC,MAAM,CAACC,IAAI,CACjB,CAAC,yCAAyC,EAAEP,MAAM,gBAAgB,EAAED,YAAY;QAEpF;QAEA,IAAI;YACF,MAAMS,SAAS,MAAMH,QAAQI,KAAK,CAAC;gBACjCV;gBACAW,MAAM;oBACJV;oBACAC;gBACF;gBACAC;gBACAC;gBACAC;YACF;YAEA,IAAIP,aAAa;gBACfQ,QAAQC,MAAM,CAACC,IAAI,CAAC,CAAC,yCAAyC,EAAEP,OAAO;YACzE;YAEA,OAAO;gBACLW,SAAS;oBACP;wBACEC,MAAM;wBACNC,MAAM,CAAC,gCAAgC,EAAEb,MAAM,kBAAkB,EAAED,WAAW,gBAAgB,EAAEe,KAAKC,SAAS,CAACP,QAAQ,QAAQ,CAAC;oBAClI;iBACD;YACH;QACF,EAAE,OAAOQ,OAAO;YACd,MAAMC,eAAeD,iBAAiBE,QAAQF,MAAMG,OAAO,GAAG;YAC9Dd,QAAQC,MAAM,CAACU,KAAK,CAAC,CAAC,oCAAoC,EAAEhB,MAAM,EAAE,EAAEiB,cAAc;YAEpF,OAAO;gBACLN,SAAS;oBACP;wBACEC,MAAM;wBACNC,MAAM,CAAC,2BAA2B,EAAEb,MAAM,KAAK,EAAEiB,cAAc;oBACjE;iBACD;YACH;QACF;IACF;IAEAtB,OAAOyB,YAAY,CACjB,SACA;QACEC,aAAa5B,YAAYgB,KAAK,CAACY,WAAW;QAC1CC,aAAa7B,YAAYgB,KAAK,CAACc,UAAU,CAACC,KAAK;IACjD,GACA,OAAO,EAAEzB,UAAU,EAAEG,KAAK,EAAEF,KAAK,EAAEG,cAAc,EAAEF,QAAQ,EAAEG,gBAAgB,EAAE;QAC7E,OAAO,MAAMN,KAAKC,YAAYC,OAAOC,UAAUC,OAAOC,gBAAgBC;IACxE;AAEJ,EAAC"}
@@ -1,4 +0,0 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import type { PayloadRequest } from 'payload';
3
- export declare const resetPasswordTool: (server: McpServer, req: PayloadRequest, verboseLogs: boolean) => void;
4
- //# sourceMappingURL=resetPassword.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resetPassword.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/auth/resetPassword.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,eAAO,MAAM,iBAAiB,WAAY,SAAS,OAAO,cAAc,eAAe,OAAO,SAuD7F,CAAA"}
@@ -1,49 +0,0 @@
1
- import { toolSchemas } from '../schemas.js';
2
- export const resetPasswordTool = (server, req, verboseLogs)=>{
3
- const tool = async (collection, token, password)=>{
4
- const payload = req.payload;
5
- if (verboseLogs) {
6
- payload.logger.info(`[payload-mcp] Resetting password for user in collection: ${collection}`);
7
- }
8
- try {
9
- const result = await payload.resetPassword({
10
- collection,
11
- data: {
12
- password,
13
- token
14
- },
15
- overrideAccess: true
16
- });
17
- if (verboseLogs) {
18
- payload.logger.info('[payload-mcp] Password reset completed successfully');
19
- }
20
- return {
21
- content: [
22
- {
23
- type: 'text',
24
- text: `# Password Reset Successful\n\n**Collection:** ${collection}\n**Token:** ${token}\n\n\`\`\`json\n${JSON.stringify(result)}\n\`\`\``
25
- }
26
- ]
27
- };
28
- } catch (error) {
29
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
30
- payload.logger.error(`[payload-mcp] Error resetting password: ${errorMessage}`);
31
- return {
32
- content: [
33
- {
34
- type: 'text',
35
- text: `❌ **Error resetting password**: ${errorMessage}`
36
- }
37
- ]
38
- };
39
- }
40
- };
41
- server.registerTool('resetPassword', {
42
- description: toolSchemas.resetPassword.description,
43
- inputSchema: toolSchemas.resetPassword.parameters.shape
44
- }, async ({ collection, password, token })=>{
45
- return await tool(collection, token, password);
46
- });
47
- };
48
-
49
- //# sourceMappingURL=resetPassword.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/mcp/tools/auth/resetPassword.ts"],"sourcesContent":["import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'\nimport type { PayloadRequest } from 'payload'\n\nimport { toolSchemas } from '../schemas.js'\n\nexport const resetPasswordTool = (server: McpServer, req: PayloadRequest, verboseLogs: boolean) => {\n const tool = async (collection: string, token: string, password: string) => {\n const payload = req.payload\n\n if (verboseLogs) {\n payload.logger.info(`[payload-mcp] Resetting password for user in collection: ${collection}`)\n }\n\n try {\n const result = await payload.resetPassword({\n collection,\n data: {\n password,\n token,\n },\n overrideAccess: true,\n })\n\n if (verboseLogs) {\n payload.logger.info('[payload-mcp] Password reset completed successfully')\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `# Password Reset Successful\\n\\n**Collection:** ${collection}\\n**Token:** ${token}\\n\\n\\`\\`\\`json\\n${JSON.stringify(result)}\\n\\`\\`\\``,\n },\n ],\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n payload.logger.error(`[payload-mcp] Error resetting password: ${errorMessage}`)\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `❌ **Error resetting password**: ${errorMessage}`,\n },\n ],\n }\n }\n }\n\n server.registerTool(\n 'resetPassword',\n {\n description: toolSchemas.resetPassword.description,\n inputSchema: toolSchemas.resetPassword.parameters.shape,\n },\n async ({ collection, password, token }) => {\n return await tool(collection, token, password)\n },\n )\n}\n"],"names":["toolSchemas","resetPasswordTool","server","req","verboseLogs","tool","collection","token","password","payload","logger","info","result","resetPassword","data","overrideAccess","content","type","text","JSON","stringify","error","errorMessage","Error","message","registerTool","description","inputSchema","parameters","shape"],"mappings":"AAGA,SAASA,WAAW,QAAQ,gBAAe;AAE3C,OAAO,MAAMC,oBAAoB,CAACC,QAAmBC,KAAqBC;IACxE,MAAMC,OAAO,OAAOC,YAAoBC,OAAeC;QACrD,MAAMC,UAAUN,IAAIM,OAAO;QAE3B,IAAIL,aAAa;YACfK,QAAQC,MAAM,CAACC,IAAI,CAAC,CAAC,yDAAyD,EAAEL,YAAY;QAC9F;QAEA,IAAI;YACF,MAAMM,SAAS,MAAMH,QAAQI,aAAa,CAAC;gBACzCP;gBACAQ,MAAM;oBACJN;oBACAD;gBACF;gBACAQ,gBAAgB;YAClB;YAEA,IAAIX,aAAa;gBACfK,QAAQC,MAAM,CAACC,IAAI,CAAC;YACtB;YAEA,OAAO;gBACLK,SAAS;oBACP;wBACEC,MAAM;wBACNC,MAAM,CAAC,+CAA+C,EAAEZ,WAAW,aAAa,EAAEC,MAAM,gBAAgB,EAAEY,KAAKC,SAAS,CAACR,QAAQ,QAAQ,CAAC;oBAC5I;iBACD;YACH;QACF,EAAE,OAAOS,OAAO;YACd,MAAMC,eAAeD,iBAAiBE,QAAQF,MAAMG,OAAO,GAAG;YAC9Df,QAAQC,MAAM,CAACW,KAAK,CAAC,CAAC,wCAAwC,EAAEC,cAAc;YAE9E,OAAO;gBACLN,SAAS;oBACP;wBACEC,MAAM;wBACNC,MAAM,CAAC,gCAAgC,EAAEI,cAAc;oBACzD;iBACD;YACH;QACF;IACF;IAEApB,OAAOuB,YAAY,CACjB,iBACA;QACEC,aAAa1B,YAAYa,aAAa,CAACa,WAAW;QAClDC,aAAa3B,YAAYa,aAAa,CAACe,UAAU,CAACC,KAAK;IACzD,GACA,OAAO,EAAEvB,UAAU,EAAEE,QAAQ,EAAED,KAAK,EAAE;QACpC,OAAO,MAAMF,KAAKC,YAAYC,OAAOC;IACvC;AAEJ,EAAC"}
@@ -1,4 +0,0 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import type { PayloadRequest } from 'payload';
3
- export declare const unlockTool: (server: McpServer, req: PayloadRequest, verboseLogs: boolean) => void;
4
- //# sourceMappingURL=unlock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unlock.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/auth/unlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,eAAO,MAAM,UAAU,WAAY,SAAS,OAAO,cAAc,eAAe,OAAO,SA0DtF,CAAA"}
@@ -1,48 +0,0 @@
1
- import { toolSchemas } from '../schemas.js';
2
- export const unlockTool = (server, req, verboseLogs)=>{
3
- const tool = async (collection, email)=>{
4
- const payload = req.payload;
5
- if (verboseLogs) {
6
- payload.logger.info(`[payload-mcp] Unlocking user account for user: ${email} in collection: ${collection}`);
7
- }
8
- try {
9
- const result = await payload.unlock({
10
- collection,
11
- data: {
12
- email
13
- },
14
- overrideAccess: true
15
- });
16
- if (verboseLogs) {
17
- payload.logger.info(`[payload-mcp] User account unlocked successfully for user: ${email}`);
18
- }
19
- return {
20
- content: [
21
- {
22
- type: 'text',
23
- text: `# User Account Unlocked\n\n**User:** ${email}\n**Collection:** ${collection}\n\n\`\`\`json\n${JSON.stringify(result)}\n\`\`\``
24
- }
25
- ]
26
- };
27
- } catch (error) {
28
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
29
- payload.logger.error(`[payload-mcp] Error unlocking user account for user ${email}: ${errorMessage}`);
30
- return {
31
- content: [
32
- {
33
- type: 'text',
34
- text: `❌ **Error unlocking user account for user "${email}"**: ${errorMessage}`
35
- }
36
- ]
37
- };
38
- }
39
- };
40
- server.registerTool('unlock', {
41
- description: toolSchemas.unlock.description,
42
- inputSchema: toolSchemas.unlock.parameters.shape
43
- }, async ({ collection, email })=>{
44
- return await tool(collection, email);
45
- });
46
- };
47
-
48
- //# sourceMappingURL=unlock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/mcp/tools/auth/unlock.ts"],"sourcesContent":["import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'\nimport type { PayloadRequest } from 'payload'\n\nimport { toolSchemas } from '../schemas.js'\n\nexport const unlockTool = (server: McpServer, req: PayloadRequest, verboseLogs: boolean) => {\n const tool = async (collection: string, email: string) => {\n const payload = req.payload\n\n if (verboseLogs) {\n payload.logger.info(\n `[payload-mcp] Unlocking user account for user: ${email} in collection: ${collection}`,\n )\n }\n\n try {\n const result = await payload.unlock({\n collection,\n data: {\n email,\n },\n overrideAccess: true,\n })\n\n if (verboseLogs) {\n payload.logger.info(`[payload-mcp] User account unlocked successfully for user: ${email}`)\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `# User Account Unlocked\\n\\n**User:** ${email}\\n**Collection:** ${collection}\\n\\n\\`\\`\\`json\\n${JSON.stringify(result)}\\n\\`\\`\\``,\n },\n ],\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n payload.logger.error(\n `[payload-mcp] Error unlocking user account for user ${email}: ${errorMessage}`,\n )\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `❌ **Error unlocking user account for user \"${email}\"**: ${errorMessage}`,\n },\n ],\n }\n }\n }\n\n server.registerTool(\n 'unlock',\n {\n description: toolSchemas.unlock.description,\n inputSchema: toolSchemas.unlock.parameters.shape,\n },\n async ({ collection, email }) => {\n return await tool(collection, email)\n },\n )\n}\n"],"names":["toolSchemas","unlockTool","server","req","verboseLogs","tool","collection","email","payload","logger","info","result","unlock","data","overrideAccess","content","type","text","JSON","stringify","error","errorMessage","Error","message","registerTool","description","inputSchema","parameters","shape"],"mappings":"AAGA,SAASA,WAAW,QAAQ,gBAAe;AAE3C,OAAO,MAAMC,aAAa,CAACC,QAAmBC,KAAqBC;IACjE,MAAMC,OAAO,OAAOC,YAAoBC;QACtC,MAAMC,UAAUL,IAAIK,OAAO;QAE3B,IAAIJ,aAAa;YACfI,QAAQC,MAAM,CAACC,IAAI,CACjB,CAAC,+CAA+C,EAAEH,MAAM,gBAAgB,EAAED,YAAY;QAE1F;QAEA,IAAI;YACF,MAAMK,SAAS,MAAMH,QAAQI,MAAM,CAAC;gBAClCN;gBACAO,MAAM;oBACJN;gBACF;gBACAO,gBAAgB;YAClB;YAEA,IAAIV,aAAa;gBACfI,QAAQC,MAAM,CAACC,IAAI,CAAC,CAAC,2DAA2D,EAAEH,OAAO;YAC3F;YAEA,OAAO;gBACLQ,SAAS;oBACP;wBACEC,MAAM;wBACNC,MAAM,CAAC,qCAAqC,EAAEV,MAAM,kBAAkB,EAAED,WAAW,gBAAgB,EAAEY,KAAKC,SAAS,CAACR,QAAQ,QAAQ,CAAC;oBACvI;iBACD;YACH;QACF,EAAE,OAAOS,OAAO;YACd,MAAMC,eAAeD,iBAAiBE,QAAQF,MAAMG,OAAO,GAAG;YAC9Df,QAAQC,MAAM,CAACW,KAAK,CAClB,CAAC,oDAAoD,EAAEb,MAAM,EAAE,EAAEc,cAAc;YAGjF,OAAO;gBACLN,SAAS;oBACP;wBACEC,MAAM;wBACNC,MAAM,CAAC,2CAA2C,EAAEV,MAAM,KAAK,EAAEc,cAAc;oBACjF;iBACD;YACH;QACF;IACF;IAEAnB,OAAOsB,YAAY,CACjB,UACA;QACEC,aAAazB,YAAYY,MAAM,CAACa,WAAW;QAC3CC,aAAa1B,YAAYY,MAAM,CAACe,UAAU,CAACC,KAAK;IAClD,GACA,OAAO,EAAEtB,UAAU,EAAEC,KAAK,EAAE;QAC1B,OAAO,MAAMF,KAAKC,YAAYC;IAChC;AAEJ,EAAC"}
@@ -1,4 +0,0 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import type { PayloadRequest } from 'payload';
3
- export declare const verifyTool: (server: McpServer, req: PayloadRequest, verboseLogs: boolean) => void;
4
- //# sourceMappingURL=verify.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/auth/verify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,eAAO,MAAM,UAAU,WAAY,SAAS,OAAO,cAAc,eAAe,OAAO,SAmDtF,CAAA"}
@@ -1,45 +0,0 @@
1
- import { toolSchemas } from '../schemas.js';
2
- export const verifyTool = (server, req, verboseLogs)=>{
3
- const tool = async (collection, token)=>{
4
- const payload = req.payload;
5
- if (verboseLogs) {
6
- payload.logger.info(`[payload-mcp] Verifying user account for collection: ${collection}`);
7
- }
8
- try {
9
- const result = await payload.verifyEmail({
10
- collection,
11
- token
12
- });
13
- if (verboseLogs) {
14
- payload.logger.info('[payload-mcp] Email verification completed successfully');
15
- }
16
- return {
17
- content: [
18
- {
19
- type: 'text',
20
- text: `# Email Verification Successful\n\n**Collection:** ${collection}\n**Token:** ${token}\n**Result:** ${result ? 'Success' : 'Failed'}`
21
- }
22
- ]
23
- };
24
- } catch (error) {
25
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
26
- payload.logger.error(`[payload-mcp] Error verifying email: ${errorMessage}`);
27
- return {
28
- content: [
29
- {
30
- type: 'text',
31
- text: `❌ **Error verifying email**: ${errorMessage}`
32
- }
33
- ]
34
- };
35
- }
36
- };
37
- server.registerTool('verify', {
38
- description: toolSchemas.verify.description,
39
- inputSchema: toolSchemas.verify.parameters.shape
40
- }, async ({ collection, token })=>{
41
- return await tool(collection, token);
42
- });
43
- };
44
-
45
- //# sourceMappingURL=verify.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/mcp/tools/auth/verify.ts"],"sourcesContent":["import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'\nimport type { PayloadRequest } from 'payload'\n\nimport { toolSchemas } from '../schemas.js'\n\nexport const verifyTool = (server: McpServer, req: PayloadRequest, verboseLogs: boolean) => {\n const tool = async (collection: string, token: string) => {\n const payload = req.payload\n\n if (verboseLogs) {\n payload.logger.info(`[payload-mcp] Verifying user account for collection: ${collection}`)\n }\n\n try {\n const result = await payload.verifyEmail({\n collection,\n token,\n })\n\n if (verboseLogs) {\n payload.logger.info('[payload-mcp] Email verification completed successfully')\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `# Email Verification Successful\\n\\n**Collection:** ${collection}\\n**Token:** ${token}\\n**Result:** ${result ? 'Success' : 'Failed'}`,\n },\n ],\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n payload.logger.error(`[payload-mcp] Error verifying email: ${errorMessage}`)\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `❌ **Error verifying email**: ${errorMessage}`,\n },\n ],\n }\n }\n }\n\n server.registerTool(\n 'verify',\n {\n description: toolSchemas.verify.description,\n inputSchema: toolSchemas.verify.parameters.shape,\n },\n async ({ collection, token }) => {\n return await tool(collection, token)\n },\n )\n}\n"],"names":["toolSchemas","verifyTool","server","req","verboseLogs","tool","collection","token","payload","logger","info","result","verifyEmail","content","type","text","error","errorMessage","Error","message","registerTool","description","verify","inputSchema","parameters","shape"],"mappings":"AAGA,SAASA,WAAW,QAAQ,gBAAe;AAE3C,OAAO,MAAMC,aAAa,CAACC,QAAmBC,KAAqBC;IACjE,MAAMC,OAAO,OAAOC,YAAoBC;QACtC,MAAMC,UAAUL,IAAIK,OAAO;QAE3B,IAAIJ,aAAa;YACfI,QAAQC,MAAM,CAACC,IAAI,CAAC,CAAC,qDAAqD,EAAEJ,YAAY;QAC1F;QAEA,IAAI;YACF,MAAMK,SAAS,MAAMH,QAAQI,WAAW,CAAC;gBACvCN;gBACAC;YACF;YAEA,IAAIH,aAAa;gBACfI,QAAQC,MAAM,CAACC,IAAI,CAAC;YACtB;YAEA,OAAO;gBACLG,SAAS;oBACP;wBACEC,MAAM;wBACNC,MAAM,CAAC,mDAAmD,EAAET,WAAW,aAAa,EAAEC,MAAM,cAAc,EAAEI,SAAS,YAAY,UAAU;oBAC7I;iBACD;YACH;QACF,EAAE,OAAOK,OAAO;YACd,MAAMC,eAAeD,iBAAiBE,QAAQF,MAAMG,OAAO,GAAG;YAC9DX,QAAQC,MAAM,CAACO,KAAK,CAAC,CAAC,qCAAqC,EAAEC,cAAc;YAE3E,OAAO;gBACLJ,SAAS;oBACP;wBACEC,MAAM;wBACNC,MAAM,CAAC,6BAA6B,EAAEE,cAAc;oBACtD;iBACD;YACH;QACF;IACF;IAEAf,OAAOkB,YAAY,CACjB,UACA;QACEC,aAAarB,YAAYsB,MAAM,CAACD,WAAW;QAC3CE,aAAavB,YAAYsB,MAAM,CAACE,UAAU,CAACC,KAAK;IAClD,GACA,OAAO,EAAEnB,UAAU,EAAEC,KAAK,EAAE;QAC1B,OAAO,MAAMF,KAAKC,YAAYC;IAChC;AAEJ,EAAC"}
@@ -1,10 +0,0 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import type { PayloadRequest } from 'payload';
3
- export declare const createCollection: (req: PayloadRequest, verboseLogs: boolean, collectionsDirPath: string, configFilePath: string, collectionName: string, collectionDescription: string | undefined, fields: any[], hasUpload: boolean | undefined) => Promise<{
4
- content: {
5
- type: "text";
6
- text: string;
7
- }[];
8
- }>;
9
- export declare const createCollectionTool: (server: McpServer, req: PayloadRequest, verboseLogs: boolean, collectionsDirPath: string, configFilePath: string) => void;
10
- //# sourceMappingURL=create.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/collection/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAS7C,eAAO,MAAM,gBAAgB,QACtB,cAAc,eACN,OAAO,sBACA,MAAM,kBACV,MAAM,kBACN,MAAM,yBACC,MAAM,GAAG,SAAS,UACjC,GAAG,EAAE,aACF,OAAO,GAAG,SAAS;;;;;EA4H/B,CAAA;AAED,eAAO,MAAM,oBAAoB,WACvB,SAAS,OACZ,cAAc,eACN,OAAO,sBACA,MAAM,kBACV,MAAM,SA4DvB,CAAA"}
@@ -1,139 +0,0 @@
1
- import { writeFileSync } from 'fs';
2
- import { join } from 'path';
3
- import { generateFieldDefinitionString } from '../../helpers/fields.js';
4
- import { validateCollectionFile } from '../../helpers/fileValidation.js';
5
- import { toolSchemas } from '../schemas.js';
6
- export const createCollection = async (req, verboseLogs, collectionsDirPath, configFilePath, collectionName, collectionDescription, fields, hasUpload)=>{
7
- const payload = req.payload;
8
- if (verboseLogs) {
9
- payload.logger.info(`[payload-mcp] Creating collection: ${collectionName} with ${fields.length} fields`);
10
- }
11
- const capitalizedName = collectionName.charAt(0).toUpperCase() + collectionName.slice(1);
12
- const slug = collectionName.replace(/([A-Z])/g, '-$1').toLowerCase().replace(/^-/, '');
13
- if (verboseLogs) {
14
- payload.logger.info(`[payload-mcp] Generated slug: ${slug} for collection: ${collectionName}`);
15
- }
16
- const fieldDefinitions = fields.map(generateFieldDefinitionString).join('\n');
17
- // Generate collection file content
18
- const collectionContent = `import type { CollectionConfig } from 'payload'
19
-
20
- export const ${capitalizedName}: CollectionConfig = {
21
- slug: '${slug}',${collectionDescription ? `
22
- admin: {
23
- description: '${collectionDescription}',
24
- },` : ''}${hasUpload ? `
25
- upload: true,` : ''}
26
- fields: [
27
- ${fieldDefinitions}
28
- ],
29
- }
30
- `;
31
- try {
32
- // Validate the collection name and path
33
- const fileName = `${capitalizedName}.ts`;
34
- const filePath = join(collectionsDirPath, fileName);
35
- // Security check: ensure we're working with the collections directory
36
- if (!filePath.startsWith(collectionsDirPath)) {
37
- payload.logger.error(`[payload-mcp] Invalid collection path attempted: ${filePath}`);
38
- return {
39
- content: [
40
- {
41
- type: 'text',
42
- text: '❌ **Error**: Invalid collection path'
43
- }
44
- ]
45
- };
46
- }
47
- // Check if file already exists
48
- try {
49
- const fs = await import('fs');
50
- if (fs.existsSync(filePath)) {
51
- return {
52
- content: [
53
- {
54
- type: 'text',
55
- text: `❌ **Error**: Collection file already exists: ${fileName}`
56
- }
57
- ]
58
- };
59
- }
60
- } catch (_ignore) {
61
- // File doesn't exist, which is what we want
62
- }
63
- // Write the collection file
64
- writeFileSync(filePath, collectionContent, 'utf8');
65
- if (verboseLogs) {
66
- payload.logger.info(`[payload-mcp] Successfully created collection file: ${filePath}`);
67
- }
68
- // Validate the generated file
69
- const validationResult = await validateCollectionFile(fileName);
70
- if (validationResult.error) {
71
- return {
72
- content: [
73
- {
74
- type: 'text',
75
- text: `❌ **Error**: Generated collection has validation issues:\n\n${validationResult.error}`
76
- }
77
- ]
78
- };
79
- }
80
- return {
81
- content: [
82
- {
83
- type: 'text',
84
- text: `✅ **Collection created successfully!**
85
- **File**: \`${fileName}\`
86
- **Collection Config:**
87
- \`\`\`typescript
88
- ${collectionContent}
89
- \`\`\``
90
- }
91
- ]
92
- };
93
- } catch (error) {
94
- const errorMessage = error.message;
95
- payload.logger.error(`[payload-mcp] Error creating collection: ${errorMessage}`);
96
- return {
97
- content: [
98
- {
99
- type: 'text',
100
- text: `❌ **Error creating collection**: ${errorMessage}`
101
- }
102
- ]
103
- };
104
- }
105
- };
106
- export const createCollectionTool = (server, req, verboseLogs, collectionsDirPath, configFilePath)=>{
107
- const tool = async (collectionName, collectionDescription, fields = [], hasUpload)=>{
108
- const payload = req.payload;
109
- if (verboseLogs) {
110
- payload.logger.info(`[payload-mcp] Creating collection: ${collectionName}, fields: ${fields.length}, upload: ${hasUpload}`);
111
- }
112
- try {
113
- const result = await createCollection(req, verboseLogs, collectionsDirPath, configFilePath, collectionName, collectionDescription, fields, hasUpload);
114
- if (verboseLogs) {
115
- payload.logger.info(`[payload-mcp] Collection creation completed for: ${collectionName}`);
116
- }
117
- return result;
118
- } catch (error) {
119
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
120
- payload.logger.error(`[payload-mcp] Error creating collection ${collectionName}: ${errorMessage}`);
121
- return {
122
- content: [
123
- {
124
- type: 'text',
125
- text: `Error creating collection "${collectionName}": ${errorMessage}`
126
- }
127
- ]
128
- };
129
- }
130
- };
131
- server.registerTool('createCollection', {
132
- description: toolSchemas.createCollection.description,
133
- inputSchema: toolSchemas.createCollection.parameters.shape
134
- }, async ({ collectionDescription, collectionName, fields, hasUpload })=>{
135
- return await tool(collectionName, collectionDescription, fields, hasUpload);
136
- });
137
- };
138
-
139
- //# sourceMappingURL=create.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/mcp/tools/collection/create.ts"],"sourcesContent":["import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'\nimport type { PayloadRequest } from 'payload'\n\nimport { writeFileSync } from 'fs'\nimport { join } from 'path'\n\nimport { generateFieldDefinitionString } from '../../helpers/fields.js'\nimport { validateCollectionFile } from '../../helpers/fileValidation.js'\nimport { toolSchemas } from '../schemas.js'\n\nexport const createCollection = async (\n req: PayloadRequest,\n verboseLogs: boolean,\n collectionsDirPath: string,\n configFilePath: string,\n collectionName: string,\n collectionDescription: string | undefined,\n fields: any[],\n hasUpload: boolean | undefined,\n) => {\n const payload = req.payload\n if (verboseLogs) {\n payload.logger.info(\n `[payload-mcp] Creating collection: ${collectionName} with ${fields.length} fields`,\n )\n }\n\n const capitalizedName = collectionName.charAt(0).toUpperCase() + collectionName.slice(1)\n const slug = collectionName\n .replace(/([A-Z])/g, '-$1')\n .toLowerCase()\n .replace(/^-/, '')\n\n if (verboseLogs) {\n payload.logger.info(`[payload-mcp] Generated slug: ${slug} for collection: ${collectionName}`)\n }\n\n const fieldDefinitions = fields.map(generateFieldDefinitionString).join('\\n')\n\n // Generate collection file content\n const collectionContent = `import type { CollectionConfig } from 'payload'\n\nexport const ${capitalizedName}: CollectionConfig = {\n slug: '${slug}',${\n collectionDescription\n ? `\n admin: {\n description: '${collectionDescription}',\n },`\n : ''\n }${\n hasUpload\n ? `\n upload: true,`\n : ''\n }\n fields: [\n${fieldDefinitions}\n ],\n}\n`\n\n try {\n // Validate the collection name and path\n const fileName = `${capitalizedName}.ts`\n const filePath = join(collectionsDirPath, fileName)\n\n // Security check: ensure we're working with the collections directory\n if (!filePath.startsWith(collectionsDirPath)) {\n payload.logger.error(`[payload-mcp] Invalid collection path attempted: ${filePath}`)\n return {\n content: [\n {\n type: 'text' as const,\n text: '❌ **Error**: Invalid collection path',\n },\n ],\n }\n }\n\n // Check if file already exists\n try {\n const fs = await import('fs')\n if (fs.existsSync(filePath)) {\n return {\n content: [\n {\n type: 'text' as const,\n text: `❌ **Error**: Collection file already exists: ${fileName}`,\n },\n ],\n }\n }\n } catch (_ignore) {\n // File doesn't exist, which is what we want\n }\n\n // Write the collection file\n writeFileSync(filePath, collectionContent, 'utf8')\n if (verboseLogs) {\n payload.logger.info(`[payload-mcp] Successfully created collection file: ${filePath}`)\n }\n\n // Validate the generated file\n const validationResult = await validateCollectionFile(fileName)\n if (validationResult.error) {\n return {\n content: [\n {\n type: 'text' as const,\n text: `❌ **Error**: Generated collection has validation issues:\\n\\n${validationResult.error}`,\n },\n ],\n }\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `✅ **Collection created successfully!**\n**File**: \\`${fileName}\\`\n**Collection Config:**\n\\`\\`\\`typescript\n${collectionContent}\n\\`\\`\\``,\n },\n ],\n }\n } catch (error) {\n const errorMessage = (error as Error).message\n payload.logger.error(`[payload-mcp] Error creating collection: ${errorMessage}`)\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `❌ **Error creating collection**: ${errorMessage}`,\n },\n ],\n }\n }\n}\n\nexport const createCollectionTool = (\n server: McpServer,\n req: PayloadRequest,\n verboseLogs: boolean,\n collectionsDirPath: string,\n configFilePath: string,\n) => {\n const tool = async (\n collectionName: string,\n collectionDescription?: string,\n fields: any[] = [],\n hasUpload?: boolean,\n ) => {\n const payload = req.payload\n\n if (verboseLogs) {\n payload.logger.info(\n `[payload-mcp] Creating collection: ${collectionName}, fields: ${fields.length}, upload: ${hasUpload}`,\n )\n }\n\n try {\n const result = await createCollection(\n req,\n verboseLogs,\n collectionsDirPath,\n configFilePath,\n collectionName,\n collectionDescription,\n fields,\n hasUpload,\n )\n\n if (verboseLogs) {\n payload.logger.info(`[payload-mcp] Collection creation completed for: ${collectionName}`)\n }\n\n return result\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n payload.logger.error(\n `[payload-mcp] Error creating collection ${collectionName}: ${errorMessage}`,\n )\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `Error creating collection \"${collectionName}\": ${errorMessage}`,\n },\n ],\n }\n }\n }\n\n server.registerTool(\n 'createCollection',\n {\n description: toolSchemas.createCollection.description,\n inputSchema: toolSchemas.createCollection.parameters.shape,\n },\n async ({ collectionDescription, collectionName, fields, hasUpload }) => {\n return await tool(collectionName, collectionDescription, fields, hasUpload)\n },\n )\n}\n"],"names":["writeFileSync","join","generateFieldDefinitionString","validateCollectionFile","toolSchemas","createCollection","req","verboseLogs","collectionsDirPath","configFilePath","collectionName","collectionDescription","fields","hasUpload","payload","logger","info","length","capitalizedName","charAt","toUpperCase","slice","slug","replace","toLowerCase","fieldDefinitions","map","collectionContent","fileName","filePath","startsWith","error","content","type","text","fs","existsSync","_ignore","validationResult","errorMessage","message","createCollectionTool","server","tool","result","Error","registerTool","description","inputSchema","parameters","shape"],"mappings":"AAGA,SAASA,aAAa,QAAQ,KAAI;AAClC,SAASC,IAAI,QAAQ,OAAM;AAE3B,SAASC,6BAA6B,QAAQ,0BAAyB;AACvE,SAASC,sBAAsB,QAAQ,kCAAiC;AACxE,SAASC,WAAW,QAAQ,gBAAe;AAE3C,OAAO,MAAMC,mBAAmB,OAC9BC,KACAC,aACAC,oBACAC,gBACAC,gBACAC,uBACAC,QACAC;IAEA,MAAMC,UAAUR,IAAIQ,OAAO;IAC3B,IAAIP,aAAa;QACfO,QAAQC,MAAM,CAACC,IAAI,CACjB,CAAC,mCAAmC,EAAEN,eAAe,MAAM,EAAEE,OAAOK,MAAM,CAAC,OAAO,CAAC;IAEvF;IAEA,MAAMC,kBAAkBR,eAAeS,MAAM,CAAC,GAAGC,WAAW,KAAKV,eAAeW,KAAK,CAAC;IACtF,MAAMC,OAAOZ,eACVa,OAAO,CAAC,YAAY,OACpBC,WAAW,GACXD,OAAO,CAAC,MAAM;IAEjB,IAAIhB,aAAa;QACfO,QAAQC,MAAM,CAACC,IAAI,CAAC,CAAC,8BAA8B,EAAEM,KAAK,iBAAiB,EAAEZ,gBAAgB;IAC/F;IAEA,MAAMe,mBAAmBb,OAAOc,GAAG,CAACxB,+BAA+BD,IAAI,CAAC;IAExE,mCAAmC;IACnC,MAAM0B,oBAAoB,CAAC;;aAEhB,EAAET,gBAAgB;SACtB,EAAEI,KAAK,EAAE,EACdX,wBACI,CAAC;;kBAES,EAAEA,sBAAsB;IACtC,CAAC,GACG,KAEJE,YACI,CAAC;eACM,CAAC,GACR,GACL;;AAEH,EAAEY,iBAAiB;;;AAGnB,CAAC;IAEC,IAAI;QACF,wCAAwC;QACxC,MAAMG,WAAW,GAAGV,gBAAgB,GAAG,CAAC;QACxC,MAAMW,WAAW5B,KAAKO,oBAAoBoB;QAE1C,sEAAsE;QACtE,IAAI,CAACC,SAASC,UAAU,CAACtB,qBAAqB;YAC5CM,QAAQC,MAAM,CAACgB,KAAK,CAAC,CAAC,iDAAiD,EAAEF,UAAU;YACnF,OAAO;gBACLG,SAAS;oBACP;wBACEC,MAAM;wBACNC,MAAM;oBACR;iBACD;YACH;QACF;QAEA,+BAA+B;QAC/B,IAAI;YACF,MAAMC,KAAK,MAAM,MAAM,CAAC;YACxB,IAAIA,GAAGC,UAAU,CAACP,WAAW;gBAC3B,OAAO;oBACLG,SAAS;wBACP;4BACEC,MAAM;4BACNC,MAAM,CAAC,6CAA6C,EAAEN,UAAU;wBAClE;qBACD;gBACH;YACF;QACF,EAAE,OAAOS,SAAS;QAChB,4CAA4C;QAC9C;QAEA,4BAA4B;QAC5BrC,cAAc6B,UAAUF,mBAAmB;QAC3C,IAAIpB,aAAa;YACfO,QAAQC,MAAM,CAACC,IAAI,CAAC,CAAC,oDAAoD,EAAEa,UAAU;QACvF;QAEA,8BAA8B;QAC9B,MAAMS,mBAAmB,MAAMnC,uBAAuByB;QACtD,IAAIU,iBAAiBP,KAAK,EAAE;YAC1B,OAAO;gBACLC,SAAS;oBACP;wBACEC,MAAM;wBACNC,MAAM,CAAC,4DAA4D,EAAEI,iBAAiBP,KAAK,EAAE;oBAC/F;iBACD;YACH;QACF;QAEA,OAAO;YACLC,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC;YACL,EAAEN,SAAS;;;AAGvB,EAAED,kBAAkB;MACd,CAAC;gBACC;aACD;QACH;IACF,EAAE,OAAOI,OAAO;QACd,MAAMQ,eAAe,AAACR,MAAgBS,OAAO;QAC7C1B,QAAQC,MAAM,CAACgB,KAAK,CAAC,CAAC,yCAAyC,EAAEQ,cAAc;QAE/E,OAAO;YACLP,SAAS;gBACP;oBACEC,MAAM;oBACNC,MAAM,CAAC,iCAAiC,EAAEK,cAAc;gBAC1D;aACD;QACH;IACF;AACF,EAAC;AAED,OAAO,MAAME,uBAAuB,CAClCC,QACApC,KACAC,aACAC,oBACAC;IAEA,MAAMkC,OAAO,OACXjC,gBACAC,uBACAC,SAAgB,EAAE,EAClBC;QAEA,MAAMC,UAAUR,IAAIQ,OAAO;QAE3B,IAAIP,aAAa;YACfO,QAAQC,MAAM,CAACC,IAAI,CACjB,CAAC,mCAAmC,EAAEN,eAAe,UAAU,EAAEE,OAAOK,MAAM,CAAC,UAAU,EAAEJ,WAAW;QAE1G;QAEA,IAAI;YACF,MAAM+B,SAAS,MAAMvC,iBACnBC,KACAC,aACAC,oBACAC,gBACAC,gBACAC,uBACAC,QACAC;YAGF,IAAIN,aAAa;gBACfO,QAAQC,MAAM,CAACC,IAAI,CAAC,CAAC,iDAAiD,EAAEN,gBAAgB;YAC1F;YAEA,OAAOkC;QACT,EAAE,OAAOb,OAAO;YACd,MAAMQ,eAAeR,iBAAiBc,QAAQd,MAAMS,OAAO,GAAG;YAC9D1B,QAAQC,MAAM,CAACgB,KAAK,CAClB,CAAC,wCAAwC,EAAErB,eAAe,EAAE,EAAE6B,cAAc;YAG9E,OAAO;gBACLP,SAAS;oBACP;wBACEC,MAAM;wBACNC,MAAM,CAAC,2BAA2B,EAAExB,eAAe,GAAG,EAAE6B,cAAc;oBACxE;iBACD;YACH;QACF;IACF;IAEAG,OAAOI,YAAY,CACjB,oBACA;QACEC,aAAa3C,YAAYC,gBAAgB,CAAC0C,WAAW;QACrDC,aAAa5C,YAAYC,gBAAgB,CAAC4C,UAAU,CAACC,KAAK;IAC5D,GACA,OAAO,EAAEvC,qBAAqB,EAAED,cAAc,EAAEE,MAAM,EAAEC,SAAS,EAAE;QACjE,OAAO,MAAM8B,KAAKjC,gBAAgBC,uBAAuBC,QAAQC;IACnE;AAEJ,EAAC"}
@@ -1,10 +0,0 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import type { PayloadRequest } from 'payload';
3
- export declare const deleteCollection: (req: PayloadRequest, verboseLogs: boolean, collectionsDirPath: string, configFilePath: string, collectionName: string, confirmDeletion: boolean, updateConfig: boolean) => {
4
- content: {
5
- type: "text";
6
- text: string;
7
- }[];
8
- };
9
- export declare const deleteCollectionTool: (server: McpServer, req: PayloadRequest, verboseLogs: boolean, collectionsDirPath: string, configFilePath: string) => void;
10
- //# sourceMappingURL=delete.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/collection/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAQ7C,eAAO,MAAM,gBAAgB,QACtB,cAAc,eACN,OAAO,sBACA,MAAM,kBACV,MAAM,kBACN,MAAM,mBACL,OAAO,gBACV,OAAO;;;;;CAiItB,CAAA;AAED,eAAO,MAAM,oBAAoB,WACvB,SAAS,OACZ,cAAc,eACN,OAAO,sBACA,MAAM,kBACV,MAAM,SA0DvB,CAAA"}