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,933 @@
1
+ /**
2
+ * @convex-cms/core Agent Tools
3
+ *
4
+ * Tool-compatible function wrappers for @convex-dev/agent integration.
5
+ * Provides structured tool definitions with clear parameter schemas for
6
+ * content creation, querying, and management.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import { Agent } from "@convex-dev/agent";
11
+ * import { createCmsTools } from "@convex-cms/core";
12
+ * import { components } from "./_generated/api";
13
+ *
14
+ * const cmsTools = createCmsTools(components.convexCms);
15
+ *
16
+ * const contentAgent = new Agent(components.agent, {
17
+ * name: "Content Manager",
18
+ * languageModel: openai.chat("gpt-4o"),
19
+ * tools: cmsTools,
20
+ * });
21
+ * ```
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * // Use individual tools
26
+ * import { createCmsTools } from "@convex-cms/core";
27
+ *
28
+ * const { createContentEntry, listContentEntries, publishEntry } = createCmsTools(api);
29
+ *
30
+ * const agent = new Agent(components.agent, {
31
+ * tools: { createContentEntry, publishEntry },
32
+ * });
33
+ * ```
34
+ */
35
+ import { z } from "zod";
36
+ /**
37
+ * The component API type for agent tools.
38
+ * This represents the actual structure of `components.convexCms` from the generated API.
39
+ *
40
+ * Uses `any` for internal function references since the exact types depend on
41
+ * the generated Convex types which vary per project.
42
+ *
43
+ * Note: This matches the actual Convex component module structure:
44
+ * - contentTypes: queries in contentTypes.ts (get handles both ID and name lookup via args)
45
+ * - contentTypeMutations: mutations in contentTypeMutations.ts
46
+ * - contentEntries: queries in contentEntries.ts
47
+ * - contentEntryMutations: mutations in contentEntryMutations.ts
48
+ * - scheduledPublish: schedule-related mutations in scheduledPublish.ts (separate module)
49
+ * - mediaAssets: queries in mediaAssets.ts
50
+ * - mediaAssetMutations: mutations in mediaAssetMutations.ts
51
+ * - bulkOperations: bulk mutations in bulkOperations.ts
52
+ *
53
+ * IMPORTANT: This type represents the raw component API shape as exported from
54
+ * `components.convexCms`. It differs from the wrapper API (createCmsClient) which
55
+ * provides a different, more ergonomic namespace structure.
56
+ */
57
+ export type AgentComponentApi = {
58
+ /**
59
+ * Content type queries (contentTypes.ts module)
60
+ * @see src/component/contentTypes.ts
61
+ */
62
+ contentTypes: {
63
+ /**
64
+ * Get content type by ID or name.
65
+ * Supports lookup by either `id` OR `name` argument (not both).
66
+ * @example { id: "..." } or { name: "blog_post" }
67
+ */
68
+ get: any;
69
+ /** List content types with filtering and pagination */
70
+ list: any;
71
+ };
72
+ /**
73
+ * Content type mutations (contentTypeMutations.ts module)
74
+ * @see src/component/contentTypeMutations.ts
75
+ */
76
+ contentTypeMutations: {
77
+ createContentType: any;
78
+ updateContentType: any;
79
+ deleteContentType: any;
80
+ };
81
+ /**
82
+ * Content entry queries (contentEntries.ts module)
83
+ * @see src/component/contentEntries.ts
84
+ */
85
+ contentEntries: {
86
+ /** Get content entry by ID */
87
+ get: any;
88
+ /** Get content entry by slug and content type ID */
89
+ getBySlug: any;
90
+ /** Get content entry by slug and content type name */
91
+ getBySlugAndTypeName: any;
92
+ /** List content entries with filtering and pagination */
93
+ list: any;
94
+ };
95
+ /**
96
+ * Content entry mutations (contentEntryMutations.ts module)
97
+ * @see src/component/contentEntryMutations.ts
98
+ */
99
+ contentEntryMutations: {
100
+ createEntry: any;
101
+ updateEntry: any;
102
+ publishEntry: any;
103
+ unpublishEntry: any;
104
+ deleteEntry: any;
105
+ duplicateEntry: any;
106
+ restoreEntry: any;
107
+ };
108
+ /**
109
+ * Scheduling-related mutations (scheduledPublish.ts module - SEPARATE from contentEntryMutations)
110
+ * @see src/component/scheduledPublish.ts
111
+ */
112
+ scheduledPublish: {
113
+ /** Schedule an entry for future publication */
114
+ scheduleEntry: any;
115
+ /** Cancel a scheduled publication */
116
+ cancelScheduledPublish: any;
117
+ };
118
+ /**
119
+ * Media asset queries (mediaAssets.ts module)
120
+ * @see src/component/mediaAssets.ts
121
+ */
122
+ mediaAssets: {
123
+ get: any;
124
+ list: any;
125
+ };
126
+ /**
127
+ * Media asset mutations (mediaAssetMutations.ts module)
128
+ * @see src/component/mediaAssetMutations.ts
129
+ */
130
+ mediaAssetMutations: {
131
+ createMediaAsset: any;
132
+ updateMediaAsset: any;
133
+ deleteMediaAsset: any;
134
+ };
135
+ /**
136
+ * Bulk operations (bulkOperations.ts module)
137
+ * @see src/component/bulkOperations.ts
138
+ */
139
+ bulkOperations: {
140
+ bulkPublish: any;
141
+ bulkUnpublish: any;
142
+ bulkDelete: any;
143
+ bulkUpdate: any;
144
+ bulkRestore: any;
145
+ };
146
+ };
147
+ /**
148
+ * Supported field types in the CMS.
149
+ */
150
+ export declare const fieldTypeSchema: z.ZodEnum<{
151
+ number: "number";
152
+ boolean: "boolean";
153
+ text: "text";
154
+ richText: "richText";
155
+ date: "date";
156
+ datetime: "datetime";
157
+ reference: "reference";
158
+ media: "media";
159
+ json: "json";
160
+ select: "select";
161
+ multiSelect: "multiSelect";
162
+ }>;
163
+ /**
164
+ * Content entry status values.
165
+ */
166
+ export declare const contentStatusSchema: z.ZodEnum<{
167
+ draft: "draft";
168
+ published: "published";
169
+ archived: "archived";
170
+ scheduled: "scheduled";
171
+ }>;
172
+ /**
173
+ * Media type classification.
174
+ */
175
+ export declare const mediaTypeSchema: z.ZodEnum<{
176
+ image: "image";
177
+ video: "video";
178
+ audio: "audio";
179
+ document: "document";
180
+ other: "other";
181
+ }>;
182
+ /**
183
+ * Field-specific configuration options.
184
+ */
185
+ export declare const fieldOptionsSchema: z.ZodObject<{
186
+ minLength: z.ZodOptional<z.ZodNumber>;
187
+ maxLength: z.ZodOptional<z.ZodNumber>;
188
+ pattern: z.ZodOptional<z.ZodString>;
189
+ min: z.ZodOptional<z.ZodNumber>;
190
+ max: z.ZodOptional<z.ZodNumber>;
191
+ step: z.ZodOptional<z.ZodNumber>;
192
+ precision: z.ZodOptional<z.ZodNumber>;
193
+ allowedContentTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
194
+ multiple: z.ZodOptional<z.ZodBoolean>;
195
+ minItems: z.ZodOptional<z.ZodNumber>;
196
+ allowedMimeTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
197
+ maxFileSize: z.ZodOptional<z.ZodNumber>;
198
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
199
+ value: z.ZodString;
200
+ label: z.ZodString;
201
+ }, z.core.$strip>>>;
202
+ allowedBlocks: z.ZodOptional<z.ZodArray<z.ZodString>>;
203
+ allowedMarks: z.ZodOptional<z.ZodArray<z.ZodString>>;
204
+ }, z.core.$strict>;
205
+ /**
206
+ * Field definition schema for content types.
207
+ */
208
+ export declare const fieldDefinitionSchema: z.ZodObject<{
209
+ name: z.ZodString;
210
+ label: z.ZodString;
211
+ type: z.ZodEnum<{
212
+ number: "number";
213
+ boolean: "boolean";
214
+ text: "text";
215
+ richText: "richText";
216
+ date: "date";
217
+ datetime: "datetime";
218
+ reference: "reference";
219
+ media: "media";
220
+ json: "json";
221
+ select: "select";
222
+ multiSelect: "multiSelect";
223
+ }>;
224
+ required: z.ZodBoolean;
225
+ searchable: z.ZodOptional<z.ZodBoolean>;
226
+ localized: z.ZodOptional<z.ZodBoolean>;
227
+ description: z.ZodOptional<z.ZodString>;
228
+ defaultValue: z.ZodOptional<z.ZodAny>;
229
+ options: z.ZodOptional<z.ZodObject<{
230
+ minLength: z.ZodOptional<z.ZodNumber>;
231
+ maxLength: z.ZodOptional<z.ZodNumber>;
232
+ pattern: z.ZodOptional<z.ZodString>;
233
+ min: z.ZodOptional<z.ZodNumber>;
234
+ max: z.ZodOptional<z.ZodNumber>;
235
+ step: z.ZodOptional<z.ZodNumber>;
236
+ precision: z.ZodOptional<z.ZodNumber>;
237
+ allowedContentTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
238
+ multiple: z.ZodOptional<z.ZodBoolean>;
239
+ minItems: z.ZodOptional<z.ZodNumber>;
240
+ allowedMimeTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
241
+ maxFileSize: z.ZodOptional<z.ZodNumber>;
242
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
243
+ value: z.ZodString;
244
+ label: z.ZodString;
245
+ }, z.core.$strip>>>;
246
+ allowedBlocks: z.ZodOptional<z.ZodArray<z.ZodString>>;
247
+ allowedMarks: z.ZodOptional<z.ZodArray<z.ZodString>>;
248
+ }, z.core.$strict>>;
249
+ }, z.core.$strip>;
250
+ /**
251
+ * Filter operators for content queries.
252
+ */
253
+ export declare const filterOperatorSchema: z.ZodEnum<{
254
+ endsWith: "endsWith";
255
+ startsWith: "startsWith";
256
+ in: "in";
257
+ eq: "eq";
258
+ ne: "ne";
259
+ gt: "gt";
260
+ gte: "gte";
261
+ lt: "lt";
262
+ lte: "lte";
263
+ contains: "contains";
264
+ notIn: "notIn";
265
+ }>;
266
+ /**
267
+ * Field filter for content queries.
268
+ */
269
+ export declare const fieldFilterSchema: z.ZodObject<{
270
+ field: z.ZodString;
271
+ operator: z.ZodEnum<{
272
+ endsWith: "endsWith";
273
+ startsWith: "startsWith";
274
+ in: "in";
275
+ eq: "eq";
276
+ ne: "ne";
277
+ gt: "gt";
278
+ gte: "gte";
279
+ lt: "lt";
280
+ lte: "lte";
281
+ contains: "contains";
282
+ notIn: "notIn";
283
+ }>;
284
+ value: z.ZodAny;
285
+ }, z.core.$strip>;
286
+ /**
287
+ * Arguments for creating a content type.
288
+ */
289
+ export declare const createContentTypeArgsSchema: z.ZodObject<{
290
+ name: z.ZodString;
291
+ displayName: z.ZodString;
292
+ description: z.ZodOptional<z.ZodString>;
293
+ fields: z.ZodArray<z.ZodObject<{
294
+ name: z.ZodString;
295
+ label: z.ZodString;
296
+ type: z.ZodEnum<{
297
+ number: "number";
298
+ boolean: "boolean";
299
+ text: "text";
300
+ richText: "richText";
301
+ date: "date";
302
+ datetime: "datetime";
303
+ reference: "reference";
304
+ media: "media";
305
+ json: "json";
306
+ select: "select";
307
+ multiSelect: "multiSelect";
308
+ }>;
309
+ required: z.ZodBoolean;
310
+ searchable: z.ZodOptional<z.ZodBoolean>;
311
+ localized: z.ZodOptional<z.ZodBoolean>;
312
+ description: z.ZodOptional<z.ZodString>;
313
+ defaultValue: z.ZodOptional<z.ZodAny>;
314
+ options: z.ZodOptional<z.ZodObject<{
315
+ minLength: z.ZodOptional<z.ZodNumber>;
316
+ maxLength: z.ZodOptional<z.ZodNumber>;
317
+ pattern: z.ZodOptional<z.ZodString>;
318
+ min: z.ZodOptional<z.ZodNumber>;
319
+ max: z.ZodOptional<z.ZodNumber>;
320
+ step: z.ZodOptional<z.ZodNumber>;
321
+ precision: z.ZodOptional<z.ZodNumber>;
322
+ allowedContentTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
323
+ multiple: z.ZodOptional<z.ZodBoolean>;
324
+ minItems: z.ZodOptional<z.ZodNumber>;
325
+ allowedMimeTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
326
+ maxFileSize: z.ZodOptional<z.ZodNumber>;
327
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
328
+ value: z.ZodString;
329
+ label: z.ZodString;
330
+ }, z.core.$strip>>>;
331
+ allowedBlocks: z.ZodOptional<z.ZodArray<z.ZodString>>;
332
+ allowedMarks: z.ZodOptional<z.ZodArray<z.ZodString>>;
333
+ }, z.core.$strict>>;
334
+ }, z.core.$strip>>;
335
+ icon: z.ZodOptional<z.ZodString>;
336
+ singleton: z.ZodOptional<z.ZodBoolean>;
337
+ slugField: z.ZodOptional<z.ZodString>;
338
+ titleField: z.ZodOptional<z.ZodString>;
339
+ sortOrder: z.ZodOptional<z.ZodNumber>;
340
+ createdBy: z.ZodOptional<z.ZodString>;
341
+ }, z.core.$strip>;
342
+ /**
343
+ * Arguments for updating a content type.
344
+ */
345
+ export declare const updateContentTypeArgsSchema: z.ZodObject<{
346
+ id: z.ZodString;
347
+ displayName: z.ZodOptional<z.ZodString>;
348
+ description: z.ZodOptional<z.ZodString>;
349
+ fields: z.ZodOptional<z.ZodArray<z.ZodObject<{
350
+ name: z.ZodString;
351
+ label: z.ZodString;
352
+ type: z.ZodEnum<{
353
+ number: "number";
354
+ boolean: "boolean";
355
+ text: "text";
356
+ richText: "richText";
357
+ date: "date";
358
+ datetime: "datetime";
359
+ reference: "reference";
360
+ media: "media";
361
+ json: "json";
362
+ select: "select";
363
+ multiSelect: "multiSelect";
364
+ }>;
365
+ required: z.ZodBoolean;
366
+ searchable: z.ZodOptional<z.ZodBoolean>;
367
+ localized: z.ZodOptional<z.ZodBoolean>;
368
+ description: z.ZodOptional<z.ZodString>;
369
+ defaultValue: z.ZodOptional<z.ZodAny>;
370
+ options: z.ZodOptional<z.ZodObject<{
371
+ minLength: z.ZodOptional<z.ZodNumber>;
372
+ maxLength: z.ZodOptional<z.ZodNumber>;
373
+ pattern: z.ZodOptional<z.ZodString>;
374
+ min: z.ZodOptional<z.ZodNumber>;
375
+ max: z.ZodOptional<z.ZodNumber>;
376
+ step: z.ZodOptional<z.ZodNumber>;
377
+ precision: z.ZodOptional<z.ZodNumber>;
378
+ allowedContentTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
379
+ multiple: z.ZodOptional<z.ZodBoolean>;
380
+ minItems: z.ZodOptional<z.ZodNumber>;
381
+ allowedMimeTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
382
+ maxFileSize: z.ZodOptional<z.ZodNumber>;
383
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
384
+ value: z.ZodString;
385
+ label: z.ZodString;
386
+ }, z.core.$strip>>>;
387
+ allowedBlocks: z.ZodOptional<z.ZodArray<z.ZodString>>;
388
+ allowedMarks: z.ZodOptional<z.ZodArray<z.ZodString>>;
389
+ }, z.core.$strict>>;
390
+ }, z.core.$strip>>>;
391
+ icon: z.ZodOptional<z.ZodString>;
392
+ singleton: z.ZodOptional<z.ZodBoolean>;
393
+ slugField: z.ZodOptional<z.ZodString>;
394
+ titleField: z.ZodOptional<z.ZodString>;
395
+ sortOrder: z.ZodOptional<z.ZodNumber>;
396
+ isActive: z.ZodOptional<z.ZodBoolean>;
397
+ updatedBy: z.ZodOptional<z.ZodString>;
398
+ }, z.core.$strip>;
399
+ /**
400
+ * Arguments for listing content types.
401
+ */
402
+ export declare const listContentTypesArgsSchema: z.ZodObject<{
403
+ includeInactive: z.ZodOptional<z.ZodBoolean>;
404
+ }, z.core.$strip>;
405
+ /**
406
+ * Arguments for getting a single content type.
407
+ */
408
+ export declare const getContentTypeArgsSchema: z.ZodObject<{
409
+ id: z.ZodOptional<z.ZodString>;
410
+ name: z.ZodOptional<z.ZodString>;
411
+ }, z.core.$strip>;
412
+ /**
413
+ * Arguments for creating a content entry.
414
+ */
415
+ export declare const createContentEntryArgsSchema: z.ZodObject<{
416
+ contentTypeId: z.ZodString;
417
+ slug: z.ZodOptional<z.ZodString>;
418
+ data: z.ZodRecord<z.ZodString, z.ZodAny>;
419
+ locale: z.ZodOptional<z.ZodString>;
420
+ status: z.ZodOptional<z.ZodEnum<{
421
+ draft: "draft";
422
+ published: "published";
423
+ archived: "archived";
424
+ scheduled: "scheduled";
425
+ }>>;
426
+ createdBy: z.ZodOptional<z.ZodString>;
427
+ }, z.core.$strip>;
428
+ /**
429
+ * Arguments for updating a content entry.
430
+ */
431
+ export declare const updateContentEntryArgsSchema: z.ZodObject<{
432
+ id: z.ZodString;
433
+ slug: z.ZodOptional<z.ZodString>;
434
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
435
+ status: z.ZodOptional<z.ZodEnum<{
436
+ draft: "draft";
437
+ published: "published";
438
+ archived: "archived";
439
+ scheduled: "scheduled";
440
+ }>>;
441
+ scheduledPublishAt: z.ZodOptional<z.ZodNumber>;
442
+ updatedBy: z.ZodOptional<z.ZodString>;
443
+ regenerateSlug: z.ZodOptional<z.ZodBoolean>;
444
+ }, z.core.$strip>;
445
+ /**
446
+ * Arguments for publishing a content entry.
447
+ */
448
+ export declare const publishEntryArgsSchema: z.ZodObject<{
449
+ id: z.ZodString;
450
+ changeDescription: z.ZodOptional<z.ZodString>;
451
+ updatedBy: z.ZodOptional<z.ZodString>;
452
+ }, z.core.$strip>;
453
+ /**
454
+ * Arguments for unpublishing a content entry.
455
+ */
456
+ export declare const unpublishEntryArgsSchema: z.ZodObject<{
457
+ id: z.ZodString;
458
+ updatedBy: z.ZodOptional<z.ZodString>;
459
+ }, z.core.$strip>;
460
+ /**
461
+ * Arguments for scheduling a content entry.
462
+ */
463
+ export declare const scheduleEntryArgsSchema: z.ZodObject<{
464
+ id: z.ZodString;
465
+ publishAt: z.ZodNumber;
466
+ updatedBy: z.ZodOptional<z.ZodString>;
467
+ }, z.core.$strip>;
468
+ /**
469
+ * Arguments for deleting a content entry.
470
+ */
471
+ export declare const deleteContentEntryArgsSchema: z.ZodObject<{
472
+ id: z.ZodString;
473
+ deletedBy: z.ZodOptional<z.ZodString>;
474
+ hardDelete: z.ZodOptional<z.ZodBoolean>;
475
+ }, z.core.$strip>;
476
+ /**
477
+ * Arguments for duplicating a content entry.
478
+ */
479
+ export declare const duplicateContentEntryArgsSchema: z.ZodObject<{
480
+ sourceEntryId: z.ZodString;
481
+ slug: z.ZodOptional<z.ZodString>;
482
+ copyMediaReferences: z.ZodOptional<z.ZodBoolean>;
483
+ locale: z.ZodOptional<z.ZodString>;
484
+ createdBy: z.ZodOptional<z.ZodString>;
485
+ }, z.core.$strip>;
486
+ /**
487
+ * Arguments for listing content entries.
488
+ */
489
+ export declare const listContentEntriesArgsSchema: z.ZodObject<{
490
+ contentTypeId: z.ZodOptional<z.ZodString>;
491
+ contentTypeName: z.ZodOptional<z.ZodString>;
492
+ status: z.ZodOptional<z.ZodEnum<{
493
+ draft: "draft";
494
+ published: "published";
495
+ archived: "archived";
496
+ scheduled: "scheduled";
497
+ }>>;
498
+ statusIn: z.ZodOptional<z.ZodArray<z.ZodEnum<{
499
+ draft: "draft";
500
+ published: "published";
501
+ archived: "archived";
502
+ scheduled: "scheduled";
503
+ }>>>;
504
+ locale: z.ZodOptional<z.ZodString>;
505
+ search: z.ZodOptional<z.ZodString>;
506
+ includeDeleted: z.ZodOptional<z.ZodBoolean>;
507
+ fieldFilters: z.ZodOptional<z.ZodArray<z.ZodObject<{
508
+ field: z.ZodString;
509
+ operator: z.ZodEnum<{
510
+ endsWith: "endsWith";
511
+ startsWith: "startsWith";
512
+ in: "in";
513
+ eq: "eq";
514
+ ne: "ne";
515
+ gt: "gt";
516
+ gte: "gte";
517
+ lt: "lt";
518
+ lte: "lte";
519
+ contains: "contains";
520
+ notIn: "notIn";
521
+ }>;
522
+ value: z.ZodAny;
523
+ }, z.core.$strip>>>;
524
+ limit: z.ZodOptional<z.ZodNumber>;
525
+ cursor: z.ZodOptional<z.ZodString>;
526
+ }, z.core.$strip>;
527
+ /**
528
+ * Arguments for getting a single content entry.
529
+ */
530
+ export declare const getContentEntryArgsSchema: z.ZodObject<{
531
+ id: z.ZodOptional<z.ZodString>;
532
+ slug: z.ZodOptional<z.ZodString>;
533
+ contentTypeId: z.ZodOptional<z.ZodString>;
534
+ contentTypeName: z.ZodOptional<z.ZodString>;
535
+ }, z.core.$strip>;
536
+ /**
537
+ * Arguments for restoring a soft-deleted content entry.
538
+ */
539
+ export declare const restoreContentEntryArgsSchema: z.ZodObject<{
540
+ id: z.ZodString;
541
+ updatedBy: z.ZodOptional<z.ZodString>;
542
+ }, z.core.$strip>;
543
+ /**
544
+ * Arguments for creating a media asset.
545
+ */
546
+ export declare const createMediaAssetArgsSchema: z.ZodObject<{
547
+ storageId: z.ZodString;
548
+ filename: z.ZodString;
549
+ mimeType: z.ZodString;
550
+ size: z.ZodNumber;
551
+ type: z.ZodEnum<{
552
+ image: "image";
553
+ video: "video";
554
+ audio: "audio";
555
+ document: "document";
556
+ other: "other";
557
+ }>;
558
+ title: z.ZodOptional<z.ZodString>;
559
+ description: z.ZodOptional<z.ZodString>;
560
+ altText: z.ZodOptional<z.ZodString>;
561
+ folderId: z.ZodOptional<z.ZodString>;
562
+ width: z.ZodOptional<z.ZodNumber>;
563
+ height: z.ZodOptional<z.ZodNumber>;
564
+ duration: z.ZodOptional<z.ZodNumber>;
565
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
566
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
567
+ createdBy: z.ZodOptional<z.ZodString>;
568
+ }, z.core.$strip>;
569
+ /**
570
+ * Arguments for updating a media asset.
571
+ */
572
+ export declare const updateMediaAssetArgsSchema: z.ZodObject<{
573
+ id: z.ZodString;
574
+ title: z.ZodOptional<z.ZodString>;
575
+ description: z.ZodOptional<z.ZodString>;
576
+ altText: z.ZodOptional<z.ZodString>;
577
+ folderId: z.ZodOptional<z.ZodString>;
578
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
579
+ }, z.core.$strip>;
580
+ /**
581
+ * Arguments for listing media assets.
582
+ */
583
+ export declare const listMediaAssetsArgsSchema: z.ZodObject<{
584
+ folderId: z.ZodOptional<z.ZodString>;
585
+ type: z.ZodOptional<z.ZodEnum<{
586
+ image: "image";
587
+ video: "video";
588
+ audio: "audio";
589
+ document: "document";
590
+ other: "other";
591
+ }>>;
592
+ mimeType: z.ZodOptional<z.ZodString>;
593
+ search: z.ZodOptional<z.ZodString>;
594
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
595
+ includeDeleted: z.ZodOptional<z.ZodBoolean>;
596
+ limit: z.ZodOptional<z.ZodNumber>;
597
+ cursor: z.ZodOptional<z.ZodString>;
598
+ }, z.core.$strip>;
599
+ /**
600
+ * Arguments for getting a single media asset.
601
+ */
602
+ export declare const getMediaAssetArgsSchema: z.ZodObject<{
603
+ id: z.ZodString;
604
+ }, z.core.$strip>;
605
+ /**
606
+ * Arguments for deleting a media asset.
607
+ */
608
+ export declare const deleteMediaAssetArgsSchema: z.ZodObject<{
609
+ id: z.ZodString;
610
+ deletedBy: z.ZodOptional<z.ZodString>;
611
+ hardDelete: z.ZodOptional<z.ZodBoolean>;
612
+ }, z.core.$strip>;
613
+ /**
614
+ * Arguments for bulk publishing content entries.
615
+ */
616
+ export declare const bulkPublishArgsSchema: z.ZodObject<{
617
+ ids: z.ZodArray<z.ZodString>;
618
+ changeDescription: z.ZodOptional<z.ZodString>;
619
+ updatedBy: z.ZodOptional<z.ZodString>;
620
+ }, z.core.$strip>;
621
+ /**
622
+ * Arguments for bulk unpublishing content entries.
623
+ */
624
+ export declare const bulkUnpublishArgsSchema: z.ZodObject<{
625
+ ids: z.ZodArray<z.ZodString>;
626
+ updatedBy: z.ZodOptional<z.ZodString>;
627
+ }, z.core.$strip>;
628
+ /**
629
+ * Arguments for bulk deleting content entries.
630
+ */
631
+ export declare const bulkDeleteArgsSchema: z.ZodObject<{
632
+ ids: z.ZodArray<z.ZodString>;
633
+ deletedBy: z.ZodOptional<z.ZodString>;
634
+ hardDelete: z.ZodOptional<z.ZodBoolean>;
635
+ }, z.core.$strip>;
636
+ /**
637
+ * Arguments for searching content.
638
+ */
639
+ export declare const searchContentArgsSchema: z.ZodObject<{
640
+ query: z.ZodString;
641
+ contentTypeId: z.ZodOptional<z.ZodString>;
642
+ contentTypeName: z.ZodOptional<z.ZodString>;
643
+ status: z.ZodOptional<z.ZodEnum<{
644
+ draft: "draft";
645
+ published: "published";
646
+ archived: "archived";
647
+ scheduled: "scheduled";
648
+ }>>;
649
+ limit: z.ZodOptional<z.ZodNumber>;
650
+ }, z.core.$strip>;
651
+ /**
652
+ * Options for creating CMS tools.
653
+ */
654
+ export interface CreateCmsToolsOptions {
655
+ /**
656
+ * Optional user ID to use as the creator/updater for all operations.
657
+ * If not provided, tools will not set createdBy/updatedBy fields.
658
+ */
659
+ defaultUserId?: string;
660
+ }
661
+ /**
662
+ * Creates a set of CMS tools compatible with @convex-dev/agent.
663
+ *
664
+ * These tools provide AI agents with structured access to CMS operations
665
+ * including content type management, content entry CRUD, publishing workflows,
666
+ * and media asset management.
667
+ *
668
+ * @param componentApi - The CMS component API from `components.convexCms`
669
+ * @param options - Optional configuration for the tools
670
+ * @returns An object containing all CMS tools
671
+ *
672
+ * @example
673
+ * ```typescript
674
+ * import { Agent } from "@convex-dev/agent";
675
+ * import { createCmsTools } from "@convex-cms/core";
676
+ * import { components } from "./_generated/api";
677
+ *
678
+ * // Create all CMS tools
679
+ * const cmsTools = createCmsTools(components.convexCms);
680
+ *
681
+ * // Use with an agent
682
+ * const contentAgent = new Agent(components.agent, {
683
+ * name: "Content Manager",
684
+ * languageModel: openai.chat("gpt-4o"),
685
+ * tools: cmsTools,
686
+ * });
687
+ * ```
688
+ *
689
+ * @example
690
+ * ```typescript
691
+ * // Use selected tools with a specialized agent
692
+ * const { listContentEntries, searchContent, getContentEntry } = createCmsTools(api);
693
+ *
694
+ * const researchAgent = new Agent(components.agent, {
695
+ * name: "Content Researcher",
696
+ * tools: { listContentEntries, searchContent, getContentEntry },
697
+ * });
698
+ * ```
699
+ */
700
+ export declare function createCmsTools(componentApi: AgentComponentApi, options?: CreateCmsToolsOptions): {
701
+ createContentType: import("ai").Tool<{
702
+ name: string;
703
+ displayName: string;
704
+ fields: {
705
+ name: string;
706
+ label: string;
707
+ type: "number" | "boolean" | "text" | "richText" | "date" | "datetime" | "reference" | "media" | "json" | "select" | "multiSelect";
708
+ required: boolean;
709
+ searchable?: boolean | undefined;
710
+ localized?: boolean | undefined;
711
+ description?: string | undefined;
712
+ defaultValue?: any;
713
+ options?: {
714
+ minLength?: number | undefined;
715
+ maxLength?: number | undefined;
716
+ pattern?: string | undefined;
717
+ min?: number | undefined;
718
+ max?: number | undefined;
719
+ step?: number | undefined;
720
+ precision?: number | undefined;
721
+ allowedContentTypes?: string[] | undefined;
722
+ multiple?: boolean | undefined;
723
+ minItems?: number | undefined;
724
+ allowedMimeTypes?: string[] | undefined;
725
+ maxFileSize?: number | undefined;
726
+ options?: {
727
+ value: string;
728
+ label: string;
729
+ }[] | undefined;
730
+ allowedBlocks?: string[] | undefined;
731
+ allowedMarks?: string[] | undefined;
732
+ } | undefined;
733
+ }[];
734
+ description?: string | undefined;
735
+ icon?: string | undefined;
736
+ singleton?: boolean | undefined;
737
+ slugField?: string | undefined;
738
+ titleField?: string | undefined;
739
+ sortOrder?: number | undefined;
740
+ createdBy?: string | undefined;
741
+ }, any>;
742
+ updateContentType: import("ai").Tool<{
743
+ id: string;
744
+ displayName?: string | undefined;
745
+ description?: string | undefined;
746
+ fields?: {
747
+ name: string;
748
+ label: string;
749
+ type: "number" | "boolean" | "text" | "richText" | "date" | "datetime" | "reference" | "media" | "json" | "select" | "multiSelect";
750
+ required: boolean;
751
+ searchable?: boolean | undefined;
752
+ localized?: boolean | undefined;
753
+ description?: string | undefined;
754
+ defaultValue?: any;
755
+ options?: {
756
+ minLength?: number | undefined;
757
+ maxLength?: number | undefined;
758
+ pattern?: string | undefined;
759
+ min?: number | undefined;
760
+ max?: number | undefined;
761
+ step?: number | undefined;
762
+ precision?: number | undefined;
763
+ allowedContentTypes?: string[] | undefined;
764
+ multiple?: boolean | undefined;
765
+ minItems?: number | undefined;
766
+ allowedMimeTypes?: string[] | undefined;
767
+ maxFileSize?: number | undefined;
768
+ options?: {
769
+ value: string;
770
+ label: string;
771
+ }[] | undefined;
772
+ allowedBlocks?: string[] | undefined;
773
+ allowedMarks?: string[] | undefined;
774
+ } | undefined;
775
+ }[] | undefined;
776
+ icon?: string | undefined;
777
+ singleton?: boolean | undefined;
778
+ slugField?: string | undefined;
779
+ titleField?: string | undefined;
780
+ sortOrder?: number | undefined;
781
+ isActive?: boolean | undefined;
782
+ updatedBy?: string | undefined;
783
+ }, any>;
784
+ listContentTypes: import("ai").Tool<{
785
+ includeInactive?: boolean | undefined;
786
+ }, any>;
787
+ getContentType: import("ai").Tool<{
788
+ id?: string | undefined;
789
+ name?: string | undefined;
790
+ }, any>;
791
+ createContentEntry: import("ai").Tool<{
792
+ contentTypeId: string;
793
+ data: Record<string, any>;
794
+ slug?: string | undefined;
795
+ locale?: string | undefined;
796
+ status?: "draft" | "published" | "archived" | "scheduled" | undefined;
797
+ createdBy?: string | undefined;
798
+ }, any>;
799
+ updateContentEntry: import("ai").Tool<{
800
+ id: string;
801
+ slug?: string | undefined;
802
+ data?: Record<string, any> | undefined;
803
+ status?: "draft" | "published" | "archived" | "scheduled" | undefined;
804
+ scheduledPublishAt?: number | undefined;
805
+ updatedBy?: string | undefined;
806
+ regenerateSlug?: boolean | undefined;
807
+ }, any>;
808
+ publishEntry: import("ai").Tool<{
809
+ id: string;
810
+ changeDescription?: string | undefined;
811
+ updatedBy?: string | undefined;
812
+ }, any>;
813
+ unpublishEntry: import("ai").Tool<{
814
+ id: string;
815
+ updatedBy?: string | undefined;
816
+ }, any>;
817
+ scheduleEntry: import("ai").Tool<{
818
+ id: string;
819
+ publishAt: number;
820
+ updatedBy?: string | undefined;
821
+ }, any>;
822
+ deleteContentEntry: import("ai").Tool<{
823
+ id: string;
824
+ deletedBy?: string | undefined;
825
+ hardDelete?: boolean | undefined;
826
+ }, any>;
827
+ duplicateContentEntry: import("ai").Tool<{
828
+ sourceEntryId: string;
829
+ slug?: string | undefined;
830
+ copyMediaReferences?: boolean | undefined;
831
+ locale?: string | undefined;
832
+ createdBy?: string | undefined;
833
+ }, any>;
834
+ listContentEntries: import("ai").Tool<{
835
+ contentTypeId?: string | undefined;
836
+ contentTypeName?: string | undefined;
837
+ status?: "draft" | "published" | "archived" | "scheduled" | undefined;
838
+ statusIn?: ("draft" | "published" | "archived" | "scheduled")[] | undefined;
839
+ locale?: string | undefined;
840
+ search?: string | undefined;
841
+ includeDeleted?: boolean | undefined;
842
+ fieldFilters?: {
843
+ field: string;
844
+ operator: "endsWith" | "startsWith" | "in" | "eq" | "ne" | "gt" | "gte" | "lt" | "lte" | "contains" | "notIn";
845
+ value: any;
846
+ }[] | undefined;
847
+ limit?: number | undefined;
848
+ cursor?: string | undefined;
849
+ }, any>;
850
+ getContentEntry: import("ai").Tool<{
851
+ id?: string | undefined;
852
+ slug?: string | undefined;
853
+ contentTypeId?: string | undefined;
854
+ contentTypeName?: string | undefined;
855
+ }, any>;
856
+ restoreContentEntry: import("ai").Tool<{
857
+ id: string;
858
+ updatedBy?: string | undefined;
859
+ }, any>;
860
+ createMediaAsset: import("ai").Tool<{
861
+ storageId: string;
862
+ filename: string;
863
+ mimeType: string;
864
+ size: number;
865
+ type: "image" | "video" | "audio" | "document" | "other";
866
+ title?: string | undefined;
867
+ description?: string | undefined;
868
+ altText?: string | undefined;
869
+ folderId?: string | undefined;
870
+ width?: number | undefined;
871
+ height?: number | undefined;
872
+ duration?: number | undefined;
873
+ metadata?: Record<string, any> | undefined;
874
+ tags?: string[] | undefined;
875
+ createdBy?: string | undefined;
876
+ }, any>;
877
+ updateMediaAsset: import("ai").Tool<{
878
+ id: string;
879
+ title?: string | undefined;
880
+ description?: string | undefined;
881
+ altText?: string | undefined;
882
+ folderId?: string | undefined;
883
+ tags?: string[] | undefined;
884
+ }, any>;
885
+ listMediaAssets: import("ai").Tool<{
886
+ folderId?: string | undefined;
887
+ type?: "image" | "video" | "audio" | "document" | "other" | undefined;
888
+ mimeType?: string | undefined;
889
+ search?: string | undefined;
890
+ tags?: string[] | undefined;
891
+ includeDeleted?: boolean | undefined;
892
+ limit?: number | undefined;
893
+ cursor?: string | undefined;
894
+ }, any>;
895
+ getMediaAsset: import("ai").Tool<{
896
+ id: string;
897
+ }, any>;
898
+ deleteMediaAsset: import("ai").Tool<{
899
+ id: string;
900
+ deletedBy?: string | undefined;
901
+ hardDelete?: boolean | undefined;
902
+ }, any>;
903
+ bulkPublish: import("ai").Tool<{
904
+ ids: string[];
905
+ changeDescription?: string | undefined;
906
+ updatedBy?: string | undefined;
907
+ }, any>;
908
+ bulkUnpublish: import("ai").Tool<{
909
+ ids: string[];
910
+ updatedBy?: string | undefined;
911
+ }, any>;
912
+ bulkDelete: import("ai").Tool<{
913
+ ids: string[];
914
+ deletedBy?: string | undefined;
915
+ hardDelete?: boolean | undefined;
916
+ }, any>;
917
+ searchContent: import("ai").Tool<{
918
+ query: string;
919
+ contentTypeId?: string | undefined;
920
+ contentTypeName?: string | undefined;
921
+ status?: "draft" | "published" | "archived" | "scheduled" | undefined;
922
+ limit?: number | undefined;
923
+ }, any>;
924
+ };
925
+ /**
926
+ * Type representing all available CMS tools.
927
+ */
928
+ export type CmsTools = ReturnType<typeof createCmsTools>;
929
+ /**
930
+ * Tool names available in the CMS tools object.
931
+ */
932
+ export type CmsToolName = keyof CmsTools;
933
+ //# sourceMappingURL=agentTools.d.ts.map