@se-studio/contentful-rest-api 0.0.0-next16-20260822103555

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 (472) hide show
  1. package/CHANGELOG.md +2036 -0
  2. package/README.md +764 -0
  3. package/dist/api/article-type.d.ts +37 -0
  4. package/dist/api/article-type.d.ts.map +1 -0
  5. package/dist/api/article-type.js +140 -0
  6. package/dist/api/article-type.js.map +1 -0
  7. package/dist/api/article.d.ts +32 -0
  8. package/dist/api/article.d.ts.map +1 -0
  9. package/dist/api/article.js +43 -0
  10. package/dist/api/article.js.map +1 -0
  11. package/dist/api/asset.d.ts +28 -0
  12. package/dist/api/asset.d.ts.map +1 -0
  13. package/dist/api/asset.js +56 -0
  14. package/dist/api/asset.js.map +1 -0
  15. package/dist/api/banner.d.ts +8 -0
  16. package/dist/api/banner.d.ts.map +1 -0
  17. package/dist/api/banner.js +96 -0
  18. package/dist/api/banner.js.map +1 -0
  19. package/dist/api/breadcrumb.d.ts +40 -0
  20. package/dist/api/breadcrumb.d.ts.map +1 -0
  21. package/dist/api/breadcrumb.js +60 -0
  22. package/dist/api/breadcrumb.js.map +1 -0
  23. package/dist/api/componentPreview.d.ts +59 -0
  24. package/dist/api/componentPreview.d.ts.map +1 -0
  25. package/dist/api/componentPreview.js +88 -0
  26. package/dist/api/componentPreview.js.map +1 -0
  27. package/dist/api/context.d.ts +24 -0
  28. package/dist/api/context.d.ts.map +1 -0
  29. package/dist/api/context.js +73 -0
  30. package/dist/api/context.js.map +1 -0
  31. package/dist/api/custom-type.d.ts +37 -0
  32. package/dist/api/custom-type.d.ts.map +1 -0
  33. package/dist/api/custom-type.js +44 -0
  34. package/dist/api/custom-type.js.map +1 -0
  35. package/dist/api/document.d.ts +8 -0
  36. package/dist/api/document.d.ts.map +1 -0
  37. package/dist/api/document.js +84 -0
  38. package/dist/api/document.js.map +1 -0
  39. package/dist/api/helpers.d.ts +59 -0
  40. package/dist/api/helpers.d.ts.map +1 -0
  41. package/dist/api/helpers.js +313 -0
  42. package/dist/api/helpers.js.map +1 -0
  43. package/dist/api/index.d.ts +33 -0
  44. package/dist/api/index.d.ts.map +1 -0
  45. package/dist/api/index.js +37 -0
  46. package/dist/api/index.js.map +1 -0
  47. package/dist/api/links.d.ts +124 -0
  48. package/dist/api/links.d.ts.map +1 -0
  49. package/dist/api/links.js +307 -0
  50. package/dist/api/links.js.map +1 -0
  51. package/dist/api/listing-fetch-params.d.ts +70 -0
  52. package/dist/api/listing-fetch-params.d.ts.map +1 -0
  53. package/dist/api/listing-fetch-params.js +124 -0
  54. package/dist/api/listing-fetch-params.js.map +1 -0
  55. package/dist/api/media-library.d.ts +59 -0
  56. package/dist/api/media-library.d.ts.map +1 -0
  57. package/dist/api/media-library.js +315 -0
  58. package/dist/api/media-library.js.map +1 -0
  59. package/dist/api/navigation.d.ts +10 -0
  60. package/dist/api/navigation.d.ts.map +1 -0
  61. package/dist/api/navigation.js +18 -0
  62. package/dist/api/navigation.js.map +1 -0
  63. package/dist/api/page.d.ts +15 -0
  64. package/dist/api/page.d.ts.map +1 -0
  65. package/dist/api/page.js +39 -0
  66. package/dist/api/page.js.map +1 -0
  67. package/dist/api/person.d.ts +37 -0
  68. package/dist/api/person.d.ts.map +1 -0
  69. package/dist/api/person.js +135 -0
  70. package/dist/api/person.js.map +1 -0
  71. package/dist/api/preview-types.d.ts +65 -0
  72. package/dist/api/preview-types.d.ts.map +1 -0
  73. package/dist/api/preview-types.js +7 -0
  74. package/dist/api/preview-types.js.map +1 -0
  75. package/dist/api/preview.d.ts +49 -0
  76. package/dist/api/preview.d.ts.map +1 -0
  77. package/dist/api/preview.js +261 -0
  78. package/dist/api/preview.js.map +1 -0
  79. package/dist/api/redirects.d.ts +16 -0
  80. package/dist/api/redirects.d.ts.map +1 -0
  81. package/dist/api/redirects.js +110 -0
  82. package/dist/api/redirects.js.map +1 -0
  83. package/dist/api/related-articles.d.ts +28 -0
  84. package/dist/api/related-articles.d.ts.map +1 -0
  85. package/dist/api/related-articles.js +147 -0
  86. package/dist/api/related-articles.js.map +1 -0
  87. package/dist/api/server-asset.d.ts +67 -0
  88. package/dist/api/server-asset.d.ts.map +1 -0
  89. package/dist/api/server-asset.js +106 -0
  90. package/dist/api/server-asset.js.map +1 -0
  91. package/dist/api/sitemap.d.ts +131 -0
  92. package/dist/api/sitemap.d.ts.map +1 -0
  93. package/dist/api/sitemap.js +201 -0
  94. package/dist/api/sitemap.js.map +1 -0
  95. package/dist/api/tag-type.d.ts +32 -0
  96. package/dist/api/tag-type.d.ts.map +1 -0
  97. package/dist/api/tag-type.js +123 -0
  98. package/dist/api/tag-type.js.map +1 -0
  99. package/dist/api/tag.d.ts +37 -0
  100. package/dist/api/tag.d.ts.map +1 -0
  101. package/dist/api/tag.js +132 -0
  102. package/dist/api/tag.js.map +1 -0
  103. package/dist/api/template.d.ts +61 -0
  104. package/dist/api/template.d.ts.map +1 -0
  105. package/dist/api/template.js +94 -0
  106. package/dist/api/template.js.map +1 -0
  107. package/dist/api/types.d.ts +113 -0
  108. package/dist/api/types.d.ts.map +1 -0
  109. package/dist/api/types.js +2 -0
  110. package/dist/api/types.js.map +1 -0
  111. package/dist/baseTypes/baseAlternatePageContent.d.ts +32 -0
  112. package/dist/baseTypes/baseAlternatePageContent.d.ts.map +1 -0
  113. package/dist/baseTypes/baseAlternatePageContent.js +2 -0
  114. package/dist/baseTypes/baseAlternatePageContent.js.map +1 -0
  115. package/dist/baseTypes/baseArticle.d.ts +206 -0
  116. package/dist/baseTypes/baseArticle.d.ts.map +1 -0
  117. package/dist/baseTypes/baseArticle.js +2 -0
  118. package/dist/baseTypes/baseArticle.js.map +1 -0
  119. package/dist/baseTypes/baseArticleType.d.ts +177 -0
  120. package/dist/baseTypes/baseArticleType.d.ts.map +1 -0
  121. package/dist/baseTypes/baseArticleType.js +2 -0
  122. package/dist/baseTypes/baseArticleType.js.map +1 -0
  123. package/dist/baseTypes/baseBanner.d.ts +113 -0
  124. package/dist/baseTypes/baseBanner.d.ts.map +1 -0
  125. package/dist/baseTypes/baseBanner.js +2 -0
  126. package/dist/baseTypes/baseBanner.js.map +1 -0
  127. package/dist/baseTypes/baseCollection.d.ts +132 -0
  128. package/dist/baseTypes/baseCollection.d.ts.map +1 -0
  129. package/dist/baseTypes/baseCollection.js +2 -0
  130. package/dist/baseTypes/baseCollection.js.map +1 -0
  131. package/dist/baseTypes/baseComponent.d.ts +130 -0
  132. package/dist/baseTypes/baseComponent.d.ts.map +1 -0
  133. package/dist/baseTypes/baseComponent.js +2 -0
  134. package/dist/baseTypes/baseComponent.js.map +1 -0
  135. package/dist/baseTypes/baseCustomType.d.ts +147 -0
  136. package/dist/baseTypes/baseCustomType.d.ts.map +1 -0
  137. package/dist/baseTypes/baseCustomType.js +2 -0
  138. package/dist/baseTypes/baseCustomType.js.map +1 -0
  139. package/dist/baseTypes/baseDocument.d.ts +70 -0
  140. package/dist/baseTypes/baseDocument.d.ts.map +1 -0
  141. package/dist/baseTypes/baseDocument.js +2 -0
  142. package/dist/baseTypes/baseDocument.js.map +1 -0
  143. package/dist/baseTypes/baseExternalComponent.d.ts +138 -0
  144. package/dist/baseTypes/baseExternalComponent.d.ts.map +1 -0
  145. package/dist/baseTypes/baseExternalComponent.js +2 -0
  146. package/dist/baseTypes/baseExternalComponent.js.map +1 -0
  147. package/dist/baseTypes/baseExternalVideo.d.ts +86 -0
  148. package/dist/baseTypes/baseExternalVideo.d.ts.map +1 -0
  149. package/dist/baseTypes/baseExternalVideo.js +2 -0
  150. package/dist/baseTypes/baseExternalVideo.js.map +1 -0
  151. package/dist/baseTypes/baseHtmlComponent.d.ts +72 -0
  152. package/dist/baseTypes/baseHtmlComponent.d.ts.map +1 -0
  153. package/dist/baseTypes/baseHtmlComponent.js +2 -0
  154. package/dist/baseTypes/baseHtmlComponent.js.map +1 -0
  155. package/dist/baseTypes/baseLink.d.ts +115 -0
  156. package/dist/baseTypes/baseLink.d.ts.map +1 -0
  157. package/dist/baseTypes/baseLink.js +2 -0
  158. package/dist/baseTypes/baseLink.js.map +1 -0
  159. package/dist/baseTypes/baseMedia.d.ts +100 -0
  160. package/dist/baseTypes/baseMedia.d.ts.map +1 -0
  161. package/dist/baseTypes/baseMedia.js +2 -0
  162. package/dist/baseTypes/baseMedia.js.map +1 -0
  163. package/dist/baseTypes/baseNavigation.d.ts +37 -0
  164. package/dist/baseTypes/baseNavigation.d.ts.map +1 -0
  165. package/dist/baseTypes/baseNavigation.js +2 -0
  166. package/dist/baseTypes/baseNavigation.js.map +1 -0
  167. package/dist/baseTypes/baseNavigationItem.d.ts +109 -0
  168. package/dist/baseTypes/baseNavigationItem.d.ts.map +1 -0
  169. package/dist/baseTypes/baseNavigationItem.js +2 -0
  170. package/dist/baseTypes/baseNavigationItem.js.map +1 -0
  171. package/dist/baseTypes/basePage.d.ts +142 -0
  172. package/dist/baseTypes/basePage.d.ts.map +1 -0
  173. package/dist/baseTypes/basePage.js +2 -0
  174. package/dist/baseTypes/basePage.js.map +1 -0
  175. package/dist/baseTypes/basePageVariant.d.ts +145 -0
  176. package/dist/baseTypes/basePageVariant.d.ts.map +1 -0
  177. package/dist/baseTypes/basePageVariant.js +2 -0
  178. package/dist/baseTypes/basePageVariant.js.map +1 -0
  179. package/dist/baseTypes/basePerson.d.ts +160 -0
  180. package/dist/baseTypes/basePerson.d.ts.map +1 -0
  181. package/dist/baseTypes/basePerson.js +2 -0
  182. package/dist/baseTypes/basePerson.js.map +1 -0
  183. package/dist/baseTypes/baseRedirect.d.ts +69 -0
  184. package/dist/baseTypes/baseRedirect.d.ts.map +1 -0
  185. package/dist/baseTypes/baseRedirect.js +2 -0
  186. package/dist/baseTypes/baseRedirect.js.map +1 -0
  187. package/dist/baseTypes/baseSchema.d.ts +19 -0
  188. package/dist/baseTypes/baseSchema.d.ts.map +1 -0
  189. package/dist/baseTypes/baseSchema.js +2 -0
  190. package/dist/baseTypes/baseSchema.js.map +1 -0
  191. package/dist/baseTypes/baseShared.d.ts +25 -0
  192. package/dist/baseTypes/baseShared.d.ts.map +1 -0
  193. package/dist/baseTypes/baseShared.js +2 -0
  194. package/dist/baseTypes/baseShared.js.map +1 -0
  195. package/dist/baseTypes/baseTag.d.ts +129 -0
  196. package/dist/baseTypes/baseTag.d.ts.map +1 -0
  197. package/dist/baseTypes/baseTag.js +2 -0
  198. package/dist/baseTypes/baseTag.js.map +1 -0
  199. package/dist/baseTypes/baseTagType.d.ts +70 -0
  200. package/dist/baseTypes/baseTagType.d.ts.map +1 -0
  201. package/dist/baseTypes/baseTagType.js +2 -0
  202. package/dist/baseTypes/baseTagType.js.map +1 -0
  203. package/dist/baseTypes/baseTemplate.d.ts +77 -0
  204. package/dist/baseTypes/baseTemplate.d.ts.map +1 -0
  205. package/dist/baseTypes/baseTemplate.js +2 -0
  206. package/dist/baseTypes/baseTemplate.js.map +1 -0
  207. package/dist/client.d.ts +145 -0
  208. package/dist/client.d.ts.map +1 -0
  209. package/dist/client.js +322 -0
  210. package/dist/client.js.map +1 -0
  211. package/dist/cms-integrity.d.ts +10 -0
  212. package/dist/cms-integrity.d.ts.map +1 -0
  213. package/dist/cms-integrity.js +7 -0
  214. package/dist/cms-integrity.js.map +1 -0
  215. package/dist/converters/animationEnricher.d.ts +17 -0
  216. package/dist/converters/animationEnricher.d.ts.map +1 -0
  217. package/dist/converters/animationEnricher.js +177 -0
  218. package/dist/converters/animationEnricher.js.map +1 -0
  219. package/dist/converters/article.d.ts +48 -0
  220. package/dist/converters/article.d.ts.map +1 -0
  221. package/dist/converters/article.js +364 -0
  222. package/dist/converters/article.js.map +1 -0
  223. package/dist/converters/asset.d.ts +33 -0
  224. package/dist/converters/asset.d.ts.map +1 -0
  225. package/dist/converters/asset.js +340 -0
  226. package/dist/converters/asset.js.map +1 -0
  227. package/dist/converters/banner.d.ts +10 -0
  228. package/dist/converters/banner.d.ts.map +1 -0
  229. package/dist/converters/banner.js +63 -0
  230. package/dist/converters/banner.js.map +1 -0
  231. package/dist/converters/collection.d.ts +26 -0
  232. package/dist/converters/collection.d.ts.map +1 -0
  233. package/dist/converters/collection.js +52 -0
  234. package/dist/converters/collection.js.map +1 -0
  235. package/dist/converters/component.d.ts +26 -0
  236. package/dist/converters/component.d.ts.map +1 -0
  237. package/dist/converters/component.js +54 -0
  238. package/dist/converters/component.js.map +1 -0
  239. package/dist/converters/customType.d.ts +24 -0
  240. package/dist/converters/customType.d.ts.map +1 -0
  241. package/dist/converters/customType.js +93 -0
  242. package/dist/converters/customType.js.map +1 -0
  243. package/dist/converters/document.d.ts +14 -0
  244. package/dist/converters/document.d.ts.map +1 -0
  245. package/dist/converters/document.js +51 -0
  246. package/dist/converters/document.js.map +1 -0
  247. package/dist/converters/enrichAssets.d.ts +19 -0
  248. package/dist/converters/enrichAssets.d.ts.map +1 -0
  249. package/dist/converters/enrichAssets.js +36 -0
  250. package/dist/converters/enrichAssets.js.map +1 -0
  251. package/dist/converters/externalComponent.d.ts +27 -0
  252. package/dist/converters/externalComponent.d.ts.map +1 -0
  253. package/dist/converters/externalComponent.js +46 -0
  254. package/dist/converters/externalComponent.js.map +1 -0
  255. package/dist/converters/externalVideoEnricher.d.ts +12 -0
  256. package/dist/converters/externalVideoEnricher.d.ts.map +1 -0
  257. package/dist/converters/externalVideoEnricher.js +70 -0
  258. package/dist/converters/externalVideoEnricher.js.map +1 -0
  259. package/dist/converters/helpers.d.ts +173 -0
  260. package/dist/converters/helpers.d.ts.map +1 -0
  261. package/dist/converters/helpers.js +167 -0
  262. package/dist/converters/helpers.js.map +1 -0
  263. package/dist/converters/heroVideoEnricher.d.ts +9 -0
  264. package/dist/converters/heroVideoEnricher.d.ts.map +1 -0
  265. package/dist/converters/heroVideoEnricher.js +108 -0
  266. package/dist/converters/heroVideoEnricher.js.map +1 -0
  267. package/dist/converters/heroVideoEnv.d.ts +14 -0
  268. package/dist/converters/heroVideoEnv.d.ts.map +1 -0
  269. package/dist/converters/heroVideoEnv.js +28 -0
  270. package/dist/converters/heroVideoEnv.js.map +1 -0
  271. package/dist/converters/htmlComponent.d.ts +17 -0
  272. package/dist/converters/htmlComponent.d.ts.map +1 -0
  273. package/dist/converters/htmlComponent.js +33 -0
  274. package/dist/converters/htmlComponent.js.map +1 -0
  275. package/dist/converters/iconCollector.d.ts +36 -0
  276. package/dist/converters/iconCollector.d.ts.map +1 -0
  277. package/dist/converters/iconCollector.js +309 -0
  278. package/dist/converters/iconCollector.js.map +1 -0
  279. package/dist/converters/index.d.ts +26 -0
  280. package/dist/converters/index.d.ts.map +1 -0
  281. package/dist/converters/index.js +21 -0
  282. package/dist/converters/index.js.map +1 -0
  283. package/dist/converters/link.d.ts +11 -0
  284. package/dist/converters/link.d.ts.map +1 -0
  285. package/dist/converters/link.js +109 -0
  286. package/dist/converters/link.js.map +1 -0
  287. package/dist/converters/navigationItem.d.ts +17 -0
  288. package/dist/converters/navigationItem.d.ts.map +1 -0
  289. package/dist/converters/navigationItem.js +126 -0
  290. package/dist/converters/navigationItem.js.map +1 -0
  291. package/dist/converters/page.d.ts +44 -0
  292. package/dist/converters/page.d.ts.map +1 -0
  293. package/dist/converters/page.js +160 -0
  294. package/dist/converters/page.js.map +1 -0
  295. package/dist/converters/pageVariantMerge.d.ts +24 -0
  296. package/dist/converters/pageVariantMerge.d.ts.map +1 -0
  297. package/dist/converters/pageVariantMerge.js +151 -0
  298. package/dist/converters/pageVariantMerge.js.map +1 -0
  299. package/dist/converters/person.d.ts +40 -0
  300. package/dist/converters/person.d.ts.map +1 -0
  301. package/dist/converters/person.js +152 -0
  302. package/dist/converters/person.js.map +1 -0
  303. package/dist/converters/pictureBlurEnricher.d.ts +9 -0
  304. package/dist/converters/pictureBlurEnricher.d.ts.map +1 -0
  305. package/dist/converters/pictureBlurEnricher.js +79 -0
  306. package/dist/converters/pictureBlurEnricher.js.map +1 -0
  307. package/dist/converters/redirect.d.ts +20 -0
  308. package/dist/converters/redirect.d.ts.map +1 -0
  309. package/dist/converters/redirect.js +50 -0
  310. package/dist/converters/redirect.js.map +1 -0
  311. package/dist/converters/resolver.d.ts +26 -0
  312. package/dist/converters/resolver.d.ts.map +1 -0
  313. package/dist/converters/resolver.js +383 -0
  314. package/dist/converters/resolver.js.map +1 -0
  315. package/dist/converters/schema.d.ts +14 -0
  316. package/dist/converters/schema.d.ts.map +1 -0
  317. package/dist/converters/schema.js +25 -0
  318. package/dist/converters/schema.js.map +1 -0
  319. package/dist/converters/svgProcessor.d.ts +58 -0
  320. package/dist/converters/svgProcessor.d.ts.map +1 -0
  321. package/dist/converters/svgProcessor.js +225 -0
  322. package/dist/converters/svgProcessor.js.map +1 -0
  323. package/dist/converters/tag.d.ts +25 -0
  324. package/dist/converters/tag.d.ts.map +1 -0
  325. package/dist/converters/tag.js +170 -0
  326. package/dist/converters/tag.js.map +1 -0
  327. package/dist/converters/tagType.d.ts +15 -0
  328. package/dist/converters/tagType.d.ts.map +1 -0
  329. package/dist/converters/tagType.js +56 -0
  330. package/dist/converters/tagType.js.map +1 -0
  331. package/dist/converters/template.d.ts +31 -0
  332. package/dist/converters/template.d.ts.map +1 -0
  333. package/dist/converters/template.js +53 -0
  334. package/dist/converters/template.js.map +1 -0
  335. package/dist/converters/videoEnricher.d.ts +14 -0
  336. package/dist/converters/videoEnricher.d.ts.map +1 -0
  337. package/dist/converters/videoEnricher.js +85 -0
  338. package/dist/converters/videoEnricher.js.map +1 -0
  339. package/dist/icons/rebuildIconSprite.d.ts +8 -0
  340. package/dist/icons/rebuildIconSprite.d.ts.map +1 -0
  341. package/dist/icons/rebuildIconSprite.js +15 -0
  342. package/dist/icons/rebuildIconSprite.js.map +1 -0
  343. package/dist/index.d.ts +33 -0
  344. package/dist/index.d.ts.map +1 -0
  345. package/dist/index.js +42 -0
  346. package/dist/index.js.map +1 -0
  347. package/dist/navigation/assembly.d.ts +8 -0
  348. package/dist/navigation/assembly.d.ts.map +1 -0
  349. package/dist/navigation/assembly.js +115 -0
  350. package/dist/navigation/assembly.js.map +1 -0
  351. package/dist/navigation/cacheOptions.d.ts +17 -0
  352. package/dist/navigation/cacheOptions.d.ts.map +1 -0
  353. package/dist/navigation/cacheOptions.js +45 -0
  354. package/dist/navigation/cacheOptions.js.map +1 -0
  355. package/dist/navigation/enrichModelNavigation.d.ts +17 -0
  356. package/dist/navigation/enrichModelNavigation.d.ts.map +1 -0
  357. package/dist/navigation/enrichModelNavigation.js +46 -0
  358. package/dist/navigation/enrichModelNavigation.js.map +1 -0
  359. package/dist/navigation/linkIndex.d.ts +10 -0
  360. package/dist/navigation/linkIndex.d.ts.map +1 -0
  361. package/dist/navigation/linkIndex.js +34 -0
  362. package/dist/navigation/linkIndex.js.map +1 -0
  363. package/dist/navigation/listingLinkBundle.d.ts +22 -0
  364. package/dist/navigation/listingLinkBundle.d.ts.map +1 -0
  365. package/dist/navigation/listingLinkBundle.js +88 -0
  366. package/dist/navigation/listingLinkBundle.js.map +1 -0
  367. package/dist/navigation/registry.d.ts +15 -0
  368. package/dist/navigation/registry.d.ts.map +1 -0
  369. package/dist/navigation/registry.js +130 -0
  370. package/dist/navigation/registry.js.map +1 -0
  371. package/dist/navigation/requestCache.d.ts +18 -0
  372. package/dist/navigation/requestCache.d.ts.map +1 -0
  373. package/dist/navigation/requestCache.js +66 -0
  374. package/dist/navigation/requestCache.js.map +1 -0
  375. package/dist/navigation/types.d.ts +45 -0
  376. package/dist/navigation/types.d.ts.map +1 -0
  377. package/dist/navigation/types.js +2 -0
  378. package/dist/navigation/types.js.map +1 -0
  379. package/dist/revalidation/entry-handlers.d.ts +40 -0
  380. package/dist/revalidation/entry-handlers.d.ts.map +1 -0
  381. package/dist/revalidation/entry-handlers.js +144 -0
  382. package/dist/revalidation/entry-handlers.js.map +1 -0
  383. package/dist/revalidation/handlers.d.ts +19 -0
  384. package/dist/revalidation/handlers.d.ts.map +1 -0
  385. package/dist/revalidation/handlers.js +50 -0
  386. package/dist/revalidation/handlers.js.map +1 -0
  387. package/dist/revalidation/index.d.ts +4 -0
  388. package/dist/revalidation/index.d.ts.map +1 -0
  389. package/dist/revalidation/index.js +5 -0
  390. package/dist/revalidation/index.js.map +1 -0
  391. package/dist/revalidation/nextjs-route.d.ts +38 -0
  392. package/dist/revalidation/nextjs-route.d.ts.map +1 -0
  393. package/dist/revalidation/nextjs-route.js +36 -0
  394. package/dist/revalidation/nextjs-route.js.map +1 -0
  395. package/dist/revalidation/route.d.ts +3 -0
  396. package/dist/revalidation/route.d.ts.map +1 -0
  397. package/dist/revalidation/route.js +99 -0
  398. package/dist/revalidation/route.js.map +1 -0
  399. package/dist/revalidation/server-utils.d.ts +31 -0
  400. package/dist/revalidation/server-utils.d.ts.map +1 -0
  401. package/dist/revalidation/server-utils.js +54 -0
  402. package/dist/revalidation/server-utils.js.map +1 -0
  403. package/dist/revalidation/tags.d.ts +110 -0
  404. package/dist/revalidation/tags.d.ts.map +1 -0
  405. package/dist/revalidation/tags.js +160 -0
  406. package/dist/revalidation/tags.js.map +1 -0
  407. package/dist/revalidation/utils.d.ts +21 -0
  408. package/dist/revalidation/utils.d.ts.map +1 -0
  409. package/dist/revalidation/utils.js +61 -0
  410. package/dist/revalidation/utils.js.map +1 -0
  411. package/dist/revalidation/webhook-content-types.d.ts +12 -0
  412. package/dist/revalidation/webhook-content-types.d.ts.map +1 -0
  413. package/dist/revalidation/webhook-content-types.js +28 -0
  414. package/dist/revalidation/webhook-content-types.js.map +1 -0
  415. package/dist/routing/index.d.ts +2 -0
  416. package/dist/routing/index.d.ts.map +1 -0
  417. package/dist/routing/index.js +2 -0
  418. package/dist/routing/index.js.map +1 -0
  419. package/dist/routing/marketing-site-url-calculators.d.ts +21 -0
  420. package/dist/routing/marketing-site-url-calculators.d.ts.map +1 -0
  421. package/dist/routing/marketing-site-url-calculators.js +43 -0
  422. package/dist/routing/marketing-site-url-calculators.js.map +1 -0
  423. package/dist/server.d.ts +7 -0
  424. package/dist/server.d.ts.map +1 -0
  425. package/dist/server.js +10 -0
  426. package/dist/server.js.map +1 -0
  427. package/dist/telemetry/deriveOperation.d.ts +8 -0
  428. package/dist/telemetry/deriveOperation.d.ts.map +1 -0
  429. package/dist/telemetry/deriveOperation.js +59 -0
  430. package/dist/telemetry/deriveOperation.js.map +1 -0
  431. package/dist/telemetry/queryContext.d.ts +7 -0
  432. package/dist/telemetry/queryContext.d.ts.map +1 -0
  433. package/dist/telemetry/queryContext.js +9 -0
  434. package/dist/telemetry/queryContext.js.map +1 -0
  435. package/dist/telemetry/queryLog.d.ts +17 -0
  436. package/dist/telemetry/queryLog.d.ts.map +1 -0
  437. package/dist/telemetry/queryLog.js +54 -0
  438. package/dist/telemetry/queryLog.js.map +1 -0
  439. package/dist/types.d.ts +93 -0
  440. package/dist/types.d.ts.map +1 -0
  441. package/dist/types.js +2 -0
  442. package/dist/types.js.map +1 -0
  443. package/dist/utils/arrayUtils.d.ts +3 -0
  444. package/dist/utils/arrayUtils.d.ts.map +1 -0
  445. package/dist/utils/arrayUtils.js +12 -0
  446. package/dist/utils/arrayUtils.js.map +1 -0
  447. package/dist/utils/dateUtils.d.ts +9 -0
  448. package/dist/utils/dateUtils.d.ts.map +1 -0
  449. package/dist/utils/dateUtils.js +26 -0
  450. package/dist/utils/dateUtils.js.map +1 -0
  451. package/dist/utils/errors.d.ts +56 -0
  452. package/dist/utils/errors.d.ts.map +1 -0
  453. package/dist/utils/errors.js +100 -0
  454. package/dist/utils/errors.js.map +1 -0
  455. package/dist/utils/index.d.ts +9 -0
  456. package/dist/utils/index.d.ts.map +1 -0
  457. package/dist/utils/index.js +9 -0
  458. package/dist/utils/index.js.map +1 -0
  459. package/dist/utils/redirectMap.d.ts +40 -0
  460. package/dist/utils/redirectMap.d.ts.map +1 -0
  461. package/dist/utils/redirectMap.js +129 -0
  462. package/dist/utils/redirectMap.js.map +1 -0
  463. package/dist/utils/retry.d.ts +103 -0
  464. package/dist/utils/retry.d.ts.map +1 -0
  465. package/dist/utils/retry.js +248 -0
  466. package/dist/utils/retry.js.map +1 -0
  467. package/dist/utils/tags.d.ts +35 -0
  468. package/dist/utils/tags.d.ts.map +1 -0
  469. package/dist/utils/tags.js +37 -0
  470. package/dist/utils/tags.js.map +1 -0
  471. package/docs/llms.md +430 -0
  472. package/package.json +86 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pictureBlurEnricher.d.ts","sourceRoot":"","sources":["../../src/converters/pictureBlurEnricher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAkEpE;;;;;GAKG;AACH,wBAAsB,6BAA6B,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB/F"}
@@ -0,0 +1,79 @@
1
+ import { assetTag } from '../revalidation/tags.js';
2
+ /**
3
+ * Tiny raster width for LQIP-style blur data URLs. Kept small to limit fetch size and base64 payload.
4
+ */
5
+ const BLUR_TARGET_WIDTH_PX = 24;
6
+ /** Output format for the placeholder fetch (JPEG compresses well at low dimensions). */
7
+ const BLUR_FORMAT = 'jpg';
8
+ /** JPEG quality for the placeholder (low = smaller file). */
9
+ const BLUR_QUALITY = 20;
10
+ function isContentfulImageHost(hostname) {
11
+ return (hostname === 'images.ctfassets.net' ||
12
+ hostname === 'assets.ctfassets.net' ||
13
+ hostname.endsWith('.ctfassets.net'));
14
+ }
15
+ /**
16
+ * Builds a Contentful Images API URL for a small JPEG suitable for `blurDataURL`.
17
+ * Returns undefined if the source is not a Contentful delivery host or cannot be parsed.
18
+ */
19
+ function buildTinyBlurFetchUrl(src) {
20
+ if (!src)
21
+ return undefined;
22
+ try {
23
+ const parsed = new URL(src);
24
+ if (!isContentfulImageHost(parsed.hostname))
25
+ return undefined;
26
+ parsed.searchParams.set('w', String(BLUR_TARGET_WIDTH_PX));
27
+ parsed.searchParams.set('fm', BLUR_FORMAT);
28
+ parsed.searchParams.set('q', String(BLUR_QUALITY));
29
+ return parsed.toString();
30
+ }
31
+ catch {
32
+ return undefined;
33
+ }
34
+ }
35
+ async function fetchPictureBlurDataURL(pictureSrc, assetId) {
36
+ const url = buildTinyBlurFetchUrl(pictureSrc);
37
+ if (!url)
38
+ return undefined;
39
+ try {
40
+ const response = await fetch(url, {
41
+ cache: 'force-cache',
42
+ next: {
43
+ tags: [assetTag(assetId)],
44
+ },
45
+ });
46
+ if (!response.ok)
47
+ return undefined;
48
+ const mimeType = response.headers.get('content-type')?.split(';')[0]?.trim() || 'image/jpeg';
49
+ const bytes = new Uint8Array(await response.arrayBuffer());
50
+ if (bytes.length === 0)
51
+ return undefined;
52
+ const base64 = Buffer.from(bytes).toString('base64');
53
+ return `data:${mimeType};base64,${base64}`;
54
+ }
55
+ catch {
56
+ return undefined;
57
+ }
58
+ }
59
+ /**
60
+ * Enriches raster pictures in the assets map with `blurDataURL` by fetching a tiny CDN variant.
61
+ * Mutates each `IPicture` in place. Skips non-Contentful hosts, SVG, existing `blurDataURL`, and failures.
62
+ *
63
+ * @param assets - Map from asset id to visual (from `convertAllAssets`)
64
+ */
65
+ export async function enrichPictureBlurPlaceholders(assets) {
66
+ const pictureEntries = Array.from(assets.entries()).filter(([, visual]) => visual.image?.type === 'Picture');
67
+ if (pictureEntries.length === 0)
68
+ return;
69
+ await Promise.all(pictureEntries.map(async ([assetId, visual]) => {
70
+ const picture = visual.image;
71
+ if (picture.blurDataURL)
72
+ return;
73
+ const blurDataURL = await fetchPictureBlurDataURL(picture.src, assetId);
74
+ if (!blurDataURL)
75
+ return;
76
+ visual.image = { ...picture, blurDataURL };
77
+ }));
78
+ }
79
+ //# sourceMappingURL=pictureBlurEnricher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pictureBlurEnricher.js","sourceRoot":"","sources":["../../src/converters/pictureBlurEnricher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { IRedirect } from '@se-studio/core-data-types';
2
+ import type { Entry } from 'contentful';
3
+ import type { DefaultChainModifier } from '../api';
4
+ import type { BaseRedirectSkeleton } from '../baseTypes/baseRedirect';
5
+ import type { ConverterContext } from './helpers';
6
+ /**
7
+ * Converts a Contentful redirect entry to an IRedirect object.
8
+ *
9
+ * The effective `fromPath` and `to` are always concrete strings:
10
+ * - If the single `fromInternal` / `toInternal` reference is populated, its
11
+ * resolved IInternalLink.href is used (this is what makes picking a page/article/tagType
12
+ * etc. work for non-technical editors without them typing slugs).
13
+ * - Otherwise the raw `fromPath` / `toPath` symbol is used (for old/vanity URLs,
14
+ * external targets, etc.).
15
+ *
16
+ * Internal reference wins over raw when both are supplied (editors should normally
17
+ * use one or the other; the UI help text will guide them).
18
+ */
19
+ export declare function baseRedirectConverter(context: ConverterContext, entry: Entry<BaseRedirectSkeleton, DefaultChainModifier, string>): IRedirect;
20
+ //# sourceMappingURL=redirect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redirect.d.ts","sourceRoot":"","sources":["../../src/converters/redirect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,SAAS,EAAsB,MAAM,4BAA4B,CAAC;AAC/F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGlD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC/D,SAAS,CAoDX"}
@@ -0,0 +1,50 @@
1
+ import { resolveLink } from './resolver.js';
2
+ /**
3
+ * Converts a Contentful redirect entry to an IRedirect object.
4
+ *
5
+ * The effective `fromPath` and `to` are always concrete strings:
6
+ * - If the single `fromInternal` / `toInternal` reference is populated, its
7
+ * resolved IInternalLink.href is used (this is what makes picking a page/article/tagType
8
+ * etc. work for non-technical editors without them typing slugs).
9
+ * - Otherwise the raw `fromPath` / `toPath` symbol is used (for old/vanity URLs,
10
+ * external targets, etc.).
11
+ *
12
+ * Internal reference wins over raw when both are supplied (editors should normally
13
+ * use one or the other; the UI help text will guide them).
14
+ */
15
+ export function baseRedirectConverter(context, entry) {
16
+ const { sys, fields } = entry;
17
+ if (sys.contentType.sys.id !== 'redirect') {
18
+ throw new Error(`Invalid content type: expected "redirect", got "${sys.contentType.sys.id}"`);
19
+ }
20
+ const id = sys.id;
21
+ const { fromPath: rawFromPath, fromInternal: rawFromInternal, toPath: rawToPath, toInternal: rawToInternal, statusCode, active, note, ...simpleFields } = fields;
22
+ // Resolve the (at most one) internal reference on each side. These carry the correct
23
+ // .href computed by the project's urlCalculators via the link converters.
24
+ const fromInternal = rawFromInternal
25
+ ? resolveLink(context, id, rawFromInternal)
26
+ : undefined;
27
+ const toInternal = rawToInternal
28
+ ? resolveLink(context, id, rawToInternal)
29
+ : undefined;
30
+ // Effective fromPath: prefer the internal reference's href, fall back to raw symbol.
31
+ const fromPath = fromInternal?.href || rawFromPath || '';
32
+ // Effective to: prefer internal reference href, fall back to raw (which may be a full external URL).
33
+ const to = toInternal?.href || rawToPath || '';
34
+ const normalizedStatus = statusCode
35
+ ? Number.parseInt(statusCode, 10)
36
+ : 301;
37
+ return {
38
+ type: 'Redirect',
39
+ id,
40
+ fromPath: fromPath || rawFromPath || '',
41
+ to: to || rawToPath || '',
42
+ statusCode: normalizedStatus,
43
+ active: active ?? true,
44
+ note: note ?? null,
45
+ ...(fromInternal ? { fromInternal } : {}),
46
+ ...(toInternal ? { toInternal } : {}),
47
+ ...simpleFields,
48
+ };
49
+ }
50
+ //# sourceMappingURL=redirect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redirect.js","sourceRoot":"","sources":["../../src/converters/redirect.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAyB,EACzB,KAAgE;IAEhE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAE9B,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,mDAAmD,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;IAElB,MAAM,EACJ,QAAQ,EAAE,WAAW,EACrB,YAAY,EAAE,eAAe,EAC7B,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,aAAa,EACzB,UAAU,EACV,MAAM,EACN,IAAI,EACJ,GAAG,YAAY,EAChB,GAAG,MAAM,CAAC;IAEX,qFAAqF;IACrF,0EAA0E;IAC1E,MAAM,YAAY,GAAG,eAAe;QAClC,CAAC,CAAE,WAAW,CAAC,OAAO,EAAE,EAAE,EAAE,eAAe,CAA+B;QAC1E,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,UAAU,GAAG,aAAa;QAC9B,CAAC,CAAE,WAAW,CAAC,OAAO,EAAE,EAAE,EAAE,aAAa,CAA+B;QACxE,CAAC,CAAC,SAAS,CAAC;IAEd,qFAAqF;IACrF,MAAM,QAAQ,GAAG,YAAY,EAAE,IAAI,IAAK,WAAkC,IAAI,EAAE,CAAC;IAEjF,qGAAqG;IACrG,MAAM,EAAE,GAAG,UAAU,EAAE,IAAI,IAAK,SAAgC,IAAI,EAAE,CAAC;IAEvE,MAAM,gBAAgB,GAAG,UAAU;QACjC,CAAC,CAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAwB;QACzD,CAAC,CAAC,GAAG,CAAC;IAER,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,EAAE;QACF,QAAQ,EAAE,QAAQ,IAAK,WAAsB,IAAI,EAAE;QACnD,EAAE,EAAE,EAAE,IAAK,SAAoB,IAAI,EAAE;QACrC,UAAU,EAAE,gBAAgB;QAC5B,MAAM,EAAE,MAAM,IAAI,IAAI;QACtB,IAAI,EAAG,IAA2B,IAAI,IAAI;QAC1C,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,YAAY;KAChB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { type Document } from '@contentful/rich-text-types';
2
+ import type { BaseCollectionContent, IInternalLink, INavigationItem, ISchema, ITyped } from '@se-studio/core-data-types';
3
+ import type { UnresolvedLink } from 'contentful';
4
+ import type { ConverterContext } from './helpers';
5
+ export declare function resolveSchema(context: ConverterContext, fromId: string, entry: UnresolvedLink<'Entry'>): ISchema | undefined;
6
+ export declare function resolveLink(context: ConverterContext, fromId: string, entry: UnresolvedLink<'Entry'>): IInternalLink | undefined;
7
+ export declare function resolveLinks(context: ConverterContext, fromId: string, entries: UnresolvedLink<'Entry'>[] | undefined): readonly IInternalLink[] | undefined;
8
+ export declare function resolveNavigationItem(context: ConverterContext, fromId: string, entry: UnresolvedLink<'Entry'>): INavigationItem | undefined;
9
+ export declare function resolveCollectionContent(context: ConverterContext, fromId: string, entry: UnresolvedLink<'Entry'>): BaseCollectionContent | null;
10
+ /**
11
+ * Resolves a PageContent entry from an unresolved link
12
+ * PageContent can be: Component, Collection, ExternalComponent, Visual (media/externalVideo), or PersonLink
13
+ */
14
+ export declare function resolvePageContent(context: ConverterContext, fromId: string, entry: UnresolvedLink<'Entry'>): ITyped | null;
15
+ /**
16
+ * Resolves all embedded entries and assets within a rich text document
17
+ * Recursively traverses the document tree and resolves link references
18
+ *
19
+ * @param context - The converter context with includes and assets maps
20
+ * @param richText - The unresolved rich text document from Contentful
21
+ * @returns The rich text document with all embedded content resolved
22
+ */
23
+ export declare function resolveRichTextDocument(context: ConverterContext, fromId: string, richText: Document | undefined): {
24
+ json: Document;
25
+ } | undefined;
26
+ //# sourceMappingURL=resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/converters/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EAId,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,OAAO,EACP,MAAM,EACP,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAA4B,cAAc,EAAE,MAAM,YAAY,CAAC;AAY3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAuDlD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,GAC7B,OAAO,GAAG,SAAS,CAOrB;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,GAC7B,aAAa,GAAG,SAAS,CAI3B;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,GAC7C,SAAS,aAAa,EAAE,GAAG,SAAS,CAMtC;AAgBD,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,GAC7B,eAAe,GAAG,SAAS,CAO7B;AAGD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,GAC7B,qBAAqB,GAAG,IAAI,CA2E9B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,GAC7B,MAAM,GAAG,IAAI,CA+Hf;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GAAG,SAAS;UA0KH,QAAQ;cACpC"}
@@ -0,0 +1,383 @@
1
+ import { INLINES, } from '@contentful/rich-text-types';
2
+ import { arrayOrUndefined } from '../utils/index.js';
3
+ import { convertExternalVideoEntryToVisual, convertMediaEntryToVisual } from './asset.js';
4
+ import { lookupAsset, lookupDownloadAsset } from './helpers.js';
5
+ import { baseSchemaConverter } from './schema.js';
6
+ function resolveHelper(context, fromId, entry, getResolver) {
7
+ const id = entry.sys.id;
8
+ const possibleEntry = context.includes.get(id);
9
+ if (!possibleEntry) {
10
+ const message = `[CMS UNRESOLVED] entry ${id} (referenced from ${fromId}) not in includes map (${context.includes.size} entries loaded)`;
11
+ if (process.env.LOG_CMS) {
12
+ console.warn(message);
13
+ }
14
+ context.errors.push({ entryId: id, entryType: 'unknown', message, error: new Error(message) });
15
+ return undefined;
16
+ }
17
+ if (!possibleEntry.resolved) {
18
+ const resolver = getResolver(possibleEntry.type);
19
+ if (!resolver) {
20
+ const message = `No resolver found for link type ${possibleEntry.type} (id: ${id})`;
21
+ if (process.env.LOG_CMS) {
22
+ console.warn(message);
23
+ }
24
+ context.errors.push({
25
+ entryId: id,
26
+ entryType: possibleEntry.type,
27
+ message,
28
+ error: new Error(message),
29
+ });
30
+ return undefined;
31
+ }
32
+ const resolved = resolver(context, possibleEntry.entry);
33
+ possibleEntry.resolved = resolved;
34
+ return resolved;
35
+ }
36
+ return possibleEntry.resolved;
37
+ }
38
+ export function resolveSchema(context, fromId, entry) {
39
+ return resolveHelper(context, fromId, entry, () => baseSchemaConverter);
40
+ }
41
+ export function resolveLink(context, fromId, entry) {
42
+ return resolveHelper(context, fromId, entry, (type) => context.linkResolver.get(type));
43
+ }
44
+ export function resolveLinks(context, fromId, entries) {
45
+ return arrayOrUndefined(entries
46
+ ?.map((entry) => resolveLink(context, fromId, entry))
47
+ .filter((l) => l != null));
48
+ }
49
+ function resolveContent(context, fromId, entry) {
50
+ return resolveHelper(context, fromId, entry, (type) => {
51
+ const resolver = context.contentResolver.get(type);
52
+ return resolver;
53
+ });
54
+ }
55
+ export function resolveNavigationItem(context, fromId, entry) {
56
+ return resolveHelper(context, fromId, entry, () => context.navigationItemResolver);
57
+ }
58
+ export function resolveCollectionContent(context, fromId, entry) {
59
+ const id = entry.sys.id;
60
+ const possibleEntry = context.includes.get(id);
61
+ if (!possibleEntry) {
62
+ const message = `[CMS UNRESOLVED] collection entry ${id} (referenced from ${fromId}) not in includes map`;
63
+ if (process.env.LOG_CMS) {
64
+ console.warn(message);
65
+ }
66
+ context.errors.push({ entryId: id, entryType: 'unknown', message, error: new Error(message) });
67
+ return null;
68
+ }
69
+ // Return cached resolved entry if available
70
+ if (possibleEntry.resolved) {
71
+ return possibleEntry.resolved;
72
+ }
73
+ const { type } = possibleEntry;
74
+ // Handle Media - convert to IVisual
75
+ if (type === 'media') {
76
+ const visual = convertMediaEntryToVisual(context, possibleEntry.entry);
77
+ if (!visual) {
78
+ const message = `Failed to convert media entry with id ${id}`;
79
+ context.errors.push({ entryId: id, entryType: type, message, error: new Error(message) });
80
+ return null;
81
+ }
82
+ possibleEntry.resolved = visual;
83
+ return visual;
84
+ }
85
+ // Handle ExternalVideo - convert to IVisual
86
+ if (type === 'externalVideo') {
87
+ const visual = convertExternalVideoEntryToVisual(context, possibleEntry.entry);
88
+ if (!visual) {
89
+ const message = `Failed to convert externalVideo entry with id ${id}`;
90
+ context.errors.push({ entryId: id, entryType: type, message, error: new Error(message) });
91
+ return null;
92
+ }
93
+ possibleEntry.resolved = visual;
94
+ return visual;
95
+ }
96
+ // Fall back to resolver lookup for other types
97
+ return (resolveHelper(context, fromId, entry, (resolverType) => {
98
+ const resolver = context.contentResolver.get(resolverType);
99
+ if (resolver) {
100
+ return resolver;
101
+ }
102
+ const linkResolver = context.linkResolver.get(resolverType);
103
+ if (linkResolver) {
104
+ return linkResolver;
105
+ }
106
+ return undefined;
107
+ }) ?? null);
108
+ }
109
+ /**
110
+ * Resolves a PageContent entry from an unresolved link
111
+ * PageContent can be: Component, Collection, ExternalComponent, Visual (media/externalVideo), or PersonLink
112
+ */
113
+ export function resolvePageContent(context, fromId, entry) {
114
+ const id = entry.sys.id;
115
+ const possibleEntry = context.includes.get(id);
116
+ if (!possibleEntry) {
117
+ const errorMessage = `Cannot find included entry for content from ${fromId} with id ${id}`;
118
+ const cmsError = {
119
+ entryId: id,
120
+ entryType: 'unknown',
121
+ message: errorMessage,
122
+ error: new Error(errorMessage),
123
+ };
124
+ context.errors.push(cmsError);
125
+ console.error(errorMessage);
126
+ return null;
127
+ }
128
+ const { type } = possibleEntry;
129
+ // Handle Media - convert to IVisual
130
+ if (type === 'media') {
131
+ try {
132
+ const visual = convertMediaEntryToVisual(context, possibleEntry.entry);
133
+ if (!visual) {
134
+ const errorMessage = `Failed to convert media entry with id ${id}`;
135
+ const cmsError = {
136
+ entryId: id,
137
+ entryType: type,
138
+ message: errorMessage,
139
+ error: new Error(errorMessage),
140
+ };
141
+ context.errors.push(cmsError);
142
+ console.error(errorMessage);
143
+ return null;
144
+ }
145
+ return visual;
146
+ }
147
+ catch (error) {
148
+ const errorMessage = `Error converting media entry with id ${id}: ${error instanceof Error ? error.message : 'Unknown error'}`;
149
+ const cmsError = {
150
+ entryId: id,
151
+ entryType: type,
152
+ message: errorMessage,
153
+ error,
154
+ };
155
+ context.errors.push(cmsError);
156
+ console.error(errorMessage);
157
+ return null;
158
+ }
159
+ }
160
+ // Handle ExternalVideo - convert to IVisual
161
+ if (type === 'externalVideo') {
162
+ try {
163
+ const visual = convertExternalVideoEntryToVisual(context, possibleEntry.entry);
164
+ if (!visual) {
165
+ const errorMessage = `Failed to convert externalVideo entry with id ${id}`;
166
+ const cmsError = {
167
+ entryId: id,
168
+ entryType: type,
169
+ message: errorMessage,
170
+ error: new Error(errorMessage),
171
+ };
172
+ context.errors.push(cmsError);
173
+ console.error(errorMessage);
174
+ return null;
175
+ }
176
+ return visual;
177
+ }
178
+ catch (error) {
179
+ const errorMessage = `Error converting externalVideo entry with id ${id}: ${error instanceof Error ? error.message : 'Unknown error'}`;
180
+ const cmsError = {
181
+ entryId: id,
182
+ entryType: type,
183
+ message: errorMessage,
184
+ error,
185
+ };
186
+ context.errors.push(cmsError);
187
+ console.error(errorMessage);
188
+ return null;
189
+ }
190
+ }
191
+ // // Handle ExternalComponent
192
+ // if (type === 'externalComponent') {
193
+ // return resolveHelper<
194
+ // TConfig,
195
+ // BaseExternalComponentSkeleton<TConfig>,
196
+ // TConfig['ExternalComponent']
197
+ // >(context, entry, () => baseExternalComponentConverter);
198
+ // }
199
+ try {
200
+ if (context.contentResolver.has(type)) {
201
+ return resolveContent(context, fromId, entry) ?? null;
202
+ }
203
+ if (context.linkResolver.has(type)) {
204
+ return resolveLink(context, fromId, entry) ?? null;
205
+ }
206
+ const errorMessage = `Unknown content type "${type}" for entry with id ${id}`;
207
+ const cmsError = {
208
+ entryId: id,
209
+ entryType: type,
210
+ message: errorMessage,
211
+ error: new Error(errorMessage),
212
+ };
213
+ context.errors.push(cmsError);
214
+ console.error(errorMessage);
215
+ return null;
216
+ }
217
+ catch (error) {
218
+ const errorMessage = `Error resolving content entry with id ${id} of type ${type}: ${error instanceof Error ? error.message : 'Unknown error'}`;
219
+ const cmsError = {
220
+ entryId: id,
221
+ entryType: type,
222
+ message: errorMessage,
223
+ error,
224
+ };
225
+ context.errors.push(cmsError);
226
+ console.error(errorMessage);
227
+ return null;
228
+ }
229
+ }
230
+ /**
231
+ * Resolves all embedded entries and assets within a rich text document
232
+ * Recursively traverses the document tree and resolves link references
233
+ *
234
+ * @param context - The converter context with includes and assets maps
235
+ * @param richText - The unresolved rich text document from Contentful
236
+ * @returns The rich text document with all embedded content resolved
237
+ */
238
+ export function resolveRichTextDocument(context, fromId, richText) {
239
+ if (!richText) {
240
+ return undefined;
241
+ }
242
+ // Track resolved entries to prevent infinite recursion
243
+ const resolvingEntries = new Set();
244
+ const resolvedEntries = new Set();
245
+ /** Process content array, filter null/undefined, and log when malformed (DEBUG) */
246
+ const processContent = (rawContent, resolveNodeFn, nodeType = 'unknown') => {
247
+ if (!rawContent)
248
+ return [];
249
+ const hasNulls = rawContent.some((c) => c == null);
250
+ if (hasNulls && process.env.LOG_CMS) {
251
+ console.warn('[resolveRichTextDocument] Content array has null/undefined:', {
252
+ fromId,
253
+ nodeType,
254
+ indices: rawContent
255
+ .map((c, i) => (c == null ? i : null))
256
+ .filter((i) => i !== null),
257
+ });
258
+ }
259
+ return rawContent.filter((n) => n != null).map(resolveNodeFn);
260
+ };
261
+ const resolveNode = (node) => {
262
+ // Handle embedded-entry-block nodes
263
+ const block = node;
264
+ if (block.data.target &&
265
+ 'sys' in block.data.target &&
266
+ block.data.target.sys.linkType === 'Entry') {
267
+ const entryId = block.data.target.sys.id;
268
+ // Check for circular references
269
+ if (resolvingEntries.has(entryId)) {
270
+ if (process.env.LOG_CMS)
271
+ console.warn(`Circular reference detected in rich text resolution for entry ${entryId}. Skipping to prevent infinite recursion.`);
272
+ // Return the node as-is to break the cycle
273
+ return {
274
+ ...block,
275
+ content: processContent(block.content, resolveNode, block.nodeType),
276
+ };
277
+ }
278
+ // Check if already resolved
279
+ if (resolvedEntries.has(entryId)) {
280
+ // Entry already resolved, skip to avoid duplicate work
281
+ return {
282
+ ...block,
283
+ content: processContent(block.content, resolveNode, block.nodeType),
284
+ };
285
+ }
286
+ try {
287
+ resolvingEntries.add(entryId);
288
+ const resolvedEntry = resolvePageContent(context, fromId, block.data.target);
289
+ resolvingEntries.delete(entryId);
290
+ resolvedEntries.add(entryId);
291
+ // If resolvePageContent returned null due to error, return node as-is
292
+ if (resolvedEntry === null) {
293
+ return {
294
+ ...block,
295
+ content: processContent(block.content, resolveNode, block.nodeType),
296
+ };
297
+ }
298
+ return {
299
+ ...block,
300
+ data: {
301
+ ...block.data,
302
+ target: resolvedEntry,
303
+ },
304
+ content: processContent(block.content, resolveNode, block.nodeType),
305
+ };
306
+ }
307
+ catch (error) {
308
+ resolvingEntries.delete(entryId); // Clean up on error
309
+ console.error(`Failed to resolve entry with id ${entryId}:`, error);
310
+ // Return the node as-is if resolution fails
311
+ return {
312
+ ...block,
313
+ content: processContent(block.content, resolveNode, block.nodeType),
314
+ };
315
+ }
316
+ }
317
+ if (block.data.target &&
318
+ 'sys' in block.data.target &&
319
+ block.data.target.sys.linkType === 'Asset') {
320
+ const assetLink = block.data.target;
321
+ try {
322
+ // Inline asset hyperlinks render as download links (IDownloadAsset), not visuals.
323
+ if (node.nodeType === INLINES.ASSET_HYPERLINK) {
324
+ const downloadAsset = lookupDownloadAsset(context, assetLink);
325
+ if (downloadAsset) {
326
+ return {
327
+ ...block,
328
+ data: {
329
+ ...block.data,
330
+ target: downloadAsset,
331
+ },
332
+ content: processContent(block.content, resolveNode, block.nodeType),
333
+ };
334
+ }
335
+ }
336
+ else {
337
+ const resolvedAsset = lookupAsset(context, assetLink);
338
+ if (resolvedAsset) {
339
+ return {
340
+ ...block,
341
+ data: {
342
+ ...block.data,
343
+ target: resolvedAsset,
344
+ },
345
+ content: processContent(block.content, resolveNode, block.nodeType),
346
+ };
347
+ }
348
+ // Fallback to lookupDownloadAsset for non-visual assets (e.g. PDFs)
349
+ const downloadAsset = lookupDownloadAsset(context, assetLink);
350
+ if (downloadAsset) {
351
+ return {
352
+ ...block,
353
+ data: {
354
+ ...block.data,
355
+ target: downloadAsset,
356
+ },
357
+ content: processContent(block.content, resolveNode, block.nodeType),
358
+ };
359
+ }
360
+ }
361
+ }
362
+ catch (error) {
363
+ console.error(`Failed to resolve ${block.nodeType} asset with id ${assetLink.sys.id}:`, error);
364
+ // Return the node as-is if resolution fails
365
+ return {
366
+ ...block,
367
+ content: processContent(block.content, resolveNode, block.nodeType),
368
+ };
369
+ }
370
+ }
371
+ // For all other node types, recursively process content if present
372
+ return {
373
+ ...block,
374
+ content: processContent(block.content, resolveNode, block.nodeType),
375
+ };
376
+ };
377
+ // Cast the EntryFieldTypes.RichText to our working type
378
+ // Resolve the entire document tree
379
+ const resolved = resolveNode(richText);
380
+ // Cast back to the config's RichText type
381
+ return { json: resolved };
382
+ }
383
+ //# sourceMappingURL=resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/converters/resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { ISchema } from '@se-studio/core-data-types';
2
+ import type { Entry } from 'contentful';
3
+ import type { DefaultChainModifier } from '../api';
4
+ import type { BaseSchemaSkeleton } from '../baseTypes/baseSchema';
5
+ import type { ConverterContext } from './helpers';
6
+ /**
7
+ * Base converter for Schema entries to ISchema type
8
+ *
9
+ * @param context - Converter context
10
+ * @param entry - Contentful entry to convert
11
+ * @returns ISchema object
12
+ */
13
+ export declare function baseSchemaConverter(_context: ConverterContext, entry: Entry<BaseSchemaSkeleton, DefaultChainModifier, string>): ISchema;
14
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/converters/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,KAAK,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC7D,OAAO,CAmBT"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Base converter for Schema entries to ISchema type
3
+ *
4
+ * @param context - Converter context
5
+ * @param entry - Contentful entry to convert
6
+ * @returns ISchema object
7
+ */
8
+ export function baseSchemaConverter(_context, entry) {
9
+ const { sys, fields } = entry;
10
+ const { cmsLabel, markup } = fields;
11
+ // markup is typed as Text (string) but may be a JSON field in older CMS configurations,
12
+ // which Contentful returns as a parsed object/array. Normalise all cases to a string:
13
+ // - string → use as-is (new projects: free-text Mustache template)
14
+ // - object/array → JSON.stringify (older projects: pre-built JSON schema stored as JSON field)
15
+ // - null/undefined → empty string
16
+ const markupRaw = markup;
17
+ const markupString = typeof markupRaw === 'string' ? markupRaw : markupRaw != null ? JSON.stringify(markupRaw) : '';
18
+ return {
19
+ id: sys.id,
20
+ name: cmsLabel,
21
+ markup: markupString,
22
+ description: `Schema for ${cmsLabel}`,
23
+ };
24
+ }
25
+ //# sourceMappingURL=schema.js.map