rimecms 0.31.5 → 0.32.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapter-sqlite/area.server.d.ts +10 -46
- package/dist/adapter-sqlite/area.server.js +31 -309
- package/dist/adapter-sqlite/auth.server.d.ts +11 -19
- package/dist/adapter-sqlite/auth.server.js +20 -77
- package/dist/adapter-sqlite/blocks.server.d.ts +7 -8
- package/dist/adapter-sqlite/blocks.server.js +17 -12
- package/dist/adapter-sqlite/collection.server.d.ts +10 -67
- package/dist/adapter-sqlite/collection.server.js +22 -418
- package/dist/adapter-sqlite/columns.server.d.ts +140 -0
- package/dist/adapter-sqlite/columns.server.js +307 -0
- package/dist/adapter-sqlite/generate-schema/column.server.js +1 -1
- package/dist/adapter-sqlite/generate-schema/index.server.d.ts +3 -3
- package/dist/adapter-sqlite/generate-schema/index.server.js +64 -139
- package/dist/adapter-sqlite/generate-schema/relations/junction.server.d.ts +3 -2
- package/dist/adapter-sqlite/generate-schema/relations/junction.server.js +14 -7
- package/dist/adapter-sqlite/generate-schema/root.server.d.ts +31 -7
- package/dist/adapter-sqlite/generate-schema/root.server.js +35 -19
- package/dist/adapter-sqlite/generate-schema/templates.server.d.ts +62 -65
- package/dist/adapter-sqlite/generate-schema/templates.server.js +119 -175
- package/dist/adapter-sqlite/generate-schema/write.server.js +19 -6
- package/dist/adapter-sqlite/index.server.d.ts +17 -23
- package/dist/adapter-sqlite/index.server.js +33 -36
- package/dist/adapter-sqlite/locales.server.d.ts +31 -0
- package/dist/adapter-sqlite/locales.server.js +57 -0
- package/dist/adapter-sqlite/naming.server.d.ts +134 -0
- package/dist/adapter-sqlite/naming.server.js +98 -0
- package/dist/adapter-sqlite/order-by.server.d.ts +29 -0
- package/dist/adapter-sqlite/order-by.server.js +115 -0
- package/dist/adapter-sqlite/read.server.d.ts +78 -0
- package/dist/adapter-sqlite/read.server.js +188 -0
- package/dist/adapter-sqlite/registry.server.d.ts +45 -0
- package/dist/adapter-sqlite/registry.server.js +63 -0
- package/dist/adapter-sqlite/relations.server.d.ts +10 -12
- package/dist/adapter-sqlite/relations.server.js +24 -8
- package/dist/adapter-sqlite/rows.server.d.ts +36 -0
- package/dist/adapter-sqlite/rows.server.js +6 -0
- package/dist/adapter-sqlite/select.server.d.ts +25 -0
- package/dist/adapter-sqlite/select.server.js +274 -0
- package/dist/adapter-sqlite/table.server.d.ts +18 -0
- package/dist/adapter-sqlite/table.server.js +63 -0
- package/dist/adapter-sqlite/transform.server.d.ts +13 -12
- package/dist/adapter-sqlite/transform.server.js +118 -197
- package/dist/adapter-sqlite/tree.server.d.ts +7 -8
- package/dist/adapter-sqlite/tree.server.js +13 -12
- package/dist/adapter-sqlite/types.server.d.ts +6 -5
- package/dist/adapter-sqlite/where.server.d.ts +25 -3
- package/dist/adapter-sqlite/where.server.js +46 -36
- package/dist/adapter-sqlite/write.server.d.ts +166 -0
- package/dist/adapter-sqlite/write.server.js +272 -0
- package/dist/core/adapter.d.ts +456 -0
- package/dist/core/adapter.js +13 -0
- package/dist/core/auth/access.d.ts +73 -0
- package/dist/core/auth/augment.d.ts +18 -0
- package/dist/core/auth/augment.js +110 -0
- package/dist/core/auth/augment.server.d.ts +3 -0
- package/dist/core/auth/augment.server.js +23 -0
- package/dist/core/auth/better-auth/config.server.d.ts +2122 -0
- package/dist/core/auth/better-auth/config.server.js +81 -0
- package/dist/core/auth/better-auth/hooks.server.js +132 -0
- package/dist/core/auth/better-auth/instance.server.d.ts +4215 -0
- package/dist/core/auth/better-auth/instance.server.js +26 -0
- package/dist/core/auth/better-auth-tables.server.d.ts +33 -0
- package/dist/core/auth/better-auth-tables.server.js +50 -0
- package/dist/core/auth/configure.d.ts +21 -0
- package/dist/core/auth/configure.js +21 -0
- package/dist/core/auth/constant.server.d.ts +28 -0
- package/dist/core/auth/constant.server.js +43 -0
- package/dist/core/auth/enabled.d.ts +10 -0
- package/dist/core/auth/enabled.js +10 -0
- package/dist/core/auth/handler/index.server.js +159 -0
- package/dist/core/auth/hooks/augment-fields-password.server.d.ts +20 -0
- package/dist/core/auth/hooks/augment-fields-password.server.js +44 -0
- package/dist/core/auth/hooks/create-better-auth-user.server.d.ts +4 -0
- package/dist/core/auth/hooks/create-better-auth-user.server.js +212 -0
- package/dist/core/auth/hooks/delete-better-auth-user.server.d.ts +4 -0
- package/dist/core/auth/hooks/delete-better-auth-user.server.js +25 -0
- package/dist/core/auth/hooks/forward-roles.server.d.ts +12 -0
- package/dist/core/auth/hooks/forward-roles.server.js +58 -0
- package/dist/core/auth/hooks/index.server.d.ts +18 -0
- package/dist/core/auth/hooks/index.server.js +18 -0
- package/dist/core/auth/hooks/populate-api-key.server.d.ts +5 -0
- package/dist/core/auth/hooks/populate-api-key.server.js +22 -0
- package/dist/core/auth/hooks/prevent-superadmin-deletion.server.d.ts +6 -0
- package/dist/core/auth/hooks/prevent-superadmin-deletion.server.js +16 -0
- package/dist/core/auth/hooks/prevent-superadmin-mutation.server.d.ts +5 -0
- package/dist/core/auth/hooks/prevent-superadmin-mutation.server.js +28 -0
- package/dist/core/auth/hooks/prevent-user-mutations.server.d.ts +5 -0
- package/dist/core/auth/hooks/prevent-user-mutations.server.js +13 -0
- package/dist/core/auth/hooks/remove-private-fields.server.d.ts +7 -0
- package/dist/core/auth/hooks/remove-private-fields.server.js +11 -0
- package/dist/core/auth/hooks/sign-in-new-user.server.d.ts +12 -0
- package/dist/core/auth/hooks/sign-in-new-user.server.js +29 -0
- package/dist/core/auth/module.d.ts +2 -0
- package/dist/core/auth/module.js +2 -0
- package/dist/core/auth/module.server.d.ts +2 -0
- package/dist/core/auth/module.server.js +2 -0
- package/dist/core/auth/staff/configure.d.ts +7 -0
- package/dist/core/auth/staff/configure.js +13 -0
- package/dist/core/auth/staff/configure.server.d.ts +7 -0
- package/dist/core/auth/staff/configure.server.js +14 -0
- package/dist/core/auth/staff/derive.d.ts +23 -0
- package/dist/core/auth/staff/derive.js +58 -0
- package/dist/core/auth/tables.d.ts +38 -0
- package/dist/core/auth/tables.js +157 -0
- package/dist/core/auth/types.d.ts +47 -0
- package/dist/core/auth/user.server.d.ts +43 -0
- package/dist/core/auth/user.server.js +73 -0
- package/dist/core/auth/util.d.ts +13 -0
- package/dist/core/auth/validate-config.d.ts +13 -0
- package/dist/core/auth/validate-config.js +42 -0
- package/dist/core/boot.server.d.ts +4227 -0
- package/dist/core/boot.server.js +61 -0
- package/dist/core/codegen.server.d.ts +22 -0
- package/dist/core/codegen.server.js +58 -0
- package/dist/core/config/build.d.ts +23 -0
- package/dist/core/config/build.js +22 -0
- package/dist/core/config/build.server.d.ts +70 -0
- package/dist/core/config/build.server.js +33 -0
- package/dist/core/config/configure.d.ts +26 -0
- package/dist/core/config/configure.js +40 -0
- package/dist/core/config/context.server.d.ts +82 -0
- package/dist/core/config/context.server.js +118 -0
- package/dist/core/config/index.d.ts +4 -0
- package/dist/core/config/index.js +4 -0
- package/dist/core/config/index.server.d.ts +9 -0
- package/dist/core/config/index.server.js +11 -0
- package/dist/core/config/types.d.ts +88 -170
- package/dist/core/config/validate.server.d.ts +3 -0
- package/dist/core/config/validate.server.js +259 -0
- package/dist/core/constants.d.ts +69 -0
- package/dist/core/constants.js +69 -0
- package/dist/core/constants.server.d.ts +5 -0
- package/dist/core/constants.server.js +6 -0
- package/dist/core/cors/configure.server.d.ts +11 -0
- package/dist/core/cors/configure.server.js +14 -0
- package/dist/core/cors/handler.server.js +75 -0
- package/dist/core/cors/module.browser.js +1 -0
- package/dist/core/cors/module.server.d.ts +1 -0
- package/dist/core/cors/module.server.js +7 -0
- package/dist/core/dev/cache.server.d.ts +17 -0
- package/dist/core/dev/cache.server.js +65 -0
- package/dist/core/dev/cli/commands/build.js +70 -0
- package/dist/core/dev/cli/commands/clear.server.js +42 -0
- package/dist/core/dev/cli/commands/generate-exports.server.d.ts +26 -0
- package/dist/core/dev/cli/commands/generate-exports.server.js +155 -0
- package/dist/core/dev/cli/commands/generate.server.js +98 -0
- package/dist/core/dev/cli/commands/init.server.js +242 -0
- package/dist/core/dev/cli/index.js +16 -16
- package/dist/core/dev/cli/templates/build.js +45 -0
- package/dist/core/dev/cli/templates/init.js +117 -0
- package/dist/core/dev/cli/util/package-manager.server.js +7 -3
- package/dist/core/dev/cli/util/package.server.d.ts +0 -8
- package/dist/core/dev/cli/util/package.server.js +0 -10
- package/dist/core/dev/codegen/routes/common.server.d.ts +35 -0
- package/dist/core/dev/codegen/routes/common.server.js +437 -0
- package/dist/core/dev/codegen/routes/custom-css.server.js +86 -0
- package/dist/core/dev/codegen/routes/index.server.d.ts +17 -0
- package/dist/core/dev/codegen/routes/index.server.js +110 -0
- package/dist/core/dev/codegen/routes/util.server.d.ts +52 -0
- package/dist/core/dev/codegen/routes/util.server.js +118 -0
- package/dist/core/dev/codegen/runtime/index.server.d.ts +78 -0
- package/dist/core/dev/codegen/runtime/index.server.js +92 -0
- package/dist/core/dev/codegen/runtime/parse-exports.server.d.ts +16 -0
- package/dist/core/dev/codegen/runtime/parse-exports.server.js +60 -0
- package/dist/core/dev/codegen/sanitize/index.server.js +834 -0
- package/dist/core/dev/codegen/types/contributions.server.d.ts +37 -0
- package/dist/core/dev/codegen/types/contributions.server.js +25 -0
- package/dist/core/dev/codegen/types/index.server.js +132 -0
- package/dist/core/dev/codegen/types/templates.server.d.ts +13 -0
- package/dist/core/dev/codegen/types/templates.server.js +134 -0
- package/dist/core/dev/config-memo.server.js +85 -0
- package/dist/core/dev/constants.server.d.ts +20 -0
- package/dist/core/dev/constants.server.js +63 -0
- package/dist/core/dev/ensure.server.d.ts +30 -0
- package/dist/core/dev/ensure.server.js +82 -0
- package/dist/core/dev/prototype-routes.server.d.ts +16 -0
- package/dist/core/dev/prototype-routes.server.js +23 -0
- package/dist/core/dev/version.server.d.ts +12 -0
- package/dist/core/dev/version.server.js +27 -0
- package/dist/core/dev/vite.server.js +242 -0
- package/dist/core/errors/handler.server.d.ts +17 -1
- package/dist/core/errors/handler.server.js +4 -23
- package/dist/core/fields/builders/boolean-builder.d.ts +1 -1
- package/dist/core/fields/builders/field-builder.d.ts +12 -1
- package/dist/core/fields/builders/form-field-builder.d.ts +16 -5
- package/dist/core/fields/builders/form-field-builder.js +19 -8
- package/dist/core/fields/builders/select-builder.d.ts +1 -1
- package/dist/core/fields/types.d.ts +16 -0
- package/dist/core/fields/util.d.ts +60 -0
- package/dist/core/fields/util.js +84 -1
- package/dist/core/fields/validate.js +171 -0
- package/dist/core/handler.server.d.ts +4 -0
- package/dist/core/handler.server.js +25 -0
- package/dist/core/i18n/en/common.d.ts +18 -0
- package/dist/core/i18n/en/common.js +20 -1
- package/dist/core/i18n/fr/common.d.ts +18 -0
- package/dist/core/i18n/fr/common.js +20 -1
- package/dist/core/i18n/index.d.ts +0 -1
- package/dist/core/i18n/index.js +0 -1
- package/dist/core/locale/copy.server.d.ts +35 -0
- package/dist/core/locale/copy.server.js +93 -0
- package/dist/core/locale/types.d.ts +20 -0
- package/dist/core/panel/configure.d.ts +63 -0
- package/dist/core/panel/configure.js +56 -0
- package/dist/core/panel/types.d.ts +61 -0
- package/dist/core/pipeline/build-document.server.d.ts +26 -0
- package/dist/core/pipeline/build-document.server.js +83 -0
- package/dist/core/pipeline/build.server.d.ts +23 -0
- package/dist/core/pipeline/build.server.js +76 -0
- package/dist/core/pipeline/config-map/build-tree-map.d.ts +4 -0
- package/dist/core/pipeline/config-map/index.d.ts +6 -0
- package/dist/core/pipeline/config-map/index.js +54 -0
- package/dist/core/pipeline/define-hook.d.ts +42 -0
- package/dist/core/pipeline/define-hook.js +40 -0
- package/dist/core/pipeline/extract-data.server.d.ts +18 -0
- package/dist/core/pipeline/extract-data.server.js +78 -0
- package/dist/core/pipeline/hook-name.server.d.ts +11 -0
- package/dist/core/pipeline/hook-name.server.js +14 -0
- package/dist/core/pipeline/hooks/authorize.server.d.ts +6 -0
- package/dist/core/pipeline/hooks/authorize.server.js +37 -0
- package/dist/core/pipeline/hooks/data-config-map.server.d.ts +8 -0
- package/dist/core/pipeline/hooks/data-config-map.server.js +19 -0
- package/dist/core/pipeline/hooks/get-original-document.server.d.ts +9 -0
- package/dist/core/pipeline/hooks/get-original-document.server.js +34 -0
- package/dist/core/pipeline/hooks/normalize-resolved-references.server.d.ts +16 -0
- package/dist/core/pipeline/hooks/normalize-resolved-references.server.js +40 -0
- package/dist/core/pipeline/hooks/original-config-map.server.d.ts +8 -0
- package/dist/core/pipeline/hooks/original-config-map.server.js +23 -0
- package/dist/core/pipeline/hooks/process-document-fields.server.d.ts +5 -0
- package/dist/core/pipeline/hooks/process-document-fields.server.js +62 -0
- package/dist/core/pipeline/hooks/resolve-content-owner.server.d.ts +17 -0
- package/dist/core/pipeline/hooks/resolve-content-owner.server.js +24 -0
- package/dist/core/pipeline/hooks/set-default-values.server.d.ts +16 -0
- package/dist/core/pipeline/hooks/set-default-values.server.js +79 -0
- package/dist/core/pipeline/hooks/set-document-locale.server.d.ts +5 -0
- package/dist/core/pipeline/hooks/set-document-locale.server.js +19 -0
- package/dist/core/pipeline/hooks/set-document-type.server.d.ts +6 -0
- package/dist/core/pipeline/hooks/set-document-type.server.js +19 -0
- package/dist/core/pipeline/hooks/sort-document-props.server.d.ts +7 -0
- package/dist/core/pipeline/hooks/sort-document-props.server.js +71 -0
- package/dist/core/pipeline/hooks/validate-fields.server.d.ts +12 -0
- package/dist/core/pipeline/hooks/validate-fields.server.js +170 -0
- package/dist/core/pipeline/persist/blocks/diff.server.d.ts +15 -0
- package/dist/core/pipeline/persist/blocks/diff.server.js +69 -0
- package/dist/core/pipeline/persist/blocks/extract.server.d.ts +9 -0
- package/dist/core/pipeline/persist/blocks/extract.server.js +33 -0
- package/dist/core/pipeline/persist/blocks/index.server.d.ts +27 -0
- package/dist/core/pipeline/persist/blocks/index.server.js +68 -0
- package/dist/core/pipeline/persist/relations/diff.server.d.ts +14 -0
- package/dist/core/pipeline/persist/relations/diff.server.js +47 -0
- package/dist/core/pipeline/persist/relations/extract.server.d.ts +11 -0
- package/dist/core/pipeline/persist/relations/extract.server.js +59 -0
- package/dist/core/pipeline/persist/relations/index.server.d.ts +26 -0
- package/dist/core/pipeline/persist/relations/index.server.js +66 -0
- package/dist/core/pipeline/persist/tree/diff.server.d.ts +20 -0
- package/dist/core/pipeline/persist/tree/diff.server.js +51 -0
- package/dist/core/pipeline/persist/tree/extract.server.d.ts +9 -0
- package/dist/core/pipeline/persist/tree/extract.server.js +34 -0
- package/dist/core/pipeline/persist/tree/index.server.d.ts +14 -0
- package/dist/core/pipeline/persist/tree/index.server.js +50 -0
- package/dist/core/pipeline/query.d.ts +14 -0
- package/dist/core/pipeline/query.js +36 -0
- package/dist/core/pipeline/run.server.d.ts +146 -0
- package/dist/core/pipeline/run.server.js +256 -0
- package/dist/core/pipeline/types.d.ts +140 -0
- package/dist/core/pipeline/types.js +10 -0
- package/dist/core/plugins/api-init/index.server.js +84 -0
- package/dist/core/plugins/cache/cache.server.js +1 -1
- package/dist/core/plugins/cache/index.d.ts +1 -2
- package/dist/core/plugins/cache/index.js +3 -1
- package/dist/core/plugins/cache/types.d.ts +5 -0
- package/dist/core/plugins/configure.d.ts +12 -0
- package/dist/core/plugins/configure.js +26 -0
- package/dist/core/plugins/defaults/index.d.ts +1 -0
- package/dist/core/plugins/defaults/index.js +3 -0
- package/dist/core/plugins/defaults/module.d.ts +12 -0
- package/dist/core/plugins/defaults/module.js +14 -0
- package/dist/core/plugins/defaults/module.server.d.ts +4 -0
- package/dist/core/plugins/defaults/module.server.js +15 -0
- package/dist/core/plugins/defaults/types.d.ts +18 -0
- package/dist/core/plugins/defaults/types.js +1 -0
- package/dist/core/plugins/mailer/index.server.js +29 -0
- package/dist/core/plugins/plugins.server.js +10 -0
- package/dist/core/plugins/sse/bus.server.d.ts +16 -0
- package/dist/core/plugins/sse/bus.server.js +69 -0
- package/dist/core/plugins/sse/client.d.ts +14 -16
- package/dist/core/plugins/sse/client.js +42 -34
- package/dist/core/plugins/sse/index.d.ts +10 -2
- package/dist/core/plugins/sse/index.js +9 -1
- package/dist/core/plugins/sse/index.server.d.ts +29 -0
- package/dist/core/plugins/sse/index.server.js +18 -0
- package/dist/core/plugins/sse/types.d.ts +15 -7
- package/dist/core/prototype/area/api.server.d.ts +91 -0
- package/dist/core/prototype/area/api.server.js +117 -0
- package/dist/core/prototype/area/augment-label.d.ts +16 -0
- package/dist/core/prototype/area/augment-label.js +13 -0
- package/dist/core/prototype/area/definition.d.ts +18 -0
- package/dist/core/prototype/area/definition.js +44 -0
- package/dist/core/prototype/area/definition.server.d.ts +9 -0
- package/dist/core/prototype/area/definition.server.js +40 -0
- package/dist/core/prototype/area/hooks.server.d.ts +17 -0
- package/dist/core/prototype/area/hooks.server.js +61 -0
- package/dist/core/prototype/area/index.d.ts +1 -0
- package/dist/core/prototype/area/index.js +1 -0
- package/dist/core/prototype/area/operations/find.d.ts +18 -0
- package/dist/core/prototype/area/operations/find.js +43 -0
- package/dist/core/prototype/area/operations/update.d.ts +29 -0
- package/dist/core/prototype/area/operations/update.js +44 -0
- package/dist/core/prototype/area/rest/endpoint.server.d.ts +14 -0
- package/dist/core/prototype/area/rest/endpoint.server.js +15 -0
- package/dist/core/prototype/area/rest/get.server.d.ts +4 -0
- package/dist/core/prototype/area/rest/get.server.js +31 -0
- package/dist/core/prototype/area/rest/index.server.d.ts +9 -0
- package/dist/core/prototype/area/rest/index.server.js +14 -0
- package/dist/core/prototype/area/rest/lock.server.d.ts +2 -0
- package/dist/core/prototype/area/rest/lock.server.js +38 -0
- package/dist/core/prototype/area/rest/update.server.d.ts +4 -0
- package/dist/core/prototype/area/rest/update.server.js +38 -0
- package/dist/core/prototype/area/types.js +1 -0
- package/dist/core/prototype/collection/api.server.d.ts +173 -0
- package/dist/core/prototype/collection/api.server.js +224 -0
- package/dist/core/prototype/collection/augment-label.d.ts +6 -0
- package/dist/core/prototype/collection/definition.d.ts +26 -0
- package/dist/core/prototype/collection/definition.js +74 -0
- package/dist/core/prototype/collection/definition.server.d.ts +8 -0
- package/dist/core/prototype/collection/definition.server.js +24 -0
- package/dist/core/prototype/collection/hooks/merge-with-blank.server.d.ts +5 -0
- package/dist/core/prototype/collection/hooks/merge-with-blank.server.js +28 -0
- package/dist/core/prototype/collection/hooks.server.d.ts +28 -0
- package/dist/core/prototype/collection/hooks.server.js +133 -0
- package/dist/core/prototype/collection/index.d.ts +1 -0
- package/dist/core/prototype/collection/index.js +1 -0
- package/dist/core/prototype/collection/nested/enabled.d.ts +8 -0
- package/dist/core/prototype/collection/nested/enabled.js +7 -0
- package/dist/core/prototype/collection/nested/hooks/add-children.server.d.ts +4 -0
- package/dist/core/prototype/collection/nested/hooks/add-children.server.js +40 -0
- package/dist/core/prototype/collection/nested/hooks/index.server.d.ts +9 -0
- package/dist/core/prototype/collection/nested/hooks/index.server.js +9 -0
- package/dist/core/prototype/collection/nested/module.d.ts +15 -0
- package/dist/core/prototype/collection/nested/module.js +17 -0
- package/dist/core/prototype/collection/nested/module.server.d.ts +16 -0
- package/dist/core/prototype/collection/nested/module.server.js +21 -0
- package/dist/core/prototype/collection/operations/create.d.ts +18 -0
- package/dist/core/prototype/collection/operations/create.js +68 -0
- package/dist/core/prototype/collection/operations/delete-by-id.d.ts +11 -0
- package/dist/core/prototype/collection/operations/delete-by-id.js +44 -0
- package/dist/core/prototype/collection/operations/delete.d.ts +15 -0
- package/dist/core/prototype/collection/operations/delete.js +34 -0
- package/dist/core/prototype/collection/operations/duplicate.d.ts +12 -0
- package/dist/core/prototype/collection/operations/duplicate.js +112 -0
- package/dist/core/prototype/collection/operations/find-by-id.d.ts +22 -0
- package/dist/core/prototype/collection/operations/find-by-id.js +47 -0
- package/dist/core/prototype/collection/operations/find.d.ts +22 -0
- package/dist/core/prototype/collection/operations/find.js +65 -0
- package/dist/core/prototype/collection/operations/update-by-id.d.ts +30 -0
- package/dist/core/prototype/collection/operations/update-by-id.js +52 -0
- package/dist/core/prototype/collection/rest/create.server.d.ts +4 -0
- package/dist/core/prototype/collection/rest/create.server.js +26 -0
- package/dist/core/prototype/collection/rest/delete-by-id.server.d.ts +4 -0
- package/dist/core/prototype/collection/rest/delete-by-id.server.js +16 -0
- package/dist/core/prototype/collection/rest/delete.server.d.ts +4 -0
- package/dist/core/prototype/collection/rest/delete.server.js +33 -0
- package/dist/core/prototype/collection/rest/duplicate.server.d.ts +1 -0
- package/dist/core/prototype/collection/rest/duplicate.server.js +17 -0
- package/dist/core/prototype/collection/rest/endpoint.server.d.ts +27 -0
- package/dist/core/prototype/collection/rest/endpoint.server.js +23 -0
- package/dist/core/prototype/collection/rest/get-by-id.server.d.ts +4 -0
- package/dist/core/prototype/collection/rest/get-by-id.server.js +40 -0
- package/dist/core/prototype/collection/rest/get.server.d.ts +4 -0
- package/dist/core/prototype/collection/rest/get.server.js +38 -0
- package/dist/core/prototype/collection/rest/index.server.d.ts +12 -0
- package/dist/core/prototype/collection/rest/index.server.js +24 -0
- package/dist/core/prototype/collection/rest/lock.server.d.ts +2 -0
- package/dist/core/prototype/collection/rest/lock.server.js +59 -0
- package/dist/core/prototype/collection/rest/update-by-id.server.d.ts +4 -0
- package/dist/core/prototype/collection/rest/update-by-id.server.js +44 -0
- package/dist/core/prototype/collection/thumbnail/augment.d.ts +13 -0
- package/dist/core/prototype/collection/thumbnail/augment.js +15 -0
- package/dist/core/prototype/collection/thumbnail/find-thumbnail.d.ts +9 -0
- package/dist/core/prototype/collection/thumbnail/find-thumbnail.js +34 -0
- package/dist/core/prototype/collection/thumbnail/hooks/index.server.d.ts +9 -0
- package/dist/core/prototype/collection/thumbnail/hooks/index.server.js +9 -0
- package/dist/core/prototype/collection/thumbnail/hooks/set-document-thumbnail.server.d.ts +7 -0
- package/dist/core/prototype/collection/thumbnail/hooks/set-document-thumbnail.server.js +40 -0
- package/dist/core/prototype/collection/types.d.ts +14 -0
- package/dist/core/prototype/collection/types.js +1 -0
- package/dist/core/prototype/collection/upload/boot/index.server.d.ts +13 -0
- package/dist/core/prototype/collection/upload/boot/index.server.js +11 -0
- package/dist/core/prototype/collection/upload/constant.d.ts +10 -0
- package/dist/core/prototype/collection/upload/constant.js +10 -0
- package/dist/core/prototype/collection/upload/directories/configure.d.ts +14 -0
- package/dist/core/prototype/collection/upload/directories/configure.js +19 -0
- package/dist/core/prototype/collection/upload/directories/configure.server.d.ts +12 -0
- package/dist/core/prototype/collection/upload/directories/configure.server.js +35 -0
- package/dist/core/prototype/collection/upload/directories/derive.d.ts +7 -0
- package/dist/core/prototype/collection/upload/directories/derive.js +56 -0
- package/dist/core/prototype/collection/upload/directories/pipeline.server.d.ts +10 -0
- package/dist/core/prototype/collection/upload/directories/pipeline.server.js +22 -0
- package/dist/core/prototype/collection/upload/disk/delete.server.d.ts +9 -0
- package/dist/core/prototype/collection/upload/disk/delete.server.js +106 -0
- package/dist/core/prototype/collection/upload/disk/save.server.d.ts +32 -0
- package/dist/core/prototype/collection/upload/disk/save.server.js +190 -0
- package/dist/core/prototype/collection/upload/doc-type.d.ts +14 -0
- package/dist/core/prototype/collection/upload/doc-type.js +28 -0
- package/dist/core/prototype/collection/upload/enabled.d.ts +8 -0
- package/dist/core/prototype/collection/upload/enabled.js +7 -0
- package/dist/core/prototype/collection/upload/ensure.server.d.ts +12 -0
- package/dist/core/prototype/collection/upload/ensure.server.js +19 -0
- package/dist/core/prototype/collection/upload/hooks/clean-up-files.server.d.ts +10 -0
- package/dist/core/prototype/collection/upload/hooks/clean-up-files.server.js +17 -0
- package/dist/core/prototype/collection/upload/hooks/convert-base64.server.d.ts +13 -0
- package/dist/core/prototype/collection/upload/hooks/convert-base64.server.js +36 -0
- package/dist/core/prototype/collection/upload/hooks/extract-path.server.d.ts +6 -0
- package/dist/core/prototype/collection/upload/hooks/extract-path.server.js +25 -0
- package/dist/core/prototype/collection/upload/hooks/handle-path-creation.server.d.ts +6 -0
- package/dist/core/prototype/collection/upload/hooks/handle-path-creation.server.js +82 -0
- package/dist/core/prototype/collection/upload/hooks/index.server.d.ts +13 -0
- package/dist/core/prototype/collection/upload/hooks/index.server.js +13 -0
- package/dist/core/prototype/collection/upload/hooks/populate-sizes.server.d.ts +4 -0
- package/dist/core/prototype/collection/upload/hooks/populate-sizes.server.js +48 -0
- package/dist/core/prototype/collection/upload/hooks/process-file-upload.server.d.ts +20 -0
- package/dist/core/prototype/collection/upload/hooks/process-file-upload.server.js +60 -0
- package/dist/core/prototype/collection/upload/hooks/update-directory-children.server.d.ts +10 -0
- package/dist/core/prototype/collection/upload/hooks/update-directory-children.server.js +47 -0
- package/dist/core/prototype/collection/upload/module.d.ts +15 -0
- package/dist/core/prototype/collection/upload/module.js +92 -0
- package/dist/core/prototype/collection/upload/module.server.d.ts +24 -0
- package/dist/core/prototype/collection/upload/module.server.js +36 -0
- package/dist/core/prototype/collection/upload/naming.d.ts +23 -0
- package/dist/core/prototype/collection/upload/naming.js +37 -0
- package/dist/core/prototype/collection/upload/types.d.ts +102 -0
- package/dist/core/prototype/collection/upload/types.js +1 -0
- package/dist/core/prototype/collection/upload/util/config.d.ts +16 -0
- package/dist/core/prototype/collection/upload/util/converter.server.d.ts +29 -0
- package/dist/core/prototype/collection/upload/util/converter.server.js +127 -0
- package/dist/core/prototype/collection/upload/util/path.d.ts +69 -0
- package/dist/core/prototype/collection/upload/util/path.js +143 -0
- package/dist/core/prototype/define.d.ts +112 -0
- package/dist/core/prototype/define.js +50 -0
- package/dist/core/prototype/doc.d.ts +31 -0
- package/dist/core/prototype/doc.js +118 -0
- package/dist/core/prototype/index.d.ts +14 -0
- package/dist/core/prototype/index.js +14 -0
- package/dist/core/prototype/naming.d.ts +22 -0
- package/dist/core/prototype/naming.js +23 -0
- package/dist/core/prototype/shared/metas/constant.d.ts +16 -0
- package/dist/core/prototype/shared/metas/constant.js +16 -0
- package/dist/core/prototype/shared/metas/fields.d.ts +8 -0
- package/dist/core/prototype/shared/metas/fields.js +27 -0
- package/dist/core/prototype/shared/metas/hooks/delete-panel-lock-metas.server.d.ts +9 -0
- package/dist/core/prototype/shared/metas/hooks/delete-panel-lock-metas.server.js +20 -0
- package/dist/core/prototype/shared/metas/hooks/index.server.d.ts +7 -0
- package/dist/core/prototype/shared/metas/hooks/index.server.js +7 -0
- package/dist/core/prototype/shared/metas/hooks/stamp-authorship.server.d.ts +2 -0
- package/dist/core/prototype/shared/metas/hooks/stamp-authorship.server.js +27 -0
- package/dist/core/prototype/shared/metas/lock.d.ts +15 -0
- package/dist/core/prototype/shared/metas/lock.js +30 -0
- package/dist/core/prototype/shared/metas/lock.server.d.ts +46 -0
- package/dist/core/prototype/shared/metas/lock.server.js +91 -0
- package/dist/core/prototype/shared/metas/module.d.ts +38 -0
- package/dist/core/prototype/shared/metas/module.js +38 -0
- package/dist/core/prototype/shared/metas/module.server.d.ts +30 -0
- package/dist/core/prototype/shared/metas/module.server.js +38 -0
- package/dist/core/prototype/shared/title/augment.d.ts +27 -0
- package/dist/core/prototype/shared/title/augment.js +19 -0
- package/dist/core/prototype/shared/title/find-title.d.ts +14 -0
- package/dist/core/prototype/shared/title/find-title.js +35 -0
- package/dist/core/prototype/shared/title/hooks/index.server.d.ts +9 -0
- package/dist/core/prototype/shared/title/hooks/index.server.js +9 -0
- package/dist/core/prototype/shared/title/hooks/set-document-title.server.d.ts +4 -0
- package/dist/core/prototype/shared/title/hooks/set-document-title.server.js +32 -0
- package/dist/core/prototype/shared/title/select.d.ts +16 -0
- package/dist/core/prototype/shared/title/select.js +24 -0
- package/dist/core/prototype/shared/url/augment.d.ts +13 -0
- package/dist/core/prototype/shared/url/augment.js +11 -0
- package/dist/core/prototype/shared/url/enabled.d.ts +8 -0
- package/dist/core/prototype/shared/url/enabled.js +7 -0
- package/dist/core/prototype/shared/url/hooks/index.server.d.ts +9 -0
- package/dist/core/prototype/shared/url/hooks/index.server.js +9 -0
- package/dist/core/prototype/shared/url/hooks/populate-url.server.d.ts +4 -0
- package/dist/core/prototype/shared/url/hooks/populate-url.server.js +120 -0
- package/dist/core/prototype/shared/versions/augment.d.ts +23 -0
- package/dist/core/prototype/shared/versions/augment.js +47 -0
- package/dist/core/prototype/shared/versions/auto-saves.server.d.ts +16 -0
- package/dist/core/prototype/shared/versions/auto-saves.server.js +29 -0
- package/dist/core/prototype/shared/versions/blank.d.ts +13 -0
- package/dist/core/prototype/shared/versions/blank.js +15 -0
- package/dist/core/prototype/shared/versions/configure.server.d.ts +7 -0
- package/dist/core/prototype/shared/versions/configure.server.js +75 -0
- package/dist/core/prototype/shared/versions/constant.d.ts +14 -0
- package/dist/core/prototype/shared/versions/constant.js +13 -0
- package/dist/core/prototype/shared/versions/doc-type.d.ts +8 -0
- package/dist/core/prototype/shared/versions/doc-type.js +9 -0
- package/dist/core/prototype/shared/versions/enabled.d.ts +10 -0
- package/dist/core/prototype/shared/versions/enabled.js +9 -0
- package/dist/core/prototype/shared/versions/hooks/define-version-operation.server.d.ts +19 -0
- package/dist/core/prototype/shared/versions/hooks/define-version-operation.server.js +37 -0
- package/dist/core/prototype/shared/versions/hooks/demote-other-versions.d.ts +17 -0
- package/dist/core/prototype/shared/versions/hooks/demote-other-versions.js +37 -0
- package/dist/core/prototype/shared/versions/hooks/discard-auto-saves-of.server.d.ts +8 -0
- package/dist/core/prototype/shared/versions/hooks/discard-auto-saves-of.server.js +17 -0
- package/dist/core/prototype/shared/versions/hooks/expose-version-id.d.ts +12 -0
- package/dist/core/prototype/shared/versions/hooks/expose-version-id.js +17 -0
- package/dist/core/prototype/shared/versions/hooks/fallback-data-from-original.d.ts +9 -0
- package/dist/core/prototype/shared/versions/hooks/fallback-data-from-original.js +31 -0
- package/dist/core/prototype/shared/versions/hooks/handle-new-version.server.d.ts +32 -0
- package/dist/core/prototype/shared/versions/hooks/handle-new-version.server.js +194 -0
- package/dist/core/prototype/shared/versions/hooks/index.server.d.ts +15 -0
- package/dist/core/prototype/shared/versions/hooks/index.server.js +15 -0
- package/dist/core/prototype/shared/versions/hooks/prevent-last-version-deletion.server.d.ts +7 -0
- package/dist/core/prototype/shared/versions/hooks/prevent-last-version-deletion.server.js +21 -0
- package/dist/core/prototype/shared/versions/hooks/strip-auto-save-flag.server.d.ts +7 -0
- package/dist/core/prototype/shared/versions/hooks/strip-auto-save-flag.server.js +14 -0
- package/dist/core/prototype/shared/versions/module.browser.js +1 -0
- package/dist/core/prototype/shared/versions/module.server.d.ts +1 -0
- package/dist/core/prototype/shared/versions/module.server.js +4 -0
- package/dist/core/prototype/shared/versions/naming.d.ts +7 -0
- package/dist/core/prototype/shared/versions/naming.js +21 -0
- package/dist/core/prototype/shared/versions/read-query.d.ts +27 -0
- package/dist/core/prototype/shared/versions/read-query.js +35 -0
- package/dist/core/prototype/shared/versions/retire-auto-saves.server.d.ts +16 -0
- package/dist/core/prototype/shared/versions/retire-auto-saves.server.js +29 -0
- package/dist/core/prototype/shared/versions/strategy.d.ts +86 -0
- package/dist/core/prototype/shared/versions/strategy.js +93 -0
- package/dist/core/prototype/shared/versions/types.d.ts +37 -0
- package/dist/core/prototype/shared/versions/types.js +1 -0
- package/dist/core/prototype/shared/versions/validate-config.server.d.ts +8 -0
- package/dist/core/prototype/shared/versions/validate-config.server.js +21 -0
- package/dist/core/prototype/shared/versions/write-plan.d.ts +30 -0
- package/dist/core/prototype/shared/versions/write-plan.js +38 -0
- package/dist/core/prototype/types.d.ts +79 -0
- package/dist/core/prototype/types.js +1 -0
- package/dist/core/prototype/when.d.ts +25 -0
- package/dist/core/prototype/when.js +32 -0
- package/dist/core/rime.server.d.ts +64 -4363
- package/dist/core/rime.server.js +45 -93
- package/dist/core/routes/constants.d.ts +12 -0
- package/dist/core/routes/constants.js +16 -0
- package/dist/core/routes/constants.server.d.ts +5 -0
- package/dist/core/routes/constants.server.js +9 -0
- package/dist/core/routes/context.server.d.ts +17 -0
- package/dist/core/routes/context.server.js +29 -0
- package/dist/core/routes/handler.server.d.ts +58 -0
- package/dist/core/routes/handler.server.js +107 -0
- package/dist/core/routes/panel-navigation.d.ts +18 -0
- package/dist/core/routes/panel-navigation.js +64 -0
- package/dist/core/routes/util.d.ts +24 -0
- package/dist/core/routes/util.js +44 -0
- package/dist/fields/blocks/component/AddBlockButton.svelte +1 -1
- package/dist/fields/blocks/component/AddBlockButton.svelte.d.ts +1 -1
- package/dist/fields/blocks/component/Block.svelte +1 -1
- package/dist/fields/blocks/component/Blocks.svelte +1 -1
- package/dist/fields/blocks/index.d.ts +2 -1
- package/dist/fields/blocks/index.js +18 -2
- package/dist/fields/email/index.js +1 -1
- package/dist/fields/group/component/Group.svelte +1 -1
- package/dist/fields/group/component/Group.svelte.d.ts +1 -1
- package/dist/fields/group/index.d.ts +2 -2
- package/dist/fields/link/component/RessourceInput.svelte +2 -2
- package/dist/fields/link/index.d.ts +1 -1
- package/dist/fields/link/index.js +57 -60
- package/dist/fields/link/module.server.js +1 -1
- package/dist/fields/number/index.d.ts +1 -1
- package/dist/fields/relation/component/Cell.svelte +2 -2
- package/dist/fields/relation/component/Relation.svelte +13 -22
- package/dist/fields/relation/component/default/Default.svelte +4 -3
- package/dist/fields/relation/component/types.d.ts +2 -1
- package/dist/fields/relation/component/upload/Browse.svelte +4 -4
- package/dist/fields/relation/component/upload/Upload.svelte +2 -2
- package/dist/fields/relation/index.d.ts +11 -1
- package/dist/fields/relation/index.js +81 -63
- package/dist/fields/relation/module.server.js +3 -8
- package/dist/fields/rich-text/core/features/link/component/link-selector.svelte +2 -2
- package/dist/fields/rich-text/core/features/resource/resource-extension.d.ts +1 -1
- package/dist/fields/rich-text/core/features/resource/resource.svelte +2 -2
- package/dist/fields/rich-text/core/features/upload/upload.svelte +2 -2
- package/dist/fields/slug/index.d.ts +1 -1
- package/dist/fields/tabs/index.d.ts +1 -1
- package/dist/fields/text/index.d.ts +1 -1
- package/dist/fields/textarea/index.d.ts +1 -1
- package/dist/fields/toggle/index.d.ts +1 -1
- package/dist/fields/tree/component/TreeBlock.svelte +1 -1
- package/dist/fields/tree/component/TreeBlock.svelte.d.ts +1 -1
- package/dist/fields/tree/component/props.d.ts +1 -1
- package/dist/fields/tree/index.d.ts +1 -1
- package/dist/fields/tree/index.js +12 -1
- package/dist/fields/types.d.ts +4 -9
- package/dist/index.d.ts +5 -2
- package/dist/index.js +2 -1
- package/dist/panel/components/Root.svelte +12 -8
- package/dist/panel/components/Root.svelte.d.ts +1 -1
- package/dist/panel/components/sections/auth/AuthForm.svelte +3 -0
- package/dist/panel/components/sections/collection/StatusDot.svelte +2 -1
- package/dist/panel/components/sections/collection/StatusDot.svelte.d.ts +1 -1
- package/dist/panel/components/sections/collection/bulk-upload/DropZone.svelte +1 -1
- package/dist/panel/components/sections/collection/folder/FolderEdit.svelte +2 -2
- package/dist/panel/components/sections/collection/folder/FolderEdit.svelte.d.ts +1 -1
- package/dist/panel/components/sections/collection/folder/FolderWithActions.svelte +8 -8
- package/dist/panel/components/sections/collection/folder/FolderWithActions.svelte.d.ts +1 -1
- package/dist/panel/components/sections/collection/grid/create-directory-dialog/CreateDirectoryDialog.svelte +1 -1
- package/dist/panel/components/sections/collection/grid/grid-item/GridItem.svelte +7 -5
- package/dist/panel/components/sections/collection/grid/grid-item/GridItem.svelte.d.ts +1 -1
- package/dist/panel/components/sections/collection/header/ButtonCreate.svelte +9 -6
- package/dist/panel/components/sections/collection/header/DisplayMode.svelte +1 -2
- package/dist/panel/components/sections/collection/header/Header.svelte +2 -5
- package/dist/panel/components/sections/collection/list/CollectionList.svelte +1 -1
- package/dist/panel/components/sections/collection/list/header/Header.svelte +7 -1
- package/dist/panel/components/sections/collection/list/row/Row.svelte +9 -4
- package/dist/panel/components/sections/collection/list/row/Row.svelte.d.ts +1 -1
- package/dist/panel/components/sections/collection/tree/CollectionTreeNode.svelte +2 -2
- package/dist/panel/components/sections/collection/tree/CollectionTreeNode.svelte.d.ts +1 -1
- package/dist/panel/components/sections/collection/upload-thumb-cell/UploadThumbCell.svelte +1 -1
- package/dist/panel/components/sections/document/AuthFooter.svelte +3 -3
- package/dist/panel/components/sections/document/AutoSaveBanner.svelte +115 -0
- package/dist/panel/components/sections/document/AutoSaveBanner.svelte.d.ts +16 -0
- package/dist/panel/components/sections/document/ButtonStatus.svelte +12 -5
- package/dist/panel/components/sections/document/CurrentlyEdited.svelte +10 -27
- package/dist/panel/components/sections/document/CurrentlyEdited.svelte.d.ts +6 -5
- package/dist/panel/components/sections/document/Document.svelte +220 -18
- package/dist/panel/components/sections/document/Document.svelte.d.ts +1 -1
- package/dist/panel/components/sections/document/Header.svelte +49 -5
- package/dist/panel/components/sections/document/Header.svelte.d.ts +2 -0
- package/dist/panel/components/sections/document/Settings.svelte +77 -21
- package/dist/panel/components/sections/document/Versions.svelte +140 -51
- package/dist/panel/components/sections/document/Versions.svelte.d.ts +11 -8
- package/dist/panel/components/sections/document/upload-header/UploadHeader.svelte +4 -2
- package/dist/panel/components/sections/document/upload-header/UploadHeader.svelte.d.ts +1 -1
- package/dist/panel/components/sections/document/upload-header/drop-zone/DropZone.svelte +1 -1
- package/dist/panel/components/sections/document/upload-header/drop-zone/DropZone.svelte.d.ts +2 -2
- package/dist/panel/components/sections/document/versions-list.d.ts +10 -0
- package/dist/panel/components/sections/document/versions-list.js +10 -0
- package/dist/panel/components/sections/live/Consumer.svelte +1 -1
- package/dist/panel/components/sections/live/Consumer.svelte.d.ts +1 -1
- package/dist/panel/components/sections/live/LiveEdit.svelte +1 -1
- package/dist/panel/components/ui/card-resource/card-resource.svelte +13 -2
- package/dist/panel/components/ui/nav/Nav.svelte +3 -3
- package/dist/panel/components/ui/nav/NavItem.svelte +2 -1
- package/dist/panel/components/ui/nav/UserButton.svelte +1 -1
- package/dist/panel/context/collection.svelte.d.ts +2 -2
- package/dist/panel/context/collection.svelte.js +6 -7
- package/dist/panel/context/config.svelte.d.ts +1 -1
- package/dist/panel/context/documentForm.svelte.d.ts +19 -3
- package/dist/panel/context/documentForm.svelte.js +210 -36
- package/dist/panel/context/live.svelte.d.ts +1 -1
- package/dist/panel/context/live.svelte.js +2 -2
- package/dist/panel/context/user.svelte.d.ts +1 -1
- package/dist/panel/context/versions.svelte.d.ts +8 -0
- package/dist/panel/context/versions.svelte.js +34 -0
- package/dist/panel/index.d.ts +15 -12
- package/dist/panel/index.js +1 -3
- package/dist/panel/pages/area/Area.svelte +7 -2
- package/dist/panel/pages/area/Area.svelte.d.ts +1 -1
- package/dist/panel/pages/area/actions.server.js +31 -17
- package/dist/panel/pages/area/load.server.d.ts +1 -1
- package/dist/panel/pages/area/load.server.js +10 -25
- package/dist/panel/pages/auth/fields.js +1 -1
- package/dist/panel/pages/auth/forgot-password/ForgotPassword.svelte +1 -1
- package/dist/panel/pages/auth/forgot-password/load.server.js +3 -2
- package/dist/panel/pages/auth/reset-password/ResetPassword.svelte +1 -1
- package/dist/panel/pages/auth/reset-password/load.server.js +3 -2
- package/dist/panel/pages/auth/sign-in/SignIn.svelte +1 -1
- package/dist/panel/pages/auth/sign-in/load.server.d.ts +1 -1
- package/dist/panel/pages/auth/sign-in/load.server.js +5 -4
- package/dist/panel/pages/collection/Collection.svelte +15 -138
- package/dist/panel/pages/collection/Collection.svelte.d.ts +5 -8
- package/dist/panel/pages/collection/CollectionPage.svelte +146 -0
- package/dist/panel/pages/collection/CollectionPage.svelte.d.ts +18 -0
- package/dist/panel/pages/collection/load.server.d.ts +3 -3
- package/dist/panel/pages/collection/load.server.js +8 -10
- package/dist/panel/pages/collection-document/CollectionDocument.svelte +7 -2
- package/dist/panel/pages/collection-document/CollectionDocument.svelte.d.ts +1 -1
- package/dist/panel/pages/collection-document/actions.server.js +28 -12
- package/dist/panel/pages/collection-document/load.server.d.ts +1 -1
- package/dist/panel/pages/collection-document/load.server.js +16 -25
- package/dist/panel/pages/dashboard/Dashboard.svelte +1 -1
- package/dist/panel/pages/dashboard/Dashboard.svelte.d.ts +1 -1
- package/dist/panel/pages/dashboard/load.server.js +23 -21
- package/dist/panel/pages/dashboard/types.d.ts +1 -1
- package/dist/panel/pages/live/Live.svelte +1 -2
- package/dist/panel/pages/live/load.server.js +1 -1
- package/dist/panel/types.d.ts +2 -2
- package/dist/panel/util/live.server.d.ts +1 -1
- package/dist/panel/util/live.server.js +2 -2
- package/dist/panel/util/url.d.ts +0 -35
- package/dist/panel/util/url.js +1 -43
- package/dist/server.d.ts +6 -5
- package/dist/server.js +6 -5
- package/dist/types.d.ts +12 -6
- package/dist/util/coerce.d.ts +12 -0
- package/dist/util/coerce.js +38 -0
- package/dist/util/index.d.ts +16 -9
- package/dist/util/index.js +14 -12
- package/dist/util/object.d.ts +10 -0
- package/dist/util/object.js +14 -1
- package/dist/util/path.d.ts +16 -0
- package/dist/util/path.js +19 -0
- package/dist/util/string.d.ts +25 -0
- package/dist/util/string.js +30 -0
- package/dist/util/types.d.ts +5 -10
- package/dist/util/types.js +5 -0
- package/package.json +83 -21
- package/dist/.rime-modules.d.ts +0 -23
- package/dist/.rime-modules.json +0 -1
- package/dist/adapter-sqlite/generate-schema/relations/definition.server.d.ts +0 -55
- package/dist/adapter-sqlite/generate-schema/relations/definition.server.js +0 -52
- package/dist/adapter-sqlite/generate-schema/util.server.d.ts +0 -49
- package/dist/adapter-sqlite/generate-schema/util.server.js +0 -58
- package/dist/adapter-sqlite/orderBy.server.d.ts +0 -11
- package/dist/adapter-sqlite/orderBy.server.js +0 -98
- package/dist/adapter-sqlite/url.server.d.ts +0 -14
- package/dist/adapter-sqlite/url.server.js +0 -77
- package/dist/adapter-sqlite/util.server.d.ts +0 -174
- package/dist/adapter-sqlite/util.server.js +0 -357
- package/dist/adapter-sqlite/with.server.d.ts +0 -9
- package/dist/adapter-sqlite/with.server.js +0 -266
- package/dist/core/areas/config/augment-hooks.server.d.ts +0 -10
- package/dist/core/areas/config/augment-hooks.server.js +0 -51
- package/dist/core/areas/config/augment-metas.d.ts +0 -10
- package/dist/core/areas/config/augment-metas.js +0 -13
- package/dist/core/areas/config/augment-title.d.ts +0 -9
- package/dist/core/areas/config/augment-title.js +0 -8
- package/dist/core/areas/config/augment-url.d.ts +0 -10
- package/dist/core/areas/config/augment-url.js +0 -14
- package/dist/core/areas/config/augment-versions.d.ts +0 -14
- package/dist/core/areas/config/augment-versions.js +0 -25
- package/dist/core/areas/config/builder.d.ts +0 -3
- package/dist/core/areas/config/builder.js +0 -33
- package/dist/core/areas/config/builder.server.d.ts +0 -15
- package/dist/core/areas/config/builder.server.js +0 -35
- package/dist/core/areas/local-api.server.d.ts +0 -80
- package/dist/core/areas/local-api.server.js +0 -126
- package/dist/core/areas/operations/find.d.ts +0 -15
- package/dist/core/areas/operations/find.js +0 -52
- package/dist/core/areas/operations/update.d.ts +0 -15
- package/dist/core/areas/operations/update.js +0 -101
- package/dist/core/areas/rest/get.server.d.ts +0 -18
- package/dist/core/areas/rest/get.server.js +0 -45
- package/dist/core/areas/rest/index.server.d.ts +0 -6
- package/dist/core/areas/rest/index.server.js +0 -3
- package/dist/core/areas/rest/update.server.d.ts +0 -18
- package/dist/core/areas/rest/update.server.js +0 -43
- package/dist/core/collections/auth/constant.server.d.ts +0 -9
- package/dist/core/collections/auth/constant.server.js +0 -9
- package/dist/core/collections/auth/fields.d.ts +0 -13
- package/dist/core/collections/auth/fields.js +0 -55
- package/dist/core/collections/auth/hooks/after-create/populate-api-key.server.d.ts +0 -5
- package/dist/core/collections/auth/hooks/after-create/populate-api-key.server.js +0 -22
- package/dist/core/collections/auth/hooks/after-delete/delete-better-auth-user.server.d.ts +0 -4
- package/dist/core/collections/auth/hooks/after-delete/delete-better-auth-user.server.js +0 -25
- package/dist/core/collections/auth/hooks/before-create/create-better-auth-user.server.d.ts +0 -4
- package/dist/core/collections/auth/hooks/before-create/create-better-auth-user.server.js +0 -187
- package/dist/core/collections/auth/hooks/before-delete/prevent-superadmin-deletion.server.d.ts +0 -1
- package/dist/core/collections/auth/hooks/before-delete/prevent-superadmin-deletion.server.js +0 -10
- package/dist/core/collections/auth/hooks/before-read/remove-private-fields.server.d.ts +0 -1
- package/dist/core/collections/auth/hooks/before-read/remove-private-fields.server.js +0 -8
- package/dist/core/collections/auth/hooks/before-update/forward-roles.server.d.ts +0 -4
- package/dist/core/collections/auth/hooks/before-update/forward-roles.server.js +0 -54
- package/dist/core/collections/auth/hooks/before-update/prevent-superadmin-mutation.server.d.ts +0 -5
- package/dist/core/collections/auth/hooks/before-update/prevent-superadmin-mutation.server.js +0 -27
- package/dist/core/collections/auth/hooks/before-update/prevent-user-mutations.server.d.ts +0 -5
- package/dist/core/collections/auth/hooks/before-update/prevent-user-mutations.server.js +0 -18
- package/dist/core/collections/auth/hooks/before-upsert/augment-fields-password.server.d.ts +0 -6
- package/dist/core/collections/auth/hooks/before-upsert/augment-fields-password.server.js +0 -21
- package/dist/core/collections/auth/hooks/hooks.server.d.ts +0 -8
- package/dist/core/collections/auth/hooks/hooks.server.js +0 -8
- package/dist/core/collections/auth/types.d.ts +0 -8
- package/dist/core/collections/auth/util.d.ts +0 -13
- package/dist/core/collections/config/augment-auth.d.ts +0 -17
- package/dist/core/collections/config/augment-auth.js +0 -88
- package/dist/core/collections/config/augment-auth.server.d.ts +0 -3
- package/dist/core/collections/config/augment-auth.server.js +0 -23
- package/dist/core/collections/config/augment-hooks.server.d.ts +0 -14
- package/dist/core/collections/config/augment-hooks.server.js +0 -98
- package/dist/core/collections/config/augment-label.d.ts +0 -6
- package/dist/core/collections/config/augment-metas.d.ts +0 -9
- package/dist/core/collections/config/augment-metas.js +0 -12
- package/dist/core/collections/config/augment-nested.d.ts +0 -12
- package/dist/core/collections/config/augment-nested.js +0 -15
- package/dist/core/collections/config/augment-nested.server.d.ts +0 -12
- package/dist/core/collections/config/augment-nested.server.js +0 -18
- package/dist/core/collections/config/augment-panel.d.ts +0 -13
- package/dist/core/collections/config/augment-panel.js +0 -19
- package/dist/core/collections/config/augment-thumbnail.d.ts +0 -16
- package/dist/core/collections/config/augment-thumbnail.js +0 -15
- package/dist/core/collections/config/augment-title.d.ts +0 -16
- package/dist/core/collections/config/augment-title.js +0 -27
- package/dist/core/collections/config/augment-upload.d.ts +0 -10
- package/dist/core/collections/config/augment-upload.js +0 -59
- package/dist/core/collections/config/augment-upload.server.d.ts +0 -7
- package/dist/core/collections/config/augment-upload.server.js +0 -19
- package/dist/core/collections/config/augment-url.d.ts +0 -10
- package/dist/core/collections/config/augment-url.js +0 -14
- package/dist/core/collections/config/augment-versions.d.ts +0 -14
- package/dist/core/collections/config/augment-versions.js +0 -24
- package/dist/core/collections/config/builder.d.ts +0 -3
- package/dist/core/collections/config/builder.js +0 -51
- package/dist/core/collections/config/builder.server.d.ts +0 -15
- package/dist/core/collections/config/builder.server.js +0 -47
- package/dist/core/collections/config/types.d.ts +0 -3
- package/dist/core/collections/local-api.server.d.ts +0 -166
- package/dist/core/collections/local-api.server.js +0 -303
- package/dist/core/collections/nested/hooks/index.server.d.ts +0 -4
- package/dist/core/collections/nested/hooks/index.server.js +0 -33
- package/dist/core/collections/operations/create.d.ts +0 -16
- package/dist/core/collections/operations/create.js +0 -119
- package/dist/core/collections/operations/delete.d.ts +0 -17
- package/dist/core/collections/operations/delete.js +0 -32
- package/dist/core/collections/operations/deleteById.d.ts +0 -13
- package/dist/core/collections/operations/deleteById.js +0 -48
- package/dist/core/collections/operations/duplicate.d.ts +0 -12
- package/dist/core/collections/operations/duplicate.js +0 -142
- package/dist/core/collections/operations/find.d.ts +0 -21
- package/dist/core/collections/operations/find.js +0 -70
- package/dist/core/collections/operations/findById.d.ts +0 -16
- package/dist/core/collections/operations/findById.js +0 -53
- package/dist/core/collections/operations/updateById.d.ts +0 -20
- package/dist/core/collections/operations/updateById.js +0 -111
- package/dist/core/collections/rest/create.server.d.ts +0 -18
- package/dist/core/collections/rest/create.server.js +0 -37
- package/dist/core/collections/rest/delete.server.d.ts +0 -18
- package/dist/core/collections/rest/delete.server.js +0 -37
- package/dist/core/collections/rest/deleteById.server.d.ts +0 -18
- package/dist/core/collections/rest/deleteById.server.js +0 -21
- package/dist/core/collections/rest/duplicate.server.d.ts +0 -15
- package/dist/core/collections/rest/duplicate.server.js +0 -20
- package/dist/core/collections/rest/get.server.d.ts +0 -18
- package/dist/core/collections/rest/get.server.js +0 -50
- package/dist/core/collections/rest/getById.server.d.ts +0 -18
- package/dist/core/collections/rest/getById.server.js +0 -35
- package/dist/core/collections/rest/index.server.d.ts +0 -16
- package/dist/core/collections/rest/index.server.js +0 -16
- package/dist/core/collections/rest/updateById.server.d.ts +0 -18
- package/dist/core/collections/rest/updateById.server.js +0 -44
- package/dist/core/collections/upload/disk/delete.server.d.ts +0 -9
- package/dist/core/collections/upload/disk/delete.server.js +0 -77
- package/dist/core/collections/upload/disk/save.server.d.ts +0 -32
- package/dist/core/collections/upload/disk/save.server.js +0 -190
- package/dist/core/collections/upload/hooks/clean-up-files.server.d.ts +0 -10
- package/dist/core/collections/upload/hooks/clean-up-files.server.js +0 -17
- package/dist/core/collections/upload/hooks/convert-base64.server.d.ts +0 -13
- package/dist/core/collections/upload/hooks/convert-base64.server.js +0 -36
- package/dist/core/collections/upload/hooks/extract-path.server.d.ts +0 -6
- package/dist/core/collections/upload/hooks/extract-path.server.js +0 -25
- package/dist/core/collections/upload/hooks/handle-path-creation.server.d.ts +0 -6
- package/dist/core/collections/upload/hooks/handle-path-creation.server.js +0 -64
- package/dist/core/collections/upload/hooks/populate-sizes.server.d.ts +0 -1
- package/dist/core/collections/upload/hooks/populate-sizes.server.js +0 -45
- package/dist/core/collections/upload/hooks/process-file-upload.server.d.ts +0 -20
- package/dist/core/collections/upload/hooks/process-file-upload.server.js +0 -60
- package/dist/core/collections/upload/hooks/update-directory-children.server.d.ts +0 -2
- package/dist/core/collections/upload/hooks/update-directory-children.server.js +0 -41
- package/dist/core/collections/upload/upload.d.ts +0 -16
- package/dist/core/collections/upload/util/config.d.ts +0 -16
- package/dist/core/collections/upload/util/converter.server.d.ts +0 -16
- package/dist/core/collections/upload/util/converter.server.js +0 -105
- package/dist/core/collections/upload/util/path.d.ts +0 -66
- package/dist/core/collections/upload/util/path.js +0 -139
- package/dist/core/collections/versions/operations.d.ts +0 -93
- package/dist/core/collections/versions/operations.js +0 -117
- package/dist/core/config/auth/better-auth-hooks.server.js +0 -138
- package/dist/core/config/auth/better-auth.server.d.ts +0 -2121
- package/dist/core/config/auth/better-auth.server.js +0 -81
- package/dist/core/config/client/augment-directories.d.ts +0 -6
- package/dist/core/config/client/augment-directories.js +0 -11
- package/dist/core/config/client/augment-panel.d.ts +0 -35
- package/dist/core/config/client/augment-panel.js +0 -22
- package/dist/core/config/client/augment-plugins.d.ts +0 -4
- package/dist/core/config/client/augment-plugins.js +0 -13
- package/dist/core/config/client/augment-staff.d.ts +0 -7
- package/dist/core/config/client/augment-staff.js +0 -6
- package/dist/core/config/client/build-config.d.ts +0 -41
- package/dist/core/config/client/build-config.js +0 -13
- package/dist/core/config/client/index.d.ts +0 -4
- package/dist/core/config/client/index.js +0 -4
- package/dist/core/config/config-context.server.d.ts +0 -70
- package/dist/core/config/config-context.server.js +0 -113
- package/dist/core/config/server/augment-cors.server.d.ts +0 -4
- package/dist/core/config/server/augment-cors.server.js +0 -7
- package/dist/core/config/server/augment-directories.server.d.ts +0 -6
- package/dist/core/config/server/augment-directories.server.js +0 -37
- package/dist/core/config/server/augment-panel-access.server.d.ts +0 -28
- package/dist/core/config/server/augment-panel-access.server.js +0 -8
- package/dist/core/config/server/augment-plugins.server.d.ts +0 -5
- package/dist/core/config/server/augment-plugins.server.js +0 -45
- package/dist/core/config/server/augment-staff.server.d.ts +0 -7
- package/dist/core/config/server/augment-staff.server.js +0 -6
- package/dist/core/config/server/build-config.server.d.ts +0 -123
- package/dist/core/config/server/build-config.server.js +0 -28
- package/dist/core/config/server/index.server.d.ts +0 -9
- package/dist/core/config/server/index.server.js +0 -11
- package/dist/core/config/server/validate.server.d.ts +0 -3
- package/dist/core/config/server/validate.server.js +0 -234
- package/dist/core/config/server/write.server.js +0 -77
- package/dist/core/config/shared/augment-icons.d.ts +0 -9
- package/dist/core/config/shared/augment-icons.js +0 -11
- package/dist/core/config/shared/augment-prototypes.d.ts +0 -8
- package/dist/core/config/shared/augment-prototypes.js +0 -7
- package/dist/core/config/shared/compile.d.ts +0 -19
- package/dist/core/config/shared/compile.js +0 -26
- package/dist/core/config/shared/find-thumbnail.d.ts +0 -9
- package/dist/core/config/shared/find-thumbnail.js +0 -34
- package/dist/core/config/shared/find-title.d.ts +0 -14
- package/dist/core/config/shared/find-title.js +0 -35
- package/dist/core/config/shared/get-staff-collection.d.ts +0 -22
- package/dist/core/config/shared/get-staff-collection.js +0 -55
- package/dist/core/config/shared/upload-directories.d.ts +0 -7
- package/dist/core/config/shared/upload-directories.js +0 -55
- package/dist/core/config/shared/versions-alias.server.d.ts +0 -10
- package/dist/core/config/shared/versions-alias.server.js +0 -59
- package/dist/core/constant.d.ts +0 -62
- package/dist/core/constant.js +0 -73
- package/dist/core/constant.server.d.ts +0 -2
- package/dist/core/constant.server.js +0 -3
- package/dist/core/dev/cache/index.server.d.ts +0 -11
- package/dist/core/dev/cache/index.server.js +0 -37
- package/dist/core/dev/cli/build/index.js +0 -70
- package/dist/core/dev/cli/build/templates.js +0 -45
- package/dist/core/dev/cli/clear/index.server.js +0 -42
- package/dist/core/dev/cli/generate/index.server.js +0 -98
- package/dist/core/dev/cli/generate-manifest/index.server.d.ts +0 -17
- package/dist/core/dev/cli/generate-manifest/index.server.js +0 -221
- package/dist/core/dev/cli/init/index.server.js +0 -241
- package/dist/core/dev/cli/init/templates.js +0 -116
- package/dist/core/dev/cli/util/log.server.d.ts +0 -1
- package/dist/core/dev/cli/util/log.server.js +0 -4
- package/dist/core/dev/constants.d.ts +0 -34
- package/dist/core/dev/constants.js +0 -76
- package/dist/core/dev/generate/routes/common.server.d.ts +0 -17
- package/dist/core/dev/generate/routes/common.server.js +0 -500
- package/dist/core/dev/generate/routes/custom-css.server.js +0 -86
- package/dist/core/dev/generate/routes/index.server.d.ts +0 -15
- package/dist/core/dev/generate/routes/index.server.js +0 -89
- package/dist/core/dev/generate/routes/util.server.d.ts +0 -50
- package/dist/core/dev/generate/routes/util.server.js +0 -112
- package/dist/core/dev/generate/runtime/index.server.d.ts +0 -44
- package/dist/core/dev/generate/runtime/index.server.js +0 -92
- package/dist/core/dev/generate/runtime/parse-exports.server.d.ts +0 -7
- package/dist/core/dev/generate/runtime/parse-exports.server.js +0 -40
- package/dist/core/dev/generate/sanitize/index.server.js +0 -834
- package/dist/core/dev/generate/types/index.server.js +0 -368
- package/dist/core/dev/vite/index.server.js +0 -308
- package/dist/core/ensure.server.d.ts +0 -34
- package/dist/core/ensure.server.js +0 -91
- package/dist/core/handlers/auth.server.js +0 -162
- package/dist/core/handlers/cors.server.js +0 -73
- package/dist/core/handlers/index.d.ts +0 -3
- package/dist/core/handlers/index.js +0 -16
- package/dist/core/handlers/main.server.d.ts +0 -4
- package/dist/core/handlers/main.server.js +0 -14
- package/dist/core/handlers/plugins.server.js +0 -10
- package/dist/core/handlers/routes.server.d.ts +0 -71
- package/dist/core/handlers/routes.server.js +0 -89
- package/dist/core/naming.d.ts +0 -82
- package/dist/core/naming.js +0 -86
- package/dist/core/operations/blocks/diff.server.d.ts +0 -15
- package/dist/core/operations/blocks/diff.server.js +0 -82
- package/dist/core/operations/blocks/extract.server.d.ts +0 -9
- package/dist/core/operations/blocks/extract.server.js +0 -33
- package/dist/core/operations/blocks/index.server.d.ts +0 -26
- package/dist/core/operations/blocks/index.server.js +0 -71
- package/dist/core/operations/configMap/buildTreeMap.d.ts +0 -4
- package/dist/core/operations/configMap/index.d.ts +0 -6
- package/dist/core/operations/configMap/index.js +0 -54
- package/dist/core/operations/extract-data.server.d.ts +0 -37
- package/dist/core/operations/extract-data.server.js +0 -101
- package/dist/core/operations/hooks/before-create/merge-with-blank.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-create/merge-with-blank.server.js +0 -24
- package/dist/core/operations/hooks/before-operation/authorize.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-operation/authorize.server.js +0 -32
- package/dist/core/operations/hooks/before-read/populate-url.server.d.ts +0 -4
- package/dist/core/operations/hooks/before-read/populate-url.server.js +0 -108
- package/dist/core/operations/hooks/before-read/process-document-fields.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-read/process-document-fields.server.js +0 -58
- package/dist/core/operations/hooks/before-read/set-document-locale.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-read/set-document-locale.server.js +0 -15
- package/dist/core/operations/hooks/before-read/set-document-thumbnail.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-read/set-document-thumbnail.server.js +0 -34
- package/dist/core/operations/hooks/before-read/set-document-title.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-read/set-document-title.server.js +0 -29
- package/dist/core/operations/hooks/before-read/set-document-type.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-read/set-document-type.server.js +0 -14
- package/dist/core/operations/hooks/before-read/sort-document-props.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-read/sort-document-props.server.js +0 -63
- package/dist/core/operations/hooks/before-update/define-version-operation.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-update/define-version-operation.server.js +0 -18
- package/dist/core/operations/hooks/before-update/get-original-document.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-update/get-original-document.server.js +0 -37
- package/dist/core/operations/hooks/before-upsert/data-config-map.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-upsert/data-config-map.server.js +0 -12
- package/dist/core/operations/hooks/before-upsert/handle-new-version.server.d.ts +0 -5
- package/dist/core/operations/hooks/before-upsert/handle-new-version.server.js +0 -98
- package/dist/core/operations/hooks/before-upsert/original-config-map.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-upsert/original-config-map.server.js +0 -16
- package/dist/core/operations/hooks/before-upsert/set-default-values.server.d.ts +0 -10
- package/dist/core/operations/hooks/before-upsert/set-default-values.server.js +0 -70
- package/dist/core/operations/hooks/before-upsert/validate-fields.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-upsert/validate-fields.server.js +0 -150
- package/dist/core/operations/hooks/index.server.d.ts +0 -128
- package/dist/core/operations/hooks/index.server.js +0 -45
- package/dist/core/operations/relations/diff.server.d.ts +0 -14
- package/dist/core/operations/relations/diff.server.js +0 -47
- package/dist/core/operations/relations/extract.server.d.ts +0 -11
- package/dist/core/operations/relations/extract.server.js +0 -59
- package/dist/core/operations/relations/index.server.d.ts +0 -25
- package/dist/core/operations/relations/index.server.js +0 -68
- package/dist/core/operations/shared/fallback-data-from-original.d.ts +0 -9
- package/dist/core/operations/shared/fallback-data-from-original.js +0 -31
- package/dist/core/operations/tree/diff.server.d.ts +0 -20
- package/dist/core/operations/tree/diff.server.js +0 -64
- package/dist/core/operations/tree/extract.server.d.ts +0 -9
- package/dist/core/operations/tree/extract.server.js +0 -34
- package/dist/core/operations/tree/index.server.d.ts +0 -12
- package/dist/core/operations/tree/index.server.js +0 -52
- package/dist/core/plugins/api-init/index.d.ts +0 -2
- package/dist/core/plugins/api-init/index.js +0 -1
- package/dist/core/plugins/api-init/module.server.js +0 -83
- package/dist/core/plugins/mailer/index.d.ts +0 -2
- package/dist/core/plugins/mailer/index.js +0 -1
- package/dist/core/plugins/mailer/module.server.js +0 -32
- package/dist/core/plugins/sse/broadcast.d.ts +0 -13
- package/dist/core/plugins/sse/broadcast.js +0 -30
- package/dist/core/plugins/sse/module.server.d.ts +0 -16
- package/dist/core/plugins/sse/module.server.js +0 -52
- package/dist/core/types/doc.d.ts +0 -74
- package/dist/core/types/index.d.ts +0 -5
- package/dist/panel/navigation.d.ts +0 -18
- package/dist/panel/navigation.js +0 -64
- package/dist/panel/pages/area/AreaVersionsDoc.svelte +0 -24
- package/dist/panel/pages/area/AreaVersionsDoc.svelte.d.ts +0 -7
- package/dist/panel/pages/collection-document/CollectionDocVersions.svelte +0 -29
- package/dist/panel/pages/collection-document/CollectionDocVersions.svelte.d.ts +0 -7
- package/dist/util/access/index.d.ts +0 -73
- package/dist/util/cases.d.ts +0 -39
- package/dist/util/cases.js +0 -58
- package/dist/util/doc.d.ts +0 -50
- package/dist/util/doc.js +0 -140
- package/dist/util/validate.js +0 -171
- /package/dist/{util/access/index.js → core/auth/access.js} +0 -0
- /package/dist/core/{config/auth/better-auth-hooks.server.d.ts → auth/better-auth/hooks.server.d.ts} +0 -0
- /package/dist/core/{config/auth/better-auth-permissions.d.ts → auth/better-auth/permissions.d.ts} +0 -0
- /package/dist/core/{config/auth/better-auth-permissions.js → auth/better-auth/permissions.js} +0 -0
- /package/dist/core/{handlers/auth.server.d.ts → auth/handler/index.server.d.ts} +0 -0
- /package/dist/core/{areas/config → auth}/types.js +0 -0
- /package/dist/core/{collections/auth → auth}/util.js +0 -0
- /package/dist/core/{handlers/cors.server.d.ts → cors/handler.server.d.ts} +0 -0
- /package/dist/core/dev/cli/{build/index.d.ts → commands/build.d.ts} +0 -0
- /package/dist/core/dev/cli/{clear/index.server.d.ts → commands/clear.server.d.ts} +0 -0
- /package/dist/core/dev/cli/{generate/index.server.d.ts → commands/generate.server.d.ts} +0 -0
- /package/dist/core/dev/cli/{init/index.server.d.ts → commands/init.server.d.ts} +0 -0
- /package/dist/core/dev/cli/{build/templates.d.ts → templates/build.d.ts} +0 -0
- /package/dist/core/dev/cli/{init/templates.d.ts → templates/init.d.ts} +0 -0
- /package/dist/core/dev/{generate → codegen}/routes/custom-css.server.d.ts +0 -0
- /package/dist/core/dev/{generate → codegen}/sanitize/index.server.d.ts +0 -0
- /package/dist/core/dev/{generate → codegen}/types/index.server.d.ts +0 -0
- /package/dist/core/{config/server/write.server.d.ts → dev/config-memo.server.d.ts} +0 -0
- /package/dist/core/dev/{vite/index.server.d.ts → vite.server.d.ts} +0 -0
- /package/dist/core/{collections/auth → fields}/types.js +0 -0
- /package/dist/{util → core/fields}/validate.d.ts +0 -0
- /package/dist/core/{collections/config → locale}/types.js +0 -0
- /package/dist/core/{logger/index.server.d.ts → logger.server.d.ts} +0 -0
- /package/dist/core/{logger/index.server.js → logger.server.js} +0 -0
- /package/dist/core/{operations/configMap → panel}/types.js +0 -0
- /package/dist/core/{operations/configMap/buildTreeMap.js → pipeline/config-map/build-tree-map.js} +0 -0
- /package/dist/core/{operations/configMap → pipeline/config-map}/types.d.ts +0 -0
- /package/dist/core/{types/doc.js → pipeline/config-map/types.js} +0 -0
- /package/dist/core/plugins/api-init/{module.server.d.ts → index.server.d.ts} +0 -0
- /package/dist/core/{types/index.js → plugins/cache/types.js} +0 -0
- /package/dist/core/plugins/mailer/{module.server.d.ts → index.server.d.ts} +0 -0
- /package/dist/core/{handlers → plugins}/plugins.server.d.ts +0 -0
- /package/dist/core/{areas/config → prototype/area}/types.d.ts +0 -0
- /package/dist/core/{collections/config → prototype/collection}/augment-label.js +0 -0
- /package/dist/core/{collections → prototype/collection}/upload/util/client.d.ts +0 -0
- /package/dist/core/{collections → prototype/collection}/upload/util/client.js +0 -0
- /package/dist/core/{collections → prototype/collection}/upload/util/config.js +0 -0
- /package/dist/core/{collections → prototype/collection}/upload/util/mime.d.ts +0 -0
- /package/dist/core/{collections → prototype/collection}/upload/util/mime.js +0 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { RimeError } from '../../../../errors/index.js';
|
|
2
|
+
import { logger } from '../../../../logger.server.js';
|
|
3
|
+
import { fileSizeToString } from '../../../../../util/file.js';
|
|
4
|
+
import { readFile } from 'fs/promises';
|
|
5
|
+
import fs from 'fs';
|
|
6
|
+
import path from 'path';
|
|
7
|
+
import { getExtensionFromMimeType, getMimeTypeFromExtension } from './mime.js';
|
|
8
|
+
export const jsonFileToFile = (jsonFile) => {
|
|
9
|
+
// Convert base64 to Blob
|
|
10
|
+
const base64String = jsonFile.base64;
|
|
11
|
+
// Extract the actual base64 content after the data URI prefix
|
|
12
|
+
const base64Content = base64String.split(',')[1];
|
|
13
|
+
if (!base64Content) {
|
|
14
|
+
throw new RimeError(RimeError.UPLOAD, 'Invalid base64 data format');
|
|
15
|
+
}
|
|
16
|
+
try {
|
|
17
|
+
const byteCharacters = atob(base64Content);
|
|
18
|
+
const byteNumbers = new Array(byteCharacters.length);
|
|
19
|
+
for (let i = 0; i < byteCharacters.length; i++) {
|
|
20
|
+
byteNumbers[i] = byteCharacters.charCodeAt(i);
|
|
21
|
+
}
|
|
22
|
+
const byteArray = new Uint8Array(byteNumbers);
|
|
23
|
+
// Guess file type if not provided
|
|
24
|
+
let mimeType = jsonFile.mimeType;
|
|
25
|
+
if (!mimeType) {
|
|
26
|
+
const base64Header = base64String.split(';')[0].split(':')[1];
|
|
27
|
+
if (base64Header) {
|
|
28
|
+
mimeType = base64Header;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
mimeType = 'application/octet-stream';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const extension = getExtensionFromMimeType(mimeType);
|
|
35
|
+
if (!extension) {
|
|
36
|
+
throw new RimeError(RimeError.UPLOAD, 'File type not supported');
|
|
37
|
+
}
|
|
38
|
+
const blob = new Blob([byteArray], { type: mimeType });
|
|
39
|
+
const filename = jsonFile.filename || `file-${Date.now()}.${extension}`;
|
|
40
|
+
const lastModified = jsonFile.lastModified || Date.now();
|
|
41
|
+
const filesize = fileSizeToString(jsonFile.filesize || blob.size);
|
|
42
|
+
return {
|
|
43
|
+
filename,
|
|
44
|
+
mimeType,
|
|
45
|
+
filesize,
|
|
46
|
+
file: new File([blob], filename, {
|
|
47
|
+
type: mimeType,
|
|
48
|
+
lastModified: lastModified
|
|
49
|
+
})
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
logger.error('Error converting base64 to File:', err.message);
|
|
54
|
+
throw new RimeError(RimeError.UPLOAD, 'Invalid base64 content');
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
/** Used by the e2e suites — each fixture's `api.test.ts` — to post an upload as base64. */
|
|
58
|
+
export async function filePathToBase64(filePath) {
|
|
59
|
+
try {
|
|
60
|
+
const data = await readFile(filePath);
|
|
61
|
+
const ext = filePath.split('.').pop()?.toLowerCase() || '';
|
|
62
|
+
const mimeType = getMimeTypeFromExtension(ext);
|
|
63
|
+
if (!mimeType) {
|
|
64
|
+
throw new Error(`Unsupported file extension: ${ext}`);
|
|
65
|
+
}
|
|
66
|
+
const base64 = data.toString('base64');
|
|
67
|
+
return `data:${mimeType};base64,${base64}`;
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
logger.error('Error converting file path to base64:', error.message);
|
|
71
|
+
throw error;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Convert a filepath to a File like object
|
|
76
|
+
* @param filePath - Absolute path to the file
|
|
77
|
+
* @returns A File-like object with necessary properties and methods
|
|
78
|
+
* @example
|
|
79
|
+
* const file = await filePathToFile('/path/to/image.jpg');
|
|
80
|
+
*/
|
|
81
|
+
export async function filePathToFile(filePath) {
|
|
82
|
+
try {
|
|
83
|
+
// Check if file exists
|
|
84
|
+
if (!fs.existsSync(filePath)) {
|
|
85
|
+
throw new RimeError(RimeError.UPLOAD, `File not found: ${filePath}`);
|
|
86
|
+
}
|
|
87
|
+
// Read file stats and content
|
|
88
|
+
const fileStats = fs.statSync(filePath);
|
|
89
|
+
const buffer = fs.readFileSync(filePath);
|
|
90
|
+
// Get filename and extension
|
|
91
|
+
const filename = path.basename(filePath);
|
|
92
|
+
const ext = path.extname(filePath).slice(1).toLowerCase();
|
|
93
|
+
const mimeType = getMimeTypeFromExtension(ext) || 'application/octet-stream';
|
|
94
|
+
// Create a Blob with the file content
|
|
95
|
+
const blob = new Blob([new Uint8Array(buffer)], { type: mimeType });
|
|
96
|
+
// Create and return a File object
|
|
97
|
+
return new File([blob], filename, {
|
|
98
|
+
type: mimeType,
|
|
99
|
+
lastModified: fileStats.mtimeMs
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
logger.error('Error creating File from path:', error.message);
|
|
104
|
+
throw new RimeError(RimeError.UPLOAD, `Failed to create File from path: ${error.message}`);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* The file a stored document already has, as a `File`.
|
|
109
|
+
*
|
|
110
|
+
* One call, so a caller never spells out where upload keeps its files —
|
|
111
|
+
* `disk/save.server.ts` and `disk/delete.server.ts` own that convention.
|
|
112
|
+
*
|
|
113
|
+
* `undefined` when the document has no file, so a caller asking "does it have one?" and "give it
|
|
114
|
+
* to me" makes one call, not two.
|
|
115
|
+
*/
|
|
116
|
+
export async function fileForDocument(doc) {
|
|
117
|
+
if (typeof doc.filename !== 'string' || !doc.filename)
|
|
118
|
+
return undefined;
|
|
119
|
+
const filePath = path.resolve(process.cwd(), 'static', 'medias', doc.filename);
|
|
120
|
+
try {
|
|
121
|
+
return await filePathToFile(filePath);
|
|
122
|
+
}
|
|
123
|
+
catch (err) {
|
|
124
|
+
logger.error(`Failed to create file from path: ${filePath}`, err);
|
|
125
|
+
return undefined;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { UPLOAD_PATH } from '../constant.js';
|
|
2
|
+
import type { CollectionSlug } from '../../../types.js';
|
|
3
|
+
import type { Route } from '../../../../../panel/types.js';
|
|
4
|
+
export type UploadPath = `${typeof UPLOAD_PATH.ROOT_NAME}${string}`;
|
|
5
|
+
/**
|
|
6
|
+
* Validates that a path string follows the required format:
|
|
7
|
+
* - Must start with ROOT_NAME
|
|
8
|
+
* - Only allows alphanumeric characters, hyphens, underscores, spaces, and the separator
|
|
9
|
+
* - Can only use the defined separator
|
|
10
|
+
* @example
|
|
11
|
+
* validatePath("root:folder:subfolder") // valid
|
|
12
|
+
* validatePath("root:folder with spaces:sub-folder_name") // valid
|
|
13
|
+
* validatePath("root/folder") // throws Error
|
|
14
|
+
* validatePath("root:folder$") // throws Error
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Given an optional path string
|
|
18
|
+
* this returns:
|
|
19
|
+
* - the name (last part of the segment)
|
|
20
|
+
* - the parent path (path without the name)
|
|
21
|
+
* - the normalized path
|
|
22
|
+
* @example
|
|
23
|
+
* getSegments("root:foo:bar") // { name: "bar", parent: "root:foo", path: "root:foo:bar" }
|
|
24
|
+
* getSegments("root") // { name: "root", parent: null, path: "root" }
|
|
25
|
+
*/
|
|
26
|
+
export declare function getSegments(path?: UploadPath | null): {
|
|
27
|
+
name: string;
|
|
28
|
+
path: UploadPath;
|
|
29
|
+
parent: UploadPath | null;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Get the parent path for a given path
|
|
33
|
+
* or return null if path is ROOT_NAME
|
|
34
|
+
* @example
|
|
35
|
+
* // returns 'root'
|
|
36
|
+
* getParentPath('root:foo')
|
|
37
|
+
*/
|
|
38
|
+
export declare function getParentPath(path: UploadPath): string | null;
|
|
39
|
+
/**
|
|
40
|
+
* One breadcrumb per folder in the path, each linking to the collection list filtered to that
|
|
41
|
+
* folder. The root segment is dropped — it is the collection itself.
|
|
42
|
+
*
|
|
43
|
+
* Every entry carries a url, the last one included. `removePathFromLastAria` strips it.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* buildUploadAria({ path: 'root:foo:bar', slug: 'medias', panelSegment: 'panel' })
|
|
47
|
+
* // [
|
|
48
|
+
* // { title: 'foo', url: '/panel/medias?uploadPath=root:foo' },
|
|
49
|
+
* // { title: 'bar', url: '/panel/medias?uploadPath=root:foo:bar' }
|
|
50
|
+
* // ]
|
|
51
|
+
*/
|
|
52
|
+
export declare function buildUploadAria({ path, slug, panelSegment }: {
|
|
53
|
+
path: UploadPath;
|
|
54
|
+
slug: CollectionSlug;
|
|
55
|
+
panelSegment: string;
|
|
56
|
+
}): Partial<Route>[];
|
|
57
|
+
export declare function removePathFromLastAria(aria: Partial<Route>[]): Partial<Route>[];
|
|
58
|
+
/**
|
|
59
|
+
* Validates that a path string follows the required format:
|
|
60
|
+
* - Must start with ROOT_NAME
|
|
61
|
+
* - Only allows alphanumeric characters, hyphens, underscores, spaces, and the separator
|
|
62
|
+
* - Can only use the defined separator
|
|
63
|
+
* @example
|
|
64
|
+
* validatePath("root:folder:subfolder") // valid
|
|
65
|
+
* validatePath("root:folder with spaces:sub-folder_name") // valid
|
|
66
|
+
* validatePath("root/folder") // invalid
|
|
67
|
+
* validatePath("root:folder$") // invalid
|
|
68
|
+
*/
|
|
69
|
+
export declare const validatePath: (value: unknown) => string | true;
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { PARAMS } from '../../../../constants.js';
|
|
2
|
+
import { RimeError } from '../../../../errors/index.js';
|
|
3
|
+
import { UPLOAD_PATH } from '../constant.js';
|
|
4
|
+
import { joinPath } from '../../../../routes/util.js';
|
|
5
|
+
import { toKebabCase } from '../../../../../util/string.js';
|
|
6
|
+
/**
|
|
7
|
+
* Validates that a path string follows the required format:
|
|
8
|
+
* - Must start with ROOT_NAME
|
|
9
|
+
* - Only allows alphanumeric characters, hyphens, underscores, spaces, and the separator
|
|
10
|
+
* - Can only use the defined separator
|
|
11
|
+
* @example
|
|
12
|
+
* validatePath("root:folder:subfolder") // valid
|
|
13
|
+
* validatePath("root:folder with spaces:sub-folder_name") // valid
|
|
14
|
+
* validatePath("root/folder") // throws Error
|
|
15
|
+
* validatePath("root:folder$") // throws Error
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Given an optional path string
|
|
19
|
+
* this returns:
|
|
20
|
+
* - the name (last part of the segment)
|
|
21
|
+
* - the parent path (path without the name)
|
|
22
|
+
* - the normalized path
|
|
23
|
+
* @example
|
|
24
|
+
* getSegments("root:foo:bar") // { name: "bar", parent: "root:foo", path: "root:foo:bar" }
|
|
25
|
+
* getSegments("root") // { name: "root", parent: null, path: "root" }
|
|
26
|
+
*/
|
|
27
|
+
export function getSegments(path) {
|
|
28
|
+
// Use nullish coalescing to handle both undefined and null
|
|
29
|
+
const safePath = path ?? UPLOAD_PATH.ROOT_NAME;
|
|
30
|
+
// Validate and normalize the path
|
|
31
|
+
const isValid = validatePath(safePath);
|
|
32
|
+
if (typeof isValid === 'string') {
|
|
33
|
+
throw new RimeError(RimeError.BAD_REQUEST, isValid);
|
|
34
|
+
}
|
|
35
|
+
const segments = safePath
|
|
36
|
+
.split(UPLOAD_PATH.SEPARATOR)
|
|
37
|
+
.filter((s) => s !== UPLOAD_PATH.SEPARATOR)
|
|
38
|
+
.filter((s) => !!s);
|
|
39
|
+
if (segments.length <= 1) {
|
|
40
|
+
return {
|
|
41
|
+
name: UPLOAD_PATH.ROOT_NAME,
|
|
42
|
+
path: UPLOAD_PATH.ROOT_NAME,
|
|
43
|
+
parent: null
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
const name = segments[segments.length - 1];
|
|
47
|
+
// Only create parent if we have more than one segment
|
|
48
|
+
const parent = segments.length > 1 ? segments.slice(0, -1).join(UPLOAD_PATH.SEPARATOR) : null;
|
|
49
|
+
// Reconstruct the normalized path from filtered segments
|
|
50
|
+
const normalizedPath = segments.join(UPLOAD_PATH.SEPARATOR);
|
|
51
|
+
return {
|
|
52
|
+
name,
|
|
53
|
+
parent: parent,
|
|
54
|
+
path: normalizedPath
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get the parent path for a given path
|
|
59
|
+
* or return null if path is ROOT_NAME
|
|
60
|
+
* @example
|
|
61
|
+
* // returns 'root'
|
|
62
|
+
* getParentPath('root:foo')
|
|
63
|
+
*/
|
|
64
|
+
export function getParentPath(path) {
|
|
65
|
+
if (path === UPLOAD_PATH.ROOT_NAME)
|
|
66
|
+
return null;
|
|
67
|
+
return path.split(UPLOAD_PATH.SEPARATOR).slice(0, -1).join(UPLOAD_PATH.SEPARATOR);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* One breadcrumb per folder in the path, each linking to the collection list filtered to that
|
|
71
|
+
* folder. The root segment is dropped — it is the collection itself.
|
|
72
|
+
*
|
|
73
|
+
* Every entry carries a url, the last one included. `removePathFromLastAria` strips it.
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* buildUploadAria({ path: 'root:foo:bar', slug: 'medias', panelSegment: 'panel' })
|
|
77
|
+
* // [
|
|
78
|
+
* // { title: 'foo', url: '/panel/medias?uploadPath=root:foo' },
|
|
79
|
+
* // { title: 'bar', url: '/panel/medias?uploadPath=root:foo:bar' }
|
|
80
|
+
* // ]
|
|
81
|
+
*/
|
|
82
|
+
export function buildUploadAria({ path, slug, panelSegment }) {
|
|
83
|
+
const segments = path.split(':');
|
|
84
|
+
const result = [];
|
|
85
|
+
let currentPath = '';
|
|
86
|
+
for (const segment of segments) {
|
|
87
|
+
if (!segment)
|
|
88
|
+
continue;
|
|
89
|
+
currentPath = currentPath ? `${currentPath}:${segment}` : segment;
|
|
90
|
+
if (currentPath !== segments[0]) {
|
|
91
|
+
result.push({
|
|
92
|
+
title: segment,
|
|
93
|
+
url: `${joinPath(panelSegment, toKebabCase(slug))}?${PARAMS.UPLOAD_PATH}=${currentPath}`
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return result;
|
|
98
|
+
}
|
|
99
|
+
export function removePathFromLastAria(aria) {
|
|
100
|
+
return aria.map((route, index) => {
|
|
101
|
+
if (index === aria.length - 1) {
|
|
102
|
+
return { title: route.title };
|
|
103
|
+
}
|
|
104
|
+
return route;
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Validates that a path string follows the required format:
|
|
109
|
+
* - Must start with ROOT_NAME
|
|
110
|
+
* - Only allows alphanumeric characters, hyphens, underscores, spaces, and the separator
|
|
111
|
+
* - Can only use the defined separator
|
|
112
|
+
* @example
|
|
113
|
+
* validatePath("root:folder:subfolder") // valid
|
|
114
|
+
* validatePath("root:folder with spaces:sub-folder_name") // valid
|
|
115
|
+
* validatePath("root/folder") // invalid
|
|
116
|
+
* validatePath("root:folder$") // invalid
|
|
117
|
+
*/
|
|
118
|
+
export const validatePath = (value) => {
|
|
119
|
+
if (typeof value !== 'string') {
|
|
120
|
+
return 'path should be a string';
|
|
121
|
+
}
|
|
122
|
+
// Check if path starts with ROOT_NAME
|
|
123
|
+
const STARTS_WITH_ROOT = value === UPLOAD_PATH.ROOT_NAME || value.startsWith(`${UPLOAD_PATH.ROOT_NAME}:`);
|
|
124
|
+
if (!STARTS_WITH_ROOT) {
|
|
125
|
+
return `Path must start with "${UPLOAD_PATH.ROOT_NAME}"`;
|
|
126
|
+
}
|
|
127
|
+
// Create a mutable copy for normalization
|
|
128
|
+
let normalizedPath = value;
|
|
129
|
+
// Remove trailing separator if present
|
|
130
|
+
while (normalizedPath !== UPLOAD_PATH.ROOT_NAME &&
|
|
131
|
+
normalizedPath.endsWith(UPLOAD_PATH.SEPARATOR)) {
|
|
132
|
+
normalizedPath = normalizedPath.slice(0, -1);
|
|
133
|
+
}
|
|
134
|
+
// Only allow alphanumeric characters, hyphens, underscores, spaces, and the separator
|
|
135
|
+
// The regex ensures:
|
|
136
|
+
// 1. Starts with ROOT_NAME
|
|
137
|
+
// 2. Followed by zero or more segments (each segment starts with separator followed by valid chars)
|
|
138
|
+
const validPathRegex = new RegExp(`^${UPLOAD_PATH.ROOT_NAME}(${UPLOAD_PATH.SEPARATOR}[a-zA-Z0-9\\-_ ]+)*$`);
|
|
139
|
+
if (!validPathRegex.test(normalizedPath)) {
|
|
140
|
+
return 'Path contains invalid characters. Only alphanumeric characters, hyphens, underscores, and spaces are allowed.';
|
|
141
|
+
}
|
|
142
|
+
return true;
|
|
143
|
+
};
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import type { Adapter } from '../adapter.js';
|
|
2
|
+
import type { BuiltArea, BuiltCollection, RouteConfig } from '../config/types.js';
|
|
3
|
+
import type { AnyHook, HookTiming, OperationQuery } from '../pipeline/types.js';
|
|
4
|
+
import type { Dic } from '../../util/types.js';
|
|
5
|
+
import type { RequestEvent } from '@sveltejs/kit';
|
|
6
|
+
import type { GenericDoc } from './types.js';
|
|
7
|
+
/**
|
|
8
|
+
* A prototype **defines** a kind of thing rime stores, and brings its own surface with it.
|
|
9
|
+
*
|
|
10
|
+
* | layer | verb | scale |
|
|
11
|
+
* | ------------- | ---------------------- | ---------------------------- |
|
|
12
|
+
* | **prototype** | *defines* | the base thing itself |
|
|
13
|
+
* | **feature** | *augments and extends* | large — across prototypes |
|
|
14
|
+
* | **plugin** | *augments* | small |
|
|
15
|
+
*
|
|
16
|
+
* So `collection` and `area` are two definitions built to the same pattern, not one
|
|
17
|
+
* implementation with a discriminator. Nothing here knows there are two of them, which is what
|
|
18
|
+
* makes a third cost only its own folder.
|
|
19
|
+
*
|
|
20
|
+
* A definition carries no config — it is the kind, not an instance. `config.type` is the name it
|
|
21
|
+
* is registered under, and that is what pairs the two.
|
|
22
|
+
*/
|
|
23
|
+
export type BuiltPrototype = BuiltArea | BuiltCollection;
|
|
24
|
+
export type PrototypeDefinition<C extends BuiltPrototype = BuiltPrototype> = {
|
|
25
|
+
/** The kind's name, and the `type` every config it builds carries. */
|
|
26
|
+
name: string;
|
|
27
|
+
/**
|
|
28
|
+
* Every augment this prototype runs, in order — its own and its features', one written list.
|
|
29
|
+
*
|
|
30
|
+
* ```ts
|
|
31
|
+
* augments: () => [augmentLabel, when(isAuth, augmentAuth), augmentTitle]
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* **A function returning the list, not the list.** Several steps come from `$rime/modules`, and
|
|
35
|
+
* a feature reached through the barrel imports `create` back out of this definition —
|
|
36
|
+
* `auth/staff/configure.ts` and `versions/configure.server.ts` both do. Entered from the
|
|
37
|
+
* feature's side, an array literal captures bindings the barrel has not initialised, and the
|
|
38
|
+
* config builds without those fields: no error, no type change, just a document with no title.
|
|
39
|
+
* Building the list on first `create` reads every binding after every module has finished.
|
|
40
|
+
*
|
|
41
|
+
* `any` because each augment names the shape it needs, and a list holding several cannot
|
|
42
|
+
* promise any of them that shape.
|
|
43
|
+
*/
|
|
44
|
+
augments?: () => readonly ((config: any) => any)[];
|
|
45
|
+
/**
|
|
46
|
+
* Every hook this prototype can run, in the order it runs them — including its features'.
|
|
47
|
+
*
|
|
48
|
+
* The order is written down, not computed; see `collection/hooks.server.ts`. `buildPipeline`
|
|
49
|
+
* decides only *which* of them a config runs, from the feature each hook names.
|
|
50
|
+
*/
|
|
51
|
+
hooks?: Partial<Record<HookTiming, AnyHook[]>>;
|
|
52
|
+
/**
|
|
53
|
+
* The config factory. **Composed by `definePrototype`, never passed in**: `augments`, then
|
|
54
|
+
* `features`, then the shaping every prototype does the same way.
|
|
55
|
+
*
|
|
56
|
+
* Typed loosely here and narrowed where it is re-exported — a prototype's authoring type is
|
|
57
|
+
* generic in the slug and no type parameter can carry a generic type, so
|
|
58
|
+
* `collection/definition.ts` re-exports a one-line `create` stating its own signature.
|
|
59
|
+
*/
|
|
60
|
+
create: (slug: string, config: Dic) => C;
|
|
61
|
+
/** Run once per process, per config of this kind, before any request is served. */
|
|
62
|
+
boot?: (args: PrototypeBootArgs<C>) => Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* The REST surface, keyed by sub-path **under `/api/[slug=<name>]`** — `''`, `'[id]'`,
|
|
65
|
+
* `'[id]/duplicate'`. Not an absolute pathname like a plugin's: a prototype has no URL of its
|
|
66
|
+
* own, only slugs the author's config supplies.
|
|
67
|
+
*
|
|
68
|
+
* `dev/codegen/routes/` writes the `+server.ts` files from this and `handlers/routes.server.ts`
|
|
69
|
+
* dispatches through it, so an endpoint exists by being declared here and nowhere else.
|
|
70
|
+
*/
|
|
71
|
+
rest?: Record<string, RouteConfig>;
|
|
72
|
+
};
|
|
73
|
+
export type PrototypeBootArgs<C extends BuiltPrototype = BuiltPrototype> = {
|
|
74
|
+
/** A config of this definition's own kind — boot.server.ts pairs them by name. */
|
|
75
|
+
config: C;
|
|
76
|
+
adapter: Adapter;
|
|
77
|
+
defaultLocale?: string;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* What a definition's operations are handed: the request, the config, and the plumbing that would
|
|
81
|
+
* otherwise be written out once per prototype.
|
|
82
|
+
*
|
|
83
|
+
* Per-call, not per-process — `isSystemOperation` is part of it, so `.system()` is a second
|
|
84
|
+
* context rather than a flag anybody has to remember to forward.
|
|
85
|
+
*/
|
|
86
|
+
export type PrototypeApiContext<C extends BuiltPrototype = BuiltPrototype> = {
|
|
87
|
+
config: C;
|
|
88
|
+
event: RequestEvent;
|
|
89
|
+
defaultLocale: string | undefined;
|
|
90
|
+
/** True when rime itself is the caller: access checks and some hooks stand down. */
|
|
91
|
+
isSystemOperation: boolean;
|
|
92
|
+
/** The locale to act in: the one asked for, else the request's, else the config's default. */
|
|
93
|
+
fallbackLocale(locale?: string): string | undefined;
|
|
94
|
+
/** A document of this config's shape with every default applied, and no id. */
|
|
95
|
+
blank(): GenericDoc;
|
|
96
|
+
/**
|
|
97
|
+
* Which **version row** a read means. `undefined` for a config that is not versioned, which is
|
|
98
|
+
* "the document's own row". See `versionsReadQuery`.
|
|
99
|
+
*/
|
|
100
|
+
versionQuery(params: {
|
|
101
|
+
latest?: boolean;
|
|
102
|
+
versionId?: string;
|
|
103
|
+
}): OperationQuery | undefined;
|
|
104
|
+
/**
|
|
105
|
+
* Read through the API cache when it is on and this is not a system call. `key` is merged on top
|
|
106
|
+
* of what every read shares — the slug and who is asking.
|
|
107
|
+
*/
|
|
108
|
+
cached<T>(operation: string, key: Dic, read: () => Promise<T>): Promise<T>;
|
|
109
|
+
};
|
|
110
|
+
type PrototypeOptions<C extends BuiltPrototype> = Partial<Omit<PrototypeDefinition<C>, 'create'>>;
|
|
111
|
+
export declare const definePrototype: <C extends BuiltPrototype = BuiltPrototype>(options?: PrototypeOptions<C>) => PrototypeDefinition<C>;
|
|
112
|
+
export {};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { isStaff } from '../auth/access.js';
|
|
2
|
+
import { FileText } from '@lucide/svelte';
|
|
3
|
+
import { prototypeKebab } from './naming.js';
|
|
4
|
+
export const definePrototype = (options = {}) => {
|
|
5
|
+
const name = options.name ?? '';
|
|
6
|
+
// Defaulted rather than optional: `buildPipeline` filters it on every config, and a prototype
|
|
7
|
+
// with no features is a real case. `hooks` stays optional — a missing timing is already none.
|
|
8
|
+
const augments = options.augments ?? (() => []);
|
|
9
|
+
/**
|
|
10
|
+
* One chain, stated once for every prototype: `_titleFallback` first, then every augment the
|
|
11
|
+
* prototype lists, in the order it lists them — which is column order.
|
|
12
|
+
*
|
|
13
|
+
* `_titleFallback` seeds `'id'`; `auth` and `upload` override it in their own augments, which is
|
|
14
|
+
* where a preference about what names a document belongs.
|
|
15
|
+
*
|
|
16
|
+
* No hooks step. A config's pipeline is resolved once the whole config exists — see
|
|
17
|
+
* `pipeline/build.server.ts` — so a derived config resolves by the same line as an authored one.
|
|
18
|
+
*/
|
|
19
|
+
const create = (slug, incomingConfig) => {
|
|
20
|
+
const initial = { ...incomingConfig, slug, _titleFallback: 'id' };
|
|
21
|
+
const augmented = augments().reduce((current, augment) => augment(current), initial);
|
|
22
|
+
return {
|
|
23
|
+
...augmented,
|
|
24
|
+
type: name,
|
|
25
|
+
slug,
|
|
26
|
+
kebab: prototypeKebab(slug),
|
|
27
|
+
fields: augmented.fields || [],
|
|
28
|
+
icon: augmented.icon || FileText,
|
|
29
|
+
live: augmented.live || false,
|
|
30
|
+
/**
|
|
31
|
+
* Staff-only until the author says otherwise, and the policy is auth's own `isStaff`.
|
|
32
|
+
*/
|
|
33
|
+
access: {
|
|
34
|
+
create: isStaff,
|
|
35
|
+
read: isStaff,
|
|
36
|
+
update: isStaff,
|
|
37
|
+
delete: isStaff,
|
|
38
|
+
...augmented.access
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
return {
|
|
43
|
+
name,
|
|
44
|
+
augments,
|
|
45
|
+
create,
|
|
46
|
+
hooks: options.hooks,
|
|
47
|
+
boot: options.boot,
|
|
48
|
+
rest: options.rest
|
|
49
|
+
};
|
|
50
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { GenericDoc } from './types.js';
|
|
2
|
+
import type { BuiltArea, BuiltCollection } from '../../types.js';
|
|
3
|
+
import type { RequestEvent } from '@sveltejs/kit';
|
|
4
|
+
/**
|
|
5
|
+
* Creates a blank document based on a collection or area configuration.
|
|
6
|
+
* Initializes all fields with appropriate default values based on their type.
|
|
7
|
+
*
|
|
8
|
+
* @returns A new blank document with default values for all fields
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* // Create a blank document for the 'pages' collection
|
|
12
|
+
* const blankPage = createBlankDocument(config.getCollection('pages'));
|
|
13
|
+
*/
|
|
14
|
+
export declare const createBlankDocument: <C extends BuiltCollection | BuiltArea, T extends GenericDoc = GenericDoc>(config: C, event?: RequestEvent) => T;
|
|
15
|
+
/**
|
|
16
|
+
* Converts a flat array of documents into a nested tree structure based on parent-child relationships.
|
|
17
|
+
* Documents are organized hierarchically with each document containing its children in the _children property.
|
|
18
|
+
*
|
|
19
|
+
* @param documents - Array of documents with parent properties indicating their relationships
|
|
20
|
+
* @returns A nested tree structure where each document contains its children
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* // Convert a flat list of pages into a hierarchical structure
|
|
24
|
+
* const pageTree = toNestedStructure(pagesList);
|
|
25
|
+
* // Result: [{ id: '1', _children: [{ id: '2', _children: [] }] }]
|
|
26
|
+
*/
|
|
27
|
+
/**
|
|
28
|
+
* Converts a flat array of documents into a nested tree structure
|
|
29
|
+
* based on _parent and _position fields
|
|
30
|
+
*/
|
|
31
|
+
export declare const toNestedStructure: (documents: GenericDoc[]) => GenericDoc[];
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { FormFieldBuilder } from '../fields/builders/form-field-builder.js';
|
|
2
|
+
import { GroupFieldBuilder } from '../../fields/group/index.js';
|
|
3
|
+
import { TabsBuilder } from '../../fields/tabs/index.js';
|
|
4
|
+
import { snapshot } from '../../util/state.js';
|
|
5
|
+
/**
|
|
6
|
+
* Creates a blank document based on a collection or area configuration.
|
|
7
|
+
* Initializes all fields with appropriate default values based on their type.
|
|
8
|
+
*
|
|
9
|
+
* @returns A new blank document with default values for all fields
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* // Create a blank document for the 'pages' collection
|
|
13
|
+
* const blankPage = createBlankDocument(config.getCollection('pages'));
|
|
14
|
+
*/
|
|
15
|
+
export const createBlankDocument = (config, event) => {
|
|
16
|
+
/**
|
|
17
|
+
* Recursively processes field definitions to create a blank document structure.
|
|
18
|
+
* Handles special field types like tabs, blocks, relations, and nested fields.
|
|
19
|
+
*/
|
|
20
|
+
function reduceFieldsToBlankDocument(prev, curr) {
|
|
21
|
+
try {
|
|
22
|
+
if (curr instanceof TabsBuilder) {
|
|
23
|
+
curr.get.tabs.forEach((tab) => {
|
|
24
|
+
prev[tab.name] = tab.get.fields.reduce(reduceFieldsToBlankDocument, {});
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
else if (['blocks', 'relation', 'tree'].includes(curr.type)) {
|
|
28
|
+
prev[curr.name] = [];
|
|
29
|
+
}
|
|
30
|
+
else if (curr instanceof GroupFieldBuilder) {
|
|
31
|
+
prev[curr.name] = curr.get.fields.reduce(reduceFieldsToBlankDocument, {});
|
|
32
|
+
}
|
|
33
|
+
else if (curr instanceof FormFieldBuilder) {
|
|
34
|
+
// Presentational fields (separator, bare component()) are plain
|
|
35
|
+
// FieldBuilder, never FormFieldBuilder, and get skipped here rather
|
|
36
|
+
// than assigned `prev['']` (they never got a real name) — that used
|
|
37
|
+
// to corrupt the parent object into looking array-like once
|
|
38
|
+
// flattened/unflattened.
|
|
39
|
+
const defaultValue = curr.use.defaultValue({ event });
|
|
40
|
+
prev[curr.name] = defaultValue !== undefined ? defaultValue : null;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
console.error(curr);
|
|
45
|
+
throw err;
|
|
46
|
+
}
|
|
47
|
+
return prev;
|
|
48
|
+
}
|
|
49
|
+
const fields = config.fields.reduce(reduceFieldsToBlankDocument, {});
|
|
50
|
+
/**
|
|
51
|
+
* The fields, plus what every document has regardless of kind. Nothing feature-shaped: a
|
|
52
|
+
* feature adds to this through `FeatureDefinition.blank`, which the local API folds — see
|
|
53
|
+
* `prototype/api.server.ts`.
|
|
54
|
+
*
|
|
55
|
+
* An `isUploadConfig(config) && 'imageSizes' in config` branch used to seed `sizes: {}` here.
|
|
56
|
+
* It never once ran: `imageSizes` is a member of `UploadConfig`, so it lives at
|
|
57
|
+
* `config.upload.imageSizes` and never at `config.imageSizes` — every other reader in the repo
|
|
58
|
+
* uses the former. Removed rather than moved to `upload.blank`, because reviving a branch that
|
|
59
|
+
* has never executed is a behaviour change, not a relocation.
|
|
60
|
+
*/
|
|
61
|
+
return {
|
|
62
|
+
...fields,
|
|
63
|
+
_type: config.slug,
|
|
64
|
+
_prototype: config.type
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Converts a flat array of documents into a nested tree structure based on parent-child relationships.
|
|
69
|
+
* Documents are organized hierarchically with each document containing its children in the _children property.
|
|
70
|
+
*
|
|
71
|
+
* @param documents - Array of documents with parent properties indicating their relationships
|
|
72
|
+
* @returns A nested tree structure where each document contains its children
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* // Convert a flat list of pages into a hierarchical structure
|
|
76
|
+
* const pageTree = toNestedStructure(pagesList);
|
|
77
|
+
* // Result: [{ id: '1', _children: [{ id: '2', _children: [] }] }]
|
|
78
|
+
*/
|
|
79
|
+
/**
|
|
80
|
+
* Converts a flat array of documents into a nested tree structure
|
|
81
|
+
* based on _parent and _position fields
|
|
82
|
+
*/
|
|
83
|
+
export const toNestedStructure = (documents) => {
|
|
84
|
+
const incomingDocs = snapshot(documents);
|
|
85
|
+
// Create a map for quick document lookup by ID
|
|
86
|
+
const docById = new Map();
|
|
87
|
+
incomingDocs.forEach((doc) => docById.set(doc.id, doc));
|
|
88
|
+
// Track processed documents to prevent infinite recursion
|
|
89
|
+
const processed = new Set();
|
|
90
|
+
// Process documents recursively
|
|
91
|
+
const processDocument = (doc) => {
|
|
92
|
+
if (!doc || processed.has(doc.id)) {
|
|
93
|
+
return doc;
|
|
94
|
+
}
|
|
95
|
+
processed.add(doc.id);
|
|
96
|
+
const result = { ...doc };
|
|
97
|
+
// Process children first (depth-first)
|
|
98
|
+
if (Array.isArray(result._children)) {
|
|
99
|
+
result._children = result._children
|
|
100
|
+
.map((id) => {
|
|
101
|
+
const childDoc = docById.get(id);
|
|
102
|
+
return childDoc ? processDocument(childDoc) : null;
|
|
103
|
+
})
|
|
104
|
+
.filter(Boolean);
|
|
105
|
+
}
|
|
106
|
+
// Only set the parent ID, don't process it recursively
|
|
107
|
+
if (result._parent && typeof result._parent === 'string') {
|
|
108
|
+
result._parent = docById.get(result._parent)?.id || null;
|
|
109
|
+
}
|
|
110
|
+
return result;
|
|
111
|
+
};
|
|
112
|
+
const output = incomingDocs
|
|
113
|
+
.filter((doc) => !doc._parent)
|
|
114
|
+
.map(processDocument)
|
|
115
|
+
.sort((a, b) => (a._position || 0) - (b._position || 0));
|
|
116
|
+
// Filter to get root documents and process them
|
|
117
|
+
return output;
|
|
118
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The two prototypes, isomorphic halves.
|
|
3
|
+
*
|
|
4
|
+
* There was a registry here — `prototypeNames`, `protos`, `prototypes`, plus folds over them. It
|
|
5
|
+
* bought core the ability never to write the words `collection` and `area`, and it cost the folder
|
|
6
|
+
* its entry point: three exports that were three views of the same two objects, and callers that
|
|
7
|
+
* merged both lists only to split them apart again further down.
|
|
8
|
+
*
|
|
9
|
+
* The server halves are **not** re-exported here. They carry `api`, `rest` and `boot`, they are
|
|
10
|
+
* different objects under the same two names, and a caller that needs one names
|
|
11
|
+
* `collection/definition.server.js` — the path says which half, where the name could not.
|
|
12
|
+
*/
|
|
13
|
+
export { collection } from './collection/index.js';
|
|
14
|
+
export { area } from './area/index.js';
|