@contentful/mcp-server 1.1.0 → 1.2.1

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 (161) hide show
  1. package/build/config/contentful.js +2 -1
  2. package/build/config/contentful.js.map +1 -0
  3. package/build/config/env.js +1 -0
  4. package/build/config/env.js.map +1 -0
  5. package/build/config/version.js +1 -0
  6. package/build/config/version.js.map +1 -0
  7. package/build/index.js +1 -0
  8. package/build/index.js.map +1 -0
  9. package/build/prompts/register.js +1 -0
  10. package/build/prompts/register.js.map +1 -0
  11. package/build/resources/register.js +1 -0
  12. package/build/resources/register.js.map +1 -0
  13. package/build/tools/ai-actions/createAiAction.js +3 -1
  14. package/build/tools/ai-actions/createAiAction.js.map +1 -0
  15. package/build/tools/ai-actions/deleteAiAction.js +1 -0
  16. package/build/tools/ai-actions/deleteAiAction.js.map +1 -0
  17. package/build/tools/ai-actions/getAiAction.js +1 -0
  18. package/build/tools/ai-actions/getAiAction.js.map +1 -0
  19. package/build/tools/ai-actions/getAiActionInvocation.js +1 -0
  20. package/build/tools/ai-actions/getAiActionInvocation.js.map +1 -0
  21. package/build/tools/ai-actions/invokeAiAction.js +1 -0
  22. package/build/tools/ai-actions/invokeAiAction.js.map +1 -0
  23. package/build/tools/ai-actions/listAiActions.js +1 -0
  24. package/build/tools/ai-actions/listAiActions.js.map +1 -0
  25. package/build/tools/ai-actions/mockClient.js +1 -0
  26. package/build/tools/ai-actions/mockClient.js.map +1 -0
  27. package/build/tools/ai-actions/publishAiAction.js +1 -0
  28. package/build/tools/ai-actions/publishAiAction.js.map +1 -0
  29. package/build/tools/ai-actions/register.js +1 -0
  30. package/build/tools/ai-actions/register.js.map +1 -0
  31. package/build/tools/ai-actions/unpublishAiAction.js +1 -0
  32. package/build/tools/ai-actions/unpublishAiAction.js.map +1 -0
  33. package/build/tools/ai-actions/updateAiAction.js +3 -1
  34. package/build/tools/ai-actions/updateAiAction.js.map +1 -0
  35. package/build/tools/assets/deleteAsset.js +1 -0
  36. package/build/tools/assets/deleteAsset.js.map +1 -0
  37. package/build/tools/assets/getAsset.js +1 -0
  38. package/build/tools/assets/getAsset.js.map +1 -0
  39. package/build/tools/assets/listAssets.js +1 -0
  40. package/build/tools/assets/listAssets.js.map +1 -0
  41. package/build/tools/assets/mockClient.js +160 -0
  42. package/build/tools/assets/mockClient.js.map +1 -0
  43. package/build/tools/assets/publishAsset.js +1 -0
  44. package/build/tools/assets/publishAsset.js.map +1 -0
  45. package/build/tools/assets/register.js +1 -0
  46. package/build/tools/assets/register.js.map +1 -0
  47. package/build/tools/assets/unpublishAsset.js +1 -0
  48. package/build/tools/assets/unpublishAsset.js.map +1 -0
  49. package/build/tools/assets/updateAsset.js +1 -0
  50. package/build/tools/assets/updateAsset.js.map +1 -0
  51. package/build/tools/assets/uploadAsset.js +1 -0
  52. package/build/tools/assets/uploadAsset.js.map +1 -0
  53. package/build/tools/content-types/createContentType.js +11 -3
  54. package/build/tools/content-types/createContentType.js.map +1 -0
  55. package/build/tools/content-types/deleteContentType.js +1 -0
  56. package/build/tools/content-types/deleteContentType.js.map +1 -0
  57. package/build/tools/content-types/getContentType.js +1 -0
  58. package/build/tools/content-types/getContentType.js.map +1 -0
  59. package/build/tools/content-types/listContentTypes.js +1 -0
  60. package/build/tools/content-types/listContentTypes.js.map +1 -0
  61. package/build/tools/content-types/mockClient.js +35 -30
  62. package/build/tools/content-types/mockClient.js.map +1 -0
  63. package/build/tools/content-types/publishContentType.js +1 -0
  64. package/build/tools/content-types/publishContentType.js.map +1 -0
  65. package/build/tools/content-types/register.js +1 -0
  66. package/build/tools/content-types/register.js.map +1 -0
  67. package/build/tools/content-types/unpublishContentType.js +1 -0
  68. package/build/tools/content-types/unpublishContentType.js.map +1 -0
  69. package/build/tools/content-types/updateContentType.js +1 -0
  70. package/build/tools/content-types/updateContentType.js.map +1 -0
  71. package/build/tools/context/getInitialContextTool.js +1 -0
  72. package/build/tools/context/getInitialContextTool.js.map +1 -0
  73. package/build/tools/context/instructions.js +1 -0
  74. package/build/tools/context/instructions.js.map +1 -0
  75. package/build/tools/context/middleware.js +1 -0
  76. package/build/tools/context/middleware.js.map +1 -0
  77. package/build/tools/context/register.js +1 -0
  78. package/build/tools/context/register.js.map +1 -0
  79. package/build/tools/context/store.js +1 -0
  80. package/build/tools/context/store.js.map +1 -0
  81. package/build/tools/entries/createEntry.js +1 -0
  82. package/build/tools/entries/createEntry.js.map +1 -0
  83. package/build/tools/entries/deleteEntry.js +1 -0
  84. package/build/tools/entries/deleteEntry.js.map +1 -0
  85. package/build/tools/entries/getEntry.js +1 -0
  86. package/build/tools/entries/getEntry.js.map +1 -0
  87. package/build/tools/entries/mockClient.js +1 -0
  88. package/build/tools/entries/mockClient.js.map +1 -0
  89. package/build/tools/entries/publishEntry.js +1 -0
  90. package/build/tools/entries/publishEntry.js.map +1 -0
  91. package/build/tools/entries/register.js +1 -0
  92. package/build/tools/entries/register.js.map +1 -0
  93. package/build/tools/entries/searchEntries.js +1 -0
  94. package/build/tools/entries/searchEntries.js.map +1 -0
  95. package/build/tools/entries/unpublishEntry.js +1 -0
  96. package/build/tools/entries/unpublishEntry.js.map +1 -0
  97. package/build/tools/entries/updateEntry.js +1 -0
  98. package/build/tools/entries/updateEntry.js.map +1 -0
  99. package/build/tools/environments/createEnvironment.js +1 -0
  100. package/build/tools/environments/createEnvironment.js.map +1 -0
  101. package/build/tools/environments/deleteEnvironment.js +1 -0
  102. package/build/tools/environments/deleteEnvironment.js.map +1 -0
  103. package/build/tools/environments/listEnvironments.js +1 -1
  104. package/build/tools/environments/listEnvironments.js.map +1 -0
  105. package/build/tools/environments/mockClient.js +42 -0
  106. package/build/tools/environments/mockClient.js.map +1 -0
  107. package/build/tools/environments/register.js +1 -0
  108. package/build/tools/environments/register.js.map +1 -0
  109. package/build/tools/locales/createLocale.js +1 -0
  110. package/build/tools/locales/createLocale.js.map +1 -0
  111. package/build/tools/locales/deleteLocale.js +1 -0
  112. package/build/tools/locales/deleteLocale.js.map +1 -0
  113. package/build/tools/locales/getLocale.js +1 -0
  114. package/build/tools/locales/getLocale.js.map +1 -0
  115. package/build/tools/locales/listLocales.js +1 -0
  116. package/build/tools/locales/listLocales.js.map +1 -0
  117. package/build/tools/locales/mockClient.js +55 -0
  118. package/build/tools/locales/mockClient.js.map +1 -0
  119. package/build/tools/locales/register.js +1 -0
  120. package/build/tools/locales/register.js.map +1 -0
  121. package/build/tools/locales/updateLocale.js +1 -0
  122. package/build/tools/locales/updateLocale.js.map +1 -0
  123. package/build/tools/register.js +1 -0
  124. package/build/tools/register.js.map +1 -0
  125. package/build/tools/spaces/getSpace.js +1 -0
  126. package/build/tools/spaces/getSpace.js.map +1 -0
  127. package/build/tools/spaces/listSpaces.js +1 -0
  128. package/build/tools/spaces/listSpaces.js.map +1 -0
  129. package/build/tools/spaces/mockClient.js +35 -0
  130. package/build/tools/spaces/mockClient.js.map +1 -0
  131. package/build/tools/spaces/register.js +1 -0
  132. package/build/tools/spaces/register.js.map +1 -0
  133. package/build/tools/tags/createTag.js +1 -0
  134. package/build/tools/tags/createTag.js.map +1 -0
  135. package/build/tools/tags/listTags.js +1 -0
  136. package/build/tools/tags/listTags.js.map +1 -0
  137. package/build/tools/tags/mockClient.js +44 -0
  138. package/build/tools/tags/mockClient.js.map +1 -0
  139. package/build/tools/tags/register.js +1 -0
  140. package/build/tools/tags/register.js.map +1 -0
  141. package/build/types/aiActionTestCaseSchema.js +61 -0
  142. package/build/types/aiActionTestCaseSchema.js.map +1 -0
  143. package/build/types/contentTypeFieldValidationSchema.js +118 -0
  144. package/build/types/contentTypeFieldValidationSchema.js.map +1 -0
  145. package/build/types/fieldSchema.js +7 -2
  146. package/build/types/fieldSchema.js.map +1 -0
  147. package/build/utils/ai-actions.js +1 -0
  148. package/build/utils/ai-actions.js.map +1 -0
  149. package/build/utils/bulkOperations.js +1 -0
  150. package/build/utils/bulkOperations.js.map +1 -0
  151. package/build/utils/formatters.js +1 -0
  152. package/build/utils/formatters.js.map +1 -0
  153. package/build/utils/getVersion.js +1 -0
  154. package/build/utils/getVersion.js.map +1 -0
  155. package/build/utils/response.js +1 -0
  156. package/build/utils/response.js.map +1 -0
  157. package/build/utils/summarizer.js +1 -0
  158. package/build/utils/summarizer.js.map +1 -0
  159. package/build/utils/tools.js +1 -0
  160. package/build/utils/tools.js.map +1 -0
  161. package/package.json +3 -3
@@ -0,0 +1,35 @@
1
+ import { vi } from 'vitest';
2
+ const { mockSpaceGet, mockSpaceGetMany, mockCreateClient } = vi.hoisted(() => {
3
+ const mockSpaceGet = vi.fn();
4
+ const mockSpaceGetMany = vi.fn();
5
+ const mockCreateClient = vi.fn(() => ({
6
+ space: {
7
+ get: mockSpaceGet,
8
+ getMany: mockSpaceGetMany,
9
+ },
10
+ }));
11
+ return { mockSpaceGet, mockSpaceGetMany, mockCreateClient };
12
+ });
13
+ vi.mock('contentful-management', () => {
14
+ return {
15
+ default: {
16
+ createClient: mockCreateClient,
17
+ },
18
+ createClient: mockCreateClient,
19
+ };
20
+ });
21
+ export { mockSpaceGet, mockSpaceGetMany, mockCreateClient };
22
+ export const testSpace = {
23
+ name: 'Test Space',
24
+ sys: {
25
+ id: 'test-space-id',
26
+ type: 'Space',
27
+ createdAt: '2025-08-25T10:00:00Z',
28
+ updatedAt: '2025-08-25T10:00:00Z',
29
+ version: 1,
30
+ },
31
+ };
32
+ export const mockArgs = {
33
+ spaceId: 'test-space-id',
34
+ };
35
+ //# sourceMappingURL=mockClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockClient.js","sourceRoot":"","sources":["../../../src/tools/spaces/mockClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE5B,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;IAC3E,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7B,MAAM,gBAAgB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACjC,MAAM,gBAAgB,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QACpC,KAAK,EAAE;YACL,GAAG,EAAE,YAAY;YACjB,OAAO,EAAE,gBAAgB;SAC1B;KACF,CAAC,CAAC,CAAC;IACJ,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;AAC9D,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACpC,OAAO;QACL,OAAO,EAAE;YACP,YAAY,EAAE,gBAAgB;SAC/B;QACD,YAAY,EAAE,gBAAgB;KAC/B,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;AAE5D,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE;QACH,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,sBAAsB;QACjC,SAAS,EAAE,sBAAsB;QACjC,OAAO,EAAE,CAAC;KACX;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,OAAO,EAAE,eAAe;CACzB,CAAC"}
@@ -4,3 +4,4 @@ export function registerSpaceTools(server) {
4
4
  server.tool('list_spaces', 'List all available spaces', ListSpacesToolParams.shape, listSpacesTool);
5
5
  server.tool('get_space', 'Get details of a space', GetSpaceToolParams.shape, getSpaceTool);
6
6
  }
7
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/tools/spaces/register.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEjE,MAAM,UAAU,kBAAkB,CAAC,MAAiB;IAClD,MAAM,CAAC,IAAI,CACT,aAAa,EACb,2BAA2B,EAC3B,oBAAoB,CAAC,KAAK,EAC1B,cAAc,CACf,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,WAAW,EACX,wBAAwB,EACxB,kBAAkB,CAAC,KAAK,EACxB,YAAY,CACb,CAAC;AACJ,CAAC"}
@@ -22,3 +22,4 @@ async function tool(args) {
22
22
  return createSuccessResponse('Tag created successfully', { newTag });
23
23
  }
24
24
  export const createTagTool = withErrorHandling(tool, 'Error creating tag');
25
+ //# sourceMappingURL=createTag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTag.js","sourceRoot":"","sources":["../../../src/tools/tags/createTag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExE,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAc,CAAC,MAAM,CAAC;IACvD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAChD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC5C,UAAU,EAAE,CAAC;SACV,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;SAC3B,QAAQ,CAAC,gEAAgE,CAAC;CAC9E,CAAC,CAAC;AAIH,KAAK,UAAU,IAAI,CAAC,IAAY;IAC9B,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,KAAK,EAAE,IAAI,CAAC,EAAE;KACf,CAAC;IAEF,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAEhD,IAAI,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE;QAC3D,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;KACrC,CAAC,CAAC;IAEH,OAAO,qBAAqB,CAAC,0BAA0B,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC"}
@@ -48,3 +48,4 @@ async function tool(args) {
48
48
  });
49
49
  }
50
50
  export const listTagsTool = withErrorHandling(tool, 'Error listing tags');
51
+ //# sourceMappingURL=listTags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listTags.js","sourceRoot":"","sources":["../../../src/tools/tags/listTags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC;IACtD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACzE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAC1E,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0CAA0C,CAAC;IACvD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;CAClE,CAAC,CAAC;AAIH,KAAK,UAAU,IAAI,CAAC,IAAY;IAC9B,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,IAAI,CAAC,aAAa;KAClC,CAAC;IAEF,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAEhD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;QAC9C,GAAG,MAAM;QACT,KAAK,EAAE;YACL,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,GAAG;YACxB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;YACpB,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3C,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;SACzC;KACF,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC9C,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU;QAC9B,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS;QAC5B,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS;KAC7B,CAAC,CAAC,CAAC;IAEJ,MAAM,UAAU,GAAG,aAAa,CAC9B;QACE,GAAG,IAAI;QACP,KAAK,EAAE,cAAc;KACtB,EACD;QACE,QAAQ,EAAE,GAAG;QACb,gBAAgB,EACd,qFAAqF;KACxF,CACF,CAAC;IAEF,OAAO,qBAAqB,CAAC,6BAA6B,EAAE;QAC1D,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { vi } from 'vitest';
2
+ const { mockTagCreateWithId, mockTagGetMany, mockCreateToolClient } = vi.hoisted(() => {
3
+ return {
4
+ mockTagCreateWithId: vi.fn(),
5
+ mockTagGetMany: vi.fn(),
6
+ mockCreateToolClient: vi.fn(() => {
7
+ return {
8
+ tag: {
9
+ createWithId: mockTagCreateWithId,
10
+ getMany: mockTagGetMany,
11
+ },
12
+ };
13
+ }),
14
+ };
15
+ });
16
+ vi.mock('../../utils/tools.js', async (importOriginal) => {
17
+ const org = await importOriginal();
18
+ return {
19
+ ...org,
20
+ createToolClient: mockCreateToolClient,
21
+ };
22
+ });
23
+ export { mockTagCreateWithId, mockTagGetMany, mockCreateToolClient };
24
+ export const testTag = {
25
+ name: 'Test Tag',
26
+ sys: {
27
+ id: 'test-tag-id',
28
+ type: 'Tag',
29
+ visibility: 'public',
30
+ space: { sys: { type: 'Link', linkType: 'Space', id: 'test-space-id' } },
31
+ environment: {
32
+ sys: { type: 'Link', linkType: 'Environment', id: 'test-environment-id' },
33
+ },
34
+ createdAt: '2025-08-25T10:00:00Z',
35
+ updatedAt: '2025-08-25T10:00:00Z',
36
+ version: 1,
37
+ },
38
+ };
39
+ export const mockArgs = {
40
+ spaceId: 'test-space-id',
41
+ environmentId: 'test-environment-id',
42
+ cmaToken: 'test-cma-token',
43
+ };
44
+ //# sourceMappingURL=mockClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockClient.js","sourceRoot":"","sources":["../../../src/tools/tags/mockClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE5B,MAAM,EAAE,mBAAmB,EAAE,cAAc,EAAE,oBAAoB,EAAE,GACjE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;IACd,OAAO;QACL,mBAAmB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC5B,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;QACvB,oBAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE;YAC/B,OAAO;gBACL,GAAG,EAAE;oBACH,YAAY,EAAE,mBAAmB;oBACjC,OAAO,EAAE,cAAc;iBACxB;aACF,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IACvD,MAAM,GAAG,GAAG,MAAM,cAAc,EAAyC,CAAC;IAC1E,OAAO;QACL,GAAG,GAAG;QACN,gBAAgB,EAAE,oBAAoB;KACvC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,oBAAoB,EAAE,CAAC;AAErE,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,IAAI,EAAE,UAAU;IAChB,GAAG,EAAE;QACH,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,QAAQ;QACpB,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE;QACxE,WAAW,EAAE;YACX,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,qBAAqB,EAAE;SAC1E;QACD,SAAS,EAAE,sBAAsB;QACjC,SAAS,EAAE,sBAAsB;QACjC,OAAO,EAAE,CAAC;KACX;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,OAAO,EAAE,eAAe;IACxB,aAAa,EAAE,qBAAqB;IACpC,QAAQ,EAAE,gBAAgB;CAC3B,CAAC"}
@@ -4,3 +4,4 @@ export function registerTagsTools(server) {
4
4
  server.tool('list_tags', 'List all tags in a space. Returns all tags that exist in a given environment.', ListTagsToolParams.shape, listTagsTool);
5
5
  server.tool('create_tag', 'Creates a new tag and returns it. Both name and ID must be unique to each environment. Tag names can be modified after creation, but the tag ID cannot. The tag visibility can be set to public or private, defaulting to private if not specified.', CreateTagToolParams.shape, createTagTool);
6
6
  }
7
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/tools/tags/register.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAEpE,MAAM,UAAU,iBAAiB,CAAC,MAAiB;IACjD,MAAM,CAAC,IAAI,CACT,WAAW,EACX,+EAA+E,EAC/E,kBAAkB,CAAC,KAAK,EACxB,YAAY,CACb,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,qPAAqP,EACrP,mBAAmB,CAAC,KAAK,EACzB,aAAa,CACd,CAAC;AACJ,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schemas for AI Action Test Cases
4
+ *
5
+ * These schemas mirror the `AiActionTestCase` type from contentful-management
6
+ * (see node_modules/contentful-management/dist/typings/entities/ai-action.d.ts)
7
+ *
8
+ * AI Action Test Cases are used to provide sample inputs for testing AI Actions
9
+ * in Contentful. They can be either simple text inputs or references to existing
10
+ * content entries that serve as examples for the AI Action.
11
+ */
12
+ /**
13
+ * Schema for text-based test cases
14
+ *
15
+ * Represents a simple text input that can be used to test an AI Action.
16
+ * This is typically used for straightforward prompts or instructions
17
+ * that don't require complex structured data.
18
+ */
19
+ const TextTestCase = z.object({
20
+ type: z.literal('Text').optional(),
21
+ value: z.string().optional(),
22
+ });
23
+ /**
24
+ * Schema for reference-based test cases
25
+ *
26
+ * Represents a test case that references an existing Contentful entry.
27
+ * This is used when the AI Action needs to process structured content
28
+ * or when testing with real-world examples from the content model.
29
+ *
30
+ * The reference includes:
31
+ * - entityPath: The path to access specific fields within the entry
32
+ * - entityType: The type of entity (currently only 'Entry' is supported)
33
+ * - entityId: The unique identifier of the referenced entry
34
+ */
35
+ const ReferenceTestCase = z.object({
36
+ type: z.literal('Reference').optional(),
37
+ value: z
38
+ .object({
39
+ entityPath: z.string().optional(),
40
+ entityType: z.literal('Entry').optional(),
41
+ entityId: z.string().optional(),
42
+ })
43
+ .optional(),
44
+ });
45
+ /**
46
+ * Main schema for AI Action Test Cases
47
+ *
48
+ * This union type represents all possible test case formats for AI Actions.
49
+ * It's used in the AI Action definition to provide sample inputs that can
50
+ * be used to test the AI Action's functionality directly in the Contentful UI
51
+ * or through the API.
52
+ *
53
+ * Test cases help content creators understand how the AI Action works and
54
+ * provide developers with a way to test the AI Action's behavior with
55
+ * representative examples.
56
+ */
57
+ export const AiActionTestCaseSchema = z.union([
58
+ TextTestCase,
59
+ ReferenceTestCase,
60
+ ]);
61
+ //# sourceMappingURL=aiActionTestCaseSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aiActionTestCaseSchema.js","sourceRoot":"","sources":["../../src/types/aiActionTestCaseSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;GASG;AAEH;;;;;;GAMG;AACH,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;IAClC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE;IACvC,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;QACzC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC5C,YAAY;IACZ,iBAAiB;CAClB,CAAC,CAAC"}
@@ -0,0 +1,118 @@
1
+ import { z } from 'zod';
2
+ import { INLINES, BLOCKS } from '@contentful/rich-text-types';
3
+ /**
4
+ * Zod schemas for Content Type Field Validation
5
+ *
6
+ * These schemas mirror the `ContentTypeFieldValidation` from contentful-management
7
+ * (see node_modules/contentful-management/dist/typings/entities/content-type-fields.d.ts)
8
+ *
9
+ * They define the validation rules that can be applied to content type fields
10
+ * in Contentful, such as size limits, allowed content types for references,
11
+ * date ranges, regular expressions, etc.
12
+ */
13
+ /**
14
+ * Schema for numeric range validation
15
+ * Used to validate numeric fields with minimum and maximum constraints
16
+ */
17
+ const NumRange = z.object({
18
+ min: z.number().optional(),
19
+ max: z.number().optional(),
20
+ });
21
+ /**
22
+ * Schema for date range validation
23
+ * Used to validate date fields with minimum and maximum date constraints
24
+ */
25
+ const DateRange = z.object({
26
+ min: z.string().optional(),
27
+ max: z.string().optional(),
28
+ });
29
+ /**
30
+ * Schema for regular expression validation
31
+ * Defines a pattern and flags for validating text with regular expressions
32
+ */
33
+ const RegExpSchema = z.object({
34
+ pattern: z.string(),
35
+ flags: z.string(),
36
+ });
37
+ /**
38
+ * Schema for validating image dimensions in assets
39
+ * Allows specifying width and height constraints
40
+ */
41
+ const AssetImageDimensions = z.object({
42
+ width: NumRange.optional(),
43
+ height: NumRange.optional(),
44
+ });
45
+ /**
46
+ * Schema for external resource references
47
+ * Used for linking to resources outside of Contentful
48
+ */
49
+ export const ExternalResource = z.object({
50
+ type: z.string(),
51
+ });
52
+ /**
53
+ * Schema for Contentful entry resources
54
+ * Used for linking to specific content types within Contentful
55
+ */
56
+ export const ContentfulEntryResource = z.object({
57
+ type: z.literal('Contentful:Entry'),
58
+ source: z.string(),
59
+ contentTypes: z.array(z.string()),
60
+ });
61
+ /**
62
+ * Union of allowed resource types for content linking
63
+ * Can be either Contentful entries or external resources
64
+ */
65
+ export const ContentTypeAllowedResources = z.union([
66
+ ContentfulEntryResource,
67
+ ExternalResource,
68
+ ]);
69
+ /**
70
+ * Schema for validating nodes in rich text fields
71
+ * Defines validations for embedded entries, assets, and other node types
72
+ */
73
+ const NodesValidation = z.record(z
74
+ .array(z.object({
75
+ // subset of ContentTypeFieldValidation used for node validations
76
+ size: NumRange.optional(),
77
+ linkContentType: z.array(z.string()).optional(),
78
+ message: z.string().nullable().optional(),
79
+ }))
80
+ .or(z.object({
81
+ validations: z.array(z.object({
82
+ size: NumRange.optional(),
83
+ message: z.string().nullable().optional(),
84
+ })),
85
+ allowedResources: z.array(ContentTypeAllowedResources),
86
+ })));
87
+ /**
88
+ * Main schema for content type field validation
89
+ *
90
+ * This comprehensive schema defines all possible validation rules that can be
91
+ * applied to content type fields in Contentful, including:
92
+ * - Link validations (content types, MIME types)
93
+ * - Value constraints (allowed values, size limits, ranges)
94
+ * - Text validations (regular expressions)
95
+ * - Rich text validations (allowed node types, marks)
96
+ * - Asset validations (file size, image dimensions)
97
+ * - Custom error messages
98
+ */
99
+ export const ContentTypeFieldValidationSchema = z.object({
100
+ linkContentType: z.array(z.string()).optional(),
101
+ in: z.array(z.union([z.string(), z.number()])).optional(),
102
+ linkMimetypeGroup: z.array(z.string()).optional(),
103
+ enabledNodeTypes: z
104
+ .array(z.union([z.nativeEnum(BLOCKS), z.nativeEnum(INLINES)]))
105
+ .optional(),
106
+ enabledMarks: z.array(z.string()).optional(),
107
+ unique: z.boolean().optional(),
108
+ size: NumRange.optional(),
109
+ range: NumRange.optional(),
110
+ dateRange: DateRange.optional(),
111
+ regexp: RegExpSchema.optional(),
112
+ message: z.string().nullable().optional(),
113
+ prohibitRegexp: RegExpSchema.optional(),
114
+ assetImageDimensions: AssetImageDimensions.optional(),
115
+ assetFileSize: NumRange.optional(),
116
+ nodes: NodesValidation.optional(),
117
+ });
118
+ //# sourceMappingURL=contentTypeFieldValidationSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contentTypeFieldValidationSchema.js","sourceRoot":"","sources":["../../src/types/contentTypeFieldValidationSchema.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { ContentTypeFieldValidationSchema } from './contentTypeFieldValidationSchema.js';
2
3
  export const FieldSchema = z.object({
3
4
  id: z.string().describe('The field ID'),
4
5
  name: z.string().describe('The field name'),
@@ -12,7 +13,10 @@ export const FieldSchema = z.object({
12
13
  .boolean()
13
14
  .optional()
14
15
  .describe('Whether the field is omitted from the API response'),
15
- validations: z.array(z.any()).optional().describe('Field validations'),
16
+ validations: z
17
+ .array(ContentTypeFieldValidationSchema)
18
+ .optional()
19
+ .describe('Field validations'),
16
20
  settings: z.record(z.any()).optional().describe('Field-specific settings'),
17
21
  defaultValue: z.any().optional().describe('Default value for the field'),
18
22
  linkType: z
@@ -23,8 +27,9 @@ export const FieldSchema = z.object({
23
27
  .object({
24
28
  type: z.string(),
25
29
  linkType: z.string().optional(),
26
- validations: z.array(z.any()).optional(),
30
+ validations: z.array(ContentTypeFieldValidationSchema).optional(),
27
31
  })
28
32
  .optional()
29
33
  .describe('Items configuration for Array fields'),
30
34
  });
35
+ //# sourceMappingURL=fieldSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fieldSchema.js","sourceRoot":"","sources":["../../src/types/fieldSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACzF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAC3C,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,CACP,8GAA8G,CAC/G;IACH,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC/D,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACjE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC1E,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,oDAAoD,CAAC;IACjE,WAAW,EAAE,CAAC;SACX,KAAK,CAAC,gCAAgC,CAAC;SACvC,QAAQ,EAAE;SACV,QAAQ,CAAC,mBAAmB,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IAC1E,YAAY,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACxE,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,oDAAoD,CAAC;IACjE,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,QAAQ,EAAE;KAClE,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CAAC,sCAAsC,CAAC;CACpD,CAAC,CAAC"}
@@ -44,3 +44,4 @@ export var OutputFormat;
44
44
  OutputFormat["MARKDOWN"] = "Markdown";
45
45
  OutputFormat["PLAIN_TEXT"] = "PlainText";
46
46
  })(OutputFormat || (OutputFormat = {}));
47
+ //# sourceMappingURL=ai-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-actions.js","sourceRoot":"","sources":["../../src/utils/ai-actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAN,IAAY,YAQX;AARD,WAAY,YAAY;IACtB,8CAA8B,CAAA;IAC9B,6BAAa,CAAA;IACb,gDAAgC,CAAA;IAChC,iCAAiB,CAAA;IACjB,kDAAkC,CAAA;IAClC,uCAAuB,CAAA;IACvB,8CAA8B,CAAA;AAChC,CAAC,EARW,YAAY,KAAZ,YAAY,QAQvB;AAED,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,6BAAe,CAAA;IACf,6BAAe,CAAA;IACf,4CAA8B,CAAA;AAChC,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAED,sCAAsC;AACtC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC;IACnC,CAAC,CAAC,MAAM,CAAC;QACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;YACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;SACvB,CAAC;KACH,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;YACvC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjC,CAAC;KACH,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,sCAAsB,CAAA;IACtB,qCAAqB,CAAA;IACrB,wCAAwB,CAAA;AAC1B,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB"}
@@ -92,3 +92,4 @@ export function createEntitiesCollection(entities) {
92
92
  items: entities,
93
93
  };
94
94
  }
95
+ //# sourceMappingURL=bulkOperations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulkOperations.js","sourceRoot":"","sources":["../../src/utils/bulkOperations.ts"],"names":[],"mappings":"AAqDA,qDAAqD;AACrD,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,gBAAgC,EAChC,UAA+B,EAC/B,YAAoB;IAEpB,IAAI,MAAM,GAAG,CAAC,MAAM,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC;QAClD,GAAG,UAAU;QACb,YAAY;KACb,CAAC,CAAkC,CAAC;IAErC,OACE,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,YAAY;QAClC,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,EAC/B,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1D,MAAM,GAAG,CAAC,MAAM,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC;YAC9C,GAAG,UAAU;YACb,YAAY;SACb,CAAC,CAAkC,CAAC;IACvC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,wDAAwD;AACxD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,gBAAgC,EAChC,UAA+B,EAC/B,QAAkB;IAElB,OAAO,OAAO,CAAC,GAAG,CAChB,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7B,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC;YACpD,GAAG,UAAU;YACb,OAAO;SACR,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,EAAE;gBACH,IAAI,EAAE,MAAe;gBACrB,QAAQ,EAAE,OAAgB;gBAC1B,EAAE,EAAE,OAAO;gBACX,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,OAAO;aAClC;SACF,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,0FAA0F;AAC1F,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,gBAAgC,EAChC,UAA+B,EAC/B,QAAkB;IAElB,kFAAkF;IAClF,0CAA0C;IAC1C,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7B,MAAM,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC;YAC/B,GAAG,UAAU;YACb,OAAO;SACR,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAChC,GAAG,EAAE;YACH,IAAI,EAAE,MAAe;YACrB,QAAQ,EAAE,OAAgB;YAC1B,EAAE,EAAE,OAAO;SACZ;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED,uDAAuD;AACvD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,gBAAgC,EAChC,UAA+B,EAC/B,QAAkB;IAElB,OAAO,OAAO,CAAC,GAAG,CAChB,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7B,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC;YACpD,GAAG,UAAU;YACb,OAAO;SACR,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,EAAE;gBACH,IAAI,EAAE,MAAe;gBACrB,QAAQ,EAAE,OAAgB;gBAC1B,EAAE,EAAE,OAAO;gBACX,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,OAAO;aAClC;SACF,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,gBAAgC,EAChC,UAA+B,EAC/B,QAAkB;IAElB,iFAAiF;IACjF,0CAA0C;IAC1C,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7B,MAAM,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC;YAC/B,GAAG,UAAU;YACb,OAAO;SACR,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAChC,GAAG,EAAE;YACH,IAAI,EAAE,MAAe;YACrB,QAAQ,EAAE,OAAgB;YAC1B,EAAE,EAAE,OAAO;SACZ;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AASD,MAAM,UAAU,wBAAwB,CACtC,QAA6C;IAE7C,OAAO;QACL,GAAG,EAAE;YACH,IAAI,EAAE,OAAO;SACd;QACD,KAAK,EAAE,QAAQ;KAChB,CAAC;AACJ,CAAC"}
@@ -37,3 +37,4 @@ export function pluralize(n, singular, plural) {
37
37
  const num = Array.isArray(n) ? n.length : n;
38
38
  return num === 1 ? singular : plural || `${singular}s`;
39
39
  }
40
+ //# sourceMappingURL=formatters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/utils/formatters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAsB,EACtB,SAAkC,EAAE;IAEpC,MAAM,eAAe,GAA4B,EAAE,CAAC;IAEpD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC;QAC7B,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,IAAI;QACd,iBAAiB,EAAE,IAAI;QACvB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;KACvB,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAErD,OAAO,GAAG,OAAO,OAAO,aAAa,IAAI,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAI,KAAiC;IAC9D,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CACvB,CAAqB,EACrB,QAAgB,EAChB,MAAe;IAEf,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,QAAQ,GAAG,CAAC;AACzD,CAAC"}
@@ -9,3 +9,4 @@ export const getVersion = () => {
9
9
  const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8'));
10
10
  return packageJson.version;
11
11
  };
12
+ //# sourceMappingURL=getVersion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getVersion.js","sourceRoot":"","sources":["../../src/utils/getVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IACtE,OAAO,WAAW,CAAC,OAAO,CAAC;AAC7B,CAAC,CAAC"}
@@ -35,3 +35,4 @@ export function withErrorHandling(handler, errorPrefix = 'Error') {
35
35
  }
36
36
  };
37
37
  }
38
+ //# sourceMappingURL=response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/utils/response.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAcjD;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAe,EACf,IAA8B;IAE9B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAE5D,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI;aACL;SACF;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAG0B,EAC1B,WAAW,GAAG,OAAO;IAKrB,OAAO,KAAK,EACV,MAAS,EACT,KAA8D,EAC9D,EAAE;QACF,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,GAAG,WAAW,KAAK,YAAY,EAAE;qBACxC;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -37,3 +37,4 @@ export const summarizeData = (data, options = {}) => {
37
37
  // Return non-array data as-is (cast to expected return type)
38
38
  return data;
39
39
  };
40
+ //# sourceMappingURL=summarizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summarizer.js","sourceRoot":"","sources":["../../src/utils/summarizer.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,IAAa,EACb,UAA4B,EAAE,EACY,EAAE;IAC5C,MAAM,EACJ,QAAQ,GAAG,CAAC,EACZ,gBAAgB,GAAG,6DAA6D,GACjF,GAAG,OAAO,CAAC;IAEZ,yDAAyD;IACzD,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,+DAA+D;QAC/D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvD,OAAO,IAA+B,CAAC;QACzC,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAA+B,CAAC;QACzC,CAAC;QAED,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;YAC/B,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,KAAK,GAAG,QAAQ;YAC3B,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,QAAQ,EAAE,+BAA+B;SAChD,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;YAC9B,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,IAAI,CAAC,MAAM,GAAG,QAAQ;YACjC,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,QAAQ,EAAE,+BAA+B;SAChD,CAAC;IACJ,CAAC;IAED,6DAA6D;IAC7D,OAAO,IAA+B,CAAC;AACzC,CAAC,CAAC"}
@@ -18,3 +18,4 @@ export function createToolClient(params) {
18
18
  }
19
19
  return ctfl.createClient(clientConfig, { type: 'plain' });
20
20
  }
21
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/utils/tools.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,uBAAuB,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC9D,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CAC3E,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAsC;IACrE,MAAM,YAAY,GAAG,sBAAsB,EAAE,CAAC;IAE9C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,YAAY,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;IACtC,CAAC;IAED,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAC5D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contentful/mcp-server",
3
- "version": "1.1.0",
3
+ "version": "1.2.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/contentful/contentful-mcp-server"
@@ -20,7 +20,7 @@
20
20
  "scripts": {
21
21
  "clean": "rimraf build",
22
22
  "build": "npm run clean && tsc",
23
- "dev": "nodemon --ext ts --ignore build/ --watch src/ --exec 'npm run build && npm start'",
23
+ "dev": "npm run clean && tsc --watch",
24
24
  "format": "prettier --write .",
25
25
  "lint": "eslint .",
26
26
  "lint:fix": "eslint . --fix",
@@ -55,7 +55,7 @@
55
55
  "eslint-plugin-unused-imports": "^4.1.4",
56
56
  "husky": "^9.1.7",
57
57
  "mcps-logger": "^1.0.0",
58
- "nodemon": "^3.1.0",
58
+ "nodemon": "^3.1.10",
59
59
  "nx": "^21.3.5",
60
60
  "prettier": "^3.6.2",
61
61
  "pretty-quick": "^4.2.2",