rimecms 0.31.4 → 0.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1079) hide show
  1. package/README.md +1 -1
  2. package/dist/adapter-sqlite/area.server.d.ts +10 -46
  3. package/dist/adapter-sqlite/area.server.js +31 -309
  4. package/dist/adapter-sqlite/auth.server.d.ts +11 -19
  5. package/dist/adapter-sqlite/auth.server.js +20 -77
  6. package/dist/adapter-sqlite/blocks.server.d.ts +7 -8
  7. package/dist/adapter-sqlite/blocks.server.js +17 -12
  8. package/dist/adapter-sqlite/collection.server.d.ts +10 -67
  9. package/dist/adapter-sqlite/collection.server.js +22 -418
  10. package/dist/adapter-sqlite/columns.server.d.ts +140 -0
  11. package/dist/adapter-sqlite/columns.server.js +307 -0
  12. package/dist/adapter-sqlite/generate-schema/column.server.js +1 -1
  13. package/dist/adapter-sqlite/generate-schema/index.server.d.ts +3 -3
  14. package/dist/adapter-sqlite/generate-schema/index.server.js +64 -139
  15. package/dist/adapter-sqlite/generate-schema/relations/junction.server.d.ts +3 -2
  16. package/dist/adapter-sqlite/generate-schema/relations/junction.server.js +14 -7
  17. package/dist/adapter-sqlite/generate-schema/root.server.d.ts +31 -7
  18. package/dist/adapter-sqlite/generate-schema/root.server.js +35 -19
  19. package/dist/adapter-sqlite/generate-schema/templates.server.d.ts +55 -60
  20. package/dist/adapter-sqlite/generate-schema/templates.server.js +110 -169
  21. package/dist/adapter-sqlite/generate-schema/write.server.js +19 -6
  22. package/dist/adapter-sqlite/index.server.d.ts +17 -23
  23. package/dist/adapter-sqlite/index.server.js +33 -36
  24. package/dist/adapter-sqlite/locales.server.d.ts +31 -0
  25. package/dist/adapter-sqlite/locales.server.js +57 -0
  26. package/dist/adapter-sqlite/naming.server.d.ts +134 -0
  27. package/dist/adapter-sqlite/naming.server.js +98 -0
  28. package/dist/adapter-sqlite/order-by.server.d.ts +29 -0
  29. package/dist/adapter-sqlite/order-by.server.js +115 -0
  30. package/dist/adapter-sqlite/read.server.d.ts +78 -0
  31. package/dist/adapter-sqlite/read.server.js +188 -0
  32. package/dist/adapter-sqlite/registry.server.d.ts +45 -0
  33. package/dist/adapter-sqlite/registry.server.js +63 -0
  34. package/dist/adapter-sqlite/relations.server.d.ts +10 -12
  35. package/dist/adapter-sqlite/relations.server.js +24 -8
  36. package/dist/adapter-sqlite/rows.server.d.ts +36 -0
  37. package/dist/adapter-sqlite/rows.server.js +6 -0
  38. package/dist/adapter-sqlite/select.server.d.ts +25 -0
  39. package/dist/adapter-sqlite/select.server.js +274 -0
  40. package/dist/adapter-sqlite/table.server.d.ts +18 -0
  41. package/dist/adapter-sqlite/table.server.js +63 -0
  42. package/dist/adapter-sqlite/transform.server.d.ts +13 -12
  43. package/dist/adapter-sqlite/transform.server.js +118 -197
  44. package/dist/adapter-sqlite/tree.server.d.ts +7 -8
  45. package/dist/adapter-sqlite/tree.server.js +13 -12
  46. package/dist/adapter-sqlite/types.server.d.ts +6 -5
  47. package/dist/adapter-sqlite/where.server.d.ts +25 -3
  48. package/dist/adapter-sqlite/where.server.js +46 -36
  49. package/dist/adapter-sqlite/write.server.d.ts +166 -0
  50. package/dist/adapter-sqlite/write.server.js +272 -0
  51. package/dist/core/adapter.d.ts +456 -0
  52. package/dist/core/adapter.js +13 -0
  53. package/dist/core/auth/access.d.ts +73 -0
  54. package/dist/core/auth/augment.d.ts +18 -0
  55. package/dist/core/auth/augment.js +110 -0
  56. package/dist/core/auth/augment.server.d.ts +3 -0
  57. package/dist/core/auth/augment.server.js +23 -0
  58. package/dist/core/auth/better-auth/config.server.d.ts +2122 -0
  59. package/dist/core/auth/better-auth/config.server.js +81 -0
  60. package/dist/core/auth/better-auth/hooks.server.js +132 -0
  61. package/dist/core/auth/better-auth/instance.server.d.ts +4215 -0
  62. package/dist/core/auth/better-auth/instance.server.js +26 -0
  63. package/dist/core/auth/better-auth-tables.server.d.ts +33 -0
  64. package/dist/core/auth/better-auth-tables.server.js +50 -0
  65. package/dist/core/auth/configure.d.ts +21 -0
  66. package/dist/core/auth/configure.js +21 -0
  67. package/dist/core/auth/constant.server.d.ts +28 -0
  68. package/dist/core/auth/constant.server.js +43 -0
  69. package/dist/core/auth/enabled.d.ts +10 -0
  70. package/dist/core/auth/enabled.js +10 -0
  71. package/dist/core/auth/handler/index.server.js +159 -0
  72. package/dist/core/auth/hooks/augment-fields-password.server.d.ts +20 -0
  73. package/dist/core/auth/hooks/augment-fields-password.server.js +44 -0
  74. package/dist/core/auth/hooks/create-better-auth-user.server.d.ts +4 -0
  75. package/dist/core/auth/hooks/create-better-auth-user.server.js +212 -0
  76. package/dist/core/auth/hooks/delete-better-auth-user.server.d.ts +4 -0
  77. package/dist/core/auth/hooks/delete-better-auth-user.server.js +25 -0
  78. package/dist/core/auth/hooks/forward-roles.server.d.ts +12 -0
  79. package/dist/core/auth/hooks/forward-roles.server.js +58 -0
  80. package/dist/core/auth/hooks/index.server.d.ts +18 -0
  81. package/dist/core/auth/hooks/index.server.js +18 -0
  82. package/dist/core/auth/hooks/populate-api-key.server.d.ts +5 -0
  83. package/dist/core/auth/hooks/populate-api-key.server.js +22 -0
  84. package/dist/core/auth/hooks/prevent-superadmin-deletion.server.d.ts +6 -0
  85. package/dist/core/auth/hooks/prevent-superadmin-deletion.server.js +16 -0
  86. package/dist/core/auth/hooks/prevent-superadmin-mutation.server.d.ts +5 -0
  87. package/dist/core/auth/hooks/prevent-superadmin-mutation.server.js +28 -0
  88. package/dist/core/auth/hooks/prevent-user-mutations.server.d.ts +5 -0
  89. package/dist/core/auth/hooks/prevent-user-mutations.server.js +13 -0
  90. package/dist/core/auth/hooks/remove-private-fields.server.d.ts +7 -0
  91. package/dist/core/auth/hooks/remove-private-fields.server.js +11 -0
  92. package/dist/core/auth/hooks/sign-in-new-user.server.d.ts +12 -0
  93. package/dist/core/auth/hooks/sign-in-new-user.server.js +29 -0
  94. package/dist/core/auth/module.d.ts +2 -0
  95. package/dist/core/auth/module.js +2 -0
  96. package/dist/core/auth/module.server.d.ts +2 -0
  97. package/dist/core/auth/module.server.js +2 -0
  98. package/dist/core/auth/staff/configure.d.ts +7 -0
  99. package/dist/core/auth/staff/configure.js +13 -0
  100. package/dist/core/auth/staff/configure.server.d.ts +7 -0
  101. package/dist/core/auth/staff/configure.server.js +14 -0
  102. package/dist/core/auth/staff/derive.d.ts +23 -0
  103. package/dist/core/auth/staff/derive.js +58 -0
  104. package/dist/core/auth/tables.d.ts +38 -0
  105. package/dist/core/auth/tables.js +157 -0
  106. package/dist/core/auth/types.d.ts +47 -0
  107. package/dist/core/auth/user.server.d.ts +43 -0
  108. package/dist/core/auth/user.server.js +73 -0
  109. package/dist/core/auth/util.d.ts +13 -0
  110. package/dist/core/auth/validate-config.d.ts +13 -0
  111. package/dist/core/auth/validate-config.js +42 -0
  112. package/dist/core/boot.server.d.ts +4227 -0
  113. package/dist/core/boot.server.js +61 -0
  114. package/dist/core/codegen.server.d.ts +22 -0
  115. package/dist/core/codegen.server.js +58 -0
  116. package/dist/core/config/build.d.ts +23 -0
  117. package/dist/core/config/build.js +22 -0
  118. package/dist/core/config/build.server.d.ts +70 -0
  119. package/dist/core/config/build.server.js +33 -0
  120. package/dist/core/config/configure.d.ts +26 -0
  121. package/dist/core/config/configure.js +40 -0
  122. package/dist/core/config/context.server.d.ts +82 -0
  123. package/dist/core/config/context.server.js +118 -0
  124. package/dist/core/config/index.d.ts +4 -0
  125. package/dist/core/config/index.js +4 -0
  126. package/dist/core/config/index.server.d.ts +9 -0
  127. package/dist/core/config/index.server.js +11 -0
  128. package/dist/core/config/types.d.ts +88 -170
  129. package/dist/core/config/validate.server.d.ts +3 -0
  130. package/dist/core/config/validate.server.js +259 -0
  131. package/dist/core/constants.d.ts +69 -0
  132. package/dist/core/constants.js +69 -0
  133. package/dist/core/constants.server.d.ts +5 -0
  134. package/dist/core/constants.server.js +6 -0
  135. package/dist/core/cors/configure.server.d.ts +11 -0
  136. package/dist/core/cors/configure.server.js +14 -0
  137. package/dist/core/cors/handler.server.js +75 -0
  138. package/dist/core/cors/module.browser.js +1 -0
  139. package/dist/core/cors/module.server.d.ts +1 -0
  140. package/dist/core/cors/module.server.js +7 -0
  141. package/dist/core/dev/cache.server.d.ts +17 -0
  142. package/dist/core/dev/cache.server.js +65 -0
  143. package/dist/core/dev/cli/commands/build.js +70 -0
  144. package/dist/core/dev/cli/commands/clear.server.js +42 -0
  145. package/dist/core/dev/cli/commands/generate-exports.server.d.ts +26 -0
  146. package/dist/core/dev/cli/commands/generate-exports.server.js +155 -0
  147. package/dist/core/dev/cli/commands/generate.server.js +98 -0
  148. package/dist/core/dev/cli/commands/init.server.js +242 -0
  149. package/dist/core/dev/cli/index.js +16 -16
  150. package/dist/core/dev/cli/templates/build.js +45 -0
  151. package/dist/core/dev/cli/templates/init.d.ts +18 -0
  152. package/dist/core/dev/cli/templates/init.js +117 -0
  153. package/dist/core/dev/cli/util/package-manager.server.js +7 -3
  154. package/dist/core/dev/cli/util/package.server.d.ts +0 -8
  155. package/dist/core/dev/cli/util/package.server.js +0 -10
  156. package/dist/core/dev/codegen/routes/common.server.d.ts +35 -0
  157. package/dist/core/dev/codegen/routes/common.server.js +437 -0
  158. package/dist/core/dev/codegen/routes/custom-css.server.js +86 -0
  159. package/dist/core/dev/codegen/routes/index.server.d.ts +17 -0
  160. package/dist/core/dev/codegen/routes/index.server.js +110 -0
  161. package/dist/core/dev/codegen/routes/util.server.d.ts +52 -0
  162. package/dist/core/dev/codegen/routes/util.server.js +118 -0
  163. package/dist/core/dev/codegen/runtime/index.server.d.ts +78 -0
  164. package/dist/core/dev/codegen/runtime/index.server.js +92 -0
  165. package/dist/core/dev/codegen/runtime/parse-exports.server.d.ts +16 -0
  166. package/dist/core/dev/codegen/runtime/parse-exports.server.js +60 -0
  167. package/dist/core/dev/codegen/sanitize/index.server.js +834 -0
  168. package/dist/core/dev/codegen/types/contributions.server.d.ts +37 -0
  169. package/dist/core/dev/codegen/types/contributions.server.js +25 -0
  170. package/dist/core/dev/codegen/types/index.server.js +132 -0
  171. package/dist/core/dev/codegen/types/templates.server.d.ts +13 -0
  172. package/dist/core/dev/codegen/types/templates.server.js +134 -0
  173. package/dist/core/dev/config-memo.server.js +85 -0
  174. package/dist/core/dev/constants.server.d.ts +20 -0
  175. package/dist/core/dev/constants.server.js +63 -0
  176. package/dist/core/dev/ensure.server.d.ts +30 -0
  177. package/dist/core/dev/ensure.server.js +82 -0
  178. package/dist/core/dev/prototype-routes.server.d.ts +16 -0
  179. package/dist/core/dev/prototype-routes.server.js +23 -0
  180. package/dist/core/dev/version.server.d.ts +12 -0
  181. package/dist/core/dev/version.server.js +27 -0
  182. package/dist/core/dev/vite.server.js +237 -0
  183. package/dist/core/errors/handler.server.d.ts +17 -1
  184. package/dist/core/errors/handler.server.js +4 -23
  185. package/dist/core/fields/builders/boolean-builder.d.ts +1 -1
  186. package/dist/core/fields/builders/field-builder.d.ts +12 -1
  187. package/dist/core/fields/builders/form-field-builder.d.ts +16 -5
  188. package/dist/core/fields/builders/form-field-builder.js +19 -8
  189. package/dist/core/fields/builders/select-builder.d.ts +1 -1
  190. package/dist/core/fields/types.d.ts +16 -0
  191. package/dist/core/fields/util.d.ts +60 -0
  192. package/dist/core/fields/util.js +84 -1
  193. package/dist/core/fields/validate.js +171 -0
  194. package/dist/core/handler.server.d.ts +4 -0
  195. package/dist/core/handler.server.js +25 -0
  196. package/dist/core/i18n/en/common.d.ts +18 -0
  197. package/dist/core/i18n/en/common.js +20 -1
  198. package/dist/core/i18n/fr/common.d.ts +18 -0
  199. package/dist/core/i18n/fr/common.js +20 -1
  200. package/dist/core/i18n/index.d.ts +0 -1
  201. package/dist/core/i18n/index.js +0 -1
  202. package/dist/core/locale/copy.server.d.ts +35 -0
  203. package/dist/core/locale/copy.server.js +93 -0
  204. package/dist/core/locale/types.d.ts +20 -0
  205. package/dist/core/panel/configure.d.ts +63 -0
  206. package/dist/core/panel/configure.js +56 -0
  207. package/dist/core/panel/types.d.ts +61 -0
  208. package/dist/core/pipeline/build-document.server.d.ts +26 -0
  209. package/dist/core/pipeline/build-document.server.js +83 -0
  210. package/dist/core/pipeline/build.server.d.ts +23 -0
  211. package/dist/core/pipeline/build.server.js +76 -0
  212. package/dist/core/pipeline/config-map/build-tree-map.d.ts +4 -0
  213. package/dist/core/pipeline/config-map/index.d.ts +6 -0
  214. package/dist/core/pipeline/config-map/index.js +54 -0
  215. package/dist/core/pipeline/define-hook.d.ts +42 -0
  216. package/dist/core/pipeline/define-hook.js +40 -0
  217. package/dist/core/pipeline/extract-data.server.d.ts +18 -0
  218. package/dist/core/pipeline/extract-data.server.js +78 -0
  219. package/dist/core/pipeline/hook-name.server.d.ts +11 -0
  220. package/dist/core/pipeline/hook-name.server.js +14 -0
  221. package/dist/core/pipeline/hooks/authorize.server.d.ts +6 -0
  222. package/dist/core/pipeline/hooks/authorize.server.js +37 -0
  223. package/dist/core/pipeline/hooks/data-config-map.server.d.ts +8 -0
  224. package/dist/core/pipeline/hooks/data-config-map.server.js +19 -0
  225. package/dist/core/pipeline/hooks/get-original-document.server.d.ts +9 -0
  226. package/dist/core/pipeline/hooks/get-original-document.server.js +34 -0
  227. package/dist/core/pipeline/hooks/normalize-resolved-references.server.d.ts +16 -0
  228. package/dist/core/pipeline/hooks/normalize-resolved-references.server.js +40 -0
  229. package/dist/core/pipeline/hooks/original-config-map.server.d.ts +8 -0
  230. package/dist/core/pipeline/hooks/original-config-map.server.js +23 -0
  231. package/dist/core/pipeline/hooks/process-document-fields.server.d.ts +5 -0
  232. package/dist/core/pipeline/hooks/process-document-fields.server.js +62 -0
  233. package/dist/core/pipeline/hooks/resolve-content-owner.server.d.ts +17 -0
  234. package/dist/core/pipeline/hooks/resolve-content-owner.server.js +24 -0
  235. package/dist/core/pipeline/hooks/set-default-values.server.d.ts +16 -0
  236. package/dist/core/pipeline/hooks/set-default-values.server.js +79 -0
  237. package/dist/core/pipeline/hooks/set-document-locale.server.d.ts +5 -0
  238. package/dist/core/pipeline/hooks/set-document-locale.server.js +19 -0
  239. package/dist/core/pipeline/hooks/set-document-type.server.d.ts +6 -0
  240. package/dist/core/pipeline/hooks/set-document-type.server.js +19 -0
  241. package/dist/core/pipeline/hooks/sort-document-props.server.d.ts +7 -0
  242. package/dist/core/pipeline/hooks/sort-document-props.server.js +71 -0
  243. package/dist/core/pipeline/hooks/validate-fields.server.d.ts +12 -0
  244. package/dist/core/pipeline/hooks/validate-fields.server.js +170 -0
  245. package/dist/core/pipeline/persist/blocks/diff.server.d.ts +15 -0
  246. package/dist/core/pipeline/persist/blocks/diff.server.js +69 -0
  247. package/dist/core/pipeline/persist/blocks/extract.server.d.ts +9 -0
  248. package/dist/core/pipeline/persist/blocks/extract.server.js +33 -0
  249. package/dist/core/pipeline/persist/blocks/index.server.d.ts +27 -0
  250. package/dist/core/pipeline/persist/blocks/index.server.js +68 -0
  251. package/dist/core/pipeline/persist/relations/diff.server.d.ts +14 -0
  252. package/dist/core/pipeline/persist/relations/diff.server.js +47 -0
  253. package/dist/core/pipeline/persist/relations/extract.server.d.ts +11 -0
  254. package/dist/core/pipeline/persist/relations/extract.server.js +59 -0
  255. package/dist/core/pipeline/persist/relations/index.server.d.ts +26 -0
  256. package/dist/core/pipeline/persist/relations/index.server.js +66 -0
  257. package/dist/core/pipeline/persist/tree/diff.server.d.ts +20 -0
  258. package/dist/core/pipeline/persist/tree/diff.server.js +51 -0
  259. package/dist/core/pipeline/persist/tree/extract.server.d.ts +9 -0
  260. package/dist/core/pipeline/persist/tree/extract.server.js +34 -0
  261. package/dist/core/pipeline/persist/tree/index.server.d.ts +14 -0
  262. package/dist/core/pipeline/persist/tree/index.server.js +50 -0
  263. package/dist/core/pipeline/query.d.ts +14 -0
  264. package/dist/core/pipeline/query.js +36 -0
  265. package/dist/core/pipeline/run.server.d.ts +146 -0
  266. package/dist/core/pipeline/run.server.js +256 -0
  267. package/dist/core/pipeline/types.d.ts +140 -0
  268. package/dist/core/pipeline/types.js +10 -0
  269. package/dist/core/plugins/api-init/index.server.js +84 -0
  270. package/dist/core/plugins/cache/cache.server.js +1 -1
  271. package/dist/core/plugins/cache/handler.server.js +1 -1
  272. package/dist/core/plugins/cache/index.d.ts +1 -2
  273. package/dist/core/plugins/cache/index.js +3 -1
  274. package/dist/core/plugins/cache/types.d.ts +5 -0
  275. package/dist/core/plugins/configure.d.ts +12 -0
  276. package/dist/core/plugins/configure.js +26 -0
  277. package/dist/core/plugins/defaults/index.d.ts +1 -0
  278. package/dist/core/plugins/defaults/index.js +3 -0
  279. package/dist/core/plugins/defaults/module.d.ts +12 -0
  280. package/dist/core/plugins/defaults/module.js +14 -0
  281. package/dist/core/plugins/defaults/module.server.d.ts +4 -0
  282. package/dist/core/plugins/defaults/module.server.js +15 -0
  283. package/dist/core/plugins/defaults/types.d.ts +18 -0
  284. package/dist/core/plugins/defaults/types.js +1 -0
  285. package/dist/core/plugins/mailer/index.server.js +29 -0
  286. package/dist/core/plugins/plugins.server.js +10 -0
  287. package/dist/core/plugins/sse/bus.server.d.ts +16 -0
  288. package/dist/core/plugins/sse/bus.server.js +69 -0
  289. package/dist/core/plugins/sse/client.d.ts +14 -16
  290. package/dist/core/plugins/sse/client.js +42 -34
  291. package/dist/core/plugins/sse/index.d.ts +10 -2
  292. package/dist/core/plugins/sse/index.js +9 -1
  293. package/dist/core/plugins/sse/index.server.d.ts +29 -0
  294. package/dist/core/plugins/sse/index.server.js +18 -0
  295. package/dist/core/plugins/sse/types.d.ts +15 -7
  296. package/dist/core/prototype/area/api.server.d.ts +91 -0
  297. package/dist/core/prototype/area/api.server.js +117 -0
  298. package/dist/core/prototype/area/augment-label.d.ts +16 -0
  299. package/dist/core/prototype/area/augment-label.js +13 -0
  300. package/dist/core/prototype/area/definition.d.ts +18 -0
  301. package/dist/core/prototype/area/definition.js +44 -0
  302. package/dist/core/prototype/area/definition.server.d.ts +9 -0
  303. package/dist/core/prototype/area/definition.server.js +40 -0
  304. package/dist/core/prototype/area/hooks.server.d.ts +17 -0
  305. package/dist/core/prototype/area/hooks.server.js +61 -0
  306. package/dist/core/prototype/area/index.d.ts +1 -0
  307. package/dist/core/prototype/area/index.js +1 -0
  308. package/dist/core/prototype/area/operations/find.d.ts +18 -0
  309. package/dist/core/prototype/area/operations/find.js +43 -0
  310. package/dist/core/prototype/area/operations/update.d.ts +29 -0
  311. package/dist/core/prototype/area/operations/update.js +44 -0
  312. package/dist/core/prototype/area/rest/endpoint.server.d.ts +14 -0
  313. package/dist/core/prototype/area/rest/endpoint.server.js +15 -0
  314. package/dist/core/prototype/area/rest/get.server.d.ts +4 -0
  315. package/dist/core/prototype/area/rest/get.server.js +31 -0
  316. package/dist/core/prototype/area/rest/index.server.d.ts +9 -0
  317. package/dist/core/prototype/area/rest/index.server.js +14 -0
  318. package/dist/core/prototype/area/rest/lock.server.d.ts +2 -0
  319. package/dist/core/prototype/area/rest/lock.server.js +38 -0
  320. package/dist/core/prototype/area/rest/update.server.d.ts +4 -0
  321. package/dist/core/prototype/area/rest/update.server.js +38 -0
  322. package/dist/core/prototype/area/types.js +1 -0
  323. package/dist/core/prototype/collection/api.server.d.ts +173 -0
  324. package/dist/core/prototype/collection/api.server.js +224 -0
  325. package/dist/core/prototype/collection/augment-label.d.ts +6 -0
  326. package/dist/core/prototype/collection/definition.d.ts +26 -0
  327. package/dist/core/prototype/collection/definition.js +74 -0
  328. package/dist/core/prototype/collection/definition.server.d.ts +8 -0
  329. package/dist/core/prototype/collection/definition.server.js +24 -0
  330. package/dist/core/prototype/collection/hooks/merge-with-blank.server.d.ts +5 -0
  331. package/dist/core/prototype/collection/hooks/merge-with-blank.server.js +28 -0
  332. package/dist/core/prototype/collection/hooks.server.d.ts +28 -0
  333. package/dist/core/prototype/collection/hooks.server.js +133 -0
  334. package/dist/core/prototype/collection/index.d.ts +1 -0
  335. package/dist/core/prototype/collection/index.js +1 -0
  336. package/dist/core/prototype/collection/nested/enabled.d.ts +8 -0
  337. package/dist/core/prototype/collection/nested/enabled.js +7 -0
  338. package/dist/core/prototype/collection/nested/hooks/add-children.server.d.ts +4 -0
  339. package/dist/core/prototype/collection/nested/hooks/add-children.server.js +40 -0
  340. package/dist/core/prototype/collection/nested/hooks/index.server.d.ts +9 -0
  341. package/dist/core/prototype/collection/nested/hooks/index.server.js +9 -0
  342. package/dist/core/prototype/collection/nested/module.d.ts +15 -0
  343. package/dist/core/prototype/collection/nested/module.js +17 -0
  344. package/dist/core/prototype/collection/nested/module.server.d.ts +16 -0
  345. package/dist/core/prototype/collection/nested/module.server.js +21 -0
  346. package/dist/core/prototype/collection/operations/create.d.ts +18 -0
  347. package/dist/core/prototype/collection/operations/create.js +68 -0
  348. package/dist/core/prototype/collection/operations/delete-by-id.d.ts +11 -0
  349. package/dist/core/prototype/collection/operations/delete-by-id.js +44 -0
  350. package/dist/core/prototype/collection/operations/delete.d.ts +15 -0
  351. package/dist/core/prototype/collection/operations/delete.js +34 -0
  352. package/dist/core/prototype/collection/operations/duplicate.d.ts +12 -0
  353. package/dist/core/prototype/collection/operations/duplicate.js +112 -0
  354. package/dist/core/prototype/collection/operations/find-by-id.d.ts +22 -0
  355. package/dist/core/prototype/collection/operations/find-by-id.js +47 -0
  356. package/dist/core/prototype/collection/operations/find.d.ts +22 -0
  357. package/dist/core/prototype/collection/operations/find.js +65 -0
  358. package/dist/core/prototype/collection/operations/update-by-id.d.ts +30 -0
  359. package/dist/core/prototype/collection/operations/update-by-id.js +52 -0
  360. package/dist/core/prototype/collection/rest/create.server.d.ts +4 -0
  361. package/dist/core/prototype/collection/rest/create.server.js +26 -0
  362. package/dist/core/prototype/collection/rest/delete-by-id.server.d.ts +4 -0
  363. package/dist/core/prototype/collection/rest/delete-by-id.server.js +16 -0
  364. package/dist/core/prototype/collection/rest/delete.server.d.ts +4 -0
  365. package/dist/core/prototype/collection/rest/delete.server.js +33 -0
  366. package/dist/core/prototype/collection/rest/duplicate.server.d.ts +1 -0
  367. package/dist/core/prototype/collection/rest/duplicate.server.js +17 -0
  368. package/dist/core/prototype/collection/rest/endpoint.server.d.ts +27 -0
  369. package/dist/core/prototype/collection/rest/endpoint.server.js +23 -0
  370. package/dist/core/prototype/collection/rest/get-by-id.server.d.ts +4 -0
  371. package/dist/core/prototype/collection/rest/get-by-id.server.js +40 -0
  372. package/dist/core/prototype/collection/rest/get.server.d.ts +4 -0
  373. package/dist/core/prototype/collection/rest/get.server.js +38 -0
  374. package/dist/core/prototype/collection/rest/index.server.d.ts +12 -0
  375. package/dist/core/prototype/collection/rest/index.server.js +24 -0
  376. package/dist/core/prototype/collection/rest/lock.server.d.ts +2 -0
  377. package/dist/core/prototype/collection/rest/lock.server.js +59 -0
  378. package/dist/core/prototype/collection/rest/update-by-id.server.d.ts +4 -0
  379. package/dist/core/prototype/collection/rest/update-by-id.server.js +44 -0
  380. package/dist/core/prototype/collection/thumbnail/augment.d.ts +13 -0
  381. package/dist/core/prototype/collection/thumbnail/augment.js +15 -0
  382. package/dist/core/prototype/collection/thumbnail/find-thumbnail.d.ts +9 -0
  383. package/dist/core/prototype/collection/thumbnail/find-thumbnail.js +34 -0
  384. package/dist/core/prototype/collection/thumbnail/hooks/index.server.d.ts +9 -0
  385. package/dist/core/prototype/collection/thumbnail/hooks/index.server.js +9 -0
  386. package/dist/core/prototype/collection/thumbnail/hooks/set-document-thumbnail.server.d.ts +7 -0
  387. package/dist/core/prototype/collection/thumbnail/hooks/set-document-thumbnail.server.js +40 -0
  388. package/dist/core/prototype/collection/types.d.ts +14 -0
  389. package/dist/core/prototype/collection/types.js +1 -0
  390. package/dist/core/prototype/collection/upload/boot/index.server.d.ts +13 -0
  391. package/dist/core/prototype/collection/upload/boot/index.server.js +11 -0
  392. package/dist/core/prototype/collection/upload/constant.d.ts +10 -0
  393. package/dist/core/prototype/collection/upload/constant.js +10 -0
  394. package/dist/core/prototype/collection/upload/directories/configure.d.ts +14 -0
  395. package/dist/core/prototype/collection/upload/directories/configure.js +19 -0
  396. package/dist/core/prototype/collection/upload/directories/configure.server.d.ts +12 -0
  397. package/dist/core/prototype/collection/upload/directories/configure.server.js +35 -0
  398. package/dist/core/prototype/collection/upload/directories/derive.d.ts +7 -0
  399. package/dist/core/prototype/collection/upload/directories/derive.js +56 -0
  400. package/dist/core/prototype/collection/upload/directories/pipeline.server.d.ts +10 -0
  401. package/dist/core/prototype/collection/upload/directories/pipeline.server.js +22 -0
  402. package/dist/core/prototype/collection/upload/disk/delete.server.d.ts +9 -0
  403. package/dist/core/prototype/collection/upload/disk/delete.server.js +106 -0
  404. package/dist/core/prototype/collection/upload/disk/save.server.d.ts +32 -0
  405. package/dist/core/prototype/collection/upload/disk/save.server.js +190 -0
  406. package/dist/core/prototype/collection/upload/doc-type.d.ts +14 -0
  407. package/dist/core/prototype/collection/upload/doc-type.js +28 -0
  408. package/dist/core/prototype/collection/upload/enabled.d.ts +8 -0
  409. package/dist/core/prototype/collection/upload/enabled.js +7 -0
  410. package/dist/core/prototype/collection/upload/ensure.server.d.ts +12 -0
  411. package/dist/core/prototype/collection/upload/ensure.server.js +19 -0
  412. package/dist/core/prototype/collection/upload/hooks/clean-up-files.server.d.ts +10 -0
  413. package/dist/core/prototype/collection/upload/hooks/clean-up-files.server.js +17 -0
  414. package/dist/core/prototype/collection/upload/hooks/convert-base64.server.d.ts +13 -0
  415. package/dist/core/prototype/collection/upload/hooks/convert-base64.server.js +36 -0
  416. package/dist/core/prototype/collection/upload/hooks/extract-path.server.d.ts +6 -0
  417. package/dist/core/prototype/collection/upload/hooks/extract-path.server.js +25 -0
  418. package/dist/core/prototype/collection/upload/hooks/handle-path-creation.server.d.ts +6 -0
  419. package/dist/core/prototype/collection/upload/hooks/handle-path-creation.server.js +82 -0
  420. package/dist/core/prototype/collection/upload/hooks/index.server.d.ts +13 -0
  421. package/dist/core/prototype/collection/upload/hooks/index.server.js +13 -0
  422. package/dist/core/prototype/collection/upload/hooks/populate-sizes.server.d.ts +4 -0
  423. package/dist/core/prototype/collection/upload/hooks/populate-sizes.server.js +48 -0
  424. package/dist/core/prototype/collection/upload/hooks/process-file-upload.server.d.ts +20 -0
  425. package/dist/core/prototype/collection/upload/hooks/process-file-upload.server.js +60 -0
  426. package/dist/core/prototype/collection/upload/hooks/update-directory-children.server.d.ts +10 -0
  427. package/dist/core/prototype/collection/upload/hooks/update-directory-children.server.js +47 -0
  428. package/dist/core/prototype/collection/upload/module.d.ts +15 -0
  429. package/dist/core/prototype/collection/upload/module.js +92 -0
  430. package/dist/core/prototype/collection/upload/module.server.d.ts +24 -0
  431. package/dist/core/prototype/collection/upload/module.server.js +36 -0
  432. package/dist/core/prototype/collection/upload/naming.d.ts +23 -0
  433. package/dist/core/prototype/collection/upload/naming.js +37 -0
  434. package/dist/core/prototype/collection/upload/types.d.ts +102 -0
  435. package/dist/core/prototype/collection/upload/types.js +1 -0
  436. package/dist/core/prototype/collection/upload/util/config.d.ts +16 -0
  437. package/dist/core/prototype/collection/upload/util/converter.server.d.ts +29 -0
  438. package/dist/core/prototype/collection/upload/util/converter.server.js +127 -0
  439. package/dist/core/prototype/collection/upload/util/path.d.ts +69 -0
  440. package/dist/core/prototype/collection/upload/util/path.js +143 -0
  441. package/dist/core/prototype/define.d.ts +112 -0
  442. package/dist/core/prototype/define.js +50 -0
  443. package/dist/core/prototype/doc.d.ts +31 -0
  444. package/dist/core/prototype/doc.js +118 -0
  445. package/dist/core/prototype/index.d.ts +14 -0
  446. package/dist/core/prototype/index.js +14 -0
  447. package/dist/core/prototype/naming.d.ts +22 -0
  448. package/dist/core/prototype/naming.js +23 -0
  449. package/dist/core/prototype/shared/metas/constant.d.ts +16 -0
  450. package/dist/core/prototype/shared/metas/constant.js +16 -0
  451. package/dist/core/prototype/shared/metas/fields.d.ts +8 -0
  452. package/dist/core/prototype/shared/metas/fields.js +27 -0
  453. package/dist/core/prototype/shared/metas/hooks/delete-panel-lock-metas.server.d.ts +9 -0
  454. package/dist/core/prototype/shared/metas/hooks/delete-panel-lock-metas.server.js +20 -0
  455. package/dist/core/prototype/shared/metas/hooks/index.server.d.ts +7 -0
  456. package/dist/core/prototype/shared/metas/hooks/index.server.js +7 -0
  457. package/dist/core/prototype/shared/metas/hooks/stamp-authorship.server.d.ts +2 -0
  458. package/dist/core/prototype/shared/metas/hooks/stamp-authorship.server.js +27 -0
  459. package/dist/core/prototype/shared/metas/lock.d.ts +15 -0
  460. package/dist/core/prototype/shared/metas/lock.js +30 -0
  461. package/dist/core/prototype/shared/metas/lock.server.d.ts +46 -0
  462. package/dist/core/prototype/shared/metas/lock.server.js +91 -0
  463. package/dist/core/prototype/shared/metas/module.d.ts +38 -0
  464. package/dist/core/prototype/shared/metas/module.js +38 -0
  465. package/dist/core/prototype/shared/metas/module.server.d.ts +30 -0
  466. package/dist/core/prototype/shared/metas/module.server.js +38 -0
  467. package/dist/core/prototype/shared/title/augment.d.ts +27 -0
  468. package/dist/core/prototype/shared/title/augment.js +19 -0
  469. package/dist/core/prototype/shared/title/find-title.d.ts +14 -0
  470. package/dist/core/prototype/shared/title/find-title.js +35 -0
  471. package/dist/core/prototype/shared/title/hooks/index.server.d.ts +9 -0
  472. package/dist/core/prototype/shared/title/hooks/index.server.js +9 -0
  473. package/dist/core/prototype/shared/title/hooks/set-document-title.server.d.ts +4 -0
  474. package/dist/core/prototype/shared/title/hooks/set-document-title.server.js +32 -0
  475. package/dist/core/prototype/shared/title/select.d.ts +16 -0
  476. package/dist/core/prototype/shared/title/select.js +24 -0
  477. package/dist/core/prototype/shared/url/augment.d.ts +13 -0
  478. package/dist/core/prototype/shared/url/augment.js +11 -0
  479. package/dist/core/prototype/shared/url/enabled.d.ts +8 -0
  480. package/dist/core/prototype/shared/url/enabled.js +7 -0
  481. package/dist/core/prototype/shared/url/hooks/index.server.d.ts +9 -0
  482. package/dist/core/prototype/shared/url/hooks/index.server.js +9 -0
  483. package/dist/core/prototype/shared/url/hooks/populate-url.server.d.ts +4 -0
  484. package/dist/core/prototype/shared/url/hooks/populate-url.server.js +120 -0
  485. package/dist/core/prototype/shared/versions/augment.d.ts +23 -0
  486. package/dist/core/prototype/shared/versions/augment.js +47 -0
  487. package/dist/core/prototype/shared/versions/auto-saves.server.d.ts +16 -0
  488. package/dist/core/prototype/shared/versions/auto-saves.server.js +29 -0
  489. package/dist/core/prototype/shared/versions/blank.d.ts +13 -0
  490. package/dist/core/prototype/shared/versions/blank.js +15 -0
  491. package/dist/core/prototype/shared/versions/configure.server.d.ts +7 -0
  492. package/dist/core/prototype/shared/versions/configure.server.js +75 -0
  493. package/dist/core/prototype/shared/versions/constant.d.ts +14 -0
  494. package/dist/core/prototype/shared/versions/constant.js +13 -0
  495. package/dist/core/prototype/shared/versions/doc-type.d.ts +8 -0
  496. package/dist/core/prototype/shared/versions/doc-type.js +9 -0
  497. package/dist/core/prototype/shared/versions/enabled.d.ts +10 -0
  498. package/dist/core/prototype/shared/versions/enabled.js +9 -0
  499. package/dist/core/prototype/shared/versions/hooks/define-version-operation.server.d.ts +19 -0
  500. package/dist/core/prototype/shared/versions/hooks/define-version-operation.server.js +37 -0
  501. package/dist/core/prototype/shared/versions/hooks/demote-other-versions.d.ts +17 -0
  502. package/dist/core/prototype/shared/versions/hooks/demote-other-versions.js +37 -0
  503. package/dist/core/prototype/shared/versions/hooks/discard-auto-saves-of.server.d.ts +8 -0
  504. package/dist/core/prototype/shared/versions/hooks/discard-auto-saves-of.server.js +17 -0
  505. package/dist/core/prototype/shared/versions/hooks/expose-version-id.d.ts +12 -0
  506. package/dist/core/prototype/shared/versions/hooks/expose-version-id.js +17 -0
  507. package/dist/core/prototype/shared/versions/hooks/fallback-data-from-original.d.ts +9 -0
  508. package/dist/core/prototype/shared/versions/hooks/fallback-data-from-original.js +31 -0
  509. package/dist/core/prototype/shared/versions/hooks/handle-new-version.server.d.ts +32 -0
  510. package/dist/core/prototype/shared/versions/hooks/handle-new-version.server.js +194 -0
  511. package/dist/core/prototype/shared/versions/hooks/index.server.d.ts +15 -0
  512. package/dist/core/prototype/shared/versions/hooks/index.server.js +15 -0
  513. package/dist/core/prototype/shared/versions/hooks/prevent-last-version-deletion.server.d.ts +7 -0
  514. package/dist/core/prototype/shared/versions/hooks/prevent-last-version-deletion.server.js +21 -0
  515. package/dist/core/prototype/shared/versions/hooks/strip-auto-save-flag.server.d.ts +7 -0
  516. package/dist/core/prototype/shared/versions/hooks/strip-auto-save-flag.server.js +14 -0
  517. package/dist/core/prototype/shared/versions/module.browser.js +1 -0
  518. package/dist/core/prototype/shared/versions/module.server.d.ts +1 -0
  519. package/dist/core/prototype/shared/versions/module.server.js +4 -0
  520. package/dist/core/prototype/shared/versions/naming.d.ts +7 -0
  521. package/dist/core/prototype/shared/versions/naming.js +21 -0
  522. package/dist/core/prototype/shared/versions/read-query.d.ts +27 -0
  523. package/dist/core/prototype/shared/versions/read-query.js +35 -0
  524. package/dist/core/prototype/shared/versions/retire-auto-saves.server.d.ts +16 -0
  525. package/dist/core/prototype/shared/versions/retire-auto-saves.server.js +29 -0
  526. package/dist/core/prototype/shared/versions/strategy.d.ts +86 -0
  527. package/dist/core/prototype/shared/versions/strategy.js +93 -0
  528. package/dist/core/prototype/shared/versions/types.d.ts +37 -0
  529. package/dist/core/prototype/shared/versions/types.js +1 -0
  530. package/dist/core/prototype/shared/versions/validate-config.server.d.ts +8 -0
  531. package/dist/core/prototype/shared/versions/validate-config.server.js +21 -0
  532. package/dist/core/prototype/shared/versions/write-plan.d.ts +30 -0
  533. package/dist/core/prototype/shared/versions/write-plan.js +38 -0
  534. package/dist/core/prototype/types.d.ts +79 -0
  535. package/dist/core/prototype/types.js +1 -0
  536. package/dist/core/prototype/when.d.ts +25 -0
  537. package/dist/core/prototype/when.js +32 -0
  538. package/dist/core/rime.server.d.ts +64 -4363
  539. package/dist/core/rime.server.js +45 -93
  540. package/dist/core/routes/constants.d.ts +12 -0
  541. package/dist/core/routes/constants.js +16 -0
  542. package/dist/core/routes/constants.server.d.ts +5 -0
  543. package/dist/core/routes/constants.server.js +9 -0
  544. package/dist/core/routes/context.server.d.ts +17 -0
  545. package/dist/core/routes/context.server.js +29 -0
  546. package/dist/core/routes/handler.server.d.ts +58 -0
  547. package/dist/core/routes/handler.server.js +107 -0
  548. package/dist/core/routes/panel-navigation.d.ts +18 -0
  549. package/dist/core/routes/panel-navigation.js +64 -0
  550. package/dist/core/routes/util.d.ts +24 -0
  551. package/dist/core/routes/util.js +44 -0
  552. package/dist/fields/blocks/component/AddBlockButton.svelte +1 -1
  553. package/dist/fields/blocks/component/AddBlockButton.svelte.d.ts +1 -1
  554. package/dist/fields/blocks/component/Block.svelte +1 -1
  555. package/dist/fields/blocks/component/Blocks.svelte +1 -1
  556. package/dist/fields/blocks/index.d.ts +2 -1
  557. package/dist/fields/blocks/index.js +18 -2
  558. package/dist/fields/email/index.js +1 -1
  559. package/dist/fields/group/component/Group.svelte +1 -1
  560. package/dist/fields/group/component/Group.svelte.d.ts +1 -1
  561. package/dist/fields/group/index.d.ts +2 -2
  562. package/dist/fields/link/component/RessourceInput.svelte +2 -2
  563. package/dist/fields/link/index.d.ts +1 -1
  564. package/dist/fields/link/index.js +57 -60
  565. package/dist/fields/link/module.server.js +1 -1
  566. package/dist/fields/number/index.d.ts +1 -1
  567. package/dist/fields/relation/component/Cell.svelte +2 -2
  568. package/dist/fields/relation/component/Relation.svelte +13 -22
  569. package/dist/fields/relation/component/default/Default.svelte +4 -3
  570. package/dist/fields/relation/component/types.d.ts +2 -1
  571. package/dist/fields/relation/component/upload/Browse.svelte +4 -4
  572. package/dist/fields/relation/component/upload/Upload.svelte +2 -2
  573. package/dist/fields/relation/index.d.ts +11 -1
  574. package/dist/fields/relation/index.js +81 -63
  575. package/dist/fields/relation/module.server.js +3 -8
  576. package/dist/fields/rich-text/core/features/link/component/link-selector.svelte +2 -2
  577. package/dist/fields/rich-text/core/features/resource/resource-extension.d.ts +1 -1
  578. package/dist/fields/rich-text/core/features/resource/resource.svelte +2 -2
  579. package/dist/fields/rich-text/core/features/upload/upload.svelte +2 -2
  580. package/dist/fields/slug/index.d.ts +1 -1
  581. package/dist/fields/tabs/index.d.ts +1 -1
  582. package/dist/fields/text/index.d.ts +1 -1
  583. package/dist/fields/textarea/index.d.ts +1 -1
  584. package/dist/fields/toggle/index.d.ts +1 -1
  585. package/dist/fields/tree/component/TreeBlock.svelte +1 -1
  586. package/dist/fields/tree/component/TreeBlock.svelte.d.ts +1 -1
  587. package/dist/fields/tree/component/props.d.ts +1 -1
  588. package/dist/fields/tree/index.d.ts +1 -1
  589. package/dist/fields/tree/index.js +12 -1
  590. package/dist/fields/types.d.ts +4 -9
  591. package/dist/index.d.ts +5 -2
  592. package/dist/index.js +2 -1
  593. package/dist/panel/components/Root.svelte +12 -8
  594. package/dist/panel/components/Root.svelte.d.ts +1 -1
  595. package/dist/panel/components/sections/auth/AuthForm.svelte +3 -0
  596. package/dist/panel/components/sections/collection/StatusDot.svelte +2 -1
  597. package/dist/panel/components/sections/collection/StatusDot.svelte.d.ts +1 -1
  598. package/dist/panel/components/sections/collection/bulk-upload/DropZone.svelte +1 -1
  599. package/dist/panel/components/sections/collection/folder/FolderEdit.svelte +2 -2
  600. package/dist/panel/components/sections/collection/folder/FolderEdit.svelte.d.ts +1 -1
  601. package/dist/panel/components/sections/collection/folder/FolderWithActions.svelte +8 -8
  602. package/dist/panel/components/sections/collection/folder/FolderWithActions.svelte.d.ts +1 -1
  603. package/dist/panel/components/sections/collection/grid/create-directory-dialog/CreateDirectoryDialog.svelte +1 -1
  604. package/dist/panel/components/sections/collection/grid/grid-item/GridItem.svelte +7 -5
  605. package/dist/panel/components/sections/collection/grid/grid-item/GridItem.svelte.d.ts +1 -1
  606. package/dist/panel/components/sections/collection/header/ButtonCreate.svelte +9 -6
  607. package/dist/panel/components/sections/collection/header/DisplayMode.svelte +1 -2
  608. package/dist/panel/components/sections/collection/header/Header.svelte +2 -5
  609. package/dist/panel/components/sections/collection/list/CollectionList.svelte +1 -1
  610. package/dist/panel/components/sections/collection/list/header/Header.svelte +7 -1
  611. package/dist/panel/components/sections/collection/list/row/Row.svelte +9 -3
  612. package/dist/panel/components/sections/collection/list/row/Row.svelte.d.ts +1 -1
  613. package/dist/panel/components/sections/collection/tree/CollectionTreeNode.svelte +3 -2
  614. package/dist/panel/components/sections/collection/tree/CollectionTreeNode.svelte.d.ts +1 -1
  615. package/dist/panel/components/sections/collection/upload-thumb-cell/UploadThumbCell.svelte +1 -1
  616. package/dist/panel/components/sections/document/AuthFooter.svelte +4 -3
  617. package/dist/panel/components/sections/document/AutoSaveBanner.svelte +115 -0
  618. package/dist/panel/components/sections/document/AutoSaveBanner.svelte.d.ts +16 -0
  619. package/dist/panel/components/sections/document/ButtonStatus.svelte +12 -5
  620. package/dist/panel/components/sections/document/CurrentlyEdited.svelte +10 -27
  621. package/dist/panel/components/sections/document/CurrentlyEdited.svelte.d.ts +6 -5
  622. package/dist/panel/components/sections/document/Document.svelte +220 -18
  623. package/dist/panel/components/sections/document/Document.svelte.d.ts +1 -1
  624. package/dist/panel/components/sections/document/Header.svelte +49 -5
  625. package/dist/panel/components/sections/document/Header.svelte.d.ts +2 -0
  626. package/dist/panel/components/sections/document/Settings.svelte +77 -21
  627. package/dist/panel/components/sections/document/Versions.svelte +140 -51
  628. package/dist/panel/components/sections/document/Versions.svelte.d.ts +11 -8
  629. package/dist/panel/components/sections/document/upload-header/UploadHeader.svelte +4 -2
  630. package/dist/panel/components/sections/document/upload-header/UploadHeader.svelte.d.ts +1 -1
  631. package/dist/panel/components/sections/document/upload-header/drop-zone/DropZone.svelte +1 -1
  632. package/dist/panel/components/sections/document/upload-header/drop-zone/DropZone.svelte.d.ts +2 -2
  633. package/dist/panel/components/sections/document/versions-list.d.ts +10 -0
  634. package/dist/panel/components/sections/document/versions-list.js +10 -0
  635. package/dist/panel/components/sections/live/Consumer.svelte +1 -1
  636. package/dist/panel/components/sections/live/Consumer.svelte.d.ts +1 -1
  637. package/dist/panel/components/sections/live/LiveEdit.svelte +1 -1
  638. package/dist/panel/components/ui/card-resource/card-resource.svelte +13 -1
  639. package/dist/panel/components/ui/nav/Nav.svelte +3 -3
  640. package/dist/panel/components/ui/nav/NavItem.svelte +5 -3
  641. package/dist/panel/components/ui/nav/UserButton.svelte +3 -3
  642. package/dist/panel/context/collection.svelte.d.ts +2 -2
  643. package/dist/panel/context/collection.svelte.js +6 -7
  644. package/dist/panel/context/config.svelte.d.ts +1 -1
  645. package/dist/panel/context/documentForm.svelte.d.ts +19 -3
  646. package/dist/panel/context/documentForm.svelte.js +214 -41
  647. package/dist/panel/context/live.svelte.d.ts +1 -1
  648. package/dist/panel/context/live.svelte.js +2 -2
  649. package/dist/panel/context/user.svelte.d.ts +1 -1
  650. package/dist/panel/context/versions.svelte.d.ts +8 -0
  651. package/dist/panel/context/versions.svelte.js +34 -0
  652. package/dist/panel/index.d.ts +15 -12
  653. package/dist/panel/index.js +1 -3
  654. package/dist/panel/pages/area/Area.svelte +7 -2
  655. package/dist/panel/pages/area/Area.svelte.d.ts +1 -1
  656. package/dist/panel/pages/area/actions.server.js +31 -16
  657. package/dist/panel/pages/area/load.server.d.ts +1 -1
  658. package/dist/panel/pages/area/load.server.js +10 -24
  659. package/dist/panel/pages/auth/fields.js +1 -1
  660. package/dist/panel/pages/auth/forgot-password/ForgotPassword.svelte +2 -1
  661. package/dist/panel/pages/auth/forgot-password/load.server.js +3 -2
  662. package/dist/panel/pages/auth/reset-password/ResetPassword.svelte +2 -1
  663. package/dist/panel/pages/auth/reset-password/load.server.js +3 -2
  664. package/dist/panel/pages/auth/sign-in/SignIn.svelte +3 -2
  665. package/dist/panel/pages/auth/sign-in/actions.server.js +2 -2
  666. package/dist/panel/pages/auth/sign-in/load.server.js +4 -3
  667. package/dist/panel/pages/collection/Collection.svelte +15 -138
  668. package/dist/panel/pages/collection/Collection.svelte.d.ts +5 -8
  669. package/dist/panel/pages/collection/CollectionPage.svelte +146 -0
  670. package/dist/panel/pages/collection/CollectionPage.svelte.d.ts +18 -0
  671. package/dist/panel/pages/collection/load.server.d.ts +3 -3
  672. package/dist/panel/pages/collection/load.server.js +12 -9
  673. package/dist/panel/pages/collection-document/CollectionDocument.svelte +7 -2
  674. package/dist/panel/pages/collection-document/CollectionDocument.svelte.d.ts +1 -1
  675. package/dist/panel/pages/collection-document/actions.server.js +28 -10
  676. package/dist/panel/pages/collection-document/load.server.d.ts +1 -1
  677. package/dist/panel/pages/collection-document/load.server.js +19 -24
  678. package/dist/panel/pages/dashboard/Dashboard.svelte +1 -1
  679. package/dist/panel/pages/dashboard/Dashboard.svelte.d.ts +1 -1
  680. package/dist/panel/pages/dashboard/load.server.js +23 -20
  681. package/dist/panel/pages/dashboard/types.d.ts +1 -1
  682. package/dist/panel/pages/live/Live.svelte +3 -8
  683. package/dist/panel/pages/live/load.server.js +1 -1
  684. package/dist/panel/types.d.ts +2 -2
  685. package/dist/panel/util/live.server.d.ts +1 -1
  686. package/dist/panel/util/live.server.js +2 -2
  687. package/dist/panel/util/url.d.ts +0 -6
  688. package/dist/panel/util/url.js +1 -9
  689. package/dist/server.d.ts +6 -5
  690. package/dist/server.js +6 -5
  691. package/dist/types.d.ts +12 -6
  692. package/dist/util/coerce.d.ts +12 -0
  693. package/dist/util/coerce.js +38 -0
  694. package/dist/util/index.d.ts +16 -9
  695. package/dist/util/index.js +14 -12
  696. package/dist/util/object.d.ts +10 -0
  697. package/dist/util/object.js +14 -1
  698. package/dist/util/path.d.ts +16 -0
  699. package/dist/util/path.js +19 -0
  700. package/dist/util/string.d.ts +25 -0
  701. package/dist/util/string.js +30 -0
  702. package/dist/util/types.d.ts +5 -10
  703. package/dist/util/types.js +5 -0
  704. package/package.json +83 -21
  705. package/dist/.rime-modules.d.ts +0 -23
  706. package/dist/.rime-modules.json +0 -1
  707. package/dist/adapter-sqlite/generate-schema/relations/definition.server.d.ts +0 -55
  708. package/dist/adapter-sqlite/generate-schema/relations/definition.server.js +0 -52
  709. package/dist/adapter-sqlite/generate-schema/util.server.d.ts +0 -49
  710. package/dist/adapter-sqlite/generate-schema/util.server.js +0 -58
  711. package/dist/adapter-sqlite/orderBy.server.d.ts +0 -11
  712. package/dist/adapter-sqlite/orderBy.server.js +0 -98
  713. package/dist/adapter-sqlite/url.server.d.ts +0 -14
  714. package/dist/adapter-sqlite/url.server.js +0 -77
  715. package/dist/adapter-sqlite/util.server.d.ts +0 -174
  716. package/dist/adapter-sqlite/util.server.js +0 -357
  717. package/dist/adapter-sqlite/with.server.d.ts +0 -9
  718. package/dist/adapter-sqlite/with.server.js +0 -266
  719. package/dist/core/areas/config/augment-hooks.server.d.ts +0 -10
  720. package/dist/core/areas/config/augment-hooks.server.js +0 -51
  721. package/dist/core/areas/config/augment-metas.d.ts +0 -10
  722. package/dist/core/areas/config/augment-metas.js +0 -13
  723. package/dist/core/areas/config/augment-title.d.ts +0 -9
  724. package/dist/core/areas/config/augment-title.js +0 -8
  725. package/dist/core/areas/config/augment-url.d.ts +0 -10
  726. package/dist/core/areas/config/augment-url.js +0 -14
  727. package/dist/core/areas/config/augment-versions.d.ts +0 -14
  728. package/dist/core/areas/config/augment-versions.js +0 -25
  729. package/dist/core/areas/config/builder.d.ts +0 -3
  730. package/dist/core/areas/config/builder.js +0 -33
  731. package/dist/core/areas/config/builder.server.d.ts +0 -15
  732. package/dist/core/areas/config/builder.server.js +0 -35
  733. package/dist/core/areas/local-api.server.d.ts +0 -80
  734. package/dist/core/areas/local-api.server.js +0 -126
  735. package/dist/core/areas/operations/find.d.ts +0 -15
  736. package/dist/core/areas/operations/find.js +0 -52
  737. package/dist/core/areas/operations/update.d.ts +0 -15
  738. package/dist/core/areas/operations/update.js +0 -101
  739. package/dist/core/areas/rest/get.server.d.ts +0 -18
  740. package/dist/core/areas/rest/get.server.js +0 -45
  741. package/dist/core/areas/rest/index.server.d.ts +0 -6
  742. package/dist/core/areas/rest/index.server.js +0 -3
  743. package/dist/core/areas/rest/update.server.d.ts +0 -18
  744. package/dist/core/areas/rest/update.server.js +0 -43
  745. package/dist/core/collections/auth/constant.server.d.ts +0 -9
  746. package/dist/core/collections/auth/constant.server.js +0 -9
  747. package/dist/core/collections/auth/fields.d.ts +0 -13
  748. package/dist/core/collections/auth/fields.js +0 -55
  749. package/dist/core/collections/auth/hooks/after-create/populate-api-key.server.d.ts +0 -5
  750. package/dist/core/collections/auth/hooks/after-create/populate-api-key.server.js +0 -22
  751. package/dist/core/collections/auth/hooks/after-delete/delete-better-auth-user.server.d.ts +0 -4
  752. package/dist/core/collections/auth/hooks/after-delete/delete-better-auth-user.server.js +0 -25
  753. package/dist/core/collections/auth/hooks/before-create/create-better-auth-user.server.d.ts +0 -4
  754. package/dist/core/collections/auth/hooks/before-create/create-better-auth-user.server.js +0 -187
  755. package/dist/core/collections/auth/hooks/before-delete/prevent-superadmin-deletion.server.d.ts +0 -1
  756. package/dist/core/collections/auth/hooks/before-delete/prevent-superadmin-deletion.server.js +0 -10
  757. package/dist/core/collections/auth/hooks/before-read/remove-private-fields.server.d.ts +0 -1
  758. package/dist/core/collections/auth/hooks/before-read/remove-private-fields.server.js +0 -8
  759. package/dist/core/collections/auth/hooks/before-update/forward-roles.server.d.ts +0 -4
  760. package/dist/core/collections/auth/hooks/before-update/forward-roles.server.js +0 -54
  761. package/dist/core/collections/auth/hooks/before-update/prevent-superadmin-mutation.server.d.ts +0 -5
  762. package/dist/core/collections/auth/hooks/before-update/prevent-superadmin-mutation.server.js +0 -27
  763. package/dist/core/collections/auth/hooks/before-update/prevent-user-mutations.server.d.ts +0 -5
  764. package/dist/core/collections/auth/hooks/before-update/prevent-user-mutations.server.js +0 -18
  765. package/dist/core/collections/auth/hooks/before-upsert/augment-fields-password.server.d.ts +0 -6
  766. package/dist/core/collections/auth/hooks/before-upsert/augment-fields-password.server.js +0 -21
  767. package/dist/core/collections/auth/hooks/hooks.server.d.ts +0 -8
  768. package/dist/core/collections/auth/hooks/hooks.server.js +0 -8
  769. package/dist/core/collections/auth/types.d.ts +0 -8
  770. package/dist/core/collections/auth/util.d.ts +0 -13
  771. package/dist/core/collections/config/augment-auth.d.ts +0 -17
  772. package/dist/core/collections/config/augment-auth.js +0 -88
  773. package/dist/core/collections/config/augment-auth.server.d.ts +0 -3
  774. package/dist/core/collections/config/augment-auth.server.js +0 -23
  775. package/dist/core/collections/config/augment-hooks.server.d.ts +0 -14
  776. package/dist/core/collections/config/augment-hooks.server.js +0 -98
  777. package/dist/core/collections/config/augment-label.d.ts +0 -6
  778. package/dist/core/collections/config/augment-metas.d.ts +0 -9
  779. package/dist/core/collections/config/augment-metas.js +0 -12
  780. package/dist/core/collections/config/augment-nested.d.ts +0 -12
  781. package/dist/core/collections/config/augment-nested.js +0 -15
  782. package/dist/core/collections/config/augment-nested.server.d.ts +0 -12
  783. package/dist/core/collections/config/augment-nested.server.js +0 -18
  784. package/dist/core/collections/config/augment-panel.d.ts +0 -13
  785. package/dist/core/collections/config/augment-panel.js +0 -19
  786. package/dist/core/collections/config/augment-thumbnail.d.ts +0 -16
  787. package/dist/core/collections/config/augment-thumbnail.js +0 -15
  788. package/dist/core/collections/config/augment-title.d.ts +0 -16
  789. package/dist/core/collections/config/augment-title.js +0 -27
  790. package/dist/core/collections/config/augment-upload.d.ts +0 -10
  791. package/dist/core/collections/config/augment-upload.js +0 -59
  792. package/dist/core/collections/config/augment-upload.server.d.ts +0 -7
  793. package/dist/core/collections/config/augment-upload.server.js +0 -19
  794. package/dist/core/collections/config/augment-url.d.ts +0 -10
  795. package/dist/core/collections/config/augment-url.js +0 -14
  796. package/dist/core/collections/config/augment-versions.d.ts +0 -14
  797. package/dist/core/collections/config/augment-versions.js +0 -24
  798. package/dist/core/collections/config/builder.d.ts +0 -3
  799. package/dist/core/collections/config/builder.js +0 -51
  800. package/dist/core/collections/config/builder.server.d.ts +0 -15
  801. package/dist/core/collections/config/builder.server.js +0 -47
  802. package/dist/core/collections/config/types.d.ts +0 -3
  803. package/dist/core/collections/local-api.server.d.ts +0 -166
  804. package/dist/core/collections/local-api.server.js +0 -303
  805. package/dist/core/collections/nested/hooks/index.server.d.ts +0 -4
  806. package/dist/core/collections/nested/hooks/index.server.js +0 -33
  807. package/dist/core/collections/operations/create.d.ts +0 -16
  808. package/dist/core/collections/operations/create.js +0 -119
  809. package/dist/core/collections/operations/delete.d.ts +0 -17
  810. package/dist/core/collections/operations/delete.js +0 -32
  811. package/dist/core/collections/operations/deleteById.d.ts +0 -13
  812. package/dist/core/collections/operations/deleteById.js +0 -48
  813. package/dist/core/collections/operations/duplicate.d.ts +0 -12
  814. package/dist/core/collections/operations/duplicate.js +0 -142
  815. package/dist/core/collections/operations/find.d.ts +0 -21
  816. package/dist/core/collections/operations/find.js +0 -70
  817. package/dist/core/collections/operations/findById.d.ts +0 -16
  818. package/dist/core/collections/operations/findById.js +0 -53
  819. package/dist/core/collections/operations/updateById.d.ts +0 -20
  820. package/dist/core/collections/operations/updateById.js +0 -111
  821. package/dist/core/collections/rest/create.server.d.ts +0 -18
  822. package/dist/core/collections/rest/create.server.js +0 -37
  823. package/dist/core/collections/rest/delete.server.d.ts +0 -18
  824. package/dist/core/collections/rest/delete.server.js +0 -37
  825. package/dist/core/collections/rest/deleteById.server.d.ts +0 -18
  826. package/dist/core/collections/rest/deleteById.server.js +0 -21
  827. package/dist/core/collections/rest/duplicate.server.d.ts +0 -15
  828. package/dist/core/collections/rest/duplicate.server.js +0 -20
  829. package/dist/core/collections/rest/get.server.d.ts +0 -18
  830. package/dist/core/collections/rest/get.server.js +0 -50
  831. package/dist/core/collections/rest/getById.server.d.ts +0 -18
  832. package/dist/core/collections/rest/getById.server.js +0 -35
  833. package/dist/core/collections/rest/index.server.d.ts +0 -16
  834. package/dist/core/collections/rest/index.server.js +0 -16
  835. package/dist/core/collections/rest/updateById.server.d.ts +0 -18
  836. package/dist/core/collections/rest/updateById.server.js +0 -44
  837. package/dist/core/collections/upload/disk/delete.server.d.ts +0 -9
  838. package/dist/core/collections/upload/disk/delete.server.js +0 -77
  839. package/dist/core/collections/upload/disk/save.server.d.ts +0 -32
  840. package/dist/core/collections/upload/disk/save.server.js +0 -190
  841. package/dist/core/collections/upload/hooks/clean-up-files.server.d.ts +0 -10
  842. package/dist/core/collections/upload/hooks/clean-up-files.server.js +0 -17
  843. package/dist/core/collections/upload/hooks/convert-base64.server.d.ts +0 -13
  844. package/dist/core/collections/upload/hooks/convert-base64.server.js +0 -36
  845. package/dist/core/collections/upload/hooks/extract-path.server.d.ts +0 -6
  846. package/dist/core/collections/upload/hooks/extract-path.server.js +0 -25
  847. package/dist/core/collections/upload/hooks/handle-path-creation.server.d.ts +0 -6
  848. package/dist/core/collections/upload/hooks/handle-path-creation.server.js +0 -64
  849. package/dist/core/collections/upload/hooks/populate-sizes.server.d.ts +0 -1
  850. package/dist/core/collections/upload/hooks/populate-sizes.server.js +0 -45
  851. package/dist/core/collections/upload/hooks/process-file-upload.server.d.ts +0 -20
  852. package/dist/core/collections/upload/hooks/process-file-upload.server.js +0 -60
  853. package/dist/core/collections/upload/hooks/update-directory-children.server.d.ts +0 -2
  854. package/dist/core/collections/upload/hooks/update-directory-children.server.js +0 -41
  855. package/dist/core/collections/upload/upload.d.ts +0 -16
  856. package/dist/core/collections/upload/util/config.d.ts +0 -16
  857. package/dist/core/collections/upload/util/converter.server.d.ts +0 -16
  858. package/dist/core/collections/upload/util/converter.server.js +0 -105
  859. package/dist/core/collections/upload/util/path.d.ts +0 -65
  860. package/dist/core/collections/upload/util/path.js +0 -139
  861. package/dist/core/collections/versions/operations.d.ts +0 -93
  862. package/dist/core/collections/versions/operations.js +0 -117
  863. package/dist/core/config/auth/better-auth-hooks.server.js +0 -138
  864. package/dist/core/config/auth/better-auth.server.d.ts +0 -2121
  865. package/dist/core/config/auth/better-auth.server.js +0 -81
  866. package/dist/core/config/client/augment-directories.d.ts +0 -6
  867. package/dist/core/config/client/augment-directories.js +0 -11
  868. package/dist/core/config/client/augment-panel.d.ts +0 -35
  869. package/dist/core/config/client/augment-panel.js +0 -22
  870. package/dist/core/config/client/augment-plugins.d.ts +0 -4
  871. package/dist/core/config/client/augment-plugins.js +0 -13
  872. package/dist/core/config/client/augment-staff.d.ts +0 -7
  873. package/dist/core/config/client/augment-staff.js +0 -6
  874. package/dist/core/config/client/build-config.d.ts +0 -41
  875. package/dist/core/config/client/build-config.js +0 -13
  876. package/dist/core/config/client/index.d.ts +0 -4
  877. package/dist/core/config/client/index.js +0 -4
  878. package/dist/core/config/config-context.server.d.ts +0 -70
  879. package/dist/core/config/config-context.server.js +0 -113
  880. package/dist/core/config/server/augment-cors.server.d.ts +0 -4
  881. package/dist/core/config/server/augment-cors.server.js +0 -7
  882. package/dist/core/config/server/augment-directories.server.d.ts +0 -6
  883. package/dist/core/config/server/augment-directories.server.js +0 -37
  884. package/dist/core/config/server/augment-panel-access.server.d.ts +0 -28
  885. package/dist/core/config/server/augment-panel-access.server.js +0 -8
  886. package/dist/core/config/server/augment-plugins.server.d.ts +0 -5
  887. package/dist/core/config/server/augment-plugins.server.js +0 -45
  888. package/dist/core/config/server/augment-staff.server.d.ts +0 -7
  889. package/dist/core/config/server/augment-staff.server.js +0 -6
  890. package/dist/core/config/server/build-config.server.d.ts +0 -123
  891. package/dist/core/config/server/build-config.server.js +0 -28
  892. package/dist/core/config/server/index.server.d.ts +0 -9
  893. package/dist/core/config/server/index.server.js +0 -11
  894. package/dist/core/config/server/validate.server.d.ts +0 -3
  895. package/dist/core/config/server/validate.server.js +0 -234
  896. package/dist/core/config/server/write.server.js +0 -77
  897. package/dist/core/config/shared/augment-icons.d.ts +0 -9
  898. package/dist/core/config/shared/augment-icons.js +0 -11
  899. package/dist/core/config/shared/augment-prototypes.d.ts +0 -8
  900. package/dist/core/config/shared/augment-prototypes.js +0 -7
  901. package/dist/core/config/shared/compile.d.ts +0 -19
  902. package/dist/core/config/shared/compile.js +0 -26
  903. package/dist/core/config/shared/find-thumbnail.d.ts +0 -9
  904. package/dist/core/config/shared/find-thumbnail.js +0 -34
  905. package/dist/core/config/shared/find-title.d.ts +0 -14
  906. package/dist/core/config/shared/find-title.js +0 -35
  907. package/dist/core/config/shared/get-staff-collection.d.ts +0 -22
  908. package/dist/core/config/shared/get-staff-collection.js +0 -55
  909. package/dist/core/config/shared/upload-directories.d.ts +0 -7
  910. package/dist/core/config/shared/upload-directories.js +0 -55
  911. package/dist/core/config/shared/versions-alias.server.d.ts +0 -10
  912. package/dist/core/config/shared/versions-alias.server.js +0 -59
  913. package/dist/core/constant.d.ts +0 -52
  914. package/dist/core/constant.js +0 -51
  915. package/dist/core/constant.server.d.ts +0 -2
  916. package/dist/core/constant.server.js +0 -3
  917. package/dist/core/dev/cache/index.server.d.ts +0 -11
  918. package/dist/core/dev/cache/index.server.js +0 -37
  919. package/dist/core/dev/cli/build/index.js +0 -70
  920. package/dist/core/dev/cli/build/templates.js +0 -43
  921. package/dist/core/dev/cli/clear/index.server.js +0 -42
  922. package/dist/core/dev/cli/generate/index.server.js +0 -98
  923. package/dist/core/dev/cli/generate-manifest/index.server.d.ts +0 -17
  924. package/dist/core/dev/cli/generate-manifest/index.server.js +0 -221
  925. package/dist/core/dev/cli/init/index.server.js +0 -240
  926. package/dist/core/dev/cli/init/templates.d.ts +0 -16
  927. package/dist/core/dev/cli/init/templates.js +0 -105
  928. package/dist/core/dev/cli/util/log.server.d.ts +0 -1
  929. package/dist/core/dev/cli/util/log.server.js +0 -4
  930. package/dist/core/dev/constants.d.ts +0 -29
  931. package/dist/core/dev/constants.js +0 -67
  932. package/dist/core/dev/generate/routes/common.server.d.ts +0 -17
  933. package/dist/core/dev/generate/routes/common.server.js +0 -500
  934. package/dist/core/dev/generate/routes/custom-css.server.js +0 -86
  935. package/dist/core/dev/generate/routes/index.server.d.ts +0 -12
  936. package/dist/core/dev/generate/routes/index.server.js +0 -83
  937. package/dist/core/dev/generate/routes/util.server.d.ts +0 -42
  938. package/dist/core/dev/generate/routes/util.server.js +0 -101
  939. package/dist/core/dev/generate/runtime/index.server.d.ts +0 -44
  940. package/dist/core/dev/generate/runtime/index.server.js +0 -92
  941. package/dist/core/dev/generate/runtime/parse-exports.server.d.ts +0 -7
  942. package/dist/core/dev/generate/runtime/parse-exports.server.js +0 -40
  943. package/dist/core/dev/generate/sanitize/index.server.js +0 -834
  944. package/dist/core/dev/generate/types/index.server.js +0 -368
  945. package/dist/core/dev/vite/index.server.js +0 -308
  946. package/dist/core/ensure.server.d.ts +0 -34
  947. package/dist/core/ensure.server.js +0 -91
  948. package/dist/core/handlers/auth.server.js +0 -154
  949. package/dist/core/handlers/cors.server.js +0 -73
  950. package/dist/core/handlers/index.d.ts +0 -3
  951. package/dist/core/handlers/index.js +0 -16
  952. package/dist/core/handlers/main.server.d.ts +0 -4
  953. package/dist/core/handlers/main.server.js +0 -14
  954. package/dist/core/handlers/plugins.server.js +0 -10
  955. package/dist/core/handlers/routes.server.d.ts +0 -71
  956. package/dist/core/handlers/routes.server.js +0 -88
  957. package/dist/core/naming.d.ts +0 -82
  958. package/dist/core/naming.js +0 -86
  959. package/dist/core/operations/blocks/diff.server.d.ts +0 -15
  960. package/dist/core/operations/blocks/diff.server.js +0 -82
  961. package/dist/core/operations/blocks/extract.server.d.ts +0 -9
  962. package/dist/core/operations/blocks/extract.server.js +0 -33
  963. package/dist/core/operations/blocks/index.server.d.ts +0 -26
  964. package/dist/core/operations/blocks/index.server.js +0 -71
  965. package/dist/core/operations/configMap/buildTreeMap.d.ts +0 -4
  966. package/dist/core/operations/configMap/index.d.ts +0 -6
  967. package/dist/core/operations/configMap/index.js +0 -54
  968. package/dist/core/operations/extract-data.server.d.ts +0 -37
  969. package/dist/core/operations/extract-data.server.js +0 -101
  970. package/dist/core/operations/hooks/before-create/merge-with-blank.server.d.ts +0 -1
  971. package/dist/core/operations/hooks/before-create/merge-with-blank.server.js +0 -24
  972. package/dist/core/operations/hooks/before-operation/authorize.server.d.ts +0 -1
  973. package/dist/core/operations/hooks/before-operation/authorize.server.js +0 -32
  974. package/dist/core/operations/hooks/before-read/populate-url.server.d.ts +0 -4
  975. package/dist/core/operations/hooks/before-read/populate-url.server.js +0 -107
  976. package/dist/core/operations/hooks/before-read/process-document-fields.server.d.ts +0 -1
  977. package/dist/core/operations/hooks/before-read/process-document-fields.server.js +0 -58
  978. package/dist/core/operations/hooks/before-read/set-document-locale.server.d.ts +0 -1
  979. package/dist/core/operations/hooks/before-read/set-document-locale.server.js +0 -15
  980. package/dist/core/operations/hooks/before-read/set-document-thumbnail.server.d.ts +0 -1
  981. package/dist/core/operations/hooks/before-read/set-document-thumbnail.server.js +0 -34
  982. package/dist/core/operations/hooks/before-read/set-document-title.server.d.ts +0 -1
  983. package/dist/core/operations/hooks/before-read/set-document-title.server.js +0 -29
  984. package/dist/core/operations/hooks/before-read/set-document-type.server.d.ts +0 -1
  985. package/dist/core/operations/hooks/before-read/set-document-type.server.js +0 -14
  986. package/dist/core/operations/hooks/before-read/sort-document-props.server.d.ts +0 -1
  987. package/dist/core/operations/hooks/before-read/sort-document-props.server.js +0 -63
  988. package/dist/core/operations/hooks/before-update/define-version-operation.server.d.ts +0 -1
  989. package/dist/core/operations/hooks/before-update/define-version-operation.server.js +0 -18
  990. package/dist/core/operations/hooks/before-update/get-original-document.server.d.ts +0 -1
  991. package/dist/core/operations/hooks/before-update/get-original-document.server.js +0 -37
  992. package/dist/core/operations/hooks/before-upsert/data-config-map.server.d.ts +0 -1
  993. package/dist/core/operations/hooks/before-upsert/data-config-map.server.js +0 -12
  994. package/dist/core/operations/hooks/before-upsert/handle-new-version.server.d.ts +0 -5
  995. package/dist/core/operations/hooks/before-upsert/handle-new-version.server.js +0 -98
  996. package/dist/core/operations/hooks/before-upsert/original-config-map.server.d.ts +0 -1
  997. package/dist/core/operations/hooks/before-upsert/original-config-map.server.js +0 -16
  998. package/dist/core/operations/hooks/before-upsert/set-default-values.server.d.ts +0 -10
  999. package/dist/core/operations/hooks/before-upsert/set-default-values.server.js +0 -70
  1000. package/dist/core/operations/hooks/before-upsert/validate-fields.server.d.ts +0 -1
  1001. package/dist/core/operations/hooks/before-upsert/validate-fields.server.js +0 -150
  1002. package/dist/core/operations/hooks/index.server.d.ts +0 -128
  1003. package/dist/core/operations/hooks/index.server.js +0 -45
  1004. package/dist/core/operations/relations/diff.server.d.ts +0 -14
  1005. package/dist/core/operations/relations/diff.server.js +0 -47
  1006. package/dist/core/operations/relations/extract.server.d.ts +0 -11
  1007. package/dist/core/operations/relations/extract.server.js +0 -59
  1008. package/dist/core/operations/relations/index.server.d.ts +0 -25
  1009. package/dist/core/operations/relations/index.server.js +0 -68
  1010. package/dist/core/operations/shared/fallback-data-from-original.d.ts +0 -9
  1011. package/dist/core/operations/shared/fallback-data-from-original.js +0 -31
  1012. package/dist/core/operations/tree/diff.server.d.ts +0 -20
  1013. package/dist/core/operations/tree/diff.server.js +0 -64
  1014. package/dist/core/operations/tree/extract.server.d.ts +0 -9
  1015. package/dist/core/operations/tree/extract.server.js +0 -34
  1016. package/dist/core/operations/tree/index.server.d.ts +0 -12
  1017. package/dist/core/operations/tree/index.server.js +0 -52
  1018. package/dist/core/plugins/api-init/index.d.ts +0 -2
  1019. package/dist/core/plugins/api-init/index.js +0 -1
  1020. package/dist/core/plugins/api-init/module.server.js +0 -83
  1021. package/dist/core/plugins/mailer/index.d.ts +0 -2
  1022. package/dist/core/plugins/mailer/index.js +0 -1
  1023. package/dist/core/plugins/mailer/module.server.js +0 -32
  1024. package/dist/core/plugins/sse/broadcast.d.ts +0 -13
  1025. package/dist/core/plugins/sse/broadcast.js +0 -30
  1026. package/dist/core/plugins/sse/module.server.d.ts +0 -16
  1027. package/dist/core/plugins/sse/module.server.js +0 -52
  1028. package/dist/core/types/doc.d.ts +0 -74
  1029. package/dist/core/types/index.d.ts +0 -5
  1030. package/dist/panel/navigation.d.ts +0 -13
  1031. package/dist/panel/navigation.js +0 -59
  1032. package/dist/panel/pages/area/AreaVersionsDoc.svelte +0 -24
  1033. package/dist/panel/pages/area/AreaVersionsDoc.svelte.d.ts +0 -7
  1034. package/dist/panel/pages/collection-document/CollectionDocVersions.svelte +0 -29
  1035. package/dist/panel/pages/collection-document/CollectionDocVersions.svelte.d.ts +0 -7
  1036. package/dist/util/access/index.d.ts +0 -73
  1037. package/dist/util/cases.d.ts +0 -39
  1038. package/dist/util/cases.js +0 -58
  1039. package/dist/util/doc.d.ts +0 -50
  1040. package/dist/util/doc.js +0 -140
  1041. package/dist/util/validate.js +0 -171
  1042. /package/dist/{util/access/index.js → core/auth/access.js} +0 -0
  1043. /package/dist/core/{config/auth/better-auth-hooks.server.d.ts → auth/better-auth/hooks.server.d.ts} +0 -0
  1044. /package/dist/core/{config/auth/better-auth-permissions.d.ts → auth/better-auth/permissions.d.ts} +0 -0
  1045. /package/dist/core/{config/auth/better-auth-permissions.js → auth/better-auth/permissions.js} +0 -0
  1046. /package/dist/core/{handlers/auth.server.d.ts → auth/handler/index.server.d.ts} +0 -0
  1047. /package/dist/core/{areas/config → auth}/types.js +0 -0
  1048. /package/dist/core/{collections/auth → auth}/util.js +0 -0
  1049. /package/dist/core/{handlers/cors.server.d.ts → cors/handler.server.d.ts} +0 -0
  1050. /package/dist/core/dev/cli/{build/index.d.ts → commands/build.d.ts} +0 -0
  1051. /package/dist/core/dev/cli/{clear/index.server.d.ts → commands/clear.server.d.ts} +0 -0
  1052. /package/dist/core/dev/cli/{generate/index.server.d.ts → commands/generate.server.d.ts} +0 -0
  1053. /package/dist/core/dev/cli/{init/index.server.d.ts → commands/init.server.d.ts} +0 -0
  1054. /package/dist/core/dev/cli/{build/templates.d.ts → templates/build.d.ts} +0 -0
  1055. /package/dist/core/dev/{generate → codegen}/routes/custom-css.server.d.ts +0 -0
  1056. /package/dist/core/dev/{generate → codegen}/sanitize/index.server.d.ts +0 -0
  1057. /package/dist/core/dev/{generate → codegen}/types/index.server.d.ts +0 -0
  1058. /package/dist/core/{config/server/write.server.d.ts → dev/config-memo.server.d.ts} +0 -0
  1059. /package/dist/core/dev/{vite/index.server.d.ts → vite.server.d.ts} +0 -0
  1060. /package/dist/core/{collections/auth → fields}/types.js +0 -0
  1061. /package/dist/{util → core/fields}/validate.d.ts +0 -0
  1062. /package/dist/core/{collections/config → locale}/types.js +0 -0
  1063. /package/dist/core/{logger/index.server.d.ts → logger.server.d.ts} +0 -0
  1064. /package/dist/core/{logger/index.server.js → logger.server.js} +0 -0
  1065. /package/dist/core/{operations/configMap → panel}/types.js +0 -0
  1066. /package/dist/core/{operations/configMap/buildTreeMap.js → pipeline/config-map/build-tree-map.js} +0 -0
  1067. /package/dist/core/{operations/configMap → pipeline/config-map}/types.d.ts +0 -0
  1068. /package/dist/core/{types/doc.js → pipeline/config-map/types.js} +0 -0
  1069. /package/dist/core/plugins/api-init/{module.server.d.ts → index.server.d.ts} +0 -0
  1070. /package/dist/core/{types/index.js → plugins/cache/types.js} +0 -0
  1071. /package/dist/core/plugins/mailer/{module.server.d.ts → index.server.d.ts} +0 -0
  1072. /package/dist/core/{handlers → plugins}/plugins.server.d.ts +0 -0
  1073. /package/dist/core/{areas/config → prototype/area}/types.d.ts +0 -0
  1074. /package/dist/core/{collections/config → prototype/collection}/augment-label.js +0 -0
  1075. /package/dist/core/{collections → prototype/collection}/upload/util/client.d.ts +0 -0
  1076. /package/dist/core/{collections → prototype/collection}/upload/util/client.js +0 -0
  1077. /package/dist/core/{collections → prototype/collection}/upload/util/config.js +0 -0
  1078. /package/dist/core/{collections → prototype/collection}/upload/util/mime.d.ts +0 -0
  1079. /package/dist/core/{collections → prototype/collection}/upload/util/mime.js +0 -0
@@ -0,0 +1,834 @@
1
+ // @ts-nocheck
2
+ import { generate } from '@babel/generator';
3
+ import * as t from '@babel/types';
4
+ import { babelParse } from 'ast-kit';
5
+ import fs from 'node:fs';
6
+ import path from 'node:path';
7
+ import { logger } from '../../../logger.server.js';
8
+ import { CONFIG_DIR, GENERATED_DIR, OUTPUT_DIR } from '../../constants.server.js';
9
+
10
+ /**
11
+ * $ prefix-based sanitizer that rules:
12
+ * - All server-only config properties begin with $ (e.g., $url, $hooks)
13
+ * - All server-only field methods begin with $ (e.g., $beforeSave, $beforeRead)
14
+ * - Content must be pure functions or imports from .server.ts files
15
+ * - Outputs to .generated folder, preserving original folder structure
16
+ */
17
+
18
+ // The top-level config — real, hand-authored. Unlike every other .server.ts file under
19
+ // +rime/ (copied verbatim, server-only, no client counterpart needed), this one always needs
20
+ // a sanitized client copy too — the panel still needs +rime.generated/rime.config.ts.
21
+ const TOP_LEVEL_CONFIG = 'rime.config.server.ts';
22
+
23
+ export async function sanitize() {
24
+ const root = process.cwd();
25
+ const configDir = path.resolve(root, CONFIG_DIR);
26
+ const outputDir = path.resolve(root, GENERATED_DIR);
27
+
28
+ logger.info('Sanitizing config...');
29
+
30
+ // List all existing files recursively in the output directory
31
+ const existingFiles = new Set();
32
+ if (fs.existsSync(outputDir)) {
33
+ const scanExistingFiles = (dir) => {
34
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
35
+ for (const entry of entries) {
36
+ const fullPath = path.join(dir, entry.name);
37
+ if (entry.isDirectory()) {
38
+ scanExistingFiles(fullPath);
39
+ } else {
40
+ existingFiles.add(path.relative(outputDir, fullPath));
41
+ }
42
+ }
43
+ };
44
+ scanExistingFiles(outputDir);
45
+ } else {
46
+ fs.mkdirSync(outputDir, { recursive: true });
47
+ }
48
+
49
+ // Track files that will be written during sanitization
50
+ const outputFiles = new Set();
51
+
52
+ // Track files that get split into both client and server versions
53
+ const splitFiles = new Set();
54
+
55
+ // Scan all TypeScript files (excluding .server.ts)
56
+ const allFiles = await scanConfigFiles(configDir);
57
+
58
+ // Pre-scan files to determine which ones will be split (contain server content)
59
+ for (const filePath of allFiles) {
60
+ const relativePath = path.relative(configDir, filePath);
61
+ try {
62
+ const content = fs.readFileSync(filePath, 'utf-8');
63
+ const ast = babelParse(content, 'ts', { sourceType: 'module', attachComment: false });
64
+ const analysis = analyzeFile(ast);
65
+ if (analysis.hasServerContent) {
66
+ // Normalize to forward slashes to match how imports are compared later
67
+ splitFiles.add(relativePath.split(path.sep).join('/'));
68
+ }
69
+ } catch (err) {
70
+ logger.warn(`Failed to analyze ${relativePath} during pre-scan: ${err.message}`);
71
+ }
72
+ }
73
+
74
+ // Also scan and copy all existing .server.ts files — except the top-level config, which
75
+ // gets its own client+server split below instead of a plain verbatim copy.
76
+ const serverFiles = (await scanServerFiles(configDir)).filter(
77
+ (filePath) => path.relative(configDir, filePath) !== TOP_LEVEL_CONFIG
78
+ );
79
+
80
+ // Scan and copy all other files (non-.ts files like .svelte, .json, etc.)
81
+ const otherFiles = await scanOtherFiles(configDir);
82
+
83
+ // Top-level config split: same client/server treatment as every other split file below,
84
+ // just addressed by its fixed name instead of found via the scan (it's .server.ts-suffixed,
85
+ // so scanConfigFiles/allFiles never sees it). Runs after the pre-scan above so splitFiles is
86
+ // fully populated — this file's own `import { Pages } from './pages'`-style imports need to
87
+ // know which nested files themselves got split.
88
+ await processTopLevelConfig(configDir, outputDir, outputFiles, splitFiles);
89
+
90
+ for (const filePath of allFiles) {
91
+ const relativePath = path.relative(configDir, filePath);
92
+ logger.debug(` Processing: ${relativePath}`);
93
+
94
+ // Check if corresponding .server.ts already exists
95
+ const originalServerPath = filePath.replace('.ts', '.server.ts');
96
+ if (fs.existsSync(originalServerPath)) {
97
+ throw new Error(
98
+ `Error: ${originalServerPath} already exists. Remove it before running sanitization.`
99
+ );
100
+ }
101
+
102
+ // Process the file and output to .generated
103
+ await processConfigFile(filePath, configDir, outputDir, outputFiles, splitFiles);
104
+ }
105
+
106
+ // Copy existing .server.ts files
107
+ for (const serverFilePath of serverFiles) {
108
+ const relativePath = path.relative(configDir, serverFilePath);
109
+ const outputPath = path.join(outputDir, relativePath);
110
+ const outputDirPath = path.dirname(outputPath);
111
+
112
+ if (!fs.existsSync(outputDirPath)) {
113
+ fs.mkdirSync(outputDirPath, { recursive: true });
114
+ }
115
+
116
+ const content = fs.readFileSync(serverFilePath, 'utf-8');
117
+ const relativeOutputPath = path.relative(outputDir, outputPath);
118
+ outputFiles.add(relativeOutputPath);
119
+
120
+ // Only write if content is different or file doesn't exist
121
+ if (shouldWriteFile(outputPath, content)) {
122
+ fs.writeFileSync(outputPath, content);
123
+ logger.debug(` Copied: ${relativePath}`);
124
+ }
125
+ }
126
+
127
+ // Copy other files (.svelte, .json, etc.)
128
+ for (const otherFilePath of otherFiles) {
129
+ const relativePath = path.relative(configDir, otherFilePath);
130
+ const outputPath = path.join(outputDir, relativePath);
131
+ const outputDirPath = path.dirname(outputPath);
132
+
133
+ if (!fs.existsSync(outputDirPath)) {
134
+ fs.mkdirSync(outputDirPath, { recursive: true });
135
+ }
136
+
137
+ const content = fs.readFileSync(otherFilePath, 'utf-8');
138
+ const relativeOutputPath = path.relative(outputDir, outputPath);
139
+ outputFiles.add(relativeOutputPath);
140
+
141
+ // Only write if content is different or file doesn't exist
142
+ if (shouldWriteFile(outputPath, content)) {
143
+ fs.writeFileSync(outputPath, content);
144
+ logger.debug(` Copied: ${relativePath}`);
145
+ }
146
+ }
147
+
148
+ // Delete files that exist in current list but not in output list. schema.server.ts is
149
+ // excluded — write.server.ts owns it (writes it straight into OUTPUT_DIR, see schemaPath()
150
+ // in constants.ts), sanitize() never adds it to outputFiles, so without this exclusion
151
+ // every sanitize run deletes it out from under write()'s own cache guard.
152
+ const SCHEMA_FILE = 'schema.server.ts';
153
+ for (const existingFile of existingFiles) {
154
+ if (existingFile !== SCHEMA_FILE && !outputFiles.has(existingFile)) {
155
+ const fileToDelete = path.join(outputDir, existingFile);
156
+ fs.unlinkSync(fileToDelete);
157
+ logger.debug(` Deleted: ${existingFile}`);
158
+ }
159
+ }
160
+
161
+ logger.info('Sanitization complete');
162
+ }
163
+
164
+ /**
165
+ * The top-level config (src/lib/+rime/rime.config.server.ts) — real, hand-authored. Client
166
+ * copy via analyzeFile + sanitizeClientAst + removeUnusedImports, written into
167
+ * +rime.generated/, plus a server copy via updateServerImports so its own imports of nested
168
+ * split files resolve like every other split file's do.
169
+ */
170
+ async function processTopLevelConfig(configDir, outputDir, outputFiles, splitFiles) {
171
+ const sourcePath = path.join(configDir, TOP_LEVEL_CONFIG);
172
+ if (!fs.existsSync(sourcePath)) return; // ensureUserConfigExist() already guards this
173
+
174
+ const content = fs.readFileSync(sourcePath, 'utf-8');
175
+ const ast = babelParse(content, 'ts', { sourceType: 'module', attachComment: false });
176
+ const analysis = analyzeFile(ast);
177
+
178
+ const clientPath = path.join(outputDir, 'rime.config.ts');
179
+ const serverPath = path.join(outputDir, TOP_LEVEL_CONFIG);
180
+ outputFiles.add(path.relative(outputDir, clientPath));
181
+ outputFiles.add(path.relative(outputDir, serverPath));
182
+
183
+ const clientAst = sanitizeClientAst(ast, analysis);
184
+ const cleanedAst = removeUnusedImports(clientAst);
185
+ const clientCode = generate(cleanedAst, { compact: false, comments: true }).code;
186
+ if (shouldWriteFile(clientPath, clientCode)) {
187
+ fs.writeFileSync(clientPath, clientCode);
188
+ logger.debug(` Sanitized: rime.config.ts`);
189
+ }
190
+
191
+ const serverContent = updateServerImports(content, splitFiles, '.');
192
+ if (shouldWriteFile(serverPath, serverContent)) {
193
+ fs.writeFileSync(serverPath, serverContent);
194
+ logger.debug(` Created: ${TOP_LEVEL_CONFIG}`);
195
+ }
196
+ }
197
+
198
+ async function scanConfigFiles(configDir) {
199
+ const files = [];
200
+
201
+ function scanDir(currentDir) {
202
+ const items = fs.readdirSync(currentDir, { withFileTypes: true });
203
+
204
+ for (const item of items) {
205
+ const fullPath = path.join(currentDir, item.name);
206
+
207
+ if (item.isDirectory() && item.name !== OUTPUT_DIR) {
208
+ scanDir(fullPath);
209
+ } else if (item.isFile() && item.name.endsWith('.ts') && !item.name.endsWith('.server.ts')) {
210
+ files.push(fullPath);
211
+ }
212
+ }
213
+ }
214
+
215
+ scanDir(configDir);
216
+ return files;
217
+ }
218
+
219
+ async function scanServerFiles(configDir) {
220
+ const files = [];
221
+
222
+ function scanDir(currentDir) {
223
+ const items = fs.readdirSync(currentDir, { withFileTypes: true });
224
+
225
+ for (const item of items) {
226
+ const fullPath = path.join(currentDir, item.name);
227
+
228
+ if (item.isDirectory() && item.name !== OUTPUT_DIR) {
229
+ scanDir(fullPath);
230
+ } else if (item.isFile() && item.name.endsWith('.server.ts')) {
231
+ files.push(fullPath);
232
+ }
233
+ }
234
+ }
235
+
236
+ scanDir(configDir);
237
+ return files;
238
+ }
239
+
240
+ async function scanOtherFiles(configDir) {
241
+ const files = [];
242
+
243
+ function scanDir(currentDir) {
244
+ const items = fs.readdirSync(currentDir, { withFileTypes: true });
245
+
246
+ for (const item of items) {
247
+ const fullPath = path.join(currentDir, item.name);
248
+
249
+ if (item.isDirectory() && item.name !== OUTPUT_DIR) {
250
+ scanDir(fullPath);
251
+ } else if (item.isFile() && !item.name.endsWith('.ts')) {
252
+ files.push(fullPath);
253
+ }
254
+ }
255
+ }
256
+
257
+ scanDir(configDir);
258
+ return files;
259
+ }
260
+
261
+ async function processConfigFile(originalPath, configDir, outputDir, outputFiles, splitFiles) {
262
+ const content = fs.readFileSync(originalPath, 'utf-8');
263
+ const relativePath = path.relative(configDir, originalPath);
264
+
265
+ try {
266
+ const ast = babelParse(content, 'ts', { sourceType: 'module', attachComment: false });
267
+
268
+ // Analyze the file to find $ patterns
269
+ const analysis = analyzeFile(ast);
270
+
271
+ if (!analysis.hasServerContent) {
272
+ // Just copy the original file to .generated
273
+ const outputPath = path.join(outputDir, relativePath);
274
+ const outputDirPath = path.dirname(outputPath);
275
+ if (!fs.existsSync(outputDirPath)) {
276
+ fs.mkdirSync(outputDirPath, { recursive: true });
277
+ }
278
+ const relativeOutputPath = path.relative(outputDir, outputPath);
279
+ outputFiles.add(relativeOutputPath);
280
+
281
+ // Only write if content is different or file doesn't exist
282
+ if (shouldWriteFile(outputPath, content)) {
283
+ fs.writeFileSync(outputPath, content);
284
+ }
285
+ return;
286
+ }
287
+
288
+ // Calculate output paths
289
+ const clientPath = path.join(outputDir, relativePath);
290
+ const serverPath = path.join(outputDir, relativePath.replace('.ts', '.server.ts'));
291
+
292
+ // Ensure output directories exist
293
+ const clientDir = path.dirname(clientPath);
294
+ const serverDir = path.dirname(serverPath);
295
+ if (!fs.existsSync(clientDir)) {
296
+ fs.mkdirSync(clientDir, { recursive: true });
297
+ }
298
+ if (!fs.existsSync(serverDir)) {
299
+ fs.mkdirSync(serverDir, { recursive: true });
300
+ }
301
+
302
+ // Track output files
303
+ const relativeServerPath = path.relative(outputDir, serverPath);
304
+ const relativeClientPath = path.relative(outputDir, clientPath);
305
+ outputFiles.add(relativeServerPath);
306
+ outputFiles.add(relativeClientPath);
307
+
308
+ // Track this as a split file (has both client and server versions)
309
+ const relativeOriginalPath = path.relative(configDir, originalPath);
310
+ splitFiles.add(relativeOriginalPath);
311
+
312
+ // Create server version (full content with updated imports)
313
+ const serverContent = updateServerImports(content, splitFiles, path.dirname(relativePath));
314
+ if (shouldWriteFile(serverPath, serverContent)) {
315
+ fs.writeFileSync(serverPath, serverContent);
316
+ logger.debug(` Created: ${relativeServerPath}`);
317
+ }
318
+
319
+ // Create sanitized client version
320
+ const clientAst = sanitizeClientAst(ast, analysis);
321
+ // Clean up unused imports
322
+ const cleanedAst = removeUnusedImports(clientAst);
323
+ const clientCode = generate(cleanedAst, { compact: false, comments: true }).code;
324
+ if (shouldWriteFile(clientPath, clientCode)) {
325
+ fs.writeFileSync(clientPath, clientCode);
326
+ logger.debug(` Sanitized: ${relativeClientPath}`);
327
+ }
328
+ } catch (error) {
329
+ logger.error(` Failed to process ${originalPath}:`, error.message);
330
+ throw error;
331
+ }
332
+ }
333
+
334
+ function analyzeFile(ast) {
335
+ const analysis = {
336
+ hasServerContent: false,
337
+ serverImports: new Set(),
338
+ serverFunctions: new Set(),
339
+ dollarProperties: new Set(),
340
+ dollarMethods: new Set(),
341
+ functionsUsedInDollarProps: new Set()
342
+ };
343
+
344
+ // Walk the AST to find $ patterns
345
+ function walkNode(node) {
346
+ if (!node || typeof node !== 'object') return;
347
+
348
+ // Find imports from .server.ts files
349
+ if (t.isImportDeclaration(node)) {
350
+ const source = node.source.value;
351
+ if (source.includes('.server')) {
352
+ analysis.hasServerContent = true;
353
+ // Mark all imported identifiers as server
354
+ node.specifiers.forEach((spec) => {
355
+ if (t.isImportSpecifier(spec) || t.isImportDefaultSpecifier(spec)) {
356
+ analysis.serverImports.add(spec.local.name);
357
+ }
358
+ });
359
+ }
360
+ }
361
+
362
+ // Find $ prefixed object properties
363
+ if (t.isObjectProperty(node) && t.isIdentifier(node.key) && node.key.name.startsWith('$')) {
364
+ analysis.hasServerContent = true;
365
+ analysis.dollarProperties.add(node.key.name);
366
+ // Track functions used within $ properties
367
+ findFunctionsInNode(node.value, analysis.functionsUsedInDollarProps);
368
+ }
369
+
370
+ // Find $ prefixed method calls (e.g., .$beforeSave())
371
+ if (
372
+ t.isCallExpression(node) &&
373
+ t.isMemberExpression(node.callee) &&
374
+ t.isIdentifier(node.callee.property) &&
375
+ node.callee.property.name.startsWith('$')
376
+ ) {
377
+ analysis.hasServerContent = true;
378
+ analysis.dollarMethods.add(node.callee.property.name);
379
+ }
380
+
381
+ // Find local functions that might be used by $ methods
382
+ if (
383
+ t.isVariableDeclarator(node) &&
384
+ t.isIdentifier(node.id) &&
385
+ (t.isArrowFunctionExpression(node.init) || t.isFunctionExpression(node.init))
386
+ ) {
387
+ // Check if this function is used by server content
388
+ if (isFunctionUsedByServerContent(node.id.name, ast, analysis)) {
389
+ analysis.serverFunctions.add(node.id.name);
390
+ }
391
+ }
392
+
393
+ if (t.isFunctionDeclaration(node) && node.id) {
394
+ if (isFunctionUsedByServerContent(node.id.name, ast, analysis)) {
395
+ analysis.serverFunctions.add(node.id.name);
396
+ }
397
+ }
398
+
399
+ // Recursively walk child nodes
400
+ for (const key in node) {
401
+ if (Object.prototype.hasOwnProperty.call(node, key) && key !== 'parent') {
402
+ const child = node[key];
403
+ if (Array.isArray(child)) {
404
+ child.forEach(walkNode);
405
+ } else if (child && typeof child === 'object') {
406
+ walkNode(child);
407
+ }
408
+ }
409
+ }
410
+ }
411
+
412
+ walkNode(ast);
413
+ return analysis;
414
+ }
415
+
416
+ function isFunctionUsedByServerContent(functionName, ast) {
417
+ // Simple heuristic: if function is used as argument to $ methods or imported from server
418
+ let isUsedByServer = false;
419
+
420
+ function checkUsage(node) {
421
+ if (!node || typeof node !== 'object') return;
422
+
423
+ // Check if function is used as argument to $ methods
424
+ if (
425
+ t.isCallExpression(node) &&
426
+ t.isMemberExpression(node.callee) &&
427
+ t.isIdentifier(node.callee.property) &&
428
+ node.callee.property.name.startsWith('$')
429
+ ) {
430
+ // Check if our function is used as an argument
431
+ node.arguments.forEach((arg) => {
432
+ if (t.isIdentifier(arg) && arg.name === functionName) {
433
+ isUsedByServer = true;
434
+ }
435
+ });
436
+ }
437
+
438
+ // Check if function is used in $ properties
439
+ if (t.isObjectProperty(node) && t.isIdentifier(node.key) && node.key.name.startsWith('$')) {
440
+ function checkValue(value) {
441
+ if (t.isIdentifier(value) && value.name === functionName) {
442
+ isUsedByServer = true;
443
+ } else if (t.isObjectExpression(value)) {
444
+ value.properties.forEach((prop) => {
445
+ if (t.isObjectProperty(prop)) {
446
+ checkValue(prop.value);
447
+ }
448
+ });
449
+ } else if (t.isArrayExpression(value)) {
450
+ value.elements.forEach((el) => {
451
+ if (el) checkValue(el);
452
+ });
453
+ }
454
+ }
455
+
456
+ checkValue(node.value);
457
+ }
458
+
459
+ // Recursively check child nodes
460
+ for (const key in node) {
461
+ if (Object.prototype.hasOwnProperty.call(node, key) && key !== 'parent') {
462
+ const child = node[key];
463
+ if (Array.isArray(child)) {
464
+ child.forEach(checkUsage);
465
+ } else if (child && typeof child === 'object') {
466
+ checkUsage(child);
467
+ }
468
+ }
469
+ }
470
+ }
471
+
472
+ checkUsage(ast);
473
+ return isUsedByServer;
474
+ }
475
+
476
+ function findFunctionsInNode(node, functionsSet) {
477
+ if (!node || typeof node !== 'object') return;
478
+
479
+ if (t.isIdentifier(node)) {
480
+ functionsSet.add(node.name);
481
+ } else if (t.isArrayExpression(node)) {
482
+ node.elements.forEach((element) => {
483
+ if (element) findFunctionsInNode(element, functionsSet);
484
+ });
485
+ } else if (t.isObjectExpression(node)) {
486
+ node.properties.forEach((prop) => {
487
+ if (t.isObjectProperty(prop)) {
488
+ findFunctionsInNode(prop.value, functionsSet);
489
+ }
490
+ });
491
+ }
492
+
493
+ // Recursively check child nodes
494
+ for (const key in node) {
495
+ if (Object.prototype.hasOwnProperty.call(node, key) && key !== 'parent') {
496
+ const child = node[key];
497
+ if (Array.isArray(child)) {
498
+ child.forEach((item) => findFunctionsInNode(item, functionsSet));
499
+ } else if (child && typeof child === 'object') {
500
+ findFunctionsInNode(child, functionsSet);
501
+ }
502
+ }
503
+ }
504
+ }
505
+
506
+ function sanitizeClientAst(ast, analysis) {
507
+ const clonedAst = JSON.parse(JSON.stringify(ast));
508
+
509
+ function sanitizeNode(node) {
510
+ if (!node || typeof node !== 'object') return node;
511
+
512
+ // Remove imports from .server.ts files
513
+ if (t.isImportDeclaration(node)) {
514
+ const source = node.source.value;
515
+ if (source.includes('.server')) {
516
+ return null; // Mark for removal
517
+ }
518
+ }
519
+
520
+ // Replace rime with rimeClient in imports
521
+ if (t.isImportDeclaration(node)) {
522
+ node.specifiers.forEach((spec) => {
523
+ if (
524
+ t.isImportSpecifier(spec) &&
525
+ t.isIdentifier(spec.imported) &&
526
+ spec.imported.name === 'rime'
527
+ ) {
528
+ spec.imported.name = 'rimeClient';
529
+ if (t.isIdentifier(spec.local)) {
530
+ spec.local.name = 'rimeClient';
531
+ }
532
+ }
533
+ });
534
+ }
535
+
536
+ // Replace rime function calls with rimeClient
537
+ if (t.isCallExpression(node) && t.isIdentifier(node.callee) && node.callee.name === 'rime') {
538
+ node.callee.name = 'rimeClient';
539
+ }
540
+
541
+ // Remove $ prefixed object properties
542
+ if (t.isObjectExpression(node)) {
543
+ node.properties = node.properties.filter((prop) => {
544
+ if (t.isObjectProperty(prop) && t.isIdentifier(prop.key) && prop.key.name.startsWith('$')) {
545
+ return false; // Remove $ properties
546
+ }
547
+ return true;
548
+ });
549
+ }
550
+
551
+ // Remove $ prefixed method calls from call chains
552
+ if (
553
+ t.isCallExpression(node) &&
554
+ t.isMemberExpression(node.callee) &&
555
+ t.isIdentifier(node.callee.property) &&
556
+ node.callee.property.name.startsWith('$')
557
+ ) {
558
+ // Return the object the method was called on (strip the method call)
559
+ return sanitizeNode(node.callee.object);
560
+ }
561
+
562
+ // Remove server function declarations and functions only used in $ properties
563
+ if (t.isVariableDeclaration(node)) {
564
+ node.declarations = node.declarations.filter((declarator) => {
565
+ if (t.isIdentifier(declarator.id)) {
566
+ const name = declarator.id.name;
567
+ // Remove if it's a server function or only used in $ properties
568
+ if (analysis.serverFunctions.has(name) || analysis.functionsUsedInDollarProps.has(name)) {
569
+ return false;
570
+ }
571
+ }
572
+ return true;
573
+ });
574
+ // If no declarations left, mark for removal
575
+ if (node.declarations.length === 0) {
576
+ return null;
577
+ }
578
+ }
579
+
580
+ if (t.isFunctionDeclaration(node) && node.id) {
581
+ const name = node.id.name;
582
+ // Remove if it's a server function or only used in $ properties
583
+ if (analysis.serverFunctions.has(name) || analysis.functionsUsedInDollarProps.has(name)) {
584
+ return null;
585
+ }
586
+ }
587
+
588
+ // Recursively sanitize child nodes
589
+ for (const key in node) {
590
+ if (Object.prototype.hasOwnProperty.call(node, key) && key !== 'parent') {
591
+ const child = node[key];
592
+ if (Array.isArray(child)) {
593
+ node[key] = child.map(sanitizeNode).filter((item) => item !== null);
594
+ } else if (child && typeof child === 'object') {
595
+ const sanitized = sanitizeNode(child);
596
+ if (sanitized === null) {
597
+ delete node[key];
598
+ } else {
599
+ node[key] = sanitized;
600
+ }
601
+ }
602
+ }
603
+ }
604
+
605
+ return node;
606
+ }
607
+
608
+ // Apply sanitization
609
+ sanitizeNode(clonedAst);
610
+
611
+ // Remove null body items (removed imports/declarations)
612
+ if (clonedAst.body) {
613
+ clonedAst.body = clonedAst.body.filter((item) => item !== null);
614
+ }
615
+
616
+ // Final cleanup: remove orphaned expression statements (standalone identifiers)
617
+ if (clonedAst.body) {
618
+ clonedAst.body = clonedAst.body.filter((node) => {
619
+ // Remove expression statements that are just standalone identifiers
620
+ if (t.isExpressionStatement(node) && t.isIdentifier(node.expression)) {
621
+ return false; // Remove orphaned references like "legendField;"
622
+ }
623
+ return true;
624
+ });
625
+ }
626
+
627
+ return clonedAst;
628
+ }
629
+
630
+ function removeUnusedImports(ast) {
631
+ const clonedAst = JSON.parse(JSON.stringify(ast));
632
+
633
+ // Collect all imported identifiers
634
+ const importedIdentifiers = new Map(); // identifier -> import declaration
635
+ const usedIdentifiers = new Set();
636
+
637
+ // First pass: collect all imports
638
+ function collectImports(node) {
639
+ if (t.isImportDeclaration(node)) {
640
+ node.specifiers.forEach((spec) => {
641
+ let localName;
642
+ if (t.isImportDefaultSpecifier(spec)) {
643
+ localName = spec.local.name;
644
+ } else if (t.isImportSpecifier(spec)) {
645
+ localName = spec.local.name;
646
+ } else if (t.isImportNamespaceSpecifier(spec)) {
647
+ localName = spec.local.name;
648
+ }
649
+
650
+ if (localName) {
651
+ importedIdentifiers.set(localName, node);
652
+ }
653
+ });
654
+ }
655
+ }
656
+
657
+ // Second pass: find used identifiers
658
+ function findUsedIdentifiers(node) {
659
+ if (!node || typeof node !== 'object') return;
660
+
661
+ // Skip import declarations and variable declarators' ids to avoid marking declarations as usage
662
+ if (t.isImportDeclaration(node)) {
663
+ return;
664
+ }
665
+
666
+ if (t.isVariableDeclarator(node)) {
667
+ // Only check the init, not the id
668
+ if (node.init) {
669
+ findUsedIdentifiers(node.init);
670
+ }
671
+ return;
672
+ }
673
+
674
+ if (t.isFunctionDeclaration(node)) {
675
+ // Only check the body, not the id and params
676
+ if (node.body) {
677
+ findUsedIdentifiers(node.body);
678
+ }
679
+ return;
680
+ }
681
+
682
+ // Skip $ prefixed object properties to avoid marking their content as used
683
+ if (t.isObjectProperty(node) && t.isIdentifier(node.key) && node.key.name.startsWith('$')) {
684
+ return;
685
+ }
686
+
687
+ if (t.isIdentifier(node)) {
688
+ usedIdentifiers.add(node.name);
689
+ }
690
+
691
+ // Recursively check child nodes
692
+ for (const key in node) {
693
+ if (Object.prototype.hasOwnProperty.call(node, key) && key !== 'parent') {
694
+ const child = node[key];
695
+ if (Array.isArray(child)) {
696
+ child.forEach(findUsedIdentifiers);
697
+ } else if (child && typeof child === 'object') {
698
+ findUsedIdentifiers(child);
699
+ }
700
+ }
701
+ }
702
+ }
703
+
704
+ // Collect imports and find usage
705
+ clonedAst.body.forEach(collectImports);
706
+ clonedAst.body.forEach(findUsedIdentifiers);
707
+
708
+ // Remove unused imports
709
+ clonedAst.body = clonedAst.body.filter((node) => {
710
+ if (t.isImportDeclaration(node)) {
711
+ // Filter out unused specifiers
712
+ node.specifiers = node.specifiers.filter((spec) => {
713
+ let localName;
714
+ if (t.isImportDefaultSpecifier(spec)) {
715
+ localName = spec.local.name;
716
+ } else if (t.isImportSpecifier(spec)) {
717
+ localName = spec.local.name;
718
+ } else if (t.isImportNamespaceSpecifier(spec)) {
719
+ localName = spec.local.name;
720
+ }
721
+
722
+ return localName && usedIdentifiers.has(localName);
723
+ });
724
+
725
+ // Keep the import declaration only if it has remaining specifiers
726
+ return node.specifiers.length > 0;
727
+ }
728
+ return true;
729
+ });
730
+
731
+ return clonedAst;
732
+ }
733
+
734
+ /**
735
+ * Updates imports in server files to use server versions of split modules
736
+ */
737
+ export function updateServerImports(content, splitFiles, currentDir) {
738
+ try {
739
+ const ast = babelParse(content, 'ts', { sourceType: 'module', attachComment: false });
740
+
741
+ let hasChanges = false;
742
+
743
+ // Helper to normalize paths for comparison with splitFiles entries
744
+ const normalizeForCompare = (p) =>
745
+ p
746
+ .replace(/^\.\/?/, '')
747
+ .split(path.sep)
748
+ .join('/');
749
+ const splitFilesSet = new Set(Array.from(splitFiles).map((s) => normalizeForCompare(s)));
750
+
751
+ // Walk through all import declarations
752
+ for (const node of ast.body) {
753
+ if (t.isImportDeclaration(node) && t.isStringLiteral(node.source)) {
754
+ const importPath = node.source.value;
755
+
756
+ // Skip absolute imports and package imports
757
+ if (!importPath.startsWith('./') && !importPath.startsWith('../')) {
758
+ continue;
759
+ }
760
+
761
+ // Skip already server imports
762
+ if (importPath.includes('.server')) continue;
763
+
764
+ // Normalize import path: remove trailing slashes and explicit extensions
765
+ const cleanedImport = importPath.replace(/\/+$/, '');
766
+ const importNoExt = cleanedImport.replace(/(\.js|\.ts)$/, '');
767
+
768
+ // Build candidate relative paths (relative to config dir)
769
+ const candidateFile = path.normalize(path.join(currentDir, importNoExt + '.ts'));
770
+ const candidateIndex = path.normalize(path.join(currentDir, importNoExt, 'index.ts'));
771
+
772
+ const candidateFileNorm = normalizeForCompare(candidateFile);
773
+ const candidateIndexNorm = normalizeForCompare(candidateIndex);
774
+
775
+ let matched = null;
776
+ let matchedIsIndex = false;
777
+
778
+ if (splitFilesSet.has(candidateFileNorm)) {
779
+ matched = candidateFileNorm;
780
+ matchedIsIndex = false;
781
+ } else if (splitFilesSet.has(candidateIndexNorm)) {
782
+ matched = candidateIndexNorm;
783
+ matchedIsIndex = true;
784
+ }
785
+
786
+ if (matched) {
787
+ // Build new import path: prefer .server.js so runtime imports point to JS server files
788
+ let newImportPath;
789
+ if (matchedIsIndex) {
790
+ newImportPath = importNoExt + '/index.server.js';
791
+ } else {
792
+ newImportPath = importNoExt + '.server.js';
793
+ }
794
+
795
+ // Set the node's source value and ensure it renders with single quotes
796
+ node.source.value = newImportPath;
797
+ if (!node.source.extra || typeof node.source.extra !== 'object') {
798
+ node.source.extra = {};
799
+ }
800
+ node.source.extra.raw = `'${newImportPath}'`;
801
+ node.source.extra.rawValue = newImportPath;
802
+ hasChanges = true;
803
+ }
804
+ }
805
+ }
806
+
807
+ if (hasChanges) {
808
+ return generate(ast, { compact: false, comments: true }).code;
809
+ }
810
+
811
+ return content;
812
+ } catch (error) {
813
+ // If parsing fails, return original content
814
+ logger.warn(`Failed to update imports in server file: ${error.message}`);
815
+ return content;
816
+ }
817
+ }
818
+
819
+ /**
820
+ * Checks if a file should be written by comparing content with existing file
821
+ */
822
+ function shouldWriteFile(filePath, newContent) {
823
+ if (!fs.existsSync(filePath)) {
824
+ return true;
825
+ }
826
+
827
+ const existingContent = fs.readFileSync(filePath, 'utf-8');
828
+ return existingContent !== newContent;
829
+ }
830
+
831
+ // Run the sanitizer if this script is executed directly
832
+ if (import.meta.url === `file://${process.argv[1]}`) {
833
+ sanitize().catch(console.error);
834
+ }