rimecms 0.31.5 → 0.32.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1076) hide show
  1. package/dist/adapter-sqlite/area.server.d.ts +10 -46
  2. package/dist/adapter-sqlite/area.server.js +31 -309
  3. package/dist/adapter-sqlite/auth.server.d.ts +11 -19
  4. package/dist/adapter-sqlite/auth.server.js +20 -77
  5. package/dist/adapter-sqlite/blocks.server.d.ts +7 -8
  6. package/dist/adapter-sqlite/blocks.server.js +17 -12
  7. package/dist/adapter-sqlite/collection.server.d.ts +10 -67
  8. package/dist/adapter-sqlite/collection.server.js +22 -418
  9. package/dist/adapter-sqlite/columns.server.d.ts +140 -0
  10. package/dist/adapter-sqlite/columns.server.js +307 -0
  11. package/dist/adapter-sqlite/generate-schema/column.server.js +1 -1
  12. package/dist/adapter-sqlite/generate-schema/index.server.d.ts +3 -3
  13. package/dist/adapter-sqlite/generate-schema/index.server.js +64 -139
  14. package/dist/adapter-sqlite/generate-schema/relations/junction.server.d.ts +3 -2
  15. package/dist/adapter-sqlite/generate-schema/relations/junction.server.js +14 -7
  16. package/dist/adapter-sqlite/generate-schema/root.server.d.ts +31 -7
  17. package/dist/adapter-sqlite/generate-schema/root.server.js +35 -19
  18. package/dist/adapter-sqlite/generate-schema/templates.server.d.ts +62 -65
  19. package/dist/adapter-sqlite/generate-schema/templates.server.js +119 -175
  20. package/dist/adapter-sqlite/generate-schema/write.server.js +19 -6
  21. package/dist/adapter-sqlite/index.server.d.ts +17 -23
  22. package/dist/adapter-sqlite/index.server.js +33 -36
  23. package/dist/adapter-sqlite/locales.server.d.ts +31 -0
  24. package/dist/adapter-sqlite/locales.server.js +57 -0
  25. package/dist/adapter-sqlite/naming.server.d.ts +134 -0
  26. package/dist/adapter-sqlite/naming.server.js +98 -0
  27. package/dist/adapter-sqlite/order-by.server.d.ts +29 -0
  28. package/dist/adapter-sqlite/order-by.server.js +115 -0
  29. package/dist/adapter-sqlite/read.server.d.ts +78 -0
  30. package/dist/adapter-sqlite/read.server.js +188 -0
  31. package/dist/adapter-sqlite/registry.server.d.ts +45 -0
  32. package/dist/adapter-sqlite/registry.server.js +63 -0
  33. package/dist/adapter-sqlite/relations.server.d.ts +10 -12
  34. package/dist/adapter-sqlite/relations.server.js +24 -8
  35. package/dist/adapter-sqlite/rows.server.d.ts +36 -0
  36. package/dist/adapter-sqlite/rows.server.js +6 -0
  37. package/dist/adapter-sqlite/select.server.d.ts +25 -0
  38. package/dist/adapter-sqlite/select.server.js +274 -0
  39. package/dist/adapter-sqlite/table.server.d.ts +18 -0
  40. package/dist/adapter-sqlite/table.server.js +63 -0
  41. package/dist/adapter-sqlite/transform.server.d.ts +13 -12
  42. package/dist/adapter-sqlite/transform.server.js +118 -197
  43. package/dist/adapter-sqlite/tree.server.d.ts +7 -8
  44. package/dist/adapter-sqlite/tree.server.js +13 -12
  45. package/dist/adapter-sqlite/types.server.d.ts +6 -5
  46. package/dist/adapter-sqlite/where.server.d.ts +25 -3
  47. package/dist/adapter-sqlite/where.server.js +46 -36
  48. package/dist/adapter-sqlite/write.server.d.ts +166 -0
  49. package/dist/adapter-sqlite/write.server.js +272 -0
  50. package/dist/core/adapter.d.ts +456 -0
  51. package/dist/core/adapter.js +13 -0
  52. package/dist/core/auth/access.d.ts +73 -0
  53. package/dist/core/auth/augment.d.ts +18 -0
  54. package/dist/core/auth/augment.js +110 -0
  55. package/dist/core/auth/augment.server.d.ts +3 -0
  56. package/dist/core/auth/augment.server.js +23 -0
  57. package/dist/core/auth/better-auth/config.server.d.ts +2122 -0
  58. package/dist/core/auth/better-auth/config.server.js +81 -0
  59. package/dist/core/auth/better-auth/hooks.server.js +132 -0
  60. package/dist/core/auth/better-auth/instance.server.d.ts +4215 -0
  61. package/dist/core/auth/better-auth/instance.server.js +26 -0
  62. package/dist/core/auth/better-auth-tables.server.d.ts +33 -0
  63. package/dist/core/auth/better-auth-tables.server.js +50 -0
  64. package/dist/core/auth/configure.d.ts +21 -0
  65. package/dist/core/auth/configure.js +21 -0
  66. package/dist/core/auth/constant.server.d.ts +28 -0
  67. package/dist/core/auth/constant.server.js +43 -0
  68. package/dist/core/auth/enabled.d.ts +10 -0
  69. package/dist/core/auth/enabled.js +10 -0
  70. package/dist/core/auth/handler/index.server.js +159 -0
  71. package/dist/core/auth/hooks/augment-fields-password.server.d.ts +20 -0
  72. package/dist/core/auth/hooks/augment-fields-password.server.js +44 -0
  73. package/dist/core/auth/hooks/create-better-auth-user.server.d.ts +4 -0
  74. package/dist/core/auth/hooks/create-better-auth-user.server.js +212 -0
  75. package/dist/core/auth/hooks/delete-better-auth-user.server.d.ts +4 -0
  76. package/dist/core/auth/hooks/delete-better-auth-user.server.js +25 -0
  77. package/dist/core/auth/hooks/forward-roles.server.d.ts +12 -0
  78. package/dist/core/auth/hooks/forward-roles.server.js +58 -0
  79. package/dist/core/auth/hooks/index.server.d.ts +18 -0
  80. package/dist/core/auth/hooks/index.server.js +18 -0
  81. package/dist/core/auth/hooks/populate-api-key.server.d.ts +5 -0
  82. package/dist/core/auth/hooks/populate-api-key.server.js +22 -0
  83. package/dist/core/auth/hooks/prevent-superadmin-deletion.server.d.ts +6 -0
  84. package/dist/core/auth/hooks/prevent-superadmin-deletion.server.js +16 -0
  85. package/dist/core/auth/hooks/prevent-superadmin-mutation.server.d.ts +5 -0
  86. package/dist/core/auth/hooks/prevent-superadmin-mutation.server.js +28 -0
  87. package/dist/core/auth/hooks/prevent-user-mutations.server.d.ts +5 -0
  88. package/dist/core/auth/hooks/prevent-user-mutations.server.js +13 -0
  89. package/dist/core/auth/hooks/remove-private-fields.server.d.ts +7 -0
  90. package/dist/core/auth/hooks/remove-private-fields.server.js +11 -0
  91. package/dist/core/auth/hooks/sign-in-new-user.server.d.ts +12 -0
  92. package/dist/core/auth/hooks/sign-in-new-user.server.js +29 -0
  93. package/dist/core/auth/module.d.ts +2 -0
  94. package/dist/core/auth/module.js +2 -0
  95. package/dist/core/auth/module.server.d.ts +2 -0
  96. package/dist/core/auth/module.server.js +2 -0
  97. package/dist/core/auth/staff/configure.d.ts +7 -0
  98. package/dist/core/auth/staff/configure.js +13 -0
  99. package/dist/core/auth/staff/configure.server.d.ts +7 -0
  100. package/dist/core/auth/staff/configure.server.js +14 -0
  101. package/dist/core/auth/staff/derive.d.ts +23 -0
  102. package/dist/core/auth/staff/derive.js +58 -0
  103. package/dist/core/auth/tables.d.ts +38 -0
  104. package/dist/core/auth/tables.js +157 -0
  105. package/dist/core/auth/types.d.ts +47 -0
  106. package/dist/core/auth/user.server.d.ts +43 -0
  107. package/dist/core/auth/user.server.js +73 -0
  108. package/dist/core/auth/util.d.ts +13 -0
  109. package/dist/core/auth/validate-config.d.ts +13 -0
  110. package/dist/core/auth/validate-config.js +42 -0
  111. package/dist/core/boot.server.d.ts +4227 -0
  112. package/dist/core/boot.server.js +61 -0
  113. package/dist/core/codegen.server.d.ts +22 -0
  114. package/dist/core/codegen.server.js +58 -0
  115. package/dist/core/config/build.d.ts +23 -0
  116. package/dist/core/config/build.js +22 -0
  117. package/dist/core/config/build.server.d.ts +70 -0
  118. package/dist/core/config/build.server.js +33 -0
  119. package/dist/core/config/configure.d.ts +26 -0
  120. package/dist/core/config/configure.js +40 -0
  121. package/dist/core/config/context.server.d.ts +82 -0
  122. package/dist/core/config/context.server.js +118 -0
  123. package/dist/core/config/index.d.ts +4 -0
  124. package/dist/core/config/index.js +4 -0
  125. package/dist/core/config/index.server.d.ts +9 -0
  126. package/dist/core/config/index.server.js +11 -0
  127. package/dist/core/config/types.d.ts +88 -170
  128. package/dist/core/config/validate.server.d.ts +3 -0
  129. package/dist/core/config/validate.server.js +259 -0
  130. package/dist/core/constants.d.ts +69 -0
  131. package/dist/core/constants.js +69 -0
  132. package/dist/core/constants.server.d.ts +5 -0
  133. package/dist/core/constants.server.js +6 -0
  134. package/dist/core/cors/configure.server.d.ts +11 -0
  135. package/dist/core/cors/configure.server.js +14 -0
  136. package/dist/core/cors/handler.server.js +75 -0
  137. package/dist/core/cors/module.browser.js +1 -0
  138. package/dist/core/cors/module.server.d.ts +1 -0
  139. package/dist/core/cors/module.server.js +7 -0
  140. package/dist/core/dev/cache.server.d.ts +17 -0
  141. package/dist/core/dev/cache.server.js +65 -0
  142. package/dist/core/dev/cli/commands/build.js +70 -0
  143. package/dist/core/dev/cli/commands/clear.server.js +42 -0
  144. package/dist/core/dev/cli/commands/generate-exports.server.d.ts +26 -0
  145. package/dist/core/dev/cli/commands/generate-exports.server.js +155 -0
  146. package/dist/core/dev/cli/commands/generate.server.js +98 -0
  147. package/dist/core/dev/cli/commands/init.server.js +242 -0
  148. package/dist/core/dev/cli/index.js +16 -16
  149. package/dist/core/dev/cli/templates/build.js +45 -0
  150. package/dist/core/dev/cli/templates/init.js +117 -0
  151. package/dist/core/dev/cli/util/package-manager.server.js +7 -3
  152. package/dist/core/dev/cli/util/package.server.d.ts +0 -8
  153. package/dist/core/dev/cli/util/package.server.js +0 -10
  154. package/dist/core/dev/codegen/routes/common.server.d.ts +35 -0
  155. package/dist/core/dev/codegen/routes/common.server.js +437 -0
  156. package/dist/core/dev/codegen/routes/custom-css.server.js +86 -0
  157. package/dist/core/dev/codegen/routes/index.server.d.ts +17 -0
  158. package/dist/core/dev/codegen/routes/index.server.js +110 -0
  159. package/dist/core/dev/codegen/routes/util.server.d.ts +52 -0
  160. package/dist/core/dev/codegen/routes/util.server.js +118 -0
  161. package/dist/core/dev/codegen/runtime/index.server.d.ts +78 -0
  162. package/dist/core/dev/codegen/runtime/index.server.js +92 -0
  163. package/dist/core/dev/codegen/runtime/parse-exports.server.d.ts +16 -0
  164. package/dist/core/dev/codegen/runtime/parse-exports.server.js +60 -0
  165. package/dist/core/dev/codegen/sanitize/index.server.js +834 -0
  166. package/dist/core/dev/codegen/types/contributions.server.d.ts +37 -0
  167. package/dist/core/dev/codegen/types/contributions.server.js +25 -0
  168. package/dist/core/dev/codegen/types/index.server.js +132 -0
  169. package/dist/core/dev/codegen/types/templates.server.d.ts +13 -0
  170. package/dist/core/dev/codegen/types/templates.server.js +134 -0
  171. package/dist/core/dev/config-memo.server.js +85 -0
  172. package/dist/core/dev/constants.server.d.ts +20 -0
  173. package/dist/core/dev/constants.server.js +63 -0
  174. package/dist/core/dev/ensure.server.d.ts +30 -0
  175. package/dist/core/dev/ensure.server.js +82 -0
  176. package/dist/core/dev/prototype-routes.server.d.ts +16 -0
  177. package/dist/core/dev/prototype-routes.server.js +23 -0
  178. package/dist/core/dev/version.server.d.ts +12 -0
  179. package/dist/core/dev/version.server.js +27 -0
  180. package/dist/core/dev/vite.server.js +242 -0
  181. package/dist/core/errors/handler.server.d.ts +17 -1
  182. package/dist/core/errors/handler.server.js +4 -23
  183. package/dist/core/fields/builders/boolean-builder.d.ts +1 -1
  184. package/dist/core/fields/builders/field-builder.d.ts +12 -1
  185. package/dist/core/fields/builders/form-field-builder.d.ts +16 -5
  186. package/dist/core/fields/builders/form-field-builder.js +19 -8
  187. package/dist/core/fields/builders/select-builder.d.ts +1 -1
  188. package/dist/core/fields/types.d.ts +16 -0
  189. package/dist/core/fields/util.d.ts +60 -0
  190. package/dist/core/fields/util.js +84 -1
  191. package/dist/core/fields/validate.js +171 -0
  192. package/dist/core/handler.server.d.ts +4 -0
  193. package/dist/core/handler.server.js +25 -0
  194. package/dist/core/i18n/en/common.d.ts +18 -0
  195. package/dist/core/i18n/en/common.js +20 -1
  196. package/dist/core/i18n/fr/common.d.ts +18 -0
  197. package/dist/core/i18n/fr/common.js +20 -1
  198. package/dist/core/i18n/index.d.ts +0 -1
  199. package/dist/core/i18n/index.js +0 -1
  200. package/dist/core/locale/copy.server.d.ts +35 -0
  201. package/dist/core/locale/copy.server.js +93 -0
  202. package/dist/core/locale/types.d.ts +20 -0
  203. package/dist/core/panel/configure.d.ts +63 -0
  204. package/dist/core/panel/configure.js +56 -0
  205. package/dist/core/panel/types.d.ts +61 -0
  206. package/dist/core/pipeline/build-document.server.d.ts +26 -0
  207. package/dist/core/pipeline/build-document.server.js +83 -0
  208. package/dist/core/pipeline/build.server.d.ts +23 -0
  209. package/dist/core/pipeline/build.server.js +76 -0
  210. package/dist/core/pipeline/config-map/build-tree-map.d.ts +4 -0
  211. package/dist/core/pipeline/config-map/index.d.ts +6 -0
  212. package/dist/core/pipeline/config-map/index.js +54 -0
  213. package/dist/core/pipeline/define-hook.d.ts +42 -0
  214. package/dist/core/pipeline/define-hook.js +40 -0
  215. package/dist/core/pipeline/extract-data.server.d.ts +18 -0
  216. package/dist/core/pipeline/extract-data.server.js +78 -0
  217. package/dist/core/pipeline/hook-name.server.d.ts +11 -0
  218. package/dist/core/pipeline/hook-name.server.js +14 -0
  219. package/dist/core/pipeline/hooks/authorize.server.d.ts +6 -0
  220. package/dist/core/pipeline/hooks/authorize.server.js +37 -0
  221. package/dist/core/pipeline/hooks/data-config-map.server.d.ts +8 -0
  222. package/dist/core/pipeline/hooks/data-config-map.server.js +19 -0
  223. package/dist/core/pipeline/hooks/get-original-document.server.d.ts +9 -0
  224. package/dist/core/pipeline/hooks/get-original-document.server.js +34 -0
  225. package/dist/core/pipeline/hooks/normalize-resolved-references.server.d.ts +16 -0
  226. package/dist/core/pipeline/hooks/normalize-resolved-references.server.js +40 -0
  227. package/dist/core/pipeline/hooks/original-config-map.server.d.ts +8 -0
  228. package/dist/core/pipeline/hooks/original-config-map.server.js +23 -0
  229. package/dist/core/pipeline/hooks/process-document-fields.server.d.ts +5 -0
  230. package/dist/core/pipeline/hooks/process-document-fields.server.js +62 -0
  231. package/dist/core/pipeline/hooks/resolve-content-owner.server.d.ts +17 -0
  232. package/dist/core/pipeline/hooks/resolve-content-owner.server.js +24 -0
  233. package/dist/core/pipeline/hooks/set-default-values.server.d.ts +16 -0
  234. package/dist/core/pipeline/hooks/set-default-values.server.js +79 -0
  235. package/dist/core/pipeline/hooks/set-document-locale.server.d.ts +5 -0
  236. package/dist/core/pipeline/hooks/set-document-locale.server.js +19 -0
  237. package/dist/core/pipeline/hooks/set-document-type.server.d.ts +6 -0
  238. package/dist/core/pipeline/hooks/set-document-type.server.js +19 -0
  239. package/dist/core/pipeline/hooks/sort-document-props.server.d.ts +7 -0
  240. package/dist/core/pipeline/hooks/sort-document-props.server.js +71 -0
  241. package/dist/core/pipeline/hooks/validate-fields.server.d.ts +12 -0
  242. package/dist/core/pipeline/hooks/validate-fields.server.js +170 -0
  243. package/dist/core/pipeline/persist/blocks/diff.server.d.ts +15 -0
  244. package/dist/core/pipeline/persist/blocks/diff.server.js +69 -0
  245. package/dist/core/pipeline/persist/blocks/extract.server.d.ts +9 -0
  246. package/dist/core/pipeline/persist/blocks/extract.server.js +33 -0
  247. package/dist/core/pipeline/persist/blocks/index.server.d.ts +27 -0
  248. package/dist/core/pipeline/persist/blocks/index.server.js +68 -0
  249. package/dist/core/pipeline/persist/relations/diff.server.d.ts +14 -0
  250. package/dist/core/pipeline/persist/relations/diff.server.js +47 -0
  251. package/dist/core/pipeline/persist/relations/extract.server.d.ts +11 -0
  252. package/dist/core/pipeline/persist/relations/extract.server.js +59 -0
  253. package/dist/core/pipeline/persist/relations/index.server.d.ts +26 -0
  254. package/dist/core/pipeline/persist/relations/index.server.js +66 -0
  255. package/dist/core/pipeline/persist/tree/diff.server.d.ts +20 -0
  256. package/dist/core/pipeline/persist/tree/diff.server.js +51 -0
  257. package/dist/core/pipeline/persist/tree/extract.server.d.ts +9 -0
  258. package/dist/core/pipeline/persist/tree/extract.server.js +34 -0
  259. package/dist/core/pipeline/persist/tree/index.server.d.ts +14 -0
  260. package/dist/core/pipeline/persist/tree/index.server.js +50 -0
  261. package/dist/core/pipeline/query.d.ts +14 -0
  262. package/dist/core/pipeline/query.js +36 -0
  263. package/dist/core/pipeline/run.server.d.ts +146 -0
  264. package/dist/core/pipeline/run.server.js +256 -0
  265. package/dist/core/pipeline/types.d.ts +140 -0
  266. package/dist/core/pipeline/types.js +10 -0
  267. package/dist/core/plugins/api-init/index.server.js +84 -0
  268. package/dist/core/plugins/cache/cache.server.js +1 -1
  269. package/dist/core/plugins/cache/index.d.ts +1 -2
  270. package/dist/core/plugins/cache/index.js +3 -1
  271. package/dist/core/plugins/cache/types.d.ts +5 -0
  272. package/dist/core/plugins/configure.d.ts +12 -0
  273. package/dist/core/plugins/configure.js +26 -0
  274. package/dist/core/plugins/defaults/index.d.ts +1 -0
  275. package/dist/core/plugins/defaults/index.js +3 -0
  276. package/dist/core/plugins/defaults/module.d.ts +12 -0
  277. package/dist/core/plugins/defaults/module.js +14 -0
  278. package/dist/core/plugins/defaults/module.server.d.ts +4 -0
  279. package/dist/core/plugins/defaults/module.server.js +15 -0
  280. package/dist/core/plugins/defaults/types.d.ts +18 -0
  281. package/dist/core/plugins/defaults/types.js +1 -0
  282. package/dist/core/plugins/mailer/index.server.js +29 -0
  283. package/dist/core/plugins/plugins.server.js +10 -0
  284. package/dist/core/plugins/sse/bus.server.d.ts +16 -0
  285. package/dist/core/plugins/sse/bus.server.js +69 -0
  286. package/dist/core/plugins/sse/client.d.ts +14 -16
  287. package/dist/core/plugins/sse/client.js +42 -34
  288. package/dist/core/plugins/sse/index.d.ts +10 -2
  289. package/dist/core/plugins/sse/index.js +9 -1
  290. package/dist/core/plugins/sse/index.server.d.ts +29 -0
  291. package/dist/core/plugins/sse/index.server.js +18 -0
  292. package/dist/core/plugins/sse/types.d.ts +15 -7
  293. package/dist/core/prototype/area/api.server.d.ts +91 -0
  294. package/dist/core/prototype/area/api.server.js +117 -0
  295. package/dist/core/prototype/area/augment-label.d.ts +16 -0
  296. package/dist/core/prototype/area/augment-label.js +13 -0
  297. package/dist/core/prototype/area/definition.d.ts +18 -0
  298. package/dist/core/prototype/area/definition.js +44 -0
  299. package/dist/core/prototype/area/definition.server.d.ts +9 -0
  300. package/dist/core/prototype/area/definition.server.js +40 -0
  301. package/dist/core/prototype/area/hooks.server.d.ts +17 -0
  302. package/dist/core/prototype/area/hooks.server.js +61 -0
  303. package/dist/core/prototype/area/index.d.ts +1 -0
  304. package/dist/core/prototype/area/index.js +1 -0
  305. package/dist/core/prototype/area/operations/find.d.ts +18 -0
  306. package/dist/core/prototype/area/operations/find.js +43 -0
  307. package/dist/core/prototype/area/operations/update.d.ts +29 -0
  308. package/dist/core/prototype/area/operations/update.js +44 -0
  309. package/dist/core/prototype/area/rest/endpoint.server.d.ts +14 -0
  310. package/dist/core/prototype/area/rest/endpoint.server.js +15 -0
  311. package/dist/core/prototype/area/rest/get.server.d.ts +4 -0
  312. package/dist/core/prototype/area/rest/get.server.js +31 -0
  313. package/dist/core/prototype/area/rest/index.server.d.ts +9 -0
  314. package/dist/core/prototype/area/rest/index.server.js +14 -0
  315. package/dist/core/prototype/area/rest/lock.server.d.ts +2 -0
  316. package/dist/core/prototype/area/rest/lock.server.js +38 -0
  317. package/dist/core/prototype/area/rest/update.server.d.ts +4 -0
  318. package/dist/core/prototype/area/rest/update.server.js +38 -0
  319. package/dist/core/prototype/area/types.js +1 -0
  320. package/dist/core/prototype/collection/api.server.d.ts +173 -0
  321. package/dist/core/prototype/collection/api.server.js +224 -0
  322. package/dist/core/prototype/collection/augment-label.d.ts +6 -0
  323. package/dist/core/prototype/collection/definition.d.ts +26 -0
  324. package/dist/core/prototype/collection/definition.js +74 -0
  325. package/dist/core/prototype/collection/definition.server.d.ts +8 -0
  326. package/dist/core/prototype/collection/definition.server.js +24 -0
  327. package/dist/core/prototype/collection/hooks/merge-with-blank.server.d.ts +5 -0
  328. package/dist/core/prototype/collection/hooks/merge-with-blank.server.js +28 -0
  329. package/dist/core/prototype/collection/hooks.server.d.ts +28 -0
  330. package/dist/core/prototype/collection/hooks.server.js +133 -0
  331. package/dist/core/prototype/collection/index.d.ts +1 -0
  332. package/dist/core/prototype/collection/index.js +1 -0
  333. package/dist/core/prototype/collection/nested/enabled.d.ts +8 -0
  334. package/dist/core/prototype/collection/nested/enabled.js +7 -0
  335. package/dist/core/prototype/collection/nested/hooks/add-children.server.d.ts +4 -0
  336. package/dist/core/prototype/collection/nested/hooks/add-children.server.js +40 -0
  337. package/dist/core/prototype/collection/nested/hooks/index.server.d.ts +9 -0
  338. package/dist/core/prototype/collection/nested/hooks/index.server.js +9 -0
  339. package/dist/core/prototype/collection/nested/module.d.ts +15 -0
  340. package/dist/core/prototype/collection/nested/module.js +17 -0
  341. package/dist/core/prototype/collection/nested/module.server.d.ts +16 -0
  342. package/dist/core/prototype/collection/nested/module.server.js +21 -0
  343. package/dist/core/prototype/collection/operations/create.d.ts +18 -0
  344. package/dist/core/prototype/collection/operations/create.js +68 -0
  345. package/dist/core/prototype/collection/operations/delete-by-id.d.ts +11 -0
  346. package/dist/core/prototype/collection/operations/delete-by-id.js +44 -0
  347. package/dist/core/prototype/collection/operations/delete.d.ts +15 -0
  348. package/dist/core/prototype/collection/operations/delete.js +34 -0
  349. package/dist/core/prototype/collection/operations/duplicate.d.ts +12 -0
  350. package/dist/core/prototype/collection/operations/duplicate.js +112 -0
  351. package/dist/core/prototype/collection/operations/find-by-id.d.ts +22 -0
  352. package/dist/core/prototype/collection/operations/find-by-id.js +47 -0
  353. package/dist/core/prototype/collection/operations/find.d.ts +22 -0
  354. package/dist/core/prototype/collection/operations/find.js +65 -0
  355. package/dist/core/prototype/collection/operations/update-by-id.d.ts +30 -0
  356. package/dist/core/prototype/collection/operations/update-by-id.js +52 -0
  357. package/dist/core/prototype/collection/rest/create.server.d.ts +4 -0
  358. package/dist/core/prototype/collection/rest/create.server.js +26 -0
  359. package/dist/core/prototype/collection/rest/delete-by-id.server.d.ts +4 -0
  360. package/dist/core/prototype/collection/rest/delete-by-id.server.js +16 -0
  361. package/dist/core/prototype/collection/rest/delete.server.d.ts +4 -0
  362. package/dist/core/prototype/collection/rest/delete.server.js +33 -0
  363. package/dist/core/prototype/collection/rest/duplicate.server.d.ts +1 -0
  364. package/dist/core/prototype/collection/rest/duplicate.server.js +17 -0
  365. package/dist/core/prototype/collection/rest/endpoint.server.d.ts +27 -0
  366. package/dist/core/prototype/collection/rest/endpoint.server.js +23 -0
  367. package/dist/core/prototype/collection/rest/get-by-id.server.d.ts +4 -0
  368. package/dist/core/prototype/collection/rest/get-by-id.server.js +40 -0
  369. package/dist/core/prototype/collection/rest/get.server.d.ts +4 -0
  370. package/dist/core/prototype/collection/rest/get.server.js +38 -0
  371. package/dist/core/prototype/collection/rest/index.server.d.ts +12 -0
  372. package/dist/core/prototype/collection/rest/index.server.js +24 -0
  373. package/dist/core/prototype/collection/rest/lock.server.d.ts +2 -0
  374. package/dist/core/prototype/collection/rest/lock.server.js +59 -0
  375. package/dist/core/prototype/collection/rest/update-by-id.server.d.ts +4 -0
  376. package/dist/core/prototype/collection/rest/update-by-id.server.js +44 -0
  377. package/dist/core/prototype/collection/thumbnail/augment.d.ts +13 -0
  378. package/dist/core/prototype/collection/thumbnail/augment.js +15 -0
  379. package/dist/core/prototype/collection/thumbnail/find-thumbnail.d.ts +9 -0
  380. package/dist/core/prototype/collection/thumbnail/find-thumbnail.js +34 -0
  381. package/dist/core/prototype/collection/thumbnail/hooks/index.server.d.ts +9 -0
  382. package/dist/core/prototype/collection/thumbnail/hooks/index.server.js +9 -0
  383. package/dist/core/prototype/collection/thumbnail/hooks/set-document-thumbnail.server.d.ts +7 -0
  384. package/dist/core/prototype/collection/thumbnail/hooks/set-document-thumbnail.server.js +40 -0
  385. package/dist/core/prototype/collection/types.d.ts +14 -0
  386. package/dist/core/prototype/collection/types.js +1 -0
  387. package/dist/core/prototype/collection/upload/boot/index.server.d.ts +13 -0
  388. package/dist/core/prototype/collection/upload/boot/index.server.js +11 -0
  389. package/dist/core/prototype/collection/upload/constant.d.ts +10 -0
  390. package/dist/core/prototype/collection/upload/constant.js +10 -0
  391. package/dist/core/prototype/collection/upload/directories/configure.d.ts +14 -0
  392. package/dist/core/prototype/collection/upload/directories/configure.js +19 -0
  393. package/dist/core/prototype/collection/upload/directories/configure.server.d.ts +12 -0
  394. package/dist/core/prototype/collection/upload/directories/configure.server.js +35 -0
  395. package/dist/core/prototype/collection/upload/directories/derive.d.ts +7 -0
  396. package/dist/core/prototype/collection/upload/directories/derive.js +56 -0
  397. package/dist/core/prototype/collection/upload/directories/pipeline.server.d.ts +10 -0
  398. package/dist/core/prototype/collection/upload/directories/pipeline.server.js +22 -0
  399. package/dist/core/prototype/collection/upload/disk/delete.server.d.ts +9 -0
  400. package/dist/core/prototype/collection/upload/disk/delete.server.js +106 -0
  401. package/dist/core/prototype/collection/upload/disk/save.server.d.ts +32 -0
  402. package/dist/core/prototype/collection/upload/disk/save.server.js +190 -0
  403. package/dist/core/prototype/collection/upload/doc-type.d.ts +14 -0
  404. package/dist/core/prototype/collection/upload/doc-type.js +28 -0
  405. package/dist/core/prototype/collection/upload/enabled.d.ts +8 -0
  406. package/dist/core/prototype/collection/upload/enabled.js +7 -0
  407. package/dist/core/prototype/collection/upload/ensure.server.d.ts +12 -0
  408. package/dist/core/prototype/collection/upload/ensure.server.js +19 -0
  409. package/dist/core/prototype/collection/upload/hooks/clean-up-files.server.d.ts +10 -0
  410. package/dist/core/prototype/collection/upload/hooks/clean-up-files.server.js +17 -0
  411. package/dist/core/prototype/collection/upload/hooks/convert-base64.server.d.ts +13 -0
  412. package/dist/core/prototype/collection/upload/hooks/convert-base64.server.js +36 -0
  413. package/dist/core/prototype/collection/upload/hooks/extract-path.server.d.ts +6 -0
  414. package/dist/core/prototype/collection/upload/hooks/extract-path.server.js +25 -0
  415. package/dist/core/prototype/collection/upload/hooks/handle-path-creation.server.d.ts +6 -0
  416. package/dist/core/prototype/collection/upload/hooks/handle-path-creation.server.js +82 -0
  417. package/dist/core/prototype/collection/upload/hooks/index.server.d.ts +13 -0
  418. package/dist/core/prototype/collection/upload/hooks/index.server.js +13 -0
  419. package/dist/core/prototype/collection/upload/hooks/populate-sizes.server.d.ts +4 -0
  420. package/dist/core/prototype/collection/upload/hooks/populate-sizes.server.js +48 -0
  421. package/dist/core/prototype/collection/upload/hooks/process-file-upload.server.d.ts +20 -0
  422. package/dist/core/prototype/collection/upload/hooks/process-file-upload.server.js +60 -0
  423. package/dist/core/prototype/collection/upload/hooks/update-directory-children.server.d.ts +10 -0
  424. package/dist/core/prototype/collection/upload/hooks/update-directory-children.server.js +47 -0
  425. package/dist/core/prototype/collection/upload/module.d.ts +15 -0
  426. package/dist/core/prototype/collection/upload/module.js +92 -0
  427. package/dist/core/prototype/collection/upload/module.server.d.ts +24 -0
  428. package/dist/core/prototype/collection/upload/module.server.js +36 -0
  429. package/dist/core/prototype/collection/upload/naming.d.ts +23 -0
  430. package/dist/core/prototype/collection/upload/naming.js +37 -0
  431. package/dist/core/prototype/collection/upload/types.d.ts +102 -0
  432. package/dist/core/prototype/collection/upload/types.js +1 -0
  433. package/dist/core/prototype/collection/upload/util/config.d.ts +16 -0
  434. package/dist/core/prototype/collection/upload/util/converter.server.d.ts +29 -0
  435. package/dist/core/prototype/collection/upload/util/converter.server.js +127 -0
  436. package/dist/core/prototype/collection/upload/util/path.d.ts +69 -0
  437. package/dist/core/prototype/collection/upload/util/path.js +143 -0
  438. package/dist/core/prototype/define.d.ts +112 -0
  439. package/dist/core/prototype/define.js +50 -0
  440. package/dist/core/prototype/doc.d.ts +31 -0
  441. package/dist/core/prototype/doc.js +118 -0
  442. package/dist/core/prototype/index.d.ts +14 -0
  443. package/dist/core/prototype/index.js +14 -0
  444. package/dist/core/prototype/naming.d.ts +22 -0
  445. package/dist/core/prototype/naming.js +23 -0
  446. package/dist/core/prototype/shared/metas/constant.d.ts +16 -0
  447. package/dist/core/prototype/shared/metas/constant.js +16 -0
  448. package/dist/core/prototype/shared/metas/fields.d.ts +8 -0
  449. package/dist/core/prototype/shared/metas/fields.js +27 -0
  450. package/dist/core/prototype/shared/metas/hooks/delete-panel-lock-metas.server.d.ts +9 -0
  451. package/dist/core/prototype/shared/metas/hooks/delete-panel-lock-metas.server.js +20 -0
  452. package/dist/core/prototype/shared/metas/hooks/index.server.d.ts +7 -0
  453. package/dist/core/prototype/shared/metas/hooks/index.server.js +7 -0
  454. package/dist/core/prototype/shared/metas/hooks/stamp-authorship.server.d.ts +2 -0
  455. package/dist/core/prototype/shared/metas/hooks/stamp-authorship.server.js +27 -0
  456. package/dist/core/prototype/shared/metas/lock.d.ts +15 -0
  457. package/dist/core/prototype/shared/metas/lock.js +30 -0
  458. package/dist/core/prototype/shared/metas/lock.server.d.ts +46 -0
  459. package/dist/core/prototype/shared/metas/lock.server.js +91 -0
  460. package/dist/core/prototype/shared/metas/module.d.ts +38 -0
  461. package/dist/core/prototype/shared/metas/module.js +38 -0
  462. package/dist/core/prototype/shared/metas/module.server.d.ts +30 -0
  463. package/dist/core/prototype/shared/metas/module.server.js +38 -0
  464. package/dist/core/prototype/shared/title/augment.d.ts +27 -0
  465. package/dist/core/prototype/shared/title/augment.js +19 -0
  466. package/dist/core/prototype/shared/title/find-title.d.ts +14 -0
  467. package/dist/core/prototype/shared/title/find-title.js +35 -0
  468. package/dist/core/prototype/shared/title/hooks/index.server.d.ts +9 -0
  469. package/dist/core/prototype/shared/title/hooks/index.server.js +9 -0
  470. package/dist/core/prototype/shared/title/hooks/set-document-title.server.d.ts +4 -0
  471. package/dist/core/prototype/shared/title/hooks/set-document-title.server.js +32 -0
  472. package/dist/core/prototype/shared/title/select.d.ts +16 -0
  473. package/dist/core/prototype/shared/title/select.js +24 -0
  474. package/dist/core/prototype/shared/url/augment.d.ts +13 -0
  475. package/dist/core/prototype/shared/url/augment.js +11 -0
  476. package/dist/core/prototype/shared/url/enabled.d.ts +8 -0
  477. package/dist/core/prototype/shared/url/enabled.js +7 -0
  478. package/dist/core/prototype/shared/url/hooks/index.server.d.ts +9 -0
  479. package/dist/core/prototype/shared/url/hooks/index.server.js +9 -0
  480. package/dist/core/prototype/shared/url/hooks/populate-url.server.d.ts +4 -0
  481. package/dist/core/prototype/shared/url/hooks/populate-url.server.js +120 -0
  482. package/dist/core/prototype/shared/versions/augment.d.ts +23 -0
  483. package/dist/core/prototype/shared/versions/augment.js +47 -0
  484. package/dist/core/prototype/shared/versions/auto-saves.server.d.ts +16 -0
  485. package/dist/core/prototype/shared/versions/auto-saves.server.js +29 -0
  486. package/dist/core/prototype/shared/versions/blank.d.ts +13 -0
  487. package/dist/core/prototype/shared/versions/blank.js +15 -0
  488. package/dist/core/prototype/shared/versions/configure.server.d.ts +7 -0
  489. package/dist/core/prototype/shared/versions/configure.server.js +75 -0
  490. package/dist/core/prototype/shared/versions/constant.d.ts +14 -0
  491. package/dist/core/prototype/shared/versions/constant.js +13 -0
  492. package/dist/core/prototype/shared/versions/doc-type.d.ts +8 -0
  493. package/dist/core/prototype/shared/versions/doc-type.js +9 -0
  494. package/dist/core/prototype/shared/versions/enabled.d.ts +10 -0
  495. package/dist/core/prototype/shared/versions/enabled.js +9 -0
  496. package/dist/core/prototype/shared/versions/hooks/define-version-operation.server.d.ts +19 -0
  497. package/dist/core/prototype/shared/versions/hooks/define-version-operation.server.js +37 -0
  498. package/dist/core/prototype/shared/versions/hooks/demote-other-versions.d.ts +17 -0
  499. package/dist/core/prototype/shared/versions/hooks/demote-other-versions.js +37 -0
  500. package/dist/core/prototype/shared/versions/hooks/discard-auto-saves-of.server.d.ts +8 -0
  501. package/dist/core/prototype/shared/versions/hooks/discard-auto-saves-of.server.js +17 -0
  502. package/dist/core/prototype/shared/versions/hooks/expose-version-id.d.ts +12 -0
  503. package/dist/core/prototype/shared/versions/hooks/expose-version-id.js +17 -0
  504. package/dist/core/prototype/shared/versions/hooks/fallback-data-from-original.d.ts +9 -0
  505. package/dist/core/prototype/shared/versions/hooks/fallback-data-from-original.js +31 -0
  506. package/dist/core/prototype/shared/versions/hooks/handle-new-version.server.d.ts +32 -0
  507. package/dist/core/prototype/shared/versions/hooks/handle-new-version.server.js +194 -0
  508. package/dist/core/prototype/shared/versions/hooks/index.server.d.ts +15 -0
  509. package/dist/core/prototype/shared/versions/hooks/index.server.js +15 -0
  510. package/dist/core/prototype/shared/versions/hooks/prevent-last-version-deletion.server.d.ts +7 -0
  511. package/dist/core/prototype/shared/versions/hooks/prevent-last-version-deletion.server.js +21 -0
  512. package/dist/core/prototype/shared/versions/hooks/strip-auto-save-flag.server.d.ts +7 -0
  513. package/dist/core/prototype/shared/versions/hooks/strip-auto-save-flag.server.js +14 -0
  514. package/dist/core/prototype/shared/versions/module.browser.js +1 -0
  515. package/dist/core/prototype/shared/versions/module.server.d.ts +1 -0
  516. package/dist/core/prototype/shared/versions/module.server.js +4 -0
  517. package/dist/core/prototype/shared/versions/naming.d.ts +7 -0
  518. package/dist/core/prototype/shared/versions/naming.js +21 -0
  519. package/dist/core/prototype/shared/versions/read-query.d.ts +27 -0
  520. package/dist/core/prototype/shared/versions/read-query.js +35 -0
  521. package/dist/core/prototype/shared/versions/retire-auto-saves.server.d.ts +16 -0
  522. package/dist/core/prototype/shared/versions/retire-auto-saves.server.js +29 -0
  523. package/dist/core/prototype/shared/versions/strategy.d.ts +86 -0
  524. package/dist/core/prototype/shared/versions/strategy.js +93 -0
  525. package/dist/core/prototype/shared/versions/types.d.ts +37 -0
  526. package/dist/core/prototype/shared/versions/types.js +1 -0
  527. package/dist/core/prototype/shared/versions/validate-config.server.d.ts +8 -0
  528. package/dist/core/prototype/shared/versions/validate-config.server.js +21 -0
  529. package/dist/core/prototype/shared/versions/write-plan.d.ts +30 -0
  530. package/dist/core/prototype/shared/versions/write-plan.js +38 -0
  531. package/dist/core/prototype/types.d.ts +79 -0
  532. package/dist/core/prototype/types.js +1 -0
  533. package/dist/core/prototype/when.d.ts +25 -0
  534. package/dist/core/prototype/when.js +32 -0
  535. package/dist/core/rime.server.d.ts +64 -4363
  536. package/dist/core/rime.server.js +45 -93
  537. package/dist/core/routes/constants.d.ts +12 -0
  538. package/dist/core/routes/constants.js +16 -0
  539. package/dist/core/routes/constants.server.d.ts +5 -0
  540. package/dist/core/routes/constants.server.js +9 -0
  541. package/dist/core/routes/context.server.d.ts +17 -0
  542. package/dist/core/routes/context.server.js +29 -0
  543. package/dist/core/routes/handler.server.d.ts +58 -0
  544. package/dist/core/routes/handler.server.js +107 -0
  545. package/dist/core/routes/panel-navigation.d.ts +18 -0
  546. package/dist/core/routes/panel-navigation.js +64 -0
  547. package/dist/core/routes/util.d.ts +24 -0
  548. package/dist/core/routes/util.js +44 -0
  549. package/dist/fields/blocks/component/AddBlockButton.svelte +1 -1
  550. package/dist/fields/blocks/component/AddBlockButton.svelte.d.ts +1 -1
  551. package/dist/fields/blocks/component/Block.svelte +1 -1
  552. package/dist/fields/blocks/component/Blocks.svelte +1 -1
  553. package/dist/fields/blocks/index.d.ts +2 -1
  554. package/dist/fields/blocks/index.js +18 -2
  555. package/dist/fields/email/index.js +1 -1
  556. package/dist/fields/group/component/Group.svelte +1 -1
  557. package/dist/fields/group/component/Group.svelte.d.ts +1 -1
  558. package/dist/fields/group/index.d.ts +2 -2
  559. package/dist/fields/link/component/RessourceInput.svelte +2 -2
  560. package/dist/fields/link/index.d.ts +1 -1
  561. package/dist/fields/link/index.js +57 -60
  562. package/dist/fields/link/module.server.js +1 -1
  563. package/dist/fields/number/index.d.ts +1 -1
  564. package/dist/fields/relation/component/Cell.svelte +2 -2
  565. package/dist/fields/relation/component/Relation.svelte +13 -22
  566. package/dist/fields/relation/component/default/Default.svelte +4 -3
  567. package/dist/fields/relation/component/types.d.ts +2 -1
  568. package/dist/fields/relation/component/upload/Browse.svelte +4 -4
  569. package/dist/fields/relation/component/upload/Upload.svelte +2 -2
  570. package/dist/fields/relation/index.d.ts +11 -1
  571. package/dist/fields/relation/index.js +81 -63
  572. package/dist/fields/relation/module.server.js +3 -8
  573. package/dist/fields/rich-text/core/features/link/component/link-selector.svelte +2 -2
  574. package/dist/fields/rich-text/core/features/resource/resource-extension.d.ts +1 -1
  575. package/dist/fields/rich-text/core/features/resource/resource.svelte +2 -2
  576. package/dist/fields/rich-text/core/features/upload/upload.svelte +2 -2
  577. package/dist/fields/slug/index.d.ts +1 -1
  578. package/dist/fields/tabs/index.d.ts +1 -1
  579. package/dist/fields/text/index.d.ts +1 -1
  580. package/dist/fields/textarea/index.d.ts +1 -1
  581. package/dist/fields/toggle/index.d.ts +1 -1
  582. package/dist/fields/tree/component/TreeBlock.svelte +1 -1
  583. package/dist/fields/tree/component/TreeBlock.svelte.d.ts +1 -1
  584. package/dist/fields/tree/component/props.d.ts +1 -1
  585. package/dist/fields/tree/index.d.ts +1 -1
  586. package/dist/fields/tree/index.js +12 -1
  587. package/dist/fields/types.d.ts +4 -9
  588. package/dist/index.d.ts +5 -2
  589. package/dist/index.js +2 -1
  590. package/dist/panel/components/Root.svelte +12 -8
  591. package/dist/panel/components/Root.svelte.d.ts +1 -1
  592. package/dist/panel/components/sections/auth/AuthForm.svelte +3 -0
  593. package/dist/panel/components/sections/collection/StatusDot.svelte +2 -1
  594. package/dist/panel/components/sections/collection/StatusDot.svelte.d.ts +1 -1
  595. package/dist/panel/components/sections/collection/bulk-upload/DropZone.svelte +1 -1
  596. package/dist/panel/components/sections/collection/folder/FolderEdit.svelte +2 -2
  597. package/dist/panel/components/sections/collection/folder/FolderEdit.svelte.d.ts +1 -1
  598. package/dist/panel/components/sections/collection/folder/FolderWithActions.svelte +8 -8
  599. package/dist/panel/components/sections/collection/folder/FolderWithActions.svelte.d.ts +1 -1
  600. package/dist/panel/components/sections/collection/grid/create-directory-dialog/CreateDirectoryDialog.svelte +1 -1
  601. package/dist/panel/components/sections/collection/grid/grid-item/GridItem.svelte +7 -5
  602. package/dist/panel/components/sections/collection/grid/grid-item/GridItem.svelte.d.ts +1 -1
  603. package/dist/panel/components/sections/collection/header/ButtonCreate.svelte +9 -6
  604. package/dist/panel/components/sections/collection/header/DisplayMode.svelte +1 -2
  605. package/dist/panel/components/sections/collection/header/Header.svelte +2 -5
  606. package/dist/panel/components/sections/collection/list/CollectionList.svelte +1 -1
  607. package/dist/panel/components/sections/collection/list/header/Header.svelte +7 -1
  608. package/dist/panel/components/sections/collection/list/row/Row.svelte +9 -4
  609. package/dist/panel/components/sections/collection/list/row/Row.svelte.d.ts +1 -1
  610. package/dist/panel/components/sections/collection/tree/CollectionTreeNode.svelte +2 -2
  611. package/dist/panel/components/sections/collection/tree/CollectionTreeNode.svelte.d.ts +1 -1
  612. package/dist/panel/components/sections/collection/upload-thumb-cell/UploadThumbCell.svelte +1 -1
  613. package/dist/panel/components/sections/document/AuthFooter.svelte +3 -3
  614. package/dist/panel/components/sections/document/AutoSaveBanner.svelte +115 -0
  615. package/dist/panel/components/sections/document/AutoSaveBanner.svelte.d.ts +16 -0
  616. package/dist/panel/components/sections/document/ButtonStatus.svelte +12 -5
  617. package/dist/panel/components/sections/document/CurrentlyEdited.svelte +10 -27
  618. package/dist/panel/components/sections/document/CurrentlyEdited.svelte.d.ts +6 -5
  619. package/dist/panel/components/sections/document/Document.svelte +220 -18
  620. package/dist/panel/components/sections/document/Document.svelte.d.ts +1 -1
  621. package/dist/panel/components/sections/document/Header.svelte +49 -5
  622. package/dist/panel/components/sections/document/Header.svelte.d.ts +2 -0
  623. package/dist/panel/components/sections/document/Settings.svelte +77 -21
  624. package/dist/panel/components/sections/document/Versions.svelte +140 -51
  625. package/dist/panel/components/sections/document/Versions.svelte.d.ts +11 -8
  626. package/dist/panel/components/sections/document/upload-header/UploadHeader.svelte +4 -2
  627. package/dist/panel/components/sections/document/upload-header/UploadHeader.svelte.d.ts +1 -1
  628. package/dist/panel/components/sections/document/upload-header/drop-zone/DropZone.svelte +1 -1
  629. package/dist/panel/components/sections/document/upload-header/drop-zone/DropZone.svelte.d.ts +2 -2
  630. package/dist/panel/components/sections/document/versions-list.d.ts +10 -0
  631. package/dist/panel/components/sections/document/versions-list.js +10 -0
  632. package/dist/panel/components/sections/live/Consumer.svelte +1 -1
  633. package/dist/panel/components/sections/live/Consumer.svelte.d.ts +1 -1
  634. package/dist/panel/components/sections/live/LiveEdit.svelte +1 -1
  635. package/dist/panel/components/ui/card-resource/card-resource.svelte +13 -2
  636. package/dist/panel/components/ui/nav/Nav.svelte +3 -3
  637. package/dist/panel/components/ui/nav/NavItem.svelte +2 -1
  638. package/dist/panel/components/ui/nav/UserButton.svelte +1 -1
  639. package/dist/panel/context/collection.svelte.d.ts +2 -2
  640. package/dist/panel/context/collection.svelte.js +6 -7
  641. package/dist/panel/context/config.svelte.d.ts +1 -1
  642. package/dist/panel/context/documentForm.svelte.d.ts +19 -3
  643. package/dist/panel/context/documentForm.svelte.js +210 -36
  644. package/dist/panel/context/live.svelte.d.ts +1 -1
  645. package/dist/panel/context/live.svelte.js +2 -2
  646. package/dist/panel/context/user.svelte.d.ts +1 -1
  647. package/dist/panel/context/versions.svelte.d.ts +8 -0
  648. package/dist/panel/context/versions.svelte.js +34 -0
  649. package/dist/panel/index.d.ts +15 -12
  650. package/dist/panel/index.js +1 -3
  651. package/dist/panel/pages/area/Area.svelte +7 -2
  652. package/dist/panel/pages/area/Area.svelte.d.ts +1 -1
  653. package/dist/panel/pages/area/actions.server.js +31 -17
  654. package/dist/panel/pages/area/load.server.d.ts +1 -1
  655. package/dist/panel/pages/area/load.server.js +10 -25
  656. package/dist/panel/pages/auth/fields.js +1 -1
  657. package/dist/panel/pages/auth/forgot-password/ForgotPassword.svelte +1 -1
  658. package/dist/panel/pages/auth/forgot-password/load.server.js +3 -2
  659. package/dist/panel/pages/auth/reset-password/ResetPassword.svelte +1 -1
  660. package/dist/panel/pages/auth/reset-password/load.server.js +3 -2
  661. package/dist/panel/pages/auth/sign-in/SignIn.svelte +1 -1
  662. package/dist/panel/pages/auth/sign-in/load.server.d.ts +1 -1
  663. package/dist/panel/pages/auth/sign-in/load.server.js +5 -4
  664. package/dist/panel/pages/collection/Collection.svelte +15 -138
  665. package/dist/panel/pages/collection/Collection.svelte.d.ts +5 -8
  666. package/dist/panel/pages/collection/CollectionPage.svelte +146 -0
  667. package/dist/panel/pages/collection/CollectionPage.svelte.d.ts +18 -0
  668. package/dist/panel/pages/collection/load.server.d.ts +3 -3
  669. package/dist/panel/pages/collection/load.server.js +8 -10
  670. package/dist/panel/pages/collection-document/CollectionDocument.svelte +7 -2
  671. package/dist/panel/pages/collection-document/CollectionDocument.svelte.d.ts +1 -1
  672. package/dist/panel/pages/collection-document/actions.server.js +28 -12
  673. package/dist/panel/pages/collection-document/load.server.d.ts +1 -1
  674. package/dist/panel/pages/collection-document/load.server.js +16 -25
  675. package/dist/panel/pages/dashboard/Dashboard.svelte +1 -1
  676. package/dist/panel/pages/dashboard/Dashboard.svelte.d.ts +1 -1
  677. package/dist/panel/pages/dashboard/load.server.js +23 -21
  678. package/dist/panel/pages/dashboard/types.d.ts +1 -1
  679. package/dist/panel/pages/live/Live.svelte +1 -2
  680. package/dist/panel/pages/live/load.server.js +1 -1
  681. package/dist/panel/types.d.ts +2 -2
  682. package/dist/panel/util/live.server.d.ts +1 -1
  683. package/dist/panel/util/live.server.js +2 -2
  684. package/dist/panel/util/url.d.ts +0 -35
  685. package/dist/panel/util/url.js +1 -43
  686. package/dist/server.d.ts +6 -5
  687. package/dist/server.js +6 -5
  688. package/dist/types.d.ts +12 -6
  689. package/dist/util/coerce.d.ts +12 -0
  690. package/dist/util/coerce.js +38 -0
  691. package/dist/util/index.d.ts +16 -9
  692. package/dist/util/index.js +14 -12
  693. package/dist/util/object.d.ts +10 -0
  694. package/dist/util/object.js +14 -1
  695. package/dist/util/path.d.ts +16 -0
  696. package/dist/util/path.js +19 -0
  697. package/dist/util/string.d.ts +25 -0
  698. package/dist/util/string.js +30 -0
  699. package/dist/util/types.d.ts +5 -10
  700. package/dist/util/types.js +5 -0
  701. package/package.json +83 -21
  702. package/dist/.rime-modules.d.ts +0 -23
  703. package/dist/.rime-modules.json +0 -1
  704. package/dist/adapter-sqlite/generate-schema/relations/definition.server.d.ts +0 -55
  705. package/dist/adapter-sqlite/generate-schema/relations/definition.server.js +0 -52
  706. package/dist/adapter-sqlite/generate-schema/util.server.d.ts +0 -49
  707. package/dist/adapter-sqlite/generate-schema/util.server.js +0 -58
  708. package/dist/adapter-sqlite/orderBy.server.d.ts +0 -11
  709. package/dist/adapter-sqlite/orderBy.server.js +0 -98
  710. package/dist/adapter-sqlite/url.server.d.ts +0 -14
  711. package/dist/adapter-sqlite/url.server.js +0 -77
  712. package/dist/adapter-sqlite/util.server.d.ts +0 -174
  713. package/dist/adapter-sqlite/util.server.js +0 -357
  714. package/dist/adapter-sqlite/with.server.d.ts +0 -9
  715. package/dist/adapter-sqlite/with.server.js +0 -266
  716. package/dist/core/areas/config/augment-hooks.server.d.ts +0 -10
  717. package/dist/core/areas/config/augment-hooks.server.js +0 -51
  718. package/dist/core/areas/config/augment-metas.d.ts +0 -10
  719. package/dist/core/areas/config/augment-metas.js +0 -13
  720. package/dist/core/areas/config/augment-title.d.ts +0 -9
  721. package/dist/core/areas/config/augment-title.js +0 -8
  722. package/dist/core/areas/config/augment-url.d.ts +0 -10
  723. package/dist/core/areas/config/augment-url.js +0 -14
  724. package/dist/core/areas/config/augment-versions.d.ts +0 -14
  725. package/dist/core/areas/config/augment-versions.js +0 -25
  726. package/dist/core/areas/config/builder.d.ts +0 -3
  727. package/dist/core/areas/config/builder.js +0 -33
  728. package/dist/core/areas/config/builder.server.d.ts +0 -15
  729. package/dist/core/areas/config/builder.server.js +0 -35
  730. package/dist/core/areas/local-api.server.d.ts +0 -80
  731. package/dist/core/areas/local-api.server.js +0 -126
  732. package/dist/core/areas/operations/find.d.ts +0 -15
  733. package/dist/core/areas/operations/find.js +0 -52
  734. package/dist/core/areas/operations/update.d.ts +0 -15
  735. package/dist/core/areas/operations/update.js +0 -101
  736. package/dist/core/areas/rest/get.server.d.ts +0 -18
  737. package/dist/core/areas/rest/get.server.js +0 -45
  738. package/dist/core/areas/rest/index.server.d.ts +0 -6
  739. package/dist/core/areas/rest/index.server.js +0 -3
  740. package/dist/core/areas/rest/update.server.d.ts +0 -18
  741. package/dist/core/areas/rest/update.server.js +0 -43
  742. package/dist/core/collections/auth/constant.server.d.ts +0 -9
  743. package/dist/core/collections/auth/constant.server.js +0 -9
  744. package/dist/core/collections/auth/fields.d.ts +0 -13
  745. package/dist/core/collections/auth/fields.js +0 -55
  746. package/dist/core/collections/auth/hooks/after-create/populate-api-key.server.d.ts +0 -5
  747. package/dist/core/collections/auth/hooks/after-create/populate-api-key.server.js +0 -22
  748. package/dist/core/collections/auth/hooks/after-delete/delete-better-auth-user.server.d.ts +0 -4
  749. package/dist/core/collections/auth/hooks/after-delete/delete-better-auth-user.server.js +0 -25
  750. package/dist/core/collections/auth/hooks/before-create/create-better-auth-user.server.d.ts +0 -4
  751. package/dist/core/collections/auth/hooks/before-create/create-better-auth-user.server.js +0 -187
  752. package/dist/core/collections/auth/hooks/before-delete/prevent-superadmin-deletion.server.d.ts +0 -1
  753. package/dist/core/collections/auth/hooks/before-delete/prevent-superadmin-deletion.server.js +0 -10
  754. package/dist/core/collections/auth/hooks/before-read/remove-private-fields.server.d.ts +0 -1
  755. package/dist/core/collections/auth/hooks/before-read/remove-private-fields.server.js +0 -8
  756. package/dist/core/collections/auth/hooks/before-update/forward-roles.server.d.ts +0 -4
  757. package/dist/core/collections/auth/hooks/before-update/forward-roles.server.js +0 -54
  758. package/dist/core/collections/auth/hooks/before-update/prevent-superadmin-mutation.server.d.ts +0 -5
  759. package/dist/core/collections/auth/hooks/before-update/prevent-superadmin-mutation.server.js +0 -27
  760. package/dist/core/collections/auth/hooks/before-update/prevent-user-mutations.server.d.ts +0 -5
  761. package/dist/core/collections/auth/hooks/before-update/prevent-user-mutations.server.js +0 -18
  762. package/dist/core/collections/auth/hooks/before-upsert/augment-fields-password.server.d.ts +0 -6
  763. package/dist/core/collections/auth/hooks/before-upsert/augment-fields-password.server.js +0 -21
  764. package/dist/core/collections/auth/hooks/hooks.server.d.ts +0 -8
  765. package/dist/core/collections/auth/hooks/hooks.server.js +0 -8
  766. package/dist/core/collections/auth/types.d.ts +0 -8
  767. package/dist/core/collections/auth/util.d.ts +0 -13
  768. package/dist/core/collections/config/augment-auth.d.ts +0 -17
  769. package/dist/core/collections/config/augment-auth.js +0 -88
  770. package/dist/core/collections/config/augment-auth.server.d.ts +0 -3
  771. package/dist/core/collections/config/augment-auth.server.js +0 -23
  772. package/dist/core/collections/config/augment-hooks.server.d.ts +0 -14
  773. package/dist/core/collections/config/augment-hooks.server.js +0 -98
  774. package/dist/core/collections/config/augment-label.d.ts +0 -6
  775. package/dist/core/collections/config/augment-metas.d.ts +0 -9
  776. package/dist/core/collections/config/augment-metas.js +0 -12
  777. package/dist/core/collections/config/augment-nested.d.ts +0 -12
  778. package/dist/core/collections/config/augment-nested.js +0 -15
  779. package/dist/core/collections/config/augment-nested.server.d.ts +0 -12
  780. package/dist/core/collections/config/augment-nested.server.js +0 -18
  781. package/dist/core/collections/config/augment-panel.d.ts +0 -13
  782. package/dist/core/collections/config/augment-panel.js +0 -19
  783. package/dist/core/collections/config/augment-thumbnail.d.ts +0 -16
  784. package/dist/core/collections/config/augment-thumbnail.js +0 -15
  785. package/dist/core/collections/config/augment-title.d.ts +0 -16
  786. package/dist/core/collections/config/augment-title.js +0 -27
  787. package/dist/core/collections/config/augment-upload.d.ts +0 -10
  788. package/dist/core/collections/config/augment-upload.js +0 -59
  789. package/dist/core/collections/config/augment-upload.server.d.ts +0 -7
  790. package/dist/core/collections/config/augment-upload.server.js +0 -19
  791. package/dist/core/collections/config/augment-url.d.ts +0 -10
  792. package/dist/core/collections/config/augment-url.js +0 -14
  793. package/dist/core/collections/config/augment-versions.d.ts +0 -14
  794. package/dist/core/collections/config/augment-versions.js +0 -24
  795. package/dist/core/collections/config/builder.d.ts +0 -3
  796. package/dist/core/collections/config/builder.js +0 -51
  797. package/dist/core/collections/config/builder.server.d.ts +0 -15
  798. package/dist/core/collections/config/builder.server.js +0 -47
  799. package/dist/core/collections/config/types.d.ts +0 -3
  800. package/dist/core/collections/local-api.server.d.ts +0 -166
  801. package/dist/core/collections/local-api.server.js +0 -303
  802. package/dist/core/collections/nested/hooks/index.server.d.ts +0 -4
  803. package/dist/core/collections/nested/hooks/index.server.js +0 -33
  804. package/dist/core/collections/operations/create.d.ts +0 -16
  805. package/dist/core/collections/operations/create.js +0 -119
  806. package/dist/core/collections/operations/delete.d.ts +0 -17
  807. package/dist/core/collections/operations/delete.js +0 -32
  808. package/dist/core/collections/operations/deleteById.d.ts +0 -13
  809. package/dist/core/collections/operations/deleteById.js +0 -48
  810. package/dist/core/collections/operations/duplicate.d.ts +0 -12
  811. package/dist/core/collections/operations/duplicate.js +0 -142
  812. package/dist/core/collections/operations/find.d.ts +0 -21
  813. package/dist/core/collections/operations/find.js +0 -70
  814. package/dist/core/collections/operations/findById.d.ts +0 -16
  815. package/dist/core/collections/operations/findById.js +0 -53
  816. package/dist/core/collections/operations/updateById.d.ts +0 -20
  817. package/dist/core/collections/operations/updateById.js +0 -111
  818. package/dist/core/collections/rest/create.server.d.ts +0 -18
  819. package/dist/core/collections/rest/create.server.js +0 -37
  820. package/dist/core/collections/rest/delete.server.d.ts +0 -18
  821. package/dist/core/collections/rest/delete.server.js +0 -37
  822. package/dist/core/collections/rest/deleteById.server.d.ts +0 -18
  823. package/dist/core/collections/rest/deleteById.server.js +0 -21
  824. package/dist/core/collections/rest/duplicate.server.d.ts +0 -15
  825. package/dist/core/collections/rest/duplicate.server.js +0 -20
  826. package/dist/core/collections/rest/get.server.d.ts +0 -18
  827. package/dist/core/collections/rest/get.server.js +0 -50
  828. package/dist/core/collections/rest/getById.server.d.ts +0 -18
  829. package/dist/core/collections/rest/getById.server.js +0 -35
  830. package/dist/core/collections/rest/index.server.d.ts +0 -16
  831. package/dist/core/collections/rest/index.server.js +0 -16
  832. package/dist/core/collections/rest/updateById.server.d.ts +0 -18
  833. package/dist/core/collections/rest/updateById.server.js +0 -44
  834. package/dist/core/collections/upload/disk/delete.server.d.ts +0 -9
  835. package/dist/core/collections/upload/disk/delete.server.js +0 -77
  836. package/dist/core/collections/upload/disk/save.server.d.ts +0 -32
  837. package/dist/core/collections/upload/disk/save.server.js +0 -190
  838. package/dist/core/collections/upload/hooks/clean-up-files.server.d.ts +0 -10
  839. package/dist/core/collections/upload/hooks/clean-up-files.server.js +0 -17
  840. package/dist/core/collections/upload/hooks/convert-base64.server.d.ts +0 -13
  841. package/dist/core/collections/upload/hooks/convert-base64.server.js +0 -36
  842. package/dist/core/collections/upload/hooks/extract-path.server.d.ts +0 -6
  843. package/dist/core/collections/upload/hooks/extract-path.server.js +0 -25
  844. package/dist/core/collections/upload/hooks/handle-path-creation.server.d.ts +0 -6
  845. package/dist/core/collections/upload/hooks/handle-path-creation.server.js +0 -64
  846. package/dist/core/collections/upload/hooks/populate-sizes.server.d.ts +0 -1
  847. package/dist/core/collections/upload/hooks/populate-sizes.server.js +0 -45
  848. package/dist/core/collections/upload/hooks/process-file-upload.server.d.ts +0 -20
  849. package/dist/core/collections/upload/hooks/process-file-upload.server.js +0 -60
  850. package/dist/core/collections/upload/hooks/update-directory-children.server.d.ts +0 -2
  851. package/dist/core/collections/upload/hooks/update-directory-children.server.js +0 -41
  852. package/dist/core/collections/upload/upload.d.ts +0 -16
  853. package/dist/core/collections/upload/util/config.d.ts +0 -16
  854. package/dist/core/collections/upload/util/converter.server.d.ts +0 -16
  855. package/dist/core/collections/upload/util/converter.server.js +0 -105
  856. package/dist/core/collections/upload/util/path.d.ts +0 -66
  857. package/dist/core/collections/upload/util/path.js +0 -139
  858. package/dist/core/collections/versions/operations.d.ts +0 -93
  859. package/dist/core/collections/versions/operations.js +0 -117
  860. package/dist/core/config/auth/better-auth-hooks.server.js +0 -138
  861. package/dist/core/config/auth/better-auth.server.d.ts +0 -2121
  862. package/dist/core/config/auth/better-auth.server.js +0 -81
  863. package/dist/core/config/client/augment-directories.d.ts +0 -6
  864. package/dist/core/config/client/augment-directories.js +0 -11
  865. package/dist/core/config/client/augment-panel.d.ts +0 -35
  866. package/dist/core/config/client/augment-panel.js +0 -22
  867. package/dist/core/config/client/augment-plugins.d.ts +0 -4
  868. package/dist/core/config/client/augment-plugins.js +0 -13
  869. package/dist/core/config/client/augment-staff.d.ts +0 -7
  870. package/dist/core/config/client/augment-staff.js +0 -6
  871. package/dist/core/config/client/build-config.d.ts +0 -41
  872. package/dist/core/config/client/build-config.js +0 -13
  873. package/dist/core/config/client/index.d.ts +0 -4
  874. package/dist/core/config/client/index.js +0 -4
  875. package/dist/core/config/config-context.server.d.ts +0 -70
  876. package/dist/core/config/config-context.server.js +0 -113
  877. package/dist/core/config/server/augment-cors.server.d.ts +0 -4
  878. package/dist/core/config/server/augment-cors.server.js +0 -7
  879. package/dist/core/config/server/augment-directories.server.d.ts +0 -6
  880. package/dist/core/config/server/augment-directories.server.js +0 -37
  881. package/dist/core/config/server/augment-panel-access.server.d.ts +0 -28
  882. package/dist/core/config/server/augment-panel-access.server.js +0 -8
  883. package/dist/core/config/server/augment-plugins.server.d.ts +0 -5
  884. package/dist/core/config/server/augment-plugins.server.js +0 -45
  885. package/dist/core/config/server/augment-staff.server.d.ts +0 -7
  886. package/dist/core/config/server/augment-staff.server.js +0 -6
  887. package/dist/core/config/server/build-config.server.d.ts +0 -123
  888. package/dist/core/config/server/build-config.server.js +0 -28
  889. package/dist/core/config/server/index.server.d.ts +0 -9
  890. package/dist/core/config/server/index.server.js +0 -11
  891. package/dist/core/config/server/validate.server.d.ts +0 -3
  892. package/dist/core/config/server/validate.server.js +0 -234
  893. package/dist/core/config/server/write.server.js +0 -77
  894. package/dist/core/config/shared/augment-icons.d.ts +0 -9
  895. package/dist/core/config/shared/augment-icons.js +0 -11
  896. package/dist/core/config/shared/augment-prototypes.d.ts +0 -8
  897. package/dist/core/config/shared/augment-prototypes.js +0 -7
  898. package/dist/core/config/shared/compile.d.ts +0 -19
  899. package/dist/core/config/shared/compile.js +0 -26
  900. package/dist/core/config/shared/find-thumbnail.d.ts +0 -9
  901. package/dist/core/config/shared/find-thumbnail.js +0 -34
  902. package/dist/core/config/shared/find-title.d.ts +0 -14
  903. package/dist/core/config/shared/find-title.js +0 -35
  904. package/dist/core/config/shared/get-staff-collection.d.ts +0 -22
  905. package/dist/core/config/shared/get-staff-collection.js +0 -55
  906. package/dist/core/config/shared/upload-directories.d.ts +0 -7
  907. package/dist/core/config/shared/upload-directories.js +0 -55
  908. package/dist/core/config/shared/versions-alias.server.d.ts +0 -10
  909. package/dist/core/config/shared/versions-alias.server.js +0 -59
  910. package/dist/core/constant.d.ts +0 -62
  911. package/dist/core/constant.js +0 -73
  912. package/dist/core/constant.server.d.ts +0 -2
  913. package/dist/core/constant.server.js +0 -3
  914. package/dist/core/dev/cache/index.server.d.ts +0 -11
  915. package/dist/core/dev/cache/index.server.js +0 -37
  916. package/dist/core/dev/cli/build/index.js +0 -70
  917. package/dist/core/dev/cli/build/templates.js +0 -45
  918. package/dist/core/dev/cli/clear/index.server.js +0 -42
  919. package/dist/core/dev/cli/generate/index.server.js +0 -98
  920. package/dist/core/dev/cli/generate-manifest/index.server.d.ts +0 -17
  921. package/dist/core/dev/cli/generate-manifest/index.server.js +0 -221
  922. package/dist/core/dev/cli/init/index.server.js +0 -241
  923. package/dist/core/dev/cli/init/templates.js +0 -116
  924. package/dist/core/dev/cli/util/log.server.d.ts +0 -1
  925. package/dist/core/dev/cli/util/log.server.js +0 -4
  926. package/dist/core/dev/constants.d.ts +0 -34
  927. package/dist/core/dev/constants.js +0 -76
  928. package/dist/core/dev/generate/routes/common.server.d.ts +0 -17
  929. package/dist/core/dev/generate/routes/common.server.js +0 -500
  930. package/dist/core/dev/generate/routes/custom-css.server.js +0 -86
  931. package/dist/core/dev/generate/routes/index.server.d.ts +0 -15
  932. package/dist/core/dev/generate/routes/index.server.js +0 -89
  933. package/dist/core/dev/generate/routes/util.server.d.ts +0 -50
  934. package/dist/core/dev/generate/routes/util.server.js +0 -112
  935. package/dist/core/dev/generate/runtime/index.server.d.ts +0 -44
  936. package/dist/core/dev/generate/runtime/index.server.js +0 -92
  937. package/dist/core/dev/generate/runtime/parse-exports.server.d.ts +0 -7
  938. package/dist/core/dev/generate/runtime/parse-exports.server.js +0 -40
  939. package/dist/core/dev/generate/sanitize/index.server.js +0 -834
  940. package/dist/core/dev/generate/types/index.server.js +0 -368
  941. package/dist/core/dev/vite/index.server.js +0 -308
  942. package/dist/core/ensure.server.d.ts +0 -34
  943. package/dist/core/ensure.server.js +0 -91
  944. package/dist/core/handlers/auth.server.js +0 -162
  945. package/dist/core/handlers/cors.server.js +0 -73
  946. package/dist/core/handlers/index.d.ts +0 -3
  947. package/dist/core/handlers/index.js +0 -16
  948. package/dist/core/handlers/main.server.d.ts +0 -4
  949. package/dist/core/handlers/main.server.js +0 -14
  950. package/dist/core/handlers/plugins.server.js +0 -10
  951. package/dist/core/handlers/routes.server.d.ts +0 -71
  952. package/dist/core/handlers/routes.server.js +0 -89
  953. package/dist/core/naming.d.ts +0 -82
  954. package/dist/core/naming.js +0 -86
  955. package/dist/core/operations/blocks/diff.server.d.ts +0 -15
  956. package/dist/core/operations/blocks/diff.server.js +0 -82
  957. package/dist/core/operations/blocks/extract.server.d.ts +0 -9
  958. package/dist/core/operations/blocks/extract.server.js +0 -33
  959. package/dist/core/operations/blocks/index.server.d.ts +0 -26
  960. package/dist/core/operations/blocks/index.server.js +0 -71
  961. package/dist/core/operations/configMap/buildTreeMap.d.ts +0 -4
  962. package/dist/core/operations/configMap/index.d.ts +0 -6
  963. package/dist/core/operations/configMap/index.js +0 -54
  964. package/dist/core/operations/extract-data.server.d.ts +0 -37
  965. package/dist/core/operations/extract-data.server.js +0 -101
  966. package/dist/core/operations/hooks/before-create/merge-with-blank.server.d.ts +0 -1
  967. package/dist/core/operations/hooks/before-create/merge-with-blank.server.js +0 -24
  968. package/dist/core/operations/hooks/before-operation/authorize.server.d.ts +0 -1
  969. package/dist/core/operations/hooks/before-operation/authorize.server.js +0 -32
  970. package/dist/core/operations/hooks/before-read/populate-url.server.d.ts +0 -4
  971. package/dist/core/operations/hooks/before-read/populate-url.server.js +0 -108
  972. package/dist/core/operations/hooks/before-read/process-document-fields.server.d.ts +0 -1
  973. package/dist/core/operations/hooks/before-read/process-document-fields.server.js +0 -58
  974. package/dist/core/operations/hooks/before-read/set-document-locale.server.d.ts +0 -1
  975. package/dist/core/operations/hooks/before-read/set-document-locale.server.js +0 -15
  976. package/dist/core/operations/hooks/before-read/set-document-thumbnail.server.d.ts +0 -1
  977. package/dist/core/operations/hooks/before-read/set-document-thumbnail.server.js +0 -34
  978. package/dist/core/operations/hooks/before-read/set-document-title.server.d.ts +0 -1
  979. package/dist/core/operations/hooks/before-read/set-document-title.server.js +0 -29
  980. package/dist/core/operations/hooks/before-read/set-document-type.server.d.ts +0 -1
  981. package/dist/core/operations/hooks/before-read/set-document-type.server.js +0 -14
  982. package/dist/core/operations/hooks/before-read/sort-document-props.server.d.ts +0 -1
  983. package/dist/core/operations/hooks/before-read/sort-document-props.server.js +0 -63
  984. package/dist/core/operations/hooks/before-update/define-version-operation.server.d.ts +0 -1
  985. package/dist/core/operations/hooks/before-update/define-version-operation.server.js +0 -18
  986. package/dist/core/operations/hooks/before-update/get-original-document.server.d.ts +0 -1
  987. package/dist/core/operations/hooks/before-update/get-original-document.server.js +0 -37
  988. package/dist/core/operations/hooks/before-upsert/data-config-map.server.d.ts +0 -1
  989. package/dist/core/operations/hooks/before-upsert/data-config-map.server.js +0 -12
  990. package/dist/core/operations/hooks/before-upsert/handle-new-version.server.d.ts +0 -5
  991. package/dist/core/operations/hooks/before-upsert/handle-new-version.server.js +0 -98
  992. package/dist/core/operations/hooks/before-upsert/original-config-map.server.d.ts +0 -1
  993. package/dist/core/operations/hooks/before-upsert/original-config-map.server.js +0 -16
  994. package/dist/core/operations/hooks/before-upsert/set-default-values.server.d.ts +0 -10
  995. package/dist/core/operations/hooks/before-upsert/set-default-values.server.js +0 -70
  996. package/dist/core/operations/hooks/before-upsert/validate-fields.server.d.ts +0 -1
  997. package/dist/core/operations/hooks/before-upsert/validate-fields.server.js +0 -150
  998. package/dist/core/operations/hooks/index.server.d.ts +0 -128
  999. package/dist/core/operations/hooks/index.server.js +0 -45
  1000. package/dist/core/operations/relations/diff.server.d.ts +0 -14
  1001. package/dist/core/operations/relations/diff.server.js +0 -47
  1002. package/dist/core/operations/relations/extract.server.d.ts +0 -11
  1003. package/dist/core/operations/relations/extract.server.js +0 -59
  1004. package/dist/core/operations/relations/index.server.d.ts +0 -25
  1005. package/dist/core/operations/relations/index.server.js +0 -68
  1006. package/dist/core/operations/shared/fallback-data-from-original.d.ts +0 -9
  1007. package/dist/core/operations/shared/fallback-data-from-original.js +0 -31
  1008. package/dist/core/operations/tree/diff.server.d.ts +0 -20
  1009. package/dist/core/operations/tree/diff.server.js +0 -64
  1010. package/dist/core/operations/tree/extract.server.d.ts +0 -9
  1011. package/dist/core/operations/tree/extract.server.js +0 -34
  1012. package/dist/core/operations/tree/index.server.d.ts +0 -12
  1013. package/dist/core/operations/tree/index.server.js +0 -52
  1014. package/dist/core/plugins/api-init/index.d.ts +0 -2
  1015. package/dist/core/plugins/api-init/index.js +0 -1
  1016. package/dist/core/plugins/api-init/module.server.js +0 -83
  1017. package/dist/core/plugins/mailer/index.d.ts +0 -2
  1018. package/dist/core/plugins/mailer/index.js +0 -1
  1019. package/dist/core/plugins/mailer/module.server.js +0 -32
  1020. package/dist/core/plugins/sse/broadcast.d.ts +0 -13
  1021. package/dist/core/plugins/sse/broadcast.js +0 -30
  1022. package/dist/core/plugins/sse/module.server.d.ts +0 -16
  1023. package/dist/core/plugins/sse/module.server.js +0 -52
  1024. package/dist/core/types/doc.d.ts +0 -74
  1025. package/dist/core/types/index.d.ts +0 -5
  1026. package/dist/panel/navigation.d.ts +0 -18
  1027. package/dist/panel/navigation.js +0 -64
  1028. package/dist/panel/pages/area/AreaVersionsDoc.svelte +0 -24
  1029. package/dist/panel/pages/area/AreaVersionsDoc.svelte.d.ts +0 -7
  1030. package/dist/panel/pages/collection-document/CollectionDocVersions.svelte +0 -29
  1031. package/dist/panel/pages/collection-document/CollectionDocVersions.svelte.d.ts +0 -7
  1032. package/dist/util/access/index.d.ts +0 -73
  1033. package/dist/util/cases.d.ts +0 -39
  1034. package/dist/util/cases.js +0 -58
  1035. package/dist/util/doc.d.ts +0 -50
  1036. package/dist/util/doc.js +0 -140
  1037. package/dist/util/validate.js +0 -171
  1038. /package/dist/{util/access/index.js → core/auth/access.js} +0 -0
  1039. /package/dist/core/{config/auth/better-auth-hooks.server.d.ts → auth/better-auth/hooks.server.d.ts} +0 -0
  1040. /package/dist/core/{config/auth/better-auth-permissions.d.ts → auth/better-auth/permissions.d.ts} +0 -0
  1041. /package/dist/core/{config/auth/better-auth-permissions.js → auth/better-auth/permissions.js} +0 -0
  1042. /package/dist/core/{handlers/auth.server.d.ts → auth/handler/index.server.d.ts} +0 -0
  1043. /package/dist/core/{areas/config → auth}/types.js +0 -0
  1044. /package/dist/core/{collections/auth → auth}/util.js +0 -0
  1045. /package/dist/core/{handlers/cors.server.d.ts → cors/handler.server.d.ts} +0 -0
  1046. /package/dist/core/dev/cli/{build/index.d.ts → commands/build.d.ts} +0 -0
  1047. /package/dist/core/dev/cli/{clear/index.server.d.ts → commands/clear.server.d.ts} +0 -0
  1048. /package/dist/core/dev/cli/{generate/index.server.d.ts → commands/generate.server.d.ts} +0 -0
  1049. /package/dist/core/dev/cli/{init/index.server.d.ts → commands/init.server.d.ts} +0 -0
  1050. /package/dist/core/dev/cli/{build/templates.d.ts → templates/build.d.ts} +0 -0
  1051. /package/dist/core/dev/cli/{init/templates.d.ts → templates/init.d.ts} +0 -0
  1052. /package/dist/core/dev/{generate → codegen}/routes/custom-css.server.d.ts +0 -0
  1053. /package/dist/core/dev/{generate → codegen}/sanitize/index.server.d.ts +0 -0
  1054. /package/dist/core/dev/{generate → codegen}/types/index.server.d.ts +0 -0
  1055. /package/dist/core/{config/server/write.server.d.ts → dev/config-memo.server.d.ts} +0 -0
  1056. /package/dist/core/dev/{vite/index.server.d.ts → vite.server.d.ts} +0 -0
  1057. /package/dist/core/{collections/auth → fields}/types.js +0 -0
  1058. /package/dist/{util → core/fields}/validate.d.ts +0 -0
  1059. /package/dist/core/{collections/config → locale}/types.js +0 -0
  1060. /package/dist/core/{logger/index.server.d.ts → logger.server.d.ts} +0 -0
  1061. /package/dist/core/{logger/index.server.js → logger.server.js} +0 -0
  1062. /package/dist/core/{operations/configMap → panel}/types.js +0 -0
  1063. /package/dist/core/{operations/configMap/buildTreeMap.js → pipeline/config-map/build-tree-map.js} +0 -0
  1064. /package/dist/core/{operations/configMap → pipeline/config-map}/types.d.ts +0 -0
  1065. /package/dist/core/{types/doc.js → pipeline/config-map/types.js} +0 -0
  1066. /package/dist/core/plugins/api-init/{module.server.d.ts → index.server.d.ts} +0 -0
  1067. /package/dist/core/{types/index.js → plugins/cache/types.js} +0 -0
  1068. /package/dist/core/plugins/mailer/{module.server.d.ts → index.server.d.ts} +0 -0
  1069. /package/dist/core/{handlers → plugins}/plugins.server.d.ts +0 -0
  1070. /package/dist/core/{areas/config → prototype/area}/types.d.ts +0 -0
  1071. /package/dist/core/{collections/config → prototype/collection}/augment-label.js +0 -0
  1072. /package/dist/core/{collections → prototype/collection}/upload/util/client.d.ts +0 -0
  1073. /package/dist/core/{collections → prototype/collection}/upload/util/client.js +0 -0
  1074. /package/dist/core/{collections → prototype/collection}/upload/util/config.js +0 -0
  1075. /package/dist/core/{collections → prototype/collection}/upload/util/mime.d.ts +0 -0
  1076. /package/dist/core/{collections → prototype/collection}/upload/util/mime.js +0 -0
@@ -0,0 +1,35 @@
1
+ import { FormFieldBuilder } from '../../../fields/builders/form-field-builder.js';
2
+ import { GroupFieldBuilder } from '../../../../fields/group/index.js';
3
+ import { TabsBuilder } from '../../../../fields/tabs/index.js';
4
+ export const hasMaybeTitle = (field) => ['text', 'date', 'slug', 'email', 'richText'].includes(field.type);
5
+ export function findTitleField(fields = [], basePath = '') {
6
+ for (const field of fields) {
7
+ // Direct check for isTitle
8
+ if (field instanceof FormFieldBuilder &&
9
+ hasMaybeTitle(field.get) &&
10
+ 'isTitle' in field.get &&
11
+ field.get.isTitle === true) {
12
+ const path = basePath ? `${basePath}.${field.name}` : field.name;
13
+ return { field, path };
14
+ }
15
+ // Check in group
16
+ if (field instanceof GroupFieldBuilder && field.get.fields) {
17
+ const groupPath = basePath ? `${basePath}.${field.name}` : field.name;
18
+ const found = findTitleField(field.get.fields, groupPath);
19
+ if (found)
20
+ return found;
21
+ }
22
+ // Check in tabs
23
+ if (field instanceof TabsBuilder && field.get.tabs) {
24
+ for (const tab of field.get.tabs) {
25
+ if (tab.get.fields) {
26
+ const tabPath = basePath ? `${basePath}.${tab.name}` : tab.name;
27
+ const found = findTitleField(tab.get.fields, tabPath);
28
+ if (found)
29
+ return found;
30
+ }
31
+ }
32
+ }
33
+ }
34
+ return null;
35
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * This feature's hooks, by name, so a prototype can place them as `title.someHook`.
3
+ *
4
+ * A barrel and nothing else — `module.server.ts` beside it is the pair half `$rime/modules:` resolves, and
5
+ * only files named exactly `module(.server).ts` are, so this one is invisible to that mechanism.
6
+ * It exists because a prototype's `hooks.server.ts` writes the run order and would otherwise carry
7
+ * one import line per hook.
8
+ */
9
+ export { setDocumentTitle } from './set-document-title.server.js';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * This feature's hooks, by name, so a prototype can place them as `title.someHook`.
3
+ *
4
+ * A barrel and nothing else — `module.server.ts` beside it is the pair half `$rime/modules:` resolves, and
5
+ * only files named exactly `module(.server).ts` are, so this one is invisible to that mechanism.
6
+ * It exists because a prototype's `hooks.server.ts` writes the run order and would otherwise carry
7
+ * one import line per hook.
8
+ */
9
+ export { setDocumentTitle } from './set-document-title.server.js';
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Puts `title` on the document, read from whichever field `asTitle` resolved to.
3
+ */
4
+ export declare const setDocumentTitle: import("../../../../pipeline/types").Hook<"raw", "read", "before">;
@@ -0,0 +1,32 @@
1
+ import { Hooks } from '../../../../pipeline/define-hook.js';
2
+ import { richTextJSONToText } from '../../../../../fields/rich-text/index.js';
3
+ import { getValueAtPath, isObjectLiteral } from '../../../../../util/object.js';
4
+ /**
5
+ * Puts `title` on the document, read from whichever field `asTitle` resolved to.
6
+ */
7
+ export const setDocumentTitle = Hooks.beforeRead(async function setDocumentTitle(args) {
8
+ const config = args.config;
9
+ let doc = args.doc;
10
+ const paramSelect = args.context.params.select;
11
+ const hasSelect = Array.isArray(paramSelect) && paramSelect.length;
12
+ const shouldSetTitle = !doc.title && (!hasSelect || (hasSelect && paramSelect.includes('title')));
13
+ if (shouldSetTitle) {
14
+ function computeTitleFromValue(value) {
15
+ // Handle rich text value
16
+ if (isObjectLiteral(value) && 'content' in value) {
17
+ return richTextJSONToText(value);
18
+ }
19
+ if (typeof value === 'string') {
20
+ return value;
21
+ }
22
+ return doc.id;
23
+ }
24
+ const titleRaw = getValueAtPath(config.asTitle, doc);
25
+ const title = computeTitleFromValue(titleRaw);
26
+ doc = {
27
+ title,
28
+ ...doc
29
+ };
30
+ }
31
+ return { ...args, doc };
32
+ });
@@ -0,0 +1,16 @@
1
+ /**
2
+ * The `select` a request asked for, with the field behind `title` added when it asked for `title`.
3
+ *
4
+ * `title` is not a column. `setDocumentTitle` — `shared/title/hooks/set-document-title.server.ts`
5
+ * — reads it out of whatever `asTitle` resolved to, on a document the adapter has already
6
+ * narrowed. So a select naming `title` without naming that field narrows the read to columns the
7
+ * hook cannot see, `getValueAtPath(config.asTitle, doc)` comes back undefined, and the document is
8
+ * titled with its own id.
9
+ *
10
+ * Every REST endpoint that parses this param goes through here, so `?select=title` means the same
11
+ * thing on `/pages` and on `/pages/<id>`.
12
+ *
13
+ * @param raw The `select` search param as sent — comma separated, or null when absent.
14
+ * @param asTitle The config's resolved title path (`BuiltCollection`/`BuiltArea`).
15
+ */
16
+ export declare const selectWithTitle: (raw: string | null, asTitle: string) => string[] | undefined;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * The `select` a request asked for, with the field behind `title` added when it asked for `title`.
3
+ *
4
+ * `title` is not a column. `setDocumentTitle` — `shared/title/hooks/set-document-title.server.ts`
5
+ * — reads it out of whatever `asTitle` resolved to, on a document the adapter has already
6
+ * narrowed. So a select naming `title` without naming that field narrows the read to columns the
7
+ * hook cannot see, `getValueAtPath(config.asTitle, doc)` comes back undefined, and the document is
8
+ * titled with its own id.
9
+ *
10
+ * Every REST endpoint that parses this param goes through here, so `?select=title` means the same
11
+ * thing on `/pages` and on `/pages/<id>`.
12
+ *
13
+ * @param raw The `select` search param as sent — comma separated, or null when absent.
14
+ * @param asTitle The config's resolved title path (`BuiltCollection`/`BuiltArea`).
15
+ */
16
+ export const selectWithTitle = (raw, asTitle) => {
17
+ if (!raw)
18
+ return undefined;
19
+ const select = raw.split(',');
20
+ if (select.includes('title') && !select.includes(asTitle)) {
21
+ select.push(asTitle);
22
+ }
23
+ return select;
24
+ };
@@ -0,0 +1,13 @@
1
+ import type { Collection } from '../../../config/types.js';
2
+ type Input = {
3
+ $url?: Collection<any>['$url'];
4
+ fields?: Collection<any>['fields'];
5
+ };
6
+ /**
7
+ * Adds the hidden `url` field a document's computed url is stored in.
8
+ *
9
+ * Applied only to configs that declare `$url`, which the feature's `enabled` decides, so there is
10
+ * no condition here. See features/url/index.ts.
11
+ */
12
+ export declare const augmentUrl: <T extends Input>(config: T) => T;
13
+ export {};
@@ -0,0 +1,11 @@
1
+ import { text } from '../../../../fields/text/index.js';
2
+ /**
3
+ * Adds the hidden `url` field a document's computed url is stored in.
4
+ *
5
+ * Applied only to configs that declare `$url`, which the feature's `enabled` decides, so there is
6
+ * no condition here. See features/url/index.ts.
7
+ */
8
+ export const augmentUrl = (config) => ({
9
+ ...config,
10
+ fields: [...(config.fields || []), text('url').localized().hidden()]
11
+ });
@@ -0,0 +1,8 @@
1
+ import type { Dic } from '../../../../util/types.js';
2
+ /**
3
+ * A config has a public URL by declaring `$url`.
4
+ *
5
+ * `Dic`, not a narrow shape: an area has no `$url` member at all, and every caller that guards
6
+ * a step here holds one config or the other.
7
+ */
8
+ export declare const hasUrl: (config: Dic) => boolean;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * A config has a public URL by declaring `$url`.
3
+ *
4
+ * `Dic`, not a narrow shape: an area has no `$url` member at all, and every caller that guards
5
+ * a step here holds one config or the other.
6
+ */
7
+ export const hasUrl = (config) => !!config.$url;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * This feature's hooks, by name, so a prototype can place them as `url.someHook`.
3
+ *
4
+ * A barrel and nothing else — `module.server.ts` beside it is the pair half `$rime/modules:` resolves, and
5
+ * only files named exactly `module(.server).ts` are, so this one is invisible to that mechanism.
6
+ * It exists because a prototype's `hooks.server.ts` writes the run order and would otherwise carry
7
+ * one import line per hook.
8
+ */
9
+ export { populateURL } from './populate-url.server.js';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * This feature's hooks, by name, so a prototype can place them as `url.someHook`.
3
+ *
4
+ * A barrel and nothing else — `module.server.ts` beside it is the pair half `$rime/modules:` resolves, and
5
+ * only files named exactly `module(.server).ts` are, so this one is invisible to that mechanism.
6
+ * It exists because a prototype's `hooks.server.ts` writes the run order and would otherwise carry
7
+ * one import line per hook.
8
+ */
9
+ export { populateURL } from './populate-url.server.js';
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Hook to populate _children property on document from a nested collection
3
+ */
4
+ export declare const populateURL: import("../../../../pipeline/types").Hook<"generic", "read", "before">;
@@ -0,0 +1,120 @@
1
+ import { Hooks } from '../../../../pipeline/define-hook.js';
2
+ import { env } from '$env/dynamic/private';
3
+ import { PARAMS } from '../../../../constants.js';
4
+ import { logger } from '../../../../logger.server.js';
5
+ import { getValueAtPath } from '../../../../../util/object.js';
6
+ import validate from '../../../../fields/validate.js';
7
+ /**
8
+ * Hook to populate _children property on document from a nested collection
9
+ */
10
+ export const populateURL = Hooks.beforeRead(async function populateURL(args) {
11
+ const select = args.context.params.select && Array.isArray(args.context.params.select)
12
+ ? args.context.params.select
13
+ : [];
14
+ const HAS_SELECT = select.length > 0;
15
+ // If there is a select param, populate url only if included
16
+ if (HAS_SELECT)
17
+ return args;
18
+ // Else populate url
19
+ const { config, event, context } = args;
20
+ const locale = context.params.locale;
21
+ const document = args.doc;
22
+ if (config.$url) {
23
+ let url;
24
+ try {
25
+ url = config.$url(document);
26
+ }
27
+ catch (err) {
28
+ logger.error(`Error while generating url of ${config.slug} with id: ${args.doc.id}, ${err.message}`);
29
+ return args;
30
+ }
31
+ const isValidURL = validate.url(url);
32
+ if (typeof isValidURL === 'string') {
33
+ logger.warn(`Invalid URL generated for ${config.slug} with id: ${args.doc.id}, url: ${url}`);
34
+ return args;
35
+ }
36
+ const match = url.match(/\[\.\.\.parent\.(\w+(?:\.\w+)*)\]/);
37
+ if (match) {
38
+ const fullMatch = match[0];
39
+ const attributePath = match[1];
40
+ // Create array to store parent attributes
41
+ const attributesArray = [];
42
+ const MAX_DEPTH = 6;
43
+ let depth = 0;
44
+ let parent = document._parent;
45
+ while (parent && depth < MAX_DEPTH) {
46
+ depth++;
47
+ const docs = await event.locals.rime.collection(config.slug).find({
48
+ query: `where[id][equals]=${parent}`,
49
+ select: [attributePath, '_parent'],
50
+ locale
51
+ });
52
+ // Check if there is a result
53
+ if (docs && docs.length > 0) {
54
+ const parentDoc = docs[0];
55
+ const parentAttribute = getValueAtPath(attributePath, parentDoc);
56
+ if (parentAttribute && typeof parentAttribute === 'string') {
57
+ attributesArray.push(parentAttribute);
58
+ }
59
+ else if (parentAttribute) {
60
+ logger.warn('Bad URL property: not a string', { attributePath, parentAttribute });
61
+ }
62
+ // Move up to the next parent
63
+ parent = parentDoc._parent;
64
+ }
65
+ else {
66
+ parent = null;
67
+ }
68
+ }
69
+ if (attributesArray.length) {
70
+ // Replace the parent reference with the joined attributes
71
+ url = url.replace(fullMatch, attributesArray.reverse().join('/'));
72
+ }
73
+ else {
74
+ url = url.replace('/' + fullMatch, '');
75
+ }
76
+ }
77
+ else {
78
+ // replace "/[...parent.whatever.something.foo]" with ""
79
+ url = url.replace(/\/\[\.\.\.parent\.\w+(?:\.\w+)*\]/, '');
80
+ }
81
+ if (!url) {
82
+ return args;
83
+ }
84
+ if (url.includes('undefined')) {
85
+ logger.warn('Missing document properties to generate URL for : ' + document.id);
86
+ return args;
87
+ }
88
+ // Add the url if successfully generated
89
+ if (url) {
90
+ if (args.doc.url !== url) {
91
+ /**
92
+ * The url is a field on the row the content is on, so this writes it there — which is
93
+ * what `contentOwner` resolves. The two tables a localized field lives across are
94
+ * `updateWhere`'s `locale` to sort out.
95
+ *
96
+ * `updateWhere` rather than `update` because a url is computed on read: it must not move
97
+ * `updatedAt`.
98
+ */
99
+ const contentId = config._versions ? args.doc.contentId : args.doc.id;
100
+ if (contentId) {
101
+ args.event.locals.rime.adapter.contentOwner(config.slug).updateWhere({
102
+ query: { where: { id: { equals: contentId } } },
103
+ data: { url },
104
+ locale
105
+ });
106
+ }
107
+ }
108
+ args.doc = { ...args.doc, url };
109
+ }
110
+ // Add the live url if needed. Gated on isStaff, not mere session presence — this URL
111
+ // embeds the real, hideable RIME_PANEL_ROUTE segment, so it must not reach a non-staff
112
+ // authenticated session either.
113
+ if (config.live && event.locals.user?.isStaff && url) {
114
+ args.doc._live = `${process.env.PUBLIC_RIME_URL}/${env.RIME_PANEL_ROUTE || 'panel'}/live-edit?src=${url}&slug=${config.slug}&id=${args.doc.id}`;
115
+ args.doc._live += args.doc.contentId ? `&${PARAMS.VERSION_ID}=${args.doc.contentId}` : '';
116
+ args.doc._live += locale ? `&${PARAMS.LOCALE}=${locale}` : '';
117
+ }
118
+ }
119
+ return args;
120
+ });
@@ -0,0 +1,23 @@
1
+ import type { VersionsConfig } from './types.js';
2
+ import type { VersionsTable } from '../../../adapter.js';
3
+ import type { Collection } from '../../../config/types.js';
4
+ type Input = {
5
+ slug?: string;
6
+ versions?: Collection<any>['versions'];
7
+ fields?: Collection<any>['fields'];
8
+ };
9
+ export type WithVersionsConfig<T> = Omit<T, 'versions'> & {
10
+ versions?: Required<VersionsConfig>;
11
+ _versions?: VersionsTable;
12
+ };
13
+ /**
14
+ * Normalises `versions`, adds the `status` field when drafts are on and `isAutoSave` when
15
+ * auto-save is, and — when this config is versioned — states **where its content lives**.
16
+ *
17
+ * `_versions` is the answer five callers used to fold the feature list for, through a
18
+ * `FeatureDefinition.shadow` seam that only this feature ever implemented. Two of those callers
19
+ * are in `adapter-sqlite/`, so it has to be a config member rather than a call: reading data keeps
20
+ * the adapter naming no feature.
21
+ */
22
+ export declare const augmentVersions: <T extends Input>(config: T) => WithVersionsConfig<T>;
23
+ export {};
@@ -0,0 +1,47 @@
1
+ import { withVersionsSuffix } from './naming.js';
2
+ import { VERSIONS_STATUS } from './constant.js';
3
+ import { text } from '../../../../fields/text/index.js';
4
+ import { toggle } from '../../../../fields/toggle/index.js';
5
+ /**
6
+ * Normalises `versions`, adds the `status` field when drafts are on and `isAutoSave` when
7
+ * auto-save is, and — when this config is versioned — states **where its content lives**.
8
+ *
9
+ * `_versions` is the answer five callers used to fold the feature list for, through a
10
+ * `FeatureDefinition.shadow` seam that only this feature ever implemented. Two of those callers
11
+ * are in `adapter-sqlite/`, so it has to be a config member rather than a call: reading data keeps
12
+ * the adapter naming no feature.
13
+ */
14
+ export const augmentVersions = (config) => {
15
+ const fields = [...(config.fields || [])];
16
+ const { versions, ...rest } = config;
17
+ let normalizedVersions;
18
+ if (versions) {
19
+ normalizedVersions = {
20
+ draft: typeof versions === 'boolean' ? false : (versions.draft ?? false),
21
+ autoSave: typeof versions === 'boolean' ? false : (versions.autoSave ?? false),
22
+ maxVersions: typeof versions === 'boolean' ? 12 : (versions.maxVersions ?? 12)
23
+ };
24
+ if (normalizedVersions.draft) {
25
+ fields.push(text('status').defaultValue(VERSIONS_STATUS.DRAFT).hidden());
26
+ }
27
+ // `required()` makes the column not null with a default, so a migration backfills every
28
+ // existing row as `false`. Reads filter on `isAutoSave != true`, and SQLite does not count a
29
+ // null row as passing that.
30
+ if (normalizedVersions.draft && normalizedVersions.autoSave) {
31
+ fields.push(toggle('isAutoSave').defaultValue(false).required().hidden());
32
+ }
33
+ }
34
+ else {
35
+ normalizedVersions = undefined;
36
+ }
37
+ return {
38
+ ...rest,
39
+ versions: normalizedVersions,
40
+ fields,
41
+ // Only a versioned config has a second table. `slug` is always set by `create` before the
42
+ // augments run; the guard is for the derived configs that are built without one.
43
+ ...(normalizedVersions && config.slug
44
+ ? { _versions: { slug: withVersionsSuffix(config.slug) } }
45
+ : {})
46
+ };
47
+ };
@@ -0,0 +1,16 @@
1
+ import type { BuiltArea, BuiltCollection } from '../../../config/types.js';
2
+ import type { GenericDoc } from '../../types.js';
3
+ import type { RequestEvent } from '@sveltejs/kit';
4
+ import type { AutoSaves } from './types.js';
5
+ /**
6
+ * The auto-saved rows of a document, newest first.
7
+ *
8
+ * Read as rime itself: the rows are staff-only, and the caller may hold the document open with
9
+ * read access alone. `undefined` on a config that does not auto-save, so a page can tell "none"
10
+ * from "not a thing here".
11
+ */
12
+ export declare const autoSavesOf: (args: {
13
+ event: RequestEvent;
14
+ config: BuiltCollection | BuiltArea;
15
+ doc: GenericDoc;
16
+ }) => Promise<AutoSaves | undefined>;
@@ -0,0 +1,29 @@
1
+ import { withVersionsSuffix } from './naming.js';
2
+ /**
3
+ * The auto-saved rows of a document, newest first.
4
+ *
5
+ * Read as rime itself: the rows are staff-only, and the caller may hold the document open with
6
+ * read access alone. `undefined` on a config that does not auto-save, so a page can tell "none"
7
+ * from "not a thing here".
8
+ */
9
+ export const autoSavesOf = async (args) => {
10
+ const { event, config, doc } = args;
11
+ if (!config.versions?.autoSave)
12
+ return undefined;
13
+ const versionsSlug = withVersionsSuffix(config.slug);
14
+ const rows = (await event.locals.rime
15
+ .collection(versionsSlug)
16
+ .system()
17
+ .find({
18
+ query: {
19
+ where: { and: [{ ownerId: { equals: doc.id } }, { isAutoSave: { equals: true } }] }
20
+ },
21
+ select: ['id', 'updatedAt', 'updatedBy'],
22
+ sort: '-updatedAt'
23
+ }));
24
+ return rows.map(({ id, updatedAt, updatedBy }) => ({
25
+ id,
26
+ updatedAt,
27
+ updatedBy: updatedBy ?? null
28
+ }));
29
+ };
@@ -0,0 +1,13 @@
1
+ import type { Dic } from '../../../../util/types.js';
2
+ /**
3
+ * A bootstrapped document's first version is the published one.
4
+ *
5
+ * Otherwise the row exists and no default read can see it, since a default read narrows to
6
+ * `status = published`. The `status` field's own default is `draft`, which is right for every
7
+ * version made after this one.
8
+ *
9
+ * There was a `BlankIntent` parameter saying which blank this is. It had one interesting value:
10
+ * only `boot` seeds a row, only an area is booted, and a create never publishes. So the caller is
11
+ * the answer — this one is `ensureExists`, and nothing else calls it.
12
+ */
13
+ export declare const blankVersion: (doc: Dic, config: Dic) => Dic;
@@ -0,0 +1,15 @@
1
+ import { VERSIONS_STATUS } from './constant.js';
2
+ /**
3
+ * A bootstrapped document's first version is the published one.
4
+ *
5
+ * Otherwise the row exists and no default read can see it, since a default read narrows to
6
+ * `status = published`. The `status` field's own default is `draft`, which is right for every
7
+ * version made after this one.
8
+ *
9
+ * There was a `BlankIntent` parameter saying which blank this is. It had one interesting value:
10
+ * only `boot` seeds a row, only an area is booted, and a create never publishes. So the caller is
11
+ * the answer — this one is `ensureExists`, and nothing else calls it.
12
+ */
13
+ export const blankVersion = (doc, config) => config.versions?.draft
14
+ ? { ...doc, status: VERSIONS_STATUS.PUBLISHED }
15
+ : doc;
@@ -0,0 +1,7 @@
1
+ import type { Config } from '../../../config/types.js';
2
+ /**
3
+ * Derives the versions collection behind every versioned config — `$pages__versions` for a versioned
4
+ * `pages`, and one per versioned area, which is a collection because a single document still has
5
+ * many revisions.
6
+ */
7
+ export declare function configureVersions<C extends Config>(config: C): C;
@@ -0,0 +1,75 @@
1
+ import { withVersionsSuffix } from './naming.js';
2
+ import { prototypeKebab } from '../../naming.js';
3
+ import { isStaff } from '../../../auth/access.js';
4
+ /**
5
+ * The versions holds the content half of a document, so it carries the content half of the fields:
6
+ * everything except what the base row keeps (`$root()`). The schema generator splits the two
7
+ * tables by the same flag, so a versions table config claiming a base field would name a column its table
8
+ * does not have.
9
+ */
10
+ const contentFields = (config) => config.fields.filter((field) => !field.get.root);
11
+ /**
12
+ * Version rows are the panel's history, and a document's auto-saved rows live among them. They
13
+ * read for staff who may read the document, and for nobody else — a public collection's drafts
14
+ * are not public.
15
+ */
16
+ const versionsAccess = (access) => ({
17
+ ...access,
18
+ read: (user, options) => isStaff(user) && !!access.read?.(user, options)
19
+ });
20
+ /**
21
+ * Derives the versions collection behind every versioned config — `$pages__versions` for a versioned
22
+ * `pages`, and one per versioned area, which is a collection because a single document still has
23
+ * many revisions.
24
+ */
25
+ export function configureVersions(config) {
26
+ for (const collection of config.collections || []) {
27
+ if (collection.versions) {
28
+ const versionedCollection = {
29
+ slug: withVersionsSuffix(collection.slug),
30
+ kebab: prototypeKebab(withVersionsSuffix(collection.slug)),
31
+ versions: undefined,
32
+ access: versionsAccess(collection.access),
33
+ $hooks: collection.$hooks,
34
+ fields: contentFields(collection),
35
+ auth: collection.auth,
36
+ upload: collection.upload,
37
+ label: collection.label,
38
+ type: collection.type,
39
+ asTitle: collection.asTitle,
40
+ asThumbnail: collection.asThumbnail,
41
+ icon: collection.icon,
42
+ panel: false,
43
+ _generateTypes: false,
44
+ _generateSchema: false,
45
+ // Whose content this holds. The feature that derives a versions table is the only thing that knows,
46
+ // and saying it is what stops anything downstream working it out from the slug.
47
+ _shadowOf: collection.slug
48
+ };
49
+ config.collections = [...(config.collections || []), versionedCollection];
50
+ }
51
+ }
52
+ for (const area of config.areas || []) {
53
+ if (area.versions) {
54
+ const versionedCollection = {
55
+ slug: withVersionsSuffix(area.slug),
56
+ kebab: prototypeKebab(withVersionsSuffix(area.slug)),
57
+ icon: area.icon,
58
+ versions: undefined,
59
+ access: versionsAccess(area.access),
60
+ asTitle: area.asTitle,
61
+ asThumbnail: null,
62
+ $hooks: area.$hooks,
63
+ fields: contentFields(area),
64
+ type: 'collection',
65
+ label: { plural: area.label, singular: area.label },
66
+ panel: false,
67
+ _generateTypes: false,
68
+ _generateSchema: false,
69
+ _shadowOf: area.slug
70
+ };
71
+ config.collections = [...(config.collections || []), versionedCollection];
72
+ }
73
+ }
74
+ return config;
75
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * What a version row's `status` column holds.
3
+ *
4
+ * Lived in `core/constants.ts`, which is core declaring a feature's vocabulary. It is shared
5
+ * widely — six files in this feature, the panel's four version components — but shared is not the
6
+ * same as central: every one of those readers is asking this feature a question.
7
+ */
8
+ export declare const VERSIONS_STATUS: {
9
+ readonly DRAFT: "draft";
10
+ readonly PUBLISHED: "published";
11
+ };
12
+ export type VersionsStatus = (typeof VERSIONS_STATUS)[keyof typeof VERSIONS_STATUS];
13
+ /** How long the panel waits after the last change before auto-saving. */
14
+ export declare const AUTO_SAVE_DELAY_MS = 1500;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * What a version row's `status` column holds.
3
+ *
4
+ * Lived in `core/constants.ts`, which is core declaring a feature's vocabulary. It is shared
5
+ * widely — six files in this feature, the panel's four version components — but shared is not the
6
+ * same as central: every one of those readers is asking this feature a question.
7
+ */
8
+ export const VERSIONS_STATUS = {
9
+ DRAFT: 'draft',
10
+ PUBLISHED: 'published'
11
+ };
12
+ /** How long the panel waits after the last change before auto-saving. */
13
+ export const AUTO_SAVE_DELAY_MS = 1500;
@@ -0,0 +1,8 @@
1
+ import type { DocTypeContribution } from '../../../dev/codegen/types/contributions.server.js';
2
+ /**
3
+ * A versioned document carries the id of the version it was read as.
4
+ *
5
+ * `dev/codegen/types` pushed this itself, behind `if (collection.versions)` — twice, once per
6
+ * prototype kind. `exposeVersionId` is the hook that puts the value there; this is the type of it.
7
+ */
8
+ export declare const versionsDocType: () => DocTypeContribution;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * A versioned document carries the id of the version it was read as.
3
+ *
4
+ * `dev/codegen/types` pushed this itself, behind `if (collection.versions)` — twice, once per
5
+ * prototype kind. `exposeVersionId` is the hook that puts the value there; this is the type of it.
6
+ */
7
+ export const versionsDocType = () => ({
8
+ members: ['versionId: string']
9
+ });
@@ -0,0 +1,10 @@
1
+ import type { Dic } from '../../../../util/types.js';
2
+ /**
3
+ * A config keeps history by declaring `versions`.
4
+ *
5
+ * `Dic`, not a narrow shape: an area has no `versions` member at all, and every caller that guards
6
+ * a step here holds one config or the other.
7
+ */
8
+ export declare const isVersioned: (config: Dic) => boolean;
9
+ /** A config whose documents are the version rows of another — the derived `$<slug>__versions`. */
10
+ export declare const isVersionsCollection: (config: Dic) => boolean;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * A config keeps history by declaring `versions`.
3
+ *
4
+ * `Dic`, not a narrow shape: an area has no `versions` member at all, and every caller that guards
5
+ * a step here holds one config or the other.
6
+ */
7
+ export const isVersioned = (config) => !!config.versions;
8
+ /** A config whose documents are the version rows of another — the derived `$<slug>__versions`. */
9
+ export const isVersionsCollection = (config) => !!config._shadowOf;