convex-cms 0.0.6 → 0.0.7

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 (329) hide show
  1. package/README.md +68 -101
  2. package/admin/src/components/BreakingChangesWarningDialog.tsx +5 -5
  3. package/admin/src/components/BulkOperationModal.tsx +14 -14
  4. package/admin/src/components/ContentEntryEditor.tsx +8 -8
  5. package/admin/src/components/ContentTypeFormModal.tsx +122 -82
  6. package/admin/src/components/Header.tsx +5 -2
  7. package/admin/src/components/SchemaDriftWarning.tsx +126 -0
  8. package/admin/src/components/TaxonomyEditor.tsx +2 -2
  9. package/admin/src/components/TermTree.tsx +3 -3
  10. package/admin/src/components/UploadDropzone.tsx +7 -7
  11. package/admin/src/components/VersionCompare.tsx +13 -13
  12. package/admin/src/components/VersionHistory.tsx +2 -2
  13. package/admin/src/components/VersionRollbackModal.tsx +5 -5
  14. package/admin/src/components/cmsds/CmsButton.tsx +2 -2
  15. package/admin/src/components/cmsds/CmsDialog.tsx +4 -1
  16. package/admin/src/components/cmsds/CmsStatusBadge.tsx +5 -5
  17. package/admin/src/components/fields/JsonField.tsx +1 -1
  18. package/admin/src/components/fields/ReferenceField.tsx +9 -9
  19. package/admin/src/components/fields/TagField.tsx +1 -1
  20. package/admin/src/contexts/SettingsConfigContext.tsx +10 -3
  21. package/admin/src/embed/index.tsx +29 -9
  22. package/admin/src/embed/pages/ContentTypeEntries.tsx +25 -0
  23. package/admin/src/embed/pages/Entry.tsx +114 -0
  24. package/admin/src/embed/pages/Media.tsx +3 -1
  25. package/admin/src/embed/pages/NewEntry.tsx +83 -0
  26. package/admin/src/embed/pages/index.ts +3 -0
  27. package/admin/src/pages/ContentPage.tsx +27 -20
  28. package/admin/src/pages/ContentTypeEntriesPage.tsx +466 -0
  29. package/admin/src/pages/ContentTypesPage.tsx +65 -19
  30. package/admin/src/pages/DashboardPage.tsx +3 -0
  31. package/admin/src/pages/SettingsPage.tsx +4 -4
  32. package/admin/src/pages/index.ts +1 -0
  33. package/admin/src/routes/__root.tsx +10 -10
  34. package/admin/src/routes/entries/$entryId.tsx +1 -1
  35. package/admin/src/routes/entries/type/$contentTypeId.tsx +1 -1
  36. package/admin/src/styles/globals.css +31 -5
  37. package/admin/src/styles/tailwind-config.css +25 -0
  38. package/admin/src/styles/theme.css +50 -0
  39. package/admin-dist/nitro.json +1 -1
  40. package/admin-dist/public/assets/CmsEmptyState-6-PLaXtD.js +1 -0
  41. package/admin-dist/public/assets/CmsPageHeader-SoF4Epu9.js +1 -0
  42. package/admin-dist/public/assets/CmsStatusBadge-D7kYaohx.js +1 -0
  43. package/admin-dist/public/assets/{CmsSurface-DBy5Lumx.js → CmsSurface-BvksBm6W.js} +1 -1
  44. package/admin-dist/public/assets/CmsToolbar-DlZPMe2B.js +1 -0
  45. package/admin-dist/public/assets/ContentEntryEditor-C6n9xLS9.js +4 -0
  46. package/admin-dist/public/assets/TaxonomyFilter-CFX1_g8s.js +1 -0
  47. package/admin-dist/public/assets/_contentTypeId-DTv8UoTp.js +1 -0
  48. package/admin-dist/public/assets/_entryId-D3lr5Dvy.js +1 -0
  49. package/admin-dist/public/assets/alert-BAHTL6ao.js +1 -0
  50. package/admin-dist/public/assets/badge-oJv4Eai8.js +1 -0
  51. package/admin-dist/public/assets/{circle-check-big-CpLxAvEj.js → circle-check-big-3OHxNDhO.js} +1 -1
  52. package/admin-dist/public/assets/command-DwgQs69u.js +1 -0
  53. package/admin-dist/public/assets/content-CKQ4QwW2.js +1 -0
  54. package/admin-dist/public/assets/content-types-BrttaLpc.js +1 -0
  55. package/admin-dist/public/assets/globals-CoCRjt0K.css +1 -0
  56. package/admin-dist/public/assets/index-DOkgTSx0.js +1 -0
  57. package/admin-dist/public/assets/main-DV6oxWnU.js +102 -0
  58. package/admin-dist/public/assets/media-B2i-mCbx.js +1 -0
  59. package/admin-dist/public/assets/new._contentTypeId-VF63rpic.js +1 -0
  60. package/admin-dist/public/assets/pencil-CX1CiTDD.js +1 -0
  61. package/admin-dist/public/assets/refresh-cw-Cm-YOeFI.js +1 -0
  62. package/admin-dist/public/assets/{rotate-ccw-BZpZtw0N.js → rotate-ccw-B45JsL5f.js} +1 -1
  63. package/admin-dist/public/assets/scroll-area-b3A1HHR7.js +1 -0
  64. package/admin-dist/public/assets/{search-BvgYr-c9.js → search-DKKh_DdH.js} +1 -1
  65. package/admin-dist/public/assets/settings-CGVDEV1r.js +1 -0
  66. package/admin-dist/public/assets/switch-BTMY8Qnk.js +1 -0
  67. package/admin-dist/public/assets/tabs-DUQwUoIb.js +1 -0
  68. package/admin-dist/public/assets/tanstack-adapter-f7AHmQ5L.js +1 -0
  69. package/admin-dist/public/assets/taxonomies-DvMppdiD.js +1 -0
  70. package/admin-dist/public/assets/trash-D7e0uKd9.js +1 -0
  71. package/admin-dist/public/assets/{useBreadcrumbLabel-D00rvqjw.js → useBreadcrumbLabel-CF2KYwsw.js} +1 -1
  72. package/admin-dist/public/assets/usePermissions-DWBImEOW.js +1 -0
  73. package/admin-dist/server/_chunks/_libs/@date-fns/tz.mjs +2 -2
  74. package/admin-dist/server/_chunks/_libs/@radix-ui/react-avatar.mjs +1 -1
  75. package/admin-dist/server/_chunks/_libs/@radix-ui/react-collection.mjs +1 -1
  76. package/admin-dist/server/_chunks/_libs/@radix-ui/react-context.mjs +2 -2
  77. package/admin-dist/server/_chunks/_libs/@radix-ui/react-dialog.mjs +2 -2
  78. package/admin-dist/server/_chunks/_libs/@radix-ui/react-label.mjs +1 -1
  79. package/admin-dist/server/_chunks/_libs/@radix-ui/react-menu.mjs +1 -1
  80. package/admin-dist/server/_chunks/_libs/@radix-ui/react-popover.mjs +1 -1
  81. package/admin-dist/server/_chunks/_libs/@radix-ui/react-primitive.mjs +6 -72
  82. package/admin-dist/server/_chunks/_libs/@radix-ui/react-select.mjs +1 -1
  83. package/admin-dist/server/_chunks/_libs/@radix-ui/react-separator.mjs +1 -1
  84. package/admin-dist/server/_chunks/_libs/@radix-ui/react-slot.mjs +20 -435
  85. package/admin-dist/server/_chunks/_libs/@radix-ui/react-visually-hidden.mjs +30 -3
  86. package/admin-dist/server/_chunks/_libs/@tanstack/history.mjs +0 -376
  87. package/admin-dist/server/_chunks/_libs/@tanstack/react-router.mjs +168 -383
  88. package/admin-dist/server/_chunks/_libs/@tanstack/router-core.mjs +451 -1195
  89. package/admin-dist/server/_chunks/_libs/react-dom.mjs +5 -5
  90. package/admin-dist/server/_chunks/_libs/react.mjs +2 -2
  91. package/admin-dist/server/_libs/cmdk.mjs +1 -1
  92. package/admin-dist/server/_libs/convex.mjs +3 -3
  93. package/admin-dist/server/_libs/cookie-es.mjs +1 -58
  94. package/admin-dist/server/_libs/date-fns.mjs +1 -1
  95. package/admin-dist/server/_libs/lucide-react.mjs +117 -103
  96. package/admin-dist/server/_libs/seroval-plugins.mjs +1 -58
  97. package/admin-dist/server/_libs/seroval.mjs +1 -1765
  98. package/admin-dist/server/_libs/zod.mjs +1 -1
  99. package/admin-dist/server/_ssr/CmsEmptyState-BM8DghTl.mjs +38 -0
  100. package/admin-dist/server/_ssr/{CmsPageHeader-ClNPU7Up.mjs → CmsPageHeader-BHUmrIWD.mjs} +1 -1
  101. package/admin-dist/server/_ssr/{CmsStatusBadge-CojMbrY7.mjs → CmsStatusBadge-D0Zb0oRl.mjs} +7 -7
  102. package/admin-dist/server/_ssr/{CmsSurface-Dcv440rp.mjs → CmsSurface-B2eBr-47.mjs} +1 -1
  103. package/admin-dist/server/_ssr/{CmsToolbar-BKv1nL6u.mjs → CmsToolbar-BCrwg7OL.mjs} +2 -3
  104. package/admin-dist/server/_ssr/{ContentEntryEditor-weiXSBdZ.mjs → ContentEntryEditor-Cjfm0uhr.mjs} +46 -49
  105. package/admin-dist/server/_ssr/{TaxonomyFilter-BPQ57Mwk.mjs → TaxonomyFilter-C4pD0kfM.mjs} +4 -5
  106. package/admin-dist/server/_ssr/{_contentTypeId-DyyauLOs.mjs → _contentTypeId-CiDiX-p7.mjs} +34 -43
  107. package/admin-dist/server/_ssr/{_entryId-9Cafwxmw.mjs → _entryId-9GxatOkL.mjs} +35 -47
  108. package/admin-dist/server/_ssr/_tanstack-start-manifest_v-CC7UrHKE.mjs +4 -0
  109. package/admin-dist/server/_ssr/badge-EI998zba.mjs +39 -0
  110. package/admin-dist/server/_ssr/{command-CEf8YBxY.mjs → command-BLAWQhUw.mjs} +2 -2
  111. package/admin-dist/server/_ssr/{config.server-D7JHDcDv.mjs → config.server-BOr7Jxr4.mjs} +5 -14
  112. package/admin-dist/server/_ssr/{content-ZFWVzO25.mjs → content-BHX39L4D.mjs} +63 -63
  113. package/admin-dist/server/_ssr/content-types-DCzrBhTH.mjs +459 -0
  114. package/admin-dist/server/_ssr/{index-BlSIlH4Z.mjs → index-DwM_5VNP.mjs} +114 -30
  115. package/admin-dist/server/_ssr/index.mjs +3459 -62
  116. package/admin-dist/server/_ssr/{media-CD2_NUMw.mjs → media-CbzgTRRQ.mjs} +31 -43
  117. package/admin-dist/server/_ssr/{new._contentTypeId-dmZy6PBX.mjs → new._contentTypeId-6Ph-Gtlw.mjs} +33 -45
  118. package/admin-dist/server/_ssr/router-vd1nySeP.mjs +3041 -0
  119. package/admin-dist/server/_ssr/{scroll-area-BH_1K-WT.mjs → scroll-area--B9snFTJ.mjs} +1 -1
  120. package/admin-dist/server/_ssr/{settings-DVdsoWoh.mjs → settings-DlTO2JSj.mjs} +34 -43
  121. package/admin-dist/server/_ssr/{switch-DX_X8vZl.mjs → switch-C05NgNW0.mjs} +1 -1
  122. package/admin-dist/server/_ssr/{tabs-4FWM0sn8.mjs → tabs-DAk2J5xy.mjs} +9 -10
  123. package/admin-dist/server/_ssr/{tanstack-adapter-D3ZcKtbY.mjs → tanstack-adapter-DWbaPByn.mjs} +15 -1
  124. package/admin-dist/server/_ssr/{taxonomies-BHFfO9Yr.mjs → taxonomies-B8nqce6u.mjs} +35 -44
  125. package/admin-dist/server/_ssr/{trash-9tUB2KwI.mjs → trash-zdlZgpTo.mjs} +30 -39
  126. package/admin-dist/server/_ssr/{useBreadcrumbLabel-DVme3DSb.mjs → useBreadcrumbLabel-DpEKyG1h.mjs} +1 -1
  127. package/admin-dist/server/_ssr/{usePermissions-zAQj-ruE.mjs → usePermissions-olYRd9S9.mjs} +1 -1
  128. package/admin-dist/server/index.mjs +168 -203
  129. package/dist/cli/templates/cmsClient.d.ts +1 -1
  130. package/dist/cli/templates/cmsClient.d.ts.map +1 -1
  131. package/dist/cli/templates/cmsClient.js +30 -11
  132. package/dist/cli/templates/cmsClient.js.map +1 -1
  133. package/dist/cli/templates/cmsConfig.d.ts +1 -1
  134. package/dist/cli/templates/cmsConfig.d.ts.map +1 -1
  135. package/dist/cli/templates/cmsConfig.js +3 -3
  136. package/dist/client/admin/contentLock.d.ts +4 -4
  137. package/dist/client/admin/contentLock.d.ts.map +1 -1
  138. package/dist/client/admin/contentLock.js +1 -1
  139. package/dist/client/admin/contentLock.js.map +1 -1
  140. package/dist/client/admin/contentTypes.d.ts +328 -290
  141. package/dist/client/admin/contentTypes.d.ts.map +1 -1
  142. package/dist/client/admin/contentTypes.js +307 -9
  143. package/dist/client/admin/contentTypes.js.map +1 -1
  144. package/dist/client/admin/entries.d.ts +18 -19
  145. package/dist/client/admin/entries.d.ts.map +1 -1
  146. package/dist/client/admin/entries.js +33 -8
  147. package/dist/client/admin/entries.js.map +1 -1
  148. package/dist/client/admin/index.d.ts +694 -642
  149. package/dist/client/admin/index.d.ts.map +1 -1
  150. package/dist/client/admin/index.js +45 -5
  151. package/dist/client/admin/index.js.map +1 -1
  152. package/dist/client/admin/media.d.ts.map +1 -1
  153. package/dist/client/admin/taxonomies.d.ts.map +1 -1
  154. package/dist/client/admin/trash.d.ts +3 -4
  155. package/dist/client/admin/trash.d.ts.map +1 -1
  156. package/dist/client/admin/types.d.ts +185 -4
  157. package/dist/client/admin/types.d.ts.map +1 -1
  158. package/dist/client/admin/validators.d.ts +2009 -25
  159. package/dist/client/admin/validators.d.ts.map +1 -1
  160. package/dist/client/admin/validators.js +15 -4
  161. package/dist/client/admin/validators.js.map +1 -1
  162. package/dist/client/admin/versions.d.ts +1 -1
  163. package/dist/client/admin/versions.d.ts.map +1 -1
  164. package/dist/client/agentTools.d.ts +1 -4
  165. package/dist/client/agentTools.d.ts.map +1 -1
  166. package/dist/client/agentTools.js +9 -21
  167. package/dist/client/agentTools.js.map +1 -1
  168. package/dist/client/config.d.ts +10 -0
  169. package/dist/client/config.d.ts.map +1 -1
  170. package/dist/client/config.js +1 -0
  171. package/dist/client/config.js.map +1 -1
  172. package/dist/client/defineContent.d.ts +338 -0
  173. package/dist/client/defineContent.d.ts.map +1 -0
  174. package/dist/client/defineContent.js +368 -0
  175. package/dist/client/defineContent.js.map +1 -0
  176. package/dist/client/index.d.ts +2 -0
  177. package/dist/client/index.d.ts.map +1 -1
  178. package/dist/client/index.js +2 -0
  179. package/dist/client/index.js.map +1 -1
  180. package/dist/client/queryBuilder.d.ts +0 -15
  181. package/dist/client/queryBuilder.d.ts.map +1 -1
  182. package/dist/client/queryBuilder.js +0 -23
  183. package/dist/client/queryBuilder.js.map +1 -1
  184. package/dist/client/registry.d.ts +77 -0
  185. package/dist/client/registry.d.ts.map +1 -0
  186. package/dist/client/registry.js +95 -0
  187. package/dist/client/registry.js.map +1 -0
  188. package/dist/client/schema/defineContentType.d.ts +36 -24
  189. package/dist/client/schema/defineContentType.d.ts.map +1 -1
  190. package/dist/client/schema/defineContentType.js +176 -128
  191. package/dist/client/schema/defineContentType.js.map +1 -1
  192. package/dist/client/schema/typedClient.d.ts.map +1 -1
  193. package/dist/client/schema/typedClient.js +2 -10
  194. package/dist/client/schema/typedClient.js.map +1 -1
  195. package/dist/client/schema/types.d.ts +16 -9
  196. package/dist/client/schema/types.d.ts.map +1 -1
  197. package/dist/client/schema/types.js.map +1 -1
  198. package/dist/client/utils/toSlug.d.ts +60 -0
  199. package/dist/client/utils/toSlug.d.ts.map +1 -0
  200. package/dist/client/utils/toSlug.js +31 -0
  201. package/dist/client/utils/toSlug.js.map +1 -0
  202. package/dist/client/wrapper.d.ts +2 -2
  203. package/dist/client/wrapper.d.ts.map +1 -1
  204. package/dist/client/wrapper.js +22 -30
  205. package/dist/client/wrapper.js.map +1 -1
  206. package/dist/component/_generated/component.d.ts +24 -28
  207. package/dist/component/_generated/component.d.ts.map +1 -1
  208. package/dist/component/authorizationHooks.d.ts +1 -1
  209. package/dist/component/authorizationHooks.d.ts.map +1 -1
  210. package/dist/component/authorizationHooks.js +2 -2
  211. package/dist/component/authorizationHooks.js.map +1 -1
  212. package/dist/component/bulkOperations.d.ts.map +1 -1
  213. package/dist/component/bulkOperations.js +7 -4
  214. package/dist/component/bulkOperations.js.map +1 -1
  215. package/dist/component/contentEntries.d.ts +18 -56
  216. package/dist/component/contentEntries.d.ts.map +1 -1
  217. package/dist/component/contentEntries.js +45 -137
  218. package/dist/component/contentEntries.js.map +1 -1
  219. package/dist/component/contentEntryMutations.d.ts +14 -14
  220. package/dist/component/contentEntryMutations.d.ts.map +1 -1
  221. package/dist/component/contentEntryMutations.js +40 -43
  222. package/dist/component/contentEntryMutations.js.map +1 -1
  223. package/dist/component/contentEntryValidation.d.ts +3 -3
  224. package/dist/component/contentEntryValidation.js +6 -9
  225. package/dist/component/contentEntryValidation.js.map +1 -1
  226. package/dist/component/contentLock.d.ts +7 -7
  227. package/dist/component/contentLock.js +3 -3
  228. package/dist/component/contentLock.js.map +1 -1
  229. package/dist/component/contentTypeMigration.d.ts +1 -1
  230. package/dist/component/contentTypeMigration.js +2 -2
  231. package/dist/component/contentTypeMigration.js.map +1 -1
  232. package/dist/component/contentTypeMutations.d.ts.map +1 -1
  233. package/dist/component/contentTypeMutations.js +7 -6
  234. package/dist/component/contentTypeMutations.js.map +1 -1
  235. package/dist/component/convex.config.d.ts.map +1 -1
  236. package/dist/component/convex.config.js +1 -1
  237. package/dist/component/convex.config.js.map +1 -1
  238. package/dist/component/eventEmitter.d.ts +0 -1
  239. package/dist/component/eventEmitter.d.ts.map +1 -1
  240. package/dist/component/eventEmitter.js.map +1 -1
  241. package/dist/component/exportImport.d.ts +37 -37
  242. package/dist/component/exportImport.d.ts.map +1 -1
  243. package/dist/component/exportImport.js +34 -34
  244. package/dist/component/exportImport.js.map +1 -1
  245. package/dist/component/lib/deepReferenceResolver.d.ts +2 -2
  246. package/dist/component/lib/deepReferenceResolver.d.ts.map +1 -1
  247. package/dist/component/lib/deepReferenceResolver.js +13 -8
  248. package/dist/component/lib/deepReferenceResolver.js.map +1 -1
  249. package/dist/component/lib/ragContentChunker.d.ts +3 -3
  250. package/dist/component/lib/ragContentChunker.d.ts.map +1 -1
  251. package/dist/component/lib/ragContentChunker.js +4 -4
  252. package/dist/component/lib/ragContentChunker.js.map +1 -1
  253. package/dist/component/lib/referenceResolver.d.ts.map +1 -1
  254. package/dist/component/lib/referenceResolver.js +10 -17
  255. package/dist/component/lib/referenceResolver.js.map +1 -1
  256. package/dist/component/mediaAssetMutations.js +4 -4
  257. package/dist/component/mediaAssetMutations.js.map +1 -1
  258. package/dist/component/ragContentIndexer.d.ts +2 -2
  259. package/dist/component/ragContentIndexer.d.ts.map +1 -1
  260. package/dist/component/ragContentIndexer.js +44 -48
  261. package/dist/component/ragContentIndexer.js.map +1 -1
  262. package/dist/component/roles.d.ts +3 -3
  263. package/dist/component/scheduledPublish.d.ts +4 -4
  264. package/dist/component/scheduledPublish.js +3 -3
  265. package/dist/component/scheduledPublish.js.map +1 -1
  266. package/dist/component/schema.d.ts +18 -18
  267. package/dist/component/schema.js +5 -5
  268. package/dist/component/schema.js.map +1 -1
  269. package/dist/component/trash.d.ts +6 -9
  270. package/dist/component/trash.d.ts.map +1 -1
  271. package/dist/component/trash.js +12 -36
  272. package/dist/component/trash.js.map +1 -1
  273. package/dist/component/userContext.d.ts +1 -2
  274. package/dist/component/userContext.d.ts.map +1 -1
  275. package/dist/component/userContext.js +1 -2
  276. package/dist/component/userContext.js.map +1 -1
  277. package/dist/component/validators.d.ts +27 -33
  278. package/dist/component/validators.d.ts.map +1 -1
  279. package/dist/component/validators.js +3 -5
  280. package/dist/component/validators.js.map +1 -1
  281. package/dist/component/versionMutations.d.ts +1 -1
  282. package/dist/component/webhookTrigger.d.ts +14 -14
  283. package/dist/test.d.ts +30 -30
  284. package/dist/test.d.ts.map +1 -1
  285. package/dist/test.js +24 -24
  286. package/dist/test.js.map +1 -1
  287. package/package.json +1 -1
  288. package/admin-dist/public/assets/CmsEmptyState-Do_erIgn.js +0 -5
  289. package/admin-dist/public/assets/CmsPageHeader-qDwPGi48.js +0 -1
  290. package/admin-dist/public/assets/CmsStatusBadge-Dd9uToHE.js +0 -1
  291. package/admin-dist/public/assets/CmsToolbar-D1-Y-7SK.js +0 -1
  292. package/admin-dist/public/assets/ContentEntryEditor-CWBiIx52.js +0 -4
  293. package/admin-dist/public/assets/TaxonomyFilter-CdYQawxb.js +0 -1
  294. package/admin-dist/public/assets/_contentTypeId-D9VMP6Gs.js +0 -1
  295. package/admin-dist/public/assets/_entryId-2FlCfqE7.js +0 -1
  296. package/admin-dist/public/assets/alert-GxZx0y5c.js +0 -1
  297. package/admin-dist/public/assets/badge-BAlGIjop.js +0 -1
  298. package/admin-dist/public/assets/command-di7XCqcv.js +0 -1
  299. package/admin-dist/public/assets/content-D8zELsDG.js +0 -1
  300. package/admin-dist/public/assets/content-types-BmzD0krT.js +0 -2
  301. package/admin-dist/public/assets/globals-BvFfH-v9.css +0 -1
  302. package/admin-dist/public/assets/index-zqfj4T_v.js +0 -1
  303. package/admin-dist/public/assets/label-B6PPtKR5.js +0 -1
  304. package/admin-dist/public/assets/link-2-W2fVnVOf.js +0 -1
  305. package/admin-dist/public/assets/list-F8O0lZXC.js +0 -1
  306. package/admin-dist/public/assets/main-dZT72bAG.js +0 -97
  307. package/admin-dist/public/assets/media-CETueFbV.js +0 -1
  308. package/admin-dist/public/assets/new._contentTypeId-BV2-TyyR.js +0 -1
  309. package/admin-dist/public/assets/plus-AABQIF0N.js +0 -1
  310. package/admin-dist/public/assets/scroll-area-CDfk-zrz.js +0 -1
  311. package/admin-dist/public/assets/select-BuiHcMzS.js +0 -1
  312. package/admin-dist/public/assets/settings-DBxbYDvn.js +0 -1
  313. package/admin-dist/public/assets/switch-DiJvolcs.js +0 -1
  314. package/admin-dist/public/assets/tabs-Cgz6G_Xy.js +0 -1
  315. package/admin-dist/public/assets/tanstack-adapter-BknsSgra.js +0 -1
  316. package/admin-dist/public/assets/taxonomies-DOErsLl5.js +0 -1
  317. package/admin-dist/public/assets/textarea-CgggMxUX.js +0 -1
  318. package/admin-dist/public/assets/trash-BU4ANuaW.js +0 -1
  319. package/admin-dist/public/assets/triangle-alert-lvCbwp0s.js +0 -1
  320. package/admin-dist/public/assets/usePermissions-D7tQowaF.js +0 -1
  321. package/admin-dist/server/_libs/h3-v2.mjs +0 -277
  322. package/admin-dist/server/_ssr/CmsButton-DbzfJru_.mjs +0 -125
  323. package/admin-dist/server/_ssr/CmsEmptyState-CuvcXr3Z.mjs +0 -290
  324. package/admin-dist/server/_ssr/_tanstack-start-manifest_v-Dk-FIYPN.mjs +0 -4
  325. package/admin-dist/server/_ssr/content-types-D25lUE-j.mjs +0 -1312
  326. package/admin-dist/server/_ssr/label-PblVvdRv.mjs +0 -22
  327. package/admin-dist/server/_ssr/router-x6Ab8T4s.mjs +0 -1622
  328. package/admin-dist/server/_ssr/select-CrfEkFJw.mjs +0 -142
  329. package/admin-dist/server/_ssr/textarea-CZVaroMc.mjs +0 -18
@@ -2,411 +2,445 @@
2
2
  * Content Types Operations
3
3
  *
4
4
  * CRUD operations for content type management with optional entry counts.
5
+ * Supports merging code-defined types with database-defined types.
5
6
  */
6
7
  import type { ComponentApi } from "../../component/_generated/component.js";
7
8
  import type { AuthContext, AdminOperation } from "./types.js";
9
+ /**
10
+ * Content type source indicator.
11
+ * - "code": Defined in code via defineContentType or cms.defineContent
12
+ * - "database": Defined in the database via admin UI
13
+ */
14
+ export type ContentTypeSource = "code" | "database";
15
+ /**
16
+ * Drift severity levels.
17
+ */
18
+ export type DriftSeverity = "error" | "warning" | "info";
19
+ /**
20
+ * Types of schema drift that can be detected.
21
+ */
22
+ export type DriftType = "CONTENT_TYPE_MISSING_IN_DB" | "CONTENT_TYPE_MISSING_IN_CODE" | "FIELD_MISSING_IN_DB" | "FIELD_MISSING_IN_CODE" | "FIELD_TYPE_MISMATCH" | "FIELD_REQUIRED_MISMATCH";
23
+ /**
24
+ * A single schema drift issue.
25
+ */
26
+ export interface DriftIssue {
27
+ type: DriftType;
28
+ severity: DriftSeverity;
29
+ contentTypeName: string;
30
+ fieldName?: string;
31
+ message: string;
32
+ }
33
+ export interface SyncResult {
34
+ created: number;
35
+ updated: number;
36
+ unchanged: number;
37
+ }
8
38
  export declare function createContentTypesOperations(component: ComponentApi, checkAuth: (ctx: AuthContext, operation: AdminOperation) => Promise<string | null>): {
39
+ syncCodeDefinedTypes: import("convex/server").RegisteredMutation<"public", {}, Promise<SyncResult>>;
40
+ checkSchemaDrift: import("convex/server").RegisteredQuery<"public", {}, Promise<DriftIssue[]>>;
9
41
  listContentTypes: import("convex/server").RegisteredQuery<"public", {
10
42
  isActive?: boolean | undefined;
11
43
  includeEntryCounts?: boolean | undefined;
12
44
  }, Promise<{
13
- continueCursor: string | null;
14
- isDone: boolean;
15
- page: Array<{
16
- _creationTime: number;
17
- _id: string;
18
- createdBy: string;
19
- deletedAt?: number;
20
- description?: string;
21
- displayName: string;
22
- fields: Array<{
23
- defaultValue?: any;
24
- description?: string;
25
- label: string;
26
- localized?: boolean;
27
- name: string;
45
+ page: {
46
+ description?: string | undefined;
47
+ deletedAt?: number | undefined;
48
+ updatedBy?: string | undefined;
49
+ sortOrder?: number | undefined;
50
+ icon?: string | undefined;
51
+ singleton?: boolean | undefined;
52
+ slugField?: string | undefined;
53
+ titleField?: string | undefined;
54
+ fields: ({
28
55
  options?: {
29
- maxLength?: number;
30
- minLength?: number;
31
- pattern?: string;
32
- };
56
+ minLength?: number | undefined;
57
+ maxLength?: number | undefined;
58
+ pattern?: string | undefined;
59
+ } | undefined;
60
+ searchable?: boolean | undefined;
61
+ localized?: boolean | undefined;
62
+ description?: string | undefined;
63
+ defaultValue?: any;
33
64
  required: boolean;
34
- searchable?: boolean;
35
65
  type: "text";
36
- } | {
37
- defaultValue?: any;
38
- description?: string;
39
- label: string;
40
- localized?: boolean;
41
66
  name: string;
67
+ label: string;
68
+ } | {
42
69
  options?: {
43
- max?: number;
44
- min?: number;
45
- precision?: number;
46
- step?: number;
47
- };
70
+ min?: number | undefined;
71
+ max?: number | undefined;
72
+ step?: number | undefined;
73
+ precision?: number | undefined;
74
+ } | undefined;
75
+ searchable?: boolean | undefined;
76
+ localized?: boolean | undefined;
77
+ description?: string | undefined;
78
+ defaultValue?: any;
48
79
  required: boolean;
49
- searchable?: boolean;
50
80
  type: "number";
51
- } | {
52
- defaultValue?: any;
53
- description?: string;
54
- label: string;
55
- localized?: boolean;
56
81
  name: string;
82
+ label: string;
83
+ } | {
57
84
  options?: {
58
- falseLabel?: string;
59
- trueLabel?: string;
60
- };
85
+ trueLabel?: string | undefined;
86
+ falseLabel?: string | undefined;
87
+ } | undefined;
88
+ searchable?: boolean | undefined;
89
+ localized?: boolean | undefined;
90
+ description?: string | undefined;
91
+ defaultValue?: any;
61
92
  required: boolean;
62
- searchable?: boolean;
63
93
  type: "boolean";
64
- } | {
65
- defaultValue?: any;
66
- description?: string;
67
- label: string;
68
- localized?: boolean;
69
94
  name: string;
95
+ label: string;
96
+ } | {
70
97
  options?: {
71
- allowedBlocks?: Array<string>;
72
- allowedMarks?: Array<string>;
73
- };
98
+ allowedBlocks?: string[] | undefined;
99
+ allowedMarks?: string[] | undefined;
100
+ } | undefined;
101
+ searchable?: boolean | undefined;
102
+ localized?: boolean | undefined;
103
+ description?: string | undefined;
104
+ defaultValue?: any;
74
105
  required: boolean;
75
- searchable?: boolean;
76
106
  type: "richText";
77
- } | {
78
- defaultValue?: any;
79
- description?: string;
80
- label: string;
81
- localized?: boolean;
82
107
  name: string;
108
+ label: string;
109
+ } | {
83
110
  options?: {
84
- allowedMimeTypes?: Array<string>;
85
- maxFileSize?: number;
86
- mediaType?: "image" | "video" | "audio" | "document" | "other";
87
- multiple?: boolean;
88
- };
111
+ mediaType?: "image" | "video" | "audio" | "document" | "other" | undefined;
112
+ allowedMimeTypes?: string[] | undefined;
113
+ maxFileSize?: number | undefined;
114
+ multiple?: boolean | undefined;
115
+ } | undefined;
116
+ searchable?: boolean | undefined;
117
+ localized?: boolean | undefined;
118
+ description?: string | undefined;
119
+ defaultValue?: any;
89
120
  required: boolean;
90
- searchable?: boolean;
91
121
  type: "media";
92
- } | {
93
- defaultValue?: any;
94
- description?: string;
95
- label: string;
96
- localized?: boolean;
97
122
  name: string;
123
+ label: string;
124
+ } | {
98
125
  options?: {
99
- options?: Array<{
126
+ options?: {
100
127
  label: string;
101
128
  value: string;
102
- }>;
103
- };
129
+ }[] | undefined;
130
+ } | undefined;
131
+ searchable?: boolean | undefined;
132
+ localized?: boolean | undefined;
133
+ description?: string | undefined;
134
+ defaultValue?: any;
104
135
  required: boolean;
105
- searchable?: boolean;
106
136
  type: "select";
107
- } | {
108
- defaultValue?: any;
109
- description?: string;
110
- label: string;
111
- localized?: boolean;
112
137
  name: string;
113
- options?: {
114
- options?: Array<{
115
- label: string;
116
- value: string;
117
- }>;
118
- };
119
- required: boolean;
120
- searchable?: boolean;
121
- type: "multiSelect";
122
- } | {
123
- defaultValue?: any;
124
- description?: string;
125
138
  label: string;
126
- localized?: boolean;
127
- name: string;
128
- options?: {
129
- allowCreate?: boolean;
130
- maxTags?: number;
131
- minTags?: number;
132
- taxonomyId?: string;
133
- };
134
- required: boolean;
135
- searchable?: boolean;
136
- type: "tags";
137
139
  } | {
138
- defaultValue?: any;
139
- description?: string;
140
- label: string;
141
- localized?: boolean;
142
- name: string;
143
140
  options?: {
144
- allowMultiple?: boolean;
145
- };
141
+ allowMultiple?: boolean | undefined;
142
+ } | undefined;
143
+ searchable?: boolean | undefined;
144
+ localized?: boolean | undefined;
145
+ description?: string | undefined;
146
+ defaultValue?: any;
146
147
  required: boolean;
147
- searchable?: boolean;
148
148
  type: "category";
149
- } | {
150
- defaultValue?: any;
151
- description?: string;
152
- label: string;
153
- localized?: boolean;
154
149
  name: string;
150
+ label: string;
151
+ } | {
155
152
  options?: {
156
153
  schema?: any;
157
- };
154
+ } | undefined;
155
+ searchable?: boolean | undefined;
156
+ localized?: boolean | undefined;
157
+ description?: string | undefined;
158
+ defaultValue?: any;
158
159
  required: boolean;
159
- searchable?: boolean;
160
160
  type: "json";
161
+ name: string;
162
+ label: string;
161
163
  } | {
164
+ options?: {
165
+ multiple?: boolean | undefined;
166
+ allowedContentTypes?: string[] | undefined;
167
+ minItems?: number | undefined;
168
+ } | undefined;
169
+ searchable?: boolean | undefined;
170
+ localized?: boolean | undefined;
171
+ description?: string | undefined;
162
172
  defaultValue?: any;
163
- description?: string;
164
- label: string;
165
- localized?: boolean;
173
+ required: boolean;
174
+ type: "reference";
166
175
  name: string;
176
+ label: string;
177
+ } | {
167
178
  options?: {
168
- max?: number;
169
- min?: number;
170
- };
179
+ options?: {
180
+ label: string;
181
+ value: string;
182
+ }[] | undefined;
183
+ } | undefined;
184
+ searchable?: boolean | undefined;
185
+ localized?: boolean | undefined;
186
+ description?: string | undefined;
187
+ defaultValue?: any;
171
188
  required: boolean;
172
- searchable?: boolean;
173
- type: "date";
189
+ type: "multiSelect";
190
+ name: string;
191
+ label: string;
174
192
  } | {
193
+ options?: {
194
+ min?: number | undefined;
195
+ max?: number | undefined;
196
+ } | undefined;
197
+ searchable?: boolean | undefined;
198
+ localized?: boolean | undefined;
199
+ description?: string | undefined;
175
200
  defaultValue?: any;
176
- description?: string;
177
- label: string;
178
- localized?: boolean;
201
+ required: boolean;
202
+ type: "date";
179
203
  name: string;
204
+ label: string;
205
+ } | {
180
206
  options?: {
181
- max?: number;
182
- min?: number;
183
- };
207
+ min?: number | undefined;
208
+ max?: number | undefined;
209
+ } | undefined;
210
+ searchable?: boolean | undefined;
211
+ localized?: boolean | undefined;
212
+ description?: string | undefined;
213
+ defaultValue?: any;
184
214
  required: boolean;
185
- searchable?: boolean;
186
215
  type: "datetime";
187
- } | {
188
- defaultValue?: any;
189
- description?: string;
190
- label: string;
191
- localized?: boolean;
192
216
  name: string;
217
+ label: string;
218
+ } | {
193
219
  options?: {
194
- allowedContentTypes?: Array<string>;
195
- minItems?: number;
196
- multiple?: boolean;
197
- };
220
+ taxonomyId?: string | undefined;
221
+ allowCreate?: boolean | undefined;
222
+ maxTags?: number | undefined;
223
+ minTags?: number | undefined;
224
+ } | undefined;
225
+ searchable?: boolean | undefined;
226
+ localized?: boolean | undefined;
227
+ description?: string | undefined;
228
+ defaultValue?: any;
198
229
  required: boolean;
199
- searchable?: boolean;
200
- type: "reference";
201
- }>;
202
- icon?: string;
203
- isActive: boolean;
230
+ type: "tags";
231
+ name: string;
232
+ label: string;
233
+ })[];
204
234
  name: string;
205
- singleton?: boolean;
206
- slugField?: string;
207
- sortOrder?: number;
208
- titleField?: string;
209
- updatedBy?: string;
210
- }>;
235
+ createdBy: string;
236
+ displayName: string;
237
+ isActive: boolean;
238
+ _creationTime: number;
239
+ _id: string;
240
+ source: "code" | "database";
241
+ }[];
242
+ continueCursor: string | null;
243
+ isDone: boolean;
211
244
  }>>;
212
245
  getContentType: import("convex/server").RegisteredQuery<"public", {
213
246
  id?: string | undefined;
214
247
  name?: string | undefined;
215
248
  }, Promise<{
216
- _creationTime: number;
217
- _id: string;
218
- createdBy: string;
219
- deletedAt?: number;
220
- description?: string;
221
- displayName: string;
222
- fields: Array<{
223
- defaultValue?: any;
224
- description?: string;
225
- label: string;
226
- localized?: boolean;
227
- name: string;
249
+ description?: string | undefined;
250
+ deletedAt?: number | undefined;
251
+ updatedBy?: string | undefined;
252
+ sortOrder?: number | undefined;
253
+ icon?: string | undefined;
254
+ singleton?: boolean | undefined;
255
+ slugField?: string | undefined;
256
+ titleField?: string | undefined;
257
+ fields: ({
228
258
  options?: {
229
- maxLength?: number;
230
- minLength?: number;
231
- pattern?: string;
232
- };
259
+ minLength?: number | undefined;
260
+ maxLength?: number | undefined;
261
+ pattern?: string | undefined;
262
+ } | undefined;
263
+ searchable?: boolean | undefined;
264
+ localized?: boolean | undefined;
265
+ description?: string | undefined;
266
+ defaultValue?: any;
233
267
  required: boolean;
234
- searchable?: boolean;
235
268
  type: "text";
236
- } | {
237
- defaultValue?: any;
238
- description?: string;
239
- label: string;
240
- localized?: boolean;
241
269
  name: string;
270
+ label: string;
271
+ } | {
242
272
  options?: {
243
- max?: number;
244
- min?: number;
245
- precision?: number;
246
- step?: number;
247
- };
273
+ min?: number | undefined;
274
+ max?: number | undefined;
275
+ step?: number | undefined;
276
+ precision?: number | undefined;
277
+ } | undefined;
278
+ searchable?: boolean | undefined;
279
+ localized?: boolean | undefined;
280
+ description?: string | undefined;
281
+ defaultValue?: any;
248
282
  required: boolean;
249
- searchable?: boolean;
250
283
  type: "number";
251
- } | {
252
- defaultValue?: any;
253
- description?: string;
254
- label: string;
255
- localized?: boolean;
256
284
  name: string;
285
+ label: string;
286
+ } | {
257
287
  options?: {
258
- falseLabel?: string;
259
- trueLabel?: string;
260
- };
288
+ trueLabel?: string | undefined;
289
+ falseLabel?: string | undefined;
290
+ } | undefined;
291
+ searchable?: boolean | undefined;
292
+ localized?: boolean | undefined;
293
+ description?: string | undefined;
294
+ defaultValue?: any;
261
295
  required: boolean;
262
- searchable?: boolean;
263
296
  type: "boolean";
264
- } | {
265
- defaultValue?: any;
266
- description?: string;
267
- label: string;
268
- localized?: boolean;
269
297
  name: string;
298
+ label: string;
299
+ } | {
270
300
  options?: {
271
- allowedBlocks?: Array<string>;
272
- allowedMarks?: Array<string>;
273
- };
301
+ allowedBlocks?: string[] | undefined;
302
+ allowedMarks?: string[] | undefined;
303
+ } | undefined;
304
+ searchable?: boolean | undefined;
305
+ localized?: boolean | undefined;
306
+ description?: string | undefined;
307
+ defaultValue?: any;
274
308
  required: boolean;
275
- searchable?: boolean;
276
309
  type: "richText";
277
- } | {
278
- defaultValue?: any;
279
- description?: string;
280
- label: string;
281
- localized?: boolean;
282
310
  name: string;
311
+ label: string;
312
+ } | {
283
313
  options?: {
284
- allowedMimeTypes?: Array<string>;
285
- maxFileSize?: number;
286
- mediaType?: "image" | "video" | "audio" | "document" | "other";
287
- multiple?: boolean;
288
- };
314
+ mediaType?: "image" | "video" | "audio" | "document" | "other" | undefined;
315
+ allowedMimeTypes?: string[] | undefined;
316
+ maxFileSize?: number | undefined;
317
+ multiple?: boolean | undefined;
318
+ } | undefined;
319
+ searchable?: boolean | undefined;
320
+ localized?: boolean | undefined;
321
+ description?: string | undefined;
322
+ defaultValue?: any;
289
323
  required: boolean;
290
- searchable?: boolean;
291
324
  type: "media";
292
- } | {
293
- defaultValue?: any;
294
- description?: string;
295
- label: string;
296
- localized?: boolean;
297
325
  name: string;
326
+ label: string;
327
+ } | {
298
328
  options?: {
299
- options?: Array<{
329
+ options?: {
300
330
  label: string;
301
331
  value: string;
302
- }>;
303
- };
332
+ }[] | undefined;
333
+ } | undefined;
334
+ searchable?: boolean | undefined;
335
+ localized?: boolean | undefined;
336
+ description?: string | undefined;
337
+ defaultValue?: any;
304
338
  required: boolean;
305
- searchable?: boolean;
306
339
  type: "select";
307
- } | {
308
- defaultValue?: any;
309
- description?: string;
310
- label: string;
311
- localized?: boolean;
312
340
  name: string;
313
- options?: {
314
- options?: Array<{
315
- label: string;
316
- value: string;
317
- }>;
318
- };
319
- required: boolean;
320
- searchable?: boolean;
321
- type: "multiSelect";
322
- } | {
323
- defaultValue?: any;
324
- description?: string;
325
341
  label: string;
326
- localized?: boolean;
327
- name: string;
328
- options?: {
329
- allowCreate?: boolean;
330
- maxTags?: number;
331
- minTags?: number;
332
- taxonomyId?: string;
333
- };
334
- required: boolean;
335
- searchable?: boolean;
336
- type: "tags";
337
342
  } | {
338
- defaultValue?: any;
339
- description?: string;
340
- label: string;
341
- localized?: boolean;
342
- name: string;
343
343
  options?: {
344
- allowMultiple?: boolean;
345
- };
344
+ allowMultiple?: boolean | undefined;
345
+ } | undefined;
346
+ searchable?: boolean | undefined;
347
+ localized?: boolean | undefined;
348
+ description?: string | undefined;
349
+ defaultValue?: any;
346
350
  required: boolean;
347
- searchable?: boolean;
348
351
  type: "category";
349
- } | {
350
- defaultValue?: any;
351
- description?: string;
352
- label: string;
353
- localized?: boolean;
354
352
  name: string;
353
+ label: string;
354
+ } | {
355
355
  options?: {
356
356
  schema?: any;
357
- };
357
+ } | undefined;
358
+ searchable?: boolean | undefined;
359
+ localized?: boolean | undefined;
360
+ description?: string | undefined;
361
+ defaultValue?: any;
358
362
  required: boolean;
359
- searchable?: boolean;
360
363
  type: "json";
364
+ name: string;
365
+ label: string;
361
366
  } | {
367
+ options?: {
368
+ multiple?: boolean | undefined;
369
+ allowedContentTypes?: string[] | undefined;
370
+ minItems?: number | undefined;
371
+ } | undefined;
372
+ searchable?: boolean | undefined;
373
+ localized?: boolean | undefined;
374
+ description?: string | undefined;
362
375
  defaultValue?: any;
363
- description?: string;
364
- label: string;
365
- localized?: boolean;
376
+ required: boolean;
377
+ type: "reference";
366
378
  name: string;
379
+ label: string;
380
+ } | {
367
381
  options?: {
368
- max?: number;
369
- min?: number;
370
- };
382
+ options?: {
383
+ label: string;
384
+ value: string;
385
+ }[] | undefined;
386
+ } | undefined;
387
+ searchable?: boolean | undefined;
388
+ localized?: boolean | undefined;
389
+ description?: string | undefined;
390
+ defaultValue?: any;
371
391
  required: boolean;
372
- searchable?: boolean;
373
- type: "date";
392
+ type: "multiSelect";
393
+ name: string;
394
+ label: string;
374
395
  } | {
396
+ options?: {
397
+ min?: number | undefined;
398
+ max?: number | undefined;
399
+ } | undefined;
400
+ searchable?: boolean | undefined;
401
+ localized?: boolean | undefined;
402
+ description?: string | undefined;
375
403
  defaultValue?: any;
376
- description?: string;
377
- label: string;
378
- localized?: boolean;
404
+ required: boolean;
405
+ type: "date";
379
406
  name: string;
407
+ label: string;
408
+ } | {
380
409
  options?: {
381
- max?: number;
382
- min?: number;
383
- };
410
+ min?: number | undefined;
411
+ max?: number | undefined;
412
+ } | undefined;
413
+ searchable?: boolean | undefined;
414
+ localized?: boolean | undefined;
415
+ description?: string | undefined;
416
+ defaultValue?: any;
384
417
  required: boolean;
385
- searchable?: boolean;
386
418
  type: "datetime";
387
- } | {
388
- defaultValue?: any;
389
- description?: string;
390
- label: string;
391
- localized?: boolean;
392
419
  name: string;
420
+ label: string;
421
+ } | {
393
422
  options?: {
394
- allowedContentTypes?: Array<string>;
395
- minItems?: number;
396
- multiple?: boolean;
397
- };
423
+ taxonomyId?: string | undefined;
424
+ allowCreate?: boolean | undefined;
425
+ maxTags?: number | undefined;
426
+ minTags?: number | undefined;
427
+ } | undefined;
428
+ searchable?: boolean | undefined;
429
+ localized?: boolean | undefined;
430
+ description?: string | undefined;
431
+ defaultValue?: any;
398
432
  required: boolean;
399
- searchable?: boolean;
400
- type: "reference";
401
- }>;
402
- icon?: string;
403
- isActive: boolean;
433
+ type: "tags";
434
+ name: string;
435
+ label: string;
436
+ })[];
404
437
  name: string;
405
- singleton?: boolean;
406
- slugField?: string;
407
- sortOrder?: number;
408
- titleField?: string;
409
- updatedBy?: string;
438
+ createdBy: string;
439
+ displayName: string;
440
+ isActive: boolean;
441
+ _creationTime: number;
442
+ _id: string;
443
+ source: "code" | "database";
410
444
  } | null>>;
411
445
  createContentType: import("convex/server").RegisteredMutation<"public", {
412
446
  description?: string | undefined;
@@ -1200,5 +1234,9 @@ export declare function createContentTypesOperations(component: ComponentApi, ch
1200
1234
  success: boolean;
1201
1235
  wasHardDelete: boolean;
1202
1236
  }>>;
1237
+ /**
1238
+ * Check if a content type is code-defined (read-only).
1239
+ */
1240
+ isCodeDefined: (name: string) => boolean;
1203
1241
  };
1204
1242
  //# sourceMappingURL=contentTypes.d.ts.map