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,4 @@
1
+ /**
2
+ * Puts `sizes` on an upload document — the URL of each generated image size, keyed by its name.
3
+ */
4
+ export declare const populateSizes: import("../../../../pipeline/types").Hook<"raw", "read", "before">;
@@ -0,0 +1,48 @@
1
+ import { Hooks } from '../../../../pipeline/define-hook.js';
2
+ /**
3
+ * Puts `sizes` on an upload document — the URL of each generated image size, keyed by its name.
4
+ */
5
+ export const populateSizes = Hooks.beforeRead(async function populateSizes(args) {
6
+ const config = args.config;
7
+ const doc = args.doc;
8
+ if ('imageSizes' in config.upload && config.upload.imageSizes && doc.filename) {
9
+ doc.sizes = {};
10
+ for (const size of config.upload.imageSizes) {
11
+ if (doc[size.name]) {
12
+ // Handle multiple formats
13
+ const formats = doc[size.name].split('|');
14
+ // Multiple formats
15
+ if (formats.length > 1) {
16
+ formats.forEach((format) => {
17
+ const extension = format.split('.').pop();
18
+ doc.sizes[`${size.name}_${extension}`] = `/medias/${format}`;
19
+ });
20
+ // Single format
21
+ }
22
+ else {
23
+ doc.sizes[size.name] = `/medias/${formats[0]}`;
24
+ }
25
+ delete doc[size.name];
26
+ }
27
+ else {
28
+ // Default case: use original file as string
29
+ doc.sizes[size.name] = `/medias/${doc.filename}`;
30
+ }
31
+ }
32
+ // Add the _thumbnail prop
33
+ if ('thumbnail' in doc.sizes) {
34
+ doc._thumbnail = doc.sizes.thumbnail;
35
+ }
36
+ else {
37
+ const thumbnailKey = Object.keys(doc.sizes).find((sizeName) => sizeName.startsWith('thumbnail'));
38
+ if (thumbnailKey) {
39
+ doc._thumbnail = doc.sizes[thumbnailKey];
40
+ }
41
+ else {
42
+ doc._thumbnail = `/medias/${doc.filename}`;
43
+ }
44
+ }
45
+ }
46
+ doc.url = doc.filename ? `/medias/${doc.filename}` : null;
47
+ return { ...args, doc };
48
+ });
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Hook that handles file upload processing and image resizing operations.
3
+ *
4
+ * @description
5
+ * This hook performs the following operations:
6
+ * 1. For new files:
7
+ * - Saves the uploaded file to storage
8
+ * - Generates different image sizes if configured
9
+ * - Updates document with file metadata and image variations
10
+ *
11
+ * 2. For file updates:
12
+ * - Removes old files from storage
13
+ * - Processes new file as above
14
+ *
15
+ * 3. For file deletions:
16
+ * - Removes files from storage
17
+ * - Cleans up image variations
18
+ * - Nullifies related document fields
19
+ */
20
+ export declare const processFileUpload: import("../../../../pipeline/types").Hook<"upload", "create" | "update", "before">;
@@ -0,0 +1,60 @@
1
+ import { Hooks } from '../../../../pipeline/define-hook.js';
2
+ import { cleanUpDocumentFile } from '../disk/delete.server.js';
3
+ import { saveFile } from '../disk/save.server.js';
4
+ import { omit } from '../../../../../util/object.js';
5
+ import { toCamelCase } from '../../../../../util/string.js';
6
+ import { isUploadConfig } from '../util/config.js';
7
+ /**
8
+ * Hook that handles file upload processing and image resizing operations.
9
+ *
10
+ * @description
11
+ * This hook performs the following operations:
12
+ * 1. For new files:
13
+ * - Saves the uploaded file to storage
14
+ * - Generates different image sizes if configured
15
+ * - Updates document with file metadata and image variations
16
+ *
17
+ * 2. For file updates:
18
+ * - Removes old files from storage
19
+ * - Processes new file as above
20
+ *
21
+ * 3. For file deletions:
22
+ * - Removes files from storage
23
+ * - Cleans up image variations
24
+ * - Nullifies related document fields
25
+ */
26
+ export const processFileUpload = Hooks.beforeUpsert(async function processFileUpload(args) {
27
+ const { operation, config, event } = args;
28
+ const { rime } = event.locals;
29
+ if (!isUploadConfig(config))
30
+ throw new Error('Should never throw');
31
+ let data = args.data || {};
32
+ const hasSizeConfig = 'imageSizes' in config.upload && Array.isArray(config.upload.imageSizes);
33
+ const sizesConfig = hasSizeConfig ? config.upload.imageSizes : [];
34
+ if (data.file) {
35
+ if (operation === 'update' && args.context.originalDoc) {
36
+ await cleanUpDocumentFile({ config, rime, id: args.context.originalDoc.id });
37
+ }
38
+ const { filename, imageSizes } = await saveFile(data.file, sizesConfig);
39
+ data = {
40
+ ...omit(['file'], data),
41
+ filename,
42
+ ...imageSizes
43
+ };
44
+ }
45
+ // If data.file is explicitly set to null : delete file
46
+ if (data.file === null) {
47
+ // delete files
48
+ if (operation === 'update' && args.context.originalDoc) {
49
+ await cleanUpDocumentFile({ config, rime, id: args.context.originalDoc.id });
50
+ }
51
+ // update data for DB update
52
+ for (const size of sizesConfig) {
53
+ data = {
54
+ ...data,
55
+ [toCamelCase(size.name)]: null
56
+ };
57
+ }
58
+ }
59
+ return { ...args, data };
60
+ });
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @TODO explain — reads the directory's children before the write, for `updateDirectoryChildren`
3
+ * below to re-parent afterwards.
4
+ */
5
+ export declare const prepareDirectoryChildren: import("../../../../pipeline/types").Hook<"directory", "update", "before">;
6
+ /**
7
+ * @TODO explain — re-parents what `prepareDirectoryChildren` collected, once the directory's own
8
+ * row has been written.
9
+ */
10
+ export declare const updateDirectoryChildren: import("../../../../pipeline/types").Hook<"directory", "update", "after">;
@@ -0,0 +1,47 @@
1
+ import { Hooks } from '../../../../pipeline/define-hook.js';
2
+ import { RimeError } from '../../../../errors/index.js';
3
+ import { trycatch } from '../../../../../util/function.js';
4
+ /**
5
+ * @TODO explain — reads the directory's children before the write, for `updateDirectoryChildren`
6
+ * below to re-parent afterwards.
7
+ */
8
+ export const prepareDirectoryChildren = Hooks.beforeUpdate(async function prepareDirectoryChildren(args) {
9
+ const data = args.data;
10
+ const { event, config, context } = args;
11
+ const originalDoc = context.originalDoc;
12
+ if (!originalDoc)
13
+ throw new RimeError(RimeError.OPERATION_ERROR, 'missing originalDoc @prepareDirectoryChildren');
14
+ if (data.id) {
15
+ // `parent` is an ordinary field on the directories collection, which is never versioned —
16
+ // so the normal query path answers this and no drizzle handle is needed.
17
+ const children = await event.locals.rime.adapter.collection(config.slug).findMany({
18
+ query: { where: { parent: { equals: `${originalDoc.id}` } } }
19
+ });
20
+ const updates = children.map((childDir) => {
21
+ return {
22
+ id: childDir.id,
23
+ data: {
24
+ id: `${childDir.parent.replace(originalDoc.id, data.id)}:${childDir.name}`
25
+ }
26
+ };
27
+ });
28
+ args.context.directoriesUpdates = updates;
29
+ }
30
+ return args;
31
+ });
32
+ /**
33
+ * @TODO explain — re-parents what `prepareDirectoryChildren` collected, once the directory's own
34
+ * row has been written.
35
+ */
36
+ export const updateDirectoryChildren = Hooks.afterUpdate(async function updateDirectoryChildren(args) {
37
+ const { event, config } = args;
38
+ const collection = event.locals.rime.collection(config.slug);
39
+ const updates = args.context.directoriesUpdates || [];
40
+ for (const update of updates) {
41
+ const [error] = await trycatch(() => collection.updateById(update));
42
+ if (error) {
43
+ throw new RimeError(RimeError.OPERATION_ERROR, 'Error when updating child directories');
44
+ }
45
+ }
46
+ return args;
47
+ });
@@ -0,0 +1,15 @@
1
+ import type { Collection } from '../../../config/types.js';
2
+ import type { WithNormalizedUpload } from './types.js';
3
+ /**
4
+ * Normalize config.upload and imagesSizes
5
+ * add corresponding fields with validation if config.upload.accept is defined
6
+ */
7
+ export declare const augmentUpload: <T extends Collection<any>>(config: T) => WithNormalizedUpload<T>;
8
+ /**
9
+ * The derived `<slug>Directories` collections, re-exported so `$rime/modules` collects them.
10
+ *
11
+ * They live in `directories/configure.ts` — the file says the phase — and only a file named
12
+ * `module.ts` or `module.server.ts` is a pair half, so this one re-exports rather than holding
13
+ * the code.
14
+ */
15
+ export { configureUploadDirectories } from './directories/configure.js';
@@ -0,0 +1,92 @@
1
+ import { text } from '../../../../fields/text/index.js';
2
+ import { toCamelCase } from '../../../../util/string.js';
3
+ import { validatePath } from './util/path.js';
4
+ /**
5
+ * The upload feature's client half — the augment as it runs on both sides.
6
+ *
7
+ * `$rime/modules` resolves this file on a client build and `module.server.ts` on a server one, so
8
+ * the two halves share the export name `augmentUpload` and only the file differs. The server half
9
+ * adds a foreign key the client config must not carry; everything else is here.
10
+ *
11
+ * A name only has to be unique within this pair — `$rime/modules:core/prototype/collection/upload`
12
+ * names the folder. The type still lives in types.ts: a type exported here would be stubbed as a
13
+ * value on the client.
14
+ */
15
+ const withNormalizedUpload = (config) => {
16
+ // Create a new object without the auth property
17
+ const { upload, ...rest } = config;
18
+ // Determine the normalized upload value
19
+ let normalizedUpload;
20
+ if (typeof upload === 'boolean') {
21
+ normalizedUpload = upload === true ? {} : undefined;
22
+ }
23
+ else {
24
+ normalizedUpload = upload;
25
+ }
26
+ // Return the new object with the normalized upload
27
+ return {
28
+ ...rest,
29
+ upload: normalizedUpload
30
+ };
31
+ };
32
+ /**
33
+ * Normalize config.upload and imagesSizes
34
+ * add corresponding fields with validation if config.upload.accept is defined
35
+ */
36
+ export const augmentUpload = (config) => {
37
+ const normalizedUploadConfig = withNormalizedUpload(config);
38
+ if (!normalizedUploadConfig.upload)
39
+ return normalizedUploadConfig;
40
+ const { upload } = normalizedUploadConfig;
41
+ let fields = [...(config.fields || [])];
42
+ if (upload) {
43
+ // Add panel thumbnail size if not already present
44
+ const isPanelThumbnailInSizes = upload.imageSizes &&
45
+ upload.imageSizes.some((size) => size.name === 'thumbnail');
46
+ if (!isPanelThumbnailInSizes) {
47
+ const thumbnailSize = { name: 'thumbnail', width: 400, compression: 60 };
48
+ upload.imageSizes = [thumbnailSize, ...(upload.imageSizes || [])];
49
+ }
50
+ // Add image size fields
51
+ if ('imageSizes' in upload && upload.imageSizes?.length) {
52
+ const sizesFields = upload.imageSizes.map((size) => text(toCamelCase(size.name)).hidden());
53
+ fields = [...fields, ...sizesFields];
54
+ }
55
+ // Add mimeType field
56
+ const mimeType = text('mimeType').table({ sort: true, position: 99 }).hidden();
57
+ // Add validation if accept is defined
58
+ if ('accept' in upload && Array.isArray(upload.accept)) {
59
+ const allowedMimeTypes = upload.accept;
60
+ mimeType.validate((value) => {
61
+ return ((typeof value === 'string' && allowedMimeTypes.includes(value)) ||
62
+ `File should be the type of ${allowedMimeTypes.toString()}`);
63
+ });
64
+ }
65
+ const _pathField = text('_path').$root().hidden().validate(validatePath);
66
+ // Add hidden fields
67
+ fields.push(mimeType, text('filename').hidden(), text('filesize').hidden(), _pathField);
68
+ }
69
+ // What an upload document is called, overriding the prototype's fallback. Overrides rather than
70
+ // defers, so upload wins for the rare config carrying both — registry order puts this after
71
+ // auth's.
72
+ //
73
+ // `_dashboardLayout` is the same kind of statement: a collection of files reads better as
74
+ // thumbnails than as rows. Offered, not imposed — the dashboard falls back to `'rows'` and an
75
+ // author's `panel.dashboard.layout` wins over both. Before this, the *collection prototype*
76
+ // tested `config.upload` to decide it.
77
+ return {
78
+ ...config,
79
+ upload: upload || false,
80
+ fields,
81
+ _titleFallback: 'filename',
82
+ _dashboardLayout: 'grid'
83
+ };
84
+ };
85
+ /**
86
+ * The derived `<slug>Directories` collections, re-exported so `$rime/modules` collects them.
87
+ *
88
+ * They live in `directories/configure.ts` — the file says the phase — and only a file named
89
+ * `module.ts` or `module.server.ts` is a pair half, so this one re-exports rather than holding
90
+ * the code.
91
+ */
92
+ export { configureUploadDirectories } from './directories/configure.js';
@@ -0,0 +1,24 @@
1
+ import type { Collection } from '../../../config/types.js';
2
+ import type { WithNormalizedUpload } from './types.js';
3
+ /**
4
+ * The upload feature's server half.
5
+ *
6
+ * Same export name as `module.ts` for the augment, because `$rime/modules` picks the file, not the
7
+ * name — the `…Server` suffix this replaces was doing the resolver's job by hand. `uploadHooks`
8
+ * has no client half at all, so the resolver stubs it to `undefined` there.
9
+ */
10
+ /**
11
+ * The client augment, plus the one thing a client config must not carry: `_path` points at the
12
+ * collection's directories table, and that foreign key is what makes the schema's cascade work.
13
+ * Get this half onto the wrong build and the FK silently vanishes — which is why the golden
14
+ * schema diff is the check that matters for this feature.
15
+ */
16
+ export declare const augmentUpload: <T extends Collection<any>>(config: T) => WithNormalizedUpload<T>;
17
+ /**
18
+ * The derived `<slug>Directories` collections, re-exported so `$rime/modules` collects them.
19
+ *
20
+ * They live in `directories/configure.server.ts` — the file says the phase — and only a file named
21
+ * `module.ts` or `module.server.ts` is a pair half, so this one re-exports rather than holding
22
+ * the code.
23
+ */
24
+ export { configureUploadDirectories } from './directories/configure.server.js';
@@ -0,0 +1,36 @@
1
+ import { FormFieldBuilder } from '../../../fields/builders/form-field-builder.js';
2
+ import { directoriesOf } from './naming.js';
3
+ import { augmentUpload as augmentUploadBase } from './module.js';
4
+ /**
5
+ * The upload feature's server half.
6
+ *
7
+ * Same export name as `module.ts` for the augment, because `$rime/modules` picks the file, not the
8
+ * name — the `…Server` suffix this replaces was doing the resolver's job by hand. `uploadHooks`
9
+ * has no client half at all, so the resolver stubs it to `undefined` there.
10
+ */
11
+ /**
12
+ * The client augment, plus the one thing a client config must not carry: `_path` points at the
13
+ * collection's directories table, and that foreign key is what makes the schema's cascade work.
14
+ * Get this half onto the wrong build and the FK silently vanishes — which is why the golden
15
+ * schema diff is the check that matters for this feature.
16
+ */
17
+ export const augmentUpload = (config) => {
18
+ const collection = augmentUploadBase(config);
19
+ (collection.fields || []).forEach((field) => {
20
+ if (field instanceof FormFieldBuilder && field.name === '_path') {
21
+ field.$references(directoriesOf(config), {
22
+ onDelete: 'cascade',
23
+ onUpdate: 'cascade'
24
+ });
25
+ }
26
+ });
27
+ return collection;
28
+ };
29
+ /**
30
+ * The derived `<slug>Directories` collections, re-exported so `$rime/modules` collects them.
31
+ *
32
+ * They live in `directories/configure.server.ts` — the file says the phase — and only a file named
33
+ * `module.ts` or `module.server.ts` is a pair half, so this one re-exports rather than holding
34
+ * the code.
35
+ */
36
+ export { configureUploadDirectories } from './directories/configure.server.js';
@@ -0,0 +1,23 @@
1
+ import type { CollectionSlug } from '../../../../types.js';
2
+ /** `medias` -> `$mediasDirectories`. A slug in, a slug out; it strips nothing. */
3
+ export declare const withDirectoriesSuffix: (slug: string) => CollectionSlug;
4
+ /**
5
+ * The directories collection a config's files live under — its own, or its owner's when it is a
6
+ * versions.
7
+ *
8
+ * The one call site that has a config rather than a bare slug should use this. `_shadowOf` is
9
+ * core's answer to "whose content is this", set by whichever feature derived the versions table.
10
+ */
11
+ export declare const directoriesOf: (config: {
12
+ slug: string;
13
+ _shadowOf?: string;
14
+ }) => never;
15
+ /**
16
+ * The URL form of a collection's directories sibling: `medias` -> `medias-directories`.
17
+ *
18
+ * Takes the **slug**, never the kebab. Three panel call sites did
19
+ * `apiUrl(withDirectoriesSuffix(config.kebab))`, which was right only while a slug and its
20
+ * kebab were the same string — it now builds `/api/$mediasDirectories`, and for a multi-word
21
+ * collection it corrupts the name twice over (`my-medias` -> `$my-mediasDirectories`).
22
+ */
23
+ export declare const directoriesKebab: (slug: string) => string;
@@ -0,0 +1,37 @@
1
+ import { prototypeKebab } from '../../naming.js';
2
+ /**
3
+ * The upload directories naming convention, in slug space.
4
+ *
5
+ * medias -> $mediasDirectories -> table medias_directories -> url medias-directories
6
+ *
7
+ * `$` marks it rime-derived, but there is deliberately **no `__`**: a directories collection is
8
+ * a sibling, not a versions table or a child, and holds no schema relationship to its parent. So its
9
+ * table name carries no relationship marker and stays exactly what it is today. Telling a
10
+ * directories collection apart is the upload feature's job — by this convention — not something
11
+ * the table name can answer.
12
+ *
13
+ * A folder tree belongs to the **document**, not to a revision of it, so a versions table's
14
+ * directories are its owner's. `directoriesOf` below asks the config whose content it holds,
15
+ * rather than reading it off how the slug is spelled.
16
+ */
17
+ const DERIVED = '$';
18
+ const MARKER = 'Directories';
19
+ /** `medias` -> `$mediasDirectories`. A slug in, a slug out; it strips nothing. */
20
+ export const withDirectoriesSuffix = (slug) => `${DERIVED}${slug}${MARKER}`;
21
+ /**
22
+ * The directories collection a config's files live under — its own, or its owner's when it is a
23
+ * versions.
24
+ *
25
+ * The one call site that has a config rather than a bare slug should use this. `_shadowOf` is
26
+ * core's answer to "whose content is this", set by whichever feature derived the versions table.
27
+ */
28
+ export const directoriesOf = (config) => withDirectoriesSuffix(config._shadowOf ?? config.slug);
29
+ /**
30
+ * The URL form of a collection's directories sibling: `medias` -> `medias-directories`.
31
+ *
32
+ * Takes the **slug**, never the kebab. Three panel call sites did
33
+ * `apiUrl(withDirectoriesSuffix(config.kebab))`, which was right only while a slug and its
34
+ * kebab were the same string — it now builds `/api/$mediasDirectories`, and for a multi-word
35
+ * collection it corrupts the name twice over (`my-medias` -> `$my-mediasDirectories`).
36
+ */
37
+ export const directoriesKebab = (slug) => prototypeKebab(withDirectoriesSuffix(slug));
@@ -0,0 +1,102 @@
1
+ import type { FieldBuilder } from '../../../fields/builders/field-builder.js';
2
+ import type { Field } from '../../../../fields/types.js';
3
+ import type { Access } from '../../../config/types.js';
4
+ import type { CollectionHooks } from '../../../config/types.js';
5
+ import type { BaseDoc, GenericDoc } from '../../types.js';
6
+ import type { Dic } from '../../../../util/types.js';
7
+ import type { UploadPath } from './util/path.js';
8
+ /**
9
+ * What a document of an upload collection carries beyond a plain one.
10
+ *
11
+ * Was in `core/prototype/types.ts`, in the `Docs` registry, which is what made that file import
12
+ * `UploadPath` out of this feature to describe its own type.
13
+ */
14
+ export type UploadDoc = BaseDoc & {
15
+ mimeType: string;
16
+ filesize: string;
17
+ filename: string;
18
+ url: string;
19
+ sizes: {
20
+ [key: string]: string;
21
+ };
22
+ } & Dic;
23
+ /** A row of the directories tree this feature derives per upload collection. */
24
+ export type DirectoryDoc = {
25
+ id: UploadPath;
26
+ parent: string | null;
27
+ name: string;
28
+ createdAt: Date;
29
+ updatedAt: Date;
30
+ };
31
+ declare module '$lib/core/prototype/types.js' {
32
+ interface FeatureDocTypes {
33
+ upload: UploadDoc;
34
+ directory: DirectoryDoc;
35
+ }
36
+ }
37
+ /** A config whose `upload` has been normalised from `true` to an object by the upload augment. */
38
+ export type WithNormalizedUpload<T> = Omit<T, 'upload'> & {
39
+ upload?: UploadConfig;
40
+ };
41
+ export type JsonFile = {
42
+ base64: string;
43
+ filename?: string;
44
+ mimeType?: string;
45
+ filesize?: number;
46
+ lastModified?: number;
47
+ };
48
+ export type Directory = GenericDoc & {
49
+ id: UploadPath;
50
+ name: string;
51
+ parent: UploadPath | null;
52
+ };
53
+ import type { AtLeastOne } from '../../../../util/types.js';
54
+ /** What an author writes under `upload`, and the image sizes it may ask for. */
55
+ export type UploadConfig = {
56
+ /**
57
+ * Define image sizes that will be generated when an image is uploaded.
58
+ * A 'thumbnail' size will be added, if none provided with this name.
59
+ * @example
60
+ * ```typescript
61
+ * imageSizes: [
62
+ * {
63
+ * name: 'thumbnail',
64
+ * width: 200,
65
+ * height: 200,
66
+ * out: ['jpg', 'webp'],
67
+ * compression: 80
68
+ * },
69
+ * {
70
+ * name: 'medium',
71
+ * width: 800,
72
+ * compression: 85
73
+ * }
74
+ * ]
75
+ * ```
76
+ */
77
+ imageSizes?: ImageSizesConfig[];
78
+ /**
79
+ * Allowed mimeTypes
80
+ * @example
81
+ * ```typescript
82
+ * accept: ['image/jpeg', 'image/svg']
83
+ * ```
84
+ */
85
+ accept?: string[];
86
+ /** Directories */
87
+ directories?: {
88
+ fields: FieldBuilder<Field>[];
89
+ access?: Access;
90
+ $hooks?: CollectionHooks<any>;
91
+ };
92
+ };
93
+ export type ImageSizesConfig = {
94
+ name: string;
95
+ /** If none provided, will fallback to original file extesion */
96
+ out?: Array<'jpg' | 'webp'>;
97
+ /** Default compression: 60 */
98
+ compression?: number;
99
+ } & AtLeastOne<{
100
+ width: number;
101
+ height: number;
102
+ }>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ import type { UploadConfig } from '../types.js';
2
+ export type WithUpload<T extends {
3
+ upload?: boolean | UploadConfig;
4
+ }> = T & {
5
+ upload: UploadConfig;
6
+ };
7
+ /**
8
+ * Type guard to check if a configuration has upload capabilities
9
+ * @example
10
+ * if (isUploadConfig(collection)) {
11
+ * // Handle upload-specific functionality
12
+ * }
13
+ */
14
+ export declare function isUploadConfig<C extends {
15
+ upload?: UploadConfig;
16
+ }>(config: C): config is WithUpload<C>;
@@ -0,0 +1,29 @@
1
+ import type { JsonFile } from '../types.js';
2
+ export declare const jsonFileToFile: (jsonFile: JsonFile) => {
3
+ filename: string;
4
+ mimeType: string;
5
+ filesize: string;
6
+ file: File;
7
+ };
8
+ /** Used by the e2e suites — each fixture's `api.test.ts` — to post an upload as base64. */
9
+ export declare function filePathToBase64(filePath: string): Promise<string>;
10
+ /**
11
+ * Convert a filepath to a File like object
12
+ * @param filePath - Absolute path to the file
13
+ * @returns A File-like object with necessary properties and methods
14
+ * @example
15
+ * const file = await filePathToFile('/path/to/image.jpg');
16
+ */
17
+ export declare function filePathToFile(filePath: string): Promise<File>;
18
+ /**
19
+ * The file a stored document already has, as a `File`.
20
+ *
21
+ * One call, so a caller never spells out where upload keeps its files —
22
+ * `disk/save.server.ts` and `disk/delete.server.ts` own that convention.
23
+ *
24
+ * `undefined` when the document has no file, so a caller asking "does it have one?" and "give it
25
+ * to me" makes one call, not two.
26
+ */
27
+ export declare function fileForDocument(doc: {
28
+ filename?: unknown;
29
+ }): Promise<File | undefined>;