@payloadcms/plugin-mcp 4.0.0-canary.2 → 4.0.0-internal.011fd46

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 (209) hide show
  1. package/dist/components/APIKeyField/index.client.d.ts.map +1 -1
  2. package/dist/components/APIKeyField/index.client.js.map +1 -1
  3. package/dist/components/APIKeysEmptyState/index.client.d.ts.map +1 -1
  4. package/dist/components/APIKeysEmptyState/index.client.js.map +1 -1
  5. package/dist/components/AccessField/index.client.d.ts.map +1 -1
  6. package/dist/components/AccessField/index.client.js.map +1 -1
  7. package/dist/components/SettingsMenu/index.client.d.ts.map +1 -1
  8. package/dist/components/SettingsMenu/index.client.js +8 -13
  9. package/dist/components/SettingsMenu/index.client.js.map +1 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +6 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/mcp/buildMcpServer.d.ts.map +1 -1
  14. package/dist/mcp/buildMcpServer.js +2 -0
  15. package/dist/mcp/buildMcpServer.js.map +1 -1
  16. package/dist/mcp/builtin/collections/authTools.d.ts.map +1 -1
  17. package/dist/mcp/builtin/collections/authTools.js +44 -6
  18. package/dist/mcp/builtin/collections/authTools.js.map +1 -1
  19. package/dist/mcp/builtin/collections/createTool.d.ts.map +1 -1
  20. package/dist/mcp/builtin/collections/createTool.js +10 -19
  21. package/dist/mcp/builtin/collections/createTool.js.map +1 -1
  22. package/dist/mcp/builtin/collections/deleteTool.d.ts.map +1 -1
  23. package/dist/mcp/builtin/collections/deleteTool.js +7 -0
  24. package/dist/mcp/builtin/collections/deleteTool.js.map +1 -1
  25. package/dist/mcp/builtin/collections/findTool.d.ts.map +1 -1
  26. package/dist/mcp/builtin/collections/findTool.js +41 -22
  27. package/dist/mcp/builtin/collections/findTool.js.map +1 -1
  28. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts.map +1 -1
  29. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js +7 -0
  30. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js.map +1 -1
  31. package/dist/mcp/builtin/collections/updateTool.d.ts.map +1 -1
  32. package/dist/mcp/builtin/collections/updateTool.js +12 -21
  33. package/dist/mcp/builtin/collections/updateTool.js.map +1 -1
  34. package/dist/mcp/builtin/getConfigInfoTool.d.ts.map +1 -1
  35. package/dist/mcp/builtin/getConfigInfoTool.js +7 -0
  36. package/dist/mcp/builtin/getConfigInfoTool.js.map +1 -1
  37. package/dist/mcp/builtin/globals/findTool.d.ts.map +1 -1
  38. package/dist/mcp/builtin/globals/findTool.js +15 -20
  39. package/dist/mcp/builtin/globals/findTool.js.map +1 -1
  40. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts.map +1 -1
  41. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js +7 -0
  42. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js.map +1 -1
  43. package/dist/mcp/builtin/globals/updateTool.d.ts.map +1 -1
  44. package/dist/mcp/builtin/globals/updateTool.js +10 -19
  45. package/dist/mcp/builtin/globals/updateTool.js.map +1 -1
  46. package/dist/mcp/builtinTools.d.ts +2 -10
  47. package/dist/mcp/builtinTools.d.ts.map +1 -1
  48. package/dist/mcp/builtinTools.js +2 -10
  49. package/dist/mcp/builtinTools.js.map +1 -1
  50. package/dist/mcp/sanitizeMCPConfig.js +24 -10
  51. package/dist/mcp/sanitizeMCPConfig.js.map +1 -1
  52. package/dist/translations/index.d.ts.map +1 -1
  53. package/dist/translations/index.js.map +1 -1
  54. package/dist/translations/languages/ar.d.ts.map +1 -1
  55. package/dist/translations/languages/ar.js.map +1 -1
  56. package/dist/translations/languages/az.d.ts.map +1 -1
  57. package/dist/translations/languages/az.js.map +1 -1
  58. package/dist/translations/languages/bg.d.ts.map +1 -1
  59. package/dist/translations/languages/bg.js.map +1 -1
  60. package/dist/translations/languages/bnBd.d.ts.map +1 -1
  61. package/dist/translations/languages/bnBd.js.map +1 -1
  62. package/dist/translations/languages/bnIn.d.ts.map +1 -1
  63. package/dist/translations/languages/bnIn.js.map +1 -1
  64. package/dist/translations/languages/ca.d.ts.map +1 -1
  65. package/dist/translations/languages/ca.js.map +1 -1
  66. package/dist/translations/languages/cs.d.ts.map +1 -1
  67. package/dist/translations/languages/cs.js.map +1 -1
  68. package/dist/translations/languages/da.d.ts.map +1 -1
  69. package/dist/translations/languages/da.js.map +1 -1
  70. package/dist/translations/languages/de.d.ts.map +1 -1
  71. package/dist/translations/languages/de.js.map +1 -1
  72. package/dist/translations/languages/en.d.ts.map +1 -1
  73. package/dist/translations/languages/en.js.map +1 -1
  74. package/dist/translations/languages/es.d.ts.map +1 -1
  75. package/dist/translations/languages/es.js.map +1 -1
  76. package/dist/translations/languages/et.d.ts.map +1 -1
  77. package/dist/translations/languages/et.js.map +1 -1
  78. package/dist/translations/languages/fa.d.ts.map +1 -1
  79. package/dist/translations/languages/fa.js.map +1 -1
  80. package/dist/translations/languages/fr.d.ts.map +1 -1
  81. package/dist/translations/languages/fr.js.map +1 -1
  82. package/dist/translations/languages/he.d.ts.map +1 -1
  83. package/dist/translations/languages/he.js.map +1 -1
  84. package/dist/translations/languages/hr.d.ts.map +1 -1
  85. package/dist/translations/languages/hr.js.map +1 -1
  86. package/dist/translations/languages/hu.d.ts.map +1 -1
  87. package/dist/translations/languages/hu.js.map +1 -1
  88. package/dist/translations/languages/hy.d.ts.map +1 -1
  89. package/dist/translations/languages/hy.js.map +1 -1
  90. package/dist/translations/languages/id.d.ts.map +1 -1
  91. package/dist/translations/languages/id.js.map +1 -1
  92. package/dist/translations/languages/is.d.ts.map +1 -1
  93. package/dist/translations/languages/is.js.map +1 -1
  94. package/dist/translations/languages/it.d.ts.map +1 -1
  95. package/dist/translations/languages/it.js.map +1 -1
  96. package/dist/translations/languages/ja.d.ts.map +1 -1
  97. package/dist/translations/languages/ja.js.map +1 -1
  98. package/dist/translations/languages/ko.d.ts.map +1 -1
  99. package/dist/translations/languages/ko.js.map +1 -1
  100. package/dist/translations/languages/lt.d.ts.map +1 -1
  101. package/dist/translations/languages/lt.js.map +1 -1
  102. package/dist/translations/languages/lv.d.ts.map +1 -1
  103. package/dist/translations/languages/lv.js.map +1 -1
  104. package/dist/translations/languages/my.d.ts.map +1 -1
  105. package/dist/translations/languages/my.js.map +1 -1
  106. package/dist/translations/languages/nb.d.ts.map +1 -1
  107. package/dist/translations/languages/nb.js.map +1 -1
  108. package/dist/translations/languages/nl.d.ts.map +1 -1
  109. package/dist/translations/languages/nl.js.map +1 -1
  110. package/dist/translations/languages/pl.d.ts.map +1 -1
  111. package/dist/translations/languages/pl.js.map +1 -1
  112. package/dist/translations/languages/pt.d.ts.map +1 -1
  113. package/dist/translations/languages/pt.js.map +1 -1
  114. package/dist/translations/languages/ro.d.ts.map +1 -1
  115. package/dist/translations/languages/ro.js.map +1 -1
  116. package/dist/translations/languages/rs.d.ts.map +1 -1
  117. package/dist/translations/languages/rs.js.map +1 -1
  118. package/dist/translations/languages/rsLatin.d.ts.map +1 -1
  119. package/dist/translations/languages/rsLatin.js.map +1 -1
  120. package/dist/translations/languages/ru.d.ts.map +1 -1
  121. package/dist/translations/languages/ru.js.map +1 -1
  122. package/dist/translations/languages/sk.d.ts.map +1 -1
  123. package/dist/translations/languages/sk.js.map +1 -1
  124. package/dist/translations/languages/sl.d.ts.map +1 -1
  125. package/dist/translations/languages/sl.js.map +1 -1
  126. package/dist/translations/languages/sv.d.ts.map +1 -1
  127. package/dist/translations/languages/sv.js.map +1 -1
  128. package/dist/translations/languages/ta.d.ts.map +1 -1
  129. package/dist/translations/languages/ta.js.map +1 -1
  130. package/dist/translations/languages/th.d.ts.map +1 -1
  131. package/dist/translations/languages/th.js.map +1 -1
  132. package/dist/translations/languages/tr.d.ts.map +1 -1
  133. package/dist/translations/languages/tr.js.map +1 -1
  134. package/dist/translations/languages/uk.d.ts.map +1 -1
  135. package/dist/translations/languages/uk.js.map +1 -1
  136. package/dist/translations/languages/vi.d.ts.map +1 -1
  137. package/dist/translations/languages/vi.js.map +1 -1
  138. package/dist/translations/languages/zh.d.ts.map +1 -1
  139. package/dist/translations/languages/zh.js.map +1 -1
  140. package/dist/translations/languages/zhTw.d.ts.map +1 -1
  141. package/dist/translations/languages/zhTw.js.map +1 -1
  142. package/dist/types.d.ts +7 -5
  143. package/dist/types.d.ts.map +1 -1
  144. package/dist/types.js.map +1 -1
  145. package/package.json +7 -7
  146. package/src/components/APIKeyField/index.client.tsx +2 -7
  147. package/src/components/APIKeysEmptyState/index.client.tsx +1 -4
  148. package/src/components/AccessField/index.client.tsx +1 -4
  149. package/src/components/SettingsMenu/index.client.tsx +1 -5
  150. package/src/index.ts +4 -1
  151. package/src/mcp/buildMcpServer.ts +2 -0
  152. package/src/mcp/builtin/collections/authTools.ts +45 -9
  153. package/src/mcp/builtin/collections/createTool.ts +10 -13
  154. package/src/mcp/builtin/collections/deleteTool.ts +7 -0
  155. package/src/mcp/builtin/collections/findTool.ts +53 -16
  156. package/src/mcp/builtin/collections/getCollectionSchemaTool.ts +7 -0
  157. package/src/mcp/builtin/collections/updateTool.ts +11 -14
  158. package/src/mcp/builtin/getConfigInfoTool.ts +7 -0
  159. package/src/mcp/builtin/globals/findTool.ts +22 -16
  160. package/src/mcp/builtin/globals/getGlobalSchemaTool.ts +7 -0
  161. package/src/mcp/builtin/globals/updateTool.ts +11 -14
  162. package/src/mcp/builtinTools.ts +9 -12
  163. package/src/mcp/sanitizeMCPConfig.ts +15 -11
  164. package/src/translations/index.ts +1 -4
  165. package/src/translations/languages/ar.ts +6 -3
  166. package/src/translations/languages/az.ts +6 -3
  167. package/src/translations/languages/bg.ts +8 -4
  168. package/src/translations/languages/bnBd.ts +8 -4
  169. package/src/translations/languages/bnIn.ts +8 -4
  170. package/src/translations/languages/ca.ts +8 -4
  171. package/src/translations/languages/cs.ts +8 -4
  172. package/src/translations/languages/da.ts +6 -3
  173. package/src/translations/languages/de.ts +8 -4
  174. package/src/translations/languages/en.ts +8 -4
  175. package/src/translations/languages/es.ts +8 -4
  176. package/src/translations/languages/et.ts +6 -3
  177. package/src/translations/languages/fa.ts +8 -4
  178. package/src/translations/languages/fr.ts +8 -4
  179. package/src/translations/languages/he.ts +4 -2
  180. package/src/translations/languages/hr.ts +8 -4
  181. package/src/translations/languages/hu.ts +8 -4
  182. package/src/translations/languages/hy.ts +8 -4
  183. package/src/translations/languages/id.ts +8 -4
  184. package/src/translations/languages/is.ts +8 -4
  185. package/src/translations/languages/it.ts +8 -4
  186. package/src/translations/languages/ja.ts +8 -4
  187. package/src/translations/languages/ko.ts +8 -4
  188. package/src/translations/languages/lt.ts +8 -4
  189. package/src/translations/languages/lv.ts +6 -3
  190. package/src/translations/languages/my.ts +8 -4
  191. package/src/translations/languages/nb.ts +8 -4
  192. package/src/translations/languages/nl.ts +8 -4
  193. package/src/translations/languages/pl.ts +6 -3
  194. package/src/translations/languages/pt.ts +8 -4
  195. package/src/translations/languages/ro.ts +8 -4
  196. package/src/translations/languages/rs.ts +6 -3
  197. package/src/translations/languages/rsLatin.ts +6 -3
  198. package/src/translations/languages/ru.ts +8 -4
  199. package/src/translations/languages/sk.ts +8 -4
  200. package/src/translations/languages/sl.ts +6 -3
  201. package/src/translations/languages/sv.ts +8 -4
  202. package/src/translations/languages/ta.ts +8 -4
  203. package/src/translations/languages/th.ts +6 -3
  204. package/src/translations/languages/tr.ts +6 -3
  205. package/src/translations/languages/uk.ts +8 -4
  206. package/src/translations/languages/vi.ts +8 -4
  207. package/src/translations/languages/zh.ts +2 -1
  208. package/src/translations/languages/zhTw.ts +2 -1
  209. package/src/types.ts +7 -4
@@ -1,6 +1,13 @@
1
1
  import { defineGlobalTool } from '../../../defineTool.js';
2
2
  import { getGlobalInputSchema } from '../../../utils/schemaConversion/getEntityInputSchema.js';
3
3
  export const getGlobalSchemaTool = defineGlobalTool({
4
+ annotations: {
5
+ destructiveHint: false,
6
+ idempotentHint: true,
7
+ openWorldHint: false,
8
+ readOnlyHint: true,
9
+ title: 'Get Global Schema'
10
+ },
4
11
  description: 'Get the input schema for updating a global.'
5
12
  }).handler(({ globalSlug, req })=>{
6
13
  const inputSchema = getGlobalInputSchema({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/mcp/builtin/globals/getGlobalSchemaTool.ts"],"sourcesContent":["import { defineGlobalTool } from '../../../defineTool.js'\nimport { getGlobalInputSchema } from '../../../utils/schemaConversion/getEntityInputSchema.js'\n\nexport const getGlobalSchemaTool = defineGlobalTool({\n description: 'Get the input schema for updating a global.',\n}).handler(({ globalSlug, req }) => {\n const inputSchema = getGlobalInputSchema({ globalSlug, req })\n\n if (!inputSchema) {\n return {\n content: [{ type: 'text', text: `Error: Global \"${globalSlug}\" not found` }],\n isError: true,\n }\n }\n\n return {\n content: [\n {\n type: 'text',\n text: `Schema for global \"${globalSlug}\":\\n\\`\\`\\`json\\n${JSON.stringify(inputSchema)}\\n\\`\\`\\``,\n },\n ],\n structuredContent: {\n globalSlug,\n schema: inputSchema,\n },\n }\n})\n"],"names":["defineGlobalTool","getGlobalInputSchema","getGlobalSchemaTool","description","handler","globalSlug","req","inputSchema","content","type","text","isError","JSON","stringify","structuredContent","schema"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,yBAAwB;AACzD,SAASC,oBAAoB,QAAQ,0DAAyD;AAE9F,OAAO,MAAMC,sBAAsBF,iBAAiB;IAClDG,aAAa;AACf,GAAGC,OAAO,CAAC,CAAC,EAAEC,UAAU,EAAEC,GAAG,EAAE;IAC7B,MAAMC,cAAcN,qBAAqB;QAAEI;QAAYC;IAAI;IAE3D,IAAI,CAACC,aAAa;QAChB,OAAO;YACLC,SAAS;gBAAC;oBAAEC,MAAM;oBAAQC,MAAM,CAAC,eAAe,EAAEL,WAAW,WAAW,CAAC;gBAAC;aAAE;YAC5EM,SAAS;QACX;IACF;IAEA,OAAO;QACLH,SAAS;YACP;gBACEC,MAAM;gBACNC,MAAM,CAAC,mBAAmB,EAAEL,WAAW,gBAAgB,EAAEO,KAAKC,SAAS,CAACN,aAAa,QAAQ,CAAC;YAChG;SACD;QACDO,mBAAmB;YACjBT;YACAU,QAAQR;QACV;IACF;AACF,GAAE"}
1
+ {"version":3,"sources":["../../../../src/mcp/builtin/globals/getGlobalSchemaTool.ts"],"sourcesContent":["import { defineGlobalTool } from '../../../defineTool.js'\nimport { getGlobalInputSchema } from '../../../utils/schemaConversion/getEntityInputSchema.js'\n\nexport const getGlobalSchemaTool = defineGlobalTool({\n annotations: {\n destructiveHint: false,\n idempotentHint: true,\n openWorldHint: false,\n readOnlyHint: true,\n title: 'Get Global Schema',\n },\n description: 'Get the input schema for updating a global.',\n}).handler(({ globalSlug, req }) => {\n const inputSchema = getGlobalInputSchema({ globalSlug, req })\n\n if (!inputSchema) {\n return {\n content: [{ type: 'text', text: `Error: Global \"${globalSlug}\" not found` }],\n isError: true,\n }\n }\n\n return {\n content: [\n {\n type: 'text',\n text: `Schema for global \"${globalSlug}\":\\n\\`\\`\\`json\\n${JSON.stringify(inputSchema)}\\n\\`\\`\\``,\n },\n ],\n structuredContent: {\n globalSlug,\n schema: inputSchema,\n },\n }\n})\n"],"names":["defineGlobalTool","getGlobalInputSchema","getGlobalSchemaTool","annotations","destructiveHint","idempotentHint","openWorldHint","readOnlyHint","title","description","handler","globalSlug","req","inputSchema","content","type","text","isError","JSON","stringify","structuredContent","schema"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,yBAAwB;AACzD,SAASC,oBAAoB,QAAQ,0DAAyD;AAE9F,OAAO,MAAMC,sBAAsBF,iBAAiB;IAClDG,aAAa;QACXC,iBAAiB;QACjBC,gBAAgB;QAChBC,eAAe;QACfC,cAAc;QACdC,OAAO;IACT;IACAC,aAAa;AACf,GAAGC,OAAO,CAAC,CAAC,EAAEC,UAAU,EAAEC,GAAG,EAAE;IAC7B,MAAMC,cAAcZ,qBAAqB;QAAEU;QAAYC;IAAI;IAE3D,IAAI,CAACC,aAAa;QAChB,OAAO;YACLC,SAAS;gBAAC;oBAAEC,MAAM;oBAAQC,MAAM,CAAC,eAAe,EAAEL,WAAW,WAAW,CAAC;gBAAC;aAAE;YAC5EM,SAAS;QACX;IACF;IAEA,OAAO;QACLH,SAAS;YACP;gBACEC,MAAM;gBACNC,MAAM,CAAC,mBAAmB,EAAEL,WAAW,gBAAgB,EAAEO,KAAKC,SAAS,CAACN,aAAa,QAAQ,CAAC;YAChG;SACD;QACDO,mBAAmB;YACjBT;YACAU,QAAQR;QACV;IACF;AACF,GAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"updateTool.d.ts","sourceRoot":"","sources":["../../../../src/mcp/builtin/globals/updateTool.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,gBAAgB,wCAkG3B,CAAA"}
1
+ {"version":3,"file":"updateTool.d.ts","sourceRoot":"","sources":["../../../../src/mcp/builtin/globals/updateTool.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,gBAAgB,wCA+F3B,CAAA"}
@@ -7,6 +7,13 @@ import { transformPointDataToPayload } from '../../../utils/transformPointDataTo
7
7
  import { validateGlobalData } from '../validateEntityData.js';
8
8
  const DEFAULT_DESCRIPTION = 'Update any Payload global by passing the global slug and data.';
9
9
  export const updateGlobalTool = defineGlobalTool({
10
+ annotations: {
11
+ destructiveHint: true,
12
+ idempotentHint: false,
13
+ openWorldHint: false,
14
+ readOnlyHint: false,
15
+ title: 'Update Global'
16
+ },
10
17
  description: DEFAULT_DESCRIPTION,
11
18
  input: z.object({
12
19
  data: z.record(z.string(), z.unknown()).describe('The global fields to update'),
@@ -14,7 +21,7 @@ export const updateGlobalTool = defineGlobalTool({
14
21
  draft: z.boolean().describe('Optional: Whether to save as draft (default: false)').optional().default(false),
15
22
  fallbackLocale: z.string().describe('Optional: fallback locale code to use when requested locale is not available').optional(),
16
23
  locale: z.string().describe('Optional: locale code to update data in (e.g., "en", "es"). Use "all" to update all locales for localized fields').optional(),
17
- select: z.string().describe("Optional: define exactly which fields you'd like to return in the response (JSON), e.g., '{\"siteName\": true}'").optional()
24
+ select: z.record(z.string(), z.unknown()).describe('Optional: define exactly which fields you\'d like to return in the response, e.g., {"siteName": true}').optional()
18
25
  })
19
26
  }).handler(async ({ authorizedMCP, globalSlug, input, req })=>{
20
27
  const payload = req.payload;
@@ -35,22 +42,6 @@ export const updateGlobalTool = defineGlobalTool({
35
42
  return validationError;
36
43
  }
37
44
  const parsedData = transformPointDataToPayload(inputData);
38
- let selectClause;
39
- if (select) {
40
- try {
41
- selectClause = JSON.parse(select);
42
- } catch {
43
- logger.warn(`Invalid select clause JSON for global: ${select}`);
44
- return {
45
- content: [
46
- {
47
- type: 'text',
48
- text: 'Error: Invalid JSON in select clause'
49
- }
50
- ]
51
- };
52
- }
53
- }
54
45
  const updateOptions = {
55
46
  slug: globalSlug,
56
47
  data: parsedData,
@@ -64,8 +55,8 @@ export const updateGlobalTool = defineGlobalTool({
64
55
  if (fallbackLocale) {
65
56
  updateOptions.fallbackLocale = fallbackLocale;
66
57
  }
67
- if (selectClause) {
68
- updateOptions.select = selectClause;
58
+ if (select) {
59
+ updateOptions.select = select;
69
60
  }
70
61
  const result = await payload.updateGlobal(updateOptions);
71
62
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/mcp/builtin/globals/updateTool.ts"],"sourcesContent":["import type { SelectType } from 'payload'\n\nimport { z } from 'zod'\n\nimport { defineGlobalTool } from '../../../defineTool.js'\nimport { getLogger } from '../../../utils/getLogger.js'\nimport {\n getGlobalVirtualFieldNames,\n stripVirtualFields,\n} from '../../../utils/getVirtualFieldNames.js'\nimport { localAPIDefaults } from '../../../utils/localAPIDefaults.js'\nimport { transformPointDataToPayload } from '../../../utils/transformPointDataToPayload.js'\nimport { validateGlobalData } from '../validateEntityData.js'\n\nconst DEFAULT_DESCRIPTION = 'Update any Payload global by passing the global slug and data.'\n\nexport const updateGlobalTool = defineGlobalTool({\n description: DEFAULT_DESCRIPTION,\n input: z.object({\n data: z.record(z.string(), z.unknown()).describe('The global fields to update'),\n depth: z\n .number()\n .describe('Optional: Depth of relationships to populate')\n .optional()\n .default(0),\n draft: z\n .boolean()\n .describe('Optional: Whether to save as draft (default: false)')\n .optional()\n .default(false),\n fallbackLocale: z\n .string()\n .describe('Optional: fallback locale code to use when requested locale is not available')\n .optional(),\n locale: z\n .string()\n .describe(\n 'Optional: locale code to update data in (e.g., \"en\", \"es\"). Use \"all\" to update all locales for localized fields',\n )\n .optional(),\n select: z\n .string()\n .describe(\n \"Optional: define exactly which fields you'd like to return in the response (JSON), e.g., '{\\\"siteName\\\": true}'\",\n )\n .optional(),\n }),\n}).handler(async ({ authorizedMCP, globalSlug, input, req }) => {\n const payload = req.payload\n const logger = getLogger({ payload })\n\n const { data, depth, draft, fallbackLocale, locale, select } = input\n\n logger.info(\n `Updating global: ${globalSlug}, draft: ${draft}${locale ? `, locale: ${locale}` : ''}`,\n )\n\n try {\n const virtualFieldNames = getGlobalVirtualFieldNames(payload.config, globalSlug)\n const inputData = stripVirtualFields(data, virtualFieldNames)\n const validationError = validateGlobalData({ data: inputData, globalSlug, req })\n\n if (validationError) {\n return validationError\n }\n\n const parsedData = transformPointDataToPayload(inputData)\n\n let selectClause: SelectType | undefined\n if (select) {\n try {\n selectClause = JSON.parse(select) as SelectType\n } catch {\n logger.warn(`Invalid select clause JSON for global: ${select}`)\n return { content: [{ type: 'text', text: 'Error: Invalid JSON in select clause' }] }\n }\n }\n\n const updateOptions: Parameters<typeof payload.updateGlobal>[0] = {\n slug: globalSlug,\n data: parsedData,\n depth,\n draft,\n ...localAPIDefaults(authorizedMCP),\n }\n\n if (locale) {\n updateOptions.locale = locale\n }\n if (fallbackLocale) {\n updateOptions.fallbackLocale = fallbackLocale\n }\n if (selectClause) {\n updateOptions.select = selectClause\n }\n\n const result = await payload.updateGlobal(updateOptions)\n\n return {\n content: [\n {\n type: 'text',\n text: `Global \"${globalSlug}\" updated successfully!\\n\\`\\`\\`json\\n${JSON.stringify(result)}\\n\\`\\`\\``,\n },\n ],\n doc: result as Record<string, unknown>,\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n logger.error(`Error updating global ${globalSlug}: ${errorMessage}`)\n return {\n content: [{ type: 'text', text: `Error updating global \"${globalSlug}\": ${errorMessage}` }],\n }\n }\n})\n"],"names":["z","defineGlobalTool","getLogger","getGlobalVirtualFieldNames","stripVirtualFields","localAPIDefaults","transformPointDataToPayload","validateGlobalData","DEFAULT_DESCRIPTION","updateGlobalTool","description","input","object","data","record","string","unknown","describe","depth","number","optional","default","draft","boolean","fallbackLocale","locale","select","handler","authorizedMCP","globalSlug","req","payload","logger","info","virtualFieldNames","config","inputData","validationError","parsedData","selectClause","JSON","parse","warn","content","type","text","updateOptions","slug","result","updateGlobal","stringify","doc","error","errorMessage","Error","message"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/mcp/builtin/globals/updateTool.ts"],"sourcesContent":["import type { SelectType } from 'payload'\n\nimport { z } from 'zod'\n\nimport { defineGlobalTool } from '../../../defineTool.js'\nimport { getLogger } from '../../../utils/getLogger.js'\nimport {\n getGlobalVirtualFieldNames,\n stripVirtualFields,\n} from '../../../utils/getVirtualFieldNames.js'\nimport { localAPIDefaults } from '../../../utils/localAPIDefaults.js'\nimport { transformPointDataToPayload } from '../../../utils/transformPointDataToPayload.js'\nimport { validateGlobalData } from '../validateEntityData.js'\n\nconst DEFAULT_DESCRIPTION = 'Update any Payload global by passing the global slug and data.'\n\nexport const updateGlobalTool = defineGlobalTool({\n annotations: {\n destructiveHint: true,\n idempotentHint: false,\n openWorldHint: false,\n readOnlyHint: false,\n title: 'Update Global',\n },\n description: DEFAULT_DESCRIPTION,\n input: z.object({\n data: z.record(z.string(), z.unknown()).describe('The global fields to update'),\n depth: z\n .number()\n .describe('Optional: Depth of relationships to populate')\n .optional()\n .default(0),\n draft: z\n .boolean()\n .describe('Optional: Whether to save as draft (default: false)')\n .optional()\n .default(false),\n fallbackLocale: z\n .string()\n .describe('Optional: fallback locale code to use when requested locale is not available')\n .optional(),\n locale: z\n .string()\n .describe(\n 'Optional: locale code to update data in (e.g., \"en\", \"es\"). Use \"all\" to update all locales for localized fields',\n )\n .optional(),\n select: z\n .record(z.string(), z.unknown())\n .describe(\n 'Optional: define exactly which fields you\\'d like to return in the response, e.g., {\"siteName\": true}',\n )\n .optional(),\n }),\n}).handler(async ({ authorizedMCP, globalSlug, input, req }) => {\n const payload = req.payload\n const logger = getLogger({ payload })\n\n const { data, depth, draft, fallbackLocale, locale, select } = input\n\n logger.info(\n `Updating global: ${globalSlug}, draft: ${draft}${locale ? `, locale: ${locale}` : ''}`,\n )\n\n try {\n const virtualFieldNames = getGlobalVirtualFieldNames(payload.config, globalSlug)\n const inputData = stripVirtualFields(data, virtualFieldNames)\n const validationError = validateGlobalData({ data: inputData, globalSlug, req })\n\n if (validationError) {\n return validationError\n }\n\n const parsedData = transformPointDataToPayload(inputData)\n\n const updateOptions: Parameters<typeof payload.updateGlobal>[0] = {\n slug: globalSlug,\n data: parsedData,\n depth,\n draft,\n ...localAPIDefaults(authorizedMCP),\n }\n\n if (locale) {\n updateOptions.locale = locale\n }\n if (fallbackLocale) {\n updateOptions.fallbackLocale = fallbackLocale\n }\n if (select) {\n updateOptions.select = select as SelectType\n }\n\n const result = await payload.updateGlobal(updateOptions)\n\n return {\n content: [\n {\n type: 'text',\n text: `Global \"${globalSlug}\" updated successfully!\\n\\`\\`\\`json\\n${JSON.stringify(result)}\\n\\`\\`\\``,\n },\n ],\n doc: result as Record<string, unknown>,\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n logger.error(`Error updating global ${globalSlug}: ${errorMessage}`)\n return {\n content: [{ type: 'text', text: `Error updating global \"${globalSlug}\": ${errorMessage}` }],\n }\n }\n})\n"],"names":["z","defineGlobalTool","getLogger","getGlobalVirtualFieldNames","stripVirtualFields","localAPIDefaults","transformPointDataToPayload","validateGlobalData","DEFAULT_DESCRIPTION","updateGlobalTool","annotations","destructiveHint","idempotentHint","openWorldHint","readOnlyHint","title","description","input","object","data","record","string","unknown","describe","depth","number","optional","default","draft","boolean","fallbackLocale","locale","select","handler","authorizedMCP","globalSlug","req","payload","logger","info","virtualFieldNames","config","inputData","validationError","parsedData","updateOptions","slug","result","updateGlobal","content","type","text","JSON","stringify","doc","error","errorMessage","Error","message"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import type { CollectionTool, GlobalTool, Tool } from '../types.js';
2
2
  export declare const TOOL_BUILTINS: {
3
3
  getConfigInfo: {
4
- label: string;
5
4
  mcpName: string;
6
5
  tool: Tool;
7
6
  };
@@ -34,38 +33,31 @@ export declare const COLLECTION_BUILTINS: {
34
33
  };
35
34
  };
36
35
  /**
37
- * The static auth tools surfaced under auth-enabled collections. Each entry
38
- * carries the admin-UI label alongside the tool. Keys are the source of truth
39
- * for `MCPCollectionAuthToolName`.
36
+ * The static auth tools surfaced under auth-enabled collections. Keys are the
37
+ * source of truth for `MCPCollectionAuthToolName`.
40
38
  */
41
39
  export declare const COLLECTION_AUTH_BUILTINS: {
42
40
  auth: {
43
- label: string;
44
41
  mcpName: string;
45
42
  tool: CollectionTool;
46
43
  };
47
44
  forgotPassword: {
48
- label: string;
49
45
  mcpName: string;
50
46
  tool: CollectionTool;
51
47
  };
52
48
  login: {
53
- label: string;
54
49
  mcpName: string;
55
50
  tool: CollectionTool;
56
51
  };
57
52
  resetPassword: {
58
- label: string;
59
53
  mcpName: string;
60
54
  tool: CollectionTool;
61
55
  };
62
56
  unlock: {
63
- label: string;
64
57
  mcpName: string;
65
58
  tool: CollectionTool;
66
59
  };
67
60
  verify: {
68
- label: string;
69
61
  mcpName: string;
70
62
  tool: CollectionTool;
71
63
  };
@@ -1 +1 @@
1
- {"version":3,"file":"builtinTools.d.ts","sourceRoot":"","sources":["../../src/mcp/builtinTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAoBnE,eAAO,MAAM,aAAa;;;;;;CAEgD,CAAA;AAE1E;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;CAMqC,CAAA;AAErE;;;;GAIG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAe+C,CAAA;AAEpF;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;CAIqC,CAAA;AAEjE,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,mBAAmB,CAAA;AAEvE,MAAM,MAAM,yBAAyB,GAAG,MAAM,OAAO,wBAAwB,CAAA;AAE7E,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,eAAe,CAAA;AAE/D,MAAM,MAAM,sBAAsB,GAAG,MAAM,OAAO,aAAa,CAAA;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAoC,KAAK,CACxE,CAAC,sBAAsB,EAAE,CAAC,OAAO,aAAa,EAAE,sBAAsB,CAAC,CAAC,CACzE,CAAA;AAED,eAAO,MAAM,0BAA0B,EAA0C,KAAK,CACpF,CAAC,wBAAwB,EAAE,CAAC,OAAO,mBAAmB,EAAE,wBAAwB,CAAC,CAAC,CACnF,CAAA;AAED,eAAO,MAAM,+BAA+B,EAA+C,KAAK,CAC9F,CAAC,yBAAyB,EAAE,CAAC,OAAO,wBAAwB,EAAE,yBAAyB,CAAC,CAAC,CAC1F,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAsC,KAAK,CAC5E,CAAC,oBAAoB,EAAE,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,CAAC,CACvE,CAAA"}
1
+ {"version":3,"file":"builtinTools.d.ts","sourceRoot":"","sources":["../../src/mcp/builtinTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAoBnE,eAAO,MAAM,aAAa;;;;;CAEiC,CAAA;AAE3D;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;CAMqC,CAAA;AAErE;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;CAagC,CAAA;AAErE;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;CAIqC,CAAA;AAEjE,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,mBAAmB,CAAA;AAEvE,MAAM,MAAM,yBAAyB,GAAG,MAAM,OAAO,wBAAwB,CAAA;AAE7E,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,eAAe,CAAA;AAE/D,MAAM,MAAM,sBAAsB,GAAG,MAAM,OAAO,aAAa,CAAA;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAoC,KAAK,CACxE,CAAC,sBAAsB,EAAE,CAAC,OAAO,aAAa,EAAE,sBAAsB,CAAC,CAAC,CACzE,CAAA;AAED,eAAO,MAAM,0BAA0B,EAA0C,KAAK,CACpF,CAAC,wBAAwB,EAAE,CAAC,OAAO,mBAAmB,EAAE,wBAAwB,CAAC,CAAC,CACnF,CAAA;AAED,eAAO,MAAM,+BAA+B,EAA+C,KAAK,CAC9F,CAAC,yBAAyB,EAAE,CAAC,OAAO,wBAAwB,EAAE,yBAAyB,CAAC,CAAC,CAC1F,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAsC,KAAK,CAC5E,CAAC,oBAAoB,EAAE,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,CAAC,CACvE,CAAA"}
@@ -10,7 +10,6 @@ import { getGlobalSchemaTool } from './builtin/globals/getGlobalSchemaTool.js';
10
10
  import { updateGlobalTool } from './builtin/globals/updateTool.js';
11
11
  export const TOOL_BUILTINS = {
12
12
  getConfigInfo: {
13
- label: 'Config Info',
14
13
  mcpName: 'getConfigInfo',
15
14
  tool: getConfigInfoTool
16
15
  }
@@ -42,37 +41,30 @@ export const TOOL_BUILTINS = {
42
41
  }
43
42
  };
44
43
  /**
45
- * The static auth tools surfaced under auth-enabled collections. Each entry
46
- * carries the admin-UI label alongside the tool. Keys are the source of truth
47
- * for `MCPCollectionAuthToolName`.
44
+ * The static auth tools surfaced under auth-enabled collections. Keys are the
45
+ * source of truth for `MCPCollectionAuthToolName`.
48
46
  */ export const COLLECTION_AUTH_BUILTINS = {
49
47
  auth: {
50
- label: 'Check Auth Status',
51
48
  mcpName: 'auth',
52
49
  tool: authCollectionTool
53
50
  },
54
51
  forgotPassword: {
55
- label: 'Forgot Password',
56
52
  mcpName: 'forgotPassword',
57
53
  tool: forgotPasswordCollectionTool
58
54
  },
59
55
  login: {
60
- label: 'User Login',
61
56
  mcpName: 'login',
62
57
  tool: loginCollectionTool
63
58
  },
64
59
  resetPassword: {
65
- label: 'Reset Password',
66
60
  mcpName: 'resetPassword',
67
61
  tool: resetPasswordCollectionTool
68
62
  },
69
63
  unlock: {
70
- label: 'Unlock Account',
71
64
  mcpName: 'unlock',
72
65
  tool: unlockCollectionTool
73
66
  },
74
67
  verify: {
75
- label: 'Email Verification',
76
68
  mcpName: 'verify',
77
69
  tool: verifyCollectionTool
78
70
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mcp/builtinTools.ts"],"sourcesContent":["import type { CollectionTool, GlobalTool, Tool } from '../types.js'\n\nimport {\n authCollectionTool,\n forgotPasswordCollectionTool,\n loginCollectionTool,\n resetPasswordCollectionTool,\n unlockCollectionTool,\n verifyCollectionTool,\n} from './builtin/collections/authTools.js'\nimport { createDocumentTool } from './builtin/collections/createTool.js'\nimport { deleteDocumentsTool } from './builtin/collections/deleteTool.js'\nimport { findDocumentsTool } from './builtin/collections/findTool.js'\nimport { getCollectionSchemaTool } from './builtin/collections/getCollectionSchemaTool.js'\nimport { updateDocumentTool } from './builtin/collections/updateTool.js'\nimport { getConfigInfoTool } from './builtin/getConfigInfoTool.js'\nimport { findGlobalTool } from './builtin/globals/findTool.js'\nimport { getGlobalSchemaTool } from './builtin/globals/getGlobalSchemaTool.js'\nimport { updateGlobalTool } from './builtin/globals/updateTool.js'\n\nexport const TOOL_BUILTINS = {\n getConfigInfo: { label: 'Config Info', mcpName: 'getConfigInfo', tool: getConfigInfoTool },\n} satisfies Record<string, { label: string; mcpName: string; tool: Tool }>\n\n/**\n * The static built-in collection CRUD tools. Keys here are the source of truth\n * for `MCPCollectionBuiltinName` — adding/removing an entry updates the type\n * automatically.\n */\nexport const COLLECTION_BUILTINS = {\n create: { mcpName: 'createDocument', tool: createDocumentTool },\n delete: { mcpName: 'deleteDocuments', tool: deleteDocumentsTool },\n find: { mcpName: 'findDocuments', tool: findDocumentsTool },\n getCollectionSchema: { mcpName: 'getCollectionSchema', tool: getCollectionSchemaTool },\n update: { mcpName: 'updateDocument', tool: updateDocumentTool },\n} satisfies Record<string, { mcpName: string; tool: CollectionTool }>\n\n/**\n * The static auth tools surfaced under auth-enabled collections. Each entry\n * carries the admin-UI label alongside the tool. Keys are the source of truth\n * for `MCPCollectionAuthToolName`.\n */\nexport const COLLECTION_AUTH_BUILTINS = {\n auth: { label: 'Check Auth Status', mcpName: 'auth', tool: authCollectionTool },\n forgotPassword: {\n label: 'Forgot Password',\n mcpName: 'forgotPassword',\n tool: forgotPasswordCollectionTool,\n },\n login: { label: 'User Login', mcpName: 'login', tool: loginCollectionTool },\n resetPassword: {\n label: 'Reset Password',\n mcpName: 'resetPassword',\n tool: resetPasswordCollectionTool,\n },\n unlock: { label: 'Unlock Account', mcpName: 'unlock', tool: unlockCollectionTool },\n verify: { label: 'Email Verification', mcpName: 'verify', tool: verifyCollectionTool },\n} satisfies Record<string, { label: string; mcpName: string; tool: CollectionTool }>\n\n/**\n * The static built-in global tools. Keys are the source of truth for\n * `MCPGlobalBuiltinName`.\n */\nexport const GLOBAL_BUILTINS = {\n find: { mcpName: 'findGlobal', tool: findGlobalTool },\n getGlobalSchema: { mcpName: 'getGlobalSchema', tool: getGlobalSchemaTool },\n update: { mcpName: 'updateGlobal', tool: updateGlobalTool },\n} satisfies Record<string, { mcpName: string; tool: GlobalTool }>\n\nexport type MCPCollectionBuiltinName = keyof typeof COLLECTION_BUILTINS\n\nexport type MCPCollectionAuthToolName = keyof typeof COLLECTION_AUTH_BUILTINS\n\nexport type MCPGlobalBuiltinName = keyof typeof GLOBAL_BUILTINS\n\nexport type MCPTopLevelBuiltinName = keyof typeof TOOL_BUILTINS\n\n/**\n * Pre-typed `Object.entries` for each registry. The cast from `string` to the\n * literal key union lives here once so consumers can iterate without their own\n * cast — TypeScript's `Object.entries` always widens keys to `string`, which\n * defeats the narrow type lookups on `MCPCollectionToolsMap`.\n */\nexport const TOOL_BUILTIN_ENTRIES = Object.entries(TOOL_BUILTINS) as Array<\n [MCPTopLevelBuiltinName, (typeof TOOL_BUILTINS)[MCPTopLevelBuiltinName]]\n>\n\nexport const COLLECTION_BUILTIN_ENTRIES = Object.entries(COLLECTION_BUILTINS) as Array<\n [MCPCollectionBuiltinName, (typeof COLLECTION_BUILTINS)[MCPCollectionBuiltinName]]\n>\n\nexport const COLLECTION_AUTH_BUILTIN_ENTRIES = Object.entries(COLLECTION_AUTH_BUILTINS) as Array<\n [MCPCollectionAuthToolName, (typeof COLLECTION_AUTH_BUILTINS)[MCPCollectionAuthToolName]]\n>\n\nexport const GLOBAL_BUILTIN_ENTRIES = Object.entries(GLOBAL_BUILTINS) as Array<\n [MCPGlobalBuiltinName, (typeof GLOBAL_BUILTINS)[MCPGlobalBuiltinName]]\n>\n"],"names":["authCollectionTool","forgotPasswordCollectionTool","loginCollectionTool","resetPasswordCollectionTool","unlockCollectionTool","verifyCollectionTool","createDocumentTool","deleteDocumentsTool","findDocumentsTool","getCollectionSchemaTool","updateDocumentTool","getConfigInfoTool","findGlobalTool","getGlobalSchemaTool","updateGlobalTool","TOOL_BUILTINS","getConfigInfo","label","mcpName","tool","COLLECTION_BUILTINS","create","delete","find","getCollectionSchema","update","COLLECTION_AUTH_BUILTINS","auth","forgotPassword","login","resetPassword","unlock","verify","GLOBAL_BUILTINS","getGlobalSchema","TOOL_BUILTIN_ENTRIES","Object","entries","COLLECTION_BUILTIN_ENTRIES","COLLECTION_AUTH_BUILTIN_ENTRIES","GLOBAL_BUILTIN_ENTRIES"],"mappings":"AAEA,SACEA,kBAAkB,EAClBC,4BAA4B,EAC5BC,mBAAmB,EACnBC,2BAA2B,EAC3BC,oBAAoB,EACpBC,oBAAoB,QACf,qCAAoC;AAC3C,SAASC,kBAAkB,QAAQ,sCAAqC;AACxE,SAASC,mBAAmB,QAAQ,sCAAqC;AACzE,SAASC,iBAAiB,QAAQ,oCAAmC;AACrE,SAASC,uBAAuB,QAAQ,mDAAkD;AAC1F,SAASC,kBAAkB,QAAQ,sCAAqC;AACxE,SAASC,iBAAiB,QAAQ,iCAAgC;AAClE,SAASC,cAAc,QAAQ,gCAA+B;AAC9D,SAASC,mBAAmB,QAAQ,2CAA0C;AAC9E,SAASC,gBAAgB,QAAQ,kCAAiC;AAElE,OAAO,MAAMC,gBAAgB;IAC3BC,eAAe;QAAEC,OAAO;QAAeC,SAAS;QAAiBC,MAAMR;IAAkB;AAC3F,EAA0E;AAE1E;;;;CAIC,GACD,OAAO,MAAMS,sBAAsB;IACjCC,QAAQ;QAAEH,SAAS;QAAkBC,MAAMb;IAAmB;IAC9DgB,QAAQ;QAAEJ,SAAS;QAAmBC,MAAMZ;IAAoB;IAChEgB,MAAM;QAAEL,SAAS;QAAiBC,MAAMX;IAAkB;IAC1DgB,qBAAqB;QAAEN,SAAS;QAAuBC,MAAMV;IAAwB;IACrFgB,QAAQ;QAAEP,SAAS;QAAkBC,MAAMT;IAAmB;AAChE,EAAqE;AAErE;;;;CAIC,GACD,OAAO,MAAMgB,2BAA2B;IACtCC,MAAM;QAAEV,OAAO;QAAqBC,SAAS;QAAQC,MAAMnB;IAAmB;IAC9E4B,gBAAgB;QACdX,OAAO;QACPC,SAAS;QACTC,MAAMlB;IACR;IACA4B,OAAO;QAAEZ,OAAO;QAAcC,SAAS;QAASC,MAAMjB;IAAoB;IAC1E4B,eAAe;QACbb,OAAO;QACPC,SAAS;QACTC,MAAMhB;IACR;IACA4B,QAAQ;QAAEd,OAAO;QAAkBC,SAAS;QAAUC,MAAMf;IAAqB;IACjF4B,QAAQ;QAAEf,OAAO;QAAsBC,SAAS;QAAUC,MAAMd;IAAqB;AACvF,EAAoF;AAEpF;;;CAGC,GACD,OAAO,MAAM4B,kBAAkB;IAC7BV,MAAM;QAAEL,SAAS;QAAcC,MAAMP;IAAe;IACpDsB,iBAAiB;QAAEhB,SAAS;QAAmBC,MAAMN;IAAoB;IACzEY,QAAQ;QAAEP,SAAS;QAAgBC,MAAML;IAAiB;AAC5D,EAAiE;AAUjE;;;;;CAKC,GACD,OAAO,MAAMqB,uBAAuBC,OAAOC,OAAO,CAACtB,eAElD;AAED,OAAO,MAAMuB,6BAA6BF,OAAOC,OAAO,CAACjB,qBAExD;AAED,OAAO,MAAMmB,kCAAkCH,OAAOC,OAAO,CAACX,0BAE7D;AAED,OAAO,MAAMc,yBAAyBJ,OAAOC,OAAO,CAACJ,iBAEpD"}
1
+ {"version":3,"sources":["../../src/mcp/builtinTools.ts"],"sourcesContent":["import type { CollectionTool, GlobalTool, Tool } from '../types.js'\n\nimport {\n authCollectionTool,\n forgotPasswordCollectionTool,\n loginCollectionTool,\n resetPasswordCollectionTool,\n unlockCollectionTool,\n verifyCollectionTool,\n} from './builtin/collections/authTools.js'\nimport { createDocumentTool } from './builtin/collections/createTool.js'\nimport { deleteDocumentsTool } from './builtin/collections/deleteTool.js'\nimport { findDocumentsTool } from './builtin/collections/findTool.js'\nimport { getCollectionSchemaTool } from './builtin/collections/getCollectionSchemaTool.js'\nimport { updateDocumentTool } from './builtin/collections/updateTool.js'\nimport { getConfigInfoTool } from './builtin/getConfigInfoTool.js'\nimport { findGlobalTool } from './builtin/globals/findTool.js'\nimport { getGlobalSchemaTool } from './builtin/globals/getGlobalSchemaTool.js'\nimport { updateGlobalTool } from './builtin/globals/updateTool.js'\n\nexport const TOOL_BUILTINS = {\n getConfigInfo: { mcpName: 'getConfigInfo', tool: getConfigInfoTool },\n} satisfies Record<string, { mcpName: string; tool: Tool }>\n\n/**\n * The static built-in collection CRUD tools. Keys here are the source of truth\n * for `MCPCollectionBuiltinName` — adding/removing an entry updates the type\n * automatically.\n */\nexport const COLLECTION_BUILTINS = {\n create: { mcpName: 'createDocument', tool: createDocumentTool },\n delete: { mcpName: 'deleteDocuments', tool: deleteDocumentsTool },\n find: { mcpName: 'findDocuments', tool: findDocumentsTool },\n getCollectionSchema: { mcpName: 'getCollectionSchema', tool: getCollectionSchemaTool },\n update: { mcpName: 'updateDocument', tool: updateDocumentTool },\n} satisfies Record<string, { mcpName: string; tool: CollectionTool }>\n\n/**\n * The static auth tools surfaced under auth-enabled collections. Keys are the\n * source of truth for `MCPCollectionAuthToolName`.\n */\nexport const COLLECTION_AUTH_BUILTINS = {\n auth: { mcpName: 'auth', tool: authCollectionTool },\n forgotPassword: {\n mcpName: 'forgotPassword',\n tool: forgotPasswordCollectionTool,\n },\n login: { mcpName: 'login', tool: loginCollectionTool },\n resetPassword: {\n mcpName: 'resetPassword',\n tool: resetPasswordCollectionTool,\n },\n unlock: { mcpName: 'unlock', tool: unlockCollectionTool },\n verify: { mcpName: 'verify', tool: verifyCollectionTool },\n} satisfies Record<string, { mcpName: string; tool: CollectionTool }>\n\n/**\n * The static built-in global tools. Keys are the source of truth for\n * `MCPGlobalBuiltinName`.\n */\nexport const GLOBAL_BUILTINS = {\n find: { mcpName: 'findGlobal', tool: findGlobalTool },\n getGlobalSchema: { mcpName: 'getGlobalSchema', tool: getGlobalSchemaTool },\n update: { mcpName: 'updateGlobal', tool: updateGlobalTool },\n} satisfies Record<string, { mcpName: string; tool: GlobalTool }>\n\nexport type MCPCollectionBuiltinName = keyof typeof COLLECTION_BUILTINS\n\nexport type MCPCollectionAuthToolName = keyof typeof COLLECTION_AUTH_BUILTINS\n\nexport type MCPGlobalBuiltinName = keyof typeof GLOBAL_BUILTINS\n\nexport type MCPTopLevelBuiltinName = keyof typeof TOOL_BUILTINS\n\n/**\n * Pre-typed `Object.entries` for each registry. The cast from `string` to the\n * literal key union lives here once so consumers can iterate without their own\n * cast — TypeScript's `Object.entries` always widens keys to `string`, which\n * defeats the narrow type lookups on `MCPCollectionToolsMap`.\n */\nexport const TOOL_BUILTIN_ENTRIES = Object.entries(TOOL_BUILTINS) as Array<\n [MCPTopLevelBuiltinName, (typeof TOOL_BUILTINS)[MCPTopLevelBuiltinName]]\n>\n\nexport const COLLECTION_BUILTIN_ENTRIES = Object.entries(COLLECTION_BUILTINS) as Array<\n [MCPCollectionBuiltinName, (typeof COLLECTION_BUILTINS)[MCPCollectionBuiltinName]]\n>\n\nexport const COLLECTION_AUTH_BUILTIN_ENTRIES = Object.entries(COLLECTION_AUTH_BUILTINS) as Array<\n [MCPCollectionAuthToolName, (typeof COLLECTION_AUTH_BUILTINS)[MCPCollectionAuthToolName]]\n>\n\nexport const GLOBAL_BUILTIN_ENTRIES = Object.entries(GLOBAL_BUILTINS) as Array<\n [MCPGlobalBuiltinName, (typeof GLOBAL_BUILTINS)[MCPGlobalBuiltinName]]\n>\n"],"names":["authCollectionTool","forgotPasswordCollectionTool","loginCollectionTool","resetPasswordCollectionTool","unlockCollectionTool","verifyCollectionTool","createDocumentTool","deleteDocumentsTool","findDocumentsTool","getCollectionSchemaTool","updateDocumentTool","getConfigInfoTool","findGlobalTool","getGlobalSchemaTool","updateGlobalTool","TOOL_BUILTINS","getConfigInfo","mcpName","tool","COLLECTION_BUILTINS","create","delete","find","getCollectionSchema","update","COLLECTION_AUTH_BUILTINS","auth","forgotPassword","login","resetPassword","unlock","verify","GLOBAL_BUILTINS","getGlobalSchema","TOOL_BUILTIN_ENTRIES","Object","entries","COLLECTION_BUILTIN_ENTRIES","COLLECTION_AUTH_BUILTIN_ENTRIES","GLOBAL_BUILTIN_ENTRIES"],"mappings":"AAEA,SACEA,kBAAkB,EAClBC,4BAA4B,EAC5BC,mBAAmB,EACnBC,2BAA2B,EAC3BC,oBAAoB,EACpBC,oBAAoB,QACf,qCAAoC;AAC3C,SAASC,kBAAkB,QAAQ,sCAAqC;AACxE,SAASC,mBAAmB,QAAQ,sCAAqC;AACzE,SAASC,iBAAiB,QAAQ,oCAAmC;AACrE,SAASC,uBAAuB,QAAQ,mDAAkD;AAC1F,SAASC,kBAAkB,QAAQ,sCAAqC;AACxE,SAASC,iBAAiB,QAAQ,iCAAgC;AAClE,SAASC,cAAc,QAAQ,gCAA+B;AAC9D,SAASC,mBAAmB,QAAQ,2CAA0C;AAC9E,SAASC,gBAAgB,QAAQ,kCAAiC;AAElE,OAAO,MAAMC,gBAAgB;IAC3BC,eAAe;QAAEC,SAAS;QAAiBC,MAAMP;IAAkB;AACrE,EAA2D;AAE3D;;;;CAIC,GACD,OAAO,MAAMQ,sBAAsB;IACjCC,QAAQ;QAAEH,SAAS;QAAkBC,MAAMZ;IAAmB;IAC9De,QAAQ;QAAEJ,SAAS;QAAmBC,MAAMX;IAAoB;IAChEe,MAAM;QAAEL,SAAS;QAAiBC,MAAMV;IAAkB;IAC1De,qBAAqB;QAAEN,SAAS;QAAuBC,MAAMT;IAAwB;IACrFe,QAAQ;QAAEP,SAAS;QAAkBC,MAAMR;IAAmB;AAChE,EAAqE;AAErE;;;CAGC,GACD,OAAO,MAAMe,2BAA2B;IACtCC,MAAM;QAAET,SAAS;QAAQC,MAAMlB;IAAmB;IAClD2B,gBAAgB;QACdV,SAAS;QACTC,MAAMjB;IACR;IACA2B,OAAO;QAAEX,SAAS;QAASC,MAAMhB;IAAoB;IACrD2B,eAAe;QACbZ,SAAS;QACTC,MAAMf;IACR;IACA2B,QAAQ;QAAEb,SAAS;QAAUC,MAAMd;IAAqB;IACxD2B,QAAQ;QAAEd,SAAS;QAAUC,MAAMb;IAAqB;AAC1D,EAAqE;AAErE;;;CAGC,GACD,OAAO,MAAM2B,kBAAkB;IAC7BV,MAAM;QAAEL,SAAS;QAAcC,MAAMN;IAAe;IACpDqB,iBAAiB;QAAEhB,SAAS;QAAmBC,MAAML;IAAoB;IACzEW,QAAQ;QAAEP,SAAS;QAAgBC,MAAMJ;IAAiB;AAC5D,EAAiE;AAUjE;;;;;CAKC,GACD,OAAO,MAAMoB,uBAAuBC,OAAOC,OAAO,CAACrB,eAElD;AAED,OAAO,MAAMsB,6BAA6BF,OAAOC,OAAO,CAACjB,qBAExD;AAED,OAAO,MAAMmB,kCAAkCH,OAAOC,OAAO,CAACX,0BAE7D;AAED,OAAO,MAAMc,yBAAyBJ,OAAOC,OAAO,CAACJ,iBAEpD"}
@@ -22,11 +22,11 @@ import { COLLECTION_AUTH_BUILTIN_ENTRIES, COLLECTION_AUTH_BUILTINS, COLLECTION_B
22
22
  pluginConfig
23
23
  }));
24
24
  }
25
- for (const [configKey, { label, mcpName, tool }] of TOOL_BUILTIN_ENTRIES){
25
+ for (const [configKey, { mcpName, tool }] of TOOL_BUILTIN_ENTRIES){
26
26
  items.push({
27
27
  type: 'tool',
28
28
  configKey,
29
- label,
29
+ label: tool.annotations?.title ?? configKey,
30
30
  mcpName,
31
31
  tool
32
32
  });
@@ -38,7 +38,7 @@ import { COLLECTION_AUTH_BUILTIN_ENTRIES, COLLECTION_AUTH_BUILTINS, COLLECTION_B
38
38
  items.push({
39
39
  type: 'tool',
40
40
  configKey,
41
- label: configKey,
41
+ label: tool.annotations?.title ?? configKey,
42
42
  mcpName: configKey,
43
43
  tool
44
44
  });
@@ -85,35 +85,45 @@ const sanitizeCollectionConfig = ({ collection, pluginConfig })=>{
85
85
  continue;
86
86
  }
87
87
  const override = typeof matchedConfigEntry === 'object' ? matchedConfigEntry : undefined;
88
+ const annotations = {
89
+ ...tool.annotations,
90
+ ...override?.annotations
91
+ };
88
92
  items.push({
89
93
  type: 'collectionTool',
90
94
  collectionSlug: slug,
91
95
  configKey: toolKey,
92
- label: capitalize(toolKey),
96
+ label: annotations.title ?? toolKey,
93
97
  mcpName,
94
98
  tool: {
95
99
  ...tool,
100
+ annotations,
96
101
  description: override?.description ?? tool.description,
97
102
  overrideResponse: override?.overrideResponse ?? collectionPluginConfig?.overrideResponse ?? tool.overrideResponse
98
103
  }
99
104
  });
100
105
  }
101
106
  if (collection.auth) {
102
- for (const [authToolKey, { label, mcpName, tool }] of COLLECTION_AUTH_BUILTIN_ENTRIES){
107
+ for (const [authToolKey, { mcpName, tool }] of COLLECTION_AUTH_BUILTIN_ENTRIES){
103
108
  const matchedConfigEntry = collectionPluginConfig?.tools?.[authToolKey];
104
109
  if (!matchedConfigEntry) {
105
110
  continue;
106
111
  }
107
112
  // `true` means "enable, no override"; only the object form carries fields.
108
113
  const override = typeof matchedConfigEntry === 'object' ? matchedConfigEntry : undefined;
114
+ const annotations = {
115
+ ...tool.annotations,
116
+ ...override?.annotations
117
+ };
109
118
  items.push({
110
119
  type: 'collectionTool',
111
120
  collectionSlug: slug,
112
121
  configKey: authToolKey,
113
- label,
122
+ label: annotations.title ?? authToolKey,
114
123
  mcpName,
115
124
  tool: {
116
125
  ...tool,
126
+ annotations,
117
127
  description: override?.description ?? tool.description,
118
128
  overrideResponse: override?.overrideResponse ?? collectionPluginConfig?.overrideResponse ?? tool.overrideResponse
119
129
  }
@@ -134,7 +144,7 @@ const sanitizeCollectionConfig = ({ collection, pluginConfig })=>{
134
144
  type: 'collectionTool',
135
145
  collectionSlug: slug,
136
146
  configKey,
137
- label: configKey,
147
+ label: customTool.annotations?.title ?? configKey,
138
148
  mcpName: configKey,
139
149
  tool: customTool
140
150
  });
@@ -151,14 +161,19 @@ const sanitizeGlobalConfig = ({ global, pluginConfig })=>{
151
161
  continue;
152
162
  }
153
163
  const override = typeof matchedConfigEntry === 'object' ? matchedConfigEntry : undefined;
164
+ const annotations = {
165
+ ...tool.annotations,
166
+ ...override?.annotations
167
+ };
154
168
  items.push({
155
169
  type: 'globalTool',
156
170
  configKey: toolKey,
157
171
  globalSlug: slug,
158
- label: capitalize(toolKey),
172
+ label: annotations.title ?? toolKey,
159
173
  mcpName,
160
174
  tool: {
161
175
  ...tool,
176
+ annotations,
162
177
  description: override?.description ?? tool.description,
163
178
  overrideResponse: override?.overrideResponse ?? globalPluginConfig?.overrideResponse ?? tool.overrideResponse
164
179
  }
@@ -176,13 +191,12 @@ const sanitizeGlobalConfig = ({ global, pluginConfig })=>{
176
191
  type: 'globalTool',
177
192
  configKey,
178
193
  globalSlug: slug,
179
- label: configKey,
194
+ label: customTool.annotations?.title ?? configKey,
180
195
  mcpName: configKey,
181
196
  tool: customTool
182
197
  });
183
198
  }
184
199
  return items;
185
200
  };
186
- const capitalize = (s)=>s.charAt(0).toUpperCase() + s.slice(1);
187
201
 
188
202
  //# sourceMappingURL=sanitizeMCPConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mcp/sanitizeMCPConfig.ts"],"sourcesContent":["import type {\n CollectionConfig,\n Config,\n GlobalConfig,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport type {\n CollectionMCPItem,\n CollectionTool,\n GlobalMCPItem,\n GlobalTool,\n MCPItem,\n MCPPluginConfig,\n SanitizedMCPPluginConfig,\n} from '../types.js'\n\nimport {\n COLLECTION_AUTH_BUILTIN_ENTRIES,\n COLLECTION_AUTH_BUILTINS,\n COLLECTION_BUILTIN_ENTRIES,\n COLLECTION_BUILTINS,\n GLOBAL_BUILTIN_ENTRIES,\n GLOBAL_BUILTINS,\n TOOL_BUILTIN_ENTRIES,\n TOOL_BUILTINS,\n} from './builtinTools.js'\n\n/**\n * Converts the user-configured `MCPPluginConfig` into a `SanitizedMCPPluginConfig`:\n * - Flattens `tools` / `prompts` / `resources` / per-collection / per-global\n * tool maps into a single `items` array.\n * - Applies built-in tools for collections and globals, respecting opt-out user overrides.\n * - Applies the `userCollection` default\n *\n * Called once during plugin init. After that, `plugins['@payloadcms/plugin-mcp']\n * ?.options` holds the sanitized result\n */\nexport const sanitizeMCPConfig = ({\n config,\n pluginConfig,\n}: {\n config: Config | SanitizedConfig\n pluginConfig: MCPPluginConfig\n}): SanitizedMCPPluginConfig => {\n const items: MCPItem[] = []\n\n for (const collection of config.collections ?? []) {\n items.push(...sanitizeCollectionConfig({ collection, pluginConfig }))\n }\n\n for (const global of config.globals ?? []) {\n items.push(...sanitizeGlobalConfig({ global, pluginConfig }))\n }\n\n for (const [configKey, { label, mcpName, tool }] of TOOL_BUILTIN_ENTRIES) {\n items.push({\n type: 'tool',\n configKey,\n label,\n mcpName,\n tool,\n })\n }\n\n for (const [configKey, tool] of Object.entries(pluginConfig.tools ?? {})) {\n if (configKey in TOOL_BUILTINS) {\n continue\n }\n items.push({\n type: 'tool',\n configKey,\n label: configKey,\n mcpName: configKey,\n tool,\n })\n }\n\n for (const [configKey, prompt] of Object.entries(pluginConfig.prompts ?? {})) {\n items.push({\n type: 'prompt',\n configKey,\n label: prompt.title ?? configKey,\n mcpName: configKey,\n prompt,\n })\n }\n\n for (const [configKey, resource] of Object.entries(pluginConfig.resources ?? {})) {\n items.push({\n type: 'resource',\n configKey,\n label: resource.title ?? configKey,\n mcpName: configKey,\n resource,\n })\n }\n\n // Mirror Payload's own admin.user detection (sanitize.ts) since plugins run first.\n const firstCollectionWithAuth = config.collections!.find(({ auth }) => Boolean(auth))\n\n return {\n disabled: pluginConfig.disabled,\n items,\n mcp: pluginConfig.mcp,\n overrideApiKeyCollection: pluginConfig.overrideApiKeyCollection,\n overrideAuth: pluginConfig.overrideAuth,\n userCollection:\n pluginConfig.userCollection ?? config.admin?.user ?? firstCollectionWithAuth?.slug ?? 'users',\n }\n}\n\nconst sanitizeCollectionConfig = ({\n collection,\n pluginConfig,\n}: {\n collection: CollectionConfig | SanitizedCollectionConfig\n pluginConfig: MCPPluginConfig\n}): CollectionMCPItem[] => {\n if (collection.slug === 'payload-mcp-api-keys') {\n return []\n }\n const slug = collection.slug\n const collectionPluginConfig = pluginConfig.collections?.[slug]\n const items: CollectionMCPItem[] = []\n\n for (const [toolKey, { mcpName, tool }] of COLLECTION_BUILTIN_ENTRIES) {\n const matchedConfigEntry = collectionPluginConfig?.tools?.[toolKey]\n if (matchedConfigEntry === false) {\n continue\n }\n const override = typeof matchedConfigEntry === 'object' ? matchedConfigEntry : undefined\n items.push({\n type: 'collectionTool',\n collectionSlug: slug,\n configKey: toolKey,\n label: capitalize(toolKey),\n mcpName,\n tool: {\n ...tool,\n description: override?.description ?? tool.description,\n overrideResponse:\n override?.overrideResponse ??\n collectionPluginConfig?.overrideResponse ??\n tool.overrideResponse,\n },\n })\n }\n\n if (collection.auth) {\n for (const [authToolKey, { label, mcpName, tool }] of COLLECTION_AUTH_BUILTIN_ENTRIES) {\n const matchedConfigEntry = collectionPluginConfig?.tools?.[authToolKey]\n if (!matchedConfigEntry) {\n continue\n }\n // `true` means \"enable, no override\"; only the object form carries fields.\n const override = typeof matchedConfigEntry === 'object' ? matchedConfigEntry : undefined\n items.push({\n type: 'collectionTool',\n collectionSlug: slug,\n configKey: authToolKey,\n label,\n mcpName,\n tool: {\n ...tool,\n description: override?.description ?? tool.description,\n overrideResponse:\n override?.overrideResponse ??\n collectionPluginConfig?.overrideResponse ??\n tool.overrideResponse,\n },\n })\n }\n }\n\n // Cast: builtin keys are filtered out below, so the remaining values are\n // always custom tools (`CollectionTool`) or undefined\n const customEntries = Object.entries(collectionPluginConfig?.tools ?? {}) as Array<\n [string, CollectionTool | undefined]\n >\n for (const [configKey, customTool] of customEntries) {\n if (configKey in COLLECTION_BUILTINS || configKey in COLLECTION_AUTH_BUILTINS) {\n continue\n }\n if (!customTool) {\n continue\n }\n items.push({\n type: 'collectionTool',\n collectionSlug: slug,\n configKey,\n label: configKey,\n mcpName: configKey,\n tool: customTool,\n })\n }\n\n return items\n}\n\nconst sanitizeGlobalConfig = ({\n global,\n pluginConfig,\n}: {\n global: GlobalConfig | SanitizedGlobalConfig\n pluginConfig: MCPPluginConfig\n}): GlobalMCPItem[] => {\n const slug = global.slug\n const globalPluginConfig = pluginConfig.globals?.[slug]\n const items: GlobalMCPItem[] = []\n\n for (const [toolKey, { mcpName, tool }] of GLOBAL_BUILTIN_ENTRIES) {\n const matchedConfigEntry = globalPluginConfig?.tools?.[toolKey]\n if (matchedConfigEntry === false) {\n continue\n }\n const override = typeof matchedConfigEntry === 'object' ? matchedConfigEntry : undefined\n items.push({\n type: 'globalTool',\n configKey: toolKey,\n globalSlug: slug,\n label: capitalize(toolKey),\n mcpName,\n tool: {\n ...tool,\n description: override?.description ?? tool.description,\n overrideResponse:\n override?.overrideResponse ??\n globalPluginConfig?.overrideResponse ??\n tool.overrideResponse,\n },\n })\n }\n\n const customEntries = Object.entries(globalPluginConfig?.tools ?? {}) as Array<\n [string, GlobalTool | undefined]\n >\n for (const [configKey, customTool] of customEntries) {\n if (configKey in GLOBAL_BUILTINS) {\n continue\n }\n if (!customTool) {\n continue\n }\n items.push({\n type: 'globalTool',\n configKey,\n globalSlug: slug,\n label: configKey,\n mcpName: configKey,\n tool: customTool,\n })\n }\n\n return items\n}\n\nconst capitalize = (s: string): string => s.charAt(0).toUpperCase() + s.slice(1)\n"],"names":["COLLECTION_AUTH_BUILTIN_ENTRIES","COLLECTION_AUTH_BUILTINS","COLLECTION_BUILTIN_ENTRIES","COLLECTION_BUILTINS","GLOBAL_BUILTIN_ENTRIES","GLOBAL_BUILTINS","TOOL_BUILTIN_ENTRIES","TOOL_BUILTINS","sanitizeMCPConfig","config","pluginConfig","items","collection","collections","push","sanitizeCollectionConfig","global","globals","sanitizeGlobalConfig","configKey","label","mcpName","tool","type","Object","entries","tools","prompt","prompts","title","resource","resources","firstCollectionWithAuth","find","auth","Boolean","disabled","mcp","overrideApiKeyCollection","overrideAuth","userCollection","admin","user","slug","collectionPluginConfig","toolKey","matchedConfigEntry","override","undefined","collectionSlug","capitalize","description","overrideResponse","authToolKey","customEntries","customTool","globalPluginConfig","globalSlug","s","charAt","toUpperCase","slice"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/mcp/sanitizeMCPConfig.ts"],"sourcesContent":["import type {\n CollectionConfig,\n Config,\n GlobalConfig,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport type {\n CollectionMCPItem,\n CollectionTool,\n GlobalMCPItem,\n GlobalTool,\n MCPItem,\n MCPPluginConfig,\n SanitizedMCPPluginConfig,\n} from '../types.js'\n\nimport {\n COLLECTION_AUTH_BUILTIN_ENTRIES,\n COLLECTION_AUTH_BUILTINS,\n COLLECTION_BUILTIN_ENTRIES,\n COLLECTION_BUILTINS,\n GLOBAL_BUILTIN_ENTRIES,\n GLOBAL_BUILTINS,\n TOOL_BUILTIN_ENTRIES,\n TOOL_BUILTINS,\n} from './builtinTools.js'\n\n/**\n * Converts the user-configured `MCPPluginConfig` into a `SanitizedMCPPluginConfig`:\n * - Flattens `tools` / `prompts` / `resources` / per-collection / per-global\n * tool maps into a single `items` array.\n * - Applies built-in tools for collections and globals, respecting opt-out user overrides.\n * - Applies the `userCollection` default\n *\n * Called once during plugin init. After that, `plugins['@payloadcms/plugin-mcp']\n * ?.options` holds the sanitized result\n */\nexport const sanitizeMCPConfig = ({\n config,\n pluginConfig,\n}: {\n config: Config | SanitizedConfig\n pluginConfig: MCPPluginConfig\n}): SanitizedMCPPluginConfig => {\n const items: MCPItem[] = []\n\n for (const collection of config.collections ?? []) {\n items.push(...sanitizeCollectionConfig({ collection, pluginConfig }))\n }\n\n for (const global of config.globals ?? []) {\n items.push(...sanitizeGlobalConfig({ global, pluginConfig }))\n }\n\n for (const [configKey, { mcpName, tool }] of TOOL_BUILTIN_ENTRIES) {\n items.push({\n type: 'tool',\n configKey,\n label: tool.annotations?.title ?? configKey,\n mcpName,\n tool,\n })\n }\n\n for (const [configKey, tool] of Object.entries(pluginConfig.tools ?? {})) {\n if (configKey in TOOL_BUILTINS) {\n continue\n }\n items.push({\n type: 'tool',\n configKey,\n label: tool.annotations?.title ?? configKey,\n mcpName: configKey,\n tool,\n })\n }\n\n for (const [configKey, prompt] of Object.entries(pluginConfig.prompts ?? {})) {\n items.push({\n type: 'prompt',\n configKey,\n label: prompt.title ?? configKey,\n mcpName: configKey,\n prompt,\n })\n }\n\n for (const [configKey, resource] of Object.entries(pluginConfig.resources ?? {})) {\n items.push({\n type: 'resource',\n configKey,\n label: resource.title ?? configKey,\n mcpName: configKey,\n resource,\n })\n }\n\n // Mirror Payload's own admin.user detection (sanitize.ts) since plugins run first.\n const firstCollectionWithAuth = config.collections!.find(({ auth }) => Boolean(auth))\n\n return {\n disabled: pluginConfig.disabled,\n items,\n mcp: pluginConfig.mcp,\n overrideApiKeyCollection: pluginConfig.overrideApiKeyCollection,\n overrideAuth: pluginConfig.overrideAuth,\n userCollection:\n pluginConfig.userCollection ?? config.admin?.user ?? firstCollectionWithAuth?.slug ?? 'users',\n }\n}\n\nconst sanitizeCollectionConfig = ({\n collection,\n pluginConfig,\n}: {\n collection: CollectionConfig | SanitizedCollectionConfig\n pluginConfig: MCPPluginConfig\n}): CollectionMCPItem[] => {\n if (collection.slug === 'payload-mcp-api-keys') {\n return []\n }\n const slug = collection.slug\n const collectionPluginConfig = pluginConfig.collections?.[slug]\n const items: CollectionMCPItem[] = []\n\n for (const [toolKey, { mcpName, tool }] of COLLECTION_BUILTIN_ENTRIES) {\n const matchedConfigEntry = collectionPluginConfig?.tools?.[toolKey]\n if (matchedConfigEntry === false) {\n continue\n }\n const override = typeof matchedConfigEntry === 'object' ? matchedConfigEntry : undefined\n const annotations = { ...tool.annotations, ...override?.annotations }\n items.push({\n type: 'collectionTool',\n collectionSlug: slug,\n configKey: toolKey,\n label: annotations.title ?? toolKey,\n mcpName,\n tool: {\n ...tool,\n annotations,\n description: override?.description ?? tool.description,\n overrideResponse:\n override?.overrideResponse ??\n collectionPluginConfig?.overrideResponse ??\n tool.overrideResponse,\n },\n })\n }\n\n if (collection.auth) {\n for (const [authToolKey, { mcpName, tool }] of COLLECTION_AUTH_BUILTIN_ENTRIES) {\n const matchedConfigEntry = collectionPluginConfig?.tools?.[authToolKey]\n if (!matchedConfigEntry) {\n continue\n }\n // `true` means \"enable, no override\"; only the object form carries fields.\n const override = typeof matchedConfigEntry === 'object' ? matchedConfigEntry : undefined\n const annotations = { ...tool.annotations, ...override?.annotations }\n items.push({\n type: 'collectionTool',\n collectionSlug: slug,\n configKey: authToolKey,\n label: annotations.title ?? authToolKey,\n mcpName,\n tool: {\n ...tool,\n annotations,\n description: override?.description ?? tool.description,\n overrideResponse:\n override?.overrideResponse ??\n collectionPluginConfig?.overrideResponse ??\n tool.overrideResponse,\n },\n })\n }\n }\n\n // Cast: builtin keys are filtered out below, so the remaining values are\n // always custom tools (`CollectionTool`) or undefined\n const customEntries = Object.entries(collectionPluginConfig?.tools ?? {}) as Array<\n [string, CollectionTool | undefined]\n >\n for (const [configKey, customTool] of customEntries) {\n if (configKey in COLLECTION_BUILTINS || configKey in COLLECTION_AUTH_BUILTINS) {\n continue\n }\n if (!customTool) {\n continue\n }\n items.push({\n type: 'collectionTool',\n collectionSlug: slug,\n configKey,\n label: customTool.annotations?.title ?? configKey,\n mcpName: configKey,\n tool: customTool,\n })\n }\n\n return items\n}\n\nconst sanitizeGlobalConfig = ({\n global,\n pluginConfig,\n}: {\n global: GlobalConfig | SanitizedGlobalConfig\n pluginConfig: MCPPluginConfig\n}): GlobalMCPItem[] => {\n const slug = global.slug\n const globalPluginConfig = pluginConfig.globals?.[slug]\n const items: GlobalMCPItem[] = []\n\n for (const [toolKey, { mcpName, tool }] of GLOBAL_BUILTIN_ENTRIES) {\n const matchedConfigEntry = globalPluginConfig?.tools?.[toolKey]\n if (matchedConfigEntry === false) {\n continue\n }\n const override = typeof matchedConfigEntry === 'object' ? matchedConfigEntry : undefined\n const annotations = { ...tool.annotations, ...override?.annotations }\n items.push({\n type: 'globalTool',\n configKey: toolKey,\n globalSlug: slug,\n label: annotations.title ?? toolKey,\n mcpName,\n tool: {\n ...tool,\n annotations,\n description: override?.description ?? tool.description,\n overrideResponse:\n override?.overrideResponse ??\n globalPluginConfig?.overrideResponse ??\n tool.overrideResponse,\n },\n })\n }\n\n const customEntries = Object.entries(globalPluginConfig?.tools ?? {}) as Array<\n [string, GlobalTool | undefined]\n >\n for (const [configKey, customTool] of customEntries) {\n if (configKey in GLOBAL_BUILTINS) {\n continue\n }\n if (!customTool) {\n continue\n }\n items.push({\n type: 'globalTool',\n configKey,\n globalSlug: slug,\n label: customTool.annotations?.title ?? configKey,\n mcpName: configKey,\n tool: customTool,\n })\n }\n\n return items\n}\n"],"names":["COLLECTION_AUTH_BUILTIN_ENTRIES","COLLECTION_AUTH_BUILTINS","COLLECTION_BUILTIN_ENTRIES","COLLECTION_BUILTINS","GLOBAL_BUILTIN_ENTRIES","GLOBAL_BUILTINS","TOOL_BUILTIN_ENTRIES","TOOL_BUILTINS","sanitizeMCPConfig","config","pluginConfig","items","collection","collections","push","sanitizeCollectionConfig","global","globals","sanitizeGlobalConfig","configKey","mcpName","tool","type","label","annotations","title","Object","entries","tools","prompt","prompts","resource","resources","firstCollectionWithAuth","find","auth","Boolean","disabled","mcp","overrideApiKeyCollection","overrideAuth","userCollection","admin","user","slug","collectionPluginConfig","toolKey","matchedConfigEntry","override","undefined","collectionSlug","description","overrideResponse","authToolKey","customEntries","customTool","globalPluginConfig","globalSlug"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/translations/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AA+CjE,eAAO,MAAM,YAAY,EA6CpB,kBAAkB,CAAC,+BAA+B,CAAC,CAAA;AAExD,MAAM,MAAM,qBAAqB,GAAG,+BAA+B,CAAA;AAEnE,MAAM,MAAM,wBAAwB,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,CAAA;AAEhF,OAAO,QAAQ,0BAA0B,CAAC;IACxC,UAAU,qBAAqB;QAC7B,YAAY,EAAE,wBAAwB,CAAA;KACvC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/translations/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAEtF,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AA+CjE,eAAO,MAAM,YAAY,EA6CpB,kBAAkB,CAAC,+BAA+B,CAAC,CAAA;AAExD,MAAM,MAAM,qBAAqB,GAAG,+BAA+B,CAAA;AAEnE,MAAM,MAAM,wBAAwB,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,CAAA;AAEhF,OAAO,QAAQ,0BAA0B,CAAC;IACxC,UAAU,qBAAqB;QAC7B,YAAY,EAAE,wBAAwB,CAAA;KACvC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/translations/index.ts"],"sourcesContent":["import type {\n NestedKeysStripped,\n SupportedLanguages,\n} from '@payloadcms/translations'\n\nimport type { PluginDefaultTranslationsObject } from './types.js'\n\nimport { ar } from './languages/ar.js'\nimport { az } from './languages/az.js'\nimport { bg } from './languages/bg.js'\nimport { bnBd } from './languages/bnBd.js'\nimport { bnIn } from './languages/bnIn.js'\nimport { ca } from './languages/ca.js'\nimport { cs } from './languages/cs.js'\nimport { da } from './languages/da.js'\nimport { de } from './languages/de.js'\nimport { en } from './languages/en.js'\nimport { es } from './languages/es.js'\nimport { et } from './languages/et.js'\nimport { fa } from './languages/fa.js'\nimport { fr } from './languages/fr.js'\nimport { he } from './languages/he.js'\nimport { hr } from './languages/hr.js'\nimport { hu } from './languages/hu.js'\nimport { hy } from './languages/hy.js'\nimport { id } from './languages/id.js'\nimport { is } from './languages/is.js'\nimport { it } from './languages/it.js'\nimport { ja } from './languages/ja.js'\nimport { ko } from './languages/ko.js'\nimport { lt } from './languages/lt.js'\nimport { lv } from './languages/lv.js'\nimport { my } from './languages/my.js'\nimport { nb } from './languages/nb.js'\nimport { nl } from './languages/nl.js'\nimport { pl } from './languages/pl.js'\nimport { pt } from './languages/pt.js'\nimport { ro } from './languages/ro.js'\nimport { rs } from './languages/rs.js'\nimport { rsLatin } from './languages/rsLatin.js'\nimport { ru } from './languages/ru.js'\nimport { sk } from './languages/sk.js'\nimport { sl } from './languages/sl.js'\nimport { sv } from './languages/sv.js'\nimport { ta } from './languages/ta.js'\nimport { th } from './languages/th.js'\nimport { tr } from './languages/tr.js'\nimport { uk } from './languages/uk.js'\nimport { vi } from './languages/vi.js'\nimport { zh } from './languages/zh.js'\nimport { zhTw } from './languages/zhTw.js'\n\nexport const translations = {\n id,\n ar,\n az,\n bg,\n 'bn-BD': bnBd,\n 'bn-IN': bnIn,\n ca,\n cs,\n da,\n de,\n en,\n es,\n et,\n fa,\n fr,\n he,\n hr,\n hu,\n hy,\n is,\n it,\n ja,\n ko,\n lt,\n lv,\n my,\n nb,\n nl,\n pl,\n pt,\n ro,\n rs,\n 'rs-latin': rsLatin,\n ru,\n sk,\n sl,\n sv,\n ta,\n th,\n tr,\n uk,\n vi,\n zh,\n 'zh-TW': zhTw,\n} as SupportedLanguages<PluginDefaultTranslationsObject>\n\nexport type PluginMCPTranslations = PluginDefaultTranslationsObject\n\nexport type PluginMCPTranslationKeys = NestedKeysStripped<PluginMCPTranslations>\n\ndeclare module '@payloadcms/translations' {\n interface CustomTranslationKeys {\n 'plugin-mcp': PluginMCPTranslationKeys\n }\n}\n"],"names":["ar","az","bg","bnBd","bnIn","ca","cs","da","de","en","es","et","fa","fr","he","hr","hu","hy","id","is","it","ja","ko","lt","lv","my","nb","nl","pl","pt","ro","rs","rsLatin","ru","sk","sl","sv","ta","th","tr","uk","vi","zh","zhTw","translations"],"mappings":"AAOA,SAASA,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,IAAI,QAAQ,sBAAqB;AAC1C,SAASC,IAAI,QAAQ,sBAAqB;AAC1C,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,OAAO,QAAQ,yBAAwB;AAChD,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,IAAI,QAAQ,sBAAqB;AAE1C,OAAO,MAAMC,eAAe;IAC1B1B;IACAlB;IACAC;IACAC;IACA,SAASC;IACT,SAASC;IACTC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAE;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACA,YAAYC;IACZC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACA,SAASC;AACX,EAAwD"}
1
+ {"version":3,"sources":["../../src/translations/index.ts"],"sourcesContent":["import type { NestedKeysStripped, SupportedLanguages } from '@payloadcms/translations'\n\nimport type { PluginDefaultTranslationsObject } from './types.js'\n\nimport { ar } from './languages/ar.js'\nimport { az } from './languages/az.js'\nimport { bg } from './languages/bg.js'\nimport { bnBd } from './languages/bnBd.js'\nimport { bnIn } from './languages/bnIn.js'\nimport { ca } from './languages/ca.js'\nimport { cs } from './languages/cs.js'\nimport { da } from './languages/da.js'\nimport { de } from './languages/de.js'\nimport { en } from './languages/en.js'\nimport { es } from './languages/es.js'\nimport { et } from './languages/et.js'\nimport { fa } from './languages/fa.js'\nimport { fr } from './languages/fr.js'\nimport { he } from './languages/he.js'\nimport { hr } from './languages/hr.js'\nimport { hu } from './languages/hu.js'\nimport { hy } from './languages/hy.js'\nimport { id } from './languages/id.js'\nimport { is } from './languages/is.js'\nimport { it } from './languages/it.js'\nimport { ja } from './languages/ja.js'\nimport { ko } from './languages/ko.js'\nimport { lt } from './languages/lt.js'\nimport { lv } from './languages/lv.js'\nimport { my } from './languages/my.js'\nimport { nb } from './languages/nb.js'\nimport { nl } from './languages/nl.js'\nimport { pl } from './languages/pl.js'\nimport { pt } from './languages/pt.js'\nimport { ro } from './languages/ro.js'\nimport { rs } from './languages/rs.js'\nimport { rsLatin } from './languages/rsLatin.js'\nimport { ru } from './languages/ru.js'\nimport { sk } from './languages/sk.js'\nimport { sl } from './languages/sl.js'\nimport { sv } from './languages/sv.js'\nimport { ta } from './languages/ta.js'\nimport { th } from './languages/th.js'\nimport { tr } from './languages/tr.js'\nimport { uk } from './languages/uk.js'\nimport { vi } from './languages/vi.js'\nimport { zh } from './languages/zh.js'\nimport { zhTw } from './languages/zhTw.js'\n\nexport const translations = {\n id,\n ar,\n az,\n bg,\n 'bn-BD': bnBd,\n 'bn-IN': bnIn,\n ca,\n cs,\n da,\n de,\n en,\n es,\n et,\n fa,\n fr,\n he,\n hr,\n hu,\n hy,\n is,\n it,\n ja,\n ko,\n lt,\n lv,\n my,\n nb,\n nl,\n pl,\n pt,\n ro,\n rs,\n 'rs-latin': rsLatin,\n ru,\n sk,\n sl,\n sv,\n ta,\n th,\n tr,\n uk,\n vi,\n zh,\n 'zh-TW': zhTw,\n} as SupportedLanguages<PluginDefaultTranslationsObject>\n\nexport type PluginMCPTranslations = PluginDefaultTranslationsObject\n\nexport type PluginMCPTranslationKeys = NestedKeysStripped<PluginMCPTranslations>\n\ndeclare module '@payloadcms/translations' {\n interface CustomTranslationKeys {\n 'plugin-mcp': PluginMCPTranslationKeys\n }\n}\n"],"names":["ar","az","bg","bnBd","bnIn","ca","cs","da","de","en","es","et","fa","fr","he","hr","hu","hy","id","is","it","ja","ko","lt","lv","my","nb","nl","pl","pt","ro","rs","rsLatin","ru","sk","sl","sv","ta","th","tr","uk","vi","zh","zhTw","translations"],"mappings":"AAIA,SAASA,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,IAAI,QAAQ,sBAAqB;AAC1C,SAASC,IAAI,QAAQ,sBAAqB;AAC1C,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,OAAO,QAAQ,yBAAwB;AAChD,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,EAAE,QAAQ,oBAAmB;AACtC,SAASC,IAAI,QAAQ,sBAAqB;AAE1C,OAAO,MAAMC,eAAe;IAC1B1B;IACAlB;IACAC;IACAC;IACA,SAASC;IACT,SAASC;IACTC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAE;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACA,YAAYC;IACZC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACA,SAASC;AACX,EAAwD"}
@@ -1 +1 @@
1
- {"version":3,"file":"ar.d.ts","sourceRoot":"","sources":["../../../src/translations/languages/ar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B1B,CAAA;AAED,eAAO,MAAM,EAAE,EAAE,cAGhB,CAAA"}
1
+ {"version":3,"file":"ar.d.ts","sourceRoot":"","sources":["../../../src/translations/languages/ar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8B1B,CAAA;AAED,eAAO,MAAM,EAAE,EAAE,cAGhB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/translations/languages/ar.ts"],"sourcesContent":["import type { PluginLanguage } from '../types.js'\n\nexport const arTranslations = {\n 'plugin-mcp': {\n apiKeyDescription: 'تتحكم مفاتيح API في المجموعات والموارد والأدوات والمطالبات التي يمكن لعملاء MCP الوصول إليها.',\n apiKeys: 'مفاتيح API',\n authentication: 'المصادقة',\n description: 'الوصف',\n descriptionDescription: 'صف الغرض من مفتاح API.',\n dismiss: 'إغلاق',\n keepKeyPrivate: 'حافظ على سرية مفتاحك.',\n keyPrivateDescription: 'هذا المفتاح يمنح MCP إمكانية الوصول إلى محتواك. لا تشاركه مع الآخرين!',\n lastUsed: 'آخر استخدام',\n manageAPIKeys: 'إدارة مفاتيح API',\n mcp: 'MCP',\n noAPIKeys: 'لا توجد مفاتيح API',\n operations: 'العمليات',\n overrideAccess: 'تجاوز التحكم في الوصول',\n overrideAccessDescription: 'عند تفعيله، يتجاوز هذا المفتاح تحكم Payload في الوصول لكل عملية ينفذها. اتركه غير مفعل ما لم يكن لديك سبب محدد.',\n permissions: 'الأذونات',\n permissionsDescription: 'اسمح لعملاء MCP بالوصول إلى المجموعات والأدوات والموارد والمطالبات التالية.',\n prompts: 'المطالبات',\n resources: 'الموارد',\n server: 'الخادم',\n title: 'العنوان',\n titleDescription: 'اسم مستعار مفيد لمفتاح API.',\n tools: 'الأدوات',\n userDescription: 'المستخدم الذي سيعمل MCP بصفته.',\n },\n}\n\nexport const ar: PluginLanguage = {\n dateFNSKey: 'ar',\n translations: arTranslations,\n}\n"],"names":["arTranslations","apiKeyDescription","apiKeys","authentication","description","descriptionDescription","dismiss","keepKeyPrivate","keyPrivateDescription","lastUsed","manageAPIKeys","mcp","noAPIKeys","operations","overrideAccess","overrideAccessDescription","permissions","permissionsDescription","prompts","resources","server","title","titleDescription","tools","userDescription","ar","dateFNSKey","translations"],"mappings":"AAEA,OAAO,MAAMA,iBAAiB;IAC5B,cAAc;QACZC,mBAAmB;QACnBC,SAAS;QACTC,gBAAgB;QAChBC,aAAa;QACbC,wBAAwB;QACxBC,SAAS;QACTC,gBAAgB;QAChBC,uBAAuB;QACvBC,UAAU;QACVC,eAAe;QACfC,KAAK;QACLC,WAAW;QACXC,YAAY;QACZC,gBAAgB;QAChBC,2BAA2B;QAC3BC,aAAa;QACbC,wBAAwB;QACxBC,SAAS;QACTC,WAAW;QACXC,QAAQ;QACRC,OAAO;QACPC,kBAAkB;QAClBC,OAAO;QACPC,iBAAiB;IACnB;AACF,EAAC;AAED,OAAO,MAAMC,KAAqB;IAChCC,YAAY;IACZC,cAAc3B;AAChB,EAAC"}
1
+ {"version":3,"sources":["../../../src/translations/languages/ar.ts"],"sourcesContent":["import type { PluginLanguage } from '../types.js'\n\nexport const arTranslations = {\n 'plugin-mcp': {\n apiKeyDescription:\n 'تتحكم مفاتيح API في المجموعات والموارد والأدوات والمطالبات التي يمكن لعملاء MCP الوصول إليها.',\n apiKeys: 'مفاتيح API',\n authentication: 'المصادقة',\n description: 'الوصف',\n descriptionDescription: 'صف الغرض من مفتاح API.',\n dismiss: 'إغلاق',\n keepKeyPrivate: 'حافظ على سرية مفتاحك.',\n keyPrivateDescription: 'هذا المفتاح يمنح MCP إمكانية الوصول إلى محتواك. لا تشاركه مع الآخرين!',\n lastUsed: 'آخر استخدام',\n manageAPIKeys: 'إدارة مفاتيح API',\n mcp: 'MCP',\n noAPIKeys: 'لا توجد مفاتيح API',\n operations: 'العمليات',\n overrideAccess: 'تجاوز التحكم في الوصول',\n overrideAccessDescription:\n 'عند تفعيله، يتجاوز هذا المفتاح تحكم Payload في الوصول لكل عملية ينفذها. اتركه غير مفعل ما لم يكن لديك سبب محدد.',\n permissions: 'الأذونات',\n permissionsDescription:\n 'اسمح لعملاء MCP بالوصول إلى المجموعات والأدوات والموارد والمطالبات التالية.',\n prompts: 'المطالبات',\n resources: 'الموارد',\n server: 'الخادم',\n title: 'العنوان',\n titleDescription: 'اسم مستعار مفيد لمفتاح API.',\n tools: 'الأدوات',\n userDescription: 'المستخدم الذي سيعمل MCP بصفته.',\n },\n}\n\nexport const ar: PluginLanguage = {\n dateFNSKey: 'ar',\n translations: arTranslations,\n}\n"],"names":["arTranslations","apiKeyDescription","apiKeys","authentication","description","descriptionDescription","dismiss","keepKeyPrivate","keyPrivateDescription","lastUsed","manageAPIKeys","mcp","noAPIKeys","operations","overrideAccess","overrideAccessDescription","permissions","permissionsDescription","prompts","resources","server","title","titleDescription","tools","userDescription","ar","dateFNSKey","translations"],"mappings":"AAEA,OAAO,MAAMA,iBAAiB;IAC5B,cAAc;QACZC,mBACE;QACFC,SAAS;QACTC,gBAAgB;QAChBC,aAAa;QACbC,wBAAwB;QACxBC,SAAS;QACTC,gBAAgB;QAChBC,uBAAuB;QACvBC,UAAU;QACVC,eAAe;QACfC,KAAK;QACLC,WAAW;QACXC,YAAY;QACZC,gBAAgB;QAChBC,2BACE;QACFC,aAAa;QACbC,wBACE;QACFC,SAAS;QACTC,WAAW;QACXC,QAAQ;QACRC,OAAO;QACPC,kBAAkB;QAClBC,OAAO;QACPC,iBAAiB;IACnB;AACF,EAAC;AAED,OAAO,MAAMC,KAAqB;IAChCC,YAAY;IACZC,cAAc3B;AAChB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"az.d.ts","sourceRoot":"","sources":["../../../src/translations/languages/az.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B1B,CAAA;AAED,eAAO,MAAM,EAAE,EAAE,cAGhB,CAAA"}
1
+ {"version":3,"file":"az.d.ts","sourceRoot":"","sources":["../../../src/translations/languages/az.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8B1B,CAAA;AAED,eAAO,MAAM,EAAE,EAAE,cAGhB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/translations/languages/az.ts"],"sourcesContent":["import type { PluginLanguage } from '../types.js'\n\nexport const azTranslations = {\n 'plugin-mcp': {\n apiKeyDescription: 'API açarları MCP müştərilərinin hansı kolleksiyalara, resurslara, alətlərə və promptlara daxil ola biləcəyini idarə edir.',\n apiKeys: 'API açarları',\n authentication: 'Autentifikasiya',\n description: 'Təsvir',\n descriptionDescription: 'API açarının məqsədini təsvir edin.',\n dismiss: 'Bağla',\n keepKeyPrivate: 'Açarınızı məxfi saxlayın.',\n keyPrivateDescription: 'Bu açar MCP-yə məzmununuza giriş verir. Onu başqaları ilə paylaşmayın!',\n lastUsed: 'Son istifadə',\n manageAPIKeys: 'API açarlarını idarə et',\n mcp: 'MCP',\n noAPIKeys: 'API açarı yoxdur',\n operations: 'Əməliyyatlar',\n overrideAccess: 'Giriş nəzarətini keç',\n overrideAccessDescription: 'İşarələndikdə bu açar icra etdiyi hər əməliyyatda Payload giriş qaydalarını keçir. Xüsusi səbəbiniz yoxdursa işarələməyin.',\n permissions: 'İcazələr',\n permissionsDescription: 'MCP müştərilərinə aşağıdakı kolleksiyalara, alətlərə, resurslara və promptlara giriş icazəsi verin.',\n prompts: 'Promptlar',\n resources: 'Resurslar',\n server: 'Server',\n title: 'Başlıq',\n titleDescription: 'API açarı üçün faydalı qısa ad.',\n tools: 'Alətlər',\n userDescription: 'MCP-nin adından işləyəcəyi istifadəçi.',\n },\n}\n\nexport const az: PluginLanguage = {\n dateFNSKey: 'az',\n translations: azTranslations,\n}\n"],"names":["azTranslations","apiKeyDescription","apiKeys","authentication","description","descriptionDescription","dismiss","keepKeyPrivate","keyPrivateDescription","lastUsed","manageAPIKeys","mcp","noAPIKeys","operations","overrideAccess","overrideAccessDescription","permissions","permissionsDescription","prompts","resources","server","title","titleDescription","tools","userDescription","az","dateFNSKey","translations"],"mappings":"AAEA,OAAO,MAAMA,iBAAiB;IAC5B,cAAc;QACZC,mBAAmB;QACnBC,SAAS;QACTC,gBAAgB;QAChBC,aAAa;QACbC,wBAAwB;QACxBC,SAAS;QACTC,gBAAgB;QAChBC,uBAAuB;QACvBC,UAAU;QACVC,eAAe;QACfC,KAAK;QACLC,WAAW;QACXC,YAAY;QACZC,gBAAgB;QAChBC,2BAA2B;QAC3BC,aAAa;QACbC,wBAAwB;QACxBC,SAAS;QACTC,WAAW;QACXC,QAAQ;QACRC,OAAO;QACPC,kBAAkB;QAClBC,OAAO;QACPC,iBAAiB;IACnB;AACF,EAAC;AAED,OAAO,MAAMC,KAAqB;IAChCC,YAAY;IACZC,cAAc3B;AAChB,EAAC"}
1
+ {"version":3,"sources":["../../../src/translations/languages/az.ts"],"sourcesContent":["import type { PluginLanguage } from '../types.js'\n\nexport const azTranslations = {\n 'plugin-mcp': {\n apiKeyDescription:\n 'API açarları MCP müştərilərinin hansı kolleksiyalara, resurslara, alətlərə və promptlara daxil ola biləcəyini idarə edir.',\n apiKeys: 'API açarları',\n authentication: 'Autentifikasiya',\n description: 'Təsvir',\n descriptionDescription: 'API açarının məqsədini təsvir edin.',\n dismiss: 'Bağla',\n keepKeyPrivate: 'Açarınızı məxfi saxlayın.',\n keyPrivateDescription: 'Bu açar MCP-yə məzmununuza giriş verir. Onu başqaları ilə paylaşmayın!',\n lastUsed: 'Son istifadə',\n manageAPIKeys: 'API açarlarını idarə et',\n mcp: 'MCP',\n noAPIKeys: 'API açarı yoxdur',\n operations: 'Əməliyyatlar',\n overrideAccess: 'Giriş nəzarətini keç',\n overrideAccessDescription:\n 'İşarələndikdə bu açar icra etdiyi hər əməliyyatda Payload giriş qaydalarını keçir. Xüsusi səbəbiniz yoxdursa işarələməyin.',\n permissions: 'İcazələr',\n permissionsDescription:\n 'MCP müştərilərinə aşağıdakı kolleksiyalara, alətlərə, resurslara və promptlara giriş icazəsi verin.',\n prompts: 'Promptlar',\n resources: 'Resurslar',\n server: 'Server',\n title: 'Başlıq',\n titleDescription: 'API açarı üçün faydalı qısa ad.',\n tools: 'Alətlər',\n userDescription: 'MCP-nin adından işləyəcəyi istifadəçi.',\n },\n}\n\nexport const az: PluginLanguage = {\n dateFNSKey: 'az',\n translations: azTranslations,\n}\n"],"names":["azTranslations","apiKeyDescription","apiKeys","authentication","description","descriptionDescription","dismiss","keepKeyPrivate","keyPrivateDescription","lastUsed","manageAPIKeys","mcp","noAPIKeys","operations","overrideAccess","overrideAccessDescription","permissions","permissionsDescription","prompts","resources","server","title","titleDescription","tools","userDescription","az","dateFNSKey","translations"],"mappings":"AAEA,OAAO,MAAMA,iBAAiB;IAC5B,cAAc;QACZC,mBACE;QACFC,SAAS;QACTC,gBAAgB;QAChBC,aAAa;QACbC,wBAAwB;QACxBC,SAAS;QACTC,gBAAgB;QAChBC,uBAAuB;QACvBC,UAAU;QACVC,eAAe;QACfC,KAAK;QACLC,WAAW;QACXC,YAAY;QACZC,gBAAgB;QAChBC,2BACE;QACFC,aAAa;QACbC,wBACE;QACFC,SAAS;QACTC,WAAW;QACXC,QAAQ;QACRC,OAAO;QACPC,kBAAkB;QAClBC,OAAO;QACPC,iBAAiB;IACnB;AACF,EAAC;AAED,OAAO,MAAMC,KAAqB;IAChCC,YAAY;IACZC,cAAc3B;AAChB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bg.d.ts","sourceRoot":"","sources":["../../../src/translations/languages/bg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B1B,CAAA;AAED,eAAO,MAAM,EAAE,EAAE,cAGhB,CAAA"}
1
+ {"version":3,"file":"bg.d.ts","sourceRoot":"","sources":["../../../src/translations/languages/bg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B1B,CAAA;AAED,eAAO,MAAM,EAAE,EAAE,cAGhB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/translations/languages/bg.ts"],"sourcesContent":["import type { PluginLanguage } from '../types.js'\n\nexport const bgTranslations = {\n 'plugin-mcp': {\n apiKeyDescription: 'API ключовете контролират до кои колекции, ресурси, инструменти и подкани имат достъп MCP клиентите.',\n apiKeys: 'API ключове',\n authentication: 'Удостоверяване',\n description: 'Описание',\n descriptionDescription: 'Опишете предназначението на API ключа.',\n dismiss: 'Затвори',\n keepKeyPrivate: 'Пазете ключа си поверителен.',\n keyPrivateDescription: 'Този ключ дава на MCP достъп до съдържанието ви. Не го споделяйте с други!',\n lastUsed: 'Последно използван',\n manageAPIKeys: 'Управление на API ключове',\n mcp: 'MCP',\n noAPIKeys: 'Няма API ключове',\n operations: 'Операции',\n overrideAccess: 'Заобикаляне на контрола за достъп',\n overrideAccessDescription: 'Когато е отметнато, този ключ заобикаля контрола за достъп на Payload при всяка операция. Оставете изключено, освен ако нямате конкретна причина.',\n permissions: 'Разрешения',\n permissionsDescription: 'Разрешете на MCP клиентите достъп до следните колекции, инструменти, ресурси и подкани.',\n prompts: 'Подкани',\n resources: 'Ресурси',\n server: 'Сървър',\n title: 'Заглавие',\n titleDescription: 'Полезно име за API ключа.',\n tools: 'Инструменти',\n userDescription: 'Потребителят, от чието име ще действа MCP.',\n },\n}\n\nexport const bg: PluginLanguage = {\n dateFNSKey: 'bg',\n translations: bgTranslations,\n}\n"],"names":["bgTranslations","apiKeyDescription","apiKeys","authentication","description","descriptionDescription","dismiss","keepKeyPrivate","keyPrivateDescription","lastUsed","manageAPIKeys","mcp","noAPIKeys","operations","overrideAccess","overrideAccessDescription","permissions","permissionsDescription","prompts","resources","server","title","titleDescription","tools","userDescription","bg","dateFNSKey","translations"],"mappings":"AAEA,OAAO,MAAMA,iBAAiB;IAC5B,cAAc;QACZC,mBAAmB;QACnBC,SAAS;QACTC,gBAAgB;QAChBC,aAAa;QACbC,wBAAwB;QACxBC,SAAS;QACTC,gBAAgB;QAChBC,uBAAuB;QACvBC,UAAU;QACVC,eAAe;QACfC,KAAK;QACLC,WAAW;QACXC,YAAY;QACZC,gBAAgB;QAChBC,2BAA2B;QAC3BC,aAAa;QACbC,wBAAwB;QACxBC,SAAS;QACTC,WAAW;QACXC,QAAQ;QACRC,OAAO;QACPC,kBAAkB;QAClBC,OAAO;QACPC,iBAAiB;IACnB;AACF,EAAC;AAED,OAAO,MAAMC,KAAqB;IAChCC,YAAY;IACZC,cAAc3B;AAChB,EAAC"}
1
+ {"version":3,"sources":["../../../src/translations/languages/bg.ts"],"sourcesContent":["import type { PluginLanguage } from '../types.js'\n\nexport const bgTranslations = {\n 'plugin-mcp': {\n apiKeyDescription:\n 'API ключовете контролират до кои колекции, ресурси, инструменти и подкани имат достъп MCP клиентите.',\n apiKeys: 'API ключове',\n authentication: 'Удостоверяване',\n description: 'Описание',\n descriptionDescription: 'Опишете предназначението на API ключа.',\n dismiss: 'Затвори',\n keepKeyPrivate: 'Пазете ключа си поверителен.',\n keyPrivateDescription:\n 'Този ключ дава на MCP достъп до съдържанието ви. Не го споделяйте с други!',\n lastUsed: 'Последно използван',\n manageAPIKeys: 'Управление на API ключове',\n mcp: 'MCP',\n noAPIKeys: 'Няма API ключове',\n operations: 'Операции',\n overrideAccess: 'Заобикаляне на контрола за достъп',\n overrideAccessDescription:\n 'Когато е отметнато, този ключ заобикаля контрола за достъп на Payload при всяка операция. Оставете изключено, освен ако нямате конкретна причина.',\n permissions: 'Разрешения',\n permissionsDescription:\n 'Разрешете на MCP клиентите достъп до следните колекции, инструменти, ресурси и подкани.',\n prompts: 'Подкани',\n resources: 'Ресурси',\n server: 'Сървър',\n title: 'Заглавие',\n titleDescription: 'Полезно име за API ключа.',\n tools: 'Инструменти',\n userDescription: 'Потребителят, от чието име ще действа MCP.',\n },\n}\n\nexport const bg: PluginLanguage = {\n dateFNSKey: 'bg',\n translations: bgTranslations,\n}\n"],"names":["bgTranslations","apiKeyDescription","apiKeys","authentication","description","descriptionDescription","dismiss","keepKeyPrivate","keyPrivateDescription","lastUsed","manageAPIKeys","mcp","noAPIKeys","operations","overrideAccess","overrideAccessDescription","permissions","permissionsDescription","prompts","resources","server","title","titleDescription","tools","userDescription","bg","dateFNSKey","translations"],"mappings":"AAEA,OAAO,MAAMA,iBAAiB;IAC5B,cAAc;QACZC,mBACE;QACFC,SAAS;QACTC,gBAAgB;QAChBC,aAAa;QACbC,wBAAwB;QACxBC,SAAS;QACTC,gBAAgB;QAChBC,uBACE;QACFC,UAAU;QACVC,eAAe;QACfC,KAAK;QACLC,WAAW;QACXC,YAAY;QACZC,gBAAgB;QAChBC,2BACE;QACFC,aAAa;QACbC,wBACE;QACFC,SAAS;QACTC,WAAW;QACXC,QAAQ;QACRC,OAAO;QACPC,kBAAkB;QAClBC,OAAO;QACPC,iBAAiB;IACnB;AACF,EAAC;AAED,OAAO,MAAMC,KAAqB;IAChCC,YAAY;IACZC,cAAc3B;AAChB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bnBd.d.ts","sourceRoot":"","sources":["../../../src/translations/languages/bnBd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B5B,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,cAGlB,CAAA"}
1
+ {"version":3,"file":"bnBd.d.ts","sourceRoot":"","sources":["../../../src/translations/languages/bnBd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B5B,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,cAGlB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/translations/languages/bnBd.ts"],"sourcesContent":["import type { PluginLanguage } from '../types.js'\n\nexport const bnBdTranslations = {\n 'plugin-mcp': {\n apiKeyDescription: 'API কী নির্ধারণ করে MCP ক্লায়েন্ট কোন সংগ্রহ, রিসোর্স, টুল এবং প্রম্পটে প্রবেশ করতে পারবে।',\n apiKeys: 'API কীসমূহ',\n authentication: 'প্রমাণীকরণ',\n description: 'বিবরণ',\n descriptionDescription: 'API কী-এর উদ্দেশ্য লিখুন।',\n dismiss: 'বন্ধ করুন',\n keepKeyPrivate: 'আপনার কী ব্যক্তিগত রাখুন।',\n keyPrivateDescription: 'এই কী MCP-কে আপনার কনটেন্টে প্রবেশাধিকার দেয়। এটি অন্যদের সাথে শেয়ার করবেন না!',\n lastUsed: 'সর্বশেষ ব্যবহৃত',\n manageAPIKeys: 'API কী পরিচালনা করুন',\n mcp: 'MCP',\n noAPIKeys: 'কোনো API কী নেই',\n operations: 'অপারেশনসমূহ',\n overrideAccess: 'অ্যাক্সেস নিয়ন্ত্রণ অগ্রাহ্য করুন',\n overrideAccessDescription: 'চালু থাকলে, এই কী প্রতিটি অপারেশনে Payload অ্যাক্সেস নিয়ম অগ্রাহ্য করবে। নির্দিষ্ট কারণ না থাকলে বন্ধ রাখুন।',\n permissions: 'অনুমতিসমূহ',\n permissionsDescription: 'MCP ক্লায়েন্টকে নিচের সংগ্রহ, টুল, রিসোর্স এবং প্রম্পটে প্রবেশের অনুমতি দিন।',\n prompts: 'প্রম্পটসমূহ',\n resources: 'রিসোর্সসমূহ',\n server: 'সার্ভার',\n title: 'শিরোনাম',\n titleDescription: 'API কী-এর জন্য একটি সহায়ক ডাকনাম।',\n tools: 'টুলসমূহ',\n userDescription: 'MCP যে ব্যবহারকারীর পক্ষ থেকে কাজ করবে।',\n },\n}\n\nexport const bnBd: PluginLanguage = {\n dateFNSKey: 'bn-BD',\n translations: bnBdTranslations,\n}\n"],"names":["bnBdTranslations","apiKeyDescription","apiKeys","authentication","description","descriptionDescription","dismiss","keepKeyPrivate","keyPrivateDescription","lastUsed","manageAPIKeys","mcp","noAPIKeys","operations","overrideAccess","overrideAccessDescription","permissions","permissionsDescription","prompts","resources","server","title","titleDescription","tools","userDescription","bnBd","dateFNSKey","translations"],"mappings":"AAEA,OAAO,MAAMA,mBAAmB;IAC9B,cAAc;QACZC,mBAAmB;QACnBC,SAAS;QACTC,gBAAgB;QAChBC,aAAa;QACbC,wBAAwB;QACxBC,SAAS;QACTC,gBAAgB;QAChBC,uBAAuB;QACvBC,UAAU;QACVC,eAAe;QACfC,KAAK;QACLC,WAAW;QACXC,YAAY;QACZC,gBAAgB;QAChBC,2BAA2B;QAC3BC,aAAa;QACbC,wBAAwB;QACxBC,SAAS;QACTC,WAAW;QACXC,QAAQ;QACRC,OAAO;QACPC,kBAAkB;QAClBC,OAAO;QACPC,iBAAiB;IACnB;AACF,EAAC;AAED,OAAO,MAAMC,OAAuB;IAClCC,YAAY;IACZC,cAAc3B;AAChB,EAAC"}
1
+ {"version":3,"sources":["../../../src/translations/languages/bnBd.ts"],"sourcesContent":["import type { PluginLanguage } from '../types.js'\n\nexport const bnBdTranslations = {\n 'plugin-mcp': {\n apiKeyDescription:\n 'API কী নির্ধারণ করে MCP ক্লায়েন্ট কোন সংগ্রহ, রিসোর্স, টুল এবং প্রম্পটে প্রবেশ করতে পারবে।',\n apiKeys: 'API কীসমূহ',\n authentication: 'প্রমাণীকরণ',\n description: 'বিবরণ',\n descriptionDescription: 'API কী-এর উদ্দেশ্য লিখুন।',\n dismiss: 'বন্ধ করুন',\n keepKeyPrivate: 'আপনার কী ব্যক্তিগত রাখুন।',\n keyPrivateDescription:\n 'এই কী MCP-কে আপনার কনটেন্টে প্রবেশাধিকার দেয়। এটি অন্যদের সাথে শেয়ার করবেন না!',\n lastUsed: 'সর্বশেষ ব্যবহৃত',\n manageAPIKeys: 'API কী পরিচালনা করুন',\n mcp: 'MCP',\n noAPIKeys: 'কোনো API কী নেই',\n operations: 'অপারেশনসমূহ',\n overrideAccess: 'অ্যাক্সেস নিয়ন্ত্রণ অগ্রাহ্য করুন',\n overrideAccessDescription:\n 'চালু থাকলে, এই কী প্রতিটি অপারেশনে Payload অ্যাক্সেস নিয়ম অগ্রাহ্য করবে। নির্দিষ্ট কারণ না থাকলে বন্ধ রাখুন।',\n permissions: 'অনুমতিসমূহ',\n permissionsDescription:\n 'MCP ক্লায়েন্টকে নিচের সংগ্রহ, টুল, রিসোর্স এবং প্রম্পটে প্রবেশের অনুমতি দিন।',\n prompts: 'প্রম্পটসমূহ',\n resources: 'রিসোর্সসমূহ',\n server: 'সার্ভার',\n title: 'শিরোনাম',\n titleDescription: 'API কী-এর জন্য একটি সহায়ক ডাকনাম।',\n tools: 'টুলসমূহ',\n userDescription: 'MCP যে ব্যবহারকারীর পক্ষ থেকে কাজ করবে।',\n },\n}\n\nexport const bnBd: PluginLanguage = {\n dateFNSKey: 'bn-BD',\n translations: bnBdTranslations,\n}\n"],"names":["bnBdTranslations","apiKeyDescription","apiKeys","authentication","description","descriptionDescription","dismiss","keepKeyPrivate","keyPrivateDescription","lastUsed","manageAPIKeys","mcp","noAPIKeys","operations","overrideAccess","overrideAccessDescription","permissions","permissionsDescription","prompts","resources","server","title","titleDescription","tools","userDescription","bnBd","dateFNSKey","translations"],"mappings":"AAEA,OAAO,MAAMA,mBAAmB;IAC9B,cAAc;QACZC,mBACE;QACFC,SAAS;QACTC,gBAAgB;QAChBC,aAAa;QACbC,wBAAwB;QACxBC,SAAS;QACTC,gBAAgB;QAChBC,uBACE;QACFC,UAAU;QACVC,eAAe;QACfC,KAAK;QACLC,WAAW;QACXC,YAAY;QACZC,gBAAgB;QAChBC,2BACE;QACFC,aAAa;QACbC,wBACE;QACFC,SAAS;QACTC,WAAW;QACXC,QAAQ;QACRC,OAAO;QACPC,kBAAkB;QAClBC,OAAO;QACPC,iBAAiB;IACnB;AACF,EAAC;AAED,OAAO,MAAMC,OAAuB;IAClCC,YAAY;IACZC,cAAc3B;AAChB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bnIn.d.ts","sourceRoot":"","sources":["../../../src/translations/languages/bnIn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B5B,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,cAGlB,CAAA"}
1
+ {"version":3,"file":"bnIn.d.ts","sourceRoot":"","sources":["../../../src/translations/languages/bnIn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B5B,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,cAGlB,CAAA"}