rimecms 0.31.4 → 0.32.0

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 (1079) hide show
  1. package/README.md +1 -1
  2. package/dist/adapter-sqlite/area.server.d.ts +10 -46
  3. package/dist/adapter-sqlite/area.server.js +31 -309
  4. package/dist/adapter-sqlite/auth.server.d.ts +11 -19
  5. package/dist/adapter-sqlite/auth.server.js +20 -77
  6. package/dist/adapter-sqlite/blocks.server.d.ts +7 -8
  7. package/dist/adapter-sqlite/blocks.server.js +17 -12
  8. package/dist/adapter-sqlite/collection.server.d.ts +10 -67
  9. package/dist/adapter-sqlite/collection.server.js +22 -418
  10. package/dist/adapter-sqlite/columns.server.d.ts +140 -0
  11. package/dist/adapter-sqlite/columns.server.js +307 -0
  12. package/dist/adapter-sqlite/generate-schema/column.server.js +1 -1
  13. package/dist/adapter-sqlite/generate-schema/index.server.d.ts +3 -3
  14. package/dist/adapter-sqlite/generate-schema/index.server.js +64 -139
  15. package/dist/adapter-sqlite/generate-schema/relations/junction.server.d.ts +3 -2
  16. package/dist/adapter-sqlite/generate-schema/relations/junction.server.js +14 -7
  17. package/dist/adapter-sqlite/generate-schema/root.server.d.ts +31 -7
  18. package/dist/adapter-sqlite/generate-schema/root.server.js +35 -19
  19. package/dist/adapter-sqlite/generate-schema/templates.server.d.ts +55 -60
  20. package/dist/adapter-sqlite/generate-schema/templates.server.js +110 -169
  21. package/dist/adapter-sqlite/generate-schema/write.server.js +19 -6
  22. package/dist/adapter-sqlite/index.server.d.ts +17 -23
  23. package/dist/adapter-sqlite/index.server.js +33 -36
  24. package/dist/adapter-sqlite/locales.server.d.ts +31 -0
  25. package/dist/adapter-sqlite/locales.server.js +57 -0
  26. package/dist/adapter-sqlite/naming.server.d.ts +134 -0
  27. package/dist/adapter-sqlite/naming.server.js +98 -0
  28. package/dist/adapter-sqlite/order-by.server.d.ts +29 -0
  29. package/dist/adapter-sqlite/order-by.server.js +115 -0
  30. package/dist/adapter-sqlite/read.server.d.ts +78 -0
  31. package/dist/adapter-sqlite/read.server.js +188 -0
  32. package/dist/adapter-sqlite/registry.server.d.ts +45 -0
  33. package/dist/adapter-sqlite/registry.server.js +63 -0
  34. package/dist/adapter-sqlite/relations.server.d.ts +10 -12
  35. package/dist/adapter-sqlite/relations.server.js +24 -8
  36. package/dist/adapter-sqlite/rows.server.d.ts +36 -0
  37. package/dist/adapter-sqlite/rows.server.js +6 -0
  38. package/dist/adapter-sqlite/select.server.d.ts +25 -0
  39. package/dist/adapter-sqlite/select.server.js +274 -0
  40. package/dist/adapter-sqlite/table.server.d.ts +18 -0
  41. package/dist/adapter-sqlite/table.server.js +63 -0
  42. package/dist/adapter-sqlite/transform.server.d.ts +13 -12
  43. package/dist/adapter-sqlite/transform.server.js +118 -197
  44. package/dist/adapter-sqlite/tree.server.d.ts +7 -8
  45. package/dist/adapter-sqlite/tree.server.js +13 -12
  46. package/dist/adapter-sqlite/types.server.d.ts +6 -5
  47. package/dist/adapter-sqlite/where.server.d.ts +25 -3
  48. package/dist/adapter-sqlite/where.server.js +46 -36
  49. package/dist/adapter-sqlite/write.server.d.ts +166 -0
  50. package/dist/adapter-sqlite/write.server.js +272 -0
  51. package/dist/core/adapter.d.ts +456 -0
  52. package/dist/core/adapter.js +13 -0
  53. package/dist/core/auth/access.d.ts +73 -0
  54. package/dist/core/auth/augment.d.ts +18 -0
  55. package/dist/core/auth/augment.js +110 -0
  56. package/dist/core/auth/augment.server.d.ts +3 -0
  57. package/dist/core/auth/augment.server.js +23 -0
  58. package/dist/core/auth/better-auth/config.server.d.ts +2122 -0
  59. package/dist/core/auth/better-auth/config.server.js +81 -0
  60. package/dist/core/auth/better-auth/hooks.server.js +132 -0
  61. package/dist/core/auth/better-auth/instance.server.d.ts +4215 -0
  62. package/dist/core/auth/better-auth/instance.server.js +26 -0
  63. package/dist/core/auth/better-auth-tables.server.d.ts +33 -0
  64. package/dist/core/auth/better-auth-tables.server.js +50 -0
  65. package/dist/core/auth/configure.d.ts +21 -0
  66. package/dist/core/auth/configure.js +21 -0
  67. package/dist/core/auth/constant.server.d.ts +28 -0
  68. package/dist/core/auth/constant.server.js +43 -0
  69. package/dist/core/auth/enabled.d.ts +10 -0
  70. package/dist/core/auth/enabled.js +10 -0
  71. package/dist/core/auth/handler/index.server.js +159 -0
  72. package/dist/core/auth/hooks/augment-fields-password.server.d.ts +20 -0
  73. package/dist/core/auth/hooks/augment-fields-password.server.js +44 -0
  74. package/dist/core/auth/hooks/create-better-auth-user.server.d.ts +4 -0
  75. package/dist/core/auth/hooks/create-better-auth-user.server.js +212 -0
  76. package/dist/core/auth/hooks/delete-better-auth-user.server.d.ts +4 -0
  77. package/dist/core/auth/hooks/delete-better-auth-user.server.js +25 -0
  78. package/dist/core/auth/hooks/forward-roles.server.d.ts +12 -0
  79. package/dist/core/auth/hooks/forward-roles.server.js +58 -0
  80. package/dist/core/auth/hooks/index.server.d.ts +18 -0
  81. package/dist/core/auth/hooks/index.server.js +18 -0
  82. package/dist/core/auth/hooks/populate-api-key.server.d.ts +5 -0
  83. package/dist/core/auth/hooks/populate-api-key.server.js +22 -0
  84. package/dist/core/auth/hooks/prevent-superadmin-deletion.server.d.ts +6 -0
  85. package/dist/core/auth/hooks/prevent-superadmin-deletion.server.js +16 -0
  86. package/dist/core/auth/hooks/prevent-superadmin-mutation.server.d.ts +5 -0
  87. package/dist/core/auth/hooks/prevent-superadmin-mutation.server.js +28 -0
  88. package/dist/core/auth/hooks/prevent-user-mutations.server.d.ts +5 -0
  89. package/dist/core/auth/hooks/prevent-user-mutations.server.js +13 -0
  90. package/dist/core/auth/hooks/remove-private-fields.server.d.ts +7 -0
  91. package/dist/core/auth/hooks/remove-private-fields.server.js +11 -0
  92. package/dist/core/auth/hooks/sign-in-new-user.server.d.ts +12 -0
  93. package/dist/core/auth/hooks/sign-in-new-user.server.js +29 -0
  94. package/dist/core/auth/module.d.ts +2 -0
  95. package/dist/core/auth/module.js +2 -0
  96. package/dist/core/auth/module.server.d.ts +2 -0
  97. package/dist/core/auth/module.server.js +2 -0
  98. package/dist/core/auth/staff/configure.d.ts +7 -0
  99. package/dist/core/auth/staff/configure.js +13 -0
  100. package/dist/core/auth/staff/configure.server.d.ts +7 -0
  101. package/dist/core/auth/staff/configure.server.js +14 -0
  102. package/dist/core/auth/staff/derive.d.ts +23 -0
  103. package/dist/core/auth/staff/derive.js +58 -0
  104. package/dist/core/auth/tables.d.ts +38 -0
  105. package/dist/core/auth/tables.js +157 -0
  106. package/dist/core/auth/types.d.ts +47 -0
  107. package/dist/core/auth/user.server.d.ts +43 -0
  108. package/dist/core/auth/user.server.js +73 -0
  109. package/dist/core/auth/util.d.ts +13 -0
  110. package/dist/core/auth/validate-config.d.ts +13 -0
  111. package/dist/core/auth/validate-config.js +42 -0
  112. package/dist/core/boot.server.d.ts +4227 -0
  113. package/dist/core/boot.server.js +61 -0
  114. package/dist/core/codegen.server.d.ts +22 -0
  115. package/dist/core/codegen.server.js +58 -0
  116. package/dist/core/config/build.d.ts +23 -0
  117. package/dist/core/config/build.js +22 -0
  118. package/dist/core/config/build.server.d.ts +70 -0
  119. package/dist/core/config/build.server.js +33 -0
  120. package/dist/core/config/configure.d.ts +26 -0
  121. package/dist/core/config/configure.js +40 -0
  122. package/dist/core/config/context.server.d.ts +82 -0
  123. package/dist/core/config/context.server.js +118 -0
  124. package/dist/core/config/index.d.ts +4 -0
  125. package/dist/core/config/index.js +4 -0
  126. package/dist/core/config/index.server.d.ts +9 -0
  127. package/dist/core/config/index.server.js +11 -0
  128. package/dist/core/config/types.d.ts +88 -170
  129. package/dist/core/config/validate.server.d.ts +3 -0
  130. package/dist/core/config/validate.server.js +259 -0
  131. package/dist/core/constants.d.ts +69 -0
  132. package/dist/core/constants.js +69 -0
  133. package/dist/core/constants.server.d.ts +5 -0
  134. package/dist/core/constants.server.js +6 -0
  135. package/dist/core/cors/configure.server.d.ts +11 -0
  136. package/dist/core/cors/configure.server.js +14 -0
  137. package/dist/core/cors/handler.server.js +75 -0
  138. package/dist/core/cors/module.browser.js +1 -0
  139. package/dist/core/cors/module.server.d.ts +1 -0
  140. package/dist/core/cors/module.server.js +7 -0
  141. package/dist/core/dev/cache.server.d.ts +17 -0
  142. package/dist/core/dev/cache.server.js +65 -0
  143. package/dist/core/dev/cli/commands/build.js +70 -0
  144. package/dist/core/dev/cli/commands/clear.server.js +42 -0
  145. package/dist/core/dev/cli/commands/generate-exports.server.d.ts +26 -0
  146. package/dist/core/dev/cli/commands/generate-exports.server.js +155 -0
  147. package/dist/core/dev/cli/commands/generate.server.js +98 -0
  148. package/dist/core/dev/cli/commands/init.server.js +242 -0
  149. package/dist/core/dev/cli/index.js +16 -16
  150. package/dist/core/dev/cli/templates/build.js +45 -0
  151. package/dist/core/dev/cli/templates/init.d.ts +18 -0
  152. package/dist/core/dev/cli/templates/init.js +117 -0
  153. package/dist/core/dev/cli/util/package-manager.server.js +7 -3
  154. package/dist/core/dev/cli/util/package.server.d.ts +0 -8
  155. package/dist/core/dev/cli/util/package.server.js +0 -10
  156. package/dist/core/dev/codegen/routes/common.server.d.ts +35 -0
  157. package/dist/core/dev/codegen/routes/common.server.js +437 -0
  158. package/dist/core/dev/codegen/routes/custom-css.server.js +86 -0
  159. package/dist/core/dev/codegen/routes/index.server.d.ts +17 -0
  160. package/dist/core/dev/codegen/routes/index.server.js +110 -0
  161. package/dist/core/dev/codegen/routes/util.server.d.ts +52 -0
  162. package/dist/core/dev/codegen/routes/util.server.js +118 -0
  163. package/dist/core/dev/codegen/runtime/index.server.d.ts +78 -0
  164. package/dist/core/dev/codegen/runtime/index.server.js +92 -0
  165. package/dist/core/dev/codegen/runtime/parse-exports.server.d.ts +16 -0
  166. package/dist/core/dev/codegen/runtime/parse-exports.server.js +60 -0
  167. package/dist/core/dev/codegen/sanitize/index.server.js +834 -0
  168. package/dist/core/dev/codegen/types/contributions.server.d.ts +37 -0
  169. package/dist/core/dev/codegen/types/contributions.server.js +25 -0
  170. package/dist/core/dev/codegen/types/index.server.js +132 -0
  171. package/dist/core/dev/codegen/types/templates.server.d.ts +13 -0
  172. package/dist/core/dev/codegen/types/templates.server.js +134 -0
  173. package/dist/core/dev/config-memo.server.js +85 -0
  174. package/dist/core/dev/constants.server.d.ts +20 -0
  175. package/dist/core/dev/constants.server.js +63 -0
  176. package/dist/core/dev/ensure.server.d.ts +30 -0
  177. package/dist/core/dev/ensure.server.js +82 -0
  178. package/dist/core/dev/prototype-routes.server.d.ts +16 -0
  179. package/dist/core/dev/prototype-routes.server.js +23 -0
  180. package/dist/core/dev/version.server.d.ts +12 -0
  181. package/dist/core/dev/version.server.js +27 -0
  182. package/dist/core/dev/vite.server.js +237 -0
  183. package/dist/core/errors/handler.server.d.ts +17 -1
  184. package/dist/core/errors/handler.server.js +4 -23
  185. package/dist/core/fields/builders/boolean-builder.d.ts +1 -1
  186. package/dist/core/fields/builders/field-builder.d.ts +12 -1
  187. package/dist/core/fields/builders/form-field-builder.d.ts +16 -5
  188. package/dist/core/fields/builders/form-field-builder.js +19 -8
  189. package/dist/core/fields/builders/select-builder.d.ts +1 -1
  190. package/dist/core/fields/types.d.ts +16 -0
  191. package/dist/core/fields/util.d.ts +60 -0
  192. package/dist/core/fields/util.js +84 -1
  193. package/dist/core/fields/validate.js +171 -0
  194. package/dist/core/handler.server.d.ts +4 -0
  195. package/dist/core/handler.server.js +25 -0
  196. package/dist/core/i18n/en/common.d.ts +18 -0
  197. package/dist/core/i18n/en/common.js +20 -1
  198. package/dist/core/i18n/fr/common.d.ts +18 -0
  199. package/dist/core/i18n/fr/common.js +20 -1
  200. package/dist/core/i18n/index.d.ts +0 -1
  201. package/dist/core/i18n/index.js +0 -1
  202. package/dist/core/locale/copy.server.d.ts +35 -0
  203. package/dist/core/locale/copy.server.js +93 -0
  204. package/dist/core/locale/types.d.ts +20 -0
  205. package/dist/core/panel/configure.d.ts +63 -0
  206. package/dist/core/panel/configure.js +56 -0
  207. package/dist/core/panel/types.d.ts +61 -0
  208. package/dist/core/pipeline/build-document.server.d.ts +26 -0
  209. package/dist/core/pipeline/build-document.server.js +83 -0
  210. package/dist/core/pipeline/build.server.d.ts +23 -0
  211. package/dist/core/pipeline/build.server.js +76 -0
  212. package/dist/core/pipeline/config-map/build-tree-map.d.ts +4 -0
  213. package/dist/core/pipeline/config-map/index.d.ts +6 -0
  214. package/dist/core/pipeline/config-map/index.js +54 -0
  215. package/dist/core/pipeline/define-hook.d.ts +42 -0
  216. package/dist/core/pipeline/define-hook.js +40 -0
  217. package/dist/core/pipeline/extract-data.server.d.ts +18 -0
  218. package/dist/core/pipeline/extract-data.server.js +78 -0
  219. package/dist/core/pipeline/hook-name.server.d.ts +11 -0
  220. package/dist/core/pipeline/hook-name.server.js +14 -0
  221. package/dist/core/pipeline/hooks/authorize.server.d.ts +6 -0
  222. package/dist/core/pipeline/hooks/authorize.server.js +37 -0
  223. package/dist/core/pipeline/hooks/data-config-map.server.d.ts +8 -0
  224. package/dist/core/pipeline/hooks/data-config-map.server.js +19 -0
  225. package/dist/core/pipeline/hooks/get-original-document.server.d.ts +9 -0
  226. package/dist/core/pipeline/hooks/get-original-document.server.js +34 -0
  227. package/dist/core/pipeline/hooks/normalize-resolved-references.server.d.ts +16 -0
  228. package/dist/core/pipeline/hooks/normalize-resolved-references.server.js +40 -0
  229. package/dist/core/pipeline/hooks/original-config-map.server.d.ts +8 -0
  230. package/dist/core/pipeline/hooks/original-config-map.server.js +23 -0
  231. package/dist/core/pipeline/hooks/process-document-fields.server.d.ts +5 -0
  232. package/dist/core/pipeline/hooks/process-document-fields.server.js +62 -0
  233. package/dist/core/pipeline/hooks/resolve-content-owner.server.d.ts +17 -0
  234. package/dist/core/pipeline/hooks/resolve-content-owner.server.js +24 -0
  235. package/dist/core/pipeline/hooks/set-default-values.server.d.ts +16 -0
  236. package/dist/core/pipeline/hooks/set-default-values.server.js +79 -0
  237. package/dist/core/pipeline/hooks/set-document-locale.server.d.ts +5 -0
  238. package/dist/core/pipeline/hooks/set-document-locale.server.js +19 -0
  239. package/dist/core/pipeline/hooks/set-document-type.server.d.ts +6 -0
  240. package/dist/core/pipeline/hooks/set-document-type.server.js +19 -0
  241. package/dist/core/pipeline/hooks/sort-document-props.server.d.ts +7 -0
  242. package/dist/core/pipeline/hooks/sort-document-props.server.js +71 -0
  243. package/dist/core/pipeline/hooks/validate-fields.server.d.ts +12 -0
  244. package/dist/core/pipeline/hooks/validate-fields.server.js +170 -0
  245. package/dist/core/pipeline/persist/blocks/diff.server.d.ts +15 -0
  246. package/dist/core/pipeline/persist/blocks/diff.server.js +69 -0
  247. package/dist/core/pipeline/persist/blocks/extract.server.d.ts +9 -0
  248. package/dist/core/pipeline/persist/blocks/extract.server.js +33 -0
  249. package/dist/core/pipeline/persist/blocks/index.server.d.ts +27 -0
  250. package/dist/core/pipeline/persist/blocks/index.server.js +68 -0
  251. package/dist/core/pipeline/persist/relations/diff.server.d.ts +14 -0
  252. package/dist/core/pipeline/persist/relations/diff.server.js +47 -0
  253. package/dist/core/pipeline/persist/relations/extract.server.d.ts +11 -0
  254. package/dist/core/pipeline/persist/relations/extract.server.js +59 -0
  255. package/dist/core/pipeline/persist/relations/index.server.d.ts +26 -0
  256. package/dist/core/pipeline/persist/relations/index.server.js +66 -0
  257. package/dist/core/pipeline/persist/tree/diff.server.d.ts +20 -0
  258. package/dist/core/pipeline/persist/tree/diff.server.js +51 -0
  259. package/dist/core/pipeline/persist/tree/extract.server.d.ts +9 -0
  260. package/dist/core/pipeline/persist/tree/extract.server.js +34 -0
  261. package/dist/core/pipeline/persist/tree/index.server.d.ts +14 -0
  262. package/dist/core/pipeline/persist/tree/index.server.js +50 -0
  263. package/dist/core/pipeline/query.d.ts +14 -0
  264. package/dist/core/pipeline/query.js +36 -0
  265. package/dist/core/pipeline/run.server.d.ts +146 -0
  266. package/dist/core/pipeline/run.server.js +256 -0
  267. package/dist/core/pipeline/types.d.ts +140 -0
  268. package/dist/core/pipeline/types.js +10 -0
  269. package/dist/core/plugins/api-init/index.server.js +84 -0
  270. package/dist/core/plugins/cache/cache.server.js +1 -1
  271. package/dist/core/plugins/cache/handler.server.js +1 -1
  272. package/dist/core/plugins/cache/index.d.ts +1 -2
  273. package/dist/core/plugins/cache/index.js +3 -1
  274. package/dist/core/plugins/cache/types.d.ts +5 -0
  275. package/dist/core/plugins/configure.d.ts +12 -0
  276. package/dist/core/plugins/configure.js +26 -0
  277. package/dist/core/plugins/defaults/index.d.ts +1 -0
  278. package/dist/core/plugins/defaults/index.js +3 -0
  279. package/dist/core/plugins/defaults/module.d.ts +12 -0
  280. package/dist/core/plugins/defaults/module.js +14 -0
  281. package/dist/core/plugins/defaults/module.server.d.ts +4 -0
  282. package/dist/core/plugins/defaults/module.server.js +15 -0
  283. package/dist/core/plugins/defaults/types.d.ts +18 -0
  284. package/dist/core/plugins/defaults/types.js +1 -0
  285. package/dist/core/plugins/mailer/index.server.js +29 -0
  286. package/dist/core/plugins/plugins.server.js +10 -0
  287. package/dist/core/plugins/sse/bus.server.d.ts +16 -0
  288. package/dist/core/plugins/sse/bus.server.js +69 -0
  289. package/dist/core/plugins/sse/client.d.ts +14 -16
  290. package/dist/core/plugins/sse/client.js +42 -34
  291. package/dist/core/plugins/sse/index.d.ts +10 -2
  292. package/dist/core/plugins/sse/index.js +9 -1
  293. package/dist/core/plugins/sse/index.server.d.ts +29 -0
  294. package/dist/core/plugins/sse/index.server.js +18 -0
  295. package/dist/core/plugins/sse/types.d.ts +15 -7
  296. package/dist/core/prototype/area/api.server.d.ts +91 -0
  297. package/dist/core/prototype/area/api.server.js +117 -0
  298. package/dist/core/prototype/area/augment-label.d.ts +16 -0
  299. package/dist/core/prototype/area/augment-label.js +13 -0
  300. package/dist/core/prototype/area/definition.d.ts +18 -0
  301. package/dist/core/prototype/area/definition.js +44 -0
  302. package/dist/core/prototype/area/definition.server.d.ts +9 -0
  303. package/dist/core/prototype/area/definition.server.js +40 -0
  304. package/dist/core/prototype/area/hooks.server.d.ts +17 -0
  305. package/dist/core/prototype/area/hooks.server.js +61 -0
  306. package/dist/core/prototype/area/index.d.ts +1 -0
  307. package/dist/core/prototype/area/index.js +1 -0
  308. package/dist/core/prototype/area/operations/find.d.ts +18 -0
  309. package/dist/core/prototype/area/operations/find.js +43 -0
  310. package/dist/core/prototype/area/operations/update.d.ts +29 -0
  311. package/dist/core/prototype/area/operations/update.js +44 -0
  312. package/dist/core/prototype/area/rest/endpoint.server.d.ts +14 -0
  313. package/dist/core/prototype/area/rest/endpoint.server.js +15 -0
  314. package/dist/core/prototype/area/rest/get.server.d.ts +4 -0
  315. package/dist/core/prototype/area/rest/get.server.js +31 -0
  316. package/dist/core/prototype/area/rest/index.server.d.ts +9 -0
  317. package/dist/core/prototype/area/rest/index.server.js +14 -0
  318. package/dist/core/prototype/area/rest/lock.server.d.ts +2 -0
  319. package/dist/core/prototype/area/rest/lock.server.js +38 -0
  320. package/dist/core/prototype/area/rest/update.server.d.ts +4 -0
  321. package/dist/core/prototype/area/rest/update.server.js +38 -0
  322. package/dist/core/prototype/area/types.js +1 -0
  323. package/dist/core/prototype/collection/api.server.d.ts +173 -0
  324. package/dist/core/prototype/collection/api.server.js +224 -0
  325. package/dist/core/prototype/collection/augment-label.d.ts +6 -0
  326. package/dist/core/prototype/collection/definition.d.ts +26 -0
  327. package/dist/core/prototype/collection/definition.js +74 -0
  328. package/dist/core/prototype/collection/definition.server.d.ts +8 -0
  329. package/dist/core/prototype/collection/definition.server.js +24 -0
  330. package/dist/core/prototype/collection/hooks/merge-with-blank.server.d.ts +5 -0
  331. package/dist/core/prototype/collection/hooks/merge-with-blank.server.js +28 -0
  332. package/dist/core/prototype/collection/hooks.server.d.ts +28 -0
  333. package/dist/core/prototype/collection/hooks.server.js +133 -0
  334. package/dist/core/prototype/collection/index.d.ts +1 -0
  335. package/dist/core/prototype/collection/index.js +1 -0
  336. package/dist/core/prototype/collection/nested/enabled.d.ts +8 -0
  337. package/dist/core/prototype/collection/nested/enabled.js +7 -0
  338. package/dist/core/prototype/collection/nested/hooks/add-children.server.d.ts +4 -0
  339. package/dist/core/prototype/collection/nested/hooks/add-children.server.js +40 -0
  340. package/dist/core/prototype/collection/nested/hooks/index.server.d.ts +9 -0
  341. package/dist/core/prototype/collection/nested/hooks/index.server.js +9 -0
  342. package/dist/core/prototype/collection/nested/module.d.ts +15 -0
  343. package/dist/core/prototype/collection/nested/module.js +17 -0
  344. package/dist/core/prototype/collection/nested/module.server.d.ts +16 -0
  345. package/dist/core/prototype/collection/nested/module.server.js +21 -0
  346. package/dist/core/prototype/collection/operations/create.d.ts +18 -0
  347. package/dist/core/prototype/collection/operations/create.js +68 -0
  348. package/dist/core/prototype/collection/operations/delete-by-id.d.ts +11 -0
  349. package/dist/core/prototype/collection/operations/delete-by-id.js +44 -0
  350. package/dist/core/prototype/collection/operations/delete.d.ts +15 -0
  351. package/dist/core/prototype/collection/operations/delete.js +34 -0
  352. package/dist/core/prototype/collection/operations/duplicate.d.ts +12 -0
  353. package/dist/core/prototype/collection/operations/duplicate.js +112 -0
  354. package/dist/core/prototype/collection/operations/find-by-id.d.ts +22 -0
  355. package/dist/core/prototype/collection/operations/find-by-id.js +47 -0
  356. package/dist/core/prototype/collection/operations/find.d.ts +22 -0
  357. package/dist/core/prototype/collection/operations/find.js +65 -0
  358. package/dist/core/prototype/collection/operations/update-by-id.d.ts +30 -0
  359. package/dist/core/prototype/collection/operations/update-by-id.js +52 -0
  360. package/dist/core/prototype/collection/rest/create.server.d.ts +4 -0
  361. package/dist/core/prototype/collection/rest/create.server.js +26 -0
  362. package/dist/core/prototype/collection/rest/delete-by-id.server.d.ts +4 -0
  363. package/dist/core/prototype/collection/rest/delete-by-id.server.js +16 -0
  364. package/dist/core/prototype/collection/rest/delete.server.d.ts +4 -0
  365. package/dist/core/prototype/collection/rest/delete.server.js +33 -0
  366. package/dist/core/prototype/collection/rest/duplicate.server.d.ts +1 -0
  367. package/dist/core/prototype/collection/rest/duplicate.server.js +17 -0
  368. package/dist/core/prototype/collection/rest/endpoint.server.d.ts +27 -0
  369. package/dist/core/prototype/collection/rest/endpoint.server.js +23 -0
  370. package/dist/core/prototype/collection/rest/get-by-id.server.d.ts +4 -0
  371. package/dist/core/prototype/collection/rest/get-by-id.server.js +40 -0
  372. package/dist/core/prototype/collection/rest/get.server.d.ts +4 -0
  373. package/dist/core/prototype/collection/rest/get.server.js +38 -0
  374. package/dist/core/prototype/collection/rest/index.server.d.ts +12 -0
  375. package/dist/core/prototype/collection/rest/index.server.js +24 -0
  376. package/dist/core/prototype/collection/rest/lock.server.d.ts +2 -0
  377. package/dist/core/prototype/collection/rest/lock.server.js +59 -0
  378. package/dist/core/prototype/collection/rest/update-by-id.server.d.ts +4 -0
  379. package/dist/core/prototype/collection/rest/update-by-id.server.js +44 -0
  380. package/dist/core/prototype/collection/thumbnail/augment.d.ts +13 -0
  381. package/dist/core/prototype/collection/thumbnail/augment.js +15 -0
  382. package/dist/core/prototype/collection/thumbnail/find-thumbnail.d.ts +9 -0
  383. package/dist/core/prototype/collection/thumbnail/find-thumbnail.js +34 -0
  384. package/dist/core/prototype/collection/thumbnail/hooks/index.server.d.ts +9 -0
  385. package/dist/core/prototype/collection/thumbnail/hooks/index.server.js +9 -0
  386. package/dist/core/prototype/collection/thumbnail/hooks/set-document-thumbnail.server.d.ts +7 -0
  387. package/dist/core/prototype/collection/thumbnail/hooks/set-document-thumbnail.server.js +40 -0
  388. package/dist/core/prototype/collection/types.d.ts +14 -0
  389. package/dist/core/prototype/collection/types.js +1 -0
  390. package/dist/core/prototype/collection/upload/boot/index.server.d.ts +13 -0
  391. package/dist/core/prototype/collection/upload/boot/index.server.js +11 -0
  392. package/dist/core/prototype/collection/upload/constant.d.ts +10 -0
  393. package/dist/core/prototype/collection/upload/constant.js +10 -0
  394. package/dist/core/prototype/collection/upload/directories/configure.d.ts +14 -0
  395. package/dist/core/prototype/collection/upload/directories/configure.js +19 -0
  396. package/dist/core/prototype/collection/upload/directories/configure.server.d.ts +12 -0
  397. package/dist/core/prototype/collection/upload/directories/configure.server.js +35 -0
  398. package/dist/core/prototype/collection/upload/directories/derive.d.ts +7 -0
  399. package/dist/core/prototype/collection/upload/directories/derive.js +56 -0
  400. package/dist/core/prototype/collection/upload/directories/pipeline.server.d.ts +10 -0
  401. package/dist/core/prototype/collection/upload/directories/pipeline.server.js +22 -0
  402. package/dist/core/prototype/collection/upload/disk/delete.server.d.ts +9 -0
  403. package/dist/core/prototype/collection/upload/disk/delete.server.js +106 -0
  404. package/dist/core/prototype/collection/upload/disk/save.server.d.ts +32 -0
  405. package/dist/core/prototype/collection/upload/disk/save.server.js +190 -0
  406. package/dist/core/prototype/collection/upload/doc-type.d.ts +14 -0
  407. package/dist/core/prototype/collection/upload/doc-type.js +28 -0
  408. package/dist/core/prototype/collection/upload/enabled.d.ts +8 -0
  409. package/dist/core/prototype/collection/upload/enabled.js +7 -0
  410. package/dist/core/prototype/collection/upload/ensure.server.d.ts +12 -0
  411. package/dist/core/prototype/collection/upload/ensure.server.js +19 -0
  412. package/dist/core/prototype/collection/upload/hooks/clean-up-files.server.d.ts +10 -0
  413. package/dist/core/prototype/collection/upload/hooks/clean-up-files.server.js +17 -0
  414. package/dist/core/prototype/collection/upload/hooks/convert-base64.server.d.ts +13 -0
  415. package/dist/core/prototype/collection/upload/hooks/convert-base64.server.js +36 -0
  416. package/dist/core/prototype/collection/upload/hooks/extract-path.server.d.ts +6 -0
  417. package/dist/core/prototype/collection/upload/hooks/extract-path.server.js +25 -0
  418. package/dist/core/prototype/collection/upload/hooks/handle-path-creation.server.d.ts +6 -0
  419. package/dist/core/prototype/collection/upload/hooks/handle-path-creation.server.js +82 -0
  420. package/dist/core/prototype/collection/upload/hooks/index.server.d.ts +13 -0
  421. package/dist/core/prototype/collection/upload/hooks/index.server.js +13 -0
  422. package/dist/core/prototype/collection/upload/hooks/populate-sizes.server.d.ts +4 -0
  423. package/dist/core/prototype/collection/upload/hooks/populate-sizes.server.js +48 -0
  424. package/dist/core/prototype/collection/upload/hooks/process-file-upload.server.d.ts +20 -0
  425. package/dist/core/prototype/collection/upload/hooks/process-file-upload.server.js +60 -0
  426. package/dist/core/prototype/collection/upload/hooks/update-directory-children.server.d.ts +10 -0
  427. package/dist/core/prototype/collection/upload/hooks/update-directory-children.server.js +47 -0
  428. package/dist/core/prototype/collection/upload/module.d.ts +15 -0
  429. package/dist/core/prototype/collection/upload/module.js +92 -0
  430. package/dist/core/prototype/collection/upload/module.server.d.ts +24 -0
  431. package/dist/core/prototype/collection/upload/module.server.js +36 -0
  432. package/dist/core/prototype/collection/upload/naming.d.ts +23 -0
  433. package/dist/core/prototype/collection/upload/naming.js +37 -0
  434. package/dist/core/prototype/collection/upload/types.d.ts +102 -0
  435. package/dist/core/prototype/collection/upload/types.js +1 -0
  436. package/dist/core/prototype/collection/upload/util/config.d.ts +16 -0
  437. package/dist/core/prototype/collection/upload/util/converter.server.d.ts +29 -0
  438. package/dist/core/prototype/collection/upload/util/converter.server.js +127 -0
  439. package/dist/core/prototype/collection/upload/util/path.d.ts +69 -0
  440. package/dist/core/prototype/collection/upload/util/path.js +143 -0
  441. package/dist/core/prototype/define.d.ts +112 -0
  442. package/dist/core/prototype/define.js +50 -0
  443. package/dist/core/prototype/doc.d.ts +31 -0
  444. package/dist/core/prototype/doc.js +118 -0
  445. package/dist/core/prototype/index.d.ts +14 -0
  446. package/dist/core/prototype/index.js +14 -0
  447. package/dist/core/prototype/naming.d.ts +22 -0
  448. package/dist/core/prototype/naming.js +23 -0
  449. package/dist/core/prototype/shared/metas/constant.d.ts +16 -0
  450. package/dist/core/prototype/shared/metas/constant.js +16 -0
  451. package/dist/core/prototype/shared/metas/fields.d.ts +8 -0
  452. package/dist/core/prototype/shared/metas/fields.js +27 -0
  453. package/dist/core/prototype/shared/metas/hooks/delete-panel-lock-metas.server.d.ts +9 -0
  454. package/dist/core/prototype/shared/metas/hooks/delete-panel-lock-metas.server.js +20 -0
  455. package/dist/core/prototype/shared/metas/hooks/index.server.d.ts +7 -0
  456. package/dist/core/prototype/shared/metas/hooks/index.server.js +7 -0
  457. package/dist/core/prototype/shared/metas/hooks/stamp-authorship.server.d.ts +2 -0
  458. package/dist/core/prototype/shared/metas/hooks/stamp-authorship.server.js +27 -0
  459. package/dist/core/prototype/shared/metas/lock.d.ts +15 -0
  460. package/dist/core/prototype/shared/metas/lock.js +30 -0
  461. package/dist/core/prototype/shared/metas/lock.server.d.ts +46 -0
  462. package/dist/core/prototype/shared/metas/lock.server.js +91 -0
  463. package/dist/core/prototype/shared/metas/module.d.ts +38 -0
  464. package/dist/core/prototype/shared/metas/module.js +38 -0
  465. package/dist/core/prototype/shared/metas/module.server.d.ts +30 -0
  466. package/dist/core/prototype/shared/metas/module.server.js +38 -0
  467. package/dist/core/prototype/shared/title/augment.d.ts +27 -0
  468. package/dist/core/prototype/shared/title/augment.js +19 -0
  469. package/dist/core/prototype/shared/title/find-title.d.ts +14 -0
  470. package/dist/core/prototype/shared/title/find-title.js +35 -0
  471. package/dist/core/prototype/shared/title/hooks/index.server.d.ts +9 -0
  472. package/dist/core/prototype/shared/title/hooks/index.server.js +9 -0
  473. package/dist/core/prototype/shared/title/hooks/set-document-title.server.d.ts +4 -0
  474. package/dist/core/prototype/shared/title/hooks/set-document-title.server.js +32 -0
  475. package/dist/core/prototype/shared/title/select.d.ts +16 -0
  476. package/dist/core/prototype/shared/title/select.js +24 -0
  477. package/dist/core/prototype/shared/url/augment.d.ts +13 -0
  478. package/dist/core/prototype/shared/url/augment.js +11 -0
  479. package/dist/core/prototype/shared/url/enabled.d.ts +8 -0
  480. package/dist/core/prototype/shared/url/enabled.js +7 -0
  481. package/dist/core/prototype/shared/url/hooks/index.server.d.ts +9 -0
  482. package/dist/core/prototype/shared/url/hooks/index.server.js +9 -0
  483. package/dist/core/prototype/shared/url/hooks/populate-url.server.d.ts +4 -0
  484. package/dist/core/prototype/shared/url/hooks/populate-url.server.js +120 -0
  485. package/dist/core/prototype/shared/versions/augment.d.ts +23 -0
  486. package/dist/core/prototype/shared/versions/augment.js +47 -0
  487. package/dist/core/prototype/shared/versions/auto-saves.server.d.ts +16 -0
  488. package/dist/core/prototype/shared/versions/auto-saves.server.js +29 -0
  489. package/dist/core/prototype/shared/versions/blank.d.ts +13 -0
  490. package/dist/core/prototype/shared/versions/blank.js +15 -0
  491. package/dist/core/prototype/shared/versions/configure.server.d.ts +7 -0
  492. package/dist/core/prototype/shared/versions/configure.server.js +75 -0
  493. package/dist/core/prototype/shared/versions/constant.d.ts +14 -0
  494. package/dist/core/prototype/shared/versions/constant.js +13 -0
  495. package/dist/core/prototype/shared/versions/doc-type.d.ts +8 -0
  496. package/dist/core/prototype/shared/versions/doc-type.js +9 -0
  497. package/dist/core/prototype/shared/versions/enabled.d.ts +10 -0
  498. package/dist/core/prototype/shared/versions/enabled.js +9 -0
  499. package/dist/core/prototype/shared/versions/hooks/define-version-operation.server.d.ts +19 -0
  500. package/dist/core/prototype/shared/versions/hooks/define-version-operation.server.js +37 -0
  501. package/dist/core/prototype/shared/versions/hooks/demote-other-versions.d.ts +17 -0
  502. package/dist/core/prototype/shared/versions/hooks/demote-other-versions.js +37 -0
  503. package/dist/core/prototype/shared/versions/hooks/discard-auto-saves-of.server.d.ts +8 -0
  504. package/dist/core/prototype/shared/versions/hooks/discard-auto-saves-of.server.js +17 -0
  505. package/dist/core/prototype/shared/versions/hooks/expose-version-id.d.ts +12 -0
  506. package/dist/core/prototype/shared/versions/hooks/expose-version-id.js +17 -0
  507. package/dist/core/prototype/shared/versions/hooks/fallback-data-from-original.d.ts +9 -0
  508. package/dist/core/prototype/shared/versions/hooks/fallback-data-from-original.js +31 -0
  509. package/dist/core/prototype/shared/versions/hooks/handle-new-version.server.d.ts +32 -0
  510. package/dist/core/prototype/shared/versions/hooks/handle-new-version.server.js +194 -0
  511. package/dist/core/prototype/shared/versions/hooks/index.server.d.ts +15 -0
  512. package/dist/core/prototype/shared/versions/hooks/index.server.js +15 -0
  513. package/dist/core/prototype/shared/versions/hooks/prevent-last-version-deletion.server.d.ts +7 -0
  514. package/dist/core/prototype/shared/versions/hooks/prevent-last-version-deletion.server.js +21 -0
  515. package/dist/core/prototype/shared/versions/hooks/strip-auto-save-flag.server.d.ts +7 -0
  516. package/dist/core/prototype/shared/versions/hooks/strip-auto-save-flag.server.js +14 -0
  517. package/dist/core/prototype/shared/versions/module.browser.js +1 -0
  518. package/dist/core/prototype/shared/versions/module.server.d.ts +1 -0
  519. package/dist/core/prototype/shared/versions/module.server.js +4 -0
  520. package/dist/core/prototype/shared/versions/naming.d.ts +7 -0
  521. package/dist/core/prototype/shared/versions/naming.js +21 -0
  522. package/dist/core/prototype/shared/versions/read-query.d.ts +27 -0
  523. package/dist/core/prototype/shared/versions/read-query.js +35 -0
  524. package/dist/core/prototype/shared/versions/retire-auto-saves.server.d.ts +16 -0
  525. package/dist/core/prototype/shared/versions/retire-auto-saves.server.js +29 -0
  526. package/dist/core/prototype/shared/versions/strategy.d.ts +86 -0
  527. package/dist/core/prototype/shared/versions/strategy.js +93 -0
  528. package/dist/core/prototype/shared/versions/types.d.ts +37 -0
  529. package/dist/core/prototype/shared/versions/types.js +1 -0
  530. package/dist/core/prototype/shared/versions/validate-config.server.d.ts +8 -0
  531. package/dist/core/prototype/shared/versions/validate-config.server.js +21 -0
  532. package/dist/core/prototype/shared/versions/write-plan.d.ts +30 -0
  533. package/dist/core/prototype/shared/versions/write-plan.js +38 -0
  534. package/dist/core/prototype/types.d.ts +79 -0
  535. package/dist/core/prototype/types.js +1 -0
  536. package/dist/core/prototype/when.d.ts +25 -0
  537. package/dist/core/prototype/when.js +32 -0
  538. package/dist/core/rime.server.d.ts +64 -4363
  539. package/dist/core/rime.server.js +45 -93
  540. package/dist/core/routes/constants.d.ts +12 -0
  541. package/dist/core/routes/constants.js +16 -0
  542. package/dist/core/routes/constants.server.d.ts +5 -0
  543. package/dist/core/routes/constants.server.js +9 -0
  544. package/dist/core/routes/context.server.d.ts +17 -0
  545. package/dist/core/routes/context.server.js +29 -0
  546. package/dist/core/routes/handler.server.d.ts +58 -0
  547. package/dist/core/routes/handler.server.js +107 -0
  548. package/dist/core/routes/panel-navigation.d.ts +18 -0
  549. package/dist/core/routes/panel-navigation.js +64 -0
  550. package/dist/core/routes/util.d.ts +24 -0
  551. package/dist/core/routes/util.js +44 -0
  552. package/dist/fields/blocks/component/AddBlockButton.svelte +1 -1
  553. package/dist/fields/blocks/component/AddBlockButton.svelte.d.ts +1 -1
  554. package/dist/fields/blocks/component/Block.svelte +1 -1
  555. package/dist/fields/blocks/component/Blocks.svelte +1 -1
  556. package/dist/fields/blocks/index.d.ts +2 -1
  557. package/dist/fields/blocks/index.js +18 -2
  558. package/dist/fields/email/index.js +1 -1
  559. package/dist/fields/group/component/Group.svelte +1 -1
  560. package/dist/fields/group/component/Group.svelte.d.ts +1 -1
  561. package/dist/fields/group/index.d.ts +2 -2
  562. package/dist/fields/link/component/RessourceInput.svelte +2 -2
  563. package/dist/fields/link/index.d.ts +1 -1
  564. package/dist/fields/link/index.js +57 -60
  565. package/dist/fields/link/module.server.js +1 -1
  566. package/dist/fields/number/index.d.ts +1 -1
  567. package/dist/fields/relation/component/Cell.svelte +2 -2
  568. package/dist/fields/relation/component/Relation.svelte +13 -22
  569. package/dist/fields/relation/component/default/Default.svelte +4 -3
  570. package/dist/fields/relation/component/types.d.ts +2 -1
  571. package/dist/fields/relation/component/upload/Browse.svelte +4 -4
  572. package/dist/fields/relation/component/upload/Upload.svelte +2 -2
  573. package/dist/fields/relation/index.d.ts +11 -1
  574. package/dist/fields/relation/index.js +81 -63
  575. package/dist/fields/relation/module.server.js +3 -8
  576. package/dist/fields/rich-text/core/features/link/component/link-selector.svelte +2 -2
  577. package/dist/fields/rich-text/core/features/resource/resource-extension.d.ts +1 -1
  578. package/dist/fields/rich-text/core/features/resource/resource.svelte +2 -2
  579. package/dist/fields/rich-text/core/features/upload/upload.svelte +2 -2
  580. package/dist/fields/slug/index.d.ts +1 -1
  581. package/dist/fields/tabs/index.d.ts +1 -1
  582. package/dist/fields/text/index.d.ts +1 -1
  583. package/dist/fields/textarea/index.d.ts +1 -1
  584. package/dist/fields/toggle/index.d.ts +1 -1
  585. package/dist/fields/tree/component/TreeBlock.svelte +1 -1
  586. package/dist/fields/tree/component/TreeBlock.svelte.d.ts +1 -1
  587. package/dist/fields/tree/component/props.d.ts +1 -1
  588. package/dist/fields/tree/index.d.ts +1 -1
  589. package/dist/fields/tree/index.js +12 -1
  590. package/dist/fields/types.d.ts +4 -9
  591. package/dist/index.d.ts +5 -2
  592. package/dist/index.js +2 -1
  593. package/dist/panel/components/Root.svelte +12 -8
  594. package/dist/panel/components/Root.svelte.d.ts +1 -1
  595. package/dist/panel/components/sections/auth/AuthForm.svelte +3 -0
  596. package/dist/panel/components/sections/collection/StatusDot.svelte +2 -1
  597. package/dist/panel/components/sections/collection/StatusDot.svelte.d.ts +1 -1
  598. package/dist/panel/components/sections/collection/bulk-upload/DropZone.svelte +1 -1
  599. package/dist/panel/components/sections/collection/folder/FolderEdit.svelte +2 -2
  600. package/dist/panel/components/sections/collection/folder/FolderEdit.svelte.d.ts +1 -1
  601. package/dist/panel/components/sections/collection/folder/FolderWithActions.svelte +8 -8
  602. package/dist/panel/components/sections/collection/folder/FolderWithActions.svelte.d.ts +1 -1
  603. package/dist/panel/components/sections/collection/grid/create-directory-dialog/CreateDirectoryDialog.svelte +1 -1
  604. package/dist/panel/components/sections/collection/grid/grid-item/GridItem.svelte +7 -5
  605. package/dist/panel/components/sections/collection/grid/grid-item/GridItem.svelte.d.ts +1 -1
  606. package/dist/panel/components/sections/collection/header/ButtonCreate.svelte +9 -6
  607. package/dist/panel/components/sections/collection/header/DisplayMode.svelte +1 -2
  608. package/dist/panel/components/sections/collection/header/Header.svelte +2 -5
  609. package/dist/panel/components/sections/collection/list/CollectionList.svelte +1 -1
  610. package/dist/panel/components/sections/collection/list/header/Header.svelte +7 -1
  611. package/dist/panel/components/sections/collection/list/row/Row.svelte +9 -3
  612. package/dist/panel/components/sections/collection/list/row/Row.svelte.d.ts +1 -1
  613. package/dist/panel/components/sections/collection/tree/CollectionTreeNode.svelte +3 -2
  614. package/dist/panel/components/sections/collection/tree/CollectionTreeNode.svelte.d.ts +1 -1
  615. package/dist/panel/components/sections/collection/upload-thumb-cell/UploadThumbCell.svelte +1 -1
  616. package/dist/panel/components/sections/document/AuthFooter.svelte +4 -3
  617. package/dist/panel/components/sections/document/AutoSaveBanner.svelte +115 -0
  618. package/dist/panel/components/sections/document/AutoSaveBanner.svelte.d.ts +16 -0
  619. package/dist/panel/components/sections/document/ButtonStatus.svelte +12 -5
  620. package/dist/panel/components/sections/document/CurrentlyEdited.svelte +10 -27
  621. package/dist/panel/components/sections/document/CurrentlyEdited.svelte.d.ts +6 -5
  622. package/dist/panel/components/sections/document/Document.svelte +220 -18
  623. package/dist/panel/components/sections/document/Document.svelte.d.ts +1 -1
  624. package/dist/panel/components/sections/document/Header.svelte +49 -5
  625. package/dist/panel/components/sections/document/Header.svelte.d.ts +2 -0
  626. package/dist/panel/components/sections/document/Settings.svelte +77 -21
  627. package/dist/panel/components/sections/document/Versions.svelte +140 -51
  628. package/dist/panel/components/sections/document/Versions.svelte.d.ts +11 -8
  629. package/dist/panel/components/sections/document/upload-header/UploadHeader.svelte +4 -2
  630. package/dist/panel/components/sections/document/upload-header/UploadHeader.svelte.d.ts +1 -1
  631. package/dist/panel/components/sections/document/upload-header/drop-zone/DropZone.svelte +1 -1
  632. package/dist/panel/components/sections/document/upload-header/drop-zone/DropZone.svelte.d.ts +2 -2
  633. package/dist/panel/components/sections/document/versions-list.d.ts +10 -0
  634. package/dist/panel/components/sections/document/versions-list.js +10 -0
  635. package/dist/panel/components/sections/live/Consumer.svelte +1 -1
  636. package/dist/panel/components/sections/live/Consumer.svelte.d.ts +1 -1
  637. package/dist/panel/components/sections/live/LiveEdit.svelte +1 -1
  638. package/dist/panel/components/ui/card-resource/card-resource.svelte +13 -1
  639. package/dist/panel/components/ui/nav/Nav.svelte +3 -3
  640. package/dist/panel/components/ui/nav/NavItem.svelte +5 -3
  641. package/dist/panel/components/ui/nav/UserButton.svelte +3 -3
  642. package/dist/panel/context/collection.svelte.d.ts +2 -2
  643. package/dist/panel/context/collection.svelte.js +6 -7
  644. package/dist/panel/context/config.svelte.d.ts +1 -1
  645. package/dist/panel/context/documentForm.svelte.d.ts +19 -3
  646. package/dist/panel/context/documentForm.svelte.js +214 -41
  647. package/dist/panel/context/live.svelte.d.ts +1 -1
  648. package/dist/panel/context/live.svelte.js +2 -2
  649. package/dist/panel/context/user.svelte.d.ts +1 -1
  650. package/dist/panel/context/versions.svelte.d.ts +8 -0
  651. package/dist/panel/context/versions.svelte.js +34 -0
  652. package/dist/panel/index.d.ts +15 -12
  653. package/dist/panel/index.js +1 -3
  654. package/dist/panel/pages/area/Area.svelte +7 -2
  655. package/dist/panel/pages/area/Area.svelte.d.ts +1 -1
  656. package/dist/panel/pages/area/actions.server.js +31 -16
  657. package/dist/panel/pages/area/load.server.d.ts +1 -1
  658. package/dist/panel/pages/area/load.server.js +10 -24
  659. package/dist/panel/pages/auth/fields.js +1 -1
  660. package/dist/panel/pages/auth/forgot-password/ForgotPassword.svelte +2 -1
  661. package/dist/panel/pages/auth/forgot-password/load.server.js +3 -2
  662. package/dist/panel/pages/auth/reset-password/ResetPassword.svelte +2 -1
  663. package/dist/panel/pages/auth/reset-password/load.server.js +3 -2
  664. package/dist/panel/pages/auth/sign-in/SignIn.svelte +3 -2
  665. package/dist/panel/pages/auth/sign-in/actions.server.js +2 -2
  666. package/dist/panel/pages/auth/sign-in/load.server.js +4 -3
  667. package/dist/panel/pages/collection/Collection.svelte +15 -138
  668. package/dist/panel/pages/collection/Collection.svelte.d.ts +5 -8
  669. package/dist/panel/pages/collection/CollectionPage.svelte +146 -0
  670. package/dist/panel/pages/collection/CollectionPage.svelte.d.ts +18 -0
  671. package/dist/panel/pages/collection/load.server.d.ts +3 -3
  672. package/dist/panel/pages/collection/load.server.js +12 -9
  673. package/dist/panel/pages/collection-document/CollectionDocument.svelte +7 -2
  674. package/dist/panel/pages/collection-document/CollectionDocument.svelte.d.ts +1 -1
  675. package/dist/panel/pages/collection-document/actions.server.js +28 -10
  676. package/dist/panel/pages/collection-document/load.server.d.ts +1 -1
  677. package/dist/panel/pages/collection-document/load.server.js +19 -24
  678. package/dist/panel/pages/dashboard/Dashboard.svelte +1 -1
  679. package/dist/panel/pages/dashboard/Dashboard.svelte.d.ts +1 -1
  680. package/dist/panel/pages/dashboard/load.server.js +23 -20
  681. package/dist/panel/pages/dashboard/types.d.ts +1 -1
  682. package/dist/panel/pages/live/Live.svelte +3 -8
  683. package/dist/panel/pages/live/load.server.js +1 -1
  684. package/dist/panel/types.d.ts +2 -2
  685. package/dist/panel/util/live.server.d.ts +1 -1
  686. package/dist/panel/util/live.server.js +2 -2
  687. package/dist/panel/util/url.d.ts +0 -6
  688. package/dist/panel/util/url.js +1 -9
  689. package/dist/server.d.ts +6 -5
  690. package/dist/server.js +6 -5
  691. package/dist/types.d.ts +12 -6
  692. package/dist/util/coerce.d.ts +12 -0
  693. package/dist/util/coerce.js +38 -0
  694. package/dist/util/index.d.ts +16 -9
  695. package/dist/util/index.js +14 -12
  696. package/dist/util/object.d.ts +10 -0
  697. package/dist/util/object.js +14 -1
  698. package/dist/util/path.d.ts +16 -0
  699. package/dist/util/path.js +19 -0
  700. package/dist/util/string.d.ts +25 -0
  701. package/dist/util/string.js +30 -0
  702. package/dist/util/types.d.ts +5 -10
  703. package/dist/util/types.js +5 -0
  704. package/package.json +83 -21
  705. package/dist/.rime-modules.d.ts +0 -23
  706. package/dist/.rime-modules.json +0 -1
  707. package/dist/adapter-sqlite/generate-schema/relations/definition.server.d.ts +0 -55
  708. package/dist/adapter-sqlite/generate-schema/relations/definition.server.js +0 -52
  709. package/dist/adapter-sqlite/generate-schema/util.server.d.ts +0 -49
  710. package/dist/adapter-sqlite/generate-schema/util.server.js +0 -58
  711. package/dist/adapter-sqlite/orderBy.server.d.ts +0 -11
  712. package/dist/adapter-sqlite/orderBy.server.js +0 -98
  713. package/dist/adapter-sqlite/url.server.d.ts +0 -14
  714. package/dist/adapter-sqlite/url.server.js +0 -77
  715. package/dist/adapter-sqlite/util.server.d.ts +0 -174
  716. package/dist/adapter-sqlite/util.server.js +0 -357
  717. package/dist/adapter-sqlite/with.server.d.ts +0 -9
  718. package/dist/adapter-sqlite/with.server.js +0 -266
  719. package/dist/core/areas/config/augment-hooks.server.d.ts +0 -10
  720. package/dist/core/areas/config/augment-hooks.server.js +0 -51
  721. package/dist/core/areas/config/augment-metas.d.ts +0 -10
  722. package/dist/core/areas/config/augment-metas.js +0 -13
  723. package/dist/core/areas/config/augment-title.d.ts +0 -9
  724. package/dist/core/areas/config/augment-title.js +0 -8
  725. package/dist/core/areas/config/augment-url.d.ts +0 -10
  726. package/dist/core/areas/config/augment-url.js +0 -14
  727. package/dist/core/areas/config/augment-versions.d.ts +0 -14
  728. package/dist/core/areas/config/augment-versions.js +0 -25
  729. package/dist/core/areas/config/builder.d.ts +0 -3
  730. package/dist/core/areas/config/builder.js +0 -33
  731. package/dist/core/areas/config/builder.server.d.ts +0 -15
  732. package/dist/core/areas/config/builder.server.js +0 -35
  733. package/dist/core/areas/local-api.server.d.ts +0 -80
  734. package/dist/core/areas/local-api.server.js +0 -126
  735. package/dist/core/areas/operations/find.d.ts +0 -15
  736. package/dist/core/areas/operations/find.js +0 -52
  737. package/dist/core/areas/operations/update.d.ts +0 -15
  738. package/dist/core/areas/operations/update.js +0 -101
  739. package/dist/core/areas/rest/get.server.d.ts +0 -18
  740. package/dist/core/areas/rest/get.server.js +0 -45
  741. package/dist/core/areas/rest/index.server.d.ts +0 -6
  742. package/dist/core/areas/rest/index.server.js +0 -3
  743. package/dist/core/areas/rest/update.server.d.ts +0 -18
  744. package/dist/core/areas/rest/update.server.js +0 -43
  745. package/dist/core/collections/auth/constant.server.d.ts +0 -9
  746. package/dist/core/collections/auth/constant.server.js +0 -9
  747. package/dist/core/collections/auth/fields.d.ts +0 -13
  748. package/dist/core/collections/auth/fields.js +0 -55
  749. package/dist/core/collections/auth/hooks/after-create/populate-api-key.server.d.ts +0 -5
  750. package/dist/core/collections/auth/hooks/after-create/populate-api-key.server.js +0 -22
  751. package/dist/core/collections/auth/hooks/after-delete/delete-better-auth-user.server.d.ts +0 -4
  752. package/dist/core/collections/auth/hooks/after-delete/delete-better-auth-user.server.js +0 -25
  753. package/dist/core/collections/auth/hooks/before-create/create-better-auth-user.server.d.ts +0 -4
  754. package/dist/core/collections/auth/hooks/before-create/create-better-auth-user.server.js +0 -187
  755. package/dist/core/collections/auth/hooks/before-delete/prevent-superadmin-deletion.server.d.ts +0 -1
  756. package/dist/core/collections/auth/hooks/before-delete/prevent-superadmin-deletion.server.js +0 -10
  757. package/dist/core/collections/auth/hooks/before-read/remove-private-fields.server.d.ts +0 -1
  758. package/dist/core/collections/auth/hooks/before-read/remove-private-fields.server.js +0 -8
  759. package/dist/core/collections/auth/hooks/before-update/forward-roles.server.d.ts +0 -4
  760. package/dist/core/collections/auth/hooks/before-update/forward-roles.server.js +0 -54
  761. package/dist/core/collections/auth/hooks/before-update/prevent-superadmin-mutation.server.d.ts +0 -5
  762. package/dist/core/collections/auth/hooks/before-update/prevent-superadmin-mutation.server.js +0 -27
  763. package/dist/core/collections/auth/hooks/before-update/prevent-user-mutations.server.d.ts +0 -5
  764. package/dist/core/collections/auth/hooks/before-update/prevent-user-mutations.server.js +0 -18
  765. package/dist/core/collections/auth/hooks/before-upsert/augment-fields-password.server.d.ts +0 -6
  766. package/dist/core/collections/auth/hooks/before-upsert/augment-fields-password.server.js +0 -21
  767. package/dist/core/collections/auth/hooks/hooks.server.d.ts +0 -8
  768. package/dist/core/collections/auth/hooks/hooks.server.js +0 -8
  769. package/dist/core/collections/auth/types.d.ts +0 -8
  770. package/dist/core/collections/auth/util.d.ts +0 -13
  771. package/dist/core/collections/config/augment-auth.d.ts +0 -17
  772. package/dist/core/collections/config/augment-auth.js +0 -88
  773. package/dist/core/collections/config/augment-auth.server.d.ts +0 -3
  774. package/dist/core/collections/config/augment-auth.server.js +0 -23
  775. package/dist/core/collections/config/augment-hooks.server.d.ts +0 -14
  776. package/dist/core/collections/config/augment-hooks.server.js +0 -98
  777. package/dist/core/collections/config/augment-label.d.ts +0 -6
  778. package/dist/core/collections/config/augment-metas.d.ts +0 -9
  779. package/dist/core/collections/config/augment-metas.js +0 -12
  780. package/dist/core/collections/config/augment-nested.d.ts +0 -12
  781. package/dist/core/collections/config/augment-nested.js +0 -15
  782. package/dist/core/collections/config/augment-nested.server.d.ts +0 -12
  783. package/dist/core/collections/config/augment-nested.server.js +0 -18
  784. package/dist/core/collections/config/augment-panel.d.ts +0 -13
  785. package/dist/core/collections/config/augment-panel.js +0 -19
  786. package/dist/core/collections/config/augment-thumbnail.d.ts +0 -16
  787. package/dist/core/collections/config/augment-thumbnail.js +0 -15
  788. package/dist/core/collections/config/augment-title.d.ts +0 -16
  789. package/dist/core/collections/config/augment-title.js +0 -27
  790. package/dist/core/collections/config/augment-upload.d.ts +0 -10
  791. package/dist/core/collections/config/augment-upload.js +0 -59
  792. package/dist/core/collections/config/augment-upload.server.d.ts +0 -7
  793. package/dist/core/collections/config/augment-upload.server.js +0 -19
  794. package/dist/core/collections/config/augment-url.d.ts +0 -10
  795. package/dist/core/collections/config/augment-url.js +0 -14
  796. package/dist/core/collections/config/augment-versions.d.ts +0 -14
  797. package/dist/core/collections/config/augment-versions.js +0 -24
  798. package/dist/core/collections/config/builder.d.ts +0 -3
  799. package/dist/core/collections/config/builder.js +0 -51
  800. package/dist/core/collections/config/builder.server.d.ts +0 -15
  801. package/dist/core/collections/config/builder.server.js +0 -47
  802. package/dist/core/collections/config/types.d.ts +0 -3
  803. package/dist/core/collections/local-api.server.d.ts +0 -166
  804. package/dist/core/collections/local-api.server.js +0 -303
  805. package/dist/core/collections/nested/hooks/index.server.d.ts +0 -4
  806. package/dist/core/collections/nested/hooks/index.server.js +0 -33
  807. package/dist/core/collections/operations/create.d.ts +0 -16
  808. package/dist/core/collections/operations/create.js +0 -119
  809. package/dist/core/collections/operations/delete.d.ts +0 -17
  810. package/dist/core/collections/operations/delete.js +0 -32
  811. package/dist/core/collections/operations/deleteById.d.ts +0 -13
  812. package/dist/core/collections/operations/deleteById.js +0 -48
  813. package/dist/core/collections/operations/duplicate.d.ts +0 -12
  814. package/dist/core/collections/operations/duplicate.js +0 -142
  815. package/dist/core/collections/operations/find.d.ts +0 -21
  816. package/dist/core/collections/operations/find.js +0 -70
  817. package/dist/core/collections/operations/findById.d.ts +0 -16
  818. package/dist/core/collections/operations/findById.js +0 -53
  819. package/dist/core/collections/operations/updateById.d.ts +0 -20
  820. package/dist/core/collections/operations/updateById.js +0 -111
  821. package/dist/core/collections/rest/create.server.d.ts +0 -18
  822. package/dist/core/collections/rest/create.server.js +0 -37
  823. package/dist/core/collections/rest/delete.server.d.ts +0 -18
  824. package/dist/core/collections/rest/delete.server.js +0 -37
  825. package/dist/core/collections/rest/deleteById.server.d.ts +0 -18
  826. package/dist/core/collections/rest/deleteById.server.js +0 -21
  827. package/dist/core/collections/rest/duplicate.server.d.ts +0 -15
  828. package/dist/core/collections/rest/duplicate.server.js +0 -20
  829. package/dist/core/collections/rest/get.server.d.ts +0 -18
  830. package/dist/core/collections/rest/get.server.js +0 -50
  831. package/dist/core/collections/rest/getById.server.d.ts +0 -18
  832. package/dist/core/collections/rest/getById.server.js +0 -35
  833. package/dist/core/collections/rest/index.server.d.ts +0 -16
  834. package/dist/core/collections/rest/index.server.js +0 -16
  835. package/dist/core/collections/rest/updateById.server.d.ts +0 -18
  836. package/dist/core/collections/rest/updateById.server.js +0 -44
  837. package/dist/core/collections/upload/disk/delete.server.d.ts +0 -9
  838. package/dist/core/collections/upload/disk/delete.server.js +0 -77
  839. package/dist/core/collections/upload/disk/save.server.d.ts +0 -32
  840. package/dist/core/collections/upload/disk/save.server.js +0 -190
  841. package/dist/core/collections/upload/hooks/clean-up-files.server.d.ts +0 -10
  842. package/dist/core/collections/upload/hooks/clean-up-files.server.js +0 -17
  843. package/dist/core/collections/upload/hooks/convert-base64.server.d.ts +0 -13
  844. package/dist/core/collections/upload/hooks/convert-base64.server.js +0 -36
  845. package/dist/core/collections/upload/hooks/extract-path.server.d.ts +0 -6
  846. package/dist/core/collections/upload/hooks/extract-path.server.js +0 -25
  847. package/dist/core/collections/upload/hooks/handle-path-creation.server.d.ts +0 -6
  848. package/dist/core/collections/upload/hooks/handle-path-creation.server.js +0 -64
  849. package/dist/core/collections/upload/hooks/populate-sizes.server.d.ts +0 -1
  850. package/dist/core/collections/upload/hooks/populate-sizes.server.js +0 -45
  851. package/dist/core/collections/upload/hooks/process-file-upload.server.d.ts +0 -20
  852. package/dist/core/collections/upload/hooks/process-file-upload.server.js +0 -60
  853. package/dist/core/collections/upload/hooks/update-directory-children.server.d.ts +0 -2
  854. package/dist/core/collections/upload/hooks/update-directory-children.server.js +0 -41
  855. package/dist/core/collections/upload/upload.d.ts +0 -16
  856. package/dist/core/collections/upload/util/config.d.ts +0 -16
  857. package/dist/core/collections/upload/util/converter.server.d.ts +0 -16
  858. package/dist/core/collections/upload/util/converter.server.js +0 -105
  859. package/dist/core/collections/upload/util/path.d.ts +0 -65
  860. package/dist/core/collections/upload/util/path.js +0 -139
  861. package/dist/core/collections/versions/operations.d.ts +0 -93
  862. package/dist/core/collections/versions/operations.js +0 -117
  863. package/dist/core/config/auth/better-auth-hooks.server.js +0 -138
  864. package/dist/core/config/auth/better-auth.server.d.ts +0 -2121
  865. package/dist/core/config/auth/better-auth.server.js +0 -81
  866. package/dist/core/config/client/augment-directories.d.ts +0 -6
  867. package/dist/core/config/client/augment-directories.js +0 -11
  868. package/dist/core/config/client/augment-panel.d.ts +0 -35
  869. package/dist/core/config/client/augment-panel.js +0 -22
  870. package/dist/core/config/client/augment-plugins.d.ts +0 -4
  871. package/dist/core/config/client/augment-plugins.js +0 -13
  872. package/dist/core/config/client/augment-staff.d.ts +0 -7
  873. package/dist/core/config/client/augment-staff.js +0 -6
  874. package/dist/core/config/client/build-config.d.ts +0 -41
  875. package/dist/core/config/client/build-config.js +0 -13
  876. package/dist/core/config/client/index.d.ts +0 -4
  877. package/dist/core/config/client/index.js +0 -4
  878. package/dist/core/config/config-context.server.d.ts +0 -70
  879. package/dist/core/config/config-context.server.js +0 -113
  880. package/dist/core/config/server/augment-cors.server.d.ts +0 -4
  881. package/dist/core/config/server/augment-cors.server.js +0 -7
  882. package/dist/core/config/server/augment-directories.server.d.ts +0 -6
  883. package/dist/core/config/server/augment-directories.server.js +0 -37
  884. package/dist/core/config/server/augment-panel-access.server.d.ts +0 -28
  885. package/dist/core/config/server/augment-panel-access.server.js +0 -8
  886. package/dist/core/config/server/augment-plugins.server.d.ts +0 -5
  887. package/dist/core/config/server/augment-plugins.server.js +0 -45
  888. package/dist/core/config/server/augment-staff.server.d.ts +0 -7
  889. package/dist/core/config/server/augment-staff.server.js +0 -6
  890. package/dist/core/config/server/build-config.server.d.ts +0 -123
  891. package/dist/core/config/server/build-config.server.js +0 -28
  892. package/dist/core/config/server/index.server.d.ts +0 -9
  893. package/dist/core/config/server/index.server.js +0 -11
  894. package/dist/core/config/server/validate.server.d.ts +0 -3
  895. package/dist/core/config/server/validate.server.js +0 -234
  896. package/dist/core/config/server/write.server.js +0 -77
  897. package/dist/core/config/shared/augment-icons.d.ts +0 -9
  898. package/dist/core/config/shared/augment-icons.js +0 -11
  899. package/dist/core/config/shared/augment-prototypes.d.ts +0 -8
  900. package/dist/core/config/shared/augment-prototypes.js +0 -7
  901. package/dist/core/config/shared/compile.d.ts +0 -19
  902. package/dist/core/config/shared/compile.js +0 -26
  903. package/dist/core/config/shared/find-thumbnail.d.ts +0 -9
  904. package/dist/core/config/shared/find-thumbnail.js +0 -34
  905. package/dist/core/config/shared/find-title.d.ts +0 -14
  906. package/dist/core/config/shared/find-title.js +0 -35
  907. package/dist/core/config/shared/get-staff-collection.d.ts +0 -22
  908. package/dist/core/config/shared/get-staff-collection.js +0 -55
  909. package/dist/core/config/shared/upload-directories.d.ts +0 -7
  910. package/dist/core/config/shared/upload-directories.js +0 -55
  911. package/dist/core/config/shared/versions-alias.server.d.ts +0 -10
  912. package/dist/core/config/shared/versions-alias.server.js +0 -59
  913. package/dist/core/constant.d.ts +0 -52
  914. package/dist/core/constant.js +0 -51
  915. package/dist/core/constant.server.d.ts +0 -2
  916. package/dist/core/constant.server.js +0 -3
  917. package/dist/core/dev/cache/index.server.d.ts +0 -11
  918. package/dist/core/dev/cache/index.server.js +0 -37
  919. package/dist/core/dev/cli/build/index.js +0 -70
  920. package/dist/core/dev/cli/build/templates.js +0 -43
  921. package/dist/core/dev/cli/clear/index.server.js +0 -42
  922. package/dist/core/dev/cli/generate/index.server.js +0 -98
  923. package/dist/core/dev/cli/generate-manifest/index.server.d.ts +0 -17
  924. package/dist/core/dev/cli/generate-manifest/index.server.js +0 -221
  925. package/dist/core/dev/cli/init/index.server.js +0 -240
  926. package/dist/core/dev/cli/init/templates.d.ts +0 -16
  927. package/dist/core/dev/cli/init/templates.js +0 -105
  928. package/dist/core/dev/cli/util/log.server.d.ts +0 -1
  929. package/dist/core/dev/cli/util/log.server.js +0 -4
  930. package/dist/core/dev/constants.d.ts +0 -29
  931. package/dist/core/dev/constants.js +0 -67
  932. package/dist/core/dev/generate/routes/common.server.d.ts +0 -17
  933. package/dist/core/dev/generate/routes/common.server.js +0 -500
  934. package/dist/core/dev/generate/routes/custom-css.server.js +0 -86
  935. package/dist/core/dev/generate/routes/index.server.d.ts +0 -12
  936. package/dist/core/dev/generate/routes/index.server.js +0 -83
  937. package/dist/core/dev/generate/routes/util.server.d.ts +0 -42
  938. package/dist/core/dev/generate/routes/util.server.js +0 -101
  939. package/dist/core/dev/generate/runtime/index.server.d.ts +0 -44
  940. package/dist/core/dev/generate/runtime/index.server.js +0 -92
  941. package/dist/core/dev/generate/runtime/parse-exports.server.d.ts +0 -7
  942. package/dist/core/dev/generate/runtime/parse-exports.server.js +0 -40
  943. package/dist/core/dev/generate/sanitize/index.server.js +0 -834
  944. package/dist/core/dev/generate/types/index.server.js +0 -368
  945. package/dist/core/dev/vite/index.server.js +0 -308
  946. package/dist/core/ensure.server.d.ts +0 -34
  947. package/dist/core/ensure.server.js +0 -91
  948. package/dist/core/handlers/auth.server.js +0 -154
  949. package/dist/core/handlers/cors.server.js +0 -73
  950. package/dist/core/handlers/index.d.ts +0 -3
  951. package/dist/core/handlers/index.js +0 -16
  952. package/dist/core/handlers/main.server.d.ts +0 -4
  953. package/dist/core/handlers/main.server.js +0 -14
  954. package/dist/core/handlers/plugins.server.js +0 -10
  955. package/dist/core/handlers/routes.server.d.ts +0 -71
  956. package/dist/core/handlers/routes.server.js +0 -88
  957. package/dist/core/naming.d.ts +0 -82
  958. package/dist/core/naming.js +0 -86
  959. package/dist/core/operations/blocks/diff.server.d.ts +0 -15
  960. package/dist/core/operations/blocks/diff.server.js +0 -82
  961. package/dist/core/operations/blocks/extract.server.d.ts +0 -9
  962. package/dist/core/operations/blocks/extract.server.js +0 -33
  963. package/dist/core/operations/blocks/index.server.d.ts +0 -26
  964. package/dist/core/operations/blocks/index.server.js +0 -71
  965. package/dist/core/operations/configMap/buildTreeMap.d.ts +0 -4
  966. package/dist/core/operations/configMap/index.d.ts +0 -6
  967. package/dist/core/operations/configMap/index.js +0 -54
  968. package/dist/core/operations/extract-data.server.d.ts +0 -37
  969. package/dist/core/operations/extract-data.server.js +0 -101
  970. package/dist/core/operations/hooks/before-create/merge-with-blank.server.d.ts +0 -1
  971. package/dist/core/operations/hooks/before-create/merge-with-blank.server.js +0 -24
  972. package/dist/core/operations/hooks/before-operation/authorize.server.d.ts +0 -1
  973. package/dist/core/operations/hooks/before-operation/authorize.server.js +0 -32
  974. package/dist/core/operations/hooks/before-read/populate-url.server.d.ts +0 -4
  975. package/dist/core/operations/hooks/before-read/populate-url.server.js +0 -107
  976. package/dist/core/operations/hooks/before-read/process-document-fields.server.d.ts +0 -1
  977. package/dist/core/operations/hooks/before-read/process-document-fields.server.js +0 -58
  978. package/dist/core/operations/hooks/before-read/set-document-locale.server.d.ts +0 -1
  979. package/dist/core/operations/hooks/before-read/set-document-locale.server.js +0 -15
  980. package/dist/core/operations/hooks/before-read/set-document-thumbnail.server.d.ts +0 -1
  981. package/dist/core/operations/hooks/before-read/set-document-thumbnail.server.js +0 -34
  982. package/dist/core/operations/hooks/before-read/set-document-title.server.d.ts +0 -1
  983. package/dist/core/operations/hooks/before-read/set-document-title.server.js +0 -29
  984. package/dist/core/operations/hooks/before-read/set-document-type.server.d.ts +0 -1
  985. package/dist/core/operations/hooks/before-read/set-document-type.server.js +0 -14
  986. package/dist/core/operations/hooks/before-read/sort-document-props.server.d.ts +0 -1
  987. package/dist/core/operations/hooks/before-read/sort-document-props.server.js +0 -63
  988. package/dist/core/operations/hooks/before-update/define-version-operation.server.d.ts +0 -1
  989. package/dist/core/operations/hooks/before-update/define-version-operation.server.js +0 -18
  990. package/dist/core/operations/hooks/before-update/get-original-document.server.d.ts +0 -1
  991. package/dist/core/operations/hooks/before-update/get-original-document.server.js +0 -37
  992. package/dist/core/operations/hooks/before-upsert/data-config-map.server.d.ts +0 -1
  993. package/dist/core/operations/hooks/before-upsert/data-config-map.server.js +0 -12
  994. package/dist/core/operations/hooks/before-upsert/handle-new-version.server.d.ts +0 -5
  995. package/dist/core/operations/hooks/before-upsert/handle-new-version.server.js +0 -98
  996. package/dist/core/operations/hooks/before-upsert/original-config-map.server.d.ts +0 -1
  997. package/dist/core/operations/hooks/before-upsert/original-config-map.server.js +0 -16
  998. package/dist/core/operations/hooks/before-upsert/set-default-values.server.d.ts +0 -10
  999. package/dist/core/operations/hooks/before-upsert/set-default-values.server.js +0 -70
  1000. package/dist/core/operations/hooks/before-upsert/validate-fields.server.d.ts +0 -1
  1001. package/dist/core/operations/hooks/before-upsert/validate-fields.server.js +0 -150
  1002. package/dist/core/operations/hooks/index.server.d.ts +0 -128
  1003. package/dist/core/operations/hooks/index.server.js +0 -45
  1004. package/dist/core/operations/relations/diff.server.d.ts +0 -14
  1005. package/dist/core/operations/relations/diff.server.js +0 -47
  1006. package/dist/core/operations/relations/extract.server.d.ts +0 -11
  1007. package/dist/core/operations/relations/extract.server.js +0 -59
  1008. package/dist/core/operations/relations/index.server.d.ts +0 -25
  1009. package/dist/core/operations/relations/index.server.js +0 -68
  1010. package/dist/core/operations/shared/fallback-data-from-original.d.ts +0 -9
  1011. package/dist/core/operations/shared/fallback-data-from-original.js +0 -31
  1012. package/dist/core/operations/tree/diff.server.d.ts +0 -20
  1013. package/dist/core/operations/tree/diff.server.js +0 -64
  1014. package/dist/core/operations/tree/extract.server.d.ts +0 -9
  1015. package/dist/core/operations/tree/extract.server.js +0 -34
  1016. package/dist/core/operations/tree/index.server.d.ts +0 -12
  1017. package/dist/core/operations/tree/index.server.js +0 -52
  1018. package/dist/core/plugins/api-init/index.d.ts +0 -2
  1019. package/dist/core/plugins/api-init/index.js +0 -1
  1020. package/dist/core/plugins/api-init/module.server.js +0 -83
  1021. package/dist/core/plugins/mailer/index.d.ts +0 -2
  1022. package/dist/core/plugins/mailer/index.js +0 -1
  1023. package/dist/core/plugins/mailer/module.server.js +0 -32
  1024. package/dist/core/plugins/sse/broadcast.d.ts +0 -13
  1025. package/dist/core/plugins/sse/broadcast.js +0 -30
  1026. package/dist/core/plugins/sse/module.server.d.ts +0 -16
  1027. package/dist/core/plugins/sse/module.server.js +0 -52
  1028. package/dist/core/types/doc.d.ts +0 -74
  1029. package/dist/core/types/index.d.ts +0 -5
  1030. package/dist/panel/navigation.d.ts +0 -13
  1031. package/dist/panel/navigation.js +0 -59
  1032. package/dist/panel/pages/area/AreaVersionsDoc.svelte +0 -24
  1033. package/dist/panel/pages/area/AreaVersionsDoc.svelte.d.ts +0 -7
  1034. package/dist/panel/pages/collection-document/CollectionDocVersions.svelte +0 -29
  1035. package/dist/panel/pages/collection-document/CollectionDocVersions.svelte.d.ts +0 -7
  1036. package/dist/util/access/index.d.ts +0 -73
  1037. package/dist/util/cases.d.ts +0 -39
  1038. package/dist/util/cases.js +0 -58
  1039. package/dist/util/doc.d.ts +0 -50
  1040. package/dist/util/doc.js +0 -140
  1041. package/dist/util/validate.js +0 -171
  1042. /package/dist/{util/access/index.js → core/auth/access.js} +0 -0
  1043. /package/dist/core/{config/auth/better-auth-hooks.server.d.ts → auth/better-auth/hooks.server.d.ts} +0 -0
  1044. /package/dist/core/{config/auth/better-auth-permissions.d.ts → auth/better-auth/permissions.d.ts} +0 -0
  1045. /package/dist/core/{config/auth/better-auth-permissions.js → auth/better-auth/permissions.js} +0 -0
  1046. /package/dist/core/{handlers/auth.server.d.ts → auth/handler/index.server.d.ts} +0 -0
  1047. /package/dist/core/{areas/config → auth}/types.js +0 -0
  1048. /package/dist/core/{collections/auth → auth}/util.js +0 -0
  1049. /package/dist/core/{handlers/cors.server.d.ts → cors/handler.server.d.ts} +0 -0
  1050. /package/dist/core/dev/cli/{build/index.d.ts → commands/build.d.ts} +0 -0
  1051. /package/dist/core/dev/cli/{clear/index.server.d.ts → commands/clear.server.d.ts} +0 -0
  1052. /package/dist/core/dev/cli/{generate/index.server.d.ts → commands/generate.server.d.ts} +0 -0
  1053. /package/dist/core/dev/cli/{init/index.server.d.ts → commands/init.server.d.ts} +0 -0
  1054. /package/dist/core/dev/cli/{build/templates.d.ts → templates/build.d.ts} +0 -0
  1055. /package/dist/core/dev/{generate → codegen}/routes/custom-css.server.d.ts +0 -0
  1056. /package/dist/core/dev/{generate → codegen}/sanitize/index.server.d.ts +0 -0
  1057. /package/dist/core/dev/{generate → codegen}/types/index.server.d.ts +0 -0
  1058. /package/dist/core/{config/server/write.server.d.ts → dev/config-memo.server.d.ts} +0 -0
  1059. /package/dist/core/dev/{vite/index.server.d.ts → vite.server.d.ts} +0 -0
  1060. /package/dist/core/{collections/auth → fields}/types.js +0 -0
  1061. /package/dist/{util → core/fields}/validate.d.ts +0 -0
  1062. /package/dist/core/{collections/config → locale}/types.js +0 -0
  1063. /package/dist/core/{logger/index.server.d.ts → logger.server.d.ts} +0 -0
  1064. /package/dist/core/{logger/index.server.js → logger.server.js} +0 -0
  1065. /package/dist/core/{operations/configMap → panel}/types.js +0 -0
  1066. /package/dist/core/{operations/configMap/buildTreeMap.js → pipeline/config-map/build-tree-map.js} +0 -0
  1067. /package/dist/core/{operations/configMap → pipeline/config-map}/types.d.ts +0 -0
  1068. /package/dist/core/{types/doc.js → pipeline/config-map/types.js} +0 -0
  1069. /package/dist/core/plugins/api-init/{module.server.d.ts → index.server.d.ts} +0 -0
  1070. /package/dist/core/{types/index.js → plugins/cache/types.js} +0 -0
  1071. /package/dist/core/plugins/mailer/{module.server.d.ts → index.server.d.ts} +0 -0
  1072. /package/dist/core/{handlers → plugins}/plugins.server.d.ts +0 -0
  1073. /package/dist/core/{areas/config → prototype/area}/types.d.ts +0 -0
  1074. /package/dist/core/{collections/config → prototype/collection}/augment-label.js +0 -0
  1075. /package/dist/core/{collections → prototype/collection}/upload/util/client.d.ts +0 -0
  1076. /package/dist/core/{collections → prototype/collection}/upload/util/client.js +0 -0
  1077. /package/dist/core/{collections → prototype/collection}/upload/util/config.js +0 -0
  1078. /package/dist/core/{collections → prototype/collection}/upload/util/mime.d.ts +0 -0
  1079. /package/dist/core/{collections → prototype/collection}/upload/util/mime.js +0 -0
@@ -0,0 +1,26 @@
1
+ import { betterAuth } from 'better-auth';
2
+ import { getBaseAuthConfig } from './config.server.js';
3
+ /**
4
+ * Builds the better-auth instance for a config.
5
+ *
6
+ * Extracted from `bootRime` so its *type* can be named without naming `bootRime`. `RimeContext`
7
+ * declares `auth`, and `bootRime` imports the prototype registry — so referring to
8
+ * `ReturnType<typeof bootRime>` for it would put every prototype definition, and therefore every
9
+ * hook, back into the type graph of `event.locals.rime`. That is the loop this whole change
10
+ * exists to cut. This module imports no registry and no prototype.
11
+ *
12
+ * The inference is the point of extracting it rather than widening it: a consumer's own
13
+ * better-auth plugins come from `config.$auth.plugins`, and `auth` has to keep carrying them so
14
+ * `rime.auth` is typed against the plugins that config actually declared.
15
+ */
16
+ export const createAuthInstance = (args) => {
17
+ const { config, configCtx, mailer, adapter } = args;
18
+ const baseAuthConfig = getBaseAuthConfig({ mailer, config: configCtx });
19
+ return betterAuth({
20
+ ...baseAuthConfig,
21
+ plugins: Array.isArray(config.$auth?.plugins)
22
+ ? [...baseAuthConfig.plugins, ...config.$auth.plugins]
23
+ : baseAuthConfig.plugins,
24
+ database: adapter.auth.betterAuthAdapter
25
+ });
26
+ };
@@ -0,0 +1,33 @@
1
+ import type { Adapter } from '../adapter.js';
2
+ /**
3
+ * Whether anybody has signed up yet.
4
+ *
5
+ * Gates the init route, so it is asked precisely when the answer is expected to be no — which is
6
+ * why Better-auth's `listUsers` cannot serve it: there is no admin session to authorize with.
7
+ */
8
+ export declare const hasAuthUser: (adapter: Adapter) => Promise<boolean>;
9
+ /**
10
+ * Sets an auth user's Better-auth role.
11
+ *
12
+ * Better-auth's own `role` column, not rime's `roles` on the auth collection row — the first user
13
+ * needs the former to pass Better-auth's admin checks. Which is also why `setRole` cannot serve
14
+ * it: this call is what makes the first admin, so `adminMiddleware` has nobody to accept yet.
15
+ */
16
+ export declare const setAuthUserRole: (adapter: Adapter, args: {
17
+ authUserId: string;
18
+ role: string;
19
+ }) => Promise<void>;
20
+ /**
21
+ * Removes an auth user and everything hanging off it.
22
+ *
23
+ * Sessions and accounts first, then the user: they reference it, and nothing here relies on a
24
+ * cascade. Used to undo a half-made signup, so it must not leave a session behind that would
25
+ * still authenticate.
26
+ *
27
+ * Better-auth's `removeUser` deletes sessions first too, but it refuses this case outright —
28
+ * `YOU_CANNOT_REMOVE_YOURSELF`, and the half-made signup being rolled back is exactly the session
29
+ * making the request.
30
+ */
31
+ export declare const deleteAuthUser: (adapter: Adapter, args: {
32
+ authUserId: string;
33
+ }) => Promise<void>;
@@ -0,0 +1,50 @@
1
+ /**
2
+ * The three writes and one read auth makes against Better-auth's own tables, through
3
+ * `adapter.table(slug)`.
4
+ *
5
+ * **Better-auth's admin API cannot do any of this.** `listUsers`, `setRole` and `removeUser` all
6
+ * sit behind `adminMiddleware`, and every caller here runs where no admin session exists — see
7
+ * each function.
8
+ */
9
+ const USERS = '$authUsers';
10
+ const SESSIONS = '$authSessions';
11
+ const ACCOUNTS = '$authAccounts';
12
+ /**
13
+ * Whether anybody has signed up yet.
14
+ *
15
+ * Gates the init route, so it is asked precisely when the answer is expected to be no — which is
16
+ * why Better-auth's `listUsers` cannot serve it: there is no admin session to authorize with.
17
+ */
18
+ export const hasAuthUser = async (adapter) => {
19
+ const rows = await adapter.table(USERS).find({ select: ['id'], limit: 1 });
20
+ return rows.length > 0;
21
+ };
22
+ /**
23
+ * Sets an auth user's Better-auth role.
24
+ *
25
+ * Better-auth's own `role` column, not rime's `roles` on the auth collection row — the first user
26
+ * needs the former to pass Better-auth's admin checks. Which is also why `setRole` cannot serve
27
+ * it: this call is what makes the first admin, so `adminMiddleware` has nobody to accept yet.
28
+ */
29
+ export const setAuthUserRole = async (adapter, args) => {
30
+ await adapter.table(USERS).update({
31
+ where: { id: args.authUserId },
32
+ data: { role: args.role }
33
+ });
34
+ };
35
+ /**
36
+ * Removes an auth user and everything hanging off it.
37
+ *
38
+ * Sessions and accounts first, then the user: they reference it, and nothing here relies on a
39
+ * cascade. Used to undo a half-made signup, so it must not leave a session behind that would
40
+ * still authenticate.
41
+ *
42
+ * Better-auth's `removeUser` deletes sessions first too, but it refuses this case outright —
43
+ * `YOU_CANNOT_REMOVE_YOURSELF`, and the half-made signup being rolled back is exactly the session
44
+ * making the request.
45
+ */
46
+ export const deleteAuthUser = async (adapter, args) => {
47
+ await adapter.table(SESSIONS).delete({ where: { userId: args.authUserId } });
48
+ await adapter.table(ACCOUNTS).delete({ where: { userId: args.authUserId } });
49
+ await adapter.table(USERS).delete({ where: { id: args.authUserId } });
50
+ };
@@ -0,0 +1,21 @@
1
+ import type { TableDeclaration } from '../adapter.js';
2
+ import type { Dic } from '../../util/types.js';
3
+ /**
4
+ * Puts the tables no prototype declares on `config.$tables`: better-auth's four, plus the api-key
5
+ * store when a collection asks for that kind of auth.
6
+ *
7
+ * It appends, so a later step can add its own. A consumer wiring a better-auth plugin declares
8
+ * that plugin's table the same way:
9
+ *
10
+ * ```ts
11
+ * configure: (config) => ({
12
+ * ...config,
13
+ * $tables: [...config.$tables, { slug: 'authTwoFactor', columns: [ … ] }]
14
+ * })
15
+ * ```
16
+ *
17
+ * Runs after `configureStaff`, which is what puts an `auth` collection in the config.
18
+ */
19
+ export declare const configureAuthTables: <T extends Dic>(config: T) => T & {
20
+ $tables: TableDeclaration[];
21
+ };
@@ -0,0 +1,21 @@
1
+ import { authTables } from './tables.js';
2
+ /**
3
+ * Puts the tables no prototype declares on `config.$tables`: better-auth's four, plus the api-key
4
+ * store when a collection asks for that kind of auth.
5
+ *
6
+ * It appends, so a later step can add its own. A consumer wiring a better-auth plugin declares
7
+ * that plugin's table the same way:
8
+ *
9
+ * ```ts
10
+ * configure: (config) => ({
11
+ * ...config,
12
+ * $tables: [...config.$tables, { slug: 'authTwoFactor', columns: [ … ] }]
13
+ * })
14
+ * ```
15
+ *
16
+ * Runs after `configureStaff`, which is what puts an `auth` collection in the config.
17
+ */
18
+ export const configureAuthTables = (config) => ({
19
+ ...config,
20
+ $tables: [...(config.$tables ?? []), ...authTables(config)]
21
+ });
@@ -0,0 +1,28 @@
1
+ import type { Dic } from '../../util/types.js';
2
+ import type { User } from './types.js';
3
+ /**
4
+ * The members of an auth document that never leave the server.
5
+ *
6
+ * `.server` is the guarantee, not a filing convention: nothing client-reachable may import this,
7
+ * so nothing can ship a copy of the list to a browser or drift from it. Anything that needs it on
8
+ * the client's behalf goes through the server — see `auth/blank/module.server.ts`.
9
+ */
10
+ export declare const PRIVATE_FIELDS: string[];
11
+ export declare const BETTER_AUTH_ROLES: {
12
+ /** Panel users admin */
13
+ readonly ADMIN: "admin";
14
+ /** Panel users any role */
15
+ readonly STAFF: "staff";
16
+ /** All other users */
17
+ readonly USER: "user";
18
+ };
19
+ /** Every member of `PRIVATE_FIELDS`, off a copy of the document. */
20
+ export declare function withoutPrivateFields<T extends Dic>(doc: T): T;
21
+ /**
22
+ * Strips PRIVATE_FIELDS off the session user. Call this only where a load() function is
23
+ * about to hand `user` to the client (the public layouts in
24
+ * dev/codegen/routes/common.server.ts) — never on event.locals.user itself, which stays
25
+ * the full object so server-only code (hooks, access checks) always sees real staff status
26
+ * regardless of which route triggered it.
27
+ */
28
+ export declare function toPublicUser(user: User | undefined): User | undefined;
@@ -0,0 +1,43 @@
1
+ /**
2
+ * The members of an auth document that never leave the server.
3
+ *
4
+ * `.server` is the guarantee, not a filing convention: nothing client-reachable may import this,
5
+ * so nothing can ship a copy of the list to a browser or drift from it. Anything that needs it on
6
+ * the client's behalf goes through the server — see `auth/blank/module.server.ts`.
7
+ */
8
+ export const PRIVATE_FIELDS = [
9
+ 'password',
10
+ 'token',
11
+ 'isSuperAdmin',
12
+ 'apiKeyId',
13
+ 'authUserId',
14
+ 'isStaff'
15
+ ];
16
+ export const BETTER_AUTH_ROLES = {
17
+ /** Panel users admin */
18
+ ADMIN: 'admin',
19
+ /** Panel users any role */
20
+ STAFF: 'staff',
21
+ /** All other users */
22
+ USER: 'user'
23
+ };
24
+ /** Every member of `PRIVATE_FIELDS`, off a copy of the document. */
25
+ export function withoutPrivateFields(doc) {
26
+ const clean = { ...doc };
27
+ for (const key of PRIVATE_FIELDS) {
28
+ delete clean[key];
29
+ }
30
+ return clean;
31
+ }
32
+ /**
33
+ * Strips PRIVATE_FIELDS off the session user. Call this only where a load() function is
34
+ * about to hand `user` to the client (the public layouts in
35
+ * dev/codegen/routes/common.server.ts) — never on event.locals.user itself, which stays
36
+ * the full object so server-only code (hooks, access checks) always sees real staff status
37
+ * regardless of which route triggered it.
38
+ */
39
+ export function toPublicUser(user) {
40
+ if (!user)
41
+ return undefined;
42
+ return withoutPrivateFields(user);
43
+ }
@@ -0,0 +1,10 @@
1
+ import type { Dic } from '../../util/types.js';
2
+ /**
3
+ * A collection signs in by declaring `auth`.
4
+ *
5
+ * `Dic`, not a narrow shape: an area has no `auth` member at all, and every caller that guards
6
+ * a step here holds one config or the other.
7
+ */
8
+ export declare const isAuth: (config: Dic) => boolean;
9
+ /** The one collection whose documents are the panel's users. */
10
+ export declare const isStaffCollection: (config: Dic) => boolean;
@@ -0,0 +1,10 @@
1
+ import { STAFF_SLUG } from './tables.js';
2
+ /**
3
+ * A collection signs in by declaring `auth`.
4
+ *
5
+ * `Dic`, not a narrow shape: an area has no `auth` member at all, and every caller that guards
6
+ * a step here holds one config or the other.
7
+ */
8
+ export const isAuth = (config) => !!config.auth;
9
+ /** The one collection whose documents are the panel's users. */
10
+ export const isStaffCollection = (config) => config.slug === STAFF_SLUG;
@@ -0,0 +1,159 @@
1
+ import { RimeError } from '../../errors/index.js';
2
+ import { error, redirect } from '@sveltejs/kit';
3
+ import { access } from '../../../util/index.js';
4
+ import { BETTER_AUTH_ROLES } from '../constant.server.js';
5
+ import { userAttributes } from '../user.server.js';
6
+ import { hasAuthUser } from '../better-auth-tables.server.js';
7
+ import { logger } from '../../logger.server.js';
8
+ const dev = process.env.NODE_ENV === 'development';
9
+ /**
10
+ * Ensures panel is properly set up before allowing access
11
+ */
12
+ async function ensureFirstAuthSetup(rime) {
13
+ if (!(await hasAuthUser(rime.adapter)) && !dev) {
14
+ throw new RimeError(RimeError.NOT_FOUND);
15
+ }
16
+ }
17
+ /**
18
+ * Authenticates the request using better-auth
19
+ */
20
+ async function authenticateRequest(headers,
21
+ // Typed by what this uses, not by the whole instance. `RimeContext['auth']` resolves to
22
+ // `RimeAuth<Config>`, and a better-auth instance varies with the plugins its config declared,
23
+ // so the one a real request carries is not assignable to that base. Making the helper generic
24
+ // does not help either — `RimeContext<C>['auth']` has no resolved `api` while `C` is unbound.
25
+ // Naming the one call it makes keeps the plugin typing intact everywhere it matters and asks
26
+ // for nothing here that this function does not actually need.
27
+ auth) {
28
+ return await auth.api.getSession({ headers });
29
+ }
30
+ /**
31
+ * Handles unauthenticated users based on route requirements
32
+ */
33
+ function handleUnauthenticated(event, resolve) {
34
+ const { isPanel, panelUrl } = event.locals.rime.routes;
35
+ if (isPanel) {
36
+ throw redirect(303, panelUrl('sign-in'));
37
+ }
38
+ event.locals.user = undefined;
39
+ event.locals.session = undefined;
40
+ return resolve(event);
41
+ }
42
+ /**
43
+ * Gets CMS user attributes for the authenticated user
44
+ */
45
+ async function getCmsUserAttributes(authUserId, userType, rime) {
46
+ const user = await userAttributes(rime.adapter, {
47
+ authUserId,
48
+ slug: userType
49
+ });
50
+ if (!user) {
51
+ logger.error(RimeError.UNAUTHORIZED);
52
+ throw error(401, RimeError.UNAUTHORIZED);
53
+ }
54
+ return user;
55
+ }
56
+ /**
57
+ * Validates admin roles consistency between better-auth and CMS
58
+ */
59
+ function validateAdminRoles(user, authUser) {
60
+ if (user.roles.includes('admin') && authUser.role !== BETTER_AUTH_ROLES.ADMIN) {
61
+ logger.error(RimeError.UNAUTHORIZED);
62
+ throw error(401, RimeError.UNAUTHORIZED);
63
+ }
64
+ }
65
+ /**
66
+ * Handles API key authentication and role forwarding
67
+ */
68
+ async function handleApiKeyAuth(headers, user,
69
+ // As above: the one call this makes, rather than the whole instance.
70
+ auth) {
71
+ const apiKey = headers.get('x-api-key');
72
+ if (!apiKey)
73
+ return;
74
+ const result = await auth.api.verifyApiKey({
75
+ body: { key: apiKey }
76
+ });
77
+ if (!result.valid || !result.key || !result.key.permissions) {
78
+ logger.error(RimeError.UNAUTHORIZED, 'Invalid api key');
79
+ throw error(401, RimeError.UNAUTHORIZED);
80
+ }
81
+ user.roles = result.key.permissions.roles;
82
+ }
83
+ /**
84
+ * Builds complete user data by combining auth and CMS information
85
+ */
86
+ async function buildUserData(authResult, rime, headers) {
87
+ const { session, user: authUser } = authResult;
88
+ // Get CMS user attributes
89
+ const user = await getCmsUserAttributes(authUser.id, authUser.type, rime);
90
+ // Validate admin roles consistency
91
+ validateAdminRoles(user, authUser);
92
+ // Handle API key authentication.
93
+ //
94
+ // The narrowing is local and deliberate: `C` is still an unbound type parameter here, so
95
+ // better-auth's `api` — which is built from the plugin list a config declares — has nothing
96
+ // concrete to offer yet. The api-key plugin is always in the base config, so the call is sound;
97
+ // it just cannot be proven from inside a function generic over every config.
98
+ await handleApiKeyAuth(headers, user, rime.auth);
99
+ return { user, session, authUser };
100
+ }
101
+ /**
102
+ * Applies authorization rules based on route and user data
103
+ */
104
+ function authorizePanelUser(userData, isPanel, config) {
105
+ const { user } = userData;
106
+ // Panel-specific authorization
107
+ if (isPanel) {
108
+ // Do not allow non-staff user on panel
109
+ if (!user.isStaff) {
110
+ logger.error(RimeError.UNAUTHORIZED);
111
+ throw error(401, RimeError.UNAUTHORIZED);
112
+ }
113
+ // Defaulted here rather than in the config chain. `augmentPanelAccess` existed to make this
114
+ // one call safe: a server-only step, refining the config's type, for a member nothing else
115
+ // reads. One `??` at the only read site costs less than a step in the chain.
116
+ const panelAccess = config.raw.panel.$access ?? ((u) => access.isAdmin(u));
117
+ if (!panelAccess(user)) {
118
+ logger.error(RimeError.UNAUTHORIZED);
119
+ throw error(401, RimeError.UNAUTHORIZED);
120
+ }
121
+ }
122
+ }
123
+ /**
124
+ * Sets up event locals and resolves the request. event.locals.user is always the full
125
+ * object, on every route type — server-only code (hooks, access checks) can rely on
126
+ * isStaff/isSuperAdmin regardless of which route triggered it. Only the handful of
127
+ * load() functions that hand `user` to the client need to call toPublicUser() first
128
+ * (see dev/codegen/routes/common.server.ts's public layout templates).
129
+ */
130
+ function setupLocalsAndResolve(event, resolve, userData) {
131
+ const { user, session, authUser } = userData;
132
+ event.locals.user = user;
133
+ event.locals.session = session || undefined;
134
+ event.locals.betterAuthUser = authUser;
135
+ return resolve(event);
136
+ }
137
+ /**
138
+ * Main authentication handler with clear, linear flow
139
+ */
140
+ export const handleAuth = async ({ event, resolve }) => {
141
+ const rime = event.locals.rime;
142
+ const { isPanel } = rime.routes;
143
+ // Ensure auth is set up
144
+ if (isPanel) {
145
+ await ensureFirstAuthSetup(rime);
146
+ }
147
+ // Authenticate the request
148
+ const authResult = await authenticateRequest(event.request.headers, rime.auth);
149
+ // Handle unauthenticated users
150
+ if (!authResult) {
151
+ return handleUnauthenticated(event, resolve);
152
+ }
153
+ // Build complete user data
154
+ const userData = await buildUserData(authResult, rime, event.request.headers);
155
+ // Apply panel authorization rules
156
+ authorizePanelUser(userData, isPanel, rime.config);
157
+ // Set up locals and resolve
158
+ return setupLocalsAndResolve(event, resolve, userData);
159
+ };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Appends the `password` field to the config, so the validation steps that follow
3
+ * (buildDataConfigMap → validateFields) see it and enforce the password policy.
4
+ *
5
+ * `password` is not a column — better-auth stores the credential. It lives in the config
6
+ * purely to carry `validate.password`, which is why it is added here per-operation rather
7
+ * than declared on the collection in augment.ts.
8
+ *
9
+ * Must run *after* mergeWithBlankDocument. The blank document is built from `config.fields`,
10
+ * and the config map is built from the *data*: augment before the merge and every create
11
+ * gains a blank `password`, which then fails its own `.required()` check on the paths that
12
+ * legitimately have no password — better-auth's post-signup callback, which creates the
13
+ * document with `{ name, email, authUserId }`.
14
+ *
15
+ * `confirmPassword` deliberately does NOT appear here. It is a form control, not data: the
16
+ * only thing a server-side comparison proves is that the same client sent the same value
17
+ * twice. The panel enforces the match in AuthFooter.svelte, where a mistyped password can
18
+ * still be corrected.
19
+ */
20
+ export declare const augmentFieldsPassword: import("../../pipeline/types").Hook<"auth", "create" | "update", "before">;
@@ -0,0 +1,44 @@
1
+ import { Hooks } from '../../pipeline/define-hook.js';
2
+ import validate from '../../fields/validate.js';
3
+ import { text } from '../../../fields/text/index.js';
4
+ const passwordField = text('password')
5
+ .required()
6
+ .access({
7
+ create: () => true,
8
+ read: () => false,
9
+ update: () => false
10
+ })
11
+ .validate((value) => validate.password(value));
12
+ /**
13
+ * Appends the `password` field to the config, so the validation steps that follow
14
+ * (buildDataConfigMap → validateFields) see it and enforce the password policy.
15
+ *
16
+ * `password` is not a column — better-auth stores the credential. It lives in the config
17
+ * purely to carry `validate.password`, which is why it is added here per-operation rather
18
+ * than declared on the collection in augment.ts.
19
+ *
20
+ * Must run *after* mergeWithBlankDocument. The blank document is built from `config.fields`,
21
+ * and the config map is built from the *data*: augment before the merge and every create
22
+ * gains a blank `password`, which then fails its own `.required()` check on the paths that
23
+ * legitimately have no password — better-auth's post-signup callback, which creates the
24
+ * document with `{ name, email, authUserId }`.
25
+ *
26
+ * `confirmPassword` deliberately does NOT appear here. It is a form control, not data: the
27
+ * only thing a server-side comparison proves is that the same client sent the same value
28
+ * twice. The panel enforces the match in AuthFooter.svelte, where a mistyped password can
29
+ * still be corrected.
30
+ */
31
+ export const augmentFieldsPassword = Hooks.beforeUpsert(async function augmentFieldsPassword(args) {
32
+ let { config } = args;
33
+ const IS_PASSWORD_AUTH = config.auth && typeof config.auth !== 'boolean' && config.auth.type === 'password';
34
+ if (IS_PASSWORD_AUTH) {
35
+ config = {
36
+ ...config,
37
+ fields: [...config.fields, passwordField]
38
+ };
39
+ }
40
+ return {
41
+ ...args,
42
+ config
43
+ };
44
+ });
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Create a better-auth user before a document creation
3
+ */
4
+ export declare const createBetterAuthUser: import("../../pipeline/types").Hook<"auth", "create", "before">;