@webiny/api-headless-cms 6.4.11 → 6.6.0-alpha.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 (773) hide show
  1. package/HeadlessCmsContextualSchema.d.ts +16 -0
  2. package/HeadlessCmsContextualSchema.js +32 -0
  3. package/HeadlessCmsContextualSchema.js.map +1 -0
  4. package/HeadlessCmsEndpointConfig.d.ts +10 -0
  5. package/HeadlessCmsEndpointConfig.js +5 -0
  6. package/HeadlessCmsEndpointConfig.js.map +1 -0
  7. package/HeadlessCmsFeature.d.ts +10 -0
  8. package/HeadlessCmsFeature.js +195 -0
  9. package/HeadlessCmsFeature.js.map +1 -0
  10. package/createCmsRoute.d.ts +26 -0
  11. package/createCmsRoute.js +59 -0
  12. package/createCmsRoute.js.map +1 -0
  13. package/crud/contentEntry/entryDataValidation.d.ts +1 -1
  14. package/crud/contentEntry/entryDataValidation.js +29 -15
  15. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  16. package/crud/contentEntry/references/validateEntries.d.ts +1 -1
  17. package/crud/contentEntry/references/validateEntries.js +17 -7
  18. package/crud/contentEntry/references/validateEntries.js.map +1 -1
  19. package/crud/contentEntry.crud.js +22 -20
  20. package/crud/contentEntry.crud.js.map +1 -1
  21. package/crud/contentModel/defaultFields.js +3 -2
  22. package/crud/contentModel/defaultFields.js.map +1 -1
  23. package/crud/contentModel.crud.js +8 -6
  24. package/crud/contentModel.crud.js.map +1 -1
  25. package/crud/contentModelGroup.crud.js +7 -5
  26. package/crud/contentModelGroup.crud.js.map +1 -1
  27. package/domain/contentModel/schemas.d.ts +2 -0
  28. package/domain/contentModel/schemas.js +4 -2
  29. package/domain/contentModel/schemas.js.map +1 -1
  30. package/domain/contentModel/validation/modelFields.js +21 -15
  31. package/domain/contentModel/validation/modelFields.js.map +1 -1
  32. package/export/abstractions.d.ts +9 -0
  33. package/export/abstractions.js +6 -0
  34. package/export/abstractions.js.map +1 -0
  35. package/export/crud/exporting.js +8 -2
  36. package/export/crud/exporting.js.map +1 -1
  37. package/export/crud/importing.js +13 -4
  38. package/export/crud/importing.js.map +1 -1
  39. package/export/crud/imports/importGroups.js +23 -23
  40. package/export/crud/imports/importGroups.js.map +1 -1
  41. package/export/crud/imports/importModels.js +25 -22
  42. package/export/crud/imports/importModels.js.map +1 -1
  43. package/export/graphql/index.d.ts +2 -3
  44. package/export/graphql/index.js +6 -10
  45. package/export/graphql/index.js.map +1 -1
  46. package/exports/api/cms/model.d.ts +4 -1
  47. package/exports/api/cms/model.js +2 -0
  48. package/exports/api/cms/storage.d.ts +0 -1
  49. package/exports/api/cms/storage.js +0 -1
  50. package/features/ai/DescribeContentModelTool.d.ts +55 -0
  51. package/features/ai/DescribeContentModelTool.js +60 -0
  52. package/features/ai/DescribeContentModelTool.js.map +1 -0
  53. package/features/ai/ListContentModelsTool.d.ts +41 -0
  54. package/features/ai/ListContentModelsTool.js +44 -0
  55. package/features/ai/ListContentModelsTool.js.map +1 -0
  56. package/features/ai/QueryEntriesTool.d.ts +75 -0
  57. package/features/ai/QueryEntriesTool.js +90 -0
  58. package/features/ai/QueryEntriesTool.js.map +1 -0
  59. package/features/ai/feature.d.ts +8 -0
  60. package/features/ai/feature.js +15 -0
  61. package/features/ai/feature.js.map +1 -0
  62. package/features/ai/index.d.ts +4 -0
  63. package/features/ai/index.js +4 -0
  64. package/features/contentEntry/ContentEntriesFeature.js +0 -2
  65. package/features/contentEntry/ContentEntriesFeature.js.map +1 -1
  66. package/features/contentEntry/CreateEntry/CreateEntryRepository.d.ts +7 -7
  67. package/features/contentEntry/CreateEntry/CreateEntryRepository.js +8 -14
  68. package/features/contentEntry/CreateEntry/CreateEntryRepository.js.map +1 -1
  69. package/features/contentEntry/CreateEntry/CreateEntryUseCase.d.ts +3 -1
  70. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +2 -3
  71. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -1
  72. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.d.ts +7 -7
  73. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js +8 -14
  74. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromRepository.js.map +1 -1
  75. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.d.ts +3 -1
  76. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js +2 -3
  77. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -1
  78. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.d.ts +7 -7
  79. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js +8 -14
  80. package/features/contentEntry/DeleteEntry/DeleteEntryRepository.js.map +1 -1
  81. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.d.ts +3 -1
  82. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js +2 -3
  83. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js.map +1 -1
  84. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.d.ts +6 -6
  85. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js +8 -14
  86. package/features/contentEntry/DeleteEntry/MoveEntryToBinRepository.js.map +1 -1
  87. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.d.ts +3 -1
  88. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js +2 -3
  89. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js.map +1 -1
  90. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.d.ts +3 -3
  91. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js +5 -5
  92. package/features/contentEntry/DeleteEntry/decorators/ForceDeleteDecorator.js.map +1 -1
  93. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.d.ts +6 -6
  94. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js +8 -14
  95. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionRepository.js.map +1 -1
  96. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.d.ts +3 -1
  97. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js +2 -3
  98. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js.map +1 -1
  99. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.d.ts +7 -7
  100. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js +8 -13
  101. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesRepository.js.map +1 -1
  102. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.d.ts +3 -1
  103. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js +2 -3
  104. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js.map +1 -1
  105. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.d.ts +9 -7
  106. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js +15 -13
  107. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsRepository.js.map +1 -1
  108. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.d.ts +3 -1
  109. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js +2 -3
  110. package/features/contentEntry/GetEntriesByIds/GetEntriesByIdsUseCase.js.map +1 -1
  111. package/features/contentEntry/GetEntry/GetEntryUseCase.d.ts +3 -1
  112. package/features/contentEntry/GetEntry/GetEntryUseCase.js +2 -3
  113. package/features/contentEntry/GetEntry/GetEntryUseCase.js.map +1 -1
  114. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.d.ts +3 -1
  115. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js +2 -3
  116. package/features/contentEntry/GetEntryById/GetEntryByIdUseCase.js.map +1 -1
  117. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.d.ts +7 -7
  118. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js +8 -13
  119. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsRepository.js.map +1 -1
  120. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.d.ts +3 -1
  121. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js +2 -3
  122. package/features/contentEntry/GetLatestEntriesByIds/GetLatestEntriesByIdsUseCase.js.map +1 -1
  123. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.d.ts +3 -1
  124. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js +2 -3
  125. package/features/contentEntry/GetLatestRevisionByEntryId/BaseUseCase.js.map +1 -1
  126. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.d.ts +7 -7
  127. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js +8 -13
  128. package/features/contentEntry/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdRepository.js.map +1 -1
  129. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.d.ts +3 -1
  130. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js +2 -3
  131. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestDeletedRevisionByEntryIdUseCase.js.map +1 -1
  132. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.d.ts +3 -1
  133. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js +1 -3
  134. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdIncludingDeletedUseCase.js.map +1 -1
  135. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.d.ts +3 -1
  136. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js +2 -3
  137. package/features/contentEntry/GetLatestRevisionByEntryId/variations/GetLatestRevisionByEntryIdUseCase.js.map +1 -1
  138. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.d.ts +3 -1
  139. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js +2 -3
  140. package/features/contentEntry/GetPreviousRevisionByEntryId/BaseUseCase.js.map +1 -1
  141. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.d.ts +7 -7
  142. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js +8 -13
  143. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdRepository.js.map +1 -1
  144. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.d.ts +3 -1
  145. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js +2 -3
  146. package/features/contentEntry/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdUseCase.js.map +1 -1
  147. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.d.ts +7 -7
  148. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js +8 -13
  149. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsRepository.js.map +1 -1
  150. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.d.ts +3 -1
  151. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js +2 -3
  152. package/features/contentEntry/GetPublishedEntriesByIds/GetPublishedEntriesByIdsUseCase.js.map +1 -1
  153. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.d.ts +7 -7
  154. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js +8 -13
  155. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdRepository.js.map +1 -1
  156. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.d.ts +3 -1
  157. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js +2 -3
  158. package/features/contentEntry/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdUseCase.js.map +1 -1
  159. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.d.ts +7 -7
  160. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js +8 -13
  161. package/features/contentEntry/GetRevisionById/GetRevisionByIdRepository.js.map +1 -1
  162. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.d.ts +3 -1
  163. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js +1 -3
  164. package/features/contentEntry/GetRevisionById/GetRevisionByIdUseCase.js.map +1 -1
  165. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.d.ts +7 -7
  166. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js +8 -13
  167. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdRepository.js.map +1 -1
  168. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.d.ts +3 -1
  169. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js +2 -3
  170. package/features/contentEntry/GetRevisionsByEntryId/GetRevisionsByEntryIdUseCase.js.map +1 -1
  171. package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js +1 -3
  172. package/features/contentEntry/GetSingletonEntry/GetSingletonEntryUseCase.js.map +1 -1
  173. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.d.ts +7 -7
  174. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js +8 -13
  175. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesRepository.js.map +1 -1
  176. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.d.ts +6 -2
  177. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js +8 -6
  178. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js.map +1 -1
  179. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.d.ts +3 -1
  180. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js +1 -3
  181. package/features/contentEntry/ListEntries/ListDeletedEntriesUseCase.js.map +1 -1
  182. package/features/contentEntry/ListEntries/ListEntriesRepository.d.ts +7 -7
  183. package/features/contentEntry/ListEntries/ListEntriesRepository.js +8 -13
  184. package/features/contentEntry/ListEntries/ListEntriesRepository.js.map +1 -1
  185. package/features/contentEntry/ListEntries/ListEntriesUseCase.d.ts +3 -1
  186. package/features/contentEntry/ListEntries/ListEntriesUseCase.js +2 -3
  187. package/features/contentEntry/ListEntries/ListEntriesUseCase.js.map +1 -1
  188. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.d.ts +3 -1
  189. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js +1 -3
  190. package/features/contentEntry/ListEntries/ListLatestEntriesUseCase.js.map +1 -1
  191. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.d.ts +3 -1
  192. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js +1 -3
  193. package/features/contentEntry/ListEntries/ListPublishedEntriesUseCase.js.map +1 -1
  194. package/features/contentEntry/MoveEntry/MoveEntryRepository.d.ts +7 -7
  195. package/features/contentEntry/MoveEntry/MoveEntryRepository.js +8 -13
  196. package/features/contentEntry/MoveEntry/MoveEntryRepository.js.map +1 -1
  197. package/features/contentEntry/MoveEntry/MoveEntryUseCase.d.ts +3 -1
  198. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js +2 -3
  199. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js.map +1 -1
  200. package/features/contentEntry/PublishEntry/PublishEntryRepository.d.ts +7 -7
  201. package/features/contentEntry/PublishEntry/PublishEntryRepository.js +8 -14
  202. package/features/contentEntry/PublishEntry/PublishEntryRepository.js.map +1 -1
  203. package/features/contentEntry/PublishEntry/PublishEntryUseCase.d.ts +3 -1
  204. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js +2 -3
  205. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -1
  206. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.d.ts +9 -7
  207. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js +12 -15
  208. package/features/contentEntry/RepublishEntry/RepublishEntryRepository.js.map +1 -1
  209. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.d.ts +3 -1
  210. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js +2 -3
  211. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js.map +1 -1
  212. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.d.ts +7 -7
  213. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js +8 -14
  214. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinRepository.js.map +1 -1
  215. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.d.ts +3 -1
  216. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js +2 -3
  217. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js.map +1 -1
  218. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.d.ts +7 -7
  219. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js +8 -14
  220. package/features/contentEntry/UnpublishEntry/UnpublishEntryRepository.js.map +1 -1
  221. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.d.ts +3 -1
  222. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js +2 -3
  223. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js.map +1 -1
  224. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.d.ts +7 -7
  225. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js +8 -14
  226. package/features/contentEntry/UpdateEntry/UpdateEntryRepository.js.map +1 -1
  227. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.d.ts +3 -1
  228. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js +2 -3
  229. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js.map +1 -1
  230. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.d.ts +3 -1
  231. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js +2 -3
  232. package/features/contentEntry/UpdateRevisionDescription/UpdateRevisionDescriptionUseCase.js.map +1 -1
  233. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.d.ts +3 -1
  234. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js +2 -3
  235. package/features/contentEntry/ValidateEntry/ValidateEntryUseCase.js.map +1 -1
  236. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.d.ts +3 -1
  237. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js +2 -4
  238. package/features/contentEntry/entryDataFactories/CreateEntryDataFactory/CreateEntryDataFactory.js.map +1 -1
  239. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.d.ts +4 -4
  240. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js +4 -8
  241. package/features/contentEntry/entryDataFactories/CreateEntryRevisionFromDataFactory/CreateEntryRevisionFromDataFactory.js.map +1 -1
  242. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.d.ts +3 -1
  243. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js +1 -3
  244. package/features/contentEntry/entryDataFactories/CreatePublishEntryDataFactory/CreatePublishEntryDataFactory.js.map +1 -1
  245. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.d.ts +3 -1
  246. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js +1 -3
  247. package/features/contentEntry/entryDataFactories/CreateRepublishEntryDataFactory/CreateRepublishEntryDataFactory.js.map +1 -1
  248. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.d.ts +3 -1
  249. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js +1 -3
  250. package/features/contentEntry/entryDataFactories/CreateUnpublishEntryDataFactory/CreateUnpublishEntryDataFactory.js.map +1 -1
  251. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.d.ts +3 -1
  252. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js +2 -4
  253. package/features/contentEntry/entryDataFactories/UpdateEntryDataFactory/UpdateEntryDataFactory.js.map +1 -1
  254. package/features/contentModel/ComponentMapGenerator/ComponentMapGenerator.d.ts +14 -0
  255. package/features/contentModel/ComponentMapGenerator/ComponentMapGenerator.js +32 -0
  256. package/features/contentModel/ComponentMapGenerator/ComponentMapGenerator.js.map +1 -0
  257. package/features/contentModel/ComponentMapGenerator/abstractions.d.ts +8 -0
  258. package/features/contentModel/ComponentMapGenerator/abstractions.js +5 -0
  259. package/features/contentModel/ComponentMapGenerator/abstractions.js.map +1 -0
  260. package/features/contentModel/ComponentMapGenerator/feature.d.ts +4 -0
  261. package/features/contentModel/ComponentMapGenerator/feature.js +11 -0
  262. package/features/contentModel/ComponentMapGenerator/feature.js.map +1 -0
  263. package/features/contentModel/ComponentMapGenerator/index.d.ts +2 -0
  264. package/features/contentModel/ComponentMapGenerator/index.js +2 -0
  265. package/features/contentModel/ContentModelFeature.js +6 -0
  266. package/features/contentModel/ContentModelFeature.js.map +1 -1
  267. package/features/contentModel/CreateModel/CreateModelRepository.d.ts +5 -6
  268. package/features/contentModel/CreateModel/CreateModelRepository.js +9 -12
  269. package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
  270. package/features/contentModel/CreateModel/CreateModelUseCase.js +2 -2
  271. package/features/contentModel/CreateModel/CreateModelUseCase.js.map +1 -1
  272. package/features/contentModel/CreateModel/abstractions.d.ts +1 -1
  273. package/features/contentModel/CreateModel/abstractions.js.map +1 -1
  274. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.d.ts +5 -6
  275. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +9 -12
  276. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
  277. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js +2 -2
  278. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js.map +1 -1
  279. package/features/contentModel/CreateModelFrom/abstractions.d.ts +1 -1
  280. package/features/contentModel/CreateModelFrom/abstractions.js.map +1 -1
  281. package/features/contentModel/DeleteModel/DeleteModelRepository.d.ts +4 -6
  282. package/features/contentModel/DeleteModel/DeleteModelRepository.js +6 -10
  283. package/features/contentModel/DeleteModel/DeleteModelRepository.js.map +1 -1
  284. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.d.ts +1 -0
  285. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js +11 -8
  286. package/features/contentModel/DeleteModel/DeleteModelWithEntryCleanup.js.map +1 -1
  287. package/features/contentModel/RefModelsGenerator/RefModelsGenerator.d.ts +19 -0
  288. package/features/contentModel/RefModelsGenerator/RefModelsGenerator.js +56 -0
  289. package/features/contentModel/RefModelsGenerator/RefModelsGenerator.js.map +1 -0
  290. package/features/contentModel/RefModelsGenerator/abstractions.d.ts +11 -0
  291. package/features/contentModel/RefModelsGenerator/abstractions.js +5 -0
  292. package/features/contentModel/RefModelsGenerator/abstractions.js.map +1 -0
  293. package/features/contentModel/RefModelsGenerator/feature.d.ts +4 -0
  294. package/features/contentModel/RefModelsGenerator/feature.js +11 -0
  295. package/features/contentModel/RefModelsGenerator/feature.js.map +1 -0
  296. package/features/contentModel/RefModelsGenerator/index.d.ts +2 -0
  297. package/features/contentModel/RefModelsGenerator/index.js +2 -0
  298. package/features/contentModel/UpdateModel/UpdateModelRepository.d.ts +7 -6
  299. package/features/contentModel/UpdateModel/UpdateModelRepository.js +12 -12
  300. package/features/contentModel/UpdateModel/UpdateModelRepository.js.map +1 -1
  301. package/features/contentModel/UpdateModel/UpdateModelUseCase.js +2 -2
  302. package/features/contentModel/UpdateModel/UpdateModelUseCase.js.map +1 -1
  303. package/features/contentModel/UpdateModel/abstractions.d.ts +1 -1
  304. package/features/contentModel/UpdateModel/abstractions.js.map +1 -1
  305. package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.d.ts +16 -0
  306. package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.js +53 -0
  307. package/features/contentModel/ValuesSelectionGenerator/ValuesSelectionGenerator.js.map +1 -0
  308. package/features/contentModel/ValuesSelectionGenerator/abstractions.d.ts +8 -0
  309. package/features/contentModel/ValuesSelectionGenerator/abstractions.js +5 -0
  310. package/features/contentModel/ValuesSelectionGenerator/abstractions.js.map +1 -0
  311. package/features/contentModel/ValuesSelectionGenerator/feature.d.ts +4 -0
  312. package/features/contentModel/ValuesSelectionGenerator/feature.js +11 -0
  313. package/features/contentModel/ValuesSelectionGenerator/feature.js.map +1 -0
  314. package/features/contentModel/ValuesSelectionGenerator/index.d.ts +1 -0
  315. package/features/contentModel/ValuesSelectionGenerator/index.js +1 -0
  316. package/features/contentModel/shared/ModelsFetcher.d.ts +3 -3
  317. package/features/contentModel/shared/ModelsFetcher.js +5 -5
  318. package/features/contentModel/shared/ModelsFetcher.js.map +1 -1
  319. package/features/contentModel/shared/PluginModelsProvider.d.ts +5 -4
  320. package/features/contentModel/shared/PluginModelsProvider.js +11 -8
  321. package/features/contentModel/shared/PluginModelsProvider.js.map +1 -1
  322. package/features/contentModel/shared/abstractions.d.ts +10 -0
  323. package/features/contentModel/shared/abstractions.js +2 -1
  324. package/features/contentModel/shared/abstractions.js.map +1 -1
  325. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.d.ts +11 -7
  326. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js +19 -19
  327. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js.map +1 -1
  328. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.d.ts +6 -2
  329. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js +9 -8
  330. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js.map +1 -1
  331. package/features/contentModelGroup/CreateGroup/abstractions.d.ts +1 -1
  332. package/features/contentModelGroup/CreateGroup/abstractions.js.map +1 -1
  333. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.d.ts +9 -7
  334. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js +12 -14
  335. package/features/contentModelGroup/DeleteGroup/DeleteGroupRepository.js.map +1 -1
  336. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.d.ts +3 -1
  337. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js +2 -3
  338. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js.map +1 -1
  339. package/features/contentModelGroup/GetGroup/GetGroupRepository.d.ts +6 -4
  340. package/features/contentModelGroup/GetGroup/GetGroupRepository.js +9 -9
  341. package/features/contentModelGroup/GetGroup/GetGroupRepository.js.map +1 -1
  342. package/features/contentModelGroup/GetGroup/GetGroupUseCase.d.ts +3 -1
  343. package/features/contentModelGroup/GetGroup/GetGroupUseCase.js +2 -3
  344. package/features/contentModelGroup/GetGroup/GetGroupUseCase.js.map +1 -1
  345. package/features/contentModelGroup/ListGroups/ListGroupsRepository.d.ts +6 -4
  346. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js +9 -9
  347. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js.map +1 -1
  348. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.d.ts +3 -1
  349. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js +2 -3
  350. package/features/contentModelGroup/ListGroups/ListGroupsUseCase.js.map +1 -1
  351. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.d.ts +7 -7
  352. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js +9 -14
  353. package/features/contentModelGroup/UpdateGroup/UpdateGroupRepository.js.map +1 -1
  354. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.d.ts +3 -1
  355. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js +4 -5
  356. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js.map +1 -1
  357. package/features/contentModelGroup/UpdateGroup/abstractions.d.ts +1 -1
  358. package/features/contentModelGroup/UpdateGroup/abstractions.js.map +1 -1
  359. package/features/contentModelGroup/shared/PluginGroupsProvider.d.ts +6 -4
  360. package/features/contentModelGroup/shared/PluginGroupsProvider.js +13 -11
  361. package/features/contentModelGroup/shared/PluginGroupsProvider.js.map +1 -1
  362. package/features/contentModelGroup/shared/abstractions.d.ts +10 -0
  363. package/features/contentModelGroup/shared/abstractions.js +2 -1
  364. package/features/contentModelGroup/shared/abstractions.js.map +1 -1
  365. package/features/graphql/feature.js +2 -0
  366. package/features/graphql/feature.js.map +1 -1
  367. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.d.ts +2 -2
  368. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js.map +1 -1
  369. package/features/graphql/fields/base/AssetToGraphQL.d.ts +26 -0
  370. package/features/graphql/fields/base/AssetToGraphQL.js +148 -0
  371. package/features/graphql/fields/base/AssetToGraphQL.js.map +1 -0
  372. package/features/graphql/fields/base/DynamicZoneToGraphQL.js +5 -1
  373. package/features/graphql/fields/base/DynamicZoneToGraphQL.js.map +1 -1
  374. package/features/graphql/fields/base/ObjectToGraphQL.js +2 -2
  375. package/features/graphql/fields/base/ObjectToGraphQL.js.map +1 -1
  376. package/features/graphql/fields/base/RefToGraphQL.d.ts +1 -1
  377. package/features/graphql/fields/base/RefToGraphQL.js +10 -18
  378. package/features/graphql/fields/base/RefToGraphQL.js.map +1 -1
  379. package/features/graphql/fields/base/richText/richTextResolver.d.ts +1 -1
  380. package/features/graphql/fields/base/richText/richTextResolver.js.map +1 -1
  381. package/features/modelBuilder/abstractions.d.ts +10 -0
  382. package/features/modelBuilder/abstractions.js.map +1 -1
  383. package/features/modelBuilder/feature.js +2 -0
  384. package/features/modelBuilder/feature.js.map +1 -1
  385. package/features/modelBuilder/fields/AssetFieldType.d.ts +20 -0
  386. package/features/modelBuilder/fields/AssetFieldType.js +46 -0
  387. package/features/modelBuilder/fields/AssetFieldType.js.map +1 -0
  388. package/features/modelBuilder/fields/DataFieldBuilder.d.ts +54 -18
  389. package/features/modelBuilder/fields/DataFieldBuilder.js +3 -0
  390. package/features/modelBuilder/fields/DataFieldBuilder.js.map +1 -1
  391. package/features/modelBuilder/fields/DynamicZoneFieldType.d.ts +1 -0
  392. package/features/modelBuilder/fields/DynamicZoneFieldType.js +2 -6
  393. package/features/modelBuilder/fields/DynamicZoneFieldType.js.map +1 -1
  394. package/features/modelBuilder/fields/TextFieldType.d.ts +3 -1
  395. package/features/modelBuilder/fields/TextFieldType.js +1 -3
  396. package/features/modelBuilder/fields/TextFieldType.js.map +1 -1
  397. package/features/modelBuilder/fields/resolveAssetUrl.d.ts +35 -0
  398. package/features/modelBuilder/fields/resolveAssetUrl.js +26 -0
  399. package/features/modelBuilder/fields/resolveAssetUrl.js.map +1 -0
  400. package/features/modelBuilder/index.d.ts +1 -1
  401. package/features/modelBuilder/models/BaseModelBuilder.d.ts +3 -1
  402. package/features/modelBuilder/models/BaseModelBuilder.js +7 -0
  403. package/features/modelBuilder/models/BaseModelBuilder.js.map +1 -1
  404. package/features/modelBuilder/models/PrivateModelBuilder.js +2 -1
  405. package/features/modelBuilder/models/PrivateModelBuilder.js.map +1 -1
  406. package/features/modelBuilder/models/PublicModelBuilder.js +2 -1
  407. package/features/modelBuilder/models/PublicModelBuilder.js.map +1 -1
  408. package/features/shared/abstractions.d.ts +11 -15
  409. package/features/shared/abstractions.js +3 -3
  410. package/features/shared/abstractions.js.map +1 -1
  411. package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.d.ts +8 -0
  412. package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.js +5 -0
  413. package/features/shared/storageOperations/entry/CreateEntryRevisionFromStorageOperation.js.map +1 -0
  414. package/features/shared/storageOperations/entry/CreateEntryStorageOperation.d.ts +8 -0
  415. package/features/shared/storageOperations/entry/CreateEntryStorageOperation.js +5 -0
  416. package/features/shared/storageOperations/entry/CreateEntryStorageOperation.js.map +1 -0
  417. package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.d.ts +8 -0
  418. package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.js +5 -0
  419. package/features/shared/storageOperations/entry/DeleteEntryRevisionStorageOperation.js.map +1 -0
  420. package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.d.ts +8 -0
  421. package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.js +5 -0
  422. package/features/shared/storageOperations/entry/DeleteEntryStorageOperation.js.map +1 -0
  423. package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.d.ts +8 -0
  424. package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.js +5 -0
  425. package/features/shared/storageOperations/entry/DeleteMultipleEntriesStorageOperation.js.map +1 -0
  426. package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.d.ts +8 -0
  427. package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.js +5 -0
  428. package/features/shared/storageOperations/entry/GetEntriesByIdsStorageOperation.js.map +1 -0
  429. package/features/shared/storageOperations/entry/GetEntryStorageOperation.d.ts +8 -0
  430. package/features/shared/storageOperations/entry/GetEntryStorageOperation.js +5 -0
  431. package/features/shared/storageOperations/entry/GetEntryStorageOperation.js.map +1 -0
  432. package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.d.ts +8 -0
  433. package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.js +5 -0
  434. package/features/shared/storageOperations/entry/GetLatestEntriesByIdsStorageOperation.js.map +1 -0
  435. package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.d.ts +8 -0
  436. package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.js +5 -0
  437. package/features/shared/storageOperations/entry/GetLatestRevisionByEntryIdStorageOperation.js.map +1 -0
  438. package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.d.ts +8 -0
  439. package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.js +5 -0
  440. package/features/shared/storageOperations/entry/GetPreviousRevisionStorageOperation.js.map +1 -0
  441. package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.d.ts +8 -0
  442. package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.js +5 -0
  443. package/features/shared/storageOperations/entry/GetPublishedEntriesByIdsStorageOperation.js.map +1 -0
  444. package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.d.ts +8 -0
  445. package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.js +5 -0
  446. package/features/shared/storageOperations/entry/GetPublishedRevisionByEntryIdStorageOperation.js.map +1 -0
  447. package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.d.ts +8 -0
  448. package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.js +5 -0
  449. package/features/shared/storageOperations/entry/GetRevisionByIdStorageOperation.js.map +1 -0
  450. package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.d.ts +8 -0
  451. package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.js +5 -0
  452. package/features/shared/storageOperations/entry/GetRevisionsStorageOperation.js.map +1 -0
  453. package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.d.ts +8 -0
  454. package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.js +5 -0
  455. package/features/shared/storageOperations/entry/GetUniqueFieldValuesStorageOperation.js.map +1 -0
  456. package/features/shared/storageOperations/entry/ListEntriesStorageOperation.d.ts +8 -0
  457. package/features/shared/storageOperations/entry/ListEntriesStorageOperation.js +5 -0
  458. package/features/shared/storageOperations/entry/ListEntriesStorageOperation.js.map +1 -0
  459. package/features/shared/storageOperations/entry/MoveEntryStorageOperation.d.ts +8 -0
  460. package/features/shared/storageOperations/entry/MoveEntryStorageOperation.js +5 -0
  461. package/features/shared/storageOperations/entry/MoveEntryStorageOperation.js.map +1 -0
  462. package/features/shared/storageOperations/entry/MoveToBinStorageOperation.d.ts +8 -0
  463. package/features/shared/storageOperations/entry/MoveToBinStorageOperation.js +5 -0
  464. package/features/shared/storageOperations/entry/MoveToBinStorageOperation.js.map +1 -0
  465. package/features/shared/storageOperations/entry/PublishEntryStorageOperation.d.ts +8 -0
  466. package/features/shared/storageOperations/entry/PublishEntryStorageOperation.js +5 -0
  467. package/features/shared/storageOperations/entry/PublishEntryStorageOperation.js.map +1 -0
  468. package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.d.ts +8 -0
  469. package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.js +5 -0
  470. package/features/shared/storageOperations/entry/RestoreFromBinStorageOperation.js.map +1 -0
  471. package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.d.ts +8 -0
  472. package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.js +5 -0
  473. package/features/shared/storageOperations/entry/UnpublishEntryStorageOperation.js.map +1 -0
  474. package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.d.ts +8 -0
  475. package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.js +5 -0
  476. package/features/shared/storageOperations/entry/UpdateEntryStorageOperation.js.map +1 -0
  477. package/features/shared/storageOperations/group/CreateGroupStorageOperation.d.ts +8 -0
  478. package/features/shared/storageOperations/group/CreateGroupStorageOperation.js +5 -0
  479. package/features/shared/storageOperations/group/CreateGroupStorageOperation.js.map +1 -0
  480. package/features/shared/storageOperations/group/DeleteGroupStorageOperation.d.ts +8 -0
  481. package/features/shared/storageOperations/group/DeleteGroupStorageOperation.js +5 -0
  482. package/features/shared/storageOperations/group/DeleteGroupStorageOperation.js.map +1 -0
  483. package/features/shared/storageOperations/group/GetGroupStorageOperation.d.ts +8 -0
  484. package/features/shared/storageOperations/group/GetGroupStorageOperation.js +5 -0
  485. package/features/shared/storageOperations/group/GetGroupStorageOperation.js.map +1 -0
  486. package/features/shared/storageOperations/group/ListGroupsStorageOperation.d.ts +8 -0
  487. package/features/shared/storageOperations/group/ListGroupsStorageOperation.js +5 -0
  488. package/features/shared/storageOperations/group/ListGroupsStorageOperation.js.map +1 -0
  489. package/features/shared/storageOperations/group/UpdateGroupStorageOperation.d.ts +8 -0
  490. package/features/shared/storageOperations/group/UpdateGroupStorageOperation.js +5 -0
  491. package/features/shared/storageOperations/group/UpdateGroupStorageOperation.js.map +1 -0
  492. package/features/shared/storageOperations/index.d.ts +32 -0
  493. package/features/shared/storageOperations/index.js +32 -0
  494. package/features/shared/storageOperations/model/CreateModelStorageOperation.d.ts +8 -0
  495. package/features/shared/storageOperations/model/CreateModelStorageOperation.js +5 -0
  496. package/features/shared/storageOperations/model/CreateModelStorageOperation.js.map +1 -0
  497. package/features/shared/storageOperations/model/DeleteModelStorageOperation.d.ts +8 -0
  498. package/features/shared/storageOperations/model/DeleteModelStorageOperation.js +5 -0
  499. package/features/shared/storageOperations/model/DeleteModelStorageOperation.js.map +1 -0
  500. package/features/shared/storageOperations/model/GetModelStorageOperation.d.ts +8 -0
  501. package/features/shared/storageOperations/model/GetModelStorageOperation.js +5 -0
  502. package/features/shared/storageOperations/model/GetModelStorageOperation.js.map +1 -0
  503. package/features/shared/storageOperations/model/ListModelsStorageOperation.d.ts +8 -0
  504. package/features/shared/storageOperations/model/ListModelsStorageOperation.js +5 -0
  505. package/features/shared/storageOperations/model/ListModelsStorageOperation.js.map +1 -0
  506. package/features/shared/storageOperations/model/UpdateModelStorageOperation.d.ts +8 -0
  507. package/features/shared/storageOperations/model/UpdateModelStorageOperation.js +5 -0
  508. package/features/shared/storageOperations/model/UpdateModelStorageOperation.js.map +1 -0
  509. package/features/sortMapper/SortMapper.js +2 -5
  510. package/features/sortMapper/SortMapper.js.map +1 -1
  511. package/features/whereMapper/WhereMapper.js +7 -5
  512. package/features/whereMapper/WhereMapper.js.map +1 -1
  513. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +3 -7
  514. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  515. package/fieldConverters/abstractions.d.ts +14 -0
  516. package/fieldConverters/abstractions.js +13 -0
  517. package/fieldConverters/abstractions.js.map +1 -0
  518. package/fieldConverters/index.d.ts +1 -1
  519. package/graphql/CmsGraphQLSchemaFactory.d.ts +8 -0
  520. package/graphql/CmsGraphQLSchemaFactory.js +5 -0
  521. package/graphql/CmsGraphQLSchemaFactory.js.map +1 -0
  522. package/graphql/CmsSchemaExecutor.d.ts +10 -0
  523. package/graphql/CmsSchemaExecutor.js +5 -0
  524. package/graphql/CmsSchemaExecutor.js.map +1 -0
  525. package/graphql/buildSchemaPlugins.d.ts +2 -1
  526. package/graphql/buildSchemaPlugins.js +1 -3
  527. package/graphql/buildSchemaPlugins.js.map +1 -1
  528. package/graphql/checkEndpointAccess.js +5 -2
  529. package/graphql/checkEndpointAccess.js.map +1 -1
  530. package/graphql/createExecutableSchema.d.ts +1 -1
  531. package/graphql/createExecutableSchema.js +1 -1
  532. package/graphql/createExecutableSchema.js.map +1 -1
  533. package/graphql/generateSchema.d.ts +2 -1
  534. package/graphql/generateSchema.js +14 -5
  535. package/graphql/generateSchema.js.map +1 -1
  536. package/graphql/getSchema.js +7 -2
  537. package/graphql/getSchema.js.map +1 -1
  538. package/graphql/scalars/RevisionIdScalarPlugin.d.ts +1 -1
  539. package/graphql/scalars/RevisionIdScalarPlugin.js.map +1 -1
  540. package/graphql/schema/baseContentSchema.d.ts +1 -6
  541. package/graphql/schema/baseContentSchema.js +5 -8
  542. package/graphql/schema/baseContentSchema.js.map +1 -1
  543. package/graphql/schema/baseSchema.d.ts +2 -2
  544. package/graphql/schema/baseSchema.js +6 -41
  545. package/graphql/schema/baseSchema.js.map +1 -1
  546. package/graphql/schema/cms/CmsBaseErrorTypeFactory.d.ts +14 -0
  547. package/graphql/schema/cms/CmsBaseErrorTypeFactory.js +21 -0
  548. package/graphql/schema/cms/CmsBaseErrorTypeFactory.js.map +1 -0
  549. package/graphql/schema/cms/createEntryResolver.js +2 -2
  550. package/graphql/schema/cms/createEntryResolver.js.map +1 -1
  551. package/graphql/schema/cms/deleteEntryResolver.js +2 -2
  552. package/graphql/schema/cms/deleteEntryResolver.js.map +1 -1
  553. package/graphql/schema/cms/getEntryResolver.js +5 -4
  554. package/graphql/schema/cms/getEntryResolver.js.map +1 -1
  555. package/graphql/schema/cms/getModelResolver.d.ts +35 -0
  556. package/graphql/schema/cms/getModelResolver.js +49 -0
  557. package/graphql/schema/cms/getModelResolver.js.map +1 -0
  558. package/graphql/schema/cms/helpers/buildFieldsSelection.js +9 -2
  559. package/graphql/schema/cms/helpers/buildFieldsSelection.js.map +1 -1
  560. package/graphql/schema/cms/helpers/expandFieldWildcards.d.ts +2 -0
  561. package/graphql/schema/cms/helpers/expandFieldWildcards.js +13 -0
  562. package/graphql/schema/cms/helpers/expandFieldWildcards.js.map +1 -0
  563. package/graphql/schema/cms/helpers/getModel.d.ts +0 -3
  564. package/graphql/schema/cms/helpers/getModel.js +5 -3
  565. package/graphql/schema/cms/helpers/getModel.js.map +1 -1
  566. package/graphql/schema/cms/helpers/index.d.ts +1 -0
  567. package/graphql/schema/cms/helpers/index.js +1 -0
  568. package/graphql/schema/cms/helpers.d.ts +1 -0
  569. package/graphql/schema/cms/helpers.js +1 -0
  570. package/graphql/schema/cms/listEntriesResolver.js +5 -4
  571. package/graphql/schema/cms/listEntriesResolver.js.map +1 -1
  572. package/graphql/schema/cms/publishEntryResolver.js +2 -2
  573. package/graphql/schema/cms/publishEntryResolver.js.map +1 -1
  574. package/graphql/schema/cms/resolvers/createEntry.d.ts +2 -2
  575. package/graphql/schema/cms/resolvers/createEntry.js +1 -1
  576. package/graphql/schema/cms/resolvers/createEntry.js.map +1 -1
  577. package/graphql/schema/cms/resolvers/deleteEntryRevision.d.ts +2 -2
  578. package/graphql/schema/cms/resolvers/deleteEntryRevision.js +1 -1
  579. package/graphql/schema/cms/resolvers/deleteEntryRevision.js.map +1 -1
  580. package/graphql/schema/cms/resolvers/getEntry.d.ts +2 -2
  581. package/graphql/schema/cms/resolvers/getEntry.js +1 -1
  582. package/graphql/schema/cms/resolvers/getEntry.js.map +1 -1
  583. package/graphql/schema/cms/resolvers/getModel.d.ts +8 -0
  584. package/graphql/schema/cms/resolvers/getModel.js +18 -0
  585. package/graphql/schema/cms/resolvers/getModel.js.map +1 -0
  586. package/graphql/schema/cms/resolvers/index.d.ts +1 -0
  587. package/graphql/schema/cms/resolvers/index.js +1 -0
  588. package/graphql/schema/cms/resolvers/listEntries.d.ts +2 -2
  589. package/graphql/schema/cms/resolvers/listEntries.js +1 -1
  590. package/graphql/schema/cms/resolvers/listEntries.js.map +1 -1
  591. package/graphql/schema/cms/resolvers/mutationCms.d.ts +2 -2
  592. package/graphql/schema/cms/resolvers/mutationCms.js +1 -1
  593. package/graphql/schema/cms/resolvers/mutationCms.js.map +1 -1
  594. package/graphql/schema/cms/resolvers/publishEntryRevision.d.ts +2 -2
  595. package/graphql/schema/cms/resolvers/publishEntryRevision.js +1 -1
  596. package/graphql/schema/cms/resolvers/publishEntryRevision.js.map +1 -1
  597. package/graphql/schema/cms/resolvers/queryCms.d.ts +2 -2
  598. package/graphql/schema/cms/resolvers/queryCms.js +1 -1
  599. package/graphql/schema/cms/resolvers/queryCms.js.map +1 -1
  600. package/graphql/schema/cms/resolvers/unpublishEntryRevision.d.ts +2 -2
  601. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js +1 -1
  602. package/graphql/schema/cms/resolvers/unpublishEntryRevision.js.map +1 -1
  603. package/graphql/schema/cms/resolvers/updateEntryRevision.d.ts +2 -2
  604. package/graphql/schema/cms/resolvers/updateEntryRevision.js +1 -1
  605. package/graphql/schema/cms/resolvers/updateEntryRevision.js.map +1 -1
  606. package/graphql/schema/cms/typeDefs/mutation.d.ts +2 -2
  607. package/graphql/schema/cms/typeDefs/mutation.js +1 -1
  608. package/graphql/schema/cms/typeDefs/mutation.js.map +1 -1
  609. package/graphql/schema/cms/typeDefs/query.d.ts +2 -2
  610. package/graphql/schema/cms/typeDefs/query.js +2 -1
  611. package/graphql/schema/cms/typeDefs/query.js.map +1 -1
  612. package/graphql/schema/cms/typeDefs/responses.d.ts +2 -2
  613. package/graphql/schema/cms/typeDefs/responses.js +6 -1
  614. package/graphql/schema/cms/typeDefs/responses.js.map +1 -1
  615. package/graphql/schema/cms/unpublishEntryResolver.js +2 -2
  616. package/graphql/schema/cms/unpublishEntryResolver.js.map +1 -1
  617. package/graphql/schema/cms/updateEntryResolver.js +2 -2
  618. package/graphql/schema/cms/updateEntryResolver.js.map +1 -1
  619. package/graphql/schema/contentEntries.js +43 -32
  620. package/graphql/schema/contentEntries.js.map +1 -1
  621. package/graphql/schema/contentModelGroups.js +39 -18
  622. package/graphql/schema/contentModelGroups.js.map +1 -1
  623. package/graphql/schema/contentModels.js +68 -16
  624. package/graphql/schema/contentModels.js.map +1 -1
  625. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  626. package/graphql/schema/createFieldResolvers.js.map +1 -1
  627. package/graphql/schema/createManageResolvers.js +4 -2
  628. package/graphql/schema/createManageResolvers.js.map +1 -1
  629. package/graphql/schema/resolvers/manage/resolveCreate.js +5 -3
  630. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  631. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +5 -3
  632. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  633. package/graphql/schema/resolvers/manage/resolveDelete.js +9 -4
  634. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  635. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +5 -3
  636. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -1
  637. package/graphql/schema/resolvers/manage/resolveGet.js +11 -6
  638. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  639. package/graphql/schema/resolvers/manage/resolveGetByIds.js +5 -3
  640. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  641. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +5 -3
  642. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  643. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +5 -3
  644. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -1
  645. package/graphql/schema/resolvers/manage/resolveList.js +5 -3
  646. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  647. package/graphql/schema/resolvers/manage/resolveListDeleted.js +5 -3
  648. package/graphql/schema/resolvers/manage/resolveListDeleted.js.map +1 -1
  649. package/graphql/schema/resolvers/manage/resolveMove.js +4 -2
  650. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -1
  651. package/graphql/schema/resolvers/manage/resolvePublish.js +5 -3
  652. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  653. package/graphql/schema/resolvers/manage/resolveRepublish.js +5 -3
  654. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  655. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js +5 -3
  656. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js.map +1 -1
  657. package/graphql/schema/resolvers/manage/resolveUnpublish.js +5 -3
  658. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  659. package/graphql/schema/resolvers/manage/resolveUpdate.js +5 -3
  660. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  661. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js +5 -3
  662. package/graphql/schema/resolvers/manage/resolveUpdateRevisionDescription.js.map +1 -1
  663. package/graphql/schema/resolvers/manage/resolveValidate.js +5 -3
  664. package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -1
  665. package/graphql/schema/resolvers/preview/resolveGet.js +6 -3
  666. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  667. package/graphql/schema/resolvers/preview/resolveList.js +5 -3
  668. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  669. package/graphql/schema/resolvers/read/resolveGet.js +5 -2
  670. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  671. package/graphql/schema/resolvers/read/resolveList.js +5 -3
  672. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  673. package/graphql/schema/resolvers/singular/resolveGet.js +1 -1
  674. package/graphql/schema/resolvers/singular/resolveGet.js.map +1 -1
  675. package/graphql/schema/resolvers/singular/resolveUpdate.js +1 -1
  676. package/graphql/schema/resolvers/singular/resolveUpdate.js.map +1 -1
  677. package/graphql/schema/schemaPlugins.d.ts +2 -1
  678. package/graphql/schema/schemaPlugins.js +2 -4
  679. package/graphql/schema/schemaPlugins.js.map +1 -1
  680. package/index.d.ts +7 -6
  681. package/index.js +4 -22
  682. package/legacy/abstractions.js.map +1 -1
  683. package/package.json +23 -29
  684. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.d.ts +2 -2
  685. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js +1 -1
  686. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js.map +1 -1
  687. package/plugins/CmsModelPlugin.js +2 -1
  688. package/plugins/CmsModelPlugin.js.map +1 -1
  689. package/plugins/index.d.ts +0 -1
  690. package/plugins/index.js +0 -1
  691. package/types/fields/dynamicZoneField.d.ts +1 -0
  692. package/types/model.d.ts +6 -0
  693. package/types/modelField.d.ts +2 -0
  694. package/types/types.d.ts +10 -183
  695. package/types/types.js.map +1 -1
  696. package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.d.ts +28 -0
  697. package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.js +324 -0
  698. package/utils/contentModelToJsonSchema/CmsModelToJsonSchemaConverter.js.map +1 -0
  699. package/utils/contentModelToJsonSchema/index.d.ts +2 -0
  700. package/utils/contentModelToJsonSchema/index.js +1 -0
  701. package/utils/contentModelToJsonSchema/types.d.ts +24 -0
  702. package/utils/contentModelToJsonSchema/types.js +0 -0
  703. package/utils/converters/ConverterCollection.d.ts +2 -2
  704. package/utils/converters/ConverterCollection.js +1 -3
  705. package/utils/converters/ConverterCollection.js.map +1 -1
  706. package/utils/converters/valueKeyFromStorageConverter.d.ts +2 -2
  707. package/utils/converters/valueKeyFromStorageConverter.js +2 -2
  708. package/utils/converters/valueKeyFromStorageConverter.js.map +1 -1
  709. package/utils/converters/valueKeyStorageConverter.js +4 -2
  710. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  711. package/utils/converters/valueKeyToStorageConverter.d.ts +2 -2
  712. package/utils/converters/valueKeyToStorageConverter.js +2 -2
  713. package/utils/converters/valueKeyToStorageConverter.js.map +1 -1
  714. package/utils/getSchemaFromFieldPlugins.d.ts +2 -2
  715. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  716. package/utils/index.d.ts +1 -0
  717. package/utils/index.js +1 -0
  718. package/utils/isHeadlessCmsReady.d.ts +1 -1
  719. package/utils/isHeadlessCmsReady.js +3 -2
  720. package/utils/isHeadlessCmsReady.js.map +1 -1
  721. package/abstractions/entryHooks/OnEntryBeforeCreate.d.ts +0 -8
  722. package/abstractions/entryHooks/OnEntryBeforeCreate.js +0 -5
  723. package/abstractions/entryHooks/OnEntryBeforeCreate.js.map +0 -1
  724. package/abstractions/entryHooks/index.d.ts +0 -1
  725. package/abstractions/entryHooks/index.js +0 -1
  726. package/abstractions/index.d.ts +0 -1
  727. package/abstractions/index.js +0 -1
  728. package/context.d.ts +0 -3
  729. package/context.js +0 -131
  730. package/context.js.map +0 -1
  731. package/extensions/entryHooks/OnEntryBeforeCreate.d.ts +0 -4
  732. package/extensions/entryHooks/OnEntryBeforeCreate.js +0 -21
  733. package/extensions/entryHooks/OnEntryBeforeCreate.js.map +0 -1
  734. package/extensions/entryHooks/index.d.ts +0 -1
  735. package/extensions/entryHooks/index.js +0 -1
  736. package/extensions/index.d.ts +0 -5
  737. package/extensions/index.js +0 -7
  738. package/extensions/index.js.map +0 -1
  739. package/features/runtimeTenant/RuntimeTenant.d.ts +0 -13
  740. package/features/runtimeTenant/RuntimeTenant.js +0 -22
  741. package/features/runtimeTenant/RuntimeTenant.js.map +0 -1
  742. package/features/runtimeTenant/abstractions.d.ts +0 -11
  743. package/features/runtimeTenant/abstractions.js +0 -5
  744. package/features/runtimeTenant/abstractions.js.map +0 -1
  745. package/features/runtimeTenant/index.d.ts +0 -2
  746. package/features/runtimeTenant/index.js +0 -2
  747. package/graphql/graphQLHandlerFactory.d.ts +0 -5
  748. package/graphql/graphQLHandlerFactory.js +0 -22
  749. package/graphql/graphQLHandlerFactory.js.map +0 -1
  750. package/graphql/handleRequest.d.ts +0 -11
  751. package/graphql/handleRequest.js +0 -62
  752. package/graphql/handleRequest.js.map +0 -1
  753. package/graphql/index.d.ts +0 -4
  754. package/graphql/index.js +0 -11
  755. package/graphql/index.js.map +0 -1
  756. package/graphql/schema/cms/index.d.ts +0 -2
  757. package/graphql/schema/cms/index.js +0 -24
  758. package/graphql/schema/cms/index.js.map +0 -1
  759. package/index.js.map +0 -1
  760. package/parameters/context.d.ts +0 -2
  761. package/parameters/context.js +0 -7
  762. package/parameters/context.js.map +0 -1
  763. package/parameters/header.d.ts +0 -2
  764. package/parameters/header.js +0 -13
  765. package/parameters/header.js.map +0 -1
  766. package/parameters/index.d.ts +0 -3
  767. package/parameters/index.js +0 -3
  768. package/parameters/path.d.ts +0 -2
  769. package/parameters/path.js +0 -12
  770. package/parameters/path.js.map +0 -1
  771. package/plugins/CmsParametersPlugin.d.ts +0 -18
  772. package/plugins/CmsParametersPlugin.js +0 -16
  773. package/plugins/CmsParametersPlugin.js.map +0 -1
@@ -1,7 +1,12 @@
1
1
  import { CmsImportAction } from "../../types.js";
2
+ import { ListGroupsUseCase } from "../../../features/contentModelGroup/ListGroups/index.js";
3
+ import { UpdateModelUseCase } from "../../../features/contentModel/UpdateModel/index.js";
4
+ import { CreateModelUseCase } from "../../../features/contentModel/CreateModel/index.js";
2
5
  const importModels = async (params)=>{
3
6
  const { context, models } = params;
4
- const groups = await context.cms.listGroups();
7
+ const groupsResult = await context.container.resolve(ListGroupsUseCase).execute();
8
+ if (groupsResult.isFail()) throw groupsResult.error;
9
+ const groups = groupsResult.value;
5
10
  const results = [];
6
11
  for (const model of models){
7
12
  const group = groups.find((group)=>group.slug === model.model.group);
@@ -44,18 +49,9 @@ const importModels = async (params)=>{
44
49
  continue;
45
50
  }
46
51
  if (model.action === CmsImportAction.UPDATE) {
47
- try {
48
- const result = await context.cms.updateModel(model.model.modelId, model.model);
49
- results.push({
50
- action: model.action,
51
- model: {
52
- ...result,
53
- group: group.slug
54
- },
55
- related: model.related,
56
- imported: true
57
- });
58
- } catch (ex) {
52
+ const updateResult = await context.container.resolve(UpdateModelUseCase).execute(model.model.modelId, model.model);
53
+ if (updateResult.isFail()) {
54
+ const ex = updateResult.error;
59
55
  results.push({
60
56
  action: model.action,
61
57
  model: model.model,
@@ -70,21 +66,20 @@ const importModels = async (params)=>{
70
66
  }
71
67
  }
72
68
  });
73
- }
74
- continue;
75
- }
76
- try {
77
- const result = await context.cms.createModel(model.model);
78
- results.push({
69
+ } else results.push({
79
70
  action: model.action,
80
71
  model: {
81
- ...result,
72
+ ...updateResult.value,
82
73
  group: group.slug
83
74
  },
84
75
  related: model.related,
85
76
  imported: true
86
77
  });
87
- } catch (ex) {
78
+ continue;
79
+ }
80
+ const createResult = await context.container.resolve(CreateModelUseCase).execute(model.model);
81
+ if (createResult.isFail()) {
82
+ const ex = createResult.error;
88
83
  results.push({
89
84
  action: model.action,
90
85
  model: model.model,
@@ -99,7 +94,15 @@ const importModels = async (params)=>{
99
94
  }
100
95
  }
101
96
  });
102
- }
97
+ } else results.push({
98
+ action: model.action,
99
+ model: {
100
+ ...createResult.value,
101
+ group: group.slug
102
+ },
103
+ related: model.related,
104
+ imported: true
105
+ });
103
106
  }
104
107
  return results;
105
108
  };
@@ -1 +1 @@
1
- {"version":3,"file":"export/crud/imports/importModels.js","sources":["../../../../src/export/crud/imports/importModels.ts"],"sourcesContent":["import type { CmsContext } from \"~/types/index.js\";\nimport type { CmsModelImportResult, ValidCmsModelResult } from \"~/export/types.js\";\nimport { CmsImportAction } from \"~/export/types.js\";\n\ninterface Params {\n context: CmsContext;\n models: ValidCmsModelResult[];\n}\n\nexport const importModels = async (params: Params) => {\n const { context, models } = params;\n\n const groups = await context.cms.listGroups();\n\n const results: CmsModelImportResult[] = [];\n\n for (const model of models) {\n /**\n * There is a possibility that group does not exist.\n */\n const group = groups.find(group => {\n return group.slug === model.model.group;\n });\n if (!group) {\n results.push({\n action: model.action,\n model: model.model,\n related: model.related,\n imported: false,\n error: {\n message: `Group \"${model.model.group}\" does not exist.`,\n code: \"GROUP_NOT_FOUND\",\n data: {\n model\n }\n }\n });\n continue;\n }\n /**\n * No update action or there is a validation error.\n */\n if (model.action === CmsImportAction.NONE || model.error) {\n results.push({\n action: model.action,\n model: model.model,\n related: model.related,\n imported: false,\n error: model.error || {\n message: \"No action to be ran on the model.\",\n code: \"NO_ACTION\"\n }\n });\n continue;\n }\n /**\n * Cannot update a model if it is created via plugin.\n */\n if (model.action === CmsImportAction.CODE) {\n results.push({\n action: model.action,\n model: model.model,\n related: model.related,\n imported: true\n });\n continue;\n }\n\n /**\n * Update the model\n */\n //\n if (model.action === CmsImportAction.UPDATE) {\n try {\n const result = await context.cms.updateModel(model.model.modelId, model.model);\n results.push({\n action: model.action,\n model: {\n ...result,\n group: group.slug\n },\n related: model.related,\n imported: true\n });\n } catch (ex) {\n results.push({\n action: model.action,\n model: model.model,\n imported: false,\n related: model.related,\n error: {\n message: ex.message,\n code: ex.code || \"UPDATE_MODEL_ERROR\",\n data: {\n model: model.model,\n ...ex.data\n }\n }\n });\n }\n continue;\n }\n /**\n * Create a new model.\n */\n try {\n const result = await context.cms.createModel(model.model);\n results.push({\n action: model.action,\n model: {\n ...result,\n group: group.slug\n },\n related: model.related,\n imported: true\n });\n } catch (ex) {\n results.push({\n action: model.action,\n model: model.model,\n imported: false,\n related: model.related,\n error: {\n message: ex.message,\n code: ex.code || \"CREATE_MODEL_ERROR\",\n data: {\n model: model.model,\n ...ex.data\n }\n }\n });\n }\n }\n\n return results;\n};\n"],"names":["importModels","params","context","models","groups","results","model","group","CmsImportAction","result","ex"],"mappings":";AASO,MAAMA,eAAe,OAAOC;IAC/B,MAAM,EAAEC,OAAO,EAAEC,MAAM,EAAE,GAAGF;IAE5B,MAAMG,SAAS,MAAMF,QAAQ,GAAG,CAAC,UAAU;IAE3C,MAAMG,UAAkC,EAAE;IAE1C,KAAK,MAAMC,SAASH,OAAQ;QAIxB,MAAMI,QAAQH,OAAO,IAAI,CAACG,CAAAA,QACfA,MAAM,IAAI,KAAKD,MAAM,KAAK,CAAC,KAAK;QAE3C,IAAI,CAACC,OAAO;YACRF,QAAQ,IAAI,CAAC;gBACT,QAAQC,MAAM,MAAM;gBACpB,OAAOA,MAAM,KAAK;gBAClB,SAASA,MAAM,OAAO;gBACtB,UAAU;gBACV,OAAO;oBACH,SAAS,CAAC,OAAO,EAAEA,MAAM,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC;oBACvD,MAAM;oBACN,MAAM;wBACFA;oBACJ;gBACJ;YACJ;YACA;QACJ;QAIA,IAAIA,MAAM,MAAM,KAAKE,gBAAgB,IAAI,IAAIF,MAAM,KAAK,EAAE;YACtDD,QAAQ,IAAI,CAAC;gBACT,QAAQC,MAAM,MAAM;gBACpB,OAAOA,MAAM,KAAK;gBAClB,SAASA,MAAM,OAAO;gBACtB,UAAU;gBACV,OAAOA,MAAM,KAAK,IAAI;oBAClB,SAAS;oBACT,MAAM;gBACV;YACJ;YACA;QACJ;QAIA,IAAIA,MAAM,MAAM,KAAKE,gBAAgB,IAAI,EAAE;YACvCH,QAAQ,IAAI,CAAC;gBACT,QAAQC,MAAM,MAAM;gBACpB,OAAOA,MAAM,KAAK;gBAClB,SAASA,MAAM,OAAO;gBACtB,UAAU;YACd;YACA;QACJ;QAMA,IAAIA,MAAM,MAAM,KAAKE,gBAAgB,MAAM,EAAE;YACzC,IAAI;gBACA,MAAMC,SAAS,MAAMP,QAAQ,GAAG,CAAC,WAAW,CAACI,MAAM,KAAK,CAAC,OAAO,EAAEA,MAAM,KAAK;gBAC7ED,QAAQ,IAAI,CAAC;oBACT,QAAQC,MAAM,MAAM;oBACpB,OAAO;wBACH,GAAGG,MAAM;wBACT,OAAOF,MAAM,IAAI;oBACrB;oBACA,SAASD,MAAM,OAAO;oBACtB,UAAU;gBACd;YACJ,EAAE,OAAOI,IAAI;gBACTL,QAAQ,IAAI,CAAC;oBACT,QAAQC,MAAM,MAAM;oBACpB,OAAOA,MAAM,KAAK;oBAClB,UAAU;oBACV,SAASA,MAAM,OAAO;oBACtB,OAAO;wBACH,SAASI,GAAG,OAAO;wBACnB,MAAMA,GAAG,IAAI,IAAI;wBACjB,MAAM;4BACF,OAAOJ,MAAM,KAAK;4BAClB,GAAGI,GAAG,IAAI;wBACd;oBACJ;gBACJ;YACJ;YACA;QACJ;QAIA,IAAI;YACA,MAAMD,SAAS,MAAMP,QAAQ,GAAG,CAAC,WAAW,CAACI,MAAM,KAAK;YACxDD,QAAQ,IAAI,CAAC;gBACT,QAAQC,MAAM,MAAM;gBACpB,OAAO;oBACH,GAAGG,MAAM;oBACT,OAAOF,MAAM,IAAI;gBACrB;gBACA,SAASD,MAAM,OAAO;gBACtB,UAAU;YACd;QACJ,EAAE,OAAOI,IAAI;YACTL,QAAQ,IAAI,CAAC;gBACT,QAAQC,MAAM,MAAM;gBACpB,OAAOA,MAAM,KAAK;gBAClB,UAAU;gBACV,SAASA,MAAM,OAAO;gBACtB,OAAO;oBACH,SAASI,GAAG,OAAO;oBACnB,MAAMA,GAAG,IAAI,IAAI;oBACjB,MAAM;wBACF,OAAOJ,MAAM,KAAK;wBAClB,GAAGI,GAAG,IAAI;oBACd;gBACJ;YACJ;QACJ;IACJ;IAEA,OAAOL;AACX"}
1
+ {"version":3,"file":"export/crud/imports/importModels.js","sources":["../../../../src/export/crud/imports/importModels.ts"],"sourcesContent":["import type { CmsContext } from \"~/types/index.js\";\nimport type { CmsModelImportResult, ValidCmsModelResult } from \"~/export/types.js\";\nimport { CmsImportAction } from \"~/export/types.js\";\nimport { ListGroupsUseCase } from \"~/features/contentModelGroup/ListGroups/index.js\";\nimport { UpdateModelUseCase } from \"~/features/contentModel/UpdateModel/index.js\";\nimport { CreateModelUseCase } from \"~/features/contentModel/CreateModel/index.js\";\n\ninterface Params {\n context: CmsContext;\n models: ValidCmsModelResult[];\n}\n\nexport const importModels = async (params: Params) => {\n const { context, models } = params;\n\n const groupsResult = await context.container.resolve(ListGroupsUseCase).execute();\n if (groupsResult.isFail()) {\n throw groupsResult.error;\n }\n const groups = groupsResult.value;\n\n const results: CmsModelImportResult[] = [];\n\n for (const model of models) {\n /**\n * There is a possibility that group does not exist.\n */\n const group = groups.find(group => {\n return group.slug === model.model.group;\n });\n if (!group) {\n results.push({\n action: model.action,\n model: model.model,\n related: model.related,\n imported: false,\n error: {\n message: `Group \"${model.model.group}\" does not exist.`,\n code: \"GROUP_NOT_FOUND\",\n data: {\n model\n }\n }\n });\n continue;\n }\n /**\n * No update action or there is a validation error.\n */\n if (model.action === CmsImportAction.NONE || model.error) {\n results.push({\n action: model.action,\n model: model.model,\n related: model.related,\n imported: false,\n error: model.error || {\n message: \"No action to be ran on the model.\",\n code: \"NO_ACTION\"\n }\n });\n continue;\n }\n /**\n * Cannot update a model if it is created via plugin.\n */\n if (model.action === CmsImportAction.CODE) {\n results.push({\n action: model.action,\n model: model.model,\n related: model.related,\n imported: true\n });\n continue;\n }\n\n /**\n * Update the model\n */\n //\n if (model.action === CmsImportAction.UPDATE) {\n const updateResult = await context.container\n .resolve(UpdateModelUseCase)\n .execute(model.model.modelId, model.model);\n if (updateResult.isFail()) {\n const ex = updateResult.error;\n results.push({\n action: model.action,\n model: model.model,\n imported: false,\n related: model.related,\n error: {\n message: ex.message,\n code: (ex as any).code || \"UPDATE_MODEL_ERROR\",\n data: { model: model.model, ...(ex as any).data }\n }\n });\n } else {\n results.push({\n action: model.action,\n model: { ...updateResult.value, group: group.slug },\n related: model.related,\n imported: true\n });\n }\n continue;\n }\n /**\n * Create a new model.\n */\n const createResult = await context.container\n .resolve(CreateModelUseCase)\n .execute(model.model);\n if (createResult.isFail()) {\n const ex = createResult.error;\n results.push({\n action: model.action,\n model: model.model,\n imported: false,\n related: model.related,\n error: {\n message: ex.message,\n code: (ex as any).code || \"CREATE_MODEL_ERROR\",\n data: { model: model.model, ...(ex as any).data }\n }\n });\n } else {\n results.push({\n action: model.action,\n model: { ...createResult.value, group: group.slug },\n related: model.related,\n imported: true\n });\n }\n }\n\n return results;\n};\n"],"names":["importModels","params","context","models","groupsResult","ListGroupsUseCase","groups","results","model","group","CmsImportAction","updateResult","UpdateModelUseCase","ex","createResult","CreateModelUseCase"],"mappings":";;;;AAYO,MAAMA,eAAe,OAAOC;IAC/B,MAAM,EAAEC,OAAO,EAAEC,MAAM,EAAE,GAAGF;IAE5B,MAAMG,eAAe,MAAMF,QAAQ,SAAS,CAAC,OAAO,CAACG,mBAAmB,OAAO;IAC/E,IAAID,aAAa,MAAM,IACnB,MAAMA,aAAa,KAAK;IAE5B,MAAME,SAASF,aAAa,KAAK;IAEjC,MAAMG,UAAkC,EAAE;IAE1C,KAAK,MAAMC,SAASL,OAAQ;QAIxB,MAAMM,QAAQH,OAAO,IAAI,CAACG,CAAAA,QACfA,MAAM,IAAI,KAAKD,MAAM,KAAK,CAAC,KAAK;QAE3C,IAAI,CAACC,OAAO;YACRF,QAAQ,IAAI,CAAC;gBACT,QAAQC,MAAM,MAAM;gBACpB,OAAOA,MAAM,KAAK;gBAClB,SAASA,MAAM,OAAO;gBACtB,UAAU;gBACV,OAAO;oBACH,SAAS,CAAC,OAAO,EAAEA,MAAM,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC;oBACvD,MAAM;oBACN,MAAM;wBACFA;oBACJ;gBACJ;YACJ;YACA;QACJ;QAIA,IAAIA,MAAM,MAAM,KAAKE,gBAAgB,IAAI,IAAIF,MAAM,KAAK,EAAE;YACtDD,QAAQ,IAAI,CAAC;gBACT,QAAQC,MAAM,MAAM;gBACpB,OAAOA,MAAM,KAAK;gBAClB,SAASA,MAAM,OAAO;gBACtB,UAAU;gBACV,OAAOA,MAAM,KAAK,IAAI;oBAClB,SAAS;oBACT,MAAM;gBACV;YACJ;YACA;QACJ;QAIA,IAAIA,MAAM,MAAM,KAAKE,gBAAgB,IAAI,EAAE;YACvCH,QAAQ,IAAI,CAAC;gBACT,QAAQC,MAAM,MAAM;gBACpB,OAAOA,MAAM,KAAK;gBAClB,SAASA,MAAM,OAAO;gBACtB,UAAU;YACd;YACA;QACJ;QAMA,IAAIA,MAAM,MAAM,KAAKE,gBAAgB,MAAM,EAAE;YACzC,MAAMC,eAAe,MAAMT,QAAQ,SAAS,CACvC,OAAO,CAACU,oBACR,OAAO,CAACJ,MAAM,KAAK,CAAC,OAAO,EAAEA,MAAM,KAAK;YAC7C,IAAIG,aAAa,MAAM,IAAI;gBACvB,MAAME,KAAKF,aAAa,KAAK;gBAC7BJ,QAAQ,IAAI,CAAC;oBACT,QAAQC,MAAM,MAAM;oBACpB,OAAOA,MAAM,KAAK;oBAClB,UAAU;oBACV,SAASA,MAAM,OAAO;oBACtB,OAAO;wBACH,SAASK,GAAG,OAAO;wBACnB,MAAOA,GAAW,IAAI,IAAI;wBAC1B,MAAM;4BAAE,OAAOL,MAAM,KAAK;4BAAE,GAAIK,GAAW,IAAI;wBAAC;oBACpD;gBACJ;YACJ,OACIN,QAAQ,IAAI,CAAC;gBACT,QAAQC,MAAM,MAAM;gBACpB,OAAO;oBAAE,GAAGG,aAAa,KAAK;oBAAE,OAAOF,MAAM,IAAI;gBAAC;gBAClD,SAASD,MAAM,OAAO;gBACtB,UAAU;YACd;YAEJ;QACJ;QAIA,MAAMM,eAAe,MAAMZ,QAAQ,SAAS,CACvC,OAAO,CAACa,oBACR,OAAO,CAACP,MAAM,KAAK;QACxB,IAAIM,aAAa,MAAM,IAAI;YACvB,MAAMD,KAAKC,aAAa,KAAK;YAC7BP,QAAQ,IAAI,CAAC;gBACT,QAAQC,MAAM,MAAM;gBACpB,OAAOA,MAAM,KAAK;gBAClB,UAAU;gBACV,SAASA,MAAM,OAAO;gBACtB,OAAO;oBACH,SAASK,GAAG,OAAO;oBACnB,MAAOA,GAAW,IAAI,IAAI;oBAC1B,MAAM;wBAAE,OAAOL,MAAM,KAAK;wBAAE,GAAIK,GAAW,IAAI;oBAAC;gBACpD;YACJ;QACJ,OACIN,QAAQ,IAAI,CAAC;YACT,QAAQC,MAAM,MAAM;YACpB,OAAO;gBAAE,GAAGM,aAAa,KAAK;gBAAE,OAAOL,MAAM,IAAI;YAAC;YAClD,SAASD,MAAM,OAAO;YACtB,UAAU;QACd;IAER;IAEA,OAAOD;AACX"}
@@ -1,3 +1,2 @@
1
- import { ContextPlugin } from "@webiny/handler";
2
- import type { CmsContext } from "../../types/index.js";
3
- export declare const createExportGraphQL: () => ContextPlugin<CmsContext>;
1
+ declare const plugin: import("~/plugins/index.js").ICmsGraphQLSchemaPlugin<import("@webiny/api/types").Context>;
2
+ export { plugin as exportPlugin };
@@ -1,6 +1,6 @@
1
1
  import { createCmsGraphQLSchemaPlugin } from "../../plugins/index.js";
2
- import { ErrorResponse, Response } from "@webiny/handler-graphql";
3
- import { ContextPlugin } from "@webiny/handler";
2
+ import { ErrorResponse, Response } from "@webiny/api-graphql";
3
+ import { CmsExport, CmsImport } from "../abstractions.js";
4
4
  const graphql_plugin = createCmsGraphQLSchemaPlugin({
5
5
  typeDefs: `
6
6
  type CmsExportStructureResponse {
@@ -136,7 +136,7 @@ const graphql_plugin = createCmsGraphQLSchemaPlugin({
136
136
  Query: {
137
137
  exportStructure: async (_, args, context)=>{
138
138
  try {
139
- const result = await context.cms.export.structure({
139
+ const result = await context.container.resolve(CmsExport).structure({
140
140
  models: args.models
141
141
  });
142
142
  return new Response(JSON.stringify(result));
@@ -148,7 +148,7 @@ const graphql_plugin = createCmsGraphQLSchemaPlugin({
148
148
  Mutation: {
149
149
  validateImportStructure: async (_, args, context)=>{
150
150
  try {
151
- const result = await context.cms.importing.validate({
151
+ const result = await context.container.resolve(CmsImport).validate({
152
152
  data: args.data
153
153
  });
154
154
  return new Response(result);
@@ -158,7 +158,7 @@ const graphql_plugin = createCmsGraphQLSchemaPlugin({
158
158
  },
159
159
  importStructure: async (_, args, context)=>{
160
160
  try {
161
- const result = await context.cms.importing.structure({
161
+ const result = await context.container.resolve(CmsImport).structure({
162
162
  data: args.data
163
163
  });
164
164
  return new Response(result);
@@ -170,10 +170,6 @@ const graphql_plugin = createCmsGraphQLSchemaPlugin({
170
170
  }
171
171
  });
172
172
  graphql_plugin.name = "headless-cms.graphql.export";
173
- const createExportGraphQL = ()=>new ContextPlugin(async (context)=>{
174
- if (!context.cms.MANAGE) return;
175
- context.plugins.register(graphql_plugin);
176
- });
177
- export { createExportGraphQL };
173
+ export { graphql_plugin as exportPlugin };
178
174
 
179
175
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"export/graphql/index.js","sources":["../../../src/export/graphql/index.ts"],"sourcesContent":["import { createCmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\nimport { ErrorResponse, Response } from \"@webiny/handler-graphql\";\nimport { ContextPlugin } from \"@webiny/handler\";\nimport type { CmsContext } from \"~/types/index.js\";\n\nconst plugin = createCmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type CmsExportStructureResponse {\n data: String\n error: CmsError\n }\n\n input CmsImportStructureGroupInput {\n id: ID!\n name: String!\n slug: String\n description: String\n icon: Icon!\n }\n\n input CmsImportStructureModelInput {\n name: String!\n singularApiName: String!\n pluralApiName: String!\n modelId: String!\n group: String!\n icon: Icon\n description: String\n layout: JSON!\n fields: [CmsContentModelFieldInput!]!\n titleFieldId: String!\n descriptionFieldId: String\n imageFieldId: String\n tags: [String!]\n }\n\n enum CmsImportGroupStructureAction {\n create\n update\n code\n none\n }\n\n enum CmsImportModelStructureAction {\n create\n update\n code\n none\n }\n\n input CmsImportStructureInput {\n groups: [CmsImportStructureGroupInput!]!\n models: [CmsImportStructureModelInput!]!\n }\n\n type CmsImportValidateResponseDataGroupResultItem {\n id: String\n name: String\n slug: String\n }\n\n type CmsImportValidateResponseDataGroupResult {\n group: CmsImportValidateResponseDataGroupResultItem!\n error: CmsError\n action: CmsImportGroupStructureAction\n }\n\n type CmsImportValidateResponseDataModelResultItem {\n modelId: String\n name: String\n group: String\n }\n\n type CmsImportValidateResponseDataModelResult {\n model: CmsImportValidateResponseDataModelResultItem!\n related: [String!]\n error: CmsError\n action: CmsImportModelStructureAction\n }\n\n type CmsImportValidateResponseData {\n groups: [CmsImportValidateResponseDataGroupResult!]!\n models: [CmsImportValidateResponseDataModelResult!]!\n message: String!\n }\n\n type CmsImportValidateResponse {\n data: CmsImportValidateResponseData\n error: CmsError\n }\n\n type CmsImportStructureResponseDataGroupResultItem {\n id: String!\n name: String!\n }\n type CmsImportStructureResponseDataGroupResult {\n group: CmsImportStructureResponseDataGroupResultItem!\n error: CmsError\n action: CmsImportGroupStructureAction\n imported: Boolean\n }\n\n type CmsImportStructureResponseDataResultItem {\n modelId: String!\n name: String!\n group: String!\n }\n\n type CmsImportStructureResponseDataModelResult {\n model: CmsImportStructureResponseDataResultItem!\n related: [String!]\n error: CmsError\n action: CmsImportModelStructureAction\n imported: Boolean\n }\n\n type CmsImportStructureResponseData {\n groups: [CmsImportStructureResponseDataGroupResult!]!\n models: [CmsImportStructureResponseDataModelResult!]!\n message: String\n }\n\n type CmsImportStructureResponse {\n data: CmsImportStructureResponseData\n error: CmsError\n }\n\n extend type Query {\n exportStructure(models: [String!]): CmsExportStructureResponse!\n }\n\n extend type Mutation {\n validateImportStructure(data: CmsImportStructureInput!): CmsImportValidateResponse!\n importStructure(data: CmsImportStructureInput!): CmsImportStructureResponse!\n }\n `,\n resolvers: {\n Query: {\n exportStructure: async (_, args, context) => {\n try {\n const result = await context.cms.export.structure({\n models: args.models\n });\n return new Response(JSON.stringify(result));\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n }\n },\n Mutation: {\n validateImportStructure: async (_, args, context) => {\n try {\n const result = await context.cms.importing.validate({\n data: args.data\n });\n return new Response(result);\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n },\n importStructure: async (_, args, context) => {\n try {\n const result = await context.cms.importing.structure({\n data: args.data\n });\n return new Response(result);\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n }\n }\n }\n});\nplugin.name = \"headless-cms.graphql.export\";\n\nexport const createExportGraphQL = () => {\n return new ContextPlugin<CmsContext>(async context => {\n if (!context.cms.MANAGE) {\n return;\n }\n context.plugins.register(plugin);\n });\n};\n"],"names":["plugin","createCmsGraphQLSchemaPlugin","_","args","context","result","Response","JSON","ex","ErrorResponse","createExportGraphQL","ContextPlugin"],"mappings":";;;AAKA,MAAMA,iBAASC,6BAA6B;IACxC,UAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiIzB,CAAC;IACD,WAAW;QACP,OAAO;YACH,iBAAiB,OAAOC,GAAGC,MAAMC;gBAC7B,IAAI;oBACA,MAAMC,SAAS,MAAMD,QAAQ,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;wBAC9C,QAAQD,KAAK,MAAM;oBACvB;oBACA,OAAO,IAAIG,SAASC,KAAK,SAAS,CAACF;gBACvC,EAAE,OAAOG,IAAI;oBACT,OAAO,IAAIC,cAAcD;gBAC7B;YACJ;QACJ;QACA,UAAU;YACN,yBAAyB,OAAON,GAAGC,MAAMC;gBACrC,IAAI;oBACA,MAAMC,SAAS,MAAMD,QAAQ,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;wBAChD,MAAMD,KAAK,IAAI;oBACnB;oBACA,OAAO,IAAIG,SAASD;gBACxB,EAAE,OAAOG,IAAI;oBACT,OAAO,IAAIC,cAAcD;gBAC7B;YACJ;YACA,iBAAiB,OAAON,GAAGC,MAAMC;gBAC7B,IAAI;oBACA,MAAMC,SAAS,MAAMD,QAAQ,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC;wBACjD,MAAMD,KAAK,IAAI;oBACnB;oBACA,OAAO,IAAIG,SAASD;gBACxB,EAAE,OAAOG,IAAI;oBACT,OAAO,IAAIC,cAAcD;gBAC7B;YACJ;QACJ;IACJ;AACJ;AACAR,eAAO,IAAI,GAAG;AAEP,MAAMU,sBAAsB,IACxB,IAAIC,cAA0B,OAAMP;QACvC,IAAI,CAACA,QAAQ,GAAG,CAAC,MAAM,EACnB;QAEJA,QAAQ,OAAO,CAAC,QAAQ,CAACJ;IAC7B"}
1
+ {"version":3,"file":"export/graphql/index.js","sources":["../../../src/export/graphql/index.ts"],"sourcesContent":["import { createCmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\nimport { ErrorResponse, Response } from \"@webiny/api-graphql\";\nimport { CmsExport, CmsImport } from \"~/export/abstractions.js\";\n\nconst plugin = createCmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type CmsExportStructureResponse {\n data: String\n error: CmsError\n }\n\n input CmsImportStructureGroupInput {\n id: ID!\n name: String!\n slug: String\n description: String\n icon: Icon!\n }\n\n input CmsImportStructureModelInput {\n name: String!\n singularApiName: String!\n pluralApiName: String!\n modelId: String!\n group: String!\n icon: Icon\n description: String\n layout: JSON!\n fields: [CmsContentModelFieldInput!]!\n titleFieldId: String!\n descriptionFieldId: String\n imageFieldId: String\n tags: [String!]\n }\n\n enum CmsImportGroupStructureAction {\n create\n update\n code\n none\n }\n\n enum CmsImportModelStructureAction {\n create\n update\n code\n none\n }\n\n input CmsImportStructureInput {\n groups: [CmsImportStructureGroupInput!]!\n models: [CmsImportStructureModelInput!]!\n }\n\n type CmsImportValidateResponseDataGroupResultItem {\n id: String\n name: String\n slug: String\n }\n\n type CmsImportValidateResponseDataGroupResult {\n group: CmsImportValidateResponseDataGroupResultItem!\n error: CmsError\n action: CmsImportGroupStructureAction\n }\n\n type CmsImportValidateResponseDataModelResultItem {\n modelId: String\n name: String\n group: String\n }\n\n type CmsImportValidateResponseDataModelResult {\n model: CmsImportValidateResponseDataModelResultItem!\n related: [String!]\n error: CmsError\n action: CmsImportModelStructureAction\n }\n\n type CmsImportValidateResponseData {\n groups: [CmsImportValidateResponseDataGroupResult!]!\n models: [CmsImportValidateResponseDataModelResult!]!\n message: String!\n }\n\n type CmsImportValidateResponse {\n data: CmsImportValidateResponseData\n error: CmsError\n }\n\n type CmsImportStructureResponseDataGroupResultItem {\n id: String!\n name: String!\n }\n type CmsImportStructureResponseDataGroupResult {\n group: CmsImportStructureResponseDataGroupResultItem!\n error: CmsError\n action: CmsImportGroupStructureAction\n imported: Boolean\n }\n\n type CmsImportStructureResponseDataResultItem {\n modelId: String!\n name: String!\n group: String!\n }\n\n type CmsImportStructureResponseDataModelResult {\n model: CmsImportStructureResponseDataResultItem!\n related: [String!]\n error: CmsError\n action: CmsImportModelStructureAction\n imported: Boolean\n }\n\n type CmsImportStructureResponseData {\n groups: [CmsImportStructureResponseDataGroupResult!]!\n models: [CmsImportStructureResponseDataModelResult!]!\n message: String\n }\n\n type CmsImportStructureResponse {\n data: CmsImportStructureResponseData\n error: CmsError\n }\n\n extend type Query {\n exportStructure(models: [String!]): CmsExportStructureResponse!\n }\n\n extend type Mutation {\n validateImportStructure(data: CmsImportStructureInput!): CmsImportValidateResponse!\n importStructure(data: CmsImportStructureInput!): CmsImportStructureResponse!\n }\n `,\n resolvers: {\n Query: {\n exportStructure: async (_, args, context) => {\n try {\n const result = await context.container.resolve(CmsExport).structure({\n models: args.models\n });\n return new Response(JSON.stringify(result));\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n }\n },\n Mutation: {\n validateImportStructure: async (_, args, context) => {\n try {\n const result = await context.container.resolve(CmsImport).validate({\n data: args.data\n });\n return new Response(result);\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n },\n importStructure: async (_, args, context) => {\n try {\n const result = await context.container.resolve(CmsImport).structure({\n data: args.data\n });\n return new Response(result);\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n }\n }\n }\n});\nplugin.name = \"headless-cms.graphql.export\";\n\nexport { plugin as exportPlugin };\n"],"names":["plugin","createCmsGraphQLSchemaPlugin","_","args","context","result","CmsExport","Response","JSON","ex","ErrorResponse","CmsImport"],"mappings":";;;AAIA,MAAMA,iBAASC,6BAA6B;IACxC,UAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiIzB,CAAC;IACD,WAAW;QACP,OAAO;YACH,iBAAiB,OAAOC,GAAGC,MAAMC;gBAC7B,IAAI;oBACA,MAAMC,SAAS,MAAMD,QAAQ,SAAS,CAAC,OAAO,CAACE,WAAW,SAAS,CAAC;wBAChE,QAAQH,KAAK,MAAM;oBACvB;oBACA,OAAO,IAAII,SAASC,KAAK,SAAS,CAACH;gBACvC,EAAE,OAAOI,IAAI;oBACT,OAAO,IAAIC,cAAcD;gBAC7B;YACJ;QACJ;QACA,UAAU;YACN,yBAAyB,OAAOP,GAAGC,MAAMC;gBACrC,IAAI;oBACA,MAAMC,SAAS,MAAMD,QAAQ,SAAS,CAAC,OAAO,CAACO,WAAW,QAAQ,CAAC;wBAC/D,MAAMR,KAAK,IAAI;oBACnB;oBACA,OAAO,IAAII,SAASF;gBACxB,EAAE,OAAOI,IAAI;oBACT,OAAO,IAAIC,cAAcD;gBAC7B;YACJ;YACA,iBAAiB,OAAOP,GAAGC,MAAMC;gBAC7B,IAAI;oBACA,MAAMC,SAAS,MAAMD,QAAQ,SAAS,CAAC,OAAO,CAACO,WAAW,SAAS,CAAC;wBAChE,MAAMR,KAAK,IAAI;oBACnB;oBACA,OAAO,IAAII,SAASF;gBACxB,EAAE,OAAOI,IAAI;oBACT,OAAO,IAAIC,cAAcD;gBAC7B;YACJ;QACJ;IACJ;AACJ;AACAT,eAAO,IAAI,GAAG"}
@@ -3,8 +3,9 @@ export { ModelBuilder } from "../../../features/modelBuilder/models/ModelBuilder
3
3
  export { DataFieldBuilder } from "../../../features/modelBuilder/fields/FieldBuilder.js";
4
4
  export { LayoutFieldBuilder } from "../../../features/modelBuilder/fields/FieldBuilder.js";
5
5
  export { FieldType } from "../../../features/modelBuilder/fields/abstractions.js";
6
+ export { type IAssetFieldBuilder } from "../../../features/modelBuilder/fields/AssetFieldType.js";
6
7
  export type { IFieldRendererRegistry } from "../../../features/modelBuilder/fields/DataFieldBuilder.js";
7
- export type { IFieldBuilderRegistry } from "../../../features/modelBuilder/abstractions.js";
8
+ export type { IFieldBuilderRegistry, IModelSettings } from "../../../features/modelBuilder/abstractions.js";
8
9
  export { LayoutBuilder } from "../../../features/modelBuilder/LayoutBuilder.js";
9
10
  export type { FieldTypeValidator } from "../../../features/modelBuilder/fields/fieldTypeValidator.js";
10
11
  export type { CmsModel } from "../../../types/model.js";
@@ -19,3 +20,5 @@ export { DeleteModelUseCase } from "../../../features/contentModel/DeleteModel/a
19
20
  export { ModelBeforeDeleteEventHandler, ModelAfterDeleteEventHandler } from "../../../features/contentModel/DeleteModel/events.js";
20
21
  export { GetModelUseCase } from "../../../features/contentModel/GetModel/abstractions.js";
21
22
  export { ListModelsUseCase } from "../../../features/contentModel/ListModels/abstractions.js";
23
+ export { ModelToAstConverter } from "../../../features/contentModel/ModelToAstConverter/index.js";
24
+ export { CmsModelToJsonSchemaConverter } from "../../../utils/index.js";
@@ -13,3 +13,5 @@ export { DeleteModelUseCase } from "../../../features/contentModel/DeleteModel/a
13
13
  export { ModelAfterDeleteEventHandler, ModelBeforeDeleteEventHandler } from "../../../features/contentModel/DeleteModel/events.js";
14
14
  export { GetModelUseCase } from "../../../features/contentModel/GetModel/abstractions.js";
15
15
  export { ListModelsUseCase } from "../../../features/contentModel/ListModels/abstractions.js";
16
+ export { ModelToAstConverter } from "../../../features/contentModel/ModelToAstConverter/index.js";
17
+ export { CmsModelToJsonSchemaConverter } from "../../../utils/index.js";
@@ -1,3 +1,2 @@
1
- export { StorageOperationsFactory } from "../../../features/shared/abstractions.js";
2
1
  export { StorageTransform } from "../../../features/storage/abstractions/StorageTransform.js";
3
2
  export { StorageTransformRegistry } from "../../../features/storage/abstractions/StorageTransformRegistry.js";
@@ -1,3 +1,2 @@
1
- export { StorageOperationsFactory } from "../../../features/shared/abstractions.js";
2
1
  export { StorageTransform } from "../../../features/storage/abstractions/StorageTransform.js";
3
2
  export { StorageTransformRegistry } from "../../../features/storage/abstractions/StorageTransformRegistry.js";
@@ -0,0 +1,55 @@
1
+ import { z } from "zod";
2
+ import type { IAiSdkTool } from "@webiny/api-core/features/ai/index.js";
3
+ import { GetModelUseCase } from "../../features/contentModel/GetModel/index.js";
4
+ declare const inputSchema: z.ZodObject<{
5
+ modelId: z.ZodString;
6
+ }, z.core.$strip>;
7
+ type Input = z.infer<typeof inputSchema>;
8
+ interface FieldDescription {
9
+ fieldId: string;
10
+ type: string;
11
+ label: string;
12
+ /** True when the field holds an array of values — affects which `where` operators apply. */
13
+ list: boolean;
14
+ required: boolean;
15
+ description?: string;
16
+ /** Allowed values for enum-like fields, so a filter can be built without guessing. */
17
+ predefinedValues?: string[];
18
+ /** For `ref` fields: which models this field can point at. */
19
+ refModels?: string[];
20
+ /** For `object` fields: the nested field set. */
21
+ fields?: FieldDescription[];
22
+ }
23
+ interface ModelDescription {
24
+ modelId: string;
25
+ name: string;
26
+ description: string | null;
27
+ singularApiName: string;
28
+ pluralApiName: string;
29
+ titleFieldId: string;
30
+ fields: FieldDescription[];
31
+ }
32
+ /**
33
+ * Supplies the field detail needed to build a valid `queryEntries` filter. Deliberately a separate
34
+ * call from `listContentModels`: returning full field sets for every model would be large and mostly
35
+ * unread, so the model pays for detail only on the model it actually cares about.
36
+ */
37
+ declare class DescribeContentModelToolImpl implements IAiSdkTool<Input> {
38
+ private getModel;
39
+ readonly name = "describeContentModel";
40
+ readonly title = "Describe content model";
41
+ readonly description = "Returns the fields of one content model \u2014 field IDs, types, whether each is a list, required flags, allowed values, and referenced models. Call this before queryEntries so filters use real field IDs.";
42
+ readonly inputSchema: z.ZodObject<{
43
+ modelId: z.ZodString;
44
+ }, z.core.$strip>;
45
+ readonly annotations: {
46
+ readOnlyHint: boolean;
47
+ idempotentHint: boolean;
48
+ };
49
+ constructor(getModel: GetModelUseCase.Interface);
50
+ execute(input: Input): Promise<ModelDescription>;
51
+ }
52
+ export declare const DescribeContentModelTool: typeof DescribeContentModelToolImpl & {
53
+ __abstraction: import("@webiny/di").Abstraction<IAiSdkTool<any>>;
54
+ };
55
+ export {};
@@ -0,0 +1,60 @@
1
+ import { z } from "zod";
2
+ import { AiSdkTool } from "@webiny/api-core/features/ai/index.js";
3
+ import { GetModelUseCase } from "../contentModel/GetModel/index.js";
4
+ const inputSchema = z.object({
5
+ modelId: z.string().describe("Model ID as returned by listContentModels (e.g. 'product', not 'Products').")
6
+ });
7
+ const isRequired = (field)=>field.validation.some((validator)=>"required" === validator.name);
8
+ const describeField = (field)=>{
9
+ const described = {
10
+ fieldId: field.fieldId,
11
+ type: field.type,
12
+ label: field.label,
13
+ list: Boolean(field.list),
14
+ required: isRequired(field)
15
+ };
16
+ if (field.description) described.description = field.description;
17
+ const values = field.predefinedValues;
18
+ if (values?.enabled && values.values?.length) described.predefinedValues = values.values.map((entry)=>entry.value);
19
+ const refModels = field.settings?.models;
20
+ if (refModels?.length) described.refModels = refModels.map((model)=>model.modelId);
21
+ const nested = field.settings?.fields;
22
+ if (nested?.length) described.fields = nested.map(describeField);
23
+ return described;
24
+ };
25
+ class DescribeContentModelToolImpl {
26
+ constructor(getModel){
27
+ this.getModel = getModel;
28
+ this.name = "describeContentModel";
29
+ this.title = "Describe content model";
30
+ this.description = "Returns the fields of one content model — field IDs, types, whether each is a list, required flags, allowed values, and referenced models. Call this before queryEntries so filters use real field IDs.";
31
+ this.inputSchema = inputSchema;
32
+ this.annotations = {
33
+ readOnlyHint: true,
34
+ idempotentHint: true
35
+ };
36
+ }
37
+ async execute(input) {
38
+ const result = await this.getModel.execute(input.modelId);
39
+ if (result.isFail()) throw new Error(`Could not describe model "${input.modelId}": ${result.error.message}. Call listContentModels for valid model IDs.`);
40
+ const model = result.value;
41
+ return {
42
+ modelId: model.modelId,
43
+ name: model.name,
44
+ description: model.description,
45
+ singularApiName: model.singularApiName,
46
+ pluralApiName: model.pluralApiName,
47
+ titleFieldId: model.titleFieldId,
48
+ fields: model.fields.map(describeField)
49
+ };
50
+ }
51
+ }
52
+ const DescribeContentModelTool = AiSdkTool.createImplementation({
53
+ implementation: DescribeContentModelToolImpl,
54
+ dependencies: [
55
+ GetModelUseCase
56
+ ]
57
+ });
58
+ export { DescribeContentModelTool };
59
+
60
+ //# sourceMappingURL=DescribeContentModelTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/ai/DescribeContentModelTool.js","sources":["../../../src/features/ai/DescribeContentModelTool.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { AiSdkTool } from \"@webiny/api-core/features/ai/index.js\";\nimport type { IAiSdkTool } from \"@webiny/api-core/features/ai/index.js\";\nimport { GetModelUseCase } from \"~/features/contentModel/GetModel/index.js\";\nimport type { CmsModelField } from \"~/types/index.js\";\n\nconst inputSchema = z.object({\n modelId: z\n .string()\n .describe(\"Model ID as returned by listContentModels (e.g. 'product', not 'Products').\")\n});\n\ntype Input = z.infer<typeof inputSchema>;\n\ninterface FieldDescription {\n fieldId: string;\n type: string;\n label: string;\n /** True when the field holds an array of values — affects which `where` operators apply. */\n list: boolean;\n required: boolean;\n description?: string;\n /** Allowed values for enum-like fields, so a filter can be built without guessing. */\n predefinedValues?: string[];\n /** For `ref` fields: which models this field can point at. */\n refModels?: string[];\n /** For `object` fields: the nested field set. */\n fields?: FieldDescription[];\n}\n\ninterface ModelDescription {\n modelId: string;\n name: string;\n description: string | null;\n singularApiName: string;\n pluralApiName: string;\n titleFieldId: string;\n fields: FieldDescription[];\n}\n\nconst isRequired = (field: CmsModelField): boolean =>\n field.validation.some(validator => validator.name === \"required\");\n\nconst describeField = (field: CmsModelField): FieldDescription => {\n const described: FieldDescription = {\n fieldId: field.fieldId,\n type: field.type,\n label: field.label,\n list: Boolean(field.list),\n required: isRequired(field)\n };\n\n if (field.description) {\n described.description = field.description;\n }\n\n const values = field.predefinedValues;\n if (values?.enabled && values.values?.length) {\n described.predefinedValues = values.values.map(entry => entry.value);\n }\n\n const refModels = field.settings?.models;\n if (refModels?.length) {\n described.refModels = refModels.map(model => model.modelId);\n }\n\n const nested = field.settings?.fields;\n if (nested?.length) {\n described.fields = nested.map(describeField);\n }\n\n return described;\n};\n\n/**\n * Supplies the field detail needed to build a valid `queryEntries` filter. Deliberately a separate\n * call from `listContentModels`: returning full field sets for every model would be large and mostly\n * unread, so the model pays for detail only on the model it actually cares about.\n */\nclass DescribeContentModelToolImpl implements IAiSdkTool<Input> {\n readonly name = \"describeContentModel\";\n readonly title = \"Describe content model\";\n readonly description =\n \"Returns the fields of one content model — field IDs, types, whether each is a list, required flags, allowed values, and referenced models. Call this before queryEntries so filters use real field IDs.\";\n readonly inputSchema = inputSchema;\n readonly annotations = { readOnlyHint: true, idempotentHint: true };\n\n constructor(private getModel: GetModelUseCase.Interface) {}\n\n async execute(input: Input): Promise<ModelDescription> {\n const result = await this.getModel.execute(input.modelId);\n\n if (result.isFail()) {\n throw new Error(\n `Could not describe model \"${input.modelId}\": ${result.error.message}. Call listContentModels for valid model IDs.`\n );\n }\n\n const model = result.value;\n\n return {\n modelId: model.modelId,\n name: model.name,\n description: model.description,\n singularApiName: model.singularApiName,\n pluralApiName: model.pluralApiName,\n titleFieldId: model.titleFieldId,\n fields: model.fields.map(describeField)\n };\n }\n}\n\nexport const DescribeContentModelTool = AiSdkTool.createImplementation({\n implementation: DescribeContentModelToolImpl,\n dependencies: [GetModelUseCase]\n});\n"],"names":["inputSchema","z","isRequired","field","validator","describeField","described","Boolean","values","entry","refModels","model","nested","DescribeContentModelToolImpl","getModel","input","result","Error","DescribeContentModelTool","AiSdkTool","GetModelUseCase"],"mappings":";;;AAMA,MAAMA,cAAcC,EAAE,MAAM,CAAC;IACzB,SAASA,EAAAA,MACE,GACN,QAAQ,CAAC;AAClB;AA8BA,MAAMC,aAAa,CAACC,QAChBA,MAAM,UAAU,CAAC,IAAI,CAACC,CAAAA,YAAaA,AAAmB,eAAnBA,UAAU,IAAI;AAErD,MAAMC,gBAAgB,CAACF;IACnB,MAAMG,YAA8B;QAChC,SAASH,MAAM,OAAO;QACtB,MAAMA,MAAM,IAAI;QAChB,OAAOA,MAAM,KAAK;QAClB,MAAMI,QAAQJ,MAAM,IAAI;QACxB,UAAUD,WAAWC;IACzB;IAEA,IAAIA,MAAM,WAAW,EACjBG,UAAU,WAAW,GAAGH,MAAM,WAAW;IAG7C,MAAMK,SAASL,MAAM,gBAAgB;IACrC,IAAIK,QAAQ,WAAWA,OAAO,MAAM,EAAE,QAClCF,UAAU,gBAAgB,GAAGE,OAAO,MAAM,CAAC,GAAG,CAACC,CAAAA,QAASA,MAAM,KAAK;IAGvE,MAAMC,YAAYP,MAAM,QAAQ,EAAE;IAClC,IAAIO,WAAW,QACXJ,UAAU,SAAS,GAAGI,UAAU,GAAG,CAACC,CAAAA,QAASA,MAAM,OAAO;IAG9D,MAAMC,SAAST,MAAM,QAAQ,EAAE;IAC/B,IAAIS,QAAQ,QACRN,UAAU,MAAM,GAAGM,OAAO,GAAG,CAACP;IAGlC,OAAOC;AACX;AAOA,MAAMO;IAQF,YAAoBC,QAAmC,CAAE;aAArCA,QAAQ,GAARA;aAPX,IAAI,GAAG;aACP,KAAK,GAAG;aACR,WAAW,GAChB;aACK,WAAW,GAAGd;aACd,WAAW,GAAG;YAAE,cAAc;YAAM,gBAAgB;QAAK;IAER;IAE1D,MAAM,QAAQe,KAAY,EAA6B;QACnD,MAAMC,SAAS,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAACD,MAAM,OAAO;QAExD,IAAIC,OAAO,MAAM,IACb,MAAM,IAAIC,MACN,CAAC,0BAA0B,EAAEF,MAAM,OAAO,CAAC,GAAG,EAAEC,OAAO,KAAK,CAAC,OAAO,CAAC,6CAA6C,CAAC;QAI3H,MAAML,QAAQK,OAAO,KAAK;QAE1B,OAAO;YACH,SAASL,MAAM,OAAO;YACtB,MAAMA,MAAM,IAAI;YAChB,aAAaA,MAAM,WAAW;YAC9B,iBAAiBA,MAAM,eAAe;YACtC,eAAeA,MAAM,aAAa;YAClC,cAAcA,MAAM,YAAY;YAChC,QAAQA,MAAM,MAAM,CAAC,GAAG,CAACN;QAC7B;IACJ;AACJ;AAEO,MAAMa,2BAA2BC,UAAU,oBAAoB,CAAC;IACnE,gBAAgBN;IAChB,cAAc;QAACO;KAAgB;AACnC"}
@@ -0,0 +1,41 @@
1
+ import { z } from "zod";
2
+ import type { IAiSdkTool } from "@webiny/api-core/features/ai/index.js";
3
+ import { ListModelsUseCase } from "../../features/contentModel/ListModels/index.js";
4
+ declare const inputSchema: z.ZodObject<{
5
+ includeSystem: z.ZodOptional<z.ZodBoolean>;
6
+ }, z.core.$strip>;
7
+ type Input = z.infer<typeof inputSchema>;
8
+ interface ModelSummary {
9
+ modelId: string;
10
+ name: string;
11
+ description: string | null;
12
+ group: string;
13
+ singularApiName: string;
14
+ pluralApiName: string;
15
+ titleFieldId: string;
16
+ fieldCount: number;
17
+ }
18
+ /**
19
+ * Entry point for any content question. The CMS schema is defined per project (and per tenant), so a
20
+ * model list cannot be baked into a system prompt — it has to be discovered at call time. Returns a
21
+ * summary only; `describeContentModel` supplies the field detail needed to actually build a query.
22
+ */
23
+ declare class ListContentModelsToolImpl implements IAiSdkTool<Input> {
24
+ private listModels;
25
+ readonly name = "listContentModels";
26
+ readonly title = "List content models";
27
+ readonly description = "Lists the content models available in this project. Call this first when you need to find content \u2014 model IDs are project-specific and cannot be guessed. Returns a summary per model; use describeContentModel for field details.";
28
+ readonly inputSchema: z.ZodObject<{
29
+ includeSystem: z.ZodOptional<z.ZodBoolean>;
30
+ }, z.core.$strip>;
31
+ readonly annotations: {
32
+ readOnlyHint: boolean;
33
+ idempotentHint: boolean;
34
+ };
35
+ constructor(listModels: ListModelsUseCase.Interface);
36
+ execute(input: Input): Promise<ModelSummary[]>;
37
+ }
38
+ export declare const ListContentModelsTool: typeof ListContentModelsToolImpl & {
39
+ __abstraction: import("@webiny/di").Abstraction<IAiSdkTool<any>>;
40
+ };
41
+ export {};
@@ -0,0 +1,44 @@
1
+ import { z } from "zod";
2
+ import { AiSdkTool } from "@webiny/api-core/features/ai/index.js";
3
+ import { ListModelsUseCase } from "../contentModel/ListModels/index.js";
4
+ const HIDDEN_MODEL_GROUP = "hidden";
5
+ const inputSchema = z.object({
6
+ includeSystem: z.boolean().optional().describe("Include system models that back Webiny itself (languages, tenants, task settings) and internal models belonging to other apps. Off by default — these are never what a user means by 'content'.")
7
+ });
8
+ const isSystemModel = (model)=>Boolean(model.isPrivate) || model.group === HIDDEN_MODEL_GROUP;
9
+ class ListContentModelsToolImpl {
10
+ constructor(listModels){
11
+ this.listModels = listModels;
12
+ this.name = "listContentModels";
13
+ this.title = "List content models";
14
+ this.description = "Lists the content models available in this project. Call this first when you need to find content — model IDs are project-specific and cannot be guessed. Returns a summary per model; use describeContentModel for field details.";
15
+ this.inputSchema = inputSchema;
16
+ this.annotations = {
17
+ readOnlyHint: true,
18
+ idempotentHint: true
19
+ };
20
+ }
21
+ async execute(input) {
22
+ const result = await this.listModels.execute();
23
+ if (result.isFail()) throw new Error(`Could not list content models: ${result.error.message}`);
24
+ return result.value.filter((model)=>input.includeSystem ? true : !isSystemModel(model)).map((model)=>({
25
+ modelId: model.modelId,
26
+ name: model.name,
27
+ description: model.description,
28
+ group: model.group,
29
+ singularApiName: model.singularApiName,
30
+ pluralApiName: model.pluralApiName,
31
+ titleFieldId: model.titleFieldId,
32
+ fieldCount: model.fields.length
33
+ }));
34
+ }
35
+ }
36
+ const ListContentModelsTool = AiSdkTool.createImplementation({
37
+ implementation: ListContentModelsToolImpl,
38
+ dependencies: [
39
+ ListModelsUseCase
40
+ ]
41
+ });
42
+ export { ListContentModelsTool };
43
+
44
+ //# sourceMappingURL=ListContentModelsTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/ai/ListContentModelsTool.js","sources":["../../../src/features/ai/ListContentModelsTool.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { AiSdkTool } from \"@webiny/api-core/features/ai/index.js\";\nimport type { IAiSdkTool } from \"@webiny/api-core/features/ai/index.js\";\nimport { ListModelsUseCase } from \"~/features/contentModel/ListModels/index.js\";\nimport type { CmsModel } from \"~/types/index.js\";\n\nconst HIDDEN_MODEL_GROUP = \"hidden\";\n\nconst inputSchema = z.object({\n includeSystem: z\n .boolean()\n .optional()\n .describe(\n \"Include system models that back Webiny itself (languages, tenants, task settings) and internal models belonging to other apps. Off by default — these are never what a user means by 'content'.\"\n )\n});\n\ntype Input = z.infer<typeof inputSchema>;\n\ninterface ModelSummary {\n modelId: string;\n name: string;\n description: string | null;\n group: string;\n singularApiName: string;\n pluralApiName: string;\n titleFieldId: string;\n fieldCount: number;\n}\n\n/**\n * Models Webiny itself owns. Two separate markers, both needed:\n * - `group: \"hidden\"` — the convention system models use (languages, tenants, background-task\n * settings). The admin UI filters the same way, see app-headless-cms useCmsData.\n * - `isPrivate` — models another app owns and manages through its own UI (e.g. Website Builder).\n */\nconst isSystemModel = (model: CmsModel): boolean =>\n Boolean(model.isPrivate) || model.group === HIDDEN_MODEL_GROUP;\n\n/**\n * Entry point for any content question. The CMS schema is defined per project (and per tenant), so a\n * model list cannot be baked into a system prompt — it has to be discovered at call time. Returns a\n * summary only; `describeContentModel` supplies the field detail needed to actually build a query.\n */\nclass ListContentModelsToolImpl implements IAiSdkTool<Input> {\n readonly name = \"listContentModels\";\n readonly title = \"List content models\";\n readonly description =\n \"Lists the content models available in this project. Call this first when you need to find content — model IDs are project-specific and cannot be guessed. Returns a summary per model; use describeContentModel for field details.\";\n readonly inputSchema = inputSchema;\n readonly annotations = { readOnlyHint: true, idempotentHint: true };\n\n constructor(private listModels: ListModelsUseCase.Interface) {}\n\n async execute(input: Input): Promise<ModelSummary[]> {\n const result = await this.listModels.execute();\n\n if (result.isFail()) {\n throw new Error(`Could not list content models: ${result.error.message}`);\n }\n\n return result.value\n .filter(model => (input.includeSystem ? true : !isSystemModel(model)))\n .map(model => ({\n modelId: model.modelId,\n name: model.name,\n description: model.description,\n group: model.group,\n singularApiName: model.singularApiName,\n pluralApiName: model.pluralApiName,\n titleFieldId: model.titleFieldId,\n fieldCount: model.fields.length\n }));\n }\n}\n\nexport const ListContentModelsTool = AiSdkTool.createImplementation({\n implementation: ListContentModelsToolImpl,\n dependencies: [ListModelsUseCase]\n});\n"],"names":["HIDDEN_MODEL_GROUP","inputSchema","z","isSystemModel","model","Boolean","ListContentModelsToolImpl","listModels","input","result","Error","ListContentModelsTool","AiSdkTool","ListModelsUseCase"],"mappings":";;;AAMA,MAAMA,qBAAqB;AAE3B,MAAMC,cAAcC,EAAE,MAAM,CAAC;IACzB,eAAeA,EAAAA,OACH,GACP,QAAQ,GACR,QAAQ,CACL;AAEZ;AAqBA,MAAMC,gBAAgB,CAACC,QACnBC,QAAQD,MAAM,SAAS,KAAKA,MAAM,KAAK,KAAKJ;AAOhD,MAAMM;IAQF,YAAoBC,UAAuC,CAAE;aAAzCA,UAAU,GAAVA;aAPX,IAAI,GAAG;aACP,KAAK,GAAG;aACR,WAAW,GAChB;aACK,WAAW,GAAGN;aACd,WAAW,GAAG;YAAE,cAAc;YAAM,gBAAgB;QAAK;IAEJ;IAE9D,MAAM,QAAQO,KAAY,EAA2B;QACjD,MAAMC,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO;QAE5C,IAAIA,OAAO,MAAM,IACb,MAAM,IAAIC,MAAM,CAAC,+BAA+B,EAAED,OAAO,KAAK,CAAC,OAAO,EAAE;QAG5E,OAAOA,OAAO,KAAK,CACd,MAAM,CAACL,CAAAA,QAAUI,MAAM,aAAa,GAAG,OAAO,CAACL,cAAcC,QAC7D,GAAG,CAACA,CAAAA,QAAU;gBACX,SAASA,MAAM,OAAO;gBACtB,MAAMA,MAAM,IAAI;gBAChB,aAAaA,MAAM,WAAW;gBAC9B,OAAOA,MAAM,KAAK;gBAClB,iBAAiBA,MAAM,eAAe;gBACtC,eAAeA,MAAM,aAAa;gBAClC,cAAcA,MAAM,YAAY;gBAChC,YAAYA,MAAM,MAAM,CAAC,MAAM;YACnC;IACR;AACJ;AAEO,MAAMO,wBAAwBC,UAAU,oBAAoB,CAAC;IAChE,gBAAgBN;IAChB,cAAc;QAACO;KAAkB;AACrC"}
@@ -0,0 +1,75 @@
1
+ import { z } from "zod";
2
+ import type { IAiSdkTool } from "@webiny/api-core/features/ai/index.js";
3
+ import { GetModelUseCase } from "../../features/contentModel/GetModel/index.js";
4
+ import { ListLatestEntriesUseCase } from "../../features/contentEntry/ListEntries/index.js";
5
+ import { CmsWhereMapper } from "../../features/whereMapper/abstractions.js";
6
+ import { CmsSortMapper } from "../../features/sortMapper/abstractions.js";
7
+ declare const inputSchema: z.ZodObject<{
8
+ modelId: z.ZodString;
9
+ where: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
10
+ sort: z.ZodOptional<z.ZodArray<z.ZodString>>;
11
+ search: z.ZodOptional<z.ZodString>;
12
+ fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
13
+ limit: z.ZodOptional<z.ZodNumber>;
14
+ after: z.ZodOptional<z.ZodString>;
15
+ }, z.core.$strip>;
16
+ type Input = z.infer<typeof inputSchema>;
17
+ interface EntrySummary {
18
+ id: string;
19
+ entryId: string;
20
+ status: string;
21
+ createdOn: string;
22
+ savedOn: string;
23
+ values: Record<string, unknown>;
24
+ }
25
+ interface QueryEntriesResult {
26
+ modelId: string;
27
+ entries: EntrySummary[];
28
+ meta: {
29
+ totalCount: number;
30
+ hasMoreItems: boolean;
31
+ cursor: string | null;
32
+ };
33
+ }
34
+ /**
35
+ * Reads entries for one model.
36
+ *
37
+ * Uses the LATEST revisions (the manage-API view), not published ones — an editor asking "which
38
+ * products are discounted" means the content as it currently stands in the admin app, including
39
+ * unpublished edits. Filter on `status` for a published-only view.
40
+ *
41
+ * `where` is passed through to the CMS rather than re-modelled as a Zod schema: the valid keys depend
42
+ * entirely on the model's fields, which are only known at runtime. An invalid filter surfaces as a
43
+ * tool error the model can correct, which is why `describeContentModel` is named in the description.
44
+ *
45
+ * `where` and `sort` arrive FLAT and go through `CmsWhereMapper`/`CmsSortMapper`, which nest the
46
+ * model's own fields under `values` and leave entry meta at the top. The flat form is what a model
47
+ * writes, because `describeContentModel` hands it a flat list of fieldIds.
48
+ */
49
+ declare class QueryEntriesToolImpl implements IAiSdkTool<Input> {
50
+ private getModel;
51
+ private listLatestEntries;
52
+ private whereMapper;
53
+ private sortMapper;
54
+ readonly name = "queryEntries";
55
+ readonly title = "Query content entries";
56
+ readonly description = "Queries content entries for a model, with filtering, sorting, search and pagination. Returns the latest revision of each entry (including unpublished changes). Call describeContentModel first to learn the field IDs used in `where` and `sort`.";
57
+ readonly inputSchema: z.ZodObject<{
58
+ modelId: z.ZodString;
59
+ where: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
60
+ sort: z.ZodOptional<z.ZodArray<z.ZodString>>;
61
+ search: z.ZodOptional<z.ZodString>;
62
+ fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
63
+ limit: z.ZodOptional<z.ZodNumber>;
64
+ after: z.ZodOptional<z.ZodString>;
65
+ }, z.core.$strip>;
66
+ readonly annotations: {
67
+ readOnlyHint: boolean;
68
+ };
69
+ constructor(getModel: GetModelUseCase.Interface, listLatestEntries: ListLatestEntriesUseCase.Interface, whereMapper: CmsWhereMapper.Interface, sortMapper: CmsSortMapper.Interface);
70
+ execute(input: Input): Promise<QueryEntriesResult>;
71
+ }
72
+ export declare const QueryEntriesTool: typeof QueryEntriesToolImpl & {
73
+ __abstraction: import("@webiny/di").Abstraction<IAiSdkTool<any>>;
74
+ };
75
+ export {};