@ekrist1/vulse 0.1.6-alpha.3
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/LICENSE +21 -0
- package/README.md +104 -0
- package/dist/admin/client/active-locale.d.ts +3 -0
- package/dist/admin/client/active-locale.d.ts.map +1 -0
- package/dist/admin/client/active-locale.js +14 -0
- package/dist/admin/client/api.d.ts +14 -0
- package/dist/admin/client/api.d.ts.map +1 -0
- package/dist/admin/client/api.js +26 -0
- package/dist/admin/client/form-from-zod.d.ts +2 -0
- package/dist/admin/client/form-from-zod.d.ts.map +1 -0
- package/dist/admin/client/form-from-zod.js +1 -0
- package/dist/admin/client/live-preview-enabled.d.ts +3 -0
- package/dist/admin/client/live-preview-enabled.d.ts.map +1 -0
- package/dist/admin/client/live-preview-enabled.js +6 -0
- package/dist/cli/collection-scaffold.d.ts +14 -0
- package/dist/cli/collection-scaffold.d.ts.map +1 -0
- package/dist/cli/collection-scaffold.js +44 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +74 -0
- package/dist/cli/migrate.d.ts +5 -0
- package/dist/cli/migrate.d.ts.map +1 -0
- package/dist/cli/migrate.js +10 -0
- package/dist/cli/platform.d.ts +12 -0
- package/dist/cli/platform.d.ts.map +1 -0
- package/dist/cli/platform.js +38 -0
- package/dist/cli/seed-admin.d.ts +19 -0
- package/dist/cli/seed-admin.d.ts.map +1 -0
- package/dist/cli/seed-admin.js +59 -0
- package/dist/cli/setup.d.ts +29 -0
- package/dist/cli/setup.d.ts.map +1 -0
- package/dist/cli/setup.js +254 -0
- package/dist/core/access.d.ts +5 -0
- package/dist/core/access.d.ts.map +1 -0
- package/dist/core/access.js +6 -0
- package/dist/core/blocks/schema.d.ts +81 -0
- package/dist/core/blocks/schema.d.ts.map +1 -0
- package/dist/core/blocks/schema.js +54 -0
- package/dist/core/blueprints/code-to-definition.d.ts +6 -0
- package/dist/core/blueprints/code-to-definition.d.ts.map +1 -0
- package/dist/core/blueprints/code-to-definition.js +147 -0
- package/dist/core/blueprints/compile.d.ts +10 -0
- package/dist/core/blueprints/compile.d.ts.map +1 -0
- package/dist/core/blueprints/compile.js +153 -0
- package/dist/core/blueprints/define.d.ts +6 -0
- package/dist/core/blueprints/define.d.ts.map +1 -0
- package/dist/core/blueprints/define.js +8 -0
- package/dist/core/blueprints/definition.d.ts +963 -0
- package/dist/core/blueprints/definition.d.ts.map +1 -0
- package/dist/core/blueprints/definition.js +151 -0
- package/dist/core/blueprints/load.d.ts +11 -0
- package/dist/core/blueprints/load.d.ts.map +1 -0
- package/dist/core/blueprints/load.js +137 -0
- package/dist/core/blueprints/mutations.d.ts +8 -0
- package/dist/core/blueprints/mutations.d.ts.map +1 -0
- package/dist/core/blueprints/mutations.js +191 -0
- package/dist/core/blueprints/preview-path.d.ts +15 -0
- package/dist/core/blueprints/preview-path.d.ts.map +1 -0
- package/dist/core/blueprints/preview-path.js +25 -0
- package/dist/core/blueprints/reflect-fields.d.ts +36 -0
- package/dist/core/blueprints/reflect-fields.d.ts.map +1 -0
- package/dist/core/blueprints/reflect-fields.js +229 -0
- package/dist/core/blueprints/registry.d.ts +9 -0
- package/dist/core/blueprints/registry.d.ts.map +1 -0
- package/dist/core/blueprints/registry.js +11 -0
- package/dist/core/blueprints/seed.d.ts +5 -0
- package/dist/core/blueprints/seed.d.ts.map +1 -0
- package/dist/core/blueprints/seed.js +17 -0
- package/dist/core/blueprints/select-helpers.d.ts +10 -0
- package/dist/core/blueprints/select-helpers.d.ts.map +1 -0
- package/dist/core/blueprints/select-helpers.js +26 -0
- package/dist/core/blueprints/seo.d.ts +41 -0
- package/dist/core/blueprints/seo.d.ts.map +1 -0
- package/dist/core/blueprints/seo.js +125 -0
- package/dist/core/blueprints/types.d.ts +60 -0
- package/dist/core/blueprints/types.d.ts.map +1 -0
- package/dist/core/blueprints/types.js +1 -0
- package/dist/core/blueprints/zod-helpers.d.ts +79 -0
- package/dist/core/blueprints/zod-helpers.d.ts.map +1 -0
- package/dist/core/blueprints/zod-helpers.js +72 -0
- package/dist/core/db.d.ts +7 -0
- package/dist/core/db.d.ts.map +1 -0
- package/dist/core/db.js +8 -0
- package/dist/core/errors.d.ts +21 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +29 -0
- package/dist/core/forms/compile.d.ts +9 -0
- package/dist/core/forms/compile.d.ts.map +1 -0
- package/dist/core/forms/compile.js +80 -0
- package/dist/core/forms/definition.d.ts +226 -0
- package/dist/core/forms/definition.d.ts.map +1 -0
- package/dist/core/forms/definition.js +83 -0
- package/dist/core/forms/rate-limit.d.ts +10 -0
- package/dist/core/forms/rate-limit.d.ts.map +1 -0
- package/dist/core/forms/rate-limit.js +31 -0
- package/dist/core/forms/unique.d.ts +5 -0
- package/dist/core/forms/unique.d.ts.map +1 -0
- package/dist/core/forms/unique.js +30 -0
- package/dist/core/globals/compile.d.ts +13 -0
- package/dist/core/globals/compile.d.ts.map +1 -0
- package/dist/core/globals/compile.js +17 -0
- package/dist/core/globals/definition.d.ts +161 -0
- package/dist/core/globals/definition.d.ts.map +1 -0
- package/dist/core/globals/definition.js +23 -0
- package/dist/core/locales.d.ts +14 -0
- package/dist/core/locales.d.ts.map +1 -0
- package/dist/core/locales.js +35 -0
- package/dist/core/migrations.d.ts +3 -0
- package/dist/core/migrations.d.ts.map +1 -0
- package/dist/core/migrations.js +41 -0
- package/dist/core/parse-content.d.ts +14 -0
- package/dist/core/parse-content.d.ts.map +1 -0
- package/dist/core/parse-content.js +68 -0
- package/dist/core/plugins/definition.d.ts +99 -0
- package/dist/core/plugins/definition.d.ts.map +1 -0
- package/dist/core/plugins/definition.js +10 -0
- package/dist/core/preview-content.d.ts +16 -0
- package/dist/core/preview-content.d.ts.map +1 -0
- package/dist/core/preview-content.js +8 -0
- package/dist/core/repos/entries.d.ts +102 -0
- package/dist/core/repos/entries.d.ts.map +1 -0
- package/dist/core/repos/entries.js +393 -0
- package/dist/core/repos/forms.d.ts +82 -0
- package/dist/core/repos/forms.d.ts.map +1 -0
- package/dist/core/repos/forms.js +199 -0
- package/dist/core/repos/globals.d.ts +31 -0
- package/dist/core/repos/globals.d.ts.map +1 -0
- package/dist/core/repos/globals.js +150 -0
- package/dist/core/repos/media.d.ts +39 -0
- package/dist/core/repos/media.d.ts.map +1 -0
- package/dist/core/repos/media.js +81 -0
- package/dist/core/repos/preview-sessions.d.ts +35 -0
- package/dist/core/repos/preview-sessions.d.ts.map +1 -0
- package/dist/core/repos/preview-sessions.js +85 -0
- package/dist/core/repos/revisions.d.ts +24 -0
- package/dist/core/repos/revisions.d.ts.map +1 -0
- package/dist/core/repos/revisions.js +44 -0
- package/dist/core/repos/settings.d.ts +9 -0
- package/dist/core/repos/settings.d.ts.map +1 -0
- package/dist/core/repos/settings.js +21 -0
- package/dist/core/schema.d.ts +2717 -0
- package/dist/core/schema.d.ts.map +1 -0
- package/dist/core/schema.js +220 -0
- package/dist/core/sets/compile.d.ts +8 -0
- package/dist/core/sets/compile.d.ts.map +1 -0
- package/dist/core/sets/compile.js +4 -0
- package/dist/core/sets/definition.d.ts +53 -0
- package/dist/core/sets/definition.d.ts.map +1 -0
- package/dist/core/sets/definition.js +7 -0
- package/dist/core/sets/service.d.ts +13 -0
- package/dist/core/sets/service.d.ts.map +1 -0
- package/dist/core/sets/service.js +68 -0
- package/dist/core/sets/validate-tree.d.ts +4 -0
- package/dist/core/sets/validate-tree.d.ts.map +1 -0
- package/dist/core/sets/validate-tree.js +40 -0
- package/dist/core/slug.d.ts +5 -0
- package/dist/core/slug.d.ts.map +1 -0
- package/dist/core/slug.js +25 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/integration/cron.d.ts +4 -0
- package/dist/integration/cron.d.ts.map +1 -0
- package/dist/integration/cron.js +2 -0
- package/dist/integration/index.d.ts +9 -0
- package/dist/integration/index.d.ts.map +1 -0
- package/dist/integration/index.js +63 -0
- package/dist/integration/inject-admin-routes.d.ts +12 -0
- package/dist/integration/inject-admin-routes.d.ts.map +1 -0
- package/dist/integration/inject-admin-routes.js +35 -0
- package/dist/integration/inject-routes.d.ts +11 -0
- package/dist/integration/inject-routes.d.ts.map +1 -0
- package/dist/integration/inject-routes.js +51 -0
- package/dist/integration/install-hook.d.ts +2 -0
- package/dist/integration/install-hook.d.ts.map +1 -0
- package/dist/integration/install-hook.js +74 -0
- package/dist/integration/live-preview-middleware-helpers.d.ts +29 -0
- package/dist/integration/live-preview-middleware-helpers.d.ts.map +1 -0
- package/dist/integration/live-preview-middleware-helpers.js +75 -0
- package/dist/integration/loader-binding.d.ts +6 -0
- package/dist/integration/loader-binding.d.ts.map +1 -0
- package/dist/integration/loader-binding.js +15 -0
- package/dist/integration/middleware.d.ts +2 -0
- package/dist/integration/middleware.d.ts.map +1 -0
- package/dist/integration/middleware.js +51 -0
- package/dist/integration/type-gen.d.ts +2 -0
- package/dist/integration/type-gen.d.ts.map +1 -0
- package/dist/integration/type-gen.js +26 -0
- package/dist/integration/vite-plugin-blueprints.d.ts +3 -0
- package/dist/integration/vite-plugin-blueprints.d.ts.map +1 -0
- package/dist/integration/vite-plugin-blueprints.js +33 -0
- package/dist/integration/wrangler-patch.d.ts +6 -0
- package/dist/integration/wrangler-patch.d.ts.map +1 -0
- package/dist/integration/wrangler-patch.js +18 -0
- package/dist/integration.d.ts +3 -0
- package/dist/integration.d.ts.map +1 -0
- package/dist/integration.js +1 -0
- package/dist/loader.d.ts +3 -0
- package/dist/loader.d.ts.map +1 -0
- package/dist/loader.js +1 -0
- package/dist/package-name.d.ts +3 -0
- package/dist/package-name.d.ts.map +1 -0
- package/dist/package-name.js +2 -0
- package/dist/scaffold/collection-write.d.ts +14 -0
- package/dist/scaffold/collection-write.d.ts.map +1 -0
- package/dist/scaffold/collection-write.js +59 -0
- package/dist/scaffold/collection.d.ts +36 -0
- package/dist/scaffold/collection.d.ts.map +1 -0
- package/dist/scaffold/collection.js +231 -0
- package/dist/server/assets/live-preview-bridge.content.d.ts +2 -0
- package/dist/server/assets/live-preview-bridge.content.d.ts.map +1 -0
- package/dist/server/assets/live-preview-bridge.content.js +2 -0
- package/dist/server/better-auth.d.ts +71 -0
- package/dist/server/better-auth.d.ts.map +1 -0
- package/dist/server/better-auth.js +68 -0
- package/dist/server/cf-images.d.ts +12 -0
- package/dist/server/cf-images.d.ts.map +1 -0
- package/dist/server/cf-images.js +27 -0
- package/dist/server/cron.d.ts +9 -0
- package/dist/server/cron.d.ts.map +1 -0
- package/dist/server/cron.js +26 -0
- package/dist/server/email.d.ts +10 -0
- package/dist/server/email.d.ts.map +1 -0
- package/dist/server/email.js +9 -0
- package/dist/server/endpoints/api-auth.d.ts +5 -0
- package/dist/server/endpoints/api-auth.d.ts.map +1 -0
- package/dist/server/endpoints/api-auth.js +7 -0
- package/dist/server/endpoints/api-vulse-blueprints.d.ts +6 -0
- package/dist/server/endpoints/api-vulse-blueprints.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-blueprints.js +19 -0
- package/dist/server/endpoints/api-vulse-entries-locales.d.ts +4 -0
- package/dist/server/endpoints/api-vulse-entries-locales.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-entries-locales.js +9 -0
- package/dist/server/endpoints/api-vulse-entries-move.d.ts +3 -0
- package/dist/server/endpoints/api-vulse-entries-move.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-entries-move.js +5 -0
- package/dist/server/endpoints/api-vulse-entries-publish.d.ts +3 -0
- package/dist/server/endpoints/api-vulse-entries-publish.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-entries-publish.js +5 -0
- package/dist/server/endpoints/api-vulse-entries-tree.d.ts +3 -0
- package/dist/server/endpoints/api-vulse-entries-tree.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-entries-tree.js +5 -0
- package/dist/server/endpoints/api-vulse-entries.d.ts +6 -0
- package/dist/server/endpoints/api-vulse-entries.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-entries.js +19 -0
- package/dist/server/endpoints/api-vulse-form-handle.d.ts +6 -0
- package/dist/server/endpoints/api-vulse-form-handle.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-form-handle.js +27 -0
- package/dist/server/endpoints/api-vulse-form-public.d.ts +3 -0
- package/dist/server/endpoints/api-vulse-form-public.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-form-public.js +5 -0
- package/dist/server/endpoints/api-vulse-form-submit.d.ts +3 -0
- package/dist/server/endpoints/api-vulse-form-submit.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-form-submit.js +5 -0
- package/dist/server/endpoints/api-vulse-form-upload.d.ts +3 -0
- package/dist/server/endpoints/api-vulse-form-upload.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-form-upload.js +5 -0
- package/dist/server/endpoints/api-vulse-forms.d.ts +4 -0
- package/dist/server/endpoints/api-vulse-forms.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-forms.js +9 -0
- package/dist/server/endpoints/api-vulse-globals-handle.d.ts +5 -0
- package/dist/server/endpoints/api-vulse-globals-handle.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-globals-handle.js +19 -0
- package/dist/server/endpoints/api-vulse-globals-public-handle.d.ts +3 -0
- package/dist/server/endpoints/api-vulse-globals-public-handle.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-globals-public-handle.js +5 -0
- package/dist/server/endpoints/api-vulse-globals-public.d.ts +3 -0
- package/dist/server/endpoints/api-vulse-globals-public.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-globals-public.js +5 -0
- package/dist/server/endpoints/api-vulse-globals-value.d.ts +3 -0
- package/dist/server/endpoints/api-vulse-globals-value.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-globals-value.js +7 -0
- package/dist/server/endpoints/api-vulse-globals.d.ts +4 -0
- package/dist/server/endpoints/api-vulse-globals.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-globals.js +9 -0
- package/dist/server/endpoints/api-vulse-media-file.d.ts +3 -0
- package/dist/server/endpoints/api-vulse-media-file.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-media-file.js +5 -0
- package/dist/server/endpoints/api-vulse-media-id.d.ts +4 -0
- package/dist/server/endpoints/api-vulse-media-id.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-media-id.js +9 -0
- package/dist/server/endpoints/api-vulse-media.d.ts +4 -0
- package/dist/server/endpoints/api-vulse-media.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-media.js +9 -0
- package/dist/server/endpoints/api-vulse-preview-bridge.d.ts +3 -0
- package/dist/server/endpoints/api-vulse-preview-bridge.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-preview-bridge.js +9 -0
- package/dist/server/endpoints/api-vulse-preview-sessions-id.d.ts +3 -0
- package/dist/server/endpoints/api-vulse-preview-sessions-id.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-preview-sessions-id.js +10 -0
- package/dist/server/endpoints/api-vulse-preview-sessions.d.ts +3 -0
- package/dist/server/endpoints/api-vulse-preview-sessions.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-preview-sessions.js +5 -0
- package/dist/server/endpoints/api-vulse-preview-start.d.ts +3 -0
- package/dist/server/endpoints/api-vulse-preview-start.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-preview-start.js +5 -0
- package/dist/server/endpoints/api-vulse-preview-stop.d.ts +3 -0
- package/dist/server/endpoints/api-vulse-preview-stop.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-preview-stop.js +5 -0
- package/dist/server/endpoints/api-vulse-revisions-restore.d.ts +3 -0
- package/dist/server/endpoints/api-vulse-revisions-restore.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-revisions-restore.js +5 -0
- package/dist/server/endpoints/api-vulse-revisions.d.ts +3 -0
- package/dist/server/endpoints/api-vulse-revisions.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-revisions.js +5 -0
- package/dist/server/endpoints/api-vulse-search.d.ts +3 -0
- package/dist/server/endpoints/api-vulse-search.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-search.js +5 -0
- package/dist/server/endpoints/api-vulse-sets.d.ts +6 -0
- package/dist/server/endpoints/api-vulse-sets.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-sets.js +19 -0
- package/dist/server/endpoints/api-vulse-settings.d.ts +4 -0
- package/dist/server/endpoints/api-vulse-settings.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-settings.js +9 -0
- package/dist/server/endpoints/api-vulse-users-id.d.ts +4 -0
- package/dist/server/endpoints/api-vulse-users-id.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-users-id.js +9 -0
- package/dist/server/endpoints/api-vulse-users-reset-password.d.ts +3 -0
- package/dist/server/endpoints/api-vulse-users-reset-password.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-users-reset-password.js +5 -0
- package/dist/server/endpoints/api-vulse-users-role.d.ts +4 -0
- package/dist/server/endpoints/api-vulse-users-role.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-users-role.js +6 -0
- package/dist/server/endpoints/api-vulse-users.d.ts +3 -0
- package/dist/server/endpoints/api-vulse-users.d.ts.map +1 -0
- package/dist/server/endpoints/api-vulse-users.js +5 -0
- package/dist/server/endpoints/with-runtime.d.ts +2 -0
- package/dist/server/endpoints/with-runtime.d.ts.map +1 -0
- package/dist/server/endpoints/with-runtime.js +10 -0
- package/dist/server/env.d.ts +16 -0
- package/dist/server/env.d.ts.map +1 -0
- package/dist/server/env.js +9 -0
- package/dist/server/envelope.d.ts +15 -0
- package/dist/server/envelope.d.ts.map +1 -0
- package/dist/server/envelope.js +16 -0
- package/dist/server/forms/email.d.ts +8 -0
- package/dist/server/forms/email.d.ts.map +1 -0
- package/dist/server/forms/email.js +6 -0
- package/dist/server/forms/process-submission.d.ts +8 -0
- package/dist/server/forms/process-submission.d.ts.map +1 -0
- package/dist/server/forms/process-submission.js +75 -0
- package/dist/server/forms/queue.d.ts +8 -0
- package/dist/server/forms/queue.d.ts.map +1 -0
- package/dist/server/forms/queue.js +17 -0
- package/dist/server/forms/templates.d.ts +9 -0
- package/dist/server/forms/templates.d.ts.map +1 -0
- package/dist/server/forms/templates.js +14 -0
- package/dist/server/forms/webhook.d.ts +2 -0
- package/dist/server/forms/webhook.d.ts.map +1 -0
- package/dist/server/forms/webhook.js +17 -0
- package/dist/server/handler.d.ts +17 -0
- package/dist/server/handler.d.ts.map +1 -0
- package/dist/server/handler.js +45 -0
- package/dist/server/image-probe.d.ts +6 -0
- package/dist/server/image-probe.d.ts.map +1 -0
- package/dist/server/image-probe.js +38 -0
- package/dist/server/loader.d.ts +10 -0
- package/dist/server/loader.d.ts.map +1 -0
- package/dist/server/loader.js +42 -0
- package/dist/server/plugins.d.ts +17 -0
- package/dist/server/plugins.d.ts.map +1 -0
- package/dist/server/plugins.js +134 -0
- package/dist/server/preview.d.ts +7 -0
- package/dist/server/preview.d.ts.map +1 -0
- package/dist/server/preview.js +22 -0
- package/dist/server/r2.d.ts +8 -0
- package/dist/server/r2.d.ts.map +1 -0
- package/dist/server/r2.js +9 -0
- package/dist/server/routes/blueprints.d.ts +10 -0
- package/dist/server/routes/blueprints.d.ts.map +1 -0
- package/dist/server/routes/blueprints.js +46 -0
- package/dist/server/routes/entries.d.ts +16 -0
- package/dist/server/routes/entries.d.ts.map +1 -0
- package/dist/server/routes/entries.js +262 -0
- package/dist/server/routes/form-submit.d.ts +10 -0
- package/dist/server/routes/form-submit.d.ts.map +1 -0
- package/dist/server/routes/form-submit.js +155 -0
- package/dist/server/routes/form-upload.d.ts +11 -0
- package/dist/server/routes/form-upload.d.ts.map +1 -0
- package/dist/server/routes/form-upload.js +87 -0
- package/dist/server/routes/forms.d.ts +14 -0
- package/dist/server/routes/forms.d.ts.map +1 -0
- package/dist/server/routes/forms.js +78 -0
- package/dist/server/routes/globals-public.d.ts +6 -0
- package/dist/server/routes/globals-public.d.ts.map +1 -0
- package/dist/server/routes/globals-public.js +30 -0
- package/dist/server/routes/globals.d.ts +11 -0
- package/dist/server/routes/globals.d.ts.map +1 -0
- package/dist/server/routes/globals.js +84 -0
- package/dist/server/routes/media.d.ts +23 -0
- package/dist/server/routes/media.d.ts.map +1 -0
- package/dist/server/routes/media.js +129 -0
- package/dist/server/routes/preview-sessions.d.ts +9 -0
- package/dist/server/routes/preview-sessions.d.ts.map +1 -0
- package/dist/server/routes/preview-sessions.js +74 -0
- package/dist/server/routes/preview.d.ts +6 -0
- package/dist/server/routes/preview.d.ts.map +1 -0
- package/dist/server/routes/preview.js +37 -0
- package/dist/server/routes/revisions.d.ts +7 -0
- package/dist/server/routes/revisions.d.ts.map +1 -0
- package/dist/server/routes/revisions.js +26 -0
- package/dist/server/routes/search.d.ts +6 -0
- package/dist/server/routes/search.d.ts.map +1 -0
- package/dist/server/routes/search.js +28 -0
- package/dist/server/routes/sets.d.ts +10 -0
- package/dist/server/routes/sets.d.ts.map +1 -0
- package/dist/server/routes/sets.js +33 -0
- package/dist/server/routes/settings.d.ts +7 -0
- package/dist/server/routes/settings.d.ts.map +1 -0
- package/dist/server/routes/settings.js +21 -0
- package/dist/server/routes/users.d.ts +10 -0
- package/dist/server/routes/users.d.ts.map +1 -0
- package/dist/server/routes/users.js +113 -0
- package/dist/server/runtime.d.ts +49 -0
- package/dist/server/runtime.d.ts.map +1 -0
- package/dist/server/runtime.js +69 -0
- package/dist/server/sdk/collections.d.ts +25 -0
- package/dist/server/sdk/collections.d.ts.map +1 -0
- package/dist/server/sdk/collections.js +76 -0
- package/dist/server/sdk/index.d.ts +45 -0
- package/dist/server/sdk/index.d.ts.map +1 -0
- package/dist/server/sdk/index.js +13 -0
- package/dist/server/sdk/media.d.ts +7 -0
- package/dist/server/sdk/media.d.ts.map +1 -0
- package/dist/server/sdk/media.js +9 -0
- package/dist/server/sdk/search.d.ts +19 -0
- package/dist/server/sdk/search.d.ts.map +1 -0
- package/dist/server/sdk/search.js +58 -0
- package/dist/server.d.ts +8 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +6 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/migrations/0000_init.sql +114 -0
- package/migrations/0001_collections_sets.sql +21 -0
- package/migrations/0003_fts.sql +22 -0
- package/migrations/0004_forms.sql +58 -0
- package/migrations/0005_globals.sql +16 -0
- package/migrations/0006_preview_sessions.sql +16 -0
- package/migrations/meta/0000_snapshot.json +672 -0
- package/migrations/meta/_journal.json +13 -0
- package/package.json +130 -0
- package/src/client/BlockRenderer.astro +40 -0
- package/src/client/BlockRenderer.vue +42 -0
- package/src/client/Node.vue +21 -0
- package/src/client/ProseMirrorRenderer.vue +31 -0
- package/src/client/auth.ts +28 -0
- package/src/client/blocks/Blockquote.vue +12 -0
- package/src/client/blocks/BulletList.vue +12 -0
- package/src/client/blocks/CodeBlock.vue +12 -0
- package/src/client/blocks/Emoji.vue +14 -0
- package/src/client/blocks/HardBreak.vue +1 -0
- package/src/client/blocks/Heading.vue +17 -0
- package/src/client/blocks/ListItem.vue +12 -0
- package/src/client/blocks/OrderedList.vue +12 -0
- package/src/client/blocks/Paragraph.vue +12 -0
- package/src/client/blocks/Text.vue +33 -0
- package/src/client/blocks/VulseAccordion.vue +16 -0
- package/src/client/blocks/VulseAccordionGroup.vue +12 -0
- package/src/client/blocks/VulseCallout.vue +14 -0
- package/src/client/blocks/VulseIframe.vue +65 -0
- package/src/client/blocks/VulseImage.vue +30 -0
- package/src/client/blocks/VulseSet.vue +26 -0
- package/src/client/blocks/VulseVideo.vue +18 -0
- package/src/client/components/ForgotPasswordForm.astro +71 -0
- package/src/client/components/FormRenderer.astro +40 -0
- package/src/client/components/ResetPasswordForm.astro +72 -0
- package/src/client/components/SessionGuard.astro +27 -0
- package/src/client/components/SignInForm.astro +57 -0
- package/src/client/components/SignOutButton.astro +22 -0
- package/src/client/components/SignUpForm.astro +61 -0
- package/src/client/components/VulseImage.vue +25 -0
- package/src/client/embed.ts +52 -0
- package/src/client/index.ts +2 -0
- package/src/client/inject.ts +4 -0
- package/src/client/live-preview-bridge.ts +20 -0
- package/src/client/pm-defaults.ts +38 -0
- package/src/client/pm-types.ts +21 -0
- package/src/client/render-pm-html.ts +154 -0
- package/src/client/url.ts +35 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { readLocalesConfig } from '../../core/locales.js';
|
|
2
|
+
import { EntriesRepo } from '../../core/repos/entries.js';
|
|
3
|
+
import { evaluate } from '../../core/access.js';
|
|
4
|
+
function parseDate(v) {
|
|
5
|
+
if (v === undefined)
|
|
6
|
+
return undefined;
|
|
7
|
+
const d = v instanceof Date ? v : new Date(v);
|
|
8
|
+
return Number.isNaN(d.getTime()) ? undefined : d;
|
|
9
|
+
}
|
|
10
|
+
export function collectionsSdk(db, reg) {
|
|
11
|
+
const entries = new EntriesRepo(db);
|
|
12
|
+
async function resolveLocale(explicit) {
|
|
13
|
+
if (explicit)
|
|
14
|
+
return explicit;
|
|
15
|
+
return (await readLocalesConfig(db)).defaultLocale;
|
|
16
|
+
}
|
|
17
|
+
async function gatedRows(name, audience, listOpts, status) {
|
|
18
|
+
const bp = reg.get(name);
|
|
19
|
+
if (!bp)
|
|
20
|
+
throw new Error(`Unknown collection: ${name}`);
|
|
21
|
+
const rows = await entries.list({ collection: name, ...(status ? { status } : {}), ...listOpts });
|
|
22
|
+
const out = [];
|
|
23
|
+
for (const r of rows) {
|
|
24
|
+
const allowed = await evaluate(bp, 'read', {
|
|
25
|
+
user: audience ?? null,
|
|
26
|
+
entry: { id: r.id, status: r.status, createdBy: r.createdBy, content: r.content },
|
|
27
|
+
});
|
|
28
|
+
if (allowed)
|
|
29
|
+
out.push(r);
|
|
30
|
+
}
|
|
31
|
+
return out;
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
find: async (collection, opts = {}) => {
|
|
35
|
+
const status = opts.includeDrafts ? undefined : 'published';
|
|
36
|
+
const publishedAfter = parseDate(opts.publishedAfter);
|
|
37
|
+
const publishedBefore = parseDate(opts.publishedBefore);
|
|
38
|
+
return gatedRows(collection, opts.audience ?? null, {
|
|
39
|
+
locale: await resolveLocale(opts.locale),
|
|
40
|
+
...(opts.limit !== undefined ? { limit: opts.limit } : {}),
|
|
41
|
+
...(opts.offset !== undefined ? { offset: opts.offset } : {}),
|
|
42
|
+
...(opts.createdBy !== undefined ? { createdBy: opts.createdBy } : {}),
|
|
43
|
+
...(publishedAfter !== undefined ? { publishedAfter } : {}),
|
|
44
|
+
...(publishedBefore !== undefined ? { publishedBefore } : {}),
|
|
45
|
+
...(opts.orderBy !== undefined ? { orderBy: opts.orderBy } : {}),
|
|
46
|
+
...(opts.order !== undefined ? { order: opts.order } : {}),
|
|
47
|
+
}, status);
|
|
48
|
+
},
|
|
49
|
+
findById: async (collection, id, opts = {}) => {
|
|
50
|
+
const bp = reg.get(collection);
|
|
51
|
+
if (!bp)
|
|
52
|
+
throw new Error(`Unknown collection: ${collection}`);
|
|
53
|
+
const r = await entries.findById(id, await resolveLocale(opts.locale));
|
|
54
|
+
if (!r)
|
|
55
|
+
return null;
|
|
56
|
+
const allowed = await evaluate(bp, 'read', {
|
|
57
|
+
user: opts.audience ?? null,
|
|
58
|
+
entry: { id: r.id, status: r.status, createdBy: r.createdBy, content: r.content },
|
|
59
|
+
});
|
|
60
|
+
return allowed ? r : null;
|
|
61
|
+
},
|
|
62
|
+
findBySlug: async (collection, slug, opts = {}) => {
|
|
63
|
+
const bp = reg.get(collection);
|
|
64
|
+
if (!bp)
|
|
65
|
+
throw new Error(`Unknown collection: ${collection}`);
|
|
66
|
+
const r = await entries.findBySlug(collection, slug, await resolveLocale(opts.locale));
|
|
67
|
+
if (!r)
|
|
68
|
+
return null;
|
|
69
|
+
const allowed = await evaluate(bp, 'read', {
|
|
70
|
+
user: opts.audience ?? null,
|
|
71
|
+
entry: { id: r.id, status: r.status, createdBy: r.createdBy, content: r.content },
|
|
72
|
+
});
|
|
73
|
+
return allowed ? r : null;
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { VulseDb } from '../../core/db.js';
|
|
2
|
+
import type { Auth } from '../better-auth.js';
|
|
3
|
+
import type { BlueprintRegistry } from '../../core/blueprints/registry.js';
|
|
4
|
+
import type { CfImagesConfig } from '../cf-images.js';
|
|
5
|
+
export declare function createSdk(db: VulseDb, auth: Auth, registry: BlueprintRegistry, cfImages: CfImagesConfig): {
|
|
6
|
+
collections: {
|
|
7
|
+
find: (collection: string, opts?: import("./collections.js").CollectionFindOptions) => Promise<import("../../core/repos/entries.js").EntryRow[]>;
|
|
8
|
+
findById: (collection: string, id: string, opts?: import("./collections.js").CollectionSdkOptions) => Promise<import("../../core/repos/entries.js").EntryRow | null>;
|
|
9
|
+
findBySlug: (collection: string, slug: string, opts?: import("./collections.js").CollectionSdkOptions) => Promise<import("../../core/repos/entries.js").EntryRow | null>;
|
|
10
|
+
};
|
|
11
|
+
media: {
|
|
12
|
+
url: (id: string, variant?: import("../cf-images.js").Variant | string) => string | null;
|
|
13
|
+
findById: (id: string) => Promise<import("../../core/repos/media.js").MediaRow | null>;
|
|
14
|
+
};
|
|
15
|
+
search: {
|
|
16
|
+
query: (query: string, opts?: import("./search.js").SearchOptions) => Promise<import("./search.js").SearchResult[]>;
|
|
17
|
+
};
|
|
18
|
+
auth: {
|
|
19
|
+
session: (request: Request) => Promise<{
|
|
20
|
+
session: {
|
|
21
|
+
id: string;
|
|
22
|
+
createdAt: Date;
|
|
23
|
+
updatedAt: Date;
|
|
24
|
+
userId: string;
|
|
25
|
+
expiresAt: Date;
|
|
26
|
+
token: string;
|
|
27
|
+
ipAddress?: string | null | undefined | undefined;
|
|
28
|
+
userAgent?: string | null | undefined | undefined;
|
|
29
|
+
};
|
|
30
|
+
user: {
|
|
31
|
+
id: string;
|
|
32
|
+
createdAt: Date;
|
|
33
|
+
updatedAt: Date;
|
|
34
|
+
email: string;
|
|
35
|
+
emailVerified: boolean;
|
|
36
|
+
name: string;
|
|
37
|
+
image?: string | null | undefined | undefined;
|
|
38
|
+
role: string;
|
|
39
|
+
displayName?: string | null | undefined;
|
|
40
|
+
};
|
|
41
|
+
} | null>;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
export type VulseSdk = ReturnType<typeof createSdk>;
|
|
45
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/sdk/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAI1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAErD,wBAAgB,SAAS,CACvB,EAAE,EAAE,OAAO,EACX,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,cAAc;;;;;;;;;;;;;;2BAOD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;EAG/B;AAED,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { collectionsSdk } from './collections.js';
|
|
2
|
+
import { mediaSdk } from './media.js';
|
|
3
|
+
import { searchSdk } from './search.js';
|
|
4
|
+
export function createSdk(db, auth, registry, cfImages) {
|
|
5
|
+
return {
|
|
6
|
+
collections: collectionsSdk(db, registry),
|
|
7
|
+
media: mediaSdk(db, cfImages),
|
|
8
|
+
search: searchSdk(db),
|
|
9
|
+
auth: {
|
|
10
|
+
session: (request) => auth.api.getSession({ headers: request.headers }),
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { VulseDb } from '../../core/db.js';
|
|
2
|
+
import { type CfImagesConfig, type Variant } from '../cf-images.js';
|
|
3
|
+
export declare function mediaSdk(db: VulseDb, cfg: CfImagesConfig): {
|
|
4
|
+
url: (id: string, variant?: Variant | string) => string | null;
|
|
5
|
+
findById: (id: string) => Promise<import("../../core/repos/media.js").MediaRow | null>;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=media.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../../src/server/sdk/media.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE/C,OAAO,EAAoB,KAAK,cAAc,EAAE,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAErF,wBAAgB,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc;cAG3C,MAAM,YAAW,OAAO,GAAG,MAAM;mBAC5B,MAAM;EAExB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MediaRepo } from '../../core/repos/media.js';
|
|
2
|
+
import { buildDeliveryUrl } from '../cf-images.js';
|
|
3
|
+
export function mediaSdk(db, cfg) {
|
|
4
|
+
const repo = new MediaRepo(db);
|
|
5
|
+
return {
|
|
6
|
+
url: (id, variant = 'card') => buildDeliveryUrl(cfg, id, variant),
|
|
7
|
+
findById: (id) => repo.findById(id),
|
|
8
|
+
};
|
|
9
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { VulseDb } from '../../core/db.js';
|
|
2
|
+
export interface SearchResult {
|
|
3
|
+
entryId: string;
|
|
4
|
+
collection: string;
|
|
5
|
+
locale: string;
|
|
6
|
+
slug: string;
|
|
7
|
+
title: string;
|
|
8
|
+
snippet: string;
|
|
9
|
+
}
|
|
10
|
+
export interface SearchOptions {
|
|
11
|
+
collections?: string[];
|
|
12
|
+
limit?: number;
|
|
13
|
+
includeDrafts?: boolean;
|
|
14
|
+
locale?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function searchSdk(db: VulseDb): {
|
|
17
|
+
query: (query: string, opts?: SearchOptions) => Promise<SearchResult[]>;
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/server/sdk/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE/C,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAmBD,wBAAgB,SAAS,CAAC,EAAE,EAAE,OAAO;mBAIZ,MAAM,SAAQ,aAAa,KAAQ,OAAO,CAAC,YAAY,EAAE,CAAC;EAkDlF"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
function safeCollection(name) {
|
|
2
|
+
if (!/^[a-z0-9_-]+$/.test(name))
|
|
3
|
+
throw new Error(`Invalid collection: ${name}`);
|
|
4
|
+
return name;
|
|
5
|
+
}
|
|
6
|
+
function buildMatchExpression(query) {
|
|
7
|
+
// FTS5: quote each token and append * for prefix match. Doubling " escapes it
|
|
8
|
+
// inside the quoted token. Tokens that reduce to empty after stripping non-
|
|
9
|
+
// word characters are dropped.
|
|
10
|
+
const tokens = query
|
|
11
|
+
.split(/\s+/)
|
|
12
|
+
.map((t) => t.replace(/[^\p{L}\p{N}_]+/gu, ''))
|
|
13
|
+
.filter((t) => t.length > 0)
|
|
14
|
+
.map((t) => `"${t.replace(/"/g, '""')}"*`);
|
|
15
|
+
return tokens.join(' ');
|
|
16
|
+
}
|
|
17
|
+
export function searchSdk(db) {
|
|
18
|
+
const d1 = db.$client;
|
|
19
|
+
return {
|
|
20
|
+
query: async (query, opts = {}) => {
|
|
21
|
+
const limit = Math.max(1, Math.min(opts.limit ?? 20, 100));
|
|
22
|
+
const match = buildMatchExpression(query);
|
|
23
|
+
if (!match)
|
|
24
|
+
return [];
|
|
25
|
+
const parts = [
|
|
26
|
+
`SELECT f.entry_id, f.collection, f.locale, f.slug, f.title,`,
|
|
27
|
+
`snippet(vulse_entries_fts, 4, '<mark>', '</mark>', '…', 8) AS snippet`,
|
|
28
|
+
`FROM vulse_entries_fts f`,
|
|
29
|
+
`INNER JOIN vulse_entry_locales el`,
|
|
30
|
+
` ON el.entry_id = f.entry_id AND el.locale = f.locale`,
|
|
31
|
+
`WHERE vulse_entries_fts MATCH ?`,
|
|
32
|
+
];
|
|
33
|
+
const binds = [match];
|
|
34
|
+
if (opts.locale) {
|
|
35
|
+
parts.push(`AND f.locale = ?`);
|
|
36
|
+
binds.push(opts.locale);
|
|
37
|
+
}
|
|
38
|
+
if (!opts.includeDrafts)
|
|
39
|
+
parts.push(`AND el.status = 'published'`);
|
|
40
|
+
if (opts.collections && opts.collections.length > 0) {
|
|
41
|
+
const collections = opts.collections.map(safeCollection);
|
|
42
|
+
const placeholders = collections.map(() => '?').join(', ');
|
|
43
|
+
parts.push(`AND f.collection IN (${placeholders})`);
|
|
44
|
+
binds.push(...collections);
|
|
45
|
+
}
|
|
46
|
+
parts.push(`LIMIT ${limit}`);
|
|
47
|
+
const { results } = await d1.prepare(parts.join(' ')).bind(...binds).all();
|
|
48
|
+
return results.map((r) => ({
|
|
49
|
+
entryId: r.entry_id,
|
|
50
|
+
collection: r.collection,
|
|
51
|
+
locale: r.locale,
|
|
52
|
+
slug: r.slug,
|
|
53
|
+
title: r.title ?? r.slug,
|
|
54
|
+
snippet: r.snippet,
|
|
55
|
+
}));
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { createSdk } from './server/sdk/index.js';
|
|
2
|
+
export type { VulseSdk } from './server/sdk/index.js';
|
|
3
|
+
export { getRuntime, invalidateRuntime } from './server/runtime.js';
|
|
4
|
+
export { getRuntimeEnv } from './server/env.js';
|
|
5
|
+
export { createDb } from './core/db.js';
|
|
6
|
+
export { registryForRequest } from './core/blueprints/load.js';
|
|
7
|
+
export { resolvePreviewContent, type VulseLivePreviewLocals, type PreviewLocals } from './core/preview-content.js';
|
|
8
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,YAAY,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,qBAAqB,EAAE,KAAK,sBAAsB,EAAE,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAA"}
|
package/dist/server.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { createSdk } from './server/sdk/index.js';
|
|
2
|
+
export { getRuntime, invalidateRuntime } from './server/runtime.js';
|
|
3
|
+
export { getRuntimeEnv } from './server/env.js';
|
|
4
|
+
export { createDb } from './core/db.js';
|
|
5
|
+
export { registryForRequest } from './core/blueprints/load.js';
|
|
6
|
+
export { resolvePreviewContent } from './core/preview-content.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,aAAa,kBAAkB,CAAA"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
CREATE TABLE `account` (
|
|
2
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
3
|
+
`user_id` text NOT NULL,
|
|
4
|
+
`account_id` text NOT NULL,
|
|
5
|
+
`provider_id` text NOT NULL,
|
|
6
|
+
`access_token` text,
|
|
7
|
+
`refresh_token` text,
|
|
8
|
+
`id_token` text,
|
|
9
|
+
`access_token_expires_at` integer,
|
|
10
|
+
`refresh_token_expires_at` integer,
|
|
11
|
+
`scope` text,
|
|
12
|
+
`password` text,
|
|
13
|
+
`created_at` integer NOT NULL,
|
|
14
|
+
`updated_at` integer NOT NULL,
|
|
15
|
+
FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade
|
|
16
|
+
);
|
|
17
|
+
--> statement-breakpoint
|
|
18
|
+
CREATE TABLE `vulse_entries` (
|
|
19
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
20
|
+
`collection` text NOT NULL,
|
|
21
|
+
`parent_id` text REFERENCES `vulse_entries`(`id`) ON DELETE cascade,
|
|
22
|
+
`sort_order` integer DEFAULT 0 NOT NULL,
|
|
23
|
+
`created_at` integer NOT NULL,
|
|
24
|
+
`updated_at` integer NOT NULL,
|
|
25
|
+
`created_by` text
|
|
26
|
+
);
|
|
27
|
+
--> statement-breakpoint
|
|
28
|
+
CREATE INDEX `vulse_entries_collection` ON `vulse_entries` (`collection`);--> statement-breakpoint
|
|
29
|
+
CREATE INDEX `vulse_entries_tree` ON `vulse_entries` (`collection`,`parent_id`,`sort_order`);--> statement-breakpoint
|
|
30
|
+
CREATE TABLE `vulse_entry_locales` (
|
|
31
|
+
`entry_id` text NOT NULL REFERENCES `vulse_entries`(`id`) ON DELETE cascade,
|
|
32
|
+
`collection` text NOT NULL,
|
|
33
|
+
`locale` text NOT NULL,
|
|
34
|
+
`slug` text NOT NULL,
|
|
35
|
+
`status` text DEFAULT 'draft' NOT NULL CHECK (`status` IN ('draft', 'published')),
|
|
36
|
+
`version` integer DEFAULT 1 NOT NULL,
|
|
37
|
+
`content` text NOT NULL,
|
|
38
|
+
`draft_content` text,
|
|
39
|
+
`published_at` integer,
|
|
40
|
+
`updated_at` integer NOT NULL,
|
|
41
|
+
`updated_by` text,
|
|
42
|
+
PRIMARY KEY (`entry_id`, `locale`)
|
|
43
|
+
);
|
|
44
|
+
--> statement-breakpoint
|
|
45
|
+
CREATE UNIQUE INDEX `vulse_entry_locales_collection_locale_slug` ON `vulse_entry_locales` (`collection`,`locale`,`slug`);--> statement-breakpoint
|
|
46
|
+
CREATE INDEX `vulse_entry_locales_status_published` ON `vulse_entry_locales` (`collection`,`locale`,`status`,`published_at`);--> statement-breakpoint
|
|
47
|
+
CREATE TABLE `vulse_entry_revisions` (
|
|
48
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
49
|
+
`entry_id` text NOT NULL,
|
|
50
|
+
`locale` text NOT NULL,
|
|
51
|
+
`version` integer NOT NULL,
|
|
52
|
+
`content` text NOT NULL,
|
|
53
|
+
`author_id` text,
|
|
54
|
+
`change_summary` text,
|
|
55
|
+
`created_at` integer NOT NULL,
|
|
56
|
+
FOREIGN KEY (`entry_id`) REFERENCES `vulse_entries`(`id`) ON UPDATE no action ON DELETE cascade
|
|
57
|
+
);
|
|
58
|
+
--> statement-breakpoint
|
|
59
|
+
CREATE INDEX `vulse_entry_revisions_entry_locale_version` ON `vulse_entry_revisions` (`entry_id`,`locale`,`version`);--> statement-breakpoint
|
|
60
|
+
CREATE TABLE `vulse_media` (
|
|
61
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
62
|
+
`r2_key` text NOT NULL,
|
|
63
|
+
`mime` text NOT NULL,
|
|
64
|
+
`size` integer NOT NULL,
|
|
65
|
+
`width` integer,
|
|
66
|
+
`height` integer,
|
|
67
|
+
`alt` text,
|
|
68
|
+
`blurhash` text,
|
|
69
|
+
`uploaded_by` text,
|
|
70
|
+
`created_at` integer NOT NULL,
|
|
71
|
+
`deleted_at` integer
|
|
72
|
+
);
|
|
73
|
+
--> statement-breakpoint
|
|
74
|
+
CREATE INDEX `vulse_media_active` ON `vulse_media` (`created_at`) WHERE `deleted_at` IS NULL;--> statement-breakpoint
|
|
75
|
+
CREATE TABLE `session` (
|
|
76
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
77
|
+
`user_id` text NOT NULL,
|
|
78
|
+
`token` text NOT NULL,
|
|
79
|
+
`expires_at` integer NOT NULL,
|
|
80
|
+
`ip_address` text,
|
|
81
|
+
`user_agent` text,
|
|
82
|
+
`created_at` integer NOT NULL,
|
|
83
|
+
`updated_at` integer NOT NULL,
|
|
84
|
+
FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade
|
|
85
|
+
);
|
|
86
|
+
--> statement-breakpoint
|
|
87
|
+
CREATE UNIQUE INDEX `session_token_unique` ON `session` (`token`);--> statement-breakpoint
|
|
88
|
+
CREATE TABLE `vulse_settings` (
|
|
89
|
+
`key` text PRIMARY KEY NOT NULL,
|
|
90
|
+
`value` text NOT NULL,
|
|
91
|
+
`updated_at` integer NOT NULL
|
|
92
|
+
);
|
|
93
|
+
--> statement-breakpoint
|
|
94
|
+
CREATE TABLE `user` (
|
|
95
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
96
|
+
`name` text NOT NULL,
|
|
97
|
+
`email` text NOT NULL,
|
|
98
|
+
`email_verified` integer DEFAULT false NOT NULL,
|
|
99
|
+
`image` text,
|
|
100
|
+
`role` text DEFAULT 'member' NOT NULL CHECK (`role` IN ('admin', 'editor', 'member')),
|
|
101
|
+
`display_name` text,
|
|
102
|
+
`created_at` integer NOT NULL,
|
|
103
|
+
`updated_at` integer NOT NULL
|
|
104
|
+
);
|
|
105
|
+
--> statement-breakpoint
|
|
106
|
+
CREATE UNIQUE INDEX `user_email_unique` ON `user` (`email`);--> statement-breakpoint
|
|
107
|
+
CREATE TABLE `verification` (
|
|
108
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
109
|
+
`identifier` text NOT NULL,
|
|
110
|
+
`value` text NOT NULL,
|
|
111
|
+
`expires_at` integer NOT NULL,
|
|
112
|
+
`created_at` integer NOT NULL,
|
|
113
|
+
`updated_at` integer NOT NULL
|
|
114
|
+
);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
CREATE TABLE `vulse_collections` (
|
|
2
|
+
`handle` text PRIMARY KEY NOT NULL,
|
|
3
|
+
`label` text NOT NULL,
|
|
4
|
+
`definition` text NOT NULL,
|
|
5
|
+
`blueprint_hash` text NOT NULL,
|
|
6
|
+
`schema_version` integer DEFAULT 1 NOT NULL,
|
|
7
|
+
`singleton` integer DEFAULT 0 NOT NULL,
|
|
8
|
+
`tree` integer DEFAULT 0 NOT NULL,
|
|
9
|
+
`drafts` integer DEFAULT 0 NOT NULL,
|
|
10
|
+
`created_at` integer NOT NULL,
|
|
11
|
+
`updated_at` integer NOT NULL
|
|
12
|
+
);
|
|
13
|
+
--> statement-breakpoint
|
|
14
|
+
CREATE TABLE `vulse_sets` (
|
|
15
|
+
`handle` text PRIMARY KEY NOT NULL,
|
|
16
|
+
`label` text NOT NULL,
|
|
17
|
+
`definition` text NOT NULL,
|
|
18
|
+
`schema_version` integer DEFAULT 1 NOT NULL,
|
|
19
|
+
`created_at` integer NOT NULL,
|
|
20
|
+
`updated_at` integer NOT NULL
|
|
21
|
+
);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
CREATE VIRTUAL TABLE vulse_entries_fts USING fts5(
|
|
2
|
+
entry_id UNINDEXED, collection UNINDEXED, locale UNINDEXED, slug, title, body
|
|
3
|
+
);
|
|
4
|
+
--> statement-breakpoint
|
|
5
|
+
CREATE TRIGGER vulse_entry_locales_fts_insert AFTER INSERT ON vulse_entry_locales BEGIN
|
|
6
|
+
INSERT INTO vulse_entries_fts(entry_id, collection, locale, slug, title, body)
|
|
7
|
+
VALUES (NEW.entry_id, NEW.collection, NEW.locale, NEW.slug,
|
|
8
|
+
json_extract(NEW.content, '$.title'),
|
|
9
|
+
json_extract(NEW.content, '$.body'));
|
|
10
|
+
END;
|
|
11
|
+
--> statement-breakpoint
|
|
12
|
+
CREATE TRIGGER vulse_entry_locales_fts_update AFTER UPDATE OF content, slug ON vulse_entry_locales BEGIN
|
|
13
|
+
DELETE FROM vulse_entries_fts WHERE entry_id = OLD.entry_id AND locale = OLD.locale;
|
|
14
|
+
INSERT INTO vulse_entries_fts(entry_id, collection, locale, slug, title, body)
|
|
15
|
+
VALUES (NEW.entry_id, NEW.collection, NEW.locale, NEW.slug,
|
|
16
|
+
json_extract(NEW.content, '$.title'),
|
|
17
|
+
json_extract(NEW.content, '$.body'));
|
|
18
|
+
END;
|
|
19
|
+
--> statement-breakpoint
|
|
20
|
+
CREATE TRIGGER vulse_entry_locales_fts_delete AFTER DELETE ON vulse_entry_locales BEGIN
|
|
21
|
+
DELETE FROM vulse_entries_fts WHERE entry_id = OLD.entry_id AND locale = OLD.locale;
|
|
22
|
+
END;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
CREATE TABLE vulse_forms (
|
|
2
|
+
handle TEXT PRIMARY KEY,
|
|
3
|
+
label TEXT NOT NULL,
|
|
4
|
+
definition TEXT NOT NULL,
|
|
5
|
+
schema_version INTEGER NOT NULL DEFAULT 1,
|
|
6
|
+
enabled INTEGER NOT NULL DEFAULT 1,
|
|
7
|
+
created_at INTEGER NOT NULL,
|
|
8
|
+
updated_at INTEGER NOT NULL
|
|
9
|
+
);
|
|
10
|
+
--> statement-breakpoint
|
|
11
|
+
CREATE TABLE vulse_form_submissions (
|
|
12
|
+
id TEXT PRIMARY KEY,
|
|
13
|
+
form_handle TEXT NOT NULL REFERENCES vulse_forms(handle) ON DELETE CASCADE,
|
|
14
|
+
payload TEXT NOT NULL,
|
|
15
|
+
file_refs TEXT NOT NULL DEFAULT '[]',
|
|
16
|
+
meta TEXT NOT NULL,
|
|
17
|
+
status TEXT NOT NULL DEFAULT 'received' CHECK (status IN ('received', 'processed', 'failed')),
|
|
18
|
+
error TEXT,
|
|
19
|
+
created_at INTEGER NOT NULL
|
|
20
|
+
);
|
|
21
|
+
--> statement-breakpoint
|
|
22
|
+
CREATE INDEX vulse_form_submissions_form_created
|
|
23
|
+
ON vulse_form_submissions(form_handle, created_at DESC);
|
|
24
|
+
--> statement-breakpoint
|
|
25
|
+
CREATE INDEX vulse_form_submissions_form_status
|
|
26
|
+
ON vulse_form_submissions(form_handle, status);
|
|
27
|
+
--> statement-breakpoint
|
|
28
|
+
CREATE TABLE vulse_form_upload_drafts (
|
|
29
|
+
id TEXT PRIMARY KEY,
|
|
30
|
+
form_handle TEXT NOT NULL REFERENCES vulse_forms(handle) ON DELETE CASCADE,
|
|
31
|
+
field_name TEXT NOT NULL,
|
|
32
|
+
media_id TEXT NOT NULL REFERENCES vulse_media(id) ON DELETE CASCADE,
|
|
33
|
+
expires_at INTEGER NOT NULL,
|
|
34
|
+
created_at INTEGER NOT NULL
|
|
35
|
+
);
|
|
36
|
+
--> statement-breakpoint
|
|
37
|
+
CREATE INDEX vulse_form_upload_drafts_expires
|
|
38
|
+
ON vulse_form_upload_drafts(expires_at);
|
|
39
|
+
--> statement-breakpoint
|
|
40
|
+
CREATE TABLE vulse_form_unique_values (
|
|
41
|
+
form_handle TEXT NOT NULL REFERENCES vulse_forms(handle) ON DELETE CASCADE,
|
|
42
|
+
field_name TEXT NOT NULL,
|
|
43
|
+
value_hash TEXT NOT NULL,
|
|
44
|
+
submission_id TEXT NOT NULL REFERENCES vulse_form_submissions(id) ON DELETE CASCADE,
|
|
45
|
+
created_at INTEGER NOT NULL,
|
|
46
|
+
PRIMARY KEY (form_handle, field_name, value_hash)
|
|
47
|
+
);
|
|
48
|
+
--> statement-breakpoint
|
|
49
|
+
CREATE INDEX vulse_form_unique_values_submission
|
|
50
|
+
ON vulse_form_unique_values(submission_id);
|
|
51
|
+
--> statement-breakpoint
|
|
52
|
+
CREATE TABLE vulse_form_rate_limits (
|
|
53
|
+
form_handle TEXT NOT NULL,
|
|
54
|
+
ip_hash TEXT NOT NULL,
|
|
55
|
+
window_start INTEGER NOT NULL,
|
|
56
|
+
count INTEGER NOT NULL DEFAULT 1,
|
|
57
|
+
PRIMARY KEY (form_handle, ip_hash, window_start)
|
|
58
|
+
);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
CREATE TABLE vulse_global_sets (
|
|
2
|
+
handle TEXT PRIMARY KEY,
|
|
3
|
+
label TEXT NOT NULL,
|
|
4
|
+
definition TEXT NOT NULL,
|
|
5
|
+
blueprint_hash TEXT NOT NULL DEFAULT '',
|
|
6
|
+
schema_version INTEGER NOT NULL DEFAULT 1,
|
|
7
|
+
created_at INTEGER NOT NULL,
|
|
8
|
+
updated_at INTEGER NOT NULL
|
|
9
|
+
);
|
|
10
|
+
--> statement-breakpoint
|
|
11
|
+
CREATE TABLE vulse_global_values (
|
|
12
|
+
handle TEXT PRIMARY KEY REFERENCES vulse_global_sets(handle) ON DELETE CASCADE,
|
|
13
|
+
content TEXT NOT NULL DEFAULT '{}',
|
|
14
|
+
created_at INTEGER NOT NULL,
|
|
15
|
+
updated_at INTEGER NOT NULL
|
|
16
|
+
);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
CREATE TABLE vulse_preview_sessions (
|
|
2
|
+
id TEXT PRIMARY KEY,
|
|
3
|
+
user_id TEXT NOT NULL,
|
|
4
|
+
entry_id TEXT,
|
|
5
|
+
collection TEXT NOT NULL,
|
|
6
|
+
locale TEXT NOT NULL DEFAULT 'default',
|
|
7
|
+
slug TEXT NOT NULL,
|
|
8
|
+
content TEXT NOT NULL,
|
|
9
|
+
expires_at INTEGER NOT NULL,
|
|
10
|
+
created_at INTEGER NOT NULL,
|
|
11
|
+
updated_at INTEGER NOT NULL
|
|
12
|
+
);
|
|
13
|
+
--> statement-breakpoint
|
|
14
|
+
CREATE INDEX vulse_preview_sessions_expires ON vulse_preview_sessions(expires_at);
|
|
15
|
+
--> statement-breakpoint
|
|
16
|
+
CREATE INDEX vulse_preview_sessions_user ON vulse_preview_sessions(user_id);
|