@prenta/core 0.118.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2974 -0
- package/LICENSE +21 -0
- package/README.md +33 -0
- package/dist/a11y/index.d.ts +25 -0
- package/dist/a11y/index.d.ts.map +1 -0
- package/dist/a11y/index.js +91 -0
- package/dist/a11y/index.js.map +1 -0
- package/dist/actions.d.ts +130 -0
- package/dist/actions.d.ts.map +1 -0
- package/dist/actions.js +1324 -0
- package/dist/actions.js.map +1 -0
- package/dist/ai/brand-voice-alignment.d.ts +17 -0
- package/dist/ai/brand-voice-alignment.d.ts.map +1 -0
- package/dist/ai/brand-voice-alignment.js +40 -0
- package/dist/ai/brand-voice-alignment.js.map +1 -0
- package/dist/ai/brand-voice-analyze.d.ts +71 -0
- package/dist/ai/brand-voice-analyze.d.ts.map +1 -0
- package/dist/ai/brand-voice-analyze.js +151 -0
- package/dist/ai/brand-voice-analyze.js.map +1 -0
- package/dist/ai/brand-voice-document.d.ts +56 -0
- package/dist/ai/brand-voice-document.d.ts.map +1 -0
- package/dist/ai/brand-voice-document.js +335 -0
- package/dist/ai/brand-voice-document.js.map +1 -0
- package/dist/ai/brand-voice-fix.d.ts +26 -0
- package/dist/ai/brand-voice-fix.d.ts.map +1 -0
- package/dist/ai/brand-voice-fix.js +97 -0
- package/dist/ai/brand-voice-fix.js.map +1 -0
- package/dist/ai/brand-voice-save.d.ts +11 -0
- package/dist/ai/brand-voice-save.d.ts.map +1 -0
- package/dist/ai/brand-voice-save.js +51 -0
- package/dist/ai/brand-voice-save.js.map +1 -0
- package/dist/ai/brand-voice-sources.d.ts +16 -0
- package/dist/ai/brand-voice-sources.d.ts.map +1 -0
- package/dist/ai/brand-voice-sources.js +106 -0
- package/dist/ai/brand-voice-sources.js.map +1 -0
- package/dist/ai/brand-voice-structured.d.ts +87 -0
- package/dist/ai/brand-voice-structured.d.ts.map +1 -0
- package/dist/ai/brand-voice-structured.js +438 -0
- package/dist/ai/brand-voice-structured.js.map +1 -0
- package/dist/ai/brand-voice.d.ts +40 -0
- package/dist/ai/brand-voice.d.ts.map +1 -0
- package/dist/ai/brand-voice.js +103 -0
- package/dist/ai/brand-voice.js.map +1 -0
- package/dist/ai/catalog.d.ts +35 -0
- package/dist/ai/catalog.d.ts.map +1 -0
- package/dist/ai/catalog.js +370 -0
- package/dist/ai/catalog.js.map +1 -0
- package/dist/ai/config-store.d.ts +55 -0
- package/dist/ai/config-store.d.ts.map +1 -0
- package/dist/ai/config-store.js +177 -0
- package/dist/ai/config-store.js.map +1 -0
- package/dist/ai/content-writing-generate.d.ts +19 -0
- package/dist/ai/content-writing-generate.d.ts.map +1 -0
- package/dist/ai/content-writing-generate.js +64 -0
- package/dist/ai/content-writing-generate.js.map +1 -0
- package/dist/ai/feature-defaults.d.ts +20 -0
- package/dist/ai/feature-defaults.d.ts.map +1 -0
- package/dist/ai/feature-defaults.js +104 -0
- package/dist/ai/feature-defaults.js.map +1 -0
- package/dist/ai/index.d.ts +24 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +24 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/models.d.ts +37 -0
- package/dist/ai/models.d.ts.map +1 -0
- package/dist/ai/models.js +126 -0
- package/dist/ai/models.js.map +1 -0
- package/dist/ai/providers/anthropic.d.ts +10 -0
- package/dist/ai/providers/anthropic.d.ts.map +1 -0
- package/dist/ai/providers/anthropic.js +63 -0
- package/dist/ai/providers/anthropic.js.map +1 -0
- package/dist/ai/providers/custom.d.ts +12 -0
- package/dist/ai/providers/custom.d.ts.map +1 -0
- package/dist/ai/providers/custom.js +76 -0
- package/dist/ai/providers/custom.js.map +1 -0
- package/dist/ai/providers/http.d.ts +66 -0
- package/dist/ai/providers/http.d.ts.map +1 -0
- package/dist/ai/providers/http.js +185 -0
- package/dist/ai/providers/http.js.map +1 -0
- package/dist/ai/providers/index.d.ts +18 -0
- package/dist/ai/providers/index.d.ts.map +1 -0
- package/dist/ai/providers/index.js +28 -0
- package/dist/ai/providers/index.js.map +1 -0
- package/dist/ai/providers/openai.d.ts +11 -0
- package/dist/ai/providers/openai.d.ts.map +1 -0
- package/dist/ai/providers/openai.js +44 -0
- package/dist/ai/providers/openai.js.map +1 -0
- package/dist/ai/providers/xai.d.ts +10 -0
- package/dist/ai/providers/xai.d.ts.map +1 -0
- package/dist/ai/providers/xai.js +38 -0
- package/dist/ai/providers/xai.js.map +1 -0
- package/dist/ai/resolve.d.ts +41 -0
- package/dist/ai/resolve.d.ts.map +1 -0
- package/dist/ai/resolve.js +143 -0
- package/dist/ai/resolve.js.map +1 -0
- package/dist/ai/runtime.d.ts +88 -0
- package/dist/ai/runtime.d.ts.map +1 -0
- package/dist/ai/runtime.js +192 -0
- package/dist/ai/runtime.js.map +1 -0
- package/dist/ai/sampling.d.ts +17 -0
- package/dist/ai/sampling.d.ts.map +1 -0
- package/dist/ai/sampling.js +51 -0
- package/dist/ai/sampling.js.map +1 -0
- package/dist/ai/types.d.ts +193 -0
- package/dist/ai/types.d.ts.map +1 -0
- package/dist/ai/types.js +11 -0
- package/dist/ai/types.js.map +1 -0
- package/dist/ai/usage.d.ts +18 -0
- package/dist/ai/usage.d.ts.map +1 -0
- package/dist/ai/usage.js +70 -0
- package/dist/ai/usage.js.map +1 -0
- package/dist/api/collection-introspection.d.ts +46 -0
- package/dist/api/collection-introspection.d.ts.map +1 -0
- package/dist/api/collection-introspection.js +82 -0
- package/dist/api/collection-introspection.js.map +1 -0
- package/dist/api/guarded-db.d.ts +14 -0
- package/dist/api/guarded-db.d.ts.map +1 -0
- package/dist/api/guarded-db.js +62 -0
- package/dist/api/guarded-db.js.map +1 -0
- package/dist/api/handler-factory.d.ts +7 -0
- package/dist/api/handler-factory.d.ts.map +1 -0
- package/dist/api/handler-factory.js +380 -0
- package/dist/api/handler-factory.js.map +1 -0
- package/dist/api/handlers.d.ts +8 -0
- package/dist/api/handlers.d.ts.map +1 -0
- package/dist/api/handlers.js +62 -0
- package/dist/api/handlers.js.map +1 -0
- package/dist/api/index.d.ts +8 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +8 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/openapi.d.ts +3 -0
- package/dist/api/openapi.d.ts.map +1 -0
- package/dist/api/openapi.js +539 -0
- package/dist/api/openapi.js.map +1 -0
- package/dist/api/route-helpers.d.ts +369 -0
- package/dist/api/route-helpers.d.ts.map +1 -0
- package/dist/api/route-helpers.js +1574 -0
- package/dist/api/route-helpers.js.map +1 -0
- package/dist/api/router.d.ts +21 -0
- package/dist/api/router.d.ts.map +1 -0
- package/dist/api/router.js +75 -0
- package/dist/api/router.js.map +1 -0
- package/dist/api/routes/ai-seo.d.ts +3 -0
- package/dist/api/routes/ai-seo.d.ts.map +1 -0
- package/dist/api/routes/ai-seo.js +482 -0
- package/dist/api/routes/ai-seo.js.map +1 -0
- package/dist/api/routes/ai-settings.d.ts +3 -0
- package/dist/api/routes/ai-settings.d.ts.map +1 -0
- package/dist/api/routes/ai-settings.js +1078 -0
- package/dist/api/routes/ai-settings.js.map +1 -0
- package/dist/api/routes/auth.d.ts +3 -0
- package/dist/api/routes/auth.d.ts.map +1 -0
- package/dist/api/routes/auth.js +877 -0
- package/dist/api/routes/auth.js.map +1 -0
- package/dist/api/routes/collab.d.ts +3 -0
- package/dist/api/routes/collab.d.ts.map +1 -0
- package/dist/api/routes/collab.js +426 -0
- package/dist/api/routes/collab.js.map +1 -0
- package/dist/api/routes/dashboard.d.ts +7 -0
- package/dist/api/routes/dashboard.d.ts.map +1 -0
- package/dist/api/routes/dashboard.js +540 -0
- package/dist/api/routes/dashboard.js.map +1 -0
- package/dist/api/routes/documents.d.ts +11 -0
- package/dist/api/routes/documents.d.ts.map +1 -0
- package/dist/api/routes/documents.js +340 -0
- package/dist/api/routes/documents.js.map +1 -0
- package/dist/api/routes/email-settings.d.ts +3 -0
- package/dist/api/routes/email-settings.d.ts.map +1 -0
- package/dist/api/routes/email-settings.js +248 -0
- package/dist/api/routes/email-settings.js.map +1 -0
- package/dist/api/routes/folders.d.ts +3 -0
- package/dist/api/routes/folders.d.ts.map +1 -0
- package/dist/api/routes/folders.js +195 -0
- package/dist/api/routes/folders.js.map +1 -0
- package/dist/api/routes/forms.d.ts +3 -0
- package/dist/api/routes/forms.d.ts.map +1 -0
- package/dist/api/routes/forms.js +776 -0
- package/dist/api/routes/forms.js.map +1 -0
- package/dist/api/routes/globals.d.ts +3 -0
- package/dist/api/routes/globals.d.ts.map +1 -0
- package/dist/api/routes/globals.js +157 -0
- package/dist/api/routes/globals.js.map +1 -0
- package/dist/api/routes/media.d.ts +3 -0
- package/dist/api/routes/media.d.ts.map +1 -0
- package/dist/api/routes/media.js +807 -0
- package/dist/api/routes/media.js.map +1 -0
- package/dist/api/routes/meta.d.ts +3 -0
- package/dist/api/routes/meta.d.ts.map +1 -0
- package/dist/api/routes/meta.js +97 -0
- package/dist/api/routes/meta.js.map +1 -0
- package/dist/api/routes/navigations.d.ts +7 -0
- package/dist/api/routes/navigations.d.ts.map +1 -0
- package/dist/api/routes/navigations.js +81 -0
- package/dist/api/routes/navigations.js.map +1 -0
- package/dist/api/routes/page-templates.d.ts +3 -0
- package/dist/api/routes/page-templates.d.ts.map +1 -0
- package/dist/api/routes/page-templates.js +265 -0
- package/dist/api/routes/page-templates.js.map +1 -0
- package/dist/api/routes/presence.d.ts +3 -0
- package/dist/api/routes/presence.d.ts.map +1 -0
- package/dist/api/routes/presence.js +35 -0
- package/dist/api/routes/presence.js.map +1 -0
- package/dist/api/routes/preview.d.ts +3 -0
- package/dist/api/routes/preview.d.ts.map +1 -0
- package/dist/api/routes/preview.js +111 -0
- package/dist/api/routes/preview.js.map +1 -0
- package/dist/api/routes/redirects.d.ts +3 -0
- package/dist/api/routes/redirects.d.ts.map +1 -0
- package/dist/api/routes/redirects.js +937 -0
- package/dist/api/routes/redirects.js.map +1 -0
- package/dist/api/routes/saved-sections.d.ts +3 -0
- package/dist/api/routes/saved-sections.d.ts.map +1 -0
- package/dist/api/routes/saved-sections.js +1071 -0
- package/dist/api/routes/saved-sections.js.map +1 -0
- package/dist/api/routes/scheduling.d.ts +3 -0
- package/dist/api/routes/scheduling.d.ts.map +1 -0
- package/dist/api/routes/scheduling.js +391 -0
- package/dist/api/routes/scheduling.js.map +1 -0
- package/dist/api/routes/sections.d.ts +3 -0
- package/dist/api/routes/sections.d.ts.map +1 -0
- package/dist/api/routes/sections.js +512 -0
- package/dist/api/routes/sections.js.map +1 -0
- package/dist/api/routes/security-center.d.ts +3 -0
- package/dist/api/routes/security-center.d.ts.map +1 -0
- package/dist/api/routes/security-center.js +71 -0
- package/dist/api/routes/security-center.js.map +1 -0
- package/dist/api/routes/seo-public.d.ts +14 -0
- package/dist/api/routes/seo-public.d.ts.map +1 -0
- package/dist/api/routes/seo-public.js +1366 -0
- package/dist/api/routes/seo-public.js.map +1 -0
- package/dist/api/routes/seo.d.ts +8 -0
- package/dist/api/routes/seo.d.ts.map +1 -0
- package/dist/api/routes/seo.js +2256 -0
- package/dist/api/routes/seo.js.map +1 -0
- package/dist/api/routes/system.d.ts +3 -0
- package/dist/api/routes/system.d.ts.map +1 -0
- package/dist/api/routes/system.js +353 -0
- package/dist/api/routes/system.js.map +1 -0
- package/dist/api/routes/url-resolution.d.ts +3 -0
- package/dist/api/routes/url-resolution.d.ts.map +1 -0
- package/dist/api/routes/url-resolution.js +522 -0
- package/dist/api/routes/url-resolution.js.map +1 -0
- package/dist/api/routes/users.d.ts +3 -0
- package/dist/api/routes/users.d.ts.map +1 -0
- package/dist/api/routes/users.js +1177 -0
- package/dist/api/routes/users.js.map +1 -0
- package/dist/api/routes/webhooks.d.ts +3 -0
- package/dist/api/routes/webhooks.d.ts.map +1 -0
- package/dist/api/routes/webhooks.js +422 -0
- package/dist/api/routes/webhooks.js.map +1 -0
- package/dist/appearance/color.d.ts +24 -0
- package/dist/appearance/color.d.ts.map +1 -0
- package/dist/appearance/color.js +90 -0
- package/dist/appearance/color.js.map +1 -0
- package/dist/appearance/favicon-icon.d.ts +12 -0
- package/dist/appearance/favicon-icon.d.ts.map +1 -0
- package/dist/appearance/favicon-icon.js +58 -0
- package/dist/appearance/favicon-icon.js.map +1 -0
- package/dist/appearance/favicon-paths.d.ts +6 -0
- package/dist/appearance/favicon-paths.d.ts.map +1 -0
- package/dist/appearance/favicon-paths.js +6 -0
- package/dist/appearance/favicon-paths.js.map +1 -0
- package/dist/appearance/index.d.ts +15 -0
- package/dist/appearance/index.d.ts.map +1 -0
- package/dist/appearance/index.js +7 -0
- package/dist/appearance/index.js.map +1 -0
- package/dist/appearance/logo-shape.d.ts +26 -0
- package/dist/appearance/logo-shape.d.ts.map +1 -0
- package/dist/appearance/logo-shape.js +62 -0
- package/dist/appearance/logo-shape.js.map +1 -0
- package/dist/appearance/resolve.d.ts +52 -0
- package/dist/appearance/resolve.d.ts.map +1 -0
- package/dist/appearance/resolve.js +219 -0
- package/dist/appearance/resolve.js.map +1 -0
- package/dist/appearance/theme-tokens.d.ts +49 -0
- package/dist/appearance/theme-tokens.d.ts.map +1 -0
- package/dist/appearance/theme-tokens.js +229 -0
- package/dist/appearance/theme-tokens.js.map +1 -0
- package/dist/appearance/types.d.ts +110 -0
- package/dist/appearance/types.d.ts.map +1 -0
- package/dist/appearance/types.js +16 -0
- package/dist/appearance/types.js.map +1 -0
- package/dist/astro-cache.d.ts +80 -0
- package/dist/astro-cache.d.ts.map +1 -0
- package/dist/astro-cache.js +108 -0
- package/dist/astro-cache.js.map +1 -0
- package/dist/astro-content.d.ts +81 -0
- package/dist/astro-content.d.ts.map +1 -0
- package/dist/astro-content.js +151 -0
- package/dist/astro-content.js.map +1 -0
- package/dist/astro-redirects.d.ts +38 -0
- package/dist/astro-redirects.d.ts.map +1 -0
- package/dist/astro-redirects.js +45 -0
- package/dist/astro-redirects.js.map +1 -0
- package/dist/astro-security.d.ts +34 -0
- package/dist/astro-security.d.ts.map +1 -0
- package/dist/astro-security.js +31 -0
- package/dist/astro-security.js.map +1 -0
- package/dist/astro-site.d.ts +69 -0
- package/dist/astro-site.d.ts.map +1 -0
- package/dist/astro-site.js +81 -0
- package/dist/astro-site.js.map +1 -0
- package/dist/auth/index.d.ts +17 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +12 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/invite-email.d.ts +12 -0
- package/dist/auth/invite-email.d.ts.map +1 -0
- package/dist/auth/invite-email.js +57 -0
- package/dist/auth/invite-email.js.map +1 -0
- package/dist/auth/invites.d.ts +72 -0
- package/dist/auth/invites.d.ts.map +1 -0
- package/dist/auth/invites.js +279 -0
- package/dist/auth/invites.js.map +1 -0
- package/dist/auth/mfa-pending.d.ts +24 -0
- package/dist/auth/mfa-pending.d.ts.map +1 -0
- package/dist/auth/mfa-pending.js +38 -0
- package/dist/auth/mfa-pending.js.map +1 -0
- package/dist/auth/oauth.d.ts +139 -0
- package/dist/auth/oauth.d.ts.map +1 -0
- package/dist/auth/oauth.js +376 -0
- package/dist/auth/oauth.js.map +1 -0
- package/dist/auth/password.d.ts +57 -0
- package/dist/auth/password.d.ts.map +1 -0
- package/dist/auth/password.js +150 -0
- package/dist/auth/password.js.map +1 -0
- package/dist/auth/providers/github.d.ts +9 -0
- package/dist/auth/providers/github.d.ts.map +1 -0
- package/dist/auth/providers/github.js +10 -0
- package/dist/auth/providers/github.js.map +1 -0
- package/dist/auth/providers/google.d.ts +9 -0
- package/dist/auth/providers/google.d.ts.map +1 -0
- package/dist/auth/providers/google.js +10 -0
- package/dist/auth/providers/google.js.map +1 -0
- package/dist/auth/providers/microsoft.d.ts +9 -0
- package/dist/auth/providers/microsoft.d.ts.map +1 -0
- package/dist/auth/providers/microsoft.js +11 -0
- package/dist/auth/providers/microsoft.js.map +1 -0
- package/dist/auth/reset-email.d.ts +10 -0
- package/dist/auth/reset-email.d.ts.map +1 -0
- package/dist/auth/reset-email.js +30 -0
- package/dist/auth/reset-email.js.map +1 -0
- package/dist/auth/reset.d.ts +42 -0
- package/dist/auth/reset.d.ts.map +1 -0
- package/dist/auth/reset.js +142 -0
- package/dist/auth/reset.js.map +1 -0
- package/dist/auth/roles.d.ts +51 -0
- package/dist/auth/roles.d.ts.map +1 -0
- package/dist/auth/roles.js +159 -0
- package/dist/auth/roles.js.map +1 -0
- package/dist/auth/session.d.ts +38 -0
- package/dist/auth/session.d.ts.map +1 -0
- package/dist/auth/session.js +106 -0
- package/dist/auth/session.js.map +1 -0
- package/dist/auth/team.d.ts +99 -0
- package/dist/auth/team.d.ts.map +1 -0
- package/dist/auth/team.js +327 -0
- package/dist/auth/team.js.map +1 -0
- package/dist/auth/totp.d.ts +31 -0
- package/dist/auth/totp.d.ts.map +1 -0
- package/dist/auth/totp.js +134 -0
- package/dist/auth/totp.js.map +1 -0
- package/dist/auth/user-admin.d.ts +119 -0
- package/dist/auth/user-admin.d.ts.map +1 -0
- package/dist/auth/user-admin.js +292 -0
- package/dist/auth/user-admin.js.map +1 -0
- package/dist/backup/index.d.ts +19 -0
- package/dist/backup/index.d.ts.map +1 -0
- package/dist/backup/index.js +24 -0
- package/dist/backup/index.js.map +1 -0
- package/dist/billing/stripe-meter.d.ts +22 -0
- package/dist/billing/stripe-meter.d.ts.map +1 -0
- package/dist/billing/stripe-meter.js +101 -0
- package/dist/billing/stripe-meter.js.map +1 -0
- package/dist/brand-voice/index.d.ts +7 -0
- package/dist/brand-voice/index.d.ts.map +1 -0
- package/dist/brand-voice/index.js +7 -0
- package/dist/brand-voice/index.js.map +1 -0
- package/dist/cache/http.d.ts +140 -0
- package/dist/cache/http.d.ts.map +1 -0
- package/dist/cache/http.js +213 -0
- package/dist/cache/http.js.map +1 -0
- package/dist/cache/index.d.ts +15 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +32 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/client.d.ts +51 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +59 -0
- package/dist/client.js.map +1 -0
- package/dist/codegen/index.d.ts +4 -0
- package/dist/codegen/index.d.ts.map +1 -0
- package/dist/codegen/index.js +366 -0
- package/dist/codegen/index.js.map +1 -0
- package/dist/collections/index.d.ts +19 -0
- package/dist/collections/index.d.ts.map +1 -0
- package/dist/collections/index.js +30 -0
- package/dist/collections/index.js.map +1 -0
- package/dist/collections/presets.d.ts +90 -0
- package/dist/collections/presets.d.ts.map +1 -0
- package/dist/collections/presets.js +573 -0
- package/dist/collections/presets.js.map +1 -0
- package/dist/config/define.d.ts +8 -0
- package/dist/config/define.d.ts.map +1 -0
- package/dist/config/define.js +7 -0
- package/dist/config/define.js.map +1 -0
- package/dist/config/index.d.ts +31 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +196 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/runtime.d.ts +107 -0
- package/dist/config/runtime.d.ts.map +1 -0
- package/dist/config/runtime.js +77 -0
- package/dist/config/runtime.js.map +1 -0
- package/dist/config/types.d.ts +924 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +2 -0
- package/dist/config/types.js.map +1 -0
- package/dist/content/ai-api.d.ts +21 -0
- package/dist/content/ai-api.d.ts.map +1 -0
- package/dist/content/ai-api.js +25 -0
- package/dist/content/ai-api.js.map +1 -0
- package/dist/content/content-graph.d.ts +25 -0
- package/dist/content/content-graph.d.ts.map +1 -0
- package/dist/content/content-graph.js +40 -0
- package/dist/content/content-graph.js.map +1 -0
- package/dist/content/extract.d.ts +7 -0
- package/dist/content/extract.d.ts.map +1 -0
- package/dist/content/extract.js +33 -0
- package/dist/content/extract.js.map +1 -0
- package/dist/content/index.d.ts +9 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +6 -0
- package/dist/content/index.js.map +1 -0
- package/dist/content/slug.d.ts +40 -0
- package/dist/content/slug.d.ts.map +1 -0
- package/dist/content/slug.js +78 -0
- package/dist/content/slug.js.map +1 -0
- package/dist/content/structured-data.d.ts +163 -0
- package/dist/content/structured-data.d.ts.map +1 -0
- package/dist/content/structured-data.js +479 -0
- package/dist/content/structured-data.js.map +1 -0
- package/dist/content-health/cron.d.ts +68 -0
- package/dist/content-health/cron.d.ts.map +1 -0
- package/dist/content-health/cron.js +167 -0
- package/dist/content-health/cron.js.map +1 -0
- package/dist/content-health/scanner.d.ts +119 -0
- package/dist/content-health/scanner.d.ts.map +1 -0
- package/dist/content-health/scanner.js +257 -0
- package/dist/content-health/scanner.js.map +1 -0
- package/dist/cron/index.d.ts +90 -0
- package/dist/cron/index.d.ts.map +1 -0
- package/dist/cron/index.js +299 -0
- package/dist/cron/index.js.map +1 -0
- package/dist/db/adapters/mysql.d.ts +5 -0
- package/dist/db/adapters/mysql.d.ts.map +1 -0
- package/dist/db/adapters/mysql.js +26 -0
- package/dist/db/adapters/mysql.js.map +1 -0
- package/dist/db/adapters/postgres.d.ts +7 -0
- package/dist/db/adapters/postgres.d.ts.map +1 -0
- package/dist/db/adapters/postgres.js +25 -0
- package/dist/db/adapters/postgres.js.map +1 -0
- package/dist/db/adapters/sqlite.d.ts +5 -0
- package/dist/db/adapters/sqlite.d.ts.map +1 -0
- package/dist/db/adapters/sqlite.js +27 -0
- package/dist/db/adapters/sqlite.js.map +1 -0
- package/dist/db/client-types.d.ts +75 -0
- package/dist/db/client-types.d.ts.map +1 -0
- package/dist/db/client-types.js +2 -0
- package/dist/db/client-types.js.map +1 -0
- package/dist/db/create-adapter.d.ts +11 -0
- package/dist/db/create-adapter.d.ts.map +1 -0
- package/dist/db/create-adapter.js +43 -0
- package/dist/db/create-adapter.js.map +1 -0
- package/dist/db/find-in-batches.d.ts +12 -0
- package/dist/db/find-in-batches.d.ts.map +1 -0
- package/dist/db/find-in-batches.js +20 -0
- package/dist/db/find-in-batches.js.map +1 -0
- package/dist/db/index.d.ts +9 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +5 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/model-types.d.ts +602 -0
- package/dist/db/model-types.d.ts.map +1 -0
- package/dist/db/model-types.js +14 -0
- package/dist/db/model-types.js.map +1 -0
- package/dist/db.d.ts +20 -0
- package/dist/db.d.ts.map +1 -0
- package/dist/db.js +35 -0
- package/dist/db.js.map +1 -0
- package/dist/diagnostics/api-metrics.d.ts +135 -0
- package/dist/diagnostics/api-metrics.d.ts.map +1 -0
- package/dist/diagnostics/api-metrics.js +376 -0
- package/dist/diagnostics/api-metrics.js.map +1 -0
- package/dist/diagnostics/env.d.ts +44 -0
- package/dist/diagnostics/env.d.ts.map +1 -0
- package/dist/diagnostics/env.js +354 -0
- package/dist/diagnostics/env.js.map +1 -0
- package/dist/diagnostics/logger.d.ts +38 -0
- package/dist/diagnostics/logger.d.ts.map +1 -0
- package/dist/diagnostics/logger.js +89 -0
- package/dist/diagnostics/logger.js.map +1 -0
- package/dist/diagnostics/sentry.d.ts +8 -0
- package/dist/diagnostics/sentry.d.ts.map +1 -0
- package/dist/diagnostics/sentry.js +54 -0
- package/dist/diagnostics/sentry.js.map +1 -0
- package/dist/email/resolve.d.ts +27 -0
- package/dist/email/resolve.d.ts.map +1 -0
- package/dist/email/resolve.js +68 -0
- package/dist/email/resolve.js.map +1 -0
- package/dist/email/sender.d.ts +71 -0
- package/dist/email/sender.d.ts.map +1 -0
- package/dist/email/sender.js +41 -0
- package/dist/email/sender.js.map +1 -0
- package/dist/email/settings-store.d.ts +116 -0
- package/dist/email/settings-store.d.ts.map +1 -0
- package/dist/email/settings-store.js +222 -0
- package/dist/email/settings-store.js.map +1 -0
- package/dist/fields/component-block.d.ts +23 -0
- package/dist/fields/component-block.d.ts.map +1 -0
- package/dist/fields/component-block.js +137 -0
- package/dist/fields/component-block.js.map +1 -0
- package/dist/fields/index.d.ts +19 -0
- package/dist/fields/index.d.ts.map +1 -0
- package/dist/fields/index.js +95 -0
- package/dist/fields/index.js.map +1 -0
- package/dist/fields/presets.d.ts +144 -0
- package/dist/fields/presets.d.ts.map +1 -0
- package/dist/fields/presets.js +350 -0
- package/dist/fields/presets.js.map +1 -0
- package/dist/fields/relations.d.ts +87 -0
- package/dist/fields/relations.d.ts.map +1 -0
- package/dist/fields/relations.js +231 -0
- package/dist/fields/relations.js.map +1 -0
- package/dist/forms/analytics.d.ts +62 -0
- package/dist/forms/analytics.d.ts.map +1 -0
- package/dist/forms/analytics.js +95 -0
- package/dist/forms/analytics.js.map +1 -0
- package/dist/forms/attribution.d.ts +175 -0
- package/dist/forms/attribution.d.ts.map +1 -0
- package/dist/forms/attribution.js +577 -0
- package/dist/forms/attribution.js.map +1 -0
- package/dist/forms/client-validation.d.ts +50 -0
- package/dist/forms/client-validation.d.ts.map +1 -0
- package/dist/forms/client-validation.js +215 -0
- package/dist/forms/client-validation.js.map +1 -0
- package/dist/forms/delivery.d.ts +89 -0
- package/dist/forms/delivery.d.ts.map +1 -0
- package/dist/forms/delivery.js +477 -0
- package/dist/forms/delivery.js.map +1 -0
- package/dist/forms/encryption.d.ts +20 -0
- package/dist/forms/encryption.d.ts.map +1 -0
- package/dist/forms/encryption.js +80 -0
- package/dist/forms/encryption.js.map +1 -0
- package/dist/forms/entries.d.ts +68 -0
- package/dist/forms/entries.d.ts.map +1 -0
- package/dist/forms/entries.js +557 -0
- package/dist/forms/entries.js.map +1 -0
- package/dist/forms/files.d.ts +38 -0
- package/dist/forms/files.d.ts.map +1 -0
- package/dist/forms/files.js +134 -0
- package/dist/forms/files.js.map +1 -0
- package/dist/forms/index.d.ts +21 -0
- package/dist/forms/index.d.ts.map +1 -0
- package/dist/forms/index.js +20 -0
- package/dist/forms/index.js.map +1 -0
- package/dist/forms/notify.d.ts +80 -0
- package/dist/forms/notify.d.ts.map +1 -0
- package/dist/forms/notify.js +357 -0
- package/dist/forms/notify.js.map +1 -0
- package/dist/forms/prefetch.d.ts +17 -0
- package/dist/forms/prefetch.d.ts.map +1 -0
- package/dist/forms/prefetch.js +36 -0
- package/dist/forms/prefetch.js.map +1 -0
- package/dist/forms/public-html.d.ts +22 -0
- package/dist/forms/public-html.d.ts.map +1 -0
- package/dist/forms/public-html.js +145 -0
- package/dist/forms/public-html.js.map +1 -0
- package/dist/forms/service.d.ts +102 -0
- package/dist/forms/service.d.ts.map +1 -0
- package/dist/forms/service.js +625 -0
- package/dist/forms/service.js.map +1 -0
- package/dist/forms/spam.d.ts +33 -0
- package/dist/forms/spam.d.ts.map +1 -0
- package/dist/forms/spam.js +93 -0
- package/dist/forms/spam.js.map +1 -0
- package/dist/forms/submission.d.ts +132 -0
- package/dist/forms/submission.d.ts.map +1 -0
- package/dist/forms/submission.js +348 -0
- package/dist/forms/submission.js.map +1 -0
- package/dist/forms/types.d.ts +259 -0
- package/dist/forms/types.d.ts.map +1 -0
- package/dist/forms/types.js +20 -0
- package/dist/forms/types.js.map +1 -0
- package/dist/forms/validation.d.ts +19 -0
- package/dist/forms/validation.d.ts.map +1 -0
- package/dist/forms/validation.js +166 -0
- package/dist/forms/validation.js.map +1 -0
- package/dist/forms/webhooks.d.ts +60 -0
- package/dist/forms/webhooks.d.ts.map +1 -0
- package/dist/forms/webhooks.js +360 -0
- package/dist/forms/webhooks.js.map +1 -0
- package/dist/forms/webmcp.d.ts +36 -0
- package/dist/forms/webmcp.d.ts.map +1 -0
- package/dist/forms/webmcp.js +67 -0
- package/dist/forms/webmcp.js.map +1 -0
- package/dist/forms/xlsx.d.ts +10 -0
- package/dist/forms/xlsx.d.ts.map +1 -0
- package/dist/forms/xlsx.js +207 -0
- package/dist/forms/xlsx.js.map +1 -0
- package/dist/generated/browser.d.ts +220 -0
- package/dist/generated/browser.js +17 -0
- package/dist/generated/client.d.ts +239 -0
- package/dist/generated/client.js +34 -0
- package/dist/generated/commonInputTypes.d.ts +887 -0
- package/dist/generated/commonInputTypes.js +10 -0
- package/dist/generated/enums.d.ts +83 -0
- package/dist/generated/enums.js +81 -0
- package/dist/generated/internal/class.d.ts +517 -0
- package/dist/generated/internal/class.js +52 -0
- package/dist/generated/internal/prismaNamespace.d.ts +4184 -0
- package/dist/generated/internal/prismaNamespace.js +932 -0
- package/dist/generated/internal/prismaNamespaceBrowser.d.ts +968 -0
- package/dist/generated/internal/prismaNamespaceBrowser.js +903 -0
- package/dist/generated/models/AiCrawlerHit.d.ts +1115 -0
- package/dist/generated/models/AiCrawlerHit.js +1 -0
- package/dist/generated/models/ApiKey.d.ts +1388 -0
- package/dist/generated/models/ApiKey.js +1 -0
- package/dist/generated/models/ApiRequestMetric.d.ts +1229 -0
- package/dist/generated/models/ApiRequestMetric.js +1 -0
- package/dist/generated/models/AuditLog.d.ts +1062 -0
- package/dist/generated/models/AuditLog.js +1 -0
- package/dist/generated/models/BackupRecord.d.ts +1100 -0
- package/dist/generated/models/BackupRecord.js +1 -0
- package/dist/generated/models/ContentIssue.d.ts +1318 -0
- package/dist/generated/models/ContentIssue.js +1 -0
- package/dist/generated/models/ContentLock.d.ts +1295 -0
- package/dist/generated/models/ContentLock.js +1 -0
- package/dist/generated/models/ContentTemplate.d.ts +1254 -0
- package/dist/generated/models/ContentTemplate.js +1 -0
- package/dist/generated/models/Document.d.ts +3443 -0
- package/dist/generated/models/Document.js +1 -0
- package/dist/generated/models/Folder.d.ts +1689 -0
- package/dist/generated/models/Folder.js +1 -0
- package/dist/generated/models/FormDeliveryAttempt.d.ts +1705 -0
- package/dist/generated/models/FormDeliveryAttempt.js +1 -0
- package/dist/generated/models/FormSchemaVersion.d.ts +1105 -0
- package/dist/generated/models/FormSchemaVersion.js +1 -0
- package/dist/generated/models/FormSubmission.d.ts +2125 -0
- package/dist/generated/models/FormSubmission.js +1 -0
- package/dist/generated/models/FormSubmissionFile.d.ts +1438 -0
- package/dist/generated/models/FormSubmissionFile.js +1 -0
- package/dist/generated/models/FormWebhook.d.ts +1271 -0
- package/dist/generated/models/FormWebhook.js +1 -0
- package/dist/generated/models/InAppNotification.d.ts +1295 -0
- package/dist/generated/models/InAppNotification.js +1 -0
- package/dist/generated/models/Invite.d.ts +1240 -0
- package/dist/generated/models/Invite.js +1 -0
- package/dist/generated/models/Media.d.ts +2759 -0
- package/dist/generated/models/Media.js +1 -0
- package/dist/generated/models/MediaUsage.d.ts +1301 -0
- package/dist/generated/models/MediaUsage.js +1 -0
- package/dist/generated/models/OAuthAccount.d.ts +1300 -0
- package/dist/generated/models/OAuthAccount.js +1 -0
- package/dist/generated/models/PageTemplate.d.ts +1118 -0
- package/dist/generated/models/PageTemplate.js +1 -0
- package/dist/generated/models/PasswordResetToken.d.ts +1225 -0
- package/dist/generated/models/PasswordResetToken.js +1 -0
- package/dist/generated/models/Redirect.d.ts +1342 -0
- package/dist/generated/models/Redirect.js +1 -0
- package/dist/generated/models/Redirect404Hit.d.ts +1107 -0
- package/dist/generated/models/Redirect404Hit.js +1 -0
- package/dist/generated/models/RedirectSuggestion.d.ts +1185 -0
- package/dist/generated/models/RedirectSuggestion.js +1 -0
- package/dist/generated/models/SavedSection.d.ts +1156 -0
- package/dist/generated/models/SavedSection.js +1 -0
- package/dist/generated/models/ScriptTag.d.ts +1291 -0
- package/dist/generated/models/ScriptTag.js +1 -0
- package/dist/generated/models/SeoAuditRun.d.ts +1570 -0
- package/dist/generated/models/SeoAuditRun.js +1 -0
- package/dist/generated/models/SeoIssue.d.ts +1873 -0
- package/dist/generated/models/SeoIssue.js +1 -0
- package/dist/generated/models/Session.d.ts +1330 -0
- package/dist/generated/models/Session.js +1 -0
- package/dist/generated/models/Site.d.ts +1062 -0
- package/dist/generated/models/Site.js +1 -0
- package/dist/generated/models/User.d.ts +4344 -0
- package/dist/generated/models/User.js +1 -0
- package/dist/generated/models/Version.d.ts +1334 -0
- package/dist/generated/models/Version.js +1 -0
- package/dist/generated/models/WebhookDeliveryLog.d.ts +1479 -0
- package/dist/generated/models/WebhookDeliveryLog.js +1 -0
- package/dist/generated/models/WebhookEndpoint.d.ts +1331 -0
- package/dist/generated/models/WebhookEndpoint.js +1 -0
- package/dist/generated/models/WorkflowState.d.ts +1436 -0
- package/dist/generated/models/WorkflowState.js +1 -0
- package/dist/generated/models.d.ts +37 -0
- package/dist/generated/models.js +1 -0
- package/dist/graphql/index.d.ts +11 -0
- package/dist/graphql/index.d.ts.map +1 -0
- package/dist/graphql/index.js +74 -0
- package/dist/graphql/index.js.map +1 -0
- package/dist/graphql/resolvers.d.ts +8 -0
- package/dist/graphql/resolvers.d.ts.map +1 -0
- package/dist/graphql/resolvers.js +89 -0
- package/dist/graphql/resolvers.js.map +1 -0
- package/dist/graphql/schema-builder.d.ts +3 -0
- package/dist/graphql/schema-builder.d.ts.map +1 -0
- package/dist/graphql/schema-builder.js +103 -0
- package/dist/graphql/schema-builder.js.map +1 -0
- package/dist/health/index.d.ts +27 -0
- package/dist/health/index.d.ts.map +1 -0
- package/dist/health/index.js +43 -0
- package/dist/health/index.js.map +1 -0
- package/dist/i18n/index.d.ts +22 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +37 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/index.d.ts +125 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +132 -0
- package/dist/index.js.map +1 -0
- package/dist/media/content-hash.d.ts +3 -0
- package/dist/media/content-hash.d.ts.map +1 -0
- package/dist/media/content-hash.js +11 -0
- package/dist/media/content-hash.js.map +1 -0
- package/dist/media/denormalize.d.ts +23 -0
- package/dist/media/denormalize.d.ts.map +1 -0
- package/dist/media/denormalize.js +170 -0
- package/dist/media/denormalize.js.map +1 -0
- package/dist/media/index.d.ts +8 -0
- package/dist/media/index.d.ts.map +1 -0
- package/dist/media/index.js +5 -0
- package/dist/media/index.js.map +1 -0
- package/dist/media/merge-document-media.d.ts +23 -0
- package/dist/media/merge-document-media.d.ts.map +1 -0
- package/dist/media/merge-document-media.js +146 -0
- package/dist/media/merge-document-media.js.map +1 -0
- package/dist/media/metadata-patch.d.ts +21 -0
- package/dist/media/metadata-patch.d.ts.map +1 -0
- package/dist/media/metadata-patch.js +37 -0
- package/dist/media/metadata-patch.js.map +1 -0
- package/dist/media/optimize.d.ts +61 -0
- package/dist/media/optimize.d.ts.map +1 -0
- package/dist/media/optimize.js +168 -0
- package/dist/media/optimize.js.map +1 -0
- package/dist/media/seo.d.ts +110 -0
- package/dist/media/seo.d.ts.map +1 -0
- package/dist/media/seo.js +263 -0
- package/dist/media/seo.js.map +1 -0
- package/dist/media/usage-sync.d.ts +37 -0
- package/dist/media/usage-sync.d.ts.map +1 -0
- package/dist/media/usage-sync.js +234 -0
- package/dist/media/usage-sync.js.map +1 -0
- package/dist/middleware.d.ts +17 -0
- package/dist/middleware.d.ts.map +1 -0
- package/dist/middleware.js +159 -0
- package/dist/middleware.js.map +1 -0
- package/dist/multisite/index.d.ts +20 -0
- package/dist/multisite/index.d.ts.map +1 -0
- package/dist/multisite/index.js +26 -0
- package/dist/multisite/index.js.map +1 -0
- package/dist/navigation/unresolved-targets.d.ts +35 -0
- package/dist/navigation/unresolved-targets.d.ts.map +1 -0
- package/dist/navigation/unresolved-targets.js +109 -0
- package/dist/navigation/unresolved-targets.js.map +1 -0
- package/dist/next/preview.d.ts +10 -0
- package/dist/next/preview.d.ts.map +1 -0
- package/dist/next/preview.js +17 -0
- package/dist/next/preview.js.map +1 -0
- package/dist/next/script-tags.d.ts +15 -0
- package/dist/next/script-tags.d.ts.map +1 -0
- package/dist/next/script-tags.js +58 -0
- package/dist/next/script-tags.js.map +1 -0
- package/dist/next-site.d.ts +29 -0
- package/dist/next-site.d.ts.map +1 -0
- package/dist/next-site.js +60 -0
- package/dist/next-site.js.map +1 -0
- package/dist/next.d.ts +33 -0
- package/dist/next.d.ts.map +1 -0
- package/dist/next.js +142 -0
- package/dist/next.js.map +1 -0
- package/dist/notifications/index.d.ts +20 -0
- package/dist/notifications/index.d.ts.map +1 -0
- package/dist/notifications/index.js +22 -0
- package/dist/notifications/index.js.map +1 -0
- package/dist/page-builder/a11y-fix.d.ts +20 -0
- package/dist/page-builder/a11y-fix.d.ts.map +1 -0
- package/dist/page-builder/a11y-fix.js +182 -0
- package/dist/page-builder/a11y-fix.js.map +1 -0
- package/dist/page-builder/ai-pipeline.d.ts +43 -0
- package/dist/page-builder/ai-pipeline.d.ts.map +1 -0
- package/dist/page-builder/ai-pipeline.js +165 -0
- package/dist/page-builder/ai-pipeline.js.map +1 -0
- package/dist/page-builder/blocks.d.ts +27 -0
- package/dist/page-builder/blocks.d.ts.map +1 -0
- package/dist/page-builder/blocks.js +313 -0
- package/dist/page-builder/blocks.js.map +1 -0
- package/dist/page-builder/design-scorer.d.ts +27 -0
- package/dist/page-builder/design-scorer.d.ts.map +1 -0
- package/dist/page-builder/design-scorer.js +612 -0
- package/dist/page-builder/design-scorer.js.map +1 -0
- package/dist/page-builder/index.d.ts +18 -0
- package/dist/page-builder/index.d.ts.map +1 -0
- package/dist/page-builder/index.js +20 -0
- package/dist/page-builder/index.js.map +1 -0
- package/dist/page-builder/schema.d.ts +107 -0
- package/dist/page-builder/schema.d.ts.map +1 -0
- package/dist/page-builder/schema.js +90 -0
- package/dist/page-builder/schema.js.map +1 -0
- package/dist/page-builder/seo-analyzer.d.ts +61 -0
- package/dist/page-builder/seo-analyzer.d.ts.map +1 -0
- package/dist/page-builder/seo-analyzer.js +778 -0
- package/dist/page-builder/seo-analyzer.js.map +1 -0
- package/dist/page-builder/templates.d.ts +9 -0
- package/dist/page-builder/templates.d.ts.map +1 -0
- package/dist/page-builder/templates.js +742 -0
- package/dist/page-builder/templates.js.map +1 -0
- package/dist/page-builder/tree.d.ts +17 -0
- package/dist/page-builder/tree.d.ts.map +1 -0
- package/dist/page-builder/tree.js +160 -0
- package/dist/page-builder/tree.js.map +1 -0
- package/dist/page-builder/types.d.ts +112 -0
- package/dist/page-builder/types.d.ts.map +1 -0
- package/dist/page-builder/types.js +4 -0
- package/dist/page-builder/types.js.map +1 -0
- package/dist/page-builder/validate.d.ts +6 -0
- package/dist/page-builder/validate.d.ts.map +1 -0
- package/dist/page-builder/validate.js +87 -0
- package/dist/page-builder/validate.js.map +1 -0
- package/dist/plan/features.d.ts +17 -0
- package/dist/plan/features.d.ts.map +1 -0
- package/dist/plan/features.js +73 -0
- package/dist/plan/features.js.map +1 -0
- package/dist/posts/query.d.ts +50 -0
- package/dist/posts/query.d.ts.map +1 -0
- package/dist/posts/query.js +105 -0
- package/dist/posts/query.js.map +1 -0
- package/dist/presence/index.d.ts +24 -0
- package/dist/presence/index.d.ts.map +1 -0
- package/dist/presence/index.js +99 -0
- package/dist/presence/index.js.map +1 -0
- package/dist/preview/event-bus.d.ts +39 -0
- package/dist/preview/event-bus.d.ts.map +1 -0
- package/dist/preview/event-bus.js +73 -0
- package/dist/preview/event-bus.js.map +1 -0
- package/dist/preview/index.d.ts +36 -0
- package/dist/preview/index.d.ts.map +1 -0
- package/dist/preview/index.js +68 -0
- package/dist/preview/index.js.map +1 -0
- package/dist/preview/sse-stream.d.ts +47 -0
- package/dist/preview/sse-stream.d.ts.map +1 -0
- package/dist/preview/sse-stream.js +111 -0
- package/dist/preview/sse-stream.js.map +1 -0
- package/dist/privacy/index.d.ts +33 -0
- package/dist/privacy/index.d.ts.map +1 -0
- package/dist/privacy/index.js +15 -0
- package/dist/privacy/index.js.map +1 -0
- package/dist/public-redirects.d.ts +78 -0
- package/dist/public-redirects.d.ts.map +1 -0
- package/dist/public-redirects.js +187 -0
- package/dist/public-redirects.js.map +1 -0
- package/dist/public-security-headers.d.ts +27 -0
- package/dist/public-security-headers.d.ts.map +1 -0
- package/dist/public-security-headers.js +40 -0
- package/dist/public-security-headers.js.map +1 -0
- package/dist/publishing/publish-sync.d.ts +50 -0
- package/dist/publishing/publish-sync.d.ts.map +1 -0
- package/dist/publishing/publish-sync.js +124 -0
- package/dist/publishing/publish-sync.js.map +1 -0
- package/dist/purge/adapters.d.ts +60 -0
- package/dist/purge/adapters.d.ts.map +1 -0
- package/dist/purge/adapters.js +81 -0
- package/dist/purge/adapters.js.map +1 -0
- package/dist/purge/index.d.ts +12 -0
- package/dist/purge/index.d.ts.map +1 -0
- package/dist/purge/index.js +10 -0
- package/dist/purge/index.js.map +1 -0
- package/dist/purge/receiver.d.ts +95 -0
- package/dist/purge/receiver.d.ts.map +1 -0
- package/dist/purge/receiver.js +176 -0
- package/dist/purge/receiver.js.map +1 -0
- package/dist/realtime/comments.d.ts +217 -0
- package/dist/realtime/comments.d.ts.map +1 -0
- package/dist/realtime/comments.js +282 -0
- package/dist/realtime/comments.js.map +1 -0
- package/dist/realtime/gateway.d.ts +107 -0
- package/dist/realtime/gateway.d.ts.map +1 -0
- package/dist/realtime/gateway.js +215 -0
- package/dist/realtime/gateway.js.map +1 -0
- package/dist/realtime/index.d.ts +21 -0
- package/dist/realtime/index.d.ts.map +1 -0
- package/dist/realtime/index.js +27 -0
- package/dist/realtime/index.js.map +1 -0
- package/dist/realtime/notification-bus.d.ts +60 -0
- package/dist/realtime/notification-bus.d.ts.map +1 -0
- package/dist/realtime/notification-bus.js +77 -0
- package/dist/realtime/notification-bus.js.map +1 -0
- package/dist/realtime/notification-stream.d.ts +50 -0
- package/dist/realtime/notification-stream.d.ts.map +1 -0
- package/dist/realtime/notification-stream.js +148 -0
- package/dist/realtime/notification-stream.js.map +1 -0
- package/dist/realtime/notifications.d.ts +201 -0
- package/dist/realtime/notifications.d.ts.map +1 -0
- package/dist/realtime/notifications.js +233 -0
- package/dist/realtime/notifications.js.map +1 -0
- package/dist/realtime/persistence.d.ts +72 -0
- package/dist/realtime/persistence.d.ts.map +1 -0
- package/dist/realtime/persistence.js +53 -0
- package/dist/realtime/persistence.js.map +1 -0
- package/dist/realtime/sse.d.ts +20 -0
- package/dist/realtime/sse.d.ts.map +1 -0
- package/dist/realtime/sse.js +31 -0
- package/dist/realtime/sse.js.map +1 -0
- package/dist/redirects/auto.d.ts +45 -0
- package/dist/redirects/auto.d.ts.map +1 -0
- package/dist/redirects/auto.js +60 -0
- package/dist/redirects/auto.js.map +1 -0
- package/dist/redirects/fix-link.d.ts +15 -0
- package/dist/redirects/fix-link.d.ts.map +1 -0
- package/dist/redirects/fix-link.js +66 -0
- package/dist/redirects/fix-link.js.map +1 -0
- package/dist/redirects/graph.d.ts +92 -0
- package/dist/redirects/graph.d.ts.map +1 -0
- package/dist/redirects/graph.js +176 -0
- package/dist/redirects/graph.js.map +1 -0
- package/dist/redirects/index.d.ts +17 -0
- package/dist/redirects/index.d.ts.map +1 -0
- package/dist/redirects/index.js +10 -0
- package/dist/redirects/index.js.map +1 -0
- package/dist/redirects/legitimacy.d.ts +23 -0
- package/dist/redirects/legitimacy.d.ts.map +1 -0
- package/dist/redirects/legitimacy.js +64 -0
- package/dist/redirects/legitimacy.js.map +1 -0
- package/dist/redirects/recovery.d.ts +92 -0
- package/dist/redirects/recovery.d.ts.map +1 -0
- package/dist/redirects/recovery.js +210 -0
- package/dist/redirects/recovery.js.map +1 -0
- package/dist/redirects/rerank.d.ts +24 -0
- package/dist/redirects/rerank.d.ts.map +1 -0
- package/dist/redirects/rerank.js +82 -0
- package/dist/redirects/rerank.js.map +1 -0
- package/dist/redirects/suggest.d.ts +23 -0
- package/dist/redirects/suggest.d.ts.map +1 -0
- package/dist/redirects/suggest.js +80 -0
- package/dist/redirects/suggest.js.map +1 -0
- package/dist/redirects/typo.d.ts +10 -0
- package/dist/redirects/typo.d.ts.map +1 -0
- package/dist/redirects/typo.js +51 -0
- package/dist/redirects/typo.js.map +1 -0
- package/dist/redirects/validate-destination.d.ts +13 -0
- package/dist/redirects/validate-destination.d.ts.map +1 -0
- package/dist/redirects/validate-destination.js +51 -0
- package/dist/redirects/validate-destination.js.map +1 -0
- package/dist/relationships/index.d.ts +13 -0
- package/dist/relationships/index.d.ts.map +1 -0
- package/dist/relationships/index.js +12 -0
- package/dist/relationships/index.js.map +1 -0
- package/dist/scheduling/index.d.ts +45 -0
- package/dist/scheduling/index.d.ts.map +1 -0
- package/dist/scheduling/index.js +141 -0
- package/dist/scheduling/index.js.map +1 -0
- package/dist/script-tags/index.d.ts +3 -0
- package/dist/script-tags/index.d.ts.map +1 -0
- package/dist/script-tags/index.js +3 -0
- package/dist/script-tags/index.js.map +1 -0
- package/dist/script-tags/invalidate.d.ts +3 -0
- package/dist/script-tags/invalidate.d.ts.map +1 -0
- package/dist/script-tags/invalidate.js +16 -0
- package/dist/script-tags/invalidate.js.map +1 -0
- package/dist/script-tags/resolve.d.ts +41 -0
- package/dist/script-tags/resolve.d.ts.map +1 -0
- package/dist/script-tags/resolve.js +130 -0
- package/dist/script-tags/resolve.js.map +1 -0
- package/dist/search/index.d.ts +25 -0
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/index.js +189 -0
- package/dist/search/index.js.map +1 -0
- package/dist/sections/bridge.d.ts +8 -0
- package/dist/sections/bridge.d.ts.map +1 -0
- package/dist/sections/bridge.js +211 -0
- package/dist/sections/bridge.js.map +1 -0
- package/dist/sections/define.d.ts +21 -0
- package/dist/sections/define.d.ts.map +1 -0
- package/dist/sections/define.js +160 -0
- package/dist/sections/define.js.map +1 -0
- package/dist/sections/embed.d.ts +24 -0
- package/dist/sections/embed.d.ts.map +1 -0
- package/dist/sections/embed.js +78 -0
- package/dist/sections/embed.js.map +1 -0
- package/dist/sections/fields.d.ts +37 -0
- package/dist/sections/fields.d.ts.map +1 -0
- package/dist/sections/fields.js +50 -0
- package/dist/sections/fields.js.map +1 -0
- package/dist/sections/helpers.d.ts +149 -0
- package/dist/sections/helpers.d.ts.map +1 -0
- package/dist/sections/helpers.js +373 -0
- package/dist/sections/helpers.js.map +1 -0
- package/dist/sections/index.d.ts +22 -0
- package/dist/sections/index.d.ts.map +1 -0
- package/dist/sections/index.js +18 -0
- package/dist/sections/index.js.map +1 -0
- package/dist/sections/media-enrich.d.ts +45 -0
- package/dist/sections/media-enrich.d.ts.map +1 -0
- package/dist/sections/media-enrich.js +137 -0
- package/dist/sections/media-enrich.js.map +1 -0
- package/dist/sections/migrate.d.ts +42 -0
- package/dist/sections/migrate.d.ts.map +1 -0
- package/dist/sections/migrate.js +66 -0
- package/dist/sections/migrate.js.map +1 -0
- package/dist/sections/registry.d.ts +46 -0
- package/dist/sections/registry.d.ts.map +1 -0
- package/dist/sections/registry.js +598 -0
- package/dist/sections/registry.js.map +1 -0
- package/dist/sections/types.d.ts +192 -0
- package/dist/sections/types.d.ts.map +1 -0
- package/dist/sections/types.js +21 -0
- package/dist/sections/types.js.map +1 -0
- package/dist/sections/validate.d.ts +12 -0
- package/dist/sections/validate.d.ts.map +1 -0
- package/dist/sections/validate.js +186 -0
- package/dist/sections/validate.js.map +1 -0
- package/dist/sections/widget-embed.d.ts +45 -0
- package/dist/sections/widget-embed.d.ts.map +1 -0
- package/dist/sections/widget-embed.js +129 -0
- package/dist/sections/widget-embed.js.map +1 -0
- package/dist/security/access.d.ts +35 -0
- package/dist/security/access.d.ts.map +1 -0
- package/dist/security/access.js +133 -0
- package/dist/security/access.js.map +1 -0
- package/dist/security/anomaly-detection.d.ts +17 -0
- package/dist/security/anomaly-detection.d.ts.map +1 -0
- package/dist/security/anomaly-detection.js +39 -0
- package/dist/security/anomaly-detection.js.map +1 -0
- package/dist/security/api-key-enhanced.d.ts +68 -0
- package/dist/security/api-key-enhanced.d.ts.map +1 -0
- package/dist/security/api-key-enhanced.js +76 -0
- package/dist/security/api-key-enhanced.js.map +1 -0
- package/dist/security/audit.d.ts +46 -0
- package/dist/security/audit.d.ts.map +1 -0
- package/dist/security/audit.js +67 -0
- package/dist/security/audit.js.map +1 -0
- package/dist/security/breach-check.d.ts +3 -0
- package/dist/security/breach-check.d.ts.map +1 -0
- package/dist/security/breach-check.js +27 -0
- package/dist/security/breach-check.js.map +1 -0
- package/dist/security/captcha.d.ts +67 -0
- package/dist/security/captcha.d.ts.map +1 -0
- package/dist/security/captcha.js +186 -0
- package/dist/security/captcha.js.map +1 -0
- package/dist/security/center/gather.d.ts +20 -0
- package/dist/security/center/gather.d.ts.map +1 -0
- package/dist/security/center/gather.js +240 -0
- package/dist/security/center/gather.js.map +1 -0
- package/dist/security/center/index.d.ts +13 -0
- package/dist/security/center/index.d.ts.map +1 -0
- package/dist/security/center/index.js +4 -0
- package/dist/security/center/index.js.map +1 -0
- package/dist/security/center/settings.d.ts +48 -0
- package/dist/security/center/settings.d.ts.map +1 -0
- package/dist/security/center/settings.js +218 -0
- package/dist/security/center/settings.js.map +1 -0
- package/dist/security/center/status.d.ts +10 -0
- package/dist/security/center/status.d.ts.map +1 -0
- package/dist/security/center/status.js +249 -0
- package/dist/security/center/status.js.map +1 -0
- package/dist/security/center/summaries.d.ts +21 -0
- package/dist/security/center/summaries.d.ts.map +1 -0
- package/dist/security/center/summaries.js +65 -0
- package/dist/security/center/summaries.js.map +1 -0
- package/dist/security/center/types.d.ts +142 -0
- package/dist/security/center/types.d.ts.map +1 -0
- package/dist/security/center/types.js +12 -0
- package/dist/security/center/types.js.map +1 -0
- package/dist/security/client-ip.d.ts +23 -0
- package/dist/security/client-ip.d.ts.map +1 -0
- package/dist/security/client-ip.js +97 -0
- package/dist/security/client-ip.js.map +1 -0
- package/dist/security/cors.d.ts +11 -0
- package/dist/security/cors.d.ts.map +1 -0
- package/dist/security/cors.js +33 -0
- package/dist/security/cors.js.map +1 -0
- package/dist/security/csp-nonces.d.ts +5 -0
- package/dist/security/csp-nonces.d.ts.map +1 -0
- package/dist/security/csp-nonces.js +24 -0
- package/dist/security/csp-nonces.js.map +1 -0
- package/dist/security/csrf.d.ts +5 -0
- package/dist/security/csrf.d.ts.map +1 -0
- package/dist/security/csrf.js +20 -0
- package/dist/security/csrf.js.map +1 -0
- package/dist/security/encrypted-fields.d.ts +14 -0
- package/dist/security/encrypted-fields.d.ts.map +1 -0
- package/dist/security/encrypted-fields.js +94 -0
- package/dist/security/encrypted-fields.js.map +1 -0
- package/dist/security/headers.d.ts +11 -0
- package/dist/security/headers.d.ts.map +1 -0
- package/dist/security/headers.js +32 -0
- package/dist/security/headers.js.map +1 -0
- package/dist/security/index.d.ts +40 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +26 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/internal-keys.d.ts +15 -0
- package/dist/security/internal-keys.d.ts.map +1 -0
- package/dist/security/internal-keys.js +33 -0
- package/dist/security/internal-keys.js.map +1 -0
- package/dist/security/ip-allowlist.d.ts +15 -0
- package/dist/security/ip-allowlist.d.ts.map +1 -0
- package/dist/security/ip-allowlist.js +141 -0
- package/dist/security/ip-allowlist.js.map +1 -0
- package/dist/security/ip-canon.d.ts +71 -0
- package/dist/security/ip-canon.d.ts.map +1 -0
- package/dist/security/ip-canon.js +352 -0
- package/dist/security/ip-canon.js.map +1 -0
- package/dist/security/middleware.d.ts +20 -0
- package/dist/security/middleware.d.ts.map +1 -0
- package/dist/security/middleware.js +45 -0
- package/dist/security/middleware.js.map +1 -0
- package/dist/security/rate-limit-policy.d.ts +40 -0
- package/dist/security/rate-limit-policy.d.ts.map +1 -0
- package/dist/security/rate-limit-policy.js +57 -0
- package/dist/security/rate-limit-policy.js.map +1 -0
- package/dist/security/rate-limit.d.ts +55 -0
- package/dist/security/rate-limit.d.ts.map +1 -0
- package/dist/security/rate-limit.js +298 -0
- package/dist/security/rate-limit.js.map +1 -0
- package/dist/security/reauth.d.ts +16 -0
- package/dist/security/reauth.d.ts.map +1 -0
- package/dist/security/reauth.js +56 -0
- package/dist/security/reauth.js.map +1 -0
- package/dist/security/redact.d.ts +12 -0
- package/dist/security/redact.d.ts.map +1 -0
- package/dist/security/redact.js +44 -0
- package/dist/security/redact.js.map +1 -0
- package/dist/security/safe-fetch.d.ts +57 -0
- package/dist/security/safe-fetch.d.ts.map +1 -0
- package/dist/security/safe-fetch.js +71 -0
- package/dist/security/safe-fetch.js.map +1 -0
- package/dist/security/sanitize-document.d.ts +14 -0
- package/dist/security/sanitize-document.d.ts.map +1 -0
- package/dist/security/sanitize-document.js +117 -0
- package/dist/security/sanitize-document.js.map +1 -0
- package/dist/security/sanitize.d.ts +13 -0
- package/dist/security/sanitize.d.ts.map +1 -0
- package/dist/security/sanitize.js +64 -0
- package/dist/security/sanitize.js.map +1 -0
- package/dist/security/secret-storage.d.ts +22 -0
- package/dist/security/secret-storage.d.ts.map +1 -0
- package/dist/security/secret-storage.js +75 -0
- package/dist/security/secret-storage.js.map +1 -0
- package/dist/security/security-txt.d.ts +12 -0
- package/dist/security/security-txt.d.ts.map +1 -0
- package/dist/security/security-txt.js +19 -0
- package/dist/security/security-txt.js.map +1 -0
- package/dist/security/session-limits.d.ts +17 -0
- package/dist/security/session-limits.d.ts.map +1 -0
- package/dist/security/session-limits.js +14 -0
- package/dist/security/session-limits.js.map +1 -0
- package/dist/security/upload.d.ts +32 -0
- package/dist/security/upload.d.ts.map +1 -0
- package/dist/security/upload.js +129 -0
- package/dist/security/upload.js.map +1 -0
- package/dist/security/webhook.d.ts +30 -0
- package/dist/security/webhook.d.ts.map +1 -0
- package/dist/security/webhook.js +133 -0
- package/dist/security/webhook.js.map +1 -0
- package/dist/seo/ai-bots.d.ts +56 -0
- package/dist/seo/ai-bots.d.ts.map +1 -0
- package/dist/seo/ai-bots.js +125 -0
- package/dist/seo/ai-bots.js.map +1 -0
- package/dist/seo/ai-crawler-log.d.ts +14 -0
- package/dist/seo/ai-crawler-log.d.ts.map +1 -0
- package/dist/seo/ai-crawler-log.js +48 -0
- package/dist/seo/ai-crawler-log.js.map +1 -0
- package/dist/seo/alt-text.d.ts +39 -0
- package/dist/seo/alt-text.d.ts.map +1 -0
- package/dist/seo/alt-text.js +67 -0
- package/dist/seo/alt-text.js.map +1 -0
- package/dist/seo/analysis.d.ts +75 -0
- package/dist/seo/analysis.d.ts.map +1 -0
- package/dist/seo/analysis.js +641 -0
- package/dist/seo/analysis.js.map +1 -0
- package/dist/seo/audit-engine.d.ts +124 -0
- package/dist/seo/audit-engine.d.ts.map +1 -0
- package/dist/seo/audit-engine.js +534 -0
- package/dist/seo/audit-engine.js.map +1 -0
- package/dist/seo/audit-runner.d.ts +84 -0
- package/dist/seo/audit-runner.d.ts.map +1 -0
- package/dist/seo/audit-runner.js +372 -0
- package/dist/seo/audit-runner.js.map +1 -0
- package/dist/seo/audit-signals.d.ts +28 -0
- package/dist/seo/audit-signals.d.ts.map +1 -0
- package/dist/seo/audit-signals.js +133 -0
- package/dist/seo/audit-signals.js.map +1 -0
- package/dist/seo/config-store.d.ts +99 -0
- package/dist/seo/config-store.d.ts.map +1 -0
- package/dist/seo/config-store.js +194 -0
- package/dist/seo/config-store.js.map +1 -0
- package/dist/seo/confirm-broken-links.d.ts +48 -0
- package/dist/seo/confirm-broken-links.d.ts.map +1 -0
- package/dist/seo/confirm-broken-links.js +135 -0
- package/dist/seo/confirm-broken-links.js.map +1 -0
- package/dist/seo/content-markdown.d.ts +26 -0
- package/dist/seo/content-markdown.d.ts.map +1 -0
- package/dist/seo/content-markdown.js +235 -0
- package/dist/seo/content-markdown.js.map +1 -0
- package/dist/seo/document-content.d.ts +18 -0
- package/dist/seo/document-content.d.ts.map +1 -0
- package/dist/seo/document-content.js +80 -0
- package/dist/seo/document-content.js.map +1 -0
- package/dist/seo/document-path.d.ts +33 -0
- package/dist/seo/document-path.d.ts.map +1 -0
- package/dist/seo/document-path.js +44 -0
- package/dist/seo/document-path.js.map +1 -0
- package/dist/seo/feeds.d.ts +44 -0
- package/dist/seo/feeds.d.ts.map +1 -0
- package/dist/seo/feeds.js +95 -0
- package/dist/seo/feeds.js.map +1 -0
- package/dist/seo/fix-brief-export.d.ts +47 -0
- package/dist/seo/fix-brief-export.d.ts.map +1 -0
- package/dist/seo/fix-brief-export.js +224 -0
- package/dist/seo/fix-brief-export.js.map +1 -0
- package/dist/seo/index-status.d.ts +56 -0
- package/dist/seo/index-status.d.ts.map +1 -0
- package/dist/seo/index-status.js +193 -0
- package/dist/seo/index-status.js.map +1 -0
- package/dist/seo/index.d.ts +68 -0
- package/dist/seo/index.d.ts.map +1 -0
- package/dist/seo/index.js +36 -0
- package/dist/seo/index.js.map +1 -0
- package/dist/seo/issue-batch-briefs.d.ts +37 -0
- package/dist/seo/issue-batch-briefs.d.ts.map +1 -0
- package/dist/seo/issue-batch-briefs.js +85 -0
- package/dist/seo/issue-batch-briefs.js.map +1 -0
- package/dist/seo/issue-content-brief.d.ts +51 -0
- package/dist/seo/issue-content-brief.d.ts.map +1 -0
- package/dist/seo/issue-content-brief.js +267 -0
- package/dist/seo/issue-content-brief.js.map +1 -0
- package/dist/seo/issue-content-research.d.ts +51 -0
- package/dist/seo/issue-content-research.d.ts.map +1 -0
- package/dist/seo/issue-content-research.js +303 -0
- package/dist/seo/issue-content-research.js.map +1 -0
- package/dist/seo/issue-fix-ai.d.ts +39 -0
- package/dist/seo/issue-fix-ai.d.ts.map +1 -0
- package/dist/seo/issue-fix-ai.js +320 -0
- package/dist/seo/issue-fix-ai.js.map +1 -0
- package/dist/seo/issue-fix-redirect.d.ts +18 -0
- package/dist/seo/issue-fix-redirect.d.ts.map +1 -0
- package/dist/seo/issue-fix-redirect.js +153 -0
- package/dist/seo/issue-fix-redirect.js.map +1 -0
- package/dist/seo/issue-fix.d.ts +72 -0
- package/dist/seo/issue-fix.d.ts.map +1 -0
- package/dist/seo/issue-fix.js +266 -0
- package/dist/seo/issue-fix.js.map +1 -0
- package/dist/seo/link-graph.d.ts +54 -0
- package/dist/seo/link-graph.d.ts.map +1 -0
- package/dist/seo/link-graph.js +0 -0
- package/dist/seo/link-graph.js.map +1 -0
- package/dist/seo/link-probe.d.ts +49 -0
- package/dist/seo/link-probe.d.ts.map +1 -0
- package/dist/seo/link-probe.js +147 -0
- package/dist/seo/link-probe.js.map +1 -0
- package/dist/seo/llms-select.d.ts +34 -0
- package/dist/seo/llms-select.d.ts.map +1 -0
- package/dist/seo/llms-select.js +67 -0
- package/dist/seo/llms-select.js.map +1 -0
- package/dist/seo/llms-txt.d.ts +40 -0
- package/dist/seo/llms-txt.d.ts.map +1 -0
- package/dist/seo/llms-txt.js +177 -0
- package/dist/seo/llms-txt.js.map +1 -0
- package/dist/seo/meta-tags.d.ts +108 -0
- package/dist/seo/meta-tags.d.ts.map +1 -0
- package/dist/seo/meta-tags.js +353 -0
- package/dist/seo/meta-tags.js.map +1 -0
- package/dist/seo/migrate-meta.d.ts +23 -0
- package/dist/seo/migrate-meta.d.ts.map +1 -0
- package/dist/seo/migrate-meta.js +114 -0
- package/dist/seo/migrate-meta.js.map +1 -0
- package/dist/seo/migrate-schema.d.ts +28 -0
- package/dist/seo/migrate-schema.d.ts.map +1 -0
- package/dist/seo/migrate-schema.js +119 -0
- package/dist/seo/migrate-schema.js.map +1 -0
- package/dist/seo/page-meta.d.ts +179 -0
- package/dist/seo/page-meta.d.ts.map +1 -0
- package/dist/seo/page-meta.js +710 -0
- package/dist/seo/page-meta.js.map +1 -0
- package/dist/seo/public-site-url.d.ts +16 -0
- package/dist/seo/public-site-url.d.ts.map +1 -0
- package/dist/seo/public-site-url.js +39 -0
- package/dist/seo/public-site-url.js.map +1 -0
- package/dist/seo/resolve-path.d.ts +22 -0
- package/dist/seo/resolve-path.d.ts.map +1 -0
- package/dist/seo/resolve-path.js +53 -0
- package/dist/seo/resolve-path.js.map +1 -0
- package/dist/seo/rewrite-public-origin.d.ts +12 -0
- package/dist/seo/rewrite-public-origin.d.ts.map +1 -0
- package/dist/seo/rewrite-public-origin.js +17 -0
- package/dist/seo/rewrite-public-origin.js.map +1 -0
- package/dist/seo/robots.d.ts +45 -0
- package/dist/seo/robots.d.ts.map +1 -0
- package/dist/seo/robots.js +90 -0
- package/dist/seo/robots.js.map +1 -0
- package/dist/seo/schema-sync.d.ts +65 -0
- package/dist/seo/schema-sync.d.ts.map +1 -0
- package/dist/seo/schema-sync.js +163 -0
- package/dist/seo/schema-sync.js.map +1 -0
- package/dist/seo/score.d.ts +132 -0
- package/dist/seo/score.d.ts.map +1 -0
- package/dist/seo/score.js +216 -0
- package/dist/seo/score.js.map +1 -0
- package/dist/seo/serving-origin.d.ts +42 -0
- package/dist/seo/serving-origin.d.ts.map +1 -0
- package/dist/seo/serving-origin.js +83 -0
- package/dist/seo/serving-origin.js.map +1 -0
- package/dist/seo/site-identity.d.ts +60 -0
- package/dist/seo/site-identity.d.ts.map +1 -0
- package/dist/seo/site-identity.js +109 -0
- package/dist/seo/site-identity.js.map +1 -0
- package/dist/seo/sitemap-notify.d.ts +123 -0
- package/dist/seo/sitemap-notify.d.ts.map +1 -0
- package/dist/seo/sitemap-notify.js +270 -0
- package/dist/seo/sitemap-notify.js.map +1 -0
- package/dist/seo/sitemap-public.d.ts +43 -0
- package/dist/seo/sitemap-public.d.ts.map +1 -0
- package/dist/seo/sitemap-public.js +213 -0
- package/dist/seo/sitemap-public.js.map +1 -0
- package/dist/seo/title-templates.d.ts +80 -0
- package/dist/seo/title-templates.d.ts.map +1 -0
- package/dist/seo/title-templates.js +175 -0
- package/dist/seo/title-templates.js.map +1 -0
- package/dist/server-site.d.ts +55 -0
- package/dist/server-site.d.ts.map +1 -0
- package/dist/server-site.js +184 -0
- package/dist/server-site.js.map +1 -0
- package/dist/setup/index.d.ts +68 -0
- package/dist/setup/index.d.ts.map +1 -0
- package/dist/setup/index.js +153 -0
- package/dist/setup/index.js.map +1 -0
- package/dist/site.d.ts +178 -0
- package/dist/site.d.ts.map +1 -0
- package/dist/site.js +222 -0
- package/dist/site.js.map +1 -0
- package/dist/storage/auto-wire.d.ts +14 -0
- package/dist/storage/auto-wire.d.ts.map +1 -0
- package/dist/storage/auto-wire.js +60 -0
- package/dist/storage/auto-wire.js.map +1 -0
- package/dist/storage/index.d.ts +21 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +14 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/templates/index.d.ts +16 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/index.js +23 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/upgrade/changelog.d.ts +18 -0
- package/dist/upgrade/changelog.d.ts.map +1 -0
- package/dist/upgrade/changelog.js +60 -0
- package/dist/upgrade/changelog.js.map +1 -0
- package/dist/upgrade/index.d.ts +7 -0
- package/dist/upgrade/index.d.ts.map +1 -0
- package/dist/upgrade/index.js +4 -0
- package/dist/upgrade/index.js.map +1 -0
- package/dist/upgrade/upgrade-pr.d.ts +16 -0
- package/dist/upgrade/upgrade-pr.d.ts.map +1 -0
- package/dist/upgrade/upgrade-pr.js +128 -0
- package/dist/upgrade/upgrade-pr.js.map +1 -0
- package/dist/upgrade/version-check.d.ts +59 -0
- package/dist/upgrade/version-check.d.ts.map +1 -0
- package/dist/upgrade/version-check.js +142 -0
- package/dist/upgrade/version-check.js.map +1 -0
- package/dist/validation/publish.d.ts +53 -0
- package/dist/validation/publish.d.ts.map +1 -0
- package/dist/validation/publish.js +75 -0
- package/dist/validation/publish.js.map +1 -0
- package/dist/webhooks/index.d.ts +99 -0
- package/dist/webhooks/index.d.ts.map +1 -0
- package/dist/webhooks/index.js +387 -0
- package/dist/webhooks/index.js.map +1 -0
- package/dist/webhooks/signing.d.ts +68 -0
- package/dist/webhooks/signing.d.ts.map +1 -0
- package/dist/webhooks/signing.js +98 -0
- package/dist/webhooks/signing.js.map +1 -0
- package/dist/workflow/index.d.ts +8 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/index.js +56 -0
- package/dist/workflow/index.js.map +1 -0
- package/dist/workflows/index.d.ts +30 -0
- package/dist/workflows/index.d.ts.map +1 -0
- package/dist/workflows/index.js +14 -0
- package/dist/workflows/index.js.map +1 -0
- package/package.json +250 -0
- package/prisma/migrations/0001_init/migration.sql +941 -0
- package/prisma/migrations/0002_media_usage_field_path/migration.sql +11 -0
- package/prisma/migrations/0003_ai_crawler_hits/migration.sql +21 -0
- package/prisma/migrations/0004_drop_search_vector/migration.sql +4 -0
- package/prisma/migrations/0005_script_tag_delivery_controls/migration.sql +8 -0
- package/prisma/migrations/0006_totp_last_step/migration.sql +4 -0
- package/prisma/migrations/0007_workflow_fk_drop_dead_enums/migration.sql +27 -0
- package/prisma/migrations/0008_form_delivery_attempts/migration.sql +29 -0
- package/prisma/migrations/0009_webhook_secret_rotation/migration.sql +6 -0
- package/prisma/migrations/0010_media_is_decorative/migration.sql +3 -0
- package/prisma/migrations/0011_media_content_hash/migration.sql +4 -0
- package/prisma/migrations/0012_rename_to_prenta/migration.sql +89 -0
- package/prisma/migrations/migration_lock.toml +3 -0
- package/prisma/schema.prisma +995 -0
- package/prisma/seed.ts +82 -0
- package/schema-fragments/cms-schema.prisma +526 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse-stream.js","sourceRoot":"","sources":["../../src/preview/sse-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,OAAO,EAAE,cAAc,EAAE,CAAA;AAEzB;;;;;;;;;GASG;AAEH,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;AAEjC;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAA;AAE9C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AASxD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAA0D,EAC1D,OAA6B,EAAE;IAE/B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,wBAAwB,CAAA;IAChE,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,2BAA2B,CAAA;IAEvE,IAAI,SAAqD,CAAA;IACzD,IAAI,QAAmD,CAAA;IACvD,IAAI,WAAqC,CAAA;IAEzC,OAAO,IAAI,cAAc,CAAa;QACpC,KAAK,CAAC,UAAU;YACd,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;gBAChC,IAAI,CAAC;oBACH,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC3C,CAAC;gBAAC,MAAM,CAAC;oBACP,+DAA+D;oBAC/D,mEAAmE;gBACrE,CAAC;YACH,CAAC,CAAA;YAED,OAAO,CACL,cAAc,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAC5F,CAAA;YAED,WAAW,GAAG,uBAAuB,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;gBACtF,OAAO,CACL,cAAc,CACZ;oBACE,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,GAAG,KAAK,CAAC,OAAO;iBACjB,EACD,QAAQ,CACT,CACF,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC3B,OAAO,CAAC,iBAAiB,CAAC,CAAA;YAC5B,CAAC,EAAE,WAAW,CAAC,CAAA;YAEf,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;gBACzB,IAAI,CAAC;oBACH,UAAU,CAAC,KAAK,EAAE,CAAA;gBACpB,CAAC;gBAAC,MAAM,CAAC;oBACP,iCAAiC;gBACnC,CAAC;YACH,CAAC,EAAE,aAAa,CAAC,CAAA;QACnB,CAAC;QAED,MAAM;YACJ,IAAI,SAAS;gBAAE,aAAa,CAAC,SAAS,CAAC,CAAA;YACvC,IAAI,QAAQ;gBAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;YACpC,IAAI,WAAW;gBAAE,WAAW,EAAE,CAAA;QAChC,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,cAAc,EAAE,kCAAkC;IAClD,eAAe,EAAE,wBAAwB;IACzC,UAAU,EAAE,YAAY;IACxB,wEAAwE;IACxE,iDAAiD;IACjD,mBAAmB,EAAE,IAAI;CAC1B,CAAA;AAED,MAAM,UAAU,2BAA2B,CACzC,OAA0D,EAC1D,IAA2B;IAE3B,OAAO,IAAI,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;QACtD,MAAM,EAAE,GAAG;QACX,OAAO,EAAE,mBAAmB;KAC7B,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export interface UserDataExport {
|
|
2
|
+
user: Record<string, unknown>;
|
|
3
|
+
documents: Record<string, unknown>[];
|
|
4
|
+
media: Record<string, unknown>[];
|
|
5
|
+
auditLogs: Record<string, unknown>[];
|
|
6
|
+
sessions: Record<string, unknown>[];
|
|
7
|
+
exportedAt: string;
|
|
8
|
+
}
|
|
9
|
+
export interface RetentionPolicy {
|
|
10
|
+
collection: string;
|
|
11
|
+
maxAgeDays: number;
|
|
12
|
+
action: 'delete' | 'anonymize' | 'archive';
|
|
13
|
+
}
|
|
14
|
+
export interface ErasureResult {
|
|
15
|
+
deletedDocuments: number;
|
|
16
|
+
anonymizedRecords: number;
|
|
17
|
+
deletedMedia: number;
|
|
18
|
+
deletedSessions: number;
|
|
19
|
+
}
|
|
20
|
+
/** Export all data associated with a user (GDPR Article 20 - Right to Data Portability). */
|
|
21
|
+
export declare function exportUserData(_userId: string, _db: unknown): Promise<UserDataExport>;
|
|
22
|
+
/** Erase all personal data for a user (GDPR Article 17 - Right to Erasure). */
|
|
23
|
+
export declare function eraseUserData(_userId: string, _db: unknown): Promise<ErasureResult>;
|
|
24
|
+
/** Apply retention policies to documents past their retention period. */
|
|
25
|
+
export declare function applyRetentionPolicies(_policies: RetentionPolicy[], _db: unknown): Promise<{
|
|
26
|
+
processed: number;
|
|
27
|
+
actions: Array<{
|
|
28
|
+
collection: string;
|
|
29
|
+
count: number;
|
|
30
|
+
action: string;
|
|
31
|
+
}>;
|
|
32
|
+
}>;
|
|
33
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/privacy/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACpC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACnC,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAA;CAC3C;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,4FAA4F;AAC5F,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAG3F;AAED,+EAA+E;AAC/E,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAGzF;AAED,yEAAyE;AACzE,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,eAAe,EAAE,EAC5B,GAAG,EAAE,OAAO,GACX,OAAO,CAAC;IACT,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACtE,CAAC,CAED"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Export all data associated with a user (GDPR Article 20 - Right to Data Portability). */
|
|
2
|
+
export async function exportUserData(_userId, _db) {
|
|
3
|
+
// TODO: gather all user-related data from all tables
|
|
4
|
+
throw new Error('Not implemented');
|
|
5
|
+
}
|
|
6
|
+
/** Erase all personal data for a user (GDPR Article 17 - Right to Erasure). */
|
|
7
|
+
export async function eraseUserData(_userId, _db) {
|
|
8
|
+
// TODO: delete or anonymize all user data, revoke sessions, remove PII
|
|
9
|
+
throw new Error('Not implemented');
|
|
10
|
+
}
|
|
11
|
+
/** Apply retention policies to documents past their retention period. */
|
|
12
|
+
export async function applyRetentionPolicies(_policies, _db) {
|
|
13
|
+
throw new Error('Not implemented');
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/privacy/index.ts"],"names":[],"mappings":"AAsBA,4FAA4F;AAC5F,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAe,EAAE,GAAY;IAChE,qDAAqD;IACrD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAe,EAAE,GAAY;IAC/D,uEAAuE;IACvE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,SAA4B,EAC5B,GAAY;IAKZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AACpC,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Framework-neutral public SEO redirect engine.
|
|
3
|
+
*
|
|
4
|
+
* Matches Next scaffold / apps/dev middleware semantics so Astro (and any
|
|
5
|
+
* non-Next public host) can apply admin-managed redirects against
|
|
6
|
+
* `PRENTA_CMS_URL` without reimplementing fetch/cache/chain/hit logic.
|
|
7
|
+
*
|
|
8
|
+
* @see create-prenta `generateProxy()` — historical source of truth
|
|
9
|
+
*/
|
|
10
|
+
export declare const PUBLIC_REDIRECT_CACHE_TTL_MS = 60000;
|
|
11
|
+
export interface PublicRedirectRule {
|
|
12
|
+
id?: string;
|
|
13
|
+
fromUrl: string;
|
|
14
|
+
toUrl: string;
|
|
15
|
+
statusCode: number;
|
|
16
|
+
preserveQuery: boolean;
|
|
17
|
+
isActive?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface MatchedPublicRedirect {
|
|
20
|
+
/** Terminal rule after chain collapse. */
|
|
21
|
+
rule: PublicRedirectRule;
|
|
22
|
+
/** Absolute or path destination ready for Location (query may be appended). */
|
|
23
|
+
destination: string;
|
|
24
|
+
/** HTTP status to issue (301/302/307/308/410). */
|
|
25
|
+
status: number;
|
|
26
|
+
}
|
|
27
|
+
export interface ApplyPublicRedirectOptions {
|
|
28
|
+
/** CMS origin (or same-origin for Next monolith). No trailing slash. */
|
|
29
|
+
baseUrl: string;
|
|
30
|
+
/** API prefix. Default `/api/cms`. */
|
|
31
|
+
apiPath?: string;
|
|
32
|
+
/** Extra path prefixes to skip (in addition to defaults). */
|
|
33
|
+
skipPrefixes?: string[];
|
|
34
|
+
/** Admin / login mount paths to skip. Default `['/admin']`. */
|
|
35
|
+
adminPaths?: string[];
|
|
36
|
+
/** Override fetch (tests). */
|
|
37
|
+
fetchImpl?: typeof fetch;
|
|
38
|
+
/** Wall clock override (tests). */
|
|
39
|
+
now?: () => number;
|
|
40
|
+
}
|
|
41
|
+
/** Default prefixes skipped by {@link shouldSkipPublicRedirect}. */
|
|
42
|
+
export declare const DEFAULT_PUBLIC_REDIRECT_SKIP_PREFIXES: readonly ["/api", "/_astro", "/_next", "/.well-known"];
|
|
43
|
+
/** Test hook: clear the in-memory redirect rule cache. */
|
|
44
|
+
export declare function clearPublicRedirectCache(): void;
|
|
45
|
+
/**
|
|
46
|
+
* Whether this pathname should skip the redirect engine (admin, API, framework
|
|
47
|
+
* internals, static assets). Legacy content extensions (.html/.php/…) are
|
|
48
|
+
* re-admitted so migrated URLs can still redirect.
|
|
49
|
+
*/
|
|
50
|
+
export declare function shouldSkipPublicRedirect(pathname: string, options?: {
|
|
51
|
+
adminPaths?: string[];
|
|
52
|
+
skipPrefixes?: string[];
|
|
53
|
+
}): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Fetch enabled public redirect rules with a short in-isolate TTL cache.
|
|
56
|
+
* On network/HTTP failure, returns the previous cache (if any) or `[]`.
|
|
57
|
+
*/
|
|
58
|
+
export declare function fetchPublicRedirects(baseUrl: string, options?: {
|
|
59
|
+
apiPath?: string;
|
|
60
|
+
fetchImpl?: typeof fetch;
|
|
61
|
+
now?: () => number;
|
|
62
|
+
}): Promise<PublicRedirectRule[]>;
|
|
63
|
+
/**
|
|
64
|
+
* Match a pathname against rules, following internal chains to a terminal hop
|
|
65
|
+
* (bounded to 10, loop-guarded). Returns null when no rule matches.
|
|
66
|
+
*/
|
|
67
|
+
export declare function matchPublicRedirect(pathname: string, rules: PublicRedirectRule[], search?: string): MatchedPublicRedirect | null;
|
|
68
|
+
/** Fire-and-forget hit increment for the Redirects tab analytics. */
|
|
69
|
+
export declare function recordPublicRedirectHit(baseUrl: string, path: string, options?: {
|
|
70
|
+
apiPath?: string;
|
|
71
|
+
fetchImpl?: typeof fetch;
|
|
72
|
+
}): void;
|
|
73
|
+
/**
|
|
74
|
+
* Resolve a public redirect for an incoming request.
|
|
75
|
+
* Returns a Web `Response` (redirect or 410) or `null` to continue.
|
|
76
|
+
*/
|
|
77
|
+
export declare function applyPublicRedirect(request: Request, options: ApplyPublicRedirectOptions): Promise<Response | null>;
|
|
78
|
+
//# sourceMappingURL=public-redirects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-redirects.d.ts","sourceRoot":"","sources":["../src/public-redirects.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,eAAO,MAAM,4BAA4B,QAAS,CAAA;AAElD,MAAM,WAAW,kBAAkB;IACjC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,0CAA0C;IAC1C,IAAI,EAAE,kBAAkB,CAAA;IACxB,+EAA+E;IAC/E,WAAW,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAA;IACf,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;IACxB,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACnB;AAOD,oEAAoE;AACpE,eAAO,MAAM,qCAAqC,wDAKxC,CAAA;AAIV,0DAA0D;AAC1D,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAeD;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GAC/D,OAAO,CAkBT;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CAAO,GAC/E,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAyB/B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,kBAAkB,EAAE,EAC3B,MAAM,SAAK,GACV,qBAAqB,GAAG,IAAI,CAsC9B;AAED,qEAAqE;AACrE,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAO,GAC3D,IAAI,CAUN;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CA0C1B"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Framework-neutral public SEO redirect engine.
|
|
3
|
+
*
|
|
4
|
+
* Matches Next scaffold / apps/dev middleware semantics so Astro (and any
|
|
5
|
+
* non-Next public host) can apply admin-managed redirects against
|
|
6
|
+
* `PRENTA_CMS_URL` without reimplementing fetch/cache/chain/hit logic.
|
|
7
|
+
*
|
|
8
|
+
* @see create-prenta `generateProxy()` — historical source of truth
|
|
9
|
+
*/
|
|
10
|
+
import { normalizeRedirectPath } from './redirects/graph.js';
|
|
11
|
+
export const PUBLIC_REDIRECT_CACHE_TTL_MS = 60_000;
|
|
12
|
+
const DEFAULT_API_PATH = '/api/cms';
|
|
13
|
+
const REDIRECT_STATUSES = new Set([301, 302, 307, 308]);
|
|
14
|
+
const LEGACY_CONTENT_EXT = /\.(?:html?|php|aspx?|jsp|cfm)$/i;
|
|
15
|
+
const STATIC_ASSET_EXT = /\.[a-zA-Z0-9]+$/;
|
|
16
|
+
/** Default prefixes skipped by {@link shouldSkipPublicRedirect}. */
|
|
17
|
+
export const DEFAULT_PUBLIC_REDIRECT_SKIP_PREFIXES = [
|
|
18
|
+
'/api',
|
|
19
|
+
'/_astro',
|
|
20
|
+
'/_next',
|
|
21
|
+
'/.well-known',
|
|
22
|
+
];
|
|
23
|
+
let redirectCache = null;
|
|
24
|
+
/** Test hook: clear the in-memory redirect rule cache. */
|
|
25
|
+
export function clearPublicRedirectCache() {
|
|
26
|
+
redirectCache = null;
|
|
27
|
+
}
|
|
28
|
+
function trimSlash(url) {
|
|
29
|
+
return url.replace(/\/+$/, '');
|
|
30
|
+
}
|
|
31
|
+
function normalizeApiPath(apiPath) {
|
|
32
|
+
const path = apiPath.startsWith('/') ? apiPath : `/${apiPath}`;
|
|
33
|
+
return trimSlash(path);
|
|
34
|
+
}
|
|
35
|
+
function cmsApiBase(baseUrl, apiPath = DEFAULT_API_PATH) {
|
|
36
|
+
return `${trimSlash(baseUrl)}${normalizeApiPath(apiPath)}`;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Whether this pathname should skip the redirect engine (admin, API, framework
|
|
40
|
+
* internals, static assets). Legacy content extensions (.html/.php/…) are
|
|
41
|
+
* re-admitted so migrated URLs can still redirect.
|
|
42
|
+
*/
|
|
43
|
+
export function shouldSkipPublicRedirect(pathname, options = {}) {
|
|
44
|
+
const adminPaths = options.adminPaths?.length ? options.adminPaths : ['/admin'];
|
|
45
|
+
const skipPrefixes = [...DEFAULT_PUBLIC_REDIRECT_SKIP_PREFIXES, ...(options.skipPrefixes ?? [])];
|
|
46
|
+
for (const admin of adminPaths) {
|
|
47
|
+
const prefix = admin.startsWith('/') ? admin : `/${admin}`;
|
|
48
|
+
if (pathname === prefix || pathname.startsWith(`${prefix}/`))
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
for (const skip of skipPrefixes) {
|
|
52
|
+
const prefix = skip.startsWith('/') ? skip : `/${skip}`;
|
|
53
|
+
if (pathname === prefix || pathname.startsWith(`${prefix}/`))
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
// Extensionless paths always eligible.
|
|
57
|
+
if (!STATIC_ASSET_EXT.test(pathname))
|
|
58
|
+
return false;
|
|
59
|
+
// Re-admit legacy content-page extensions (Next matcher parity).
|
|
60
|
+
if (LEGACY_CONTENT_EXT.test(pathname))
|
|
61
|
+
return false;
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Fetch enabled public redirect rules with a short in-isolate TTL cache.
|
|
66
|
+
* On network/HTTP failure, returns the previous cache (if any) or `[]`.
|
|
67
|
+
*/
|
|
68
|
+
export async function fetchPublicRedirects(baseUrl, options = {}) {
|
|
69
|
+
const fetchImpl = options.fetchImpl ?? fetch;
|
|
70
|
+
const now = options.now ?? Date.now;
|
|
71
|
+
const key = cmsApiBase(baseUrl, options.apiPath);
|
|
72
|
+
if (redirectCache &&
|
|
73
|
+
redirectCache.key === key &&
|
|
74
|
+
now() - redirectCache.ts < PUBLIC_REDIRECT_CACHE_TTL_MS) {
|
|
75
|
+
return redirectCache.rules;
|
|
76
|
+
}
|
|
77
|
+
try {
|
|
78
|
+
const res = await fetchImpl(`${key}/redirects/public`, {
|
|
79
|
+
headers: { 'x-prenta-mw': '1' },
|
|
80
|
+
});
|
|
81
|
+
if (!res.ok)
|
|
82
|
+
return redirectCache?.key === key ? redirectCache.rules : [];
|
|
83
|
+
const json = (await res.json());
|
|
84
|
+
const rules = json?.data?.redirects ?? [];
|
|
85
|
+
redirectCache = { key, rules, ts: now() };
|
|
86
|
+
return rules;
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return redirectCache?.key === key ? redirectCache.rules : [];
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Match a pathname against rules, following internal chains to a terminal hop
|
|
94
|
+
* (bounded to 10, loop-guarded). Returns null when no rule matches.
|
|
95
|
+
*/
|
|
96
|
+
export function matchPublicRedirect(pathname, rules, search = '') {
|
|
97
|
+
if (rules.length === 0)
|
|
98
|
+
return null;
|
|
99
|
+
const byFrom = new Map();
|
|
100
|
+
for (const r of rules) {
|
|
101
|
+
if (r.isActive === false)
|
|
102
|
+
continue;
|
|
103
|
+
const key = normalizeRedirectPath(r.fromUrl);
|
|
104
|
+
if (!byFrom.has(key))
|
|
105
|
+
byFrom.set(key, r);
|
|
106
|
+
}
|
|
107
|
+
const norm = normalizeRedirectPath(pathname);
|
|
108
|
+
let match = byFrom.get(norm);
|
|
109
|
+
if (!match)
|
|
110
|
+
return null;
|
|
111
|
+
const seen = new Set([norm]);
|
|
112
|
+
for (let i = 0; i < 10; i++) {
|
|
113
|
+
if (/^https?:\/\//i.test(match.toUrl))
|
|
114
|
+
break;
|
|
115
|
+
const nextKey = normalizeRedirectPath(match.toUrl);
|
|
116
|
+
if (seen.has(nextKey))
|
|
117
|
+
break;
|
|
118
|
+
const next = byFrom.get(nextKey);
|
|
119
|
+
if (!next)
|
|
120
|
+
break;
|
|
121
|
+
seen.add(nextKey);
|
|
122
|
+
match = next;
|
|
123
|
+
}
|
|
124
|
+
let destination = match.toUrl;
|
|
125
|
+
if (match.preserveQuery && search) {
|
|
126
|
+
destination += destination.includes('?') ? `&${search.slice(1)}` : search;
|
|
127
|
+
}
|
|
128
|
+
const status = match.statusCode === 410
|
|
129
|
+
? 410
|
|
130
|
+
: REDIRECT_STATUSES.has(match.statusCode)
|
|
131
|
+
? match.statusCode
|
|
132
|
+
: 301;
|
|
133
|
+
return { rule: match, destination, status };
|
|
134
|
+
}
|
|
135
|
+
/** Fire-and-forget hit increment for the Redirects tab analytics. */
|
|
136
|
+
export function recordPublicRedirectHit(baseUrl, path, options = {}) {
|
|
137
|
+
const normalized = path.trim();
|
|
138
|
+
if (!normalized)
|
|
139
|
+
return;
|
|
140
|
+
const fetchImpl = options.fetchImpl ?? fetch;
|
|
141
|
+
const base = cmsApiBase(baseUrl, options.apiPath);
|
|
142
|
+
void fetchImpl(`${base}/redirects/record-hit`, {
|
|
143
|
+
method: 'POST',
|
|
144
|
+
headers: { 'content-type': 'application/json' },
|
|
145
|
+
body: JSON.stringify({ path: normalized }),
|
|
146
|
+
}).catch(() => { });
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Resolve a public redirect for an incoming request.
|
|
150
|
+
* Returns a Web `Response` (redirect or 410) or `null` to continue.
|
|
151
|
+
*/
|
|
152
|
+
export async function applyPublicRedirect(request, options) {
|
|
153
|
+
if (request.method !== 'GET' && request.method !== 'HEAD')
|
|
154
|
+
return null;
|
|
155
|
+
const url = new URL(request.url);
|
|
156
|
+
const { pathname, search } = url;
|
|
157
|
+
if (shouldSkipPublicRedirect(pathname, {
|
|
158
|
+
adminPaths: options.adminPaths,
|
|
159
|
+
skipPrefixes: options.skipPrefixes,
|
|
160
|
+
})) {
|
|
161
|
+
return null;
|
|
162
|
+
}
|
|
163
|
+
const rules = await fetchPublicRedirects(options.baseUrl, {
|
|
164
|
+
apiPath: options.apiPath,
|
|
165
|
+
fetchImpl: options.fetchImpl,
|
|
166
|
+
now: options.now,
|
|
167
|
+
});
|
|
168
|
+
const matched = matchPublicRedirect(pathname, rules, search);
|
|
169
|
+
if (!matched)
|
|
170
|
+
return null;
|
|
171
|
+
recordPublicRedirectHit(options.baseUrl, pathname, {
|
|
172
|
+
apiPath: options.apiPath,
|
|
173
|
+
fetchImpl: options.fetchImpl,
|
|
174
|
+
});
|
|
175
|
+
if (matched.status === 410) {
|
|
176
|
+
return new Response('Gone', { status: 410 });
|
|
177
|
+
}
|
|
178
|
+
const isExternal = /^https?:\/\//i.test(matched.destination);
|
|
179
|
+
const location = isExternal
|
|
180
|
+
? matched.destination
|
|
181
|
+
: new URL(matched.destination, url.origin).toString();
|
|
182
|
+
return new Response(null, {
|
|
183
|
+
status: matched.status,
|
|
184
|
+
headers: { Location: location },
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=public-redirects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-redirects.js","sourceRoot":"","sources":["../src/public-redirects.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Baseline security headers for public HTML hosts (Next `withPrentaCMS` and
|
|
3
|
+
* Astro split-deploy). Matches Next `PRENTA_SECURITY_HEADERS` — no enforcing
|
|
4
|
+
* public CSP by default (site-owned).
|
|
5
|
+
*/
|
|
6
|
+
export interface PublicSecurityHeaderEntry {
|
|
7
|
+
key: string;
|
|
8
|
+
value: string;
|
|
9
|
+
}
|
|
10
|
+
/** Same baseline `withPrentaCMS()` applies to Next `/:path*`. */
|
|
11
|
+
export declare const PUBLIC_SECURITY_HEADER_ENTRIES: readonly PublicSecurityHeaderEntry[];
|
|
12
|
+
export interface ApplySecurityHeadersOptions {
|
|
13
|
+
/**
|
|
14
|
+
* Optional enforcing Content-Security-Policy for the public site.
|
|
15
|
+
* Omitted by default — marketing CSP remains site-owned.
|
|
16
|
+
* Pass `false` to skip even if a CSP header is somehow present in extras.
|
|
17
|
+
*/
|
|
18
|
+
contentSecurityPolicy?: string | false;
|
|
19
|
+
/** Extra headers merged after the baseline (does not clobber existing). */
|
|
20
|
+
headers?: Record<string, string>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Apply CMS baseline security headers to a Response without clobbering headers
|
|
24
|
+
* already set on the response.
|
|
25
|
+
*/
|
|
26
|
+
export declare function applySecurityHeaders(response: Response, options?: ApplySecurityHeadersOptions): Response;
|
|
27
|
+
//# sourceMappingURL=public-security-headers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-security-headers.d.ts","sourceRoot":"","sources":["../src/public-security-headers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;CACd;AAED,iEAAiE;AACjE,eAAO,MAAM,8BAA8B,EAAE,SAAS,yBAAyB,EAKrE,CAAA;AAEV,MAAM,WAAW,2BAA2B;IAC1C;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACtC,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,2BAAgC,GACxC,QAAQ,CAwBV"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Baseline security headers for public HTML hosts (Next `withPrentaCMS` and
|
|
3
|
+
* Astro split-deploy). Matches Next `PRENTA_SECURITY_HEADERS` — no enforcing
|
|
4
|
+
* public CSP by default (site-owned).
|
|
5
|
+
*/
|
|
6
|
+
/** Same baseline `withPrentaCMS()` applies to Next `/:path*`. */
|
|
7
|
+
export const PUBLIC_SECURITY_HEADER_ENTRIES = [
|
|
8
|
+
{ key: 'X-Content-Type-Options', value: 'nosniff' },
|
|
9
|
+
{ key: 'X-Frame-Options', value: 'SAMEORIGIN' },
|
|
10
|
+
{ key: 'Referrer-Policy', value: 'strict-origin-when-cross-origin' },
|
|
11
|
+
{ key: 'Strict-Transport-Security', value: 'max-age=63072000; includeSubDomains' },
|
|
12
|
+
];
|
|
13
|
+
/**
|
|
14
|
+
* Apply CMS baseline security headers to a Response without clobbering headers
|
|
15
|
+
* already set on the response.
|
|
16
|
+
*/
|
|
17
|
+
export function applySecurityHeaders(response, options = {}) {
|
|
18
|
+
const headers = new Headers(response.headers);
|
|
19
|
+
for (const { key, value } of PUBLIC_SECURITY_HEADER_ENTRIES) {
|
|
20
|
+
if (!headers.has(key))
|
|
21
|
+
headers.set(key, value);
|
|
22
|
+
}
|
|
23
|
+
if (typeof options.contentSecurityPolicy === 'string' && options.contentSecurityPolicy) {
|
|
24
|
+
if (!headers.has('Content-Security-Policy')) {
|
|
25
|
+
headers.set('Content-Security-Policy', options.contentSecurityPolicy);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
if (options.headers) {
|
|
29
|
+
for (const [key, value] of Object.entries(options.headers)) {
|
|
30
|
+
if (!headers.has(key))
|
|
31
|
+
headers.set(key, value);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return new Response(response.body, {
|
|
35
|
+
status: response.status,
|
|
36
|
+
statusText: response.statusText,
|
|
37
|
+
headers,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=public-security-headers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-security-headers.js","sourceRoot":"","sources":["../src/public-security-headers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,iEAAiE;AACjE,MAAM,CAAC,MAAM,8BAA8B,GAAyC;IAClF,EAAE,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,SAAS,EAAE;IACnD,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,YAAY,EAAE;IAC/C,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,iCAAiC,EAAE;IACpE,EAAE,GAAG,EAAE,2BAA2B,EAAE,KAAK,EAAE,qCAAqC,EAAE;CAC1E,CAAA;AAaV;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAkB,EAClB,UAAuC,EAAE;IAEzC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAE7C,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,8BAA8B,EAAE,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAChD,CAAC;IAED,IAAI,OAAO,OAAO,CAAC,qBAAqB,KAAK,QAAQ,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;QACvF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;QACvE,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IAED,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;QACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,OAAO;KACR,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Publish sync status (#677) — distinguishes CMS DB "Published" from
|
|
3
|
+
* outbound publish-webhook delivery. Never reports "frontend live" from a
|
|
4
|
+
* webhook HTTP 200 alone (that would be a false ack without host confirmation).
|
|
5
|
+
*/
|
|
6
|
+
import type { PrentaDB } from '../db/client-types.js';
|
|
7
|
+
export type PublishWebhookDeliveryState = 'not_configured' | 'no_delivery' | 'pending' | 'retrying' | 'delivered' | 'failed';
|
|
8
|
+
export interface PublishSyncDelivery {
|
|
9
|
+
id: string;
|
|
10
|
+
endpointId: string;
|
|
11
|
+
endpointName: string | null;
|
|
12
|
+
endpointUrl: string;
|
|
13
|
+
event: string;
|
|
14
|
+
status: string;
|
|
15
|
+
attempts: number;
|
|
16
|
+
maxAttempts: number;
|
|
17
|
+
responseStatus: number | null;
|
|
18
|
+
lastAttemptAt: string | null;
|
|
19
|
+
nextRetryAt: string | null;
|
|
20
|
+
createdAt: string;
|
|
21
|
+
}
|
|
22
|
+
export interface PublishSyncStatus {
|
|
23
|
+
documentId: string;
|
|
24
|
+
/** CMS document status (DRAFT / PUBLISHED / …). */
|
|
25
|
+
cmsStatus: string;
|
|
26
|
+
publishedAt: string | null;
|
|
27
|
+
/** True when at least one active endpoint listens for `document.published`. */
|
|
28
|
+
publishWebhookConfigured: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Outbound webhook delivery state for this document's latest publish event.
|
|
31
|
+
* `delivered` means the webhook endpoint returned 2xx — not that the public
|
|
32
|
+
* host has finished a rebuild or purged cache.
|
|
33
|
+
*/
|
|
34
|
+
webhookDelivery: {
|
|
35
|
+
state: PublishWebhookDeliveryState;
|
|
36
|
+
/** Editor-facing copy — never claims the public site is live. */
|
|
37
|
+
label: string;
|
|
38
|
+
deliveries: PublishSyncDelivery[];
|
|
39
|
+
};
|
|
40
|
+
/** Guidance when no rebuild webhook is configured (TTL / SSR lag). */
|
|
41
|
+
publicHostNote: string;
|
|
42
|
+
}
|
|
43
|
+
/** Whether any active endpoint subscribes to `document.published`. */
|
|
44
|
+
export declare function isPublishWebhookConfigured(db?: PrentaDB): Promise<boolean>;
|
|
45
|
+
/**
|
|
46
|
+
* Resolve CMS-published vs webhook-notify status for a document.
|
|
47
|
+
* Editors should treat `cmsStatus === 'PUBLISHED'` as DB truth only.
|
|
48
|
+
*/
|
|
49
|
+
export declare function getPublishSyncStatus(documentId: string, db?: PrentaDB): Promise<PublishSyncStatus | null>;
|
|
50
|
+
//# sourceMappingURL=publish-sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish-sync.d.ts","sourceRoot":"","sources":["../../src/publishing/publish-sync.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAKrD,MAAM,MAAM,2BAA2B,GACnC,gBAAgB,GAChB,aAAa,GACb,SAAS,GACT,UAAU,GACV,WAAW,GACX,QAAQ,CAAA;AAEZ,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,+EAA+E;IAC/E,wBAAwB,EAAE,OAAO,CAAA;IACjC;;;;OAIG;IACH,eAAe,EAAE;QACf,KAAK,EAAE,2BAA2B,CAAA;QAClC,iEAAiE;QACjE,KAAK,EAAE,MAAM,CAAA;QACb,UAAU,EAAE,mBAAmB,EAAE,CAAA;KAClC,CAAA;IACD,sEAAsE;IACtE,cAAc,EAAE,MAAM,CAAA;CACvB;AA6CD,sEAAsE;AACtE,wBAAsB,0BAA0B,CAAC,EAAE,GAAE,QAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAUzF;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,EAAE,GAAE,QAAkB,GACrB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CA2DnC"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Publish sync status (#677) — distinguishes CMS DB "Published" from
|
|
3
|
+
* outbound publish-webhook delivery. Never reports "frontend live" from a
|
|
4
|
+
* webhook HTTP 200 alone (that would be a false ack without host confirmation).
|
|
5
|
+
*/
|
|
6
|
+
import { getDB } from '../db.js';
|
|
7
|
+
const PUBLISH_EVENTS = ['document.published'];
|
|
8
|
+
function labelFor(state) {
|
|
9
|
+
switch (state) {
|
|
10
|
+
case 'not_configured':
|
|
11
|
+
return 'Published in CMS only — no publish webhook configured.';
|
|
12
|
+
case 'no_delivery':
|
|
13
|
+
return 'Publish webhook configured, but no delivery recorded for this document yet.';
|
|
14
|
+
case 'pending':
|
|
15
|
+
return 'Publish webhook delivery pending.';
|
|
16
|
+
case 'retrying':
|
|
17
|
+
return 'Publish webhook delivery retrying after a failure.';
|
|
18
|
+
case 'delivered':
|
|
19
|
+
return 'Publish webhook delivered (host notified). This is not a guarantee the public page is already refreshed.';
|
|
20
|
+
case 'failed':
|
|
21
|
+
return 'Publish webhook failed — the public host may not have been notified. Retry from Settings → Webhooks.';
|
|
22
|
+
default: {
|
|
23
|
+
const _exhaustive = state;
|
|
24
|
+
return _exhaustive;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function publicHostNote(configured) {
|
|
29
|
+
if (configured) {
|
|
30
|
+
return 'A successful webhook only means your rebuild/purge endpoint was notified. Runtime SSR hosts may still serve cached HTML until TTL expires or the host finishes rebuild/purge.';
|
|
31
|
+
}
|
|
32
|
+
return 'No publish webhook is configured, so public pages stay cached until CDN/fetch TTLs expire (often ~60s, longer on cache-static sites). Add a webhook to your site’s purge endpoint (the Astro starter ships one at /api/prenta/purge) for instant freshness on publish.';
|
|
33
|
+
}
|
|
34
|
+
function mapStatus(status) {
|
|
35
|
+
switch (status) {
|
|
36
|
+
case 'success':
|
|
37
|
+
return 'delivered';
|
|
38
|
+
case 'failed':
|
|
39
|
+
return 'failed';
|
|
40
|
+
case 'retrying':
|
|
41
|
+
return 'retrying';
|
|
42
|
+
case 'pending':
|
|
43
|
+
return 'pending';
|
|
44
|
+
default:
|
|
45
|
+
return 'pending';
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/** Whether any active endpoint subscribes to `document.published`. */
|
|
49
|
+
export async function isPublishWebhookConfigured(db = getDB()) {
|
|
50
|
+
if (!db?.webhookEndpoint?.findMany)
|
|
51
|
+
return false;
|
|
52
|
+
const endpoints = await db.webhookEndpoint.findMany({
|
|
53
|
+
where: { active: true },
|
|
54
|
+
select: { events: true },
|
|
55
|
+
});
|
|
56
|
+
return endpoints.some((ep) => {
|
|
57
|
+
const events = Array.isArray(ep.events) ? ep.events : [];
|
|
58
|
+
return events.includes('document.published');
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Resolve CMS-published vs webhook-notify status for a document.
|
|
63
|
+
* Editors should treat `cmsStatus === 'PUBLISHED'` as DB truth only.
|
|
64
|
+
*/
|
|
65
|
+
export async function getPublishSyncStatus(documentId, db = getDB()) {
|
|
66
|
+
if (!db?.document?.findUnique)
|
|
67
|
+
return null;
|
|
68
|
+
const doc = await db.document.findUnique({
|
|
69
|
+
where: { id: documentId },
|
|
70
|
+
select: { id: true, status: true, publishedAt: true, deletedAt: true },
|
|
71
|
+
});
|
|
72
|
+
if (!doc || doc.deletedAt)
|
|
73
|
+
return null;
|
|
74
|
+
const publishWebhookConfigured = await isPublishWebhookConfigured(db);
|
|
75
|
+
let deliveries = [];
|
|
76
|
+
if (db.webhookDeliveryLog?.findMany) {
|
|
77
|
+
const rows = await db.webhookDeliveryLog.findMany({
|
|
78
|
+
where: {
|
|
79
|
+
event: { in: PUBLISH_EVENTS },
|
|
80
|
+
payload: { path: ['data', 'id'], equals: documentId },
|
|
81
|
+
},
|
|
82
|
+
include: { endpoint: { select: { id: true, name: true, url: true } } },
|
|
83
|
+
orderBy: { createdAt: 'desc' },
|
|
84
|
+
take: 10,
|
|
85
|
+
});
|
|
86
|
+
deliveries = rows.map((r) => ({
|
|
87
|
+
id: r.id,
|
|
88
|
+
endpointId: r.endpointId,
|
|
89
|
+
endpointName: r.endpoint?.name ?? null,
|
|
90
|
+
endpointUrl: r.endpoint?.url ?? '',
|
|
91
|
+
event: r.event,
|
|
92
|
+
status: r.status,
|
|
93
|
+
attempts: r.attempts,
|
|
94
|
+
maxAttempts: r.maxAttempts,
|
|
95
|
+
responseStatus: r.responseStatus ?? null,
|
|
96
|
+
lastAttemptAt: r.lastAttemptAt ? r.lastAttemptAt.toISOString() : null,
|
|
97
|
+
nextRetryAt: r.nextRetryAt ? r.nextRetryAt.toISOString() : null,
|
|
98
|
+
createdAt: r.createdAt.toISOString(),
|
|
99
|
+
}));
|
|
100
|
+
}
|
|
101
|
+
let state;
|
|
102
|
+
if (!publishWebhookConfigured) {
|
|
103
|
+
state = 'not_configured';
|
|
104
|
+
}
|
|
105
|
+
else if (deliveries.length === 0) {
|
|
106
|
+
state = 'no_delivery';
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
state = mapStatus(deliveries[0].status);
|
|
110
|
+
}
|
|
111
|
+
return {
|
|
112
|
+
documentId: doc.id,
|
|
113
|
+
cmsStatus: doc.status,
|
|
114
|
+
publishedAt: doc.publishedAt ? doc.publishedAt.toISOString() : null,
|
|
115
|
+
publishWebhookConfigured,
|
|
116
|
+
webhookDelivery: {
|
|
117
|
+
state,
|
|
118
|
+
label: labelFor(state),
|
|
119
|
+
deliveries,
|
|
120
|
+
},
|
|
121
|
+
publicHostNote: publicHostNote(publishWebhookConfigured),
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=publish-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish-sync.js","sourceRoot":"","sources":["../../src/publishing/publish-sync.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAIhC,MAAM,cAAc,GAAmB,CAAC,oBAAoB,CAAC,CAAA;AA+C7D,SAAS,QAAQ,CAAC,KAAkC;IAClD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,gBAAgB;YACnB,OAAO,wDAAwD,CAAA;QACjE,KAAK,aAAa;YAChB,OAAO,6EAA6E,CAAA;QACtF,KAAK,SAAS;YACZ,OAAO,mCAAmC,CAAA;QAC5C,KAAK,UAAU;YACb,OAAO,oDAAoD,CAAA;QAC7D,KAAK,WAAW;YACd,OAAO,0GAA0G,CAAA;QACnH,KAAK,QAAQ;YACX,OAAO,sGAAsG,CAAA;QAC/G,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,KAAK,CAAA;YAChC,OAAO,WAAW,CAAA;QACpB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,UAAmB;IACzC,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,+KAA+K,CAAA;IACxL,CAAC;IACD,OAAO,wQAAwQ,CAAA;AACjR,CAAC;AAED,SAAS,SAAS,CAAC,MAAc;IAC/B,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,WAAW,CAAA;QACpB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAA;QACjB,KAAK,UAAU;YACb,OAAO,UAAU,CAAA;QACnB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAA;QAClB;YACE,OAAO,SAAS,CAAA;IACpB,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,KAAe,KAAK,EAAE;IACrE,IAAI,CAAC,EAAE,EAAE,eAAe,EAAE,QAAQ;QAAE,OAAO,KAAK,CAAA;IAChD,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC;QAClD,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;QACvB,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;KACzB,CAAC,CAAA;IACF,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,EAAE,CAAC,MAAmB,CAAC,CAAC,CAAC,EAAE,CAAA;QACtE,OAAO,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAAkB,EAClB,KAAe,KAAK,EAAE;IAEtB,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU;QAAE,OAAO,IAAI,CAAA;IAE1C,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QACvC,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE;QACzB,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;KACvE,CAAC,CAAA;IACF,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS;QAAE,OAAO,IAAI,CAAA;IAEtC,MAAM,wBAAwB,GAAG,MAAM,0BAA0B,CAAC,EAAE,CAAC,CAAA;IACrE,IAAI,UAAU,GAA0B,EAAE,CAAA;IAE1C,IAAI,EAAE,CAAC,kBAAkB,EAAE,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC;YAChD,KAAK,EAAE;gBACL,KAAK,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE;gBAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE;aACtD;YACD,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;YACtE,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;YAC9B,IAAI,EAAE,EAAE;SACT,CAAC,CAAA;QACF,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5B,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,YAAY,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI;YACtC,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAE;YAClC,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI;YACxC,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;YACrE,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;YAC/D,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;SACrC,CAAC,CAAC,CAAA;IACL,CAAC;IAED,IAAI,KAAkC,CAAA;IACtC,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC9B,KAAK,GAAG,gBAAgB,CAAA;IAC1B,CAAC;SAAM,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,KAAK,GAAG,aAAa,CAAA;IACvB,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;IAED,OAAO;QACL,UAAU,EAAE,GAAG,CAAC,EAAE;QAClB,SAAS,EAAE,GAAG,CAAC,MAAM;QACrB,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;QACnE,wBAAwB;QACxB,eAAe,EAAE;YACf,KAAK;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;YACtB,UAAU;SACX;QACD,cAAc,EAAE,cAAc,CAAC,wBAAwB,CAAC;KACzD,CAAA;AACH,CAAC"}
|