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,508 @@
1
+ /**
2
+ * Locale-Specific Content Field Storage and Resolution
3
+ *
4
+ * This module provides the schema and storage structure for locale-specific
5
+ * content field values. It allows fields marked as `localized: true` in their
6
+ * field definition to store translations keyed by locale code within content entries.
7
+ *
8
+ * Storage Structure:
9
+ * - Non-localized fields: { title: "Hello World" }
10
+ * - Localized fields: { title: { "en-US": "Hello World", "es-ES": "Hola Mundo" } }
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * // Content entry data with localized fields
15
+ * const data = {
16
+ * // Non-localized field (same value for all locales)
17
+ * slug: "my-post",
18
+ *
19
+ * // Localized field (translations keyed by locale)
20
+ * title: {
21
+ * "en-US": "My Blog Post",
22
+ * "es-ES": "Mi Entrada de Blog",
23
+ * "fr-FR": "Mon Article de Blog",
24
+ * },
25
+ *
26
+ * // Localized rich text field
27
+ * content: {
28
+ * "en-US": "<p>Welcome to my blog!</p>",
29
+ * "es-ES": "<p>¡Bienvenido a mi blog!</p>",
30
+ * },
31
+ * };
32
+ * ```
33
+ */
34
+ import type { FieldDefinition } from "../client/types.js";
35
+ /**
36
+ * Represents a localized field value - a mapping from locale codes to translated values.
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * const localizedTitle: LocalizedFieldValue<string> = {
41
+ * "en-US": "Hello World",
42
+ * "es-ES": "Hola Mundo",
43
+ * "fr-FR": "Bonjour le Monde",
44
+ * };
45
+ * ```
46
+ */
47
+ export type LocalizedFieldValue<T = unknown> = {
48
+ [localeCode: string]: T;
49
+ };
50
+ /**
51
+ * Represents either a plain field value or a localized field value.
52
+ * Used when working with field values that may or may not be localized.
53
+ */
54
+ export type FieldValue<T = unknown> = T | LocalizedFieldValue<T>;
55
+ /**
56
+ * Options for resolving localized field values.
57
+ */
58
+ export interface LocaleResolutionOptions {
59
+ /**
60
+ * The primary locale to attempt to resolve first.
61
+ */
62
+ locale: string;
63
+ /**
64
+ * Fallback chain of locales to try if the primary locale is not found.
65
+ * Tried in order until a value is found.
66
+ *
67
+ * @example
68
+ * ```typescript
69
+ * // Try en-US first, then en, then the default locale
70
+ * fallbackChain: ["en", "en-US"]
71
+ * ```
72
+ */
73
+ fallbackChain?: string[];
74
+ /**
75
+ * The default locale to use as final fallback.
76
+ * If not specified, returns undefined when no locale matches.
77
+ *
78
+ * @default "en"
79
+ */
80
+ defaultLocale?: string;
81
+ }
82
+ /**
83
+ * Result of resolving a localized field value.
84
+ */
85
+ export interface LocaleResolutionResult<T = unknown> {
86
+ /**
87
+ * The resolved value, or undefined if no matching locale was found.
88
+ */
89
+ value: T | undefined;
90
+ /**
91
+ * The locale code that was used to resolve the value.
92
+ * Undefined if no matching locale was found.
93
+ */
94
+ resolvedLocale: string | undefined;
95
+ /**
96
+ * Whether the value was resolved from the primary requested locale
97
+ * (as opposed to a fallback).
98
+ */
99
+ isExactMatch: boolean;
100
+ }
101
+ /**
102
+ * Checks if a value is a LocalizedFieldValue structure.
103
+ *
104
+ * A value is considered localized if:
105
+ * - It is a non-null object
106
+ * - It is not an array
107
+ * - At least one key contains a hyphen (BCP 47 locale codes like "en-US")
108
+ * - All keys match the BCP 47 pattern (language[-Script][-REGION])
109
+ *
110
+ * Note: For fields that should store localized content, use the `localized: true`
111
+ * property in the field definition. This function is a heuristic type guard.
112
+ *
113
+ * @param value - The value to check
114
+ * @returns true if the value appears to be a LocalizedFieldValue
115
+ *
116
+ * @example
117
+ * ```typescript
118
+ * isLocalizedFieldValue({ "en-US": "Hello" }); // true
119
+ * isLocalizedFieldValue({ "en-US": "Hello", "es-ES": "Hola" }); // true
120
+ * isLocalizedFieldValue("Hello"); // false
121
+ * isLocalizedFieldValue({ foo: "bar" }); // false (no hyphenated locale key)
122
+ * isLocalizedFieldValue({ en: "Hello" }); // false (no hyphen - ambiguous)
123
+ * ```
124
+ */
125
+ export declare function isLocalizedFieldValue(value: unknown): value is LocalizedFieldValue;
126
+ /**
127
+ * Checks if a field definition indicates the field should be localized.
128
+ *
129
+ * @param fieldDef - The field definition to check
130
+ * @returns true if the field is marked as localized
131
+ */
132
+ export declare function isFieldLocalized(fieldDef: FieldDefinition): boolean;
133
+ /**
134
+ * Gets a value from a potentially localized field.
135
+ *
136
+ * If the field value is a LocalizedFieldValue, resolves using the specified locale
137
+ * with fallback chain. If it's a plain value, returns it directly.
138
+ *
139
+ * @param value - The field value (may be localized or plain)
140
+ * @param options - Locale resolution options
141
+ * @returns The resolved value result
142
+ *
143
+ * @example
144
+ * ```typescript
145
+ * // With localized value
146
+ * const localizedTitle = { "en-US": "Hello", "es-ES": "Hola" };
147
+ * const result = getLocalizedValue(localizedTitle, { locale: "es-ES" });
148
+ * // result: { value: "Hola", resolvedLocale: "es-ES", isExactMatch: true }
149
+ *
150
+ * // With fallback
151
+ * const result2 = getLocalizedValue(localizedTitle, {
152
+ * locale: "fr-FR",
153
+ * fallbackChain: ["en-US"],
154
+ * });
155
+ * // result2: { value: "Hello", resolvedLocale: "en-US", isExactMatch: false }
156
+ *
157
+ * // With plain value (non-localized field)
158
+ * const result3 = getLocalizedValue("Plain text", { locale: "en-US" });
159
+ * // result3: { value: "Plain text", resolvedLocale: undefined, isExactMatch: true }
160
+ * ```
161
+ */
162
+ export declare function getLocalizedValue<T>(value: FieldValue<T>, options: LocaleResolutionOptions): LocaleResolutionResult<T>;
163
+ /**
164
+ * Sets a value for a specific locale in a localized field.
165
+ *
166
+ * If the existing value is not localized, it converts it to a localized structure
167
+ * with the new value for the specified locale.
168
+ *
169
+ * @param existingValue - The current field value (may be localized or plain)
170
+ * @param locale - The locale to set the value for
171
+ * @param newValue - The new value to set
172
+ * @param preserveExisting - If true and converting from plain to localized,
173
+ * preserves the existing value under the default locale
174
+ * @param defaultLocale - The locale to use for preserving existing plain values
175
+ * @returns The updated localized field value
176
+ *
177
+ * @example
178
+ * ```typescript
179
+ * // Set value for a locale
180
+ * const existing = { "en-US": "Hello" };
181
+ * const updated = setLocalizedValue(existing, "es-ES", "Hola");
182
+ * // updated: { "en-US": "Hello", "es-ES": "Hola" }
183
+ *
184
+ * // Convert plain to localized
185
+ * const plain = "Hello";
186
+ * const converted = setLocalizedValue(plain, "es-ES", "Hola", true, "en-US");
187
+ * // converted: { "en-US": "Hello", "es-ES": "Hola" }
188
+ * ```
189
+ */
190
+ export declare function setLocalizedValue<T>(existingValue: FieldValue<T> | undefined, locale: string, newValue: T, preserveExisting?: boolean, defaultLocale?: string): LocalizedFieldValue<T>;
191
+ /**
192
+ * Removes a specific locale from a localized field value.
193
+ *
194
+ * @param localizedValue - The localized field value
195
+ * @param locale - The locale to remove
196
+ * @returns The updated localized field value, or undefined if empty
197
+ *
198
+ * @example
199
+ * ```typescript
200
+ * const value = { "en-US": "Hello", "es-ES": "Hola" };
201
+ * const updated = removeLocale(value, "es-ES");
202
+ * // updated: { "en-US": "Hello" }
203
+ * ```
204
+ */
205
+ export declare function removeLocale<T>(localizedValue: LocalizedFieldValue<T>, locale: string): LocalizedFieldValue<T> | undefined;
206
+ /**
207
+ * Merges translations from one localized value into another.
208
+ *
209
+ * @param target - The base localized value
210
+ * @param source - The localized value to merge in (overwrites existing locales)
211
+ * @returns The merged localized field value
212
+ *
213
+ * @example
214
+ * ```typescript
215
+ * const target = { "en-US": "Hello", "es-ES": "Hola" };
216
+ * const source = { "es-ES": "Hola!", "fr-FR": "Bonjour" };
217
+ * const merged = mergeLocalizedValues(target, source);
218
+ * // merged: { "en-US": "Hello", "es-ES": "Hola!", "fr-FR": "Bonjour" }
219
+ * ```
220
+ */
221
+ export declare function mergeLocalizedValues<T>(target: LocalizedFieldValue<T> | undefined, source: LocalizedFieldValue<T>): LocalizedFieldValue<T>;
222
+ /**
223
+ * Gets all available locales from a localized field value.
224
+ *
225
+ * @param value - The field value (may be localized or plain)
226
+ * @returns Array of locale codes, or empty array if not localized
227
+ *
228
+ * @example
229
+ * ```typescript
230
+ * const value = { "en-US": "Hello", "es-ES": "Hola" };
231
+ * const locales = getAvailableLocales(value);
232
+ * // locales: ["en-US", "es-ES"]
233
+ *
234
+ * const plain = "Hello";
235
+ * const locales2 = getAvailableLocales(plain);
236
+ * // locales2: []
237
+ * ```
238
+ */
239
+ export declare function getAvailableLocales(value: FieldValue): string[];
240
+ /**
241
+ * Checks if a localized field has a translation for a specific locale.
242
+ *
243
+ * @param value - The field value (may be localized or plain)
244
+ * @param locale - The locale to check
245
+ * @returns true if the locale has a translation
246
+ */
247
+ export declare function hasLocale(value: FieldValue, locale: string): boolean;
248
+ /**
249
+ * Options for resolving all localized fields in content data.
250
+ */
251
+ export interface ResolveContentDataOptions extends LocaleResolutionOptions {
252
+ /**
253
+ * Field definitions for the content type.
254
+ * Used to determine which fields are localized.
255
+ */
256
+ fields: FieldDefinition[];
257
+ }
258
+ /**
259
+ * Result of resolving all localized fields in content data.
260
+ */
261
+ export interface ResolvedContentData {
262
+ /**
263
+ * The resolved data with all localized fields resolved to single values.
264
+ */
265
+ data: Record<string, unknown>;
266
+ /**
267
+ * Map of field names to their resolution results.
268
+ */
269
+ resolutions: Record<string, LocaleResolutionResult>;
270
+ /**
271
+ * Fields that were missing translations for the requested locale.
272
+ */
273
+ missingTranslations: string[];
274
+ }
275
+ /**
276
+ * Resolves all localized fields in content data to single values for a specific locale.
277
+ *
278
+ * This function takes raw content entry data (which may contain LocalizedFieldValue
279
+ * structures for localized fields) and resolves each field to a single value
280
+ * based on the requested locale and fallback chain.
281
+ *
282
+ * @param data - The raw content entry data
283
+ * @param options - Resolution options including fields and locale settings
284
+ * @returns The resolved content data with metadata about resolution
285
+ *
286
+ * @example
287
+ * ```typescript
288
+ * const rawData = {
289
+ * slug: "my-post", // non-localized
290
+ * title: { "en-US": "Hello", "es-ES": "Hola" }, // localized
291
+ * content: { "en-US": "Content here" }, // localized, missing es-ES
292
+ * };
293
+ *
294
+ * const result = resolveContentData(rawData, {
295
+ * locale: "es-ES",
296
+ * fallbackChain: ["en-US"],
297
+ * fields: [
298
+ * { name: "slug", localized: false, ... },
299
+ * { name: "title", localized: true, ... },
300
+ * { name: "content", localized: true, ... },
301
+ * ],
302
+ * });
303
+ *
304
+ * // result.data: { slug: "my-post", title: "Hola", content: "Content here" }
305
+ * // result.missingTranslations: ["content"]
306
+ * ```
307
+ */
308
+ export declare function resolveContentData(data: Record<string, unknown>, options: ResolveContentDataOptions): ResolvedContentData;
309
+ /**
310
+ * Sets values for multiple localized fields for a specific locale.
311
+ *
312
+ * This function takes a partial data object with values for a specific locale
313
+ * and merges them into the existing content data's localized field structures.
314
+ *
315
+ * @param existingData - The existing content entry data
316
+ * @param newValues - New values to set (field name -> value)
317
+ * @param locale - The locale to set values for
318
+ * @param fields - Field definitions to determine which fields are localized
319
+ * @param defaultLocale - Default locale for preserving existing values
320
+ * @returns Updated content data with localized values merged in
321
+ *
322
+ * @example
323
+ * ```typescript
324
+ * const existingData = {
325
+ * slug: "my-post",
326
+ * title: { "en-US": "Hello" },
327
+ * };
328
+ *
329
+ * const updated = setLocalizedContentData(
330
+ * existingData,
331
+ * { title: "Hola", slug: "mi-post" }, // slug will be overwritten, title merged
332
+ * "es-ES",
333
+ * fields
334
+ * );
335
+ *
336
+ * // updated: {
337
+ * // slug: "mi-post", // non-localized, just replaced
338
+ * // title: { "en-US": "Hello", "es-ES": "Hola" }, // localized, merged
339
+ * // }
340
+ * ```
341
+ */
342
+ export declare function setLocalizedContentData(existingData: Record<string, unknown>, newValues: Record<string, unknown>, locale: string, fields: FieldDefinition[], defaultLocale?: string): Record<string, unknown>;
343
+ /**
344
+ * Result of resolving locale content for an entry with metadata.
345
+ */
346
+ export interface LocaleResolvedEntry<T = Record<string, unknown>> {
347
+ /**
348
+ * The resolved data with all localized fields resolved to single values.
349
+ */
350
+ data: T;
351
+ /**
352
+ * Metadata about the locale resolution process.
353
+ */
354
+ localeResolution: {
355
+ /**
356
+ * The locale that was requested.
357
+ */
358
+ requestedLocale: string;
359
+ /**
360
+ * The fallback chain that was used for resolution.
361
+ */
362
+ fallbackChain: string[];
363
+ /**
364
+ * The default locale used as final fallback.
365
+ */
366
+ defaultLocale: string;
367
+ /**
368
+ * Fields that were resolved from a fallback locale (missing in requested locale).
369
+ */
370
+ fieldsFromFallback: string[];
371
+ /**
372
+ * Map of field names to the locale they were resolved from.
373
+ * Only includes fields that were resolved from a fallback (not the requested locale).
374
+ */
375
+ fieldResolutions: Record<string, string>;
376
+ };
377
+ }
378
+ /**
379
+ * Options for resolving locale content for entries.
380
+ */
381
+ export interface ResolveLocaleOptions {
382
+ /**
383
+ * The locale to resolve content in.
384
+ */
385
+ locale: string;
386
+ /**
387
+ * Fallback chain of locales to try if the primary locale is not found.
388
+ */
389
+ fallbackChain?: string[];
390
+ /**
391
+ * The default locale to use as final fallback.
392
+ * @default "en"
393
+ */
394
+ defaultLocale?: string;
395
+ /**
396
+ * Field definitions for the content type.
397
+ * Used to determine which fields are localized.
398
+ */
399
+ fields: FieldDefinition[];
400
+ /**
401
+ * Whether to include locale resolution metadata in the result.
402
+ * @default true
403
+ */
404
+ includeResolutionMetadata?: boolean;
405
+ }
406
+ /**
407
+ * Resolves all localized fields in a content entry to the requested locale with fallback support.
408
+ *
409
+ * This function takes raw content entry data (which may contain LocalizedFieldValue
410
+ * structures for localized fields) and resolves each field to a single value
411
+ * based on the requested locale and fallback chain. It merges localized and
412
+ * non-localized field values into a unified data structure.
413
+ *
414
+ * Resolution order for each localized field:
415
+ * 1. Try the requested locale
416
+ * 2. Try each locale in the fallback chain (in order)
417
+ * 3. Try the default locale
418
+ * 4. Return first available locale as last resort
419
+ * 5. Return undefined if no value exists
420
+ *
421
+ * @param entry - The content entry with potentially localized data
422
+ * @param options - Locale resolution options
423
+ * @returns The entry with resolved locale data and resolution metadata
424
+ *
425
+ * @example
426
+ * ```typescript
427
+ * const entry = {
428
+ * _id: "abc123",
429
+ * slug: "my-post",
430
+ * data: {
431
+ * slug: "my-post", // non-localized
432
+ * title: { "en-US": "Hello", "es-ES": "Hola" }, // localized
433
+ * content: { "en-US": "Content here" }, // localized, missing es-ES
434
+ * },
435
+ * };
436
+ *
437
+ * const resolved = resolveLocaleContent(entry, {
438
+ * locale: "es-ES",
439
+ * fallbackChain: ["en-US"],
440
+ * defaultLocale: "en-US",
441
+ * fields: contentType.fields,
442
+ * });
443
+ *
444
+ * // resolved.data: { slug: "my-post", title: "Hola", content: "Content here" }
445
+ * // resolved.localeResolution.fieldsFromFallback: ["content"]
446
+ * // resolved.localeResolution.fieldResolutions: { content: "en-US" }
447
+ * ```
448
+ */
449
+ export declare function resolveLocaleContent<T extends {
450
+ data: Record<string, unknown>;
451
+ }>(entry: T, options: ResolveLocaleOptions): T & LocaleResolvedEntry<Record<string, unknown>>;
452
+ /**
453
+ * Resolves locale content for an array of content entries.
454
+ *
455
+ * This is a convenience function for batch-resolving multiple entries.
456
+ * Useful when fetching lists of content entries that need locale resolution.
457
+ *
458
+ * @param entries - Array of content entries to resolve
459
+ * @param options - Locale resolution options (applied to all entries)
460
+ * @returns Array of entries with resolved locale data
461
+ *
462
+ * @example
463
+ * ```typescript
464
+ * const entries = await cms.contentEntries.list(ctx, {
465
+ * contentTypeName: "blog_post",
466
+ * status: "published",
467
+ * paginationOpts: { numItems: 10 },
468
+ * });
469
+ *
470
+ * const resolvedEntries = resolveLocaleContentBatch(entries.page, {
471
+ * locale: "es-ES",
472
+ * fallbackChain: cms.getLocaleFallbackChain("es-ES"),
473
+ * defaultLocale: cms.config.defaultLocale,
474
+ * fields: blogPostContentType.fields,
475
+ * });
476
+ * ```
477
+ */
478
+ export declare function resolveLocaleContentBatch<T extends {
479
+ data: Record<string, unknown>;
480
+ }>(entries: T[], options: ResolveLocaleOptions): Array<T & LocaleResolvedEntry<Record<string, unknown>>>;
481
+ /**
482
+ * Gets the translation completeness status for content data across locales.
483
+ *
484
+ * @param data - The content entry data
485
+ * @param fields - Field definitions for the content type
486
+ * @param requiredLocales - Locales that should have translations
487
+ * @returns Translation status per locale
488
+ *
489
+ * @example
490
+ * ```typescript
491
+ * const data = {
492
+ * title: { "en-US": "Hello", "es-ES": "Hola" },
493
+ * content: { "en-US": "Content here" }, // missing es-ES
494
+ * };
495
+ *
496
+ * const status = getTranslationStatus(data, fields, ["en-US", "es-ES"]);
497
+ * // status: {
498
+ * // "en-US": { complete: true, missingFields: [], percentage: 100 },
499
+ * // "es-ES": { complete: false, missingFields: ["content"], percentage: 50 },
500
+ * // }
501
+ * ```
502
+ */
503
+ export declare function getTranslationStatus(data: Record<string, unknown>, fields: FieldDefinition[], requiredLocales: string[]): Record<string, {
504
+ complete: boolean;
505
+ missingFields: string[];
506
+ percentage: number;
507
+ }>;
508
+ //# sourceMappingURL=localeFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localeFields.d.ts","sourceRoot":"","sources":["../../src/component/localeFields.ts"],"names":[],"mappings":"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"}