rimecms 0.28.10 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/README.md +3 -3
  2. package/dist/adapter-sqlite/area.server.js +8 -8
  3. package/dist/adapter-sqlite/generate-schema/column.server.d.ts +13 -0
  4. package/dist/adapter-sqlite/generate-schema/column.server.js +77 -0
  5. package/dist/adapter-sqlite/generate-schema/index.server.js +7 -12
  6. package/dist/adapter-sqlite/generate-schema/root.server.js +35 -39
  7. package/dist/adapter-sqlite/generate-schema/templates.server.d.ts +12 -0
  8. package/dist/adapter-sqlite/generate-schema/templates.server.js +19 -0
  9. package/dist/adapter-sqlite/generate-schema/{util.d.ts → util.server.d.ts} +2 -2
  10. package/dist/adapter-sqlite/generate-schema/{util.js → util.server.js} +2 -2
  11. package/dist/adapter-sqlite/generate-schema/write.server.js +1 -1
  12. package/dist/adapter-sqlite/relations.server.js +6 -1
  13. package/dist/adapter-sqlite/transform.server.js +1 -1
  14. package/dist/adapter-sqlite/util.server.d.ts +1 -6
  15. package/dist/adapter-sqlite/util.server.js +6 -0
  16. package/dist/adapter-sqlite/where.server.js +17 -16
  17. package/dist/adapter-sqlite/with.server.js +10 -10
  18. package/dist/core/areas/{api → rest}/get.server.d.ts +4 -2
  19. package/dist/core/areas/rest/get.server.js +45 -0
  20. package/dist/core/areas/rest/index.server.d.ts +6 -0
  21. package/dist/core/areas/rest/index.server.js +3 -0
  22. package/dist/core/areas/{api → rest}/update.server.d.ts +4 -2
  23. package/dist/core/areas/rest/update.server.js +43 -0
  24. package/dist/core/collections/auth/fields.d.ts +2 -182
  25. package/dist/core/collections/auth/hooks/before-upsert/augment-fields-password.server.d.ts +1 -1
  26. package/dist/core/collections/config/augment-auth.server.js +1 -1
  27. package/dist/core/collections/config/augment-nested.server.js +1 -1
  28. package/dist/core/collections/config/augment-panel.d.ts +1 -1
  29. package/dist/core/collections/config/augment-upload.js +2 -2
  30. package/dist/core/collections/config/augment-upload.server.js +4 -1
  31. package/dist/core/collections/operations/duplicate.js +31 -12
  32. package/dist/core/collections/operations/updateById.js +6 -5
  33. package/dist/core/collections/{api → rest}/create.server.d.ts +4 -2
  34. package/dist/core/collections/rest/create.server.js +37 -0
  35. package/dist/core/collections/{api → rest}/delete.server.d.ts +4 -2
  36. package/dist/core/collections/rest/delete.server.js +37 -0
  37. package/dist/core/collections/{api → rest}/deleteById.server.d.ts +4 -2
  38. package/dist/core/collections/rest/deleteById.server.js +21 -0
  39. package/dist/core/collections/{api → rest}/duplicate.server.d.ts +1 -1
  40. package/dist/core/collections/rest/duplicate.server.js +20 -0
  41. package/dist/core/collections/{api → rest}/get.server.d.ts +4 -2
  42. package/dist/core/collections/rest/get.server.js +50 -0
  43. package/dist/core/collections/{api → rest}/getById.server.d.ts +4 -2
  44. package/dist/core/collections/rest/getById.server.js +35 -0
  45. package/dist/core/collections/rest/index.server.d.ts +16 -0
  46. package/dist/core/collections/rest/index.server.js +16 -0
  47. package/dist/core/collections/{api → rest}/updateById.server.d.ts +4 -2
  48. package/dist/core/collections/rest/updateById.server.js +44 -0
  49. package/dist/core/collections/upload/disk/delete.server.d.ts +1 -1
  50. package/dist/core/collections/upload/disk/delete.server.js +48 -1
  51. package/dist/core/collections/upload/hooks/clean-up-files.server.js +2 -2
  52. package/dist/core/collections/upload/hooks/convert-base64.server.d.ts +1 -1
  53. package/dist/core/collections/upload/hooks/extract-path.server.d.ts +2 -2
  54. package/dist/core/collections/upload/hooks/extract-path.server.js +1 -1
  55. package/dist/core/collections/upload/hooks/handle-path-creation.server.d.ts +1 -1
  56. package/dist/core/collections/upload/hooks/process-file-upload.server.d.ts +1 -1
  57. package/dist/core/collections/upload/hooks/process-file-upload.server.js +3 -3
  58. package/dist/core/config/auth/better-auth.server.d.ts +2 -2
  59. package/dist/core/config/client/augment-directories.js +1 -1
  60. package/dist/core/config/config-context.server.d.ts +3 -3
  61. package/dist/core/config/server/augment-directories.server.js +1 -1
  62. package/dist/core/config/server/augment-panel-access.server.d.ts +1 -1
  63. package/dist/core/config/server/build-config.server.d.ts +11 -11
  64. package/dist/core/config/server/validate.server.js +51 -31
  65. package/dist/core/config/shared/find-thumbnail.js +13 -13
  66. package/dist/core/config/shared/find-title.js +13 -13
  67. package/dist/core/config/shared/upload-directories.js +1 -1
  68. package/dist/core/constant.d.ts +1 -1
  69. package/dist/core/constant.js +1 -1
  70. package/dist/core/constant.server.d.ts +1 -0
  71. package/dist/core/constant.server.js +2 -0
  72. package/dist/core/dev/cache/index.server.js +9 -9
  73. package/dist/core/dev/cli/build/index.d.ts +1 -0
  74. package/dist/core/dev/cli/build/index.js +37 -8
  75. package/dist/core/dev/cli/build/templates.d.ts +1 -0
  76. package/dist/core/dev/cli/build/templates.js +24 -0
  77. package/dist/core/dev/cli/clear/index.server.js +3 -2
  78. package/dist/core/dev/cli/generate/index.server.js +3 -2
  79. package/dist/core/dev/cli/index.js +20 -0
  80. package/dist/core/dev/cli/init/index.server.js +4 -4
  81. package/dist/core/dev/cli/init/templates.d.ts +1 -1
  82. package/dist/core/dev/cli/init/templates.js +2 -2
  83. package/dist/core/dev/cli/util/log.server.d.ts +1 -0
  84. package/dist/core/dev/cli/util/log.server.js +4 -0
  85. package/dist/core/dev/cli/util/package-manager.server.d.ts +9 -0
  86. package/dist/core/dev/cli/{init/package-manager-util.server.js → util/package-manager.server.js} +15 -0
  87. package/dist/core/dev/cli/util/package.server.d.ts +9 -0
  88. package/dist/core/dev/cli/{init/get-package-info.server.js → util/package.server.js} +10 -0
  89. package/dist/core/dev/generate/routes/common.server.d.ts +10 -1
  90. package/dist/core/dev/generate/routes/common.server.js +248 -29
  91. package/dist/core/dev/generate/routes/index.server.d.ts +7 -1
  92. package/dist/core/dev/generate/routes/index.server.js +16 -55
  93. package/dist/core/dev/generate/routes/util.server.d.ts +6 -16
  94. package/dist/core/dev/generate/routes/util.server.js +8 -21
  95. package/dist/core/dev/generate/types/index.server.js +22 -20
  96. package/dist/core/dev/vite/index.server.js +22 -6
  97. package/dist/core/errors/handler.server.d.ts +22 -1
  98. package/dist/core/errors/handler.server.js +25 -2
  99. package/dist/core/errors/index.d.ts +0 -1
  100. package/dist/core/errors/index.js +0 -1
  101. package/dist/core/fields/builders/boolean-builder.d.ts +3 -1
  102. package/dist/core/fields/builders/boolean-builder.js +3 -0
  103. package/dist/core/fields/builders/field-builder.d.ts +35 -2
  104. package/dist/core/fields/builders/field-builder.js +33 -2
  105. package/dist/core/fields/builders/form-field-builder.d.ts +71 -12
  106. package/dist/core/fields/builders/form-field-builder.js +96 -6
  107. package/dist/core/fields/builders/select-builder.d.ts +4 -1
  108. package/dist/core/fields/builders/select-builder.js +3 -0
  109. package/dist/core/fields/util.d.ts +9 -17
  110. package/dist/core/fields/util.js +49 -83
  111. package/dist/core/handlers/routes.server.d.ts +70 -1
  112. package/dist/core/handlers/routes.server.js +71 -4
  113. package/dist/core/naming.d.ts +34 -0
  114. package/dist/core/naming.js +39 -0
  115. package/dist/core/operations/blocks/diff.server.js +1 -1
  116. package/dist/core/operations/blocks/extract.server.js +1 -1
  117. package/dist/core/operations/configMap/buildTreeMap.d.ts +3 -2
  118. package/dist/core/operations/configMap/buildTreeMap.js +1 -1
  119. package/dist/core/operations/configMap/index.d.ts +2 -1
  120. package/dist/core/operations/configMap/index.js +13 -13
  121. package/dist/core/operations/configMap/types.d.ts +2 -2
  122. package/dist/core/operations/hooks/before-read/process-document-fields.server.js +14 -17
  123. package/dist/core/operations/hooks/before-upsert/data-config-map.server.d.ts +1 -1
  124. package/dist/core/operations/hooks/before-upsert/data-config-map.server.js +1 -1
  125. package/dist/core/operations/hooks/before-upsert/handle-new-version.server.d.ts +1 -1
  126. package/dist/core/operations/hooks/before-upsert/original-config-map.server.d.ts +1 -1
  127. package/dist/core/operations/hooks/before-upsert/original-config-map.server.js +1 -1
  128. package/dist/core/operations/hooks/before-upsert/set-default-values.server.d.ts +3 -5
  129. package/dist/core/operations/hooks/before-upsert/set-default-values.server.js +10 -15
  130. package/dist/core/operations/hooks/before-upsert/validate-fields.server.d.ts +1 -1
  131. package/dist/core/operations/hooks/before-upsert/validate-fields.server.js +49 -31
  132. package/dist/core/operations/relations/extract.server.js +5 -5
  133. package/dist/core/operations/shared/fallback-data-from-original.js +2 -2
  134. package/dist/core/operations/tree/diff.server.js +1 -1
  135. package/dist/core/operations/tree/extract.server.js +1 -1
  136. package/dist/core/plugins/api-init/index.server.js +10 -5
  137. package/dist/core/plugins/cache/cache.server.js +4 -4
  138. package/dist/core/rime.server.d.ts +10 -10
  139. package/dist/core/rime.server.js +5 -1
  140. package/dist/fields/blocks/component/AddBlockButton.svelte +7 -7
  141. package/dist/fields/blocks/component/AddBlockButton.svelte.d.ts +2 -2
  142. package/dist/fields/blocks/component/Blocks.svelte +6 -7
  143. package/dist/fields/blocks/component/props.d.ts +2 -2
  144. package/dist/fields/blocks/index.d.ts +1 -1
  145. package/dist/fields/blocks/index.js +3 -3
  146. package/dist/fields/blocks/index.server.js +1 -1
  147. package/dist/fields/checkbox/component/Checkbox.svelte +2 -2
  148. package/dist/fields/checkbox/component/props.d.ts +2 -2
  149. package/dist/fields/checkbox/index.server.d.ts +1 -2
  150. package/dist/fields/checkbox/index.server.js +1 -10
  151. package/dist/fields/combobox/component/ComboBox.svelte +3 -3
  152. package/dist/fields/combobox/component/props.d.ts +2 -2
  153. package/dist/fields/combobox/index.server.d.ts +1 -2
  154. package/dist/fields/combobox/index.server.js +2 -11
  155. package/dist/fields/component/index.d.ts +1 -1
  156. package/dist/fields/date/component/Date.svelte +4 -4
  157. package/dist/fields/date/component/Date.svelte.d.ts +2 -2
  158. package/dist/fields/date/index.d.ts +3 -1
  159. package/dist/fields/date/index.js +3 -0
  160. package/dist/fields/date/index.server.d.ts +1 -2
  161. package/dist/fields/date/index.server.js +1 -10
  162. package/dist/fields/email/component/Email.svelte +5 -6
  163. package/dist/fields/email/component/props.d.ts +2 -3
  164. package/dist/fields/email/index.d.ts +3 -2
  165. package/dist/fields/email/index.js +5 -2
  166. package/dist/fields/email/index.server.d.ts +0 -3
  167. package/dist/fields/email/index.server.js +0 -9
  168. package/dist/fields/group/component/Group.svelte +9 -15
  169. package/dist/fields/group/component/Group.svelte.d.ts +2 -2
  170. package/dist/fields/group/index.d.ts +4 -2
  171. package/dist/fields/group/index.server.js +2 -2
  172. package/dist/fields/index.server.d.ts +1 -4
  173. package/dist/fields/index.server.js +17 -13
  174. package/dist/fields/link/component/Link.svelte +5 -5
  175. package/dist/fields/link/component/RessourceInput.svelte +1 -1
  176. package/dist/fields/link/component/props.d.ts +2 -2
  177. package/dist/fields/link/index.d.ts +5 -2
  178. package/dist/fields/link/index.js +10 -11
  179. package/dist/fields/link/runtime.d.ts +2 -0
  180. package/dist/fields/link/runtime.js +1 -0
  181. package/dist/fields/link/{index.server.d.ts → runtime.server.d.ts} +1 -2
  182. package/dist/fields/link/{index.server.js → runtime.server.js} +2 -11
  183. package/dist/fields/number/component/Number.svelte +6 -6
  184. package/dist/fields/number/component/props.d.ts +2 -2
  185. package/dist/fields/number/index.d.ts +4 -10
  186. package/dist/fields/number/index.js +3 -4
  187. package/dist/fields/number/index.server.d.ts +1 -2
  188. package/dist/fields/number/index.server.js +1 -10
  189. package/dist/fields/radio/component/Radio.svelte +6 -7
  190. package/dist/fields/radio/component/props.d.ts +2 -2
  191. package/dist/fields/radio/index.server.d.ts +1 -2
  192. package/dist/fields/radio/index.server.js +2 -11
  193. package/dist/fields/relation/client.d.ts +1 -1
  194. package/dist/fields/relation/client.js +1 -1
  195. package/dist/fields/relation/component/Cell.svelte +1 -1
  196. package/dist/fields/relation/component/Relation.svelte +19 -15
  197. package/dist/fields/relation/component/Relation.svelte.d.ts +2 -2
  198. package/dist/fields/relation/component/upload/Browse.svelte +1 -1
  199. package/dist/fields/relation/index.d.ts +8 -5
  200. package/dist/fields/relation/index.js +8 -47
  201. package/dist/fields/relation/runtime.d.ts +5 -0
  202. package/dist/fields/relation/runtime.js +4 -0
  203. package/dist/fields/relation/runtime.server.d.ts +8 -0
  204. package/dist/fields/relation/runtime.server.js +49 -0
  205. package/dist/fields/rich-text/component/RichText.svelte +5 -5
  206. package/dist/fields/rich-text/component/props.d.ts +2 -2
  207. package/dist/fields/rich-text/core/features/fields/extension.d.ts +2 -2
  208. package/dist/fields/rich-text/core/features/fields/fields.svelte +2 -2
  209. package/dist/fields/rich-text/core/features/link/component/link-selector.svelte +1 -1
  210. package/dist/fields/rich-text/core/features/resource/resource-extension.d.ts +1 -1
  211. package/dist/fields/rich-text/core/features/resource/resource.svelte +1 -1
  212. package/dist/fields/rich-text/core/features/upload/upload-extension.d.ts +1 -1
  213. package/dist/fields/rich-text/core/features/upload/upload.svelte +1 -1
  214. package/dist/fields/rich-text/index.d.ts +2 -0
  215. package/dist/fields/rich-text/index.js +7 -2
  216. package/dist/fields/rich-text/index.server.d.ts +1 -2
  217. package/dist/fields/rich-text/index.server.js +1 -10
  218. package/dist/fields/select/component/Select.svelte +16 -16
  219. package/dist/fields/select/component/props.d.ts +2 -2
  220. package/dist/fields/select/index.d.ts +2 -0
  221. package/dist/fields/select/index.js +3 -0
  222. package/dist/fields/select/index.server.d.ts +1 -2
  223. package/dist/fields/select/index.server.js +2 -17
  224. package/dist/fields/slug/component/Slug.svelte +14 -10
  225. package/dist/fields/slug/component/Slug.svelte.d.ts +2 -2
  226. package/dist/fields/slug/index.d.ts +5 -2
  227. package/dist/fields/slug/index.js +3 -0
  228. package/dist/fields/slug/index.server.d.ts +1 -2
  229. package/dist/fields/slug/index.server.js +1 -10
  230. package/dist/fields/tabs/component/Tabs.svelte +15 -15
  231. package/dist/fields/tabs/component/Tabs.svelte.d.ts +2 -2
  232. package/dist/fields/tabs/index.d.ts +4 -16
  233. package/dist/fields/tabs/index.js +1 -8
  234. package/dist/fields/tabs/index.server.js +3 -3
  235. package/dist/fields/text/component/Text.svelte +5 -5
  236. package/dist/fields/text/component/props.d.ts +2 -3
  237. package/dist/fields/text/index.d.ts +4 -10
  238. package/dist/fields/text/index.js +3 -4
  239. package/dist/fields/text/index.server.d.ts +1 -2
  240. package/dist/fields/text/index.server.js +1 -10
  241. package/dist/fields/textarea/component/TextArea.svelte +3 -3
  242. package/dist/fields/textarea/component/props.d.ts +2 -2
  243. package/dist/fields/textarea/index.d.ts +4 -1
  244. package/dist/fields/textarea/index.js +3 -0
  245. package/dist/fields/textarea/index.server.d.ts +1 -2
  246. package/dist/fields/textarea/index.server.js +1 -10
  247. package/dist/fields/time/component/Time.svelte +5 -5
  248. package/dist/fields/time/component/Time.svelte.d.ts +1 -1
  249. package/dist/fields/time/component/props.d.ts +2 -2
  250. package/dist/fields/time/index.d.ts +2 -0
  251. package/dist/fields/time/index.js +3 -0
  252. package/dist/fields/time/index.server.d.ts +1 -2
  253. package/dist/fields/time/index.server.js +1 -10
  254. package/dist/fields/toggle/component/Toggle.svelte +3 -3
  255. package/dist/fields/toggle/component/Toggle.svelte.d.ts +1 -1
  256. package/dist/fields/toggle/component/props.d.ts +2 -2
  257. package/dist/fields/toggle/index.d.ts +2 -1
  258. package/dist/fields/toggle/index.server.d.ts +1 -2
  259. package/dist/fields/toggle/index.server.js +1 -10
  260. package/dist/fields/tree/component/AddItemButton.svelte +1 -2
  261. package/dist/fields/tree/component/Tree.svelte +6 -6
  262. package/dist/fields/tree/component/TreeBlock.svelte +5 -12
  263. package/dist/fields/tree/component/props.d.ts +3 -3
  264. package/dist/fields/tree/index.d.ts +3 -1
  265. package/dist/fields/tree/index.js +2 -2
  266. package/dist/fields/types.d.ts +11 -5
  267. package/dist/index.d.ts +8 -3
  268. package/dist/index.js +7 -3
  269. package/dist/panel/components/fields/FieldsPreview.svelte +4 -5
  270. package/dist/panel/components/fields/Hint.svelte +5 -4
  271. package/dist/panel/components/fields/Hint.svelte.d.ts +3 -2
  272. package/dist/panel/components/fields/Label.svelte +6 -11
  273. package/dist/panel/components/fields/Label.svelte.d.ts +3 -2
  274. package/dist/panel/components/fields/LabelFor.svelte +4 -4
  275. package/dist/panel/components/fields/LabelFor.svelte.d.ts +2 -1
  276. package/dist/panel/components/fields/RenderFields.svelte +11 -16
  277. package/dist/panel/components/fields/{root.svelte.d.ts → fieldset.svelte.d.ts} +1 -1
  278. package/dist/panel/components/fields/{root.svelte.js → fieldset.svelte.js} +1 -1
  279. package/dist/panel/components/fields/index.d.ts +5 -5
  280. package/dist/panel/components/fields/index.js +2 -2
  281. package/dist/panel/components/sections/collection/folder/FolderWithActions.svelte +1 -1
  282. package/dist/panel/components/sections/document/AuthFooter.svelte +2 -7
  283. package/dist/panel/components/sections/document/ButtonStatus.svelte +1 -1
  284. package/dist/panel/components/sections/document/CurrentlyEdited.svelte +1 -1
  285. package/dist/panel/components/sections/document/Settings.svelte +1 -1
  286. package/dist/panel/components/sections/live/LiveEditPanel.svelte +2 -2
  287. package/dist/panel/context/collection.svelte.js +10 -10
  288. package/dist/panel/context/documentForm.svelte.d.ts +8 -21
  289. package/dist/panel/context/documentForm.svelte.js +46 -54
  290. package/dist/panel/context/form.svelte.d.ts +6 -3
  291. package/dist/panel/context/form.svelte.js +22 -18
  292. package/dist/panel/context/live.svelte.js +1 -1
  293. package/dist/panel/index.d.ts +9 -1
  294. package/dist/panel/index.js +7 -1
  295. package/dist/panel/pages/area/actions.server.d.ts +2 -21
  296. package/dist/panel/pages/area/actions.server.js +28 -27
  297. package/dist/panel/pages/area/load.server.d.ts +2 -17
  298. package/dist/panel/pages/area/load.server.js +37 -46
  299. package/dist/panel/pages/auth/fields.d.ts +4 -4
  300. package/dist/panel/pages/auth/fields.js +6 -22
  301. package/dist/panel/pages/auth/reset-password/ResetPassword.svelte +3 -10
  302. package/dist/panel/pages/auth/sign-in/SignIn.svelte +7 -1
  303. package/dist/panel/pages/collection/load.server.d.ts +6 -6
  304. package/dist/panel/pages/collection/load.server.js +70 -72
  305. package/dist/panel/pages/collection-document/actions.server.d.ts +1 -1
  306. package/dist/panel/pages/collection-document/actions.server.js +78 -70
  307. package/dist/panel/pages/collection-document/load.server.d.ts +5 -20
  308. package/dist/panel/pages/collection-document/load.server.js +80 -82
  309. package/dist/server.d.ts +7 -0
  310. package/dist/server.js +7 -0
  311. package/dist/types.d.ts +1 -0
  312. package/dist/util/doc.js +15 -17
  313. package/dist/util/index.d.ts +9 -1
  314. package/dist/util/index.js +12 -1
  315. package/package.json +8 -50
  316. package/dist/core/api/index.d.ts +0 -7
  317. package/dist/core/api/index.js +0 -10
  318. package/dist/core/api/index.server.d.ts +0 -3
  319. package/dist/core/api/index.server.js +0 -3
  320. package/dist/core/areas/api/get.server.js +0 -36
  321. package/dist/core/areas/api/index.server.d.ts +0 -7
  322. package/dist/core/areas/api/index.server.js +0 -4
  323. package/dist/core/areas/api/update.server.js +0 -33
  324. package/dist/core/collections/api/create.server.js +0 -29
  325. package/dist/core/collections/api/delete.server.js +0 -32
  326. package/dist/core/collections/api/deleteById.server.js +0 -16
  327. package/dist/core/collections/api/duplicate.server.js +0 -18
  328. package/dist/core/collections/api/get.server.js +0 -45
  329. package/dist/core/collections/api/getById.server.js +0 -30
  330. package/dist/core/collections/api/index.server.d.ts +0 -17
  331. package/dist/core/collections/api/index.server.js +0 -9
  332. package/dist/core/collections/api/updateById.server.js +0 -38
  333. package/dist/core/dev/cli/init/get-package-info.server.d.ts +0 -1
  334. package/dist/core/dev/cli/init/package-manager-util.server.d.ts +0 -3
  335. package/dist/core/dev/generate/routes/area.server.d.ts +0 -7
  336. package/dist/core/dev/generate/routes/area.server.js +0 -69
  337. package/dist/core/dev/generate/routes/collection.server.d.ts +0 -14
  338. package/dist/core/dev/generate/routes/collection.server.js +0 -129
  339. package/dist/fields/relation/index.server.d.ts +0 -4
  340. package/dist/fields/relation/index.server.js +0 -13
  341. package/dist/live.d.ts +0 -4
  342. package/dist/live.js +0 -4
  343. package/dist/panel/index.server.d.ts +0 -4
  344. package/dist/panel/index.server.js +0 -4
  345. package/dist/panel/pages/auth/index.d.ts +0 -4
  346. package/dist/panel/pages/auth/index.js +0 -4
  347. package/dist/panel/pages/auth/index.server.d.ts +0 -18
  348. package/dist/panel/pages/auth/index.server.js +0 -12
  349. package/dist/panel/pages/index.actions.server.d.ts +0 -13
  350. package/dist/panel/pages/index.actions.server.js +0 -10
  351. package/dist/panel/pages/index.load.server.d.ts +0 -23
  352. package/dist/panel/pages/index.load.server.js +0 -16
  353. package/dist/panel/ui.d.ts +0 -4
  354. package/dist/panel/ui.js +0 -5
  355. /package/dist/core/dev/cli/{util.server.d.ts → util/prompt.server.d.ts} +0 -0
  356. /package/dist/core/dev/cli/{util.server.js → util/prompt.server.js} +0 -0
@@ -1,6 +1,8 @@
1
- import type { CollectionSlug } from '../../types/doc.js';
2
1
  import { type RequestEvent } from '@sveltejs/kit';
3
- export default function (slug: CollectionSlug): (event: RequestEvent) => Promise<Response | import("@sveltejs/kit").ActionFailure<{
2
+ /**
3
+ * DELETE handler for the collection API endpoint to delete a document by its ID.
4
+ */
5
+ export declare function restDeleteById(event: RequestEvent): Promise<Response | import("@sveltejs/kit").ActionFailure<{
4
6
  form: Record<string, any>;
5
7
  errors: import("../../../types").FormErrors;
6
8
  }> | import("@sveltejs/kit").ActionFailure<{
@@ -0,0 +1,21 @@
1
+ import { RimeError } from '../../errors/index.js';
2
+ import { handleError } from '../../errors/handler.server.js';
3
+ import { trycatch } from '../../../util/function.js';
4
+ import { json } from '@sveltejs/kit';
5
+ /**
6
+ * DELETE handler for the collection API endpoint to delete a document by its ID.
7
+ */
8
+ export async function restDeleteById(event) {
9
+ //
10
+ const { rime } = event.locals;
11
+ const slug = event.params.slug;
12
+ if (!rime.config.isCollection(slug)) {
13
+ return handleError(new RimeError(RimeError.NOT_FOUND), { context: 'api' });
14
+ }
15
+ const id = event.params.id || '';
16
+ const [error] = await trycatch(() => rime.collection(slug).deleteById({ id }));
17
+ if (error) {
18
+ return handleError(error, { context: 'api' });
19
+ }
20
+ return json({ id });
21
+ }
@@ -1,5 +1,5 @@
1
1
  import { type RequestEvent } from '@sveltejs/kit';
2
- export default function (slug: string): (event: RequestEvent) => Promise<Response | import("@sveltejs/kit").ActionFailure<{
2
+ export declare function restDuplicate(event: RequestEvent): Promise<Response | import("@sveltejs/kit").ActionFailure<{
3
3
  form: Record<string, any>;
4
4
  errors: import("../../../types").FormErrors;
5
5
  }> | import("@sveltejs/kit").ActionFailure<{
@@ -0,0 +1,20 @@
1
+ import { ERROR_CONTEXT, handleError } from '../../errors/handler.server.js';
2
+ import { RimeError } from '../../errors/index.js';
3
+ import { trycatch } from '../../../util/function.js';
4
+ import { error, json } from '@sveltejs/kit';
5
+ export async function restDuplicate(event) {
6
+ //
7
+ const { rime } = event.locals;
8
+ const slug = event.params.slug;
9
+ if (!rime.config.isCollection(slug)) {
10
+ return handleError(new RimeError(RimeError.NOT_FOUND), { context: ERROR_CONTEXT.API });
11
+ }
12
+ const collection = rime.collection(slug);
13
+ if (!event.params.id)
14
+ throw error(404);
15
+ const [duplicateError, newId] = await trycatch(() => collection.duplicate({ id: event.params.id }));
16
+ if (duplicateError) {
17
+ return handleError(duplicateError, { context: ERROR_CONTEXT.API });
18
+ }
19
+ return json({ id: newId });
20
+ }
@@ -1,6 +1,8 @@
1
- import type { CollectionSlug } from '../../types/doc.js';
2
1
  import { type RequestEvent } from '@sveltejs/kit';
3
- export default function (slug: CollectionSlug): (event: RequestEvent) => Promise<Response | import("@sveltejs/kit").ActionFailure<{
2
+ /**
3
+ * GET handler for the collection API endpoint.
4
+ */
5
+ export declare function restGet(event: RequestEvent): Promise<Response | import("@sveltejs/kit").ActionFailure<{
4
6
  form: Record<string, any>;
5
7
  errors: import("../../../types").FormErrors;
6
8
  }> | import("@sveltejs/kit").ActionFailure<{
@@ -0,0 +1,50 @@
1
+ import { normalizeQuery } from '../../../adapter-sqlite/util.server.js';
2
+ import { PARAMS } from '../../constant.js';
3
+ import { RimeError } from '../../errors/index.js';
4
+ import { handleError } from '../../errors/handler.server.js';
5
+ import { trycatch } from '../../../util/function.js';
6
+ import { json } from '@sveltejs/kit';
7
+ /**
8
+ * GET handler for the collection API endpoint.
9
+ */
10
+ export async function restGet(event) {
11
+ //
12
+ const { rime } = event.locals;
13
+ const slug = event.params.slug;
14
+ if (!rime.config.isCollection(slug)) {
15
+ return handleError(new RimeError(RimeError.NOT_FOUND), { context: 'api' });
16
+ }
17
+ const params = event.url.searchParams;
18
+ const hasQueryParams = !!params
19
+ .keys()
20
+ .filter((key) => key.startsWith('where'))
21
+ .toArray().length;
22
+ const collectionAPI = rime.collection(slug);
23
+ function buildSelect(params) {
24
+ const paramSelect = params.get(PARAMS.SELECT)
25
+ ? params.get(PARAMS.SELECT).split(',')
26
+ : undefined;
27
+ if (paramSelect &&
28
+ paramSelect.includes('title') &&
29
+ !paramSelect.includes(collectionAPI.config.asTitle)) {
30
+ paramSelect.push(collectionAPI.config.asTitle);
31
+ }
32
+ return paramSelect;
33
+ }
34
+ const query = hasQueryParams ? normalizeQuery(event.url.search.substring(1)) : undefined;
35
+ const apiParams = {
36
+ locale: rime.getLocale(),
37
+ sort: params.get(PARAMS.SORT) || undefined,
38
+ depth: params.get(PARAMS.DEPTH) ? parseInt(params.get(PARAMS.DEPTH)) : 0,
39
+ limit: params.get(PARAMS.LIMIT) ? parseInt(params.get(PARAMS.LIMIT)) : undefined,
40
+ offset: params.get(PARAMS.OFFSET) ? parseInt(params.get(PARAMS.OFFSET)) : undefined,
41
+ draft: params.get(PARAMS.DRAFT) ? params.get(PARAMS.DRAFT) === 'true' : undefined,
42
+ query,
43
+ select: buildSelect(params)
44
+ };
45
+ const [error, docs] = await trycatch(() => collectionAPI.find(apiParams));
46
+ if (error) {
47
+ return handleError(error, { context: 'api' });
48
+ }
49
+ return json({ docs }, { status: 200 });
50
+ }
@@ -1,6 +1,8 @@
1
- import type { CollectionSlug } from '../../types/doc.js';
2
1
  import { type RequestEvent } from '@sveltejs/kit';
3
- export default function (slug: CollectionSlug): (event: RequestEvent) => Promise<Response | import("@sveltejs/kit").ActionFailure<{
2
+ /**
3
+ * GET handler for the collection API endpoint to retrieve a document by its ID.
4
+ */
5
+ export declare function restGetById(event: RequestEvent): Promise<Response | import("@sveltejs/kit").ActionFailure<{
4
6
  form: Record<string, any>;
5
7
  errors: import("../../../types").FormErrors;
6
8
  }> | import("@sveltejs/kit").ActionFailure<{
@@ -0,0 +1,35 @@
1
+ import { PARAMS } from '../../constant.js';
2
+ import { RimeError } from '../../errors/index.js';
3
+ import { handleError } from '../../errors/handler.server.js';
4
+ import { trycatch } from '../../../util/function.js';
5
+ import { json } from '@sveltejs/kit';
6
+ /**
7
+ * GET handler for the collection API endpoint to retrieve a document by its ID.
8
+ */
9
+ export async function restGetById(event) {
10
+ //
11
+ const { rime } = event.locals;
12
+ const slug = event.params.slug;
13
+ const id = event.params.id;
14
+ if (!rime.config.isCollection(slug) || !id) {
15
+ return handleError(new RimeError(RimeError.NOT_FOUND), { context: 'api' });
16
+ }
17
+ const paramDepth = event.url.searchParams.get(PARAMS.DEPTH);
18
+ const paramDraft = event.url.searchParams.get(PARAMS.DRAFT);
19
+ const versionId = event.url.searchParams.get(PARAMS.VERSION_ID) || undefined;
20
+ const draft = paramDraft ? paramDraft === 'true' : undefined;
21
+ const depth = typeof paramDepth === 'string' ? parseInt(paramDepth) : 0;
22
+ const select = event.url.searchParams.get(PARAMS.SELECT)?.split(',') || undefined;
23
+ const [error, document] = await trycatch(() => rime.collection(slug).findById({
24
+ id,
25
+ locale: rime.getLocale(),
26
+ depth,
27
+ draft,
28
+ versionId,
29
+ select
30
+ }));
31
+ if (error) {
32
+ return handleError(error, { context: 'api' });
33
+ }
34
+ return json({ doc: document });
35
+ }
@@ -0,0 +1,16 @@
1
+ import { restCreate } from './create.server.js';
2
+ import { restDelete } from './delete.server.js';
3
+ import { restDeleteById } from './deleteById.server.js';
4
+ import { restDuplicate } from './duplicate.server.js';
5
+ import { restGet } from './get.server.js';
6
+ import { restGetById } from './getById.server.js';
7
+ import { restUpdateById } from './updateById.server.js';
8
+ export declare const rest: {
9
+ get: typeof restGet;
10
+ getById: typeof restGetById;
11
+ deleteById: typeof restDeleteById;
12
+ delete: typeof restDelete;
13
+ create: typeof restCreate;
14
+ updateById: typeof restUpdateById;
15
+ duplicate: typeof restDuplicate;
16
+ };
@@ -0,0 +1,16 @@
1
+ import { restCreate } from './create.server.js';
2
+ import { restDelete } from './delete.server.js';
3
+ import { restDeleteById } from './deleteById.server.js';
4
+ import { restDuplicate } from './duplicate.server.js';
5
+ import { restGet } from './get.server.js';
6
+ import { restGetById } from './getById.server.js';
7
+ import { restUpdateById } from './updateById.server.js';
8
+ export const rest = {
9
+ get: restGet,
10
+ getById: restGetById,
11
+ deleteById: restDeleteById,
12
+ delete: restDelete,
13
+ create: restCreate,
14
+ updateById: restUpdateById,
15
+ duplicate: restDuplicate
16
+ };
@@ -1,6 +1,8 @@
1
- import type { CollectionSlug } from '../../types/doc.js';
2
1
  import { type RequestEvent } from '@sveltejs/kit';
3
- export default function (slug: CollectionSlug): (event: RequestEvent) => Promise<Response | import("@sveltejs/kit").ActionFailure<{
2
+ /**
3
+ * PATCH handler for the collection API endpoint to update a document by its ID.
4
+ */
5
+ export declare function restUpdateById(event: RequestEvent): Promise<Response | import("@sveltejs/kit").ActionFailure<{
4
6
  form: Record<string, any>;
5
7
  errors: import("../../../types").FormErrors;
6
8
  }> | import("@sveltejs/kit").ActionFailure<{
@@ -0,0 +1,44 @@
1
+ import { PARAMS } from '../../constant.js';
2
+ import { ERROR_CONTEXT, handleError } from '../../errors/handler.server.js';
3
+ import { RimeError } from '../../errors/index.js';
4
+ import { extractData } from '../../operations/extract-data.server.js';
5
+ import { trycatch } from '../../../util/function.js';
6
+ import { json } from '@sveltejs/kit';
7
+ /**
8
+ * PATCH handler for the collection API endpoint to update a document by its ID.
9
+ */
10
+ export async function restUpdateById(event) {
11
+ //
12
+ const { rime } = event.locals;
13
+ const slug = event.params.slug;
14
+ const id = event.params.id;
15
+ // Check if the slug corresponds to a valid collection and if the ID is provided
16
+ if (!rime.config.isCollection(slug) || !id) {
17
+ return handleError(new RimeError(RimeError.NOT_FOUND), { context: ERROR_CONTEXT.API });
18
+ }
19
+ // Extract query parameters for versioning and draft status
20
+ const versionId = event.url.searchParams.get(PARAMS.VERSION_ID) || undefined;
21
+ const draft = event.url.searchParams.get(PARAMS.DRAFT)
22
+ ? event.url.searchParams.get(PARAMS.DRAFT) === 'true'
23
+ : undefined;
24
+ // Extract data from the request body
25
+ const [extractError, data] = await trycatch(() => extractData(event.request));
26
+ if (extractError) {
27
+ return handleError(extractError, { context: ERROR_CONTEXT.API });
28
+ }
29
+ // Set the locale if provided in the data
30
+ if (data.locale) {
31
+ rime.setLocale(data.locale);
32
+ }
33
+ const [error, document] = await trycatch(() => rime.collection(slug).updateById({
34
+ id,
35
+ data,
36
+ locale: rime.getLocale(),
37
+ versionId,
38
+ draft
39
+ }));
40
+ if (error) {
41
+ return handleError(error, { context: ERROR_CONTEXT.API });
42
+ }
43
+ return json({ doc: document });
44
+ }
@@ -2,7 +2,7 @@ import type { BuiltCollection, Config } from '../../../config/types.js';
2
2
  import type { RimeContext } from '../../../rime.server.js';
3
3
  import type { GenericDoc } from '../../../types/doc.js';
4
4
  import type { WithUpload } from '../util/config.js';
5
- export declare const cleanupStoredFiles: <C extends Config>(args: {
5
+ export declare const cleanUpDocumentFile: <C extends Config>(args: {
6
6
  config: WithUpload<BuiltCollection>;
7
7
  rime: RimeContext<C>;
8
8
  id: string;
@@ -1,11 +1,58 @@
1
1
  import { logger } from '../../../logger/index.server.js';
2
+ import { hasVersionsSuffix, withVersionsSuffix } from '../../../naming.js';
2
3
  import { existsSync, unlink, unlinkSync } from 'fs';
3
4
  import path from 'path';
4
- export const cleanupStoredFiles = async (args) => {
5
+ /**
6
+ * A given filename on disk can be shared by several document rows across
7
+ * unrelated upload collections — saveFile dedupes any byte-identical upload
8
+ * to a single file (see isSameFile). For a versioned collection the root
9
+ * table is just an id/hierarchy envelope — all actual content, including
10
+ * the published state, lives in its `_versions` table — so versioned
11
+ * collections are checked via that sibling, which holds the full history
12
+ * rather than just the one row a base-collection query would join in.
13
+ * `selfId` must already be in whichever id-space `selfSlug` resolves to
14
+ * (a `_versions` row's own id, not the envelope's `id` — see versionId in
15
+ * mergeRawDocumentWithVersion). Every configured locale is checked since a
16
+ * localized collection's query can otherwise miss rows in non-default
17
+ * locales, even though `filename` itself is never a localized field.
18
+ */
19
+ const isFilenameStillReferenced = async (args) => {
20
+ const { rime, filename, selfSlug, selfId } = args;
21
+ const targetSlugs = Object.values(rime.config.collections)
22
+ .filter((c) => c?.upload && !hasVersionsSuffix(c.slug))
23
+ .map((c) => (c.versions ? withVersionsSuffix(c.slug) : c.slug));
24
+ const locales = rime.config.getLocalesCodes();
25
+ const localesToQuery = locales.length ? locales : [undefined];
26
+ for (const slug of targetSlugs) {
27
+ for (const locale of localesToQuery) {
28
+ const docs = await rime.collection(slug).find({
29
+ query: `where[filename][equals]=${filename}`,
30
+ draft: true,
31
+ locale,
32
+ limit: slug === selfSlug ? 2 : 1
33
+ });
34
+ const referenced = docs.some((doc) => slug !== selfSlug || doc.id !== selfId);
35
+ if (referenced)
36
+ return true;
37
+ }
38
+ }
39
+ return false;
40
+ };
41
+ export const cleanUpDocumentFile = async (args) => {
5
42
  //
6
43
  const { config, rime, id } = args;
7
44
  const doc = await rime.collection(config.slug).findById({ id, draft: true });
8
45
  try {
46
+ if (!doc.filename)
47
+ return doc;
48
+ const stillReferenced = await isFilenameStillReferenced({
49
+ rime,
50
+ filename: doc.filename,
51
+ selfSlug: config.versions ? withVersionsSuffix(config.slug) : config.slug,
52
+ selfId: doc.versionId ?? doc.id
53
+ });
54
+ if (stillReferenced)
55
+ return doc;
9
56
  const filePath = path.resolve(process.cwd(), `static/medias/${doc.filename}`);
10
57
  // Delete original
11
58
  unlinkSync(filePath);
@@ -1,4 +1,4 @@
1
- import { cleanupStoredFiles } from '../disk/delete.server.js';
1
+ import { cleanUpDocumentFile } from '../disk/delete.server.js';
2
2
  import { Hooks } from '../../../operations/hooks/index.server.js';
3
3
  /**
4
4
  * Hook executed before deleting a document to clean up associated files from storage.
@@ -12,6 +12,6 @@ import { Hooks } from '../../../operations/hooks/index.server.js';
12
12
  export const cleanUpFiles = Hooks.beforeDelete(async (args) => {
13
13
  const config = args.config;
14
14
  const id = args.context.params.id || '';
15
- await cleanupStoredFiles({ config, rime: args.event.locals.rime, id });
15
+ await cleanUpDocumentFile({ config, rime: args.event.locals.rime, id });
16
16
  return args;
17
17
  });
@@ -10,4 +10,4 @@
10
10
  * @param args Hook arguments containing the document to process
11
11
  * @returns Updated args object with converted file data
12
12
  */
13
- export declare const castBase64ToFile: import("../../../operations/hooks/index.server.js").Hook<"upload", "create" | "update", "before">;
13
+ export declare const castBase64ToFile: import("../../../operations/hooks/index.server.js").Hook<"upload", "update" | "create", "before">;
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Hook executed before save/update operations on {uploadSlug}_directories collections
3
- * the function nomalize and validate path ({slug}_directories.id).
3
+ * the function normalize and validate path ({slug}_directories.id).
4
4
  * Then extract parent, name from the given path.
5
5
  */
6
- export declare const exctractPath: import("../../../operations/hooks/index.server.js").Hook<"directory", "create" | "update", "before">;
6
+ export declare const exctractPath: import("../../../operations/hooks/index.server.js").Hook<"directory", "update" | "create", "before">;
@@ -4,7 +4,7 @@ import { trycatchSync } from '../../../../util/function.js';
4
4
  import { getSegments } from '../util/path.js';
5
5
  /**
6
6
  * Hook executed before save/update operations on {uploadSlug}_directories collections
7
- * the function nomalize and validate path ({slug}_directories.id).
7
+ * the function normalize and validate path ({slug}_directories.id).
8
8
  * Then extract parent, name from the given path.
9
9
  */
10
10
  export const exctractPath = Hooks.beforeUpsert(async (args) => {
@@ -3,4 +3,4 @@
3
3
  * the function get the document _path and check if it exists,
4
4
  * if it doesn't it create {upload_slug}_directories entries recursively
5
5
  */
6
- export declare const handlePathCreation: import("../../../operations/hooks/index.server.js").Hook<"upload", "create" | "update", "before">;
6
+ export declare const handlePathCreation: import("../../../operations/hooks/index.server.js").Hook<"upload", "update" | "create", "before">;
@@ -17,4 +17,4 @@
17
17
  * - Cleans up image variations
18
18
  * - Nullifies related document fields
19
19
  */
20
- export declare const processFileUpload: import("../../../operations/hooks/index.server.js").Hook<"upload", "create" | "update", "before">;
20
+ export declare const processFileUpload: import("../../../operations/hooks/index.server.js").Hook<"upload", "update" | "create", "before">;
@@ -1,4 +1,4 @@
1
- import { cleanupStoredFiles } from '../disk/delete.server.js';
1
+ import { cleanUpDocumentFile } from '../disk/delete.server.js';
2
2
  import { saveFile } from '../disk/save.server.js';
3
3
  import { Hooks } from '../../../operations/hooks/index.server.js';
4
4
  import { omit } from '../../../../util/object.js';
@@ -33,7 +33,7 @@ export const processFileUpload = Hooks.beforeUpsert(async (args) => {
33
33
  const sizesConfig = hasSizeConfig ? config.upload.imageSizes : [];
34
34
  if (data.file) {
35
35
  if (operation === 'update' && args.context.originalDoc) {
36
- await cleanupStoredFiles({ config, rime, id: args.context.originalDoc.id });
36
+ await cleanUpDocumentFile({ config, rime, id: args.context.originalDoc.id });
37
37
  }
38
38
  const { filename, imageSizes } = await saveFile(data.file, sizesConfig);
39
39
  data = {
@@ -46,7 +46,7 @@ export const processFileUpload = Hooks.beforeUpsert(async (args) => {
46
46
  if (data.file === null) {
47
47
  // delete files
48
48
  if (operation === 'update' && args.context.originalDoc) {
49
- await cleanupStoredFiles({ config, rime, id: args.context.originalDoc.id });
49
+ await cleanUpDocumentFile({ config, rime, id: args.context.originalDoc.id });
50
50
  }
51
51
  // update data for DB update
52
52
  for (const size of sizesConfig) {
@@ -1752,13 +1752,13 @@ export declare function getBaseAuthConfig<const C extends Config>(ctx: {
1752
1752
  $Infer: {
1753
1753
  body: ({
1754
1754
  permission: {
1755
- readonly user?: ("create" | "update" | "delete" | "list" | "get" | "set-role" | "ban" | "impersonate" | "set-password")[] | undefined;
1755
+ readonly user?: ("update" | "create" | "delete" | "list" | "get" | "set-role" | "ban" | "impersonate" | "set-password")[] | undefined;
1756
1756
  readonly session?: ("delete" | "list" | "revoke")[] | undefined;
1757
1757
  };
1758
1758
  permissions?: never | undefined;
1759
1759
  } | {
1760
1760
  permissions: {
1761
- readonly user?: ("create" | "update" | "delete" | "list" | "get" | "set-role" | "ban" | "impersonate" | "set-password")[] | undefined;
1761
+ readonly user?: ("update" | "create" | "delete" | "list" | "get" | "set-role" | "ban" | "impersonate" | "set-password")[] | undefined;
1762
1762
  readonly session?: ("delete" | "list" | "revoke")[] | undefined;
1763
1763
  };
1764
1764
  permission?: never | undefined;
@@ -1,5 +1,5 @@
1
1
  import { isUploadConfig } from '../../collections/upload/util/config.js';
2
- import { makeUploadDirectoriesCollectionClient } from '../shared/upload-directories';
2
+ import { makeUploadDirectoriesCollectionClient } from '../shared/upload-directories.js';
3
3
  export const augmentDirectories = (config) => {
4
4
  const direcotriesCollections = config.collections
5
5
  ?.filter(isUploadConfig)
@@ -54,15 +54,15 @@ export declare function createConfigContext<const C extends Config>(config: Buil
54
54
  /**
55
55
  * Retrieves either an area or collection configuration by its slug
56
56
  */
57
- getBySlug: (slug: string) => import("../../types.js").BuiltCollection | import("../../types.js").BuiltArea;
57
+ getBySlug: (slug: string) => import("../../types.js").BuiltArea | import("../../types.js").BuiltCollection;
58
58
  /**
59
59
  * Checks if a slug represents a collection
60
60
  */
61
- isCollection: (slug: string) => slug is CollectionSlug;
61
+ isCollection: (slug?: string) => slug is CollectionSlug;
62
62
  /**
63
63
  * Checks if a slug represents an area
64
64
  */
65
- isArea: (slug: string) => slug is AreaSlug;
65
+ isArea: (slug?: string) => slug is AreaSlug;
66
66
  /**
67
67
  * Determines the prototype (collection or area) of a document by its slug
68
68
  */
@@ -2,7 +2,7 @@ import { augmentHooks } from '../../collections/config/augment-hooks.server.js';
2
2
  import { exctractPath } from '../../collections/upload/hooks/extract-path.server.js';
3
3
  import { prepareDirectoryChildren, updateDirectoryChildren } from '../../collections/upload/hooks/update-directory-children.server.js';
4
4
  import { isUploadConfig } from '../../collections/upload/util/config.js';
5
- import { makeUploadDirectoriesCollectionClient } from '../shared/upload-directories';
5
+ import { makeUploadDirectoriesCollectionClient } from '../shared/upload-directories.js';
6
6
  export const augmentDirectoriesServer = (config) => {
7
7
  const direcotriesCollections = config.collections
8
8
  ?.filter(isUploadConfig)
@@ -6,7 +6,7 @@ export declare const augmentPanelAccess: <const T extends {
6
6
  readonly panel: {
7
7
  $access: (user?: User) => boolean;
8
8
  routes?: Record<string, import("../../../types.js").CustomPanelRoute>;
9
- language?: import("../../i18n").PanelLanguage;
9
+ language?: import("../../..").PanelLanguage;
10
10
  navigation?: {
11
11
  groups: Array<{
12
12
  label: string;
@@ -1749,13 +1749,13 @@ export declare const buildConfig: <const C extends Config>(config: C) => Promise
1749
1749
  $Infer: {
1750
1750
  body: ({
1751
1751
  permission: {
1752
- readonly user?: ("create" | "update" | "delete" | "list" | "get" | "set-role" | "ban" | "impersonate" | "set-password")[] | undefined;
1752
+ readonly user?: ("update" | "create" | "delete" | "list" | "get" | "set-role" | "ban" | "impersonate" | "set-password")[] | undefined;
1753
1753
  readonly session?: ("delete" | "list" | "revoke")[] | undefined;
1754
1754
  };
1755
1755
  permissions?: never | undefined;
1756
1756
  } | {
1757
1757
  permissions: {
1758
- readonly user?: ("create" | "update" | "delete" | "list" | "get" | "set-role" | "ban" | "impersonate" | "set-password")[] | undefined;
1758
+ readonly user?: ("update" | "create" | "delete" | "list" | "get" | "set-role" | "ban" | "impersonate" | "set-password")[] | undefined;
1759
1759
  readonly session?: ("delete" | "list" | "revoke")[] | undefined;
1760
1760
  };
1761
1761
  permission?: never | undefined;
@@ -1962,9 +1962,9 @@ export declare const buildConfig: <const C extends Config>(config: C) => Promise
1962
1962
  isValidLocale: (locale: string) => boolean;
1963
1963
  getArea: (slug: string) => import("../types.js").BuiltArea;
1964
1964
  getCollection: (slug: string) => import("../types.js").BuiltCollection;
1965
- getBySlug: (slug: string) => import("../types.js").BuiltCollection | import("../types.js").BuiltArea;
1966
- isCollection: (slug: string) => slug is import("../../types/doc.js").CollectionSlug;
1967
- isArea: (slug: string) => slug is import("../../types/doc.js").AreaSlug;
1965
+ getBySlug: (slug: string) => import("../types.js").BuiltArea | import("../types.js").BuiltCollection;
1966
+ isCollection: (slug?: string) => slug is import("../../types/doc.js").CollectionSlug;
1967
+ isArea: (slug?: string) => slug is import("../../types/doc.js").AreaSlug;
1968
1968
  getDocumentPrototype(slug: import("../../types/doc.js").PrototypeSlug): "area" | "collection";
1969
1969
  };
1970
1970
  readonly plugins: InferPluginsServer<C>;
@@ -3731,13 +3731,13 @@ export declare const buildConfig: <const C extends Config>(config: C) => Promise
3731
3731
  $Infer: {
3732
3732
  body: ({
3733
3733
  permission: {
3734
- readonly user?: ("create" | "update" | "delete" | "list" | "get" | "set-role" | "ban" | "impersonate" | "set-password")[] | undefined;
3734
+ readonly user?: ("update" | "create" | "delete" | "list" | "get" | "set-role" | "ban" | "impersonate" | "set-password")[] | undefined;
3735
3735
  readonly session?: ("delete" | "list" | "revoke")[] | undefined;
3736
3736
  };
3737
3737
  permissions?: never | undefined;
3738
3738
  } | {
3739
3739
  permissions: {
3740
- readonly user?: ("create" | "update" | "delete" | "list" | "get" | "set-role" | "ban" | "impersonate" | "set-password")[] | undefined;
3740
+ readonly user?: ("update" | "create" | "delete" | "list" | "get" | "set-role" | "ban" | "impersonate" | "set-password")[] | undefined;
3741
3741
  readonly session?: ("delete" | "list" | "revoke")[] | undefined;
3742
3742
  };
3743
3743
  permission?: never | undefined;
@@ -3944,9 +3944,9 @@ export declare const buildConfig: <const C extends Config>(config: C) => Promise
3944
3944
  isValidLocale: (locale: string) => boolean;
3945
3945
  getArea: (slug: string) => import("../types.js").BuiltArea;
3946
3946
  getCollection: (slug: string) => import("../types.js").BuiltCollection;
3947
- getBySlug: (slug: string) => import("../types.js").BuiltCollection | import("../types.js").BuiltArea;
3948
- isCollection: (slug: string) => slug is import("../../types/doc.js").CollectionSlug;
3949
- isArea: (slug: string) => slug is import("../../types/doc.js").AreaSlug;
3947
+ getBySlug: (slug: string) => import("../types.js").BuiltArea | import("../types.js").BuiltCollection;
3948
+ isCollection: (slug?: string) => slug is import("../../types/doc.js").CollectionSlug;
3949
+ isArea: (slug?: string) => slug is import("../../types/doc.js").AreaSlug;
3950
3950
  getDocumentPrototype(slug: import("../../types/doc.js").PrototypeSlug): "area" | "collection";
3951
3951
  };
3952
3952
  setLocale(locale: string | undefined): void;
@@ -3997,7 +3997,7 @@ declare function augmentConfig<T extends Config>(config: T): T & {
3997
3997
  readonly panel: {
3998
3998
  $access: (user?: import("../../../types.js").User) => boolean;
3999
3999
  routes?: Record<string, import("../types.js").CustomPanelRoute>;
4000
- language?: import("../../i18n/index.js").PanelLanguage;
4000
+ language?: import("../../..").PanelLanguage;
4001
4001
  navigation?: {
4002
4002
  groups: Array<{
4003
4003
  label: string;