@vexcms/core 0.0.20 → 0.1.0-alpha.2

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 (323) hide show
  1. package/LICENSE +202 -0
  2. package/dist/.build +1 -0
  3. package/dist/access/buildChecks.d.ts +58 -0
  4. package/dist/access/buildChecks.d.ts.map +1 -0
  5. package/dist/access/canAccessAdminPanel.d.ts +53 -0
  6. package/dist/access/canAccessAdminPanel.d.ts.map +1 -0
  7. package/dist/access/compileConstraints.d.ts +155 -0
  8. package/dist/access/compileConstraints.d.ts.map +1 -0
  9. package/dist/access/config.d.ts +62 -0
  10. package/dist/access/config.d.ts.map +1 -0
  11. package/dist/access/constants.d.ts +95 -0
  12. package/dist/access/constants.d.ts.map +1 -0
  13. package/dist/access/constraintTypes.d.ts +337 -0
  14. package/dist/access/constraintTypes.d.ts.map +1 -0
  15. package/dist/access/createAccessQueryBuilder.d.ts +59 -0
  16. package/dist/access/createAccessQueryBuilder.d.ts.map +1 -0
  17. package/dist/access/createFilterConstraintBuilder.d.ts +26 -0
  18. package/dist/access/createFilterConstraintBuilder.d.ts.map +1 -0
  19. package/dist/access/createIndexConstraintBuilder.d.ts +40 -0
  20. package/dist/access/createIndexConstraintBuilder.d.ts.map +1 -0
  21. package/dist/access/hasPermission.d.ts +85 -0
  22. package/dist/access/hasPermission.d.ts.map +1 -0
  23. package/dist/access/index.d.ts +13 -0
  24. package/dist/access/index.d.ts.map +1 -0
  25. package/dist/access/pickQueryIndex.d.ts +42 -0
  26. package/dist/access/pickQueryIndex.d.ts.map +1 -0
  27. package/dist/access/resolveAccessRule.d.ts +85 -0
  28. package/dist/access/resolveAccessRule.d.ts.map +1 -0
  29. package/dist/access/types.d.ts +738 -0
  30. package/dist/access/types.d.ts.map +1 -0
  31. package/dist/access/validateAccessConstraints.d.ts +57 -0
  32. package/dist/access/validateAccessConstraints.d.ts.map +1 -0
  33. package/dist/api/client.d.ts +20 -0
  34. package/dist/api/client.d.ts.map +1 -0
  35. package/dist/api/client.js +117 -0
  36. package/dist/api/client.js.map +1 -0
  37. package/dist/api/convex.d.ts +296 -0
  38. package/dist/api/convex.d.ts.map +1 -0
  39. package/dist/api/create/client.d.ts +50 -0
  40. package/dist/api/create/client.d.ts.map +1 -0
  41. package/dist/api/create/server.d.ts +43 -0
  42. package/dist/api/create/server.d.ts.map +1 -0
  43. package/dist/api/depth.d.ts +39 -0
  44. package/dist/api/depth.d.ts.map +1 -0
  45. package/dist/api/find/client.d.ts +90 -0
  46. package/dist/api/find/client.d.ts.map +1 -0
  47. package/dist/api/find/server.d.ts +73 -0
  48. package/dist/api/find/server.d.ts.map +1 -0
  49. package/dist/api/get/client.d.ts +56 -0
  50. package/dist/api/get/client.d.ts.map +1 -0
  51. package/dist/api/get/server.d.ts +49 -0
  52. package/dist/api/get/server.d.ts.map +1 -0
  53. package/dist/api/globals/find.client.d.ts +20 -0
  54. package/dist/api/globals/find.client.d.ts.map +1 -0
  55. package/dist/api/globals/find.server.d.ts +29 -0
  56. package/dist/api/globals/find.server.d.ts.map +1 -0
  57. package/dist/api/globals/get.client.d.ts +46 -0
  58. package/dist/api/globals/get.client.d.ts.map +1 -0
  59. package/dist/api/globals/get.server.d.ts +55 -0
  60. package/dist/api/globals/get.server.d.ts.map +1 -0
  61. package/dist/api/globals/types.d.ts +65 -0
  62. package/dist/api/globals/types.d.ts.map +1 -0
  63. package/dist/api/globals/upsert.client.d.ts +24 -0
  64. package/dist/api/globals/upsert.client.d.ts.map +1 -0
  65. package/dist/api/globals/upsert.server.d.ts +47 -0
  66. package/dist/api/globals/upsert.server.d.ts.map +1 -0
  67. package/dist/api/populate.d.ts +23 -0
  68. package/dist/api/populate.d.ts.map +1 -0
  69. package/dist/api/remove/client.d.ts +58 -0
  70. package/dist/api/remove/client.d.ts.map +1 -0
  71. package/dist/api/remove/server.d.ts +65 -0
  72. package/dist/api/remove/server.d.ts.map +1 -0
  73. package/dist/api/search/client.d.ts +58 -0
  74. package/dist/api/search/client.d.ts.map +1 -0
  75. package/dist/api/search/server.d.ts +54 -0
  76. package/dist/api/search/server.d.ts.map +1 -0
  77. package/dist/api/server.d.ts +370 -0
  78. package/dist/api/server.d.ts.map +1 -0
  79. package/dist/api/server.js +33 -0
  80. package/dist/api/server.js.map +1 -0
  81. package/dist/api/types.d.ts +525 -0
  82. package/dist/api/types.d.ts.map +1 -0
  83. package/dist/api/update/client.d.ts +53 -0
  84. package/dist/api/update/client.d.ts.map +1 -0
  85. package/dist/api/update/server.d.ts +47 -0
  86. package/dist/api/update/server.d.ts.map +1 -0
  87. package/dist/api/utils.d.ts +57 -0
  88. package/dist/api/utils.d.ts.map +1 -0
  89. package/dist/auth/mergeCollections.d.ts +28 -0
  90. package/dist/auth/mergeCollections.d.ts.map +1 -0
  91. package/dist/auth/types.d.ts +84 -0
  92. package/dist/auth/types.d.ts.map +1 -0
  93. package/dist/chunk-2DU7JDEX.js +1877 -0
  94. package/dist/chunk-2DU7JDEX.js.map +1 -0
  95. package/dist/chunk-2IB2DCN7.js +75 -0
  96. package/dist/chunk-2IB2DCN7.js.map +1 -0
  97. package/dist/collections/config.d.ts +28 -0
  98. package/dist/collections/config.d.ts.map +1 -0
  99. package/dist/collections/constants.d.ts +27 -0
  100. package/dist/collections/constants.d.ts.map +1 -0
  101. package/dist/collections/index.d.ts +7 -0
  102. package/dist/collections/index.d.ts.map +1 -0
  103. package/dist/collections/indexFields.d.ts +20 -0
  104. package/dist/collections/indexFields.d.ts.map +1 -0
  105. package/dist/collections/interfaceGen.d.ts +59 -0
  106. package/dist/collections/interfaceGen.d.ts.map +1 -0
  107. package/dist/collections/internal/index.d.ts +2 -0
  108. package/dist/collections/internal/index.d.ts.map +1 -0
  109. package/dist/collections/types.d.ts +282 -0
  110. package/dist/collections/types.d.ts.map +1 -0
  111. package/dist/collections/utils.d.ts +71 -0
  112. package/dist/collections/utils.d.ts.map +1 -0
  113. package/dist/collections/validator.d.ts +73 -0
  114. package/dist/collections/validator.d.ts.map +1 -0
  115. package/dist/config/config.d.ts +43 -0
  116. package/dist/config/config.d.ts.map +1 -0
  117. package/dist/config/index.d.ts +5 -0
  118. package/dist/config/index.d.ts.map +1 -0
  119. package/dist/config/sanitizeConfig.d.ts +82 -0
  120. package/dist/config/sanitizeConfig.d.ts.map +1 -0
  121. package/dist/config/types.d.ts +316 -0
  122. package/dist/config/types.d.ts.map +1 -0
  123. package/dist/fields/array/config.d.ts +57 -0
  124. package/dist/fields/array/config.d.ts.map +1 -0
  125. package/dist/fields/array/index.d.ts +5 -0
  126. package/dist/fields/array/index.d.ts.map +1 -0
  127. package/dist/fields/array/inputSchema.d.ts +32 -0
  128. package/dist/fields/array/inputSchema.d.ts.map +1 -0
  129. package/dist/fields/array/types.d.ts +127 -0
  130. package/dist/fields/array/types.d.ts.map +1 -0
  131. package/dist/fields/array/validator.d.ts +30 -0
  132. package/dist/fields/array/validator.d.ts.map +1 -0
  133. package/dist/fields/baseTypes.d.ts +251 -0
  134. package/dist/fields/baseTypes.d.ts.map +1 -0
  135. package/dist/fields/blocks/config.d.ts +63 -0
  136. package/dist/fields/blocks/config.d.ts.map +1 -0
  137. package/dist/fields/blocks/index.d.ts +5 -0
  138. package/dist/fields/blocks/index.d.ts.map +1 -0
  139. package/dist/fields/blocks/inputSchema.d.ts +22 -0
  140. package/dist/fields/blocks/inputSchema.d.ts.map +1 -0
  141. package/dist/fields/blocks/types.d.ts +253 -0
  142. package/dist/fields/blocks/types.d.ts.map +1 -0
  143. package/dist/fields/blocks/validator.d.ts +32 -0
  144. package/dist/fields/blocks/validator.d.ts.map +1 -0
  145. package/dist/fields/checkbox/config.d.ts +46 -0
  146. package/dist/fields/checkbox/config.d.ts.map +1 -0
  147. package/dist/fields/checkbox/index.d.ts +5 -0
  148. package/dist/fields/checkbox/index.d.ts.map +1 -0
  149. package/dist/fields/checkbox/inputSchema.d.ts +27 -0
  150. package/dist/fields/checkbox/inputSchema.d.ts.map +1 -0
  151. package/dist/fields/checkbox/types.d.ts +67 -0
  152. package/dist/fields/checkbox/types.d.ts.map +1 -0
  153. package/dist/fields/checkbox/validator.d.ts +34 -0
  154. package/dist/fields/checkbox/validator.d.ts.map +1 -0
  155. package/dist/fields/color/config.d.ts +49 -0
  156. package/dist/fields/color/config.d.ts.map +1 -0
  157. package/dist/fields/color/convert.d.ts +72 -0
  158. package/dist/fields/color/convert.d.ts.map +1 -0
  159. package/dist/fields/color/formats.d.ts +38 -0
  160. package/dist/fields/color/formats.d.ts.map +1 -0
  161. package/dist/fields/color/index.d.ts +8 -0
  162. package/dist/fields/color/index.d.ts.map +1 -0
  163. package/dist/fields/color/inputSchema.d.ts +29 -0
  164. package/dist/fields/color/inputSchema.d.ts.map +1 -0
  165. package/dist/fields/color/types.d.ts +100 -0
  166. package/dist/fields/color/types.d.ts.map +1 -0
  167. package/dist/fields/color/utils.d.ts +100 -0
  168. package/dist/fields/color/utils.d.ts.map +1 -0
  169. package/dist/fields/color/validator.d.ts +27 -0
  170. package/dist/fields/color/validator.d.ts.map +1 -0
  171. package/dist/fields/constants.d.ts +108 -0
  172. package/dist/fields/constants.d.ts.map +1 -0
  173. package/dist/fields/date/config.d.ts +57 -0
  174. package/dist/fields/date/config.d.ts.map +1 -0
  175. package/dist/fields/date/index.d.ts +5 -0
  176. package/dist/fields/date/index.d.ts.map +1 -0
  177. package/dist/fields/date/inputSchema.d.ts +29 -0
  178. package/dist/fields/date/inputSchema.d.ts.map +1 -0
  179. package/dist/fields/date/types.d.ts +147 -0
  180. package/dist/fields/date/types.d.ts.map +1 -0
  181. package/dist/fields/date/validator.d.ts +34 -0
  182. package/dist/fields/date/validator.d.ts.map +1 -0
  183. package/dist/fields/group/config.d.ts +47 -0
  184. package/dist/fields/group/config.d.ts.map +1 -0
  185. package/dist/fields/group/index.d.ts +5 -0
  186. package/dist/fields/group/index.d.ts.map +1 -0
  187. package/dist/fields/group/inputSchema.d.ts +27 -0
  188. package/dist/fields/group/inputSchema.d.ts.map +1 -0
  189. package/dist/fields/group/types.d.ts +105 -0
  190. package/dist/fields/group/types.d.ts.map +1 -0
  191. package/dist/fields/group/validator.d.ts +41 -0
  192. package/dist/fields/group/validator.d.ts.map +1 -0
  193. package/dist/fields/index.d.ts +20 -0
  194. package/dist/fields/index.d.ts.map +1 -0
  195. package/dist/fields/inputSchemas/index.d.ts +23 -0
  196. package/dist/fields/inputSchemas/index.d.ts.map +1 -0
  197. package/dist/fields/inputSchemas/utils.d.ts +25 -0
  198. package/dist/fields/inputSchemas/utils.d.ts.map +1 -0
  199. package/dist/fields/interfaceGen.d.ts +15 -0
  200. package/dist/fields/interfaceGen.d.ts.map +1 -0
  201. package/dist/fields/number/config.d.ts +48 -0
  202. package/dist/fields/number/config.d.ts.map +1 -0
  203. package/dist/fields/number/index.d.ts +5 -0
  204. package/dist/fields/number/index.d.ts.map +1 -0
  205. package/dist/fields/number/inputSchema.d.ts +23 -0
  206. package/dist/fields/number/inputSchema.d.ts.map +1 -0
  207. package/dist/fields/number/types.d.ts +100 -0
  208. package/dist/fields/number/types.d.ts.map +1 -0
  209. package/dist/fields/number/validator.d.ts +39 -0
  210. package/dist/fields/number/validator.d.ts.map +1 -0
  211. package/dist/fields/relationship/config.d.ts +45 -0
  212. package/dist/fields/relationship/config.d.ts.map +1 -0
  213. package/dist/fields/relationship/index.d.ts +5 -0
  214. package/dist/fields/relationship/index.d.ts.map +1 -0
  215. package/dist/fields/relationship/inputSchema.d.ts +31 -0
  216. package/dist/fields/relationship/inputSchema.d.ts.map +1 -0
  217. package/dist/fields/relationship/types.d.ts +126 -0
  218. package/dist/fields/relationship/types.d.ts.map +1 -0
  219. package/dist/fields/relationship/validator.d.ts +27 -0
  220. package/dist/fields/relationship/validator.d.ts.map +1 -0
  221. package/dist/fields/select/config.d.ts +59 -0
  222. package/dist/fields/select/config.d.ts.map +1 -0
  223. package/dist/fields/select/index.d.ts +5 -0
  224. package/dist/fields/select/index.d.ts.map +1 -0
  225. package/dist/fields/select/inputSchema.d.ts +28 -0
  226. package/dist/fields/select/inputSchema.d.ts.map +1 -0
  227. package/dist/fields/select/types.d.ts +89 -0
  228. package/dist/fields/select/types.d.ts.map +1 -0
  229. package/dist/fields/select/validator.d.ts +31 -0
  230. package/dist/fields/select/validator.d.ts.map +1 -0
  231. package/dist/fields/text/config.d.ts +48 -0
  232. package/dist/fields/text/config.d.ts.map +1 -0
  233. package/dist/fields/text/index.d.ts +5 -0
  234. package/dist/fields/text/index.d.ts.map +1 -0
  235. package/dist/fields/text/inputSchema.d.ts +24 -0
  236. package/dist/fields/text/inputSchema.d.ts.map +1 -0
  237. package/dist/fields/text/types.d.ts +132 -0
  238. package/dist/fields/text/types.d.ts.map +1 -0
  239. package/dist/fields/text/validator.d.ts +39 -0
  240. package/dist/fields/text/validator.d.ts.map +1 -0
  241. package/dist/fields/types.d.ts +135 -0
  242. package/dist/fields/types.d.ts.map +1 -0
  243. package/dist/fields/upload/config.d.ts +24 -0
  244. package/dist/fields/upload/config.d.ts.map +1 -0
  245. package/dist/fields/upload/index.d.ts +5 -0
  246. package/dist/fields/upload/index.d.ts.map +1 -0
  247. package/dist/fields/upload/inputSchema.d.ts +17 -0
  248. package/dist/fields/upload/inputSchema.d.ts.map +1 -0
  249. package/dist/fields/upload/types.d.ts +78 -0
  250. package/dist/fields/upload/types.d.ts.map +1 -0
  251. package/dist/fields/upload/validator.d.ts +16 -0
  252. package/dist/fields/upload/validator.d.ts.map +1 -0
  253. package/dist/fields/url/config.d.ts +49 -0
  254. package/dist/fields/url/config.d.ts.map +1 -0
  255. package/dist/fields/url/index.d.ts +5 -0
  256. package/dist/fields/url/index.d.ts.map +1 -0
  257. package/dist/fields/url/inputSchema.d.ts +31 -0
  258. package/dist/fields/url/inputSchema.d.ts.map +1 -0
  259. package/dist/fields/url/types.d.ts +70 -0
  260. package/dist/fields/url/types.d.ts.map +1 -0
  261. package/dist/fields/url/validator.d.ts +37 -0
  262. package/dist/fields/url/validator.d.ts.map +1 -0
  263. package/dist/fields/utils.d.ts +47 -0
  264. package/dist/fields/utils.d.ts.map +1 -0
  265. package/dist/fields/validators/index.d.ts +23 -0
  266. package/dist/fields/validators/index.d.ts.map +1 -0
  267. package/dist/fields/validators/utils.d.ts +24 -0
  268. package/dist/fields/validators/utils.d.ts.map +1 -0
  269. package/dist/framework.d.ts +227 -0
  270. package/dist/framework.d.ts.map +1 -0
  271. package/dist/globals/config/config.d.ts +1 -0
  272. package/dist/globals/config/config.d.ts.map +1 -0
  273. package/dist/globals/config/types.d.ts +1 -0
  274. package/dist/globals/config/types.d.ts.map +1 -0
  275. package/dist/globals/config.d.ts +47 -0
  276. package/dist/globals/config.d.ts.map +1 -0
  277. package/dist/globals/index.d.ts +5 -0
  278. package/dist/globals/index.d.ts.map +1 -0
  279. package/dist/globals/interfaceGen.d.ts +33 -0
  280. package/dist/globals/interfaceGen.d.ts.map +1 -0
  281. package/dist/globals/types.d.ts +175 -0
  282. package/dist/globals/types.d.ts.map +1 -0
  283. package/dist/globals/utils.d.ts +37 -0
  284. package/dist/globals/utils.d.ts.map +1 -0
  285. package/dist/index.d.ts +15 -3165
  286. package/dist/index.d.ts.map +1 -0
  287. package/dist/index.js +2101 -3475
  288. package/dist/index.js.map +1 -1
  289. package/dist/media/api/index.d.ts +5 -0
  290. package/dist/media/api/index.d.ts.map +1 -0
  291. package/dist/media/api/mutations.d.ts +76 -0
  292. package/dist/media/api/mutations.d.ts.map +1 -0
  293. package/dist/media/api/queries.d.ts +28 -0
  294. package/dist/media/api/queries.d.ts.map +1 -0
  295. package/dist/media/api/server.d.ts +68 -0
  296. package/dist/media/api/server.d.ts.map +1 -0
  297. package/dist/media/api/types.d.ts +171 -0
  298. package/dist/media/api/types.d.ts.map +1 -0
  299. package/dist/media/config.d.ts +25 -0
  300. package/dist/media/config.d.ts.map +1 -0
  301. package/dist/media/index.d.ts +6 -0
  302. package/dist/media/index.d.ts.map +1 -0
  303. package/dist/media/types.d.ts +332 -0
  304. package/dist/media/types.d.ts.map +1 -0
  305. package/dist/media/utils.d.ts +35 -0
  306. package/dist/media/utils.d.ts.map +1 -0
  307. package/dist/media/validators.d.ts +61 -0
  308. package/dist/media/validators.d.ts.map +1 -0
  309. package/dist/schema/generateVexSchema.d.ts +36 -0
  310. package/dist/schema/generateVexSchema.d.ts.map +1 -0
  311. package/dist/schema/index.d.ts +3 -0
  312. package/dist/schema/index.d.ts.map +1 -0
  313. package/dist/schema/migrate.d.ts +73 -0
  314. package/dist/schema/migrate.d.ts.map +1 -0
  315. package/dist/types/generateVexTypes.d.ts +41 -0
  316. package/dist/types/generateVexTypes.d.ts.map +1 -0
  317. package/dist/types/generated.d.ts +382 -0
  318. package/dist/types/generated.d.ts.map +1 -0
  319. package/dist/types/index.d.ts +5 -0
  320. package/dist/types/index.d.ts.map +1 -0
  321. package/dist/utils.d.ts +57 -0
  322. package/dist/utils.d.ts.map +1 -0
  323. package/package.json +67 -24
@@ -0,0 +1,370 @@
1
+ import { type MutationBuilder, type FunctionVisibility, type GenericDataModel, type QueryBuilder, type RegisteredQuery, GenericQueryCtx, GenericMutationCtx } from "convex/server";
2
+ import type { VexConfig } from "../config";
3
+ import type { CollectionSlug, GlobalPopulateShape, GlobalSlug, VexDocumentGlobal } from "../types/generated";
4
+ import type { FindServerArgs } from "./find/server";
5
+ import type { GetServerArgs } from "./get/server";
6
+ import type { SearchServerArgs } from "./search/server";
7
+ import type { CreateServerArgs } from "./create/server";
8
+ import type { UpdateServerArgs } from "./update/server";
9
+ import type { RemoveServerArgs } from "./remove/server";
10
+ import type { GetGlobalReturn, GetGlobalServerArgs } from "./globals/get.server";
11
+ import type { UpsertGlobalServerArgs } from "./globals/upsert.server";
12
+ import type { GenericGlobalsQueryServerArgs } from "./globals/types";
13
+ import type { DocReturnItem, GetReturn, PaginationOptions, PaginationResult, PopulateShape } from "./types";
14
+ import { VexGlobalsGetArgs } from "./convex";
15
+ import { VexApiAuth } from "./types";
16
+ export { buildDepthPopulate } from "./depth";
17
+ export { find } from "./find/server";
18
+ export type { FindServerArgs } from "./find/server";
19
+ export { get } from "./get/server";
20
+ export type { GetServerArgs } from "./get/server";
21
+ export { search } from "./search/server";
22
+ export type { SearchServerArgs } from "./search/server";
23
+ export { create } from "./create/server";
24
+ export type { CreateServerArgs } from "./create/server";
25
+ export { update } from "./update/server";
26
+ export type { UpdateServerArgs } from "./update/server";
27
+ export { remove } from "./remove/server";
28
+ export type { RemoveServerArgs } from "./remove/server";
29
+ export { getGlobal } from "./globals/get.server";
30
+ export type { GetGlobalServerArgs } from "./globals/get.server";
31
+ export { findGlobals } from "./globals/find.server";
32
+ export { upsertGlobal } from "./globals/upsert.server";
33
+ export type { UpsertGlobalServerArgs } from "./globals/upsert.server";
34
+ /**
35
+ * Registers the full collection CRUD surface — `find`, `get`, `search`,
36
+ * `create`, `update`, `remove` — as Convex endpoints, with RBAC enforcement
37
+ * resolved entirely on the server.
38
+ *
39
+ * All query/mutation logic lives in the imported server functions; this
40
+ * factory only provides the arg validators, the `query()`/`mutation()`
41
+ * wrappers Convex needs at the network boundary, and the auth seam.
42
+ *
43
+ * **Identity never crosses the wire as an argument.** Callers (React
44
+ * components, Next.js preloads, raw clients) cannot pass a user or
45
+ * organization — there is deliberately no `auth` arg in any endpoint's
46
+ * validator, so a client cannot impersonate its way past a permission check.
47
+ * Instead, each handler resolves the caller once per request via the
48
+ * server-side `getAuth` callback, which reads the authenticated connection
49
+ * (`ctx.auth`) and returns the current user document and active organization.
50
+ * The resolved {@link VexApiAuth} is forwarded to the underlying server
51
+ * functions, which run {@link hasPermission} against `config.access`:
52
+ * reads filter denied documents out (and `get` returns `null`), writes throw
53
+ * {@link VexAccessError}.
54
+ *
55
+ * Enforcement is strictly opt-in, and misconfiguration fails loudly:
56
+ * - No `config.access` → RBAC is off; `getAuth` is never called and every
57
+ * operation behaves exactly as before the seam existed.
58
+ * - `config.access` set but `getAuth` omitted → {@link VexAccessConfigError}
59
+ * on the first request (see {@link resolveGetAuth}) — a permission matrix
60
+ * with no caller resolver is a project bug, surfaced immediately.
61
+ * - `getAuth` resolving `undefined` (unauthenticated caller) → checks run
62
+ * with no user, so no roles resolve and access is denied, unless access.anonRole
63
+ * is configured, in which case that role will be used.
64
+ *
65
+ * Because identity rides the Convex connection token, the same endpoints work
66
+ * unchanged from every runtime: client subscriptions (`useQuery`) on an
67
+ * authenticated Convex provider, and server preloads by passing the JWT
68
+ * (`preloadQuery(api.vex.find, args, { token })`) — preloaded results come
69
+ * back already permission-filtered. Auth plugins supply the resolver (e.g.
70
+ * `@vexcms/better-auth` exports one that loads the user document and active
71
+ * organization from the session); core only knows the `getAuth` shape.
72
+ *
73
+ * @typeParam DataModel - The project's generated Convex data model.
74
+ * @typeParam Visibility - Function visibility of the supplied builders;
75
+ * defaults to `"public"`.
76
+ * @param props - Factory configuration.
77
+ * @param props.config - The resolved `VexConfig`; `config.access` (when set)
78
+ * is the permission matrix every operation enforces.
79
+ * @param props.query - The project's Convex `query` builder.
80
+ * @param props.mutation - The project's Convex `mutation` builder.
81
+ * @param props.getAuth - Server-side resolver for the current caller: receives
82
+ * the handler's ctx and returns `{ user, organization? }` (or `undefined`
83
+ * when unauthenticated). Called once per request, and only when
84
+ * `config.access` is configured. Never exposed to clients.
85
+ * @returns Registered `find` / `get` / `search` queries and
86
+ * `create` / `update` / `remove` mutations for `convex/vex.ts` to re-export.
87
+ *
88
+ * @example
89
+ * ```ts
90
+ * // apps/test/convex/vex.ts
91
+ * import { collectionsApi } from "@vexcms/core/server";
92
+ * import { createGetAuth } from "@vexcms/better-auth/server";
93
+ * import { mutation, query } from "./_generated/server";
94
+ * import config from "~/vex.config";
95
+ *
96
+ * export const { find, get, search, create, update, remove } = collectionsApi({
97
+ * config,
98
+ * query,
99
+ * mutation,
100
+ * getAuth: createGetAuth(), // resolves user + active org from ctx.auth
101
+ * });
102
+ * ```
103
+ *
104
+ * @see {@link hasPermission} for resolution semantics (roles, wildcards, field maps)
105
+ * @see {@link VexApiAuth} for the resolved caller shape
106
+ */
107
+ export declare function collectionsApi<DataModel extends GenericDataModel, Visibility extends FunctionVisibility = "public">({ config, query, mutation, getAuth, }: {
108
+ config: VexConfig;
109
+ query: QueryBuilder<DataModel, Visibility>;
110
+ mutation: MutationBuilder<DataModel, Visibility>;
111
+ getAuth?: (ctx: GenericQueryCtx<DataModel> | GenericMutationCtx<DataModel>) => Promise<VexApiAuth | undefined>;
112
+ }): {
113
+ find: RegisteredQuery<Visibility, {
114
+ limit?: number | undefined;
115
+ populate?: any;
116
+ depth?: number | undefined;
117
+ paginationOpts?: {
118
+ id?: number | undefined;
119
+ endCursor?: string | null | undefined;
120
+ maximumRowsRead?: number | undefined;
121
+ maximumBytesRead?: number | undefined;
122
+ numItems: number;
123
+ cursor: string | null;
124
+ totalDocs?: boolean | undefined;
125
+ } | undefined;
126
+ collection: string;
127
+ }, Promise<import("./convex").VexDocument[]>>;
128
+ get: RegisteredQuery<Visibility, {
129
+ populate?: any;
130
+ depth?: number | undefined;
131
+ id: string;
132
+ collection: string;
133
+ }, Promise<import("./convex").VexDocument | null>>;
134
+ search: RegisteredQuery<Visibility, {
135
+ limit?: number | undefined;
136
+ populate?: any;
137
+ depth?: number | undefined;
138
+ paginationOpts?: {
139
+ id?: number | undefined;
140
+ endCursor?: string | null | undefined;
141
+ maximumRowsRead?: number | undefined;
142
+ maximumBytesRead?: number | undefined;
143
+ numItems: number;
144
+ cursor: string | null;
145
+ totalDocs?: boolean | undefined;
146
+ } | undefined;
147
+ collection: string;
148
+ query: string;
149
+ searchField: string;
150
+ searchIndexName: string;
151
+ }, Promise<import("./convex").VexDocument[]>>;
152
+ create: import("convex/server").RegisteredMutation<Visibility, {
153
+ collection: string;
154
+ data: any;
155
+ }, Promise<string>>;
156
+ update: import("convex/server").RegisteredMutation<Visibility, {
157
+ id: string;
158
+ collection: string;
159
+ data: any;
160
+ }, Promise<void>>;
161
+ remove: import("convex/server").RegisteredMutation<Visibility, {
162
+ softDelete?: string | undefined;
163
+ collection: string;
164
+ ids: string[];
165
+ }, Promise<void>>;
166
+ };
167
+ /**
168
+ * Registers `globals.get`, `globals.find`, and `globals.update` as Convex
169
+ * query and mutation endpoints under `api.vex.globals.*`.
170
+ *
171
+ * Call once in `convex/vex.ts` alongside `queryApi` and `mutationApi`.
172
+ *
173
+ * @param props.config - The resolved `VexConfig`.
174
+ * @param props.query - Convex `query` builder. Defaults to `internalQueryGeneric`.
175
+ * @param props.mutation - Convex `mutation` builder. Defaults to `internalMutationGeneric`.
176
+ * @param props.getAuth - Server-side resolver for the current caller: receives
177
+ * the handler's ctx and returns `{ user, organization? }` (or `undefined`
178
+ * when unauthenticated). Called once per request, and only when
179
+ * `config.access` is configured. Never exposed to clients.
180
+ * @returns `{ globals }` with `.get`, `.find`, `.update` registered handlers.
181
+ *
182
+ * @example
183
+ * ```ts
184
+ * // apps/test/convex/vex.ts
185
+ * import { queryApi, mutationApi, globalsApi } from "@vexcms/core/server";
186
+ * import { query, mutation } from "./_generated/server";
187
+ * import config from "../src/vex.config";
188
+ *
189
+ * export const { find, get, search } = queryApi(config, query);
190
+ * export const { create, update, remove } = mutationApi(config, mutation);
191
+ * export const { globals } = globalsApi(config, query, mutation);
192
+ * // → api.vex.globals.get, api.vex.globals.find, api.vex.globals.update
193
+ * ```
194
+ */
195
+ export declare function globalsApi<DataModel extends GenericDataModel, Visibility extends FunctionVisibility = "public">({ config, query, mutation, getAuth, }: {
196
+ config: VexConfig;
197
+ query: QueryBuilder<DataModel, Visibility>;
198
+ mutation: MutationBuilder<DataModel, Visibility>;
199
+ getAuth?: (ctx: GenericQueryCtx<DataModel> | GenericMutationCtx<DataModel>) => Promise<VexApiAuth | undefined>;
200
+ }): {
201
+ get: RegisteredQuery<Visibility, VexGlobalsGetArgs, VexDocumentGlobal | null>;
202
+ find: RegisteredQuery<Visibility, {}, Promise<VexDocumentGlobal<string>[]>>;
203
+ upsert: import("convex/server").RegisteredMutation<Visibility, {
204
+ slug: string;
205
+ data: any;
206
+ }, Promise<string>>;
207
+ };
208
+ /**
209
+ * Resolves the current caller for RBAC enforcement — the single auth
210
+ * resolution point every `collectionsApi` handler runs before its operation.
211
+ *
212
+ * Behavior by configuration:
213
+ * - No `config.access` → RBAC is off. Returns `undefined` without ever
214
+ * calling `getAuth` — zero auth overhead for projects without access
215
+ * control.
216
+ * - `config.access` set but no `getAuth` supplied → throws
217
+ * {@link VexAccessConfigError}. A permission matrix with no way to resolve
218
+ * callers is a project misconfiguration; failing loudly at the first
219
+ * request beats silently denying (or worse, allowing) everything.
220
+ * - Both configured → returns whatever `getAuth(ctx)` resolves: the caller's
221
+ * user document and active organization, or `undefined` when the request
222
+ * is unauthenticated. Downstream checks treat `undefined` as a user with
223
+ * no roles — deny. If access.anonRole is configured, downstream checks will
224
+ * fallback to that role.
225
+ *
226
+ * Identity always derives from the handler's `ctx` (the authenticated Convex
227
+ * connection), never from client-supplied arguments — see
228
+ * {@link collectionsApi} for the trust-model rationale.
229
+ *
230
+ * @typeParam TDataModel - The project's generated Convex data model.
231
+ * @param props - Resolution inputs.
232
+ * @param props.config - The resolved `VexConfig`; only `config.access`'s
233
+ * presence is consulted here.
234
+ * @param props.ctx - The current handler's query or mutation context.
235
+ * @param props.getAuth - The project's server-side caller resolver (typically
236
+ * supplied by an auth plugin, e.g. `@vexcms/better-auth`).
237
+ * @returns The resolved {@link VexApiAuth}, or `undefined` when RBAC is off
238
+ * or the request is unauthenticated.
239
+ * @throws {VexAccessConfigError} When `config.access` is configured but no
240
+ * `getAuth` resolver was passed to `collectionsApi`.
241
+ */
242
+ export declare function resolveGetAuth<TDataModel extends GenericDataModel>({ config, ctx, getAuth, }: {
243
+ config: VexConfig;
244
+ ctx: GenericQueryCtx<TDataModel> | GenericMutationCtx<TDataModel>;
245
+ getAuth?: (ctx: GenericQueryCtx<TDataModel> | GenericMutationCtx<TDataModel>) => Promise<VexApiAuth | undefined>;
246
+ }): Promise<VexApiAuth | undefined>;
247
+ /**
248
+ * Args accepted by a bound helper from {@link vexServerApi} — the
249
+ * underlying server args minus `config` and `auth`, which the factory injects.
250
+ *
251
+ * @typeParam TArgs - The wrapped function's original server args.
252
+ */
253
+ export type BoundServerArgs<TArgs> = Omit<TArgs, "auth" | "config">;
254
+ /**
255
+ * `find`, bound to a config/auth pair. Preserves both server overloads:
256
+ * without `paginationOpts` the result is an array, with it a `PaginationResult`.
257
+ *
258
+ * Return types inline `DocReturnItem<…>[]` rather than naming `FindReturn` so
259
+ * hover resolves to `Doc[]` — see the display note in `./types`.
260
+ */
261
+ export interface BoundFind<DataModel extends GenericDataModel> {
262
+ <TCollectionSlug extends CollectionSlug, const TPopulate extends PopulateShape<TCollectionSlug> = Record<string, never>, const D extends number = 0>(args: BoundServerArgs<FindServerArgs<DataModel, TCollectionSlug, TPopulate, D>> & {
263
+ paginationOpts?: never;
264
+ }): Promise<DocReturnItem<TCollectionSlug, TPopulate, D>[]>;
265
+ <TCollectionSlug extends CollectionSlug, const TPopulate extends PopulateShape<TCollectionSlug> = Record<string, never>, const D extends number = 0>(args: BoundServerArgs<FindServerArgs<DataModel, TCollectionSlug, TPopulate, D>> & {
266
+ paginationOpts: PaginationOptions;
267
+ }): Promise<PaginationResult<DocReturnItem<TCollectionSlug, TPopulate, D>>>;
268
+ }
269
+ /** `search`, bound to a config/auth pair. Preserves both server overloads. */
270
+ export interface BoundSearch<DataModel extends GenericDataModel> {
271
+ <TCollectionSlug extends CollectionSlug, const TPopulate extends PopulateShape<TCollectionSlug> = Record<string, never>, const D extends number = 0>(args: BoundServerArgs<SearchServerArgs<DataModel, TCollectionSlug, TPopulate, D>> & {
272
+ paginationOpts?: never;
273
+ }): Promise<DocReturnItem<TCollectionSlug, TPopulate, D>[]>;
274
+ <TCollectionSlug extends CollectionSlug, const TPopulate extends PopulateShape<TCollectionSlug> = Record<string, never>, const D extends number = 0>(args: BoundServerArgs<SearchServerArgs<DataModel, TCollectionSlug, TPopulate, D>> & {
275
+ paginationOpts: PaginationOptions;
276
+ }): Promise<PaginationResult<DocReturnItem<TCollectionSlug, TPopulate, D>>>;
277
+ }
278
+ /**
279
+ * The collection and globals surface returned by {@link vexServerApi},
280
+ * with `config` and `auth` already applied. Every member keeps the slug,
281
+ * populate, and depth generics of the function it wraps, so return types narrow
282
+ * exactly as the unbound versions do.
283
+ */
284
+ export interface VexServerApi<DataModel extends GenericDataModel> {
285
+ /** Fetch one document by id. */
286
+ get: <TCollectionSlug extends CollectionSlug, const TPopulate extends PopulateShape<TCollectionSlug> = Record<string, never>, const D extends number = 0>(args: BoundServerArgs<GetServerArgs<DataModel, TCollectionSlug, TPopulate, D>>) => Promise<GetReturn<TCollectionSlug, TPopulate, D>>;
287
+ /** List documents, optionally paginated. */
288
+ find: BoundFind<DataModel>;
289
+ /** Text-search documents, optionally paginated. */
290
+ search: BoundSearch<DataModel>;
291
+ /** Insert a document; resolves to the new id. */
292
+ create: <TCollectionSlug extends CollectionSlug>(args: BoundServerArgs<CreateServerArgs<DataModel, TCollectionSlug>>) => Promise<string>;
293
+ /** Patch a document. */
294
+ update: <TCollectionSlug extends CollectionSlug>(args: BoundServerArgs<UpdateServerArgs<DataModel, TCollectionSlug>>) => Promise<void>;
295
+ /** Delete (or soft-delete) documents. */
296
+ remove: <TCollectionSlug extends CollectionSlug>(args: BoundServerArgs<RemoveServerArgs<DataModel, TCollectionSlug>>) => Promise<void>;
297
+ globals: {
298
+ /** Fetch one global as a flat document. */
299
+ get: <TSlug extends GlobalSlug, const TPopulate extends GlobalPopulateShape<TSlug> = Record<string, never>, const D extends number = 0>(args: BoundServerArgs<GetGlobalServerArgs<DataModel, TSlug, TPopulate, D>>) => Promise<GetGlobalReturn<TSlug, TPopulate, D>>;
300
+ /** List every saved global. Mixed-slug, so intentionally un-narrowed. */
301
+ find: (args: BoundServerArgs<GenericGlobalsQueryServerArgs<DataModel>>) => Promise<VexDocumentGlobal[]>;
302
+ /** Create or update a global; resolves to its id. */
303
+ upsert: <TSlug extends GlobalSlug = GlobalSlug>(args: BoundServerArgs<UpsertGlobalServerArgs<DataModel, TSlug>>) => Promise<string>;
304
+ };
305
+ }
306
+ /**
307
+ * Binds `config` and a `getAuth` resolver to the whole server API, so callers
308
+ * never pass either again.
309
+ *
310
+ * Without this, every call site must remember `config` *and* `auth`. Forgetting
311
+ * `config` silently disables RBAC for that call; passing `config` without
312
+ * `auth` denies (or throws) on every check. Binding once removes both failure
313
+ * modes by construction.
314
+ *
315
+ * Call it once in the project and re-export the result:
316
+ *
317
+ * @typeParam DataModel - The project's generated Convex data model. Required —
318
+ * it cannot be inferred (`getAuth` is optional, so there is no reliable
319
+ * inference site), and letting it fall back to `GenericDataModel` produces a
320
+ * confusing `ctx` mismatch at every call site rather than an error here.
321
+ * @param options - Binding inputs.
322
+ * @param options.config - The resolved `VexConfig` from `defineConfig`.
323
+ * @param options.getAuth - Resolves the caller from `ctx` on every call
324
+ * (typically `createGetAuth()` from an auth adapter). Required whenever
325
+ * `config.access` is set; {@link resolveGetAuth} throws if it is missing.
326
+ * @returns The full {@link VexServerApi} with `config`/`auth` pre-applied.
327
+ *
328
+ * @example
329
+ * ```ts
330
+ * // convex/vexApi.ts — written once
331
+ * import { vexServerApi } from "@vexcms/core/server";
332
+ * import config from "~/vex.config";
333
+ * import type { DataModel } from "./_generated/dataModel";
334
+ * import { getAuth } from "./vexContext";
335
+ *
336
+ * export const { get, find, search, create, update, remove, globals } =
337
+ * vexServerApi<DataModel>({ config, getAuth });
338
+ * ```
339
+ *
340
+ * ```ts
341
+ * // anywhere else — no config, no auth, RBAC enforced
342
+ * import { find } from "./vexApi";
343
+ *
344
+ * export const list = query({
345
+ * handler: async (ctx) => await find({ ctx, collection: "pages" }),
346
+ * });
347
+ * // ^? Page[]
348
+ *
349
+ * // a genuinely public read, opted out explicitly
350
+ * export const bySlug = query({
351
+ * args: { slug: v.string() },
352
+ * handler: async (ctx, args) =>
353
+ * await find({
354
+ * ctx,
355
+ * collection: "pages",
356
+ * withIndex: { name: "by_slug", range: (q) => q.eq("slug", args.slug) },
357
+ * limit: 1,
358
+ * access: { bypass: true },
359
+ * }),
360
+ * });
361
+ * ```
362
+ *
363
+ * @see {@link collectionsApi} to register the generic CRUD endpoints instead
364
+ * @see {@link resolveGetAuth} for the per-call auth resolution this performs
365
+ */
366
+ export declare function vexServerApi<DataModel extends GenericDataModel>(options: {
367
+ config: VexConfig;
368
+ getAuth?: (ctx: GenericQueryCtx<DataModel> | GenericMutationCtx<DataModel>) => Promise<VexApiAuth | undefined>;
369
+ }): VexServerApi<DataModel>;
370
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import {
2
+ buildDepthPopulate,
3
+ collectionsApi,
4
+ create,
5
+ find,
6
+ findGlobals,
7
+ get,
8
+ getGlobal,
9
+ globalsApi,
10
+ remove,
11
+ resolveGetAuth,
12
+ search,
13
+ update,
14
+ upsertGlobal,
15
+ vexServerApi
16
+ } from "../chunk-2DU7JDEX.js";
17
+ export {
18
+ buildDepthPopulate,
19
+ collectionsApi,
20
+ create,
21
+ find,
22
+ findGlobals,
23
+ get,
24
+ getGlobal,
25
+ globalsApi,
26
+ remove,
27
+ resolveGetAuth,
28
+ search,
29
+ update,
30
+ upsertGlobal,
31
+ vexServerApi
32
+ };
33
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}