convex-cms 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. package/dist/cli/commands/admin.d.ts +16 -0
  2. package/dist/cli/commands/admin.d.ts.map +1 -0
  3. package/dist/cli/commands/admin.js +88 -0
  4. package/dist/cli/commands/admin.js.map +1 -0
  5. package/dist/cli/index.d.ts +3 -0
  6. package/dist/cli/index.d.ts.map +1 -0
  7. package/dist/cli/index.js +18 -0
  8. package/dist/cli/index.js.map +1 -0
  9. package/dist/cli/utils/detectConvexUrl.d.ts +13 -0
  10. package/dist/cli/utils/detectConvexUrl.d.ts.map +1 -0
  11. package/dist/cli/utils/detectConvexUrl.js +48 -0
  12. package/dist/cli/utils/detectConvexUrl.js.map +1 -0
  13. package/dist/cli/utils/openBrowser.d.ts +7 -0
  14. package/dist/cli/utils/openBrowser.d.ts.map +1 -0
  15. package/dist/cli/utils/openBrowser.js +17 -0
  16. package/dist/cli/utils/openBrowser.js.map +1 -0
  17. package/dist/client/admin-config.d.ts +126 -0
  18. package/dist/client/admin-config.d.ts.map +1 -0
  19. package/dist/client/admin-config.js +117 -0
  20. package/dist/client/admin-config.js.map +1 -0
  21. package/dist/client/adminApi.d.ts +2273 -0
  22. package/dist/client/adminApi.d.ts.map +1 -0
  23. package/dist/client/adminApi.js +716 -0
  24. package/dist/client/adminApi.js.map +1 -0
  25. package/dist/client/agentTools.d.ts +933 -0
  26. package/dist/client/agentTools.d.ts.map +1 -0
  27. package/dist/client/agentTools.js +1004 -0
  28. package/dist/client/agentTools.js.map +1 -0
  29. package/dist/client/argTypes.d.ts +212 -0
  30. package/dist/client/argTypes.d.ts.map +1 -0
  31. package/dist/client/argTypes.js +5 -0
  32. package/dist/client/argTypes.js.map +1 -0
  33. package/dist/client/field-types.d.ts +55 -0
  34. package/dist/client/field-types.d.ts.map +1 -0
  35. package/dist/client/field-types.js +152 -0
  36. package/dist/client/field-types.js.map +1 -0
  37. package/dist/client/index.d.ts +189 -0
  38. package/dist/client/index.d.ts.map +1 -0
  39. package/dist/client/index.js +668 -0
  40. package/dist/client/index.js.map +1 -0
  41. package/dist/client/queryBuilder.d.ts +765 -0
  42. package/dist/client/queryBuilder.d.ts.map +1 -0
  43. package/dist/client/queryBuilder.js +970 -0
  44. package/dist/client/queryBuilder.js.map +1 -0
  45. package/dist/client/schema/codegen.d.ts +128 -0
  46. package/dist/client/schema/codegen.d.ts.map +1 -0
  47. package/dist/client/schema/codegen.js +318 -0
  48. package/dist/client/schema/codegen.js.map +1 -0
  49. package/dist/client/schema/defineContentType.d.ts +221 -0
  50. package/dist/client/schema/defineContentType.d.ts.map +1 -0
  51. package/dist/client/schema/defineContentType.js +380 -0
  52. package/dist/client/schema/defineContentType.js.map +1 -0
  53. package/dist/client/schema/index.d.ts +85 -0
  54. package/dist/client/schema/index.d.ts.map +1 -0
  55. package/dist/client/schema/index.js +92 -0
  56. package/dist/client/schema/index.js.map +1 -0
  57. package/dist/client/schema/schemaDrift.d.ts +199 -0
  58. package/dist/client/schema/schemaDrift.d.ts.map +1 -0
  59. package/dist/client/schema/schemaDrift.js +340 -0
  60. package/dist/client/schema/schemaDrift.js.map +1 -0
  61. package/dist/client/schema/typedClient.d.ts +401 -0
  62. package/dist/client/schema/typedClient.d.ts.map +1 -0
  63. package/dist/client/schema/typedClient.js +269 -0
  64. package/dist/client/schema/typedClient.js.map +1 -0
  65. package/dist/client/schema/types.d.ts +477 -0
  66. package/dist/client/schema/types.d.ts.map +1 -0
  67. package/dist/client/schema/types.js +39 -0
  68. package/dist/client/schema/types.js.map +1 -0
  69. package/dist/client/types.d.ts +449 -0
  70. package/dist/client/types.d.ts.map +1 -0
  71. package/dist/client/types.js +149 -0
  72. package/dist/client/types.js.map +1 -0
  73. package/dist/client/workflows.d.ts +51 -0
  74. package/dist/client/workflows.d.ts.map +1 -0
  75. package/dist/client/workflows.js +103 -0
  76. package/dist/client/workflows.js.map +1 -0
  77. package/dist/client/wrapper.d.ts +2198 -0
  78. package/dist/client/wrapper.d.ts.map +1 -0
  79. package/dist/client/wrapper.js +2651 -0
  80. package/dist/client/wrapper.js.map +1 -0
  81. package/dist/component/_generated/api.d.ts +124 -0
  82. package/dist/component/_generated/api.d.ts.map +1 -0
  83. package/dist/component/_generated/api.js +31 -0
  84. package/dist/component/_generated/api.js.map +1 -0
  85. package/dist/component/_generated/component.d.ts +4321 -0
  86. package/dist/component/_generated/component.d.ts.map +1 -0
  87. package/dist/component/_generated/component.js +11 -0
  88. package/dist/component/_generated/component.js.map +1 -0
  89. package/dist/component/_generated/dataModel.d.ts +46 -0
  90. package/dist/component/_generated/dataModel.d.ts.map +1 -0
  91. package/dist/component/_generated/dataModel.js +11 -0
  92. package/dist/component/_generated/dataModel.js.map +1 -0
  93. package/dist/component/_generated/server.d.ts +121 -0
  94. package/dist/component/_generated/server.d.ts.map +1 -0
  95. package/dist/component/_generated/server.js +78 -0
  96. package/dist/component/_generated/server.js.map +1 -0
  97. package/dist/component/auditLog.d.ts +410 -0
  98. package/dist/component/auditLog.d.ts.map +1 -0
  99. package/dist/component/auditLog.js +607 -0
  100. package/dist/component/auditLog.js.map +1 -0
  101. package/dist/component/authorization.d.ts +323 -0
  102. package/dist/component/authorization.d.ts.map +1 -0
  103. package/dist/component/authorization.js +464 -0
  104. package/dist/component/authorization.js.map +1 -0
  105. package/dist/component/authorizationHooks.d.ts +184 -0
  106. package/dist/component/authorizationHooks.d.ts.map +1 -0
  107. package/dist/component/authorizationHooks.js +521 -0
  108. package/dist/component/authorizationHooks.js.map +1 -0
  109. package/dist/component/bulkOperations.d.ts +200 -0
  110. package/dist/component/bulkOperations.d.ts.map +1 -0
  111. package/dist/component/bulkOperations.js +568 -0
  112. package/dist/component/bulkOperations.js.map +1 -0
  113. package/dist/component/contentEntries.d.ts +719 -0
  114. package/dist/component/contentEntries.d.ts.map +1 -0
  115. package/dist/component/contentEntries.js +1617 -0
  116. package/dist/component/contentEntries.js.map +1 -0
  117. package/dist/component/contentEntryMutations.d.ts +505 -0
  118. package/dist/component/contentEntryMutations.d.ts.map +1 -0
  119. package/dist/component/contentEntryMutations.js +1009 -0
  120. package/dist/component/contentEntryMutations.js.map +1 -0
  121. package/dist/component/contentEntryValidation.d.ts +115 -0
  122. package/dist/component/contentEntryValidation.d.ts.map +1 -0
  123. package/dist/component/contentEntryValidation.js +546 -0
  124. package/dist/component/contentEntryValidation.js.map +1 -0
  125. package/dist/component/contentLock.d.ts +328 -0
  126. package/dist/component/contentLock.d.ts.map +1 -0
  127. package/dist/component/contentLock.js +471 -0
  128. package/dist/component/contentLock.js.map +1 -0
  129. package/dist/component/contentTypeMigration.d.ts +411 -0
  130. package/dist/component/contentTypeMigration.d.ts.map +1 -0
  131. package/dist/component/contentTypeMigration.js +805 -0
  132. package/dist/component/contentTypeMigration.js.map +1 -0
  133. package/dist/component/contentTypeMutations.d.ts +975 -0
  134. package/dist/component/contentTypeMutations.d.ts.map +1 -0
  135. package/dist/component/contentTypeMutations.js +768 -0
  136. package/dist/component/contentTypeMutations.js.map +1 -0
  137. package/dist/component/contentTypes.d.ts +538 -0
  138. package/dist/component/contentTypes.d.ts.map +1 -0
  139. package/dist/component/contentTypes.js +304 -0
  140. package/dist/component/contentTypes.js.map +1 -0
  141. package/dist/component/convex.config.d.ts +42 -0
  142. package/dist/component/convex.config.d.ts.map +1 -0
  143. package/dist/component/convex.config.js +43 -0
  144. package/dist/component/convex.config.js.map +1 -0
  145. package/dist/component/documentTypes.d.ts +186 -0
  146. package/dist/component/documentTypes.d.ts.map +1 -0
  147. package/dist/component/documentTypes.js +23 -0
  148. package/dist/component/documentTypes.js.map +1 -0
  149. package/dist/component/eventEmitter.d.ts +281 -0
  150. package/dist/component/eventEmitter.d.ts.map +1 -0
  151. package/dist/component/eventEmitter.js +300 -0
  152. package/dist/component/eventEmitter.js.map +1 -0
  153. package/dist/component/exportImport.d.ts +1120 -0
  154. package/dist/component/exportImport.d.ts.map +1 -0
  155. package/dist/component/exportImport.js +931 -0
  156. package/dist/component/exportImport.js.map +1 -0
  157. package/dist/component/index.d.ts +28 -0
  158. package/dist/component/index.d.ts.map +1 -0
  159. package/dist/component/index.js +142 -0
  160. package/dist/component/index.js.map +1 -0
  161. package/dist/component/lib/deepReferenceResolver.d.ts +252 -0
  162. package/dist/component/lib/deepReferenceResolver.d.ts.map +1 -0
  163. package/dist/component/lib/deepReferenceResolver.js +601 -0
  164. package/dist/component/lib/deepReferenceResolver.js.map +1 -0
  165. package/dist/component/lib/errors.d.ts +306 -0
  166. package/dist/component/lib/errors.d.ts.map +1 -0
  167. package/dist/component/lib/errors.js +407 -0
  168. package/dist/component/lib/errors.js.map +1 -0
  169. package/dist/component/lib/index.d.ts +10 -0
  170. package/dist/component/lib/index.d.ts.map +1 -0
  171. package/dist/component/lib/index.js +33 -0
  172. package/dist/component/lib/index.js.map +1 -0
  173. package/dist/component/lib/mediaReferenceResolver.d.ts +217 -0
  174. package/dist/component/lib/mediaReferenceResolver.d.ts.map +1 -0
  175. package/dist/component/lib/mediaReferenceResolver.js +326 -0
  176. package/dist/component/lib/mediaReferenceResolver.js.map +1 -0
  177. package/dist/component/lib/metadataExtractor.d.ts +245 -0
  178. package/dist/component/lib/metadataExtractor.d.ts.map +1 -0
  179. package/dist/component/lib/metadataExtractor.js +548 -0
  180. package/dist/component/lib/metadataExtractor.js.map +1 -0
  181. package/dist/component/lib/mutationAuth.d.ts +95 -0
  182. package/dist/component/lib/mutationAuth.d.ts.map +1 -0
  183. package/dist/component/lib/mutationAuth.js +146 -0
  184. package/dist/component/lib/mutationAuth.js.map +1 -0
  185. package/dist/component/lib/queries.d.ts +17 -0
  186. package/dist/component/lib/queries.d.ts.map +1 -0
  187. package/dist/component/lib/queries.js +49 -0
  188. package/dist/component/lib/queries.js.map +1 -0
  189. package/dist/component/lib/ragContentChunker.d.ts +423 -0
  190. package/dist/component/lib/ragContentChunker.d.ts.map +1 -0
  191. package/dist/component/lib/ragContentChunker.js +897 -0
  192. package/dist/component/lib/ragContentChunker.js.map +1 -0
  193. package/dist/component/lib/referenceResolver.d.ts +175 -0
  194. package/dist/component/lib/referenceResolver.d.ts.map +1 -0
  195. package/dist/component/lib/referenceResolver.js +293 -0
  196. package/dist/component/lib/referenceResolver.js.map +1 -0
  197. package/dist/component/lib/slugGenerator.d.ts +71 -0
  198. package/dist/component/lib/slugGenerator.d.ts.map +1 -0
  199. package/dist/component/lib/slugGenerator.js +207 -0
  200. package/dist/component/lib/slugGenerator.js.map +1 -0
  201. package/dist/component/lib/slugUniqueness.d.ts +131 -0
  202. package/dist/component/lib/slugUniqueness.d.ts.map +1 -0
  203. package/dist/component/lib/slugUniqueness.js +229 -0
  204. package/dist/component/lib/slugUniqueness.js.map +1 -0
  205. package/dist/component/lib/softDelete.d.ts +18 -0
  206. package/dist/component/lib/softDelete.d.ts.map +1 -0
  207. package/dist/component/lib/softDelete.js +29 -0
  208. package/dist/component/lib/softDelete.js.map +1 -0
  209. package/dist/component/localeFallbackChain.d.ts +410 -0
  210. package/dist/component/localeFallbackChain.d.ts.map +1 -0
  211. package/dist/component/localeFallbackChain.js +467 -0
  212. package/dist/component/localeFallbackChain.js.map +1 -0
  213. package/dist/component/localeFields.d.ts +508 -0
  214. package/dist/component/localeFields.d.ts.map +1 -0
  215. package/dist/component/localeFields.js +592 -0
  216. package/dist/component/localeFields.js.map +1 -0
  217. package/dist/component/mediaAssetMutations.d.ts +235 -0
  218. package/dist/component/mediaAssetMutations.d.ts.map +1 -0
  219. package/dist/component/mediaAssetMutations.js +558 -0
  220. package/dist/component/mediaAssetMutations.js.map +1 -0
  221. package/dist/component/mediaAssets.d.ts +168 -0
  222. package/dist/component/mediaAssets.d.ts.map +1 -0
  223. package/dist/component/mediaAssets.js +618 -0
  224. package/dist/component/mediaAssets.js.map +1 -0
  225. package/dist/component/mediaFolderMutations.d.ts +642 -0
  226. package/dist/component/mediaFolderMutations.d.ts.map +1 -0
  227. package/dist/component/mediaFolderMutations.js +849 -0
  228. package/dist/component/mediaFolderMutations.js.map +1 -0
  229. package/dist/component/mediaUploadMutations.d.ts +136 -0
  230. package/dist/component/mediaUploadMutations.d.ts.map +1 -0
  231. package/dist/component/mediaUploadMutations.js +205 -0
  232. package/dist/component/mediaUploadMutations.js.map +1 -0
  233. package/dist/component/mediaVariantMutations.d.ts +468 -0
  234. package/dist/component/mediaVariantMutations.d.ts.map +1 -0
  235. package/dist/component/mediaVariantMutations.js +737 -0
  236. package/dist/component/mediaVariantMutations.js.map +1 -0
  237. package/dist/component/mediaVariants.d.ts +525 -0
  238. package/dist/component/mediaVariants.d.ts.map +1 -0
  239. package/dist/component/mediaVariants.js +661 -0
  240. package/dist/component/mediaVariants.js.map +1 -0
  241. package/dist/component/ragContentIndexer.d.ts +595 -0
  242. package/dist/component/ragContentIndexer.d.ts.map +1 -0
  243. package/dist/component/ragContentIndexer.js +794 -0
  244. package/dist/component/ragContentIndexer.js.map +1 -0
  245. package/dist/component/rateLimitHooks.d.ts +266 -0
  246. package/dist/component/rateLimitHooks.d.ts.map +1 -0
  247. package/dist/component/rateLimitHooks.js +412 -0
  248. package/dist/component/rateLimitHooks.js.map +1 -0
  249. package/dist/component/roles.d.ts +649 -0
  250. package/dist/component/roles.d.ts.map +1 -0
  251. package/dist/component/roles.js +884 -0
  252. package/dist/component/roles.js.map +1 -0
  253. package/dist/component/scheduledPublish.d.ts +182 -0
  254. package/dist/component/scheduledPublish.d.ts.map +1 -0
  255. package/dist/component/scheduledPublish.js +304 -0
  256. package/dist/component/scheduledPublish.js.map +1 -0
  257. package/dist/component/schema.d.ts +4114 -0
  258. package/dist/component/schema.d.ts.map +1 -0
  259. package/dist/component/schema.js +469 -0
  260. package/dist/component/schema.js.map +1 -0
  261. package/dist/component/taxonomies.d.ts +476 -0
  262. package/dist/component/taxonomies.d.ts.map +1 -0
  263. package/dist/component/taxonomies.js +785 -0
  264. package/dist/component/taxonomies.js.map +1 -0
  265. package/dist/component/taxonomyMutations.d.ts +206 -0
  266. package/dist/component/taxonomyMutations.d.ts.map +1 -0
  267. package/dist/component/taxonomyMutations.js +1001 -0
  268. package/dist/component/taxonomyMutations.js.map +1 -0
  269. package/dist/component/trash.d.ts +265 -0
  270. package/dist/component/trash.d.ts.map +1 -0
  271. package/dist/component/trash.js +621 -0
  272. package/dist/component/trash.js.map +1 -0
  273. package/dist/component/types.d.ts +4 -0
  274. package/dist/component/types.d.ts.map +1 -0
  275. package/dist/component/types.js +2 -0
  276. package/dist/component/types.js.map +1 -0
  277. package/dist/component/userContext.d.ts +508 -0
  278. package/dist/component/userContext.d.ts.map +1 -0
  279. package/dist/component/userContext.js +615 -0
  280. package/dist/component/userContext.js.map +1 -0
  281. package/dist/component/validation.d.ts +387 -0
  282. package/dist/component/validation.d.ts.map +1 -0
  283. package/dist/component/validation.js +1052 -0
  284. package/dist/component/validation.js.map +1 -0
  285. package/dist/component/validators.d.ts +4645 -0
  286. package/dist/component/validators.d.ts.map +1 -0
  287. package/dist/component/validators.js +641 -0
  288. package/dist/component/validators.js.map +1 -0
  289. package/dist/component/versionMutations.d.ts +216 -0
  290. package/dist/component/versionMutations.d.ts.map +1 -0
  291. package/dist/component/versionMutations.js +321 -0
  292. package/dist/component/versionMutations.js.map +1 -0
  293. package/dist/component/webhookTrigger.d.ts +770 -0
  294. package/dist/component/webhookTrigger.d.ts.map +1 -0
  295. package/dist/component/webhookTrigger.js +1413 -0
  296. package/dist/component/webhookTrigger.js.map +1 -0
  297. package/dist/react/index.d.ts +316 -0
  298. package/dist/react/index.d.ts.map +1 -0
  299. package/dist/react/index.js +558 -0
  300. package/dist/react/index.js.map +1 -0
  301. package/dist/test.d.ts +2230 -0
  302. package/dist/test.d.ts.map +1 -0
  303. package/dist/test.js +1107 -0
  304. package/dist/test.js.map +1 -0
  305. package/package.json +95 -0
  306. package/src/cli/commands/admin.ts +104 -0
  307. package/src/cli/index.ts +21 -0
  308. package/src/cli/utils/detectConvexUrl.ts +54 -0
  309. package/src/cli/utils/openBrowser.ts +16 -0
  310. package/src/client/admin-config.ts +138 -0
  311. package/src/client/adminApi.ts +942 -0
  312. package/src/client/agentTools.ts +1311 -0
  313. package/src/client/argTypes.ts +316 -0
  314. package/src/client/field-types.ts +187 -0
  315. package/src/client/index.ts +1301 -0
  316. package/src/client/queryBuilder.ts +1100 -0
  317. package/src/client/schema/codegen.ts +500 -0
  318. package/src/client/schema/defineContentType.ts +501 -0
  319. package/src/client/schema/index.ts +169 -0
  320. package/src/client/schema/schemaDrift.ts +574 -0
  321. package/src/client/schema/typedClient.ts +688 -0
  322. package/src/client/schema/types.ts +666 -0
  323. package/src/client/types.ts +723 -0
  324. package/src/client/workflows.ts +141 -0
  325. package/src/client/wrapper.ts +4304 -0
  326. package/src/component/_generated/api.ts +140 -0
  327. package/src/component/_generated/component.ts +5029 -0
  328. package/src/component/_generated/dataModel.ts +60 -0
  329. package/src/component/_generated/server.ts +156 -0
  330. package/src/component/authorization.ts +647 -0
  331. package/src/component/authorizationHooks.ts +668 -0
  332. package/src/component/bulkOperations.ts +687 -0
  333. package/src/component/contentEntries.ts +1976 -0
  334. package/src/component/contentEntryMutations.ts +1223 -0
  335. package/src/component/contentEntryValidation.ts +707 -0
  336. package/src/component/contentLock.ts +550 -0
  337. package/src/component/contentTypeMigration.ts +1064 -0
  338. package/src/component/contentTypeMutations.ts +969 -0
  339. package/src/component/contentTypes.ts +346 -0
  340. package/src/component/convex.config.ts +44 -0
  341. package/src/component/documentTypes.ts +240 -0
  342. package/src/component/eventEmitter.ts +485 -0
  343. package/src/component/exportImport.ts +1169 -0
  344. package/src/component/index.ts +491 -0
  345. package/src/component/lib/deepReferenceResolver.ts +999 -0
  346. package/src/component/lib/errors.ts +816 -0
  347. package/src/component/lib/index.ts +145 -0
  348. package/src/component/lib/mediaReferenceResolver.ts +495 -0
  349. package/src/component/lib/metadataExtractor.ts +792 -0
  350. package/src/component/lib/mutationAuth.ts +199 -0
  351. package/src/component/lib/queries.ts +79 -0
  352. package/src/component/lib/ragContentChunker.ts +1371 -0
  353. package/src/component/lib/referenceResolver.ts +430 -0
  354. package/src/component/lib/slugGenerator.ts +262 -0
  355. package/src/component/lib/slugUniqueness.ts +333 -0
  356. package/src/component/lib/softDelete.ts +44 -0
  357. package/src/component/localeFallbackChain.ts +673 -0
  358. package/src/component/localeFields.ts +896 -0
  359. package/src/component/mediaAssetMutations.ts +725 -0
  360. package/src/component/mediaAssets.ts +932 -0
  361. package/src/component/mediaFolderMutations.ts +1046 -0
  362. package/src/component/mediaUploadMutations.ts +224 -0
  363. package/src/component/mediaVariantMutations.ts +900 -0
  364. package/src/component/mediaVariants.ts +793 -0
  365. package/src/component/ragContentIndexer.ts +1067 -0
  366. package/src/component/rateLimitHooks.ts +572 -0
  367. package/src/component/roles.ts +1360 -0
  368. package/src/component/scheduledPublish.ts +358 -0
  369. package/src/component/schema.ts +617 -0
  370. package/src/component/taxonomies.ts +949 -0
  371. package/src/component/taxonomyMutations.ts +1210 -0
  372. package/src/component/trash.ts +724 -0
  373. package/src/component/userContext.ts +898 -0
  374. package/src/component/validation.ts +1388 -0
  375. package/src/component/validators.ts +949 -0
  376. package/src/component/versionMutations.ts +392 -0
  377. package/src/component/webhookTrigger.ts +1922 -0
  378. package/src/react/index.ts +898 -0
  379. package/src/test.ts +1580 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ragContentChunker.js","sourceRoot":"","sources":["../../../src/component/lib/ragContentChunker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,175 @@
1
+ /**
2
+ * Reference Resolution Utilities
3
+ *
4
+ * Provides functions for resolving and populating content references.
5
+ * These utilities help with fetching referenced content entries and
6
+ * validating reference constraints.
7
+ */
8
+ import { QueryCtx } from "../_generated/server.js";
9
+ /**
10
+ * A single reference value (content entry ID as string)
11
+ */
12
+ export type SingleReference = string;
13
+ /**
14
+ * Multiple reference values (array of content entry IDs)
15
+ */
16
+ export type MultipleReferences = string[];
17
+ /**
18
+ * Reference field value - either single or multiple based on field configuration
19
+ */
20
+ export type ReferenceValue = SingleReference | MultipleReferences;
21
+ /**
22
+ * A resolved reference with the full content entry data
23
+ */
24
+ export interface ResolvedReference {
25
+ /** The content entry ID */
26
+ id: string;
27
+ /** The content type name */
28
+ contentTypeName: string;
29
+ /** The content type display name */
30
+ contentTypeDisplayName: string;
31
+ /** The entry's slug */
32
+ slug: string;
33
+ /** The entry's status (supports custom workflow states) */
34
+ status: string;
35
+ /** The entry's data (field values) */
36
+ data: Record<string, unknown>;
37
+ /** Whether the entry exists and is not deleted */
38
+ exists: boolean;
39
+ }
40
+ /**
41
+ * Options for resolving references
42
+ */
43
+ export interface ResolveOptions {
44
+ /** Include soft-deleted entries (default: false) */
45
+ includeDeleted?: boolean;
46
+ /** Only return published entries (default: false) */
47
+ publishedOnly?: boolean;
48
+ /** Specific fields to include from the entry data (default: all) */
49
+ fields?: string[];
50
+ }
51
+ /**
52
+ * Result of a reference resolution operation
53
+ */
54
+ export interface ResolveResult {
55
+ /** Successfully resolved references */
56
+ resolved: ResolvedReference[];
57
+ /** IDs that could not be resolved (not found or deleted) */
58
+ unresolved: string[];
59
+ }
60
+ /**
61
+ * Resolve a single reference to its full content entry.
62
+ *
63
+ * @param ctx - Convex query context
64
+ * @param referenceId - The content entry ID to resolve
65
+ * @param options - Resolution options
66
+ * @returns The resolved reference or null if not found
67
+ *
68
+ * @example
69
+ * ```typescript
70
+ * // In a query handler:
71
+ * const author = await resolveReference(ctx, entry.data.authorId);
72
+ * if (author) {
73
+ * console.log("Author:", author.data.name);
74
+ * }
75
+ * ```
76
+ */
77
+ export declare function resolveReference(ctx: QueryCtx, referenceId: string, options?: ResolveOptions): Promise<ResolvedReference | null>;
78
+ /**
79
+ * Resolve multiple references to their full content entries.
80
+ *
81
+ * @param ctx - Convex query context
82
+ * @param referenceIds - Array of content entry IDs to resolve
83
+ * @param options - Resolution options
84
+ * @returns Result with resolved references and unresolved IDs
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * // In a query handler:
89
+ * const result = await resolveReferences(ctx, entry.data.relatedPostIds, {
90
+ * publishedOnly: true,
91
+ * });
92
+ *
93
+ * console.log("Found:", result.resolved.length);
94
+ * console.log("Missing:", result.unresolved);
95
+ * ```
96
+ */
97
+ export declare function resolveReferences(ctx: QueryCtx, referenceIds: string[], options?: ResolveOptions): Promise<ResolveResult>;
98
+ /**
99
+ * Check if a reference ID points to a valid, existing content entry.
100
+ *
101
+ * @param ctx - Convex query context
102
+ * @param referenceId - The content entry ID to check
103
+ * @param allowedContentTypes - Optional array of allowed content type names
104
+ * @returns Object with validity status and optional error message
105
+ *
106
+ * @example
107
+ * ```typescript
108
+ * // Validate a reference before saving:
109
+ * const check = await isValidReference(ctx, authorId, ["user"]);
110
+ * if (!check.valid) {
111
+ * throw new Error(check.error);
112
+ * }
113
+ * ```
114
+ */
115
+ export declare function isValidReference(ctx: QueryCtx, referenceId: string, allowedContentTypes?: string[]): Promise<{
116
+ valid: boolean;
117
+ error?: string;
118
+ }>;
119
+ /**
120
+ * Validate all references in a content entry's data.
121
+ *
122
+ * Iterates through all reference fields and validates that each reference
123
+ * points to a valid, existing content entry of the allowed type.
124
+ *
125
+ * @param ctx - Convex query context
126
+ * @param data - The content entry data containing reference fields
127
+ * @param fields - Array of field definitions (to identify reference fields)
128
+ * @returns Object with overall validity and array of errors
129
+ *
130
+ * @example
131
+ * ```typescript
132
+ * // Validate all references before creating/updating an entry:
133
+ * const validation = await validateAllReferences(ctx, data, contentType.fields);
134
+ * if (!validation.valid) {
135
+ * throw new Error(validation.errors.join(", "));
136
+ * }
137
+ * ```
138
+ */
139
+ export declare function validateAllReferences(ctx: QueryCtx, data: Record<string, unknown>, fields: Array<{
140
+ name: string;
141
+ type: string;
142
+ options?: {
143
+ allowedContentTypes?: string[];
144
+ multiple?: boolean;
145
+ };
146
+ }>): Promise<{
147
+ valid: boolean;
148
+ errors: string[];
149
+ }>;
150
+ /**
151
+ * Extract all reference IDs from a content entry's data.
152
+ *
153
+ * @param data - The content entry data
154
+ * @param fields - Array of field definitions
155
+ * @returns Array of all reference IDs found in the data
156
+ */
157
+ export declare function extractReferenceIds(data: Record<string, unknown>, fields: Array<{
158
+ name: string;
159
+ type: string;
160
+ options?: {
161
+ multiple?: boolean;
162
+ };
163
+ }>): string[];
164
+ /**
165
+ * Get the content type name for a content entry ID.
166
+ *
167
+ * This is a helper function for the `validateReferenceContentType` function
168
+ * in the validation module.
169
+ *
170
+ * @param ctx - Convex query context
171
+ * @param entryId - The content entry ID
172
+ * @returns The content type name or null if not found
173
+ */
174
+ export declare function getContentTypeName(ctx: QueryCtx, entryId: string): Promise<string | null>;
175
+ //# sourceMappingURL=referenceResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"referenceResolver.d.ts","sourceRoot":"","sources":["../../../src/component/lib/referenceResolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,293 @@
1
+ /**
2
+ * Reference Resolution Utilities
3
+ *
4
+ * Provides functions for resolving and populating content references.
5
+ * These utilities help with fetching referenced content entries and
6
+ * validating reference constraints.
7
+ */
8
+ import { isDeleted } from "./softDelete.js";
9
+ // =============================================================================
10
+ // Core Resolution Functions
11
+ // =============================================================================
12
+ /**
13
+ * Resolve a single reference to its full content entry.
14
+ *
15
+ * @param ctx - Convex query context
16
+ * @param referenceId - The content entry ID to resolve
17
+ * @param options - Resolution options
18
+ * @returns The resolved reference or null if not found
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * // In a query handler:
23
+ * const author = await resolveReference(ctx, entry.data.authorId);
24
+ * if (author) {
25
+ * console.log("Author:", author.data.name);
26
+ * }
27
+ * ```
28
+ */
29
+ export async function resolveReference(ctx, referenceId, options = {}) {
30
+ const { includeDeleted = false, publishedOnly = false } = options;
31
+ try {
32
+ // Get the content entry
33
+ const entry = await ctx.db.get(referenceId);
34
+ if (!entry) {
35
+ return null;
36
+ }
37
+ // Check soft-delete status
38
+ if (!includeDeleted && isDeleted(entry)) {
39
+ return null;
40
+ }
41
+ // Check published status
42
+ if (publishedOnly && entry.status !== "published") {
43
+ return null;
44
+ }
45
+ // Get the content type for this entry
46
+ const contentType = await ctx.db.get(entry.contentTypeId);
47
+ if (!contentType || isDeleted(contentType)) {
48
+ return null;
49
+ }
50
+ // Filter fields if specified
51
+ let data = entry.data;
52
+ if (options.fields && options.fields.length > 0) {
53
+ const filteredData = {};
54
+ for (const field of options.fields) {
55
+ if (field in data) {
56
+ filteredData[field] = data[field];
57
+ }
58
+ }
59
+ data = filteredData;
60
+ }
61
+ return {
62
+ id: referenceId,
63
+ contentTypeName: contentType.name,
64
+ contentTypeDisplayName: contentType.displayName,
65
+ slug: entry.slug,
66
+ status: entry.status,
67
+ data,
68
+ exists: true,
69
+ };
70
+ }
71
+ catch {
72
+ // Invalid ID format or other error
73
+ return null;
74
+ }
75
+ }
76
+ /**
77
+ * Resolve multiple references to their full content entries.
78
+ *
79
+ * @param ctx - Convex query context
80
+ * @param referenceIds - Array of content entry IDs to resolve
81
+ * @param options - Resolution options
82
+ * @returns Result with resolved references and unresolved IDs
83
+ *
84
+ * @example
85
+ * ```typescript
86
+ * // In a query handler:
87
+ * const result = await resolveReferences(ctx, entry.data.relatedPostIds, {
88
+ * publishedOnly: true,
89
+ * });
90
+ *
91
+ * console.log("Found:", result.resolved.length);
92
+ * console.log("Missing:", result.unresolved);
93
+ * ```
94
+ */
95
+ export async function resolveReferences(ctx, referenceIds, options = {}) {
96
+ const resolved = [];
97
+ const unresolved = [];
98
+ // Resolve each reference in parallel for efficiency
99
+ const promises = referenceIds.map(async (id) => {
100
+ const result = await resolveReference(ctx, id, options);
101
+ return { id, result };
102
+ });
103
+ const results = await Promise.all(promises);
104
+ for (const { id, result } of results) {
105
+ if (result) {
106
+ resolved.push(result);
107
+ }
108
+ else {
109
+ unresolved.push(id);
110
+ }
111
+ }
112
+ return { resolved, unresolved };
113
+ }
114
+ /**
115
+ * Check if a reference ID points to a valid, existing content entry.
116
+ *
117
+ * @param ctx - Convex query context
118
+ * @param referenceId - The content entry ID to check
119
+ * @param allowedContentTypes - Optional array of allowed content type names
120
+ * @returns Object with validity status and optional error message
121
+ *
122
+ * @example
123
+ * ```typescript
124
+ * // Validate a reference before saving:
125
+ * const check = await isValidReference(ctx, authorId, ["user"]);
126
+ * if (!check.valid) {
127
+ * throw new Error(check.error);
128
+ * }
129
+ * ```
130
+ */
131
+ export async function isValidReference(ctx, referenceId, allowedContentTypes) {
132
+ try {
133
+ // Get the content entry
134
+ const entry = await ctx.db.get(referenceId);
135
+ if (!entry) {
136
+ return { valid: false, error: `Content entry not found: ${referenceId}` };
137
+ }
138
+ // Check soft-delete status
139
+ if (isDeleted(entry)) {
140
+ return {
141
+ valid: false,
142
+ error: `Content entry has been deleted: ${referenceId}`,
143
+ };
144
+ }
145
+ // If content type constraints specified, check them
146
+ if (allowedContentTypes && allowedContentTypes.length > 0) {
147
+ const contentType = await ctx.db.get(entry.contentTypeId);
148
+ if (!contentType) {
149
+ return {
150
+ valid: false,
151
+ error: `Content type not found for entry: ${referenceId}`,
152
+ };
153
+ }
154
+ if (!allowedContentTypes.includes(contentType.name)) {
155
+ return {
156
+ valid: false,
157
+ error: `Expected content type: ${allowedContentTypes.join(" or ")}. Got: ${contentType.name}`,
158
+ };
159
+ }
160
+ }
161
+ return { valid: true };
162
+ }
163
+ catch {
164
+ return {
165
+ valid: false,
166
+ error: `Invalid reference ID format: ${referenceId}`,
167
+ };
168
+ }
169
+ }
170
+ /**
171
+ * Validate all references in a content entry's data.
172
+ *
173
+ * Iterates through all reference fields and validates that each reference
174
+ * points to a valid, existing content entry of the allowed type.
175
+ *
176
+ * @param ctx - Convex query context
177
+ * @param data - The content entry data containing reference fields
178
+ * @param fields - Array of field definitions (to identify reference fields)
179
+ * @returns Object with overall validity and array of errors
180
+ *
181
+ * @example
182
+ * ```typescript
183
+ * // Validate all references before creating/updating an entry:
184
+ * const validation = await validateAllReferences(ctx, data, contentType.fields);
185
+ * if (!validation.valid) {
186
+ * throw new Error(validation.errors.join(", "));
187
+ * }
188
+ * ```
189
+ */
190
+ export async function validateAllReferences(ctx, data, fields) {
191
+ const errors = [];
192
+ // Find all reference fields
193
+ const referenceFields = fields.filter((f) => f.type === "reference");
194
+ for (const field of referenceFields) {
195
+ const value = data[field.name];
196
+ if (value === null || value === undefined) {
197
+ continue; // Skip empty values (required validation is separate)
198
+ }
199
+ const allowedTypes = field.options?.allowedContentTypes;
200
+ const multiple = field.options?.multiple ?? false;
201
+ if (multiple) {
202
+ // Validate array of references
203
+ if (!Array.isArray(value)) {
204
+ errors.push(`${field.name}: Expected array of references`);
205
+ continue;
206
+ }
207
+ for (const refId of value) {
208
+ if (typeof refId !== "string") {
209
+ errors.push(`${field.name}: Invalid reference ID type`);
210
+ continue;
211
+ }
212
+ const check = await isValidReference(ctx, refId, allowedTypes);
213
+ if (!check.valid) {
214
+ errors.push(`${field.name}: ${check.error}`);
215
+ }
216
+ }
217
+ }
218
+ else {
219
+ // Validate single reference
220
+ if (typeof value !== "string") {
221
+ errors.push(`${field.name}: Expected string reference ID`);
222
+ continue;
223
+ }
224
+ const check = await isValidReference(ctx, value, allowedTypes);
225
+ if (!check.valid) {
226
+ errors.push(`${field.name}: ${check.error}`);
227
+ }
228
+ }
229
+ }
230
+ return {
231
+ valid: errors.length === 0,
232
+ errors,
233
+ };
234
+ }
235
+ // =============================================================================
236
+ // Utility Functions
237
+ // =============================================================================
238
+ /**
239
+ * Extract all reference IDs from a content entry's data.
240
+ *
241
+ * @param data - The content entry data
242
+ * @param fields - Array of field definitions
243
+ * @returns Array of all reference IDs found in the data
244
+ */
245
+ export function extractReferenceIds(data, fields) {
246
+ const ids = [];
247
+ const referenceFields = fields.filter((f) => f.type === "reference");
248
+ for (const field of referenceFields) {
249
+ const value = data[field.name];
250
+ if (value === null || value === undefined) {
251
+ continue;
252
+ }
253
+ const multiple = field.options?.multiple ?? false;
254
+ if (multiple && Array.isArray(value)) {
255
+ for (const id of value) {
256
+ if (typeof id === "string") {
257
+ ids.push(id);
258
+ }
259
+ }
260
+ }
261
+ else if (typeof value === "string") {
262
+ ids.push(value);
263
+ }
264
+ }
265
+ return ids;
266
+ }
267
+ /**
268
+ * Get the content type name for a content entry ID.
269
+ *
270
+ * This is a helper function for the `validateReferenceContentType` function
271
+ * in the validation module.
272
+ *
273
+ * @param ctx - Convex query context
274
+ * @param entryId - The content entry ID
275
+ * @returns The content type name or null if not found
276
+ */
277
+ export async function getContentTypeName(ctx, entryId) {
278
+ try {
279
+ const entry = await ctx.db.get(entryId);
280
+ if (!entry || isDeleted(entry)) {
281
+ return null;
282
+ }
283
+ const contentType = await ctx.db.get(entry.contentTypeId);
284
+ if (!contentType || isDeleted(contentType)) {
285
+ return null;
286
+ }
287
+ return contentType.name;
288
+ }
289
+ catch {
290
+ return null;
291
+ }
292
+ }
293
+ //# sourceMappingURL=referenceResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"referenceResolver.js","sourceRoot":"","sources":["../../../src/component/lib/referenceResolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Slug Generator Utility
3
+ *
4
+ * Generates URL-friendly slugs from content titles.
5
+ * Handles special characters, unicode, and ensures slug format consistency.
6
+ */
7
+ /**
8
+ * Options for slug generation
9
+ */
10
+ export interface SlugOptions {
11
+ /** Maximum length of the generated slug (default: 100) */
12
+ maxLength?: number;
13
+ /** Separator character to use (default: '-') */
14
+ separator?: string;
15
+ /** Whether to lowercase the slug (default: true) */
16
+ lowercase?: boolean;
17
+ /** Custom replacements for specific characters */
18
+ customReplacements?: Record<string, string>;
19
+ }
20
+ /**
21
+ * Generates a URL-friendly slug from a given title string.
22
+ *
23
+ * @param title - The input string to convert to a slug
24
+ * @param options - Optional configuration for slug generation
25
+ * @returns A URL-friendly slug string
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * generateSlug("Hello World!") // "hello-world"
30
+ * generateSlug("Café & Restaurant") // "cafe-and-restaurant"
31
+ * generateSlug("日本語タイトル") // "ri-ben-yu-taitoru"
32
+ * generateSlug(" Multiple Spaces ") // "multiple-spaces"
33
+ * ```
34
+ */
35
+ export declare function generateSlug(title: string, options?: SlugOptions): string;
36
+ /**
37
+ * Validates if a string is a valid slug format
38
+ *
39
+ * @param slug - The string to validate
40
+ * @param separator - The separator character (default: '-')
41
+ * @returns True if the string is a valid slug
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * isValidSlug("hello-world") // true
46
+ * isValidSlug("Hello World") // false
47
+ * isValidSlug("hello--world") // false
48
+ * isValidSlug("-hello-world") // false
49
+ * ```
50
+ */
51
+ export declare function isValidSlug(slug: string, separator?: string): boolean;
52
+ /**
53
+ * Generates a unique slug by appending a numeric suffix if needed.
54
+ * This is a helper that can be used with a uniqueness check function.
55
+ *
56
+ * @param baseSlug - The base slug to make unique
57
+ * @param isUnique - Async function that checks if a slug is unique
58
+ * @param maxAttempts - Maximum number of suffix attempts (default: 100)
59
+ * @returns A unique slug
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * const checkUnique = async (slug: string) => {
64
+ * return !(await db.query("entries").withSlug(slug).first());
65
+ * };
66
+ * const uniqueSlug = await generateUniqueSlug("hello-world", checkUnique);
67
+ * // Returns "hello-world" if unique, or "hello-world-1", "hello-world-2", etc.
68
+ * ```
69
+ */
70
+ export declare function generateUniqueSlug(baseSlug: string, isUnique: (slug: string) => Promise<boolean>, maxAttempts?: number): Promise<string>;
71
+ //# sourceMappingURL=slugGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slugGenerator.d.ts","sourceRoot":"","sources":["../../../src/component/lib/slugGenerator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kDAAkD;IAClD,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AA2ED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,MAAM,CAoD7E;AAiCD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAY,GAAG,OAAO,CAW1E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,EAC5C,WAAW,GAAE,MAAY,GACxB,OAAO,CAAC,MAAM,CAAC,CAiBjB"}