@rakun-kit/core 1.6.1 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1393 -1278
- package/dist/cjs/api/operations/manager-contract.js +49 -0
- package/dist/cjs/api/operations/manager-contract.js.map +1 -1
- package/dist/cjs/api/operations/manager-manifest.js +30 -0
- package/dist/cjs/api/operations/manager-manifest.js.map +1 -1
- package/dist/cjs/api/operations/manager.js +20 -0
- package/dist/cjs/api/operations/manager.js.map +1 -1
- package/dist/cjs/api/realtime.js +144 -0
- package/dist/cjs/api/realtime.js.map +1 -0
- package/dist/cjs/api/routes/manager/auth/externalLogin.js +7 -5
- package/dist/cjs/api/routes/manager/auth/externalLogin.js.map +1 -1
- package/dist/cjs/api/routes/manager/auth/mfa/verifyRecoveryCode.js +2 -1
- package/dist/cjs/api/routes/manager/auth/mfa/verifyRecoveryCode.js.map +1 -1
- package/dist/cjs/api/routes/manager/auth/passwordRecovery.js +3 -3
- package/dist/cjs/api/routes/manager/auth/passwordRecovery.js.map +1 -1
- package/dist/cjs/api/routes/manager/auth/totp/enrollTotp.js +2 -2
- package/dist/cjs/api/routes/manager/auth/totp/enrollTotp.js.map +1 -1
- package/dist/cjs/api/routes/manager/auth/totp/verifyTotp.js +2 -1
- package/dist/cjs/api/routes/manager/auth/totp/verifyTotp.js.map +1 -1
- package/dist/cjs/api/routes/manager/auth/webauthn/webauthnAuthVerify.js +2 -1
- package/dist/cjs/api/routes/manager/auth/webauthn/webauthnAuthVerify.js.map +1 -1
- package/dist/cjs/api/routes/manager/auth/webauthn/webauthnRegisterOptions.js +2 -2
- package/dist/cjs/api/routes/manager/auth/webauthn/webauthnRegisterOptions.js.map +1 -1
- package/dist/cjs/api/routes/manager/auth/webauthn/webauthnRegisterVerify.js +2 -1
- package/dist/cjs/api/routes/manager/auth/webauthn/webauthnRegisterVerify.js.map +1 -1
- package/dist/cjs/api/routes/manager/collaborationBinary.js +8 -0
- package/dist/cjs/api/routes/manager/collaborationBinary.js.map +1 -0
- package/dist/cjs/api/routes/manager/comments.js +4 -0
- package/dist/cjs/api/routes/manager/comments.js.map +1 -1
- package/dist/cjs/api/routes/manager/contentCollaboration.js +102 -0
- package/dist/cjs/api/routes/manager/contentCollaboration.js.map +1 -0
- package/dist/cjs/api/routes/manager/contentVersions.js +3 -0
- package/dist/cjs/api/routes/manager/contentVersions.js.map +1 -1
- package/dist/cjs/api/routes/manager/delete.js +15 -0
- package/dist/cjs/api/routes/manager/delete.js.map +1 -1
- package/dist/cjs/api/routes/manager/duplicate.js +2 -2
- package/dist/cjs/api/routes/manager/duplicate.js.map +1 -1
- package/dist/cjs/api/routes/manager/localeVariants.js +9 -1
- package/dist/cjs/api/routes/manager/localeVariants.js.map +1 -1
- package/dist/cjs/api/routes/manager/notifications.js +2 -0
- package/dist/cjs/api/routes/manager/notifications.js.map +1 -1
- package/dist/cjs/api/routes/manager/template.js +3 -2
- package/dist/cjs/api/routes/manager/template.js.map +1 -1
- package/dist/cjs/api/routes/manager/templateCollaboration.js +101 -0
- package/dist/cjs/api/routes/manager/templateCollaboration.js.map +1 -0
- package/dist/cjs/api/routes/manager/translateDocument.js +4 -22
- package/dist/cjs/api/routes/manager/translateDocument.js.map +1 -1
- package/dist/cjs/api/routes/manager/trash.js +4 -0
- package/dist/cjs/api/routes/manager/trash.js.map +1 -1
- package/dist/cjs/api/routes/manager/uiLocales.js +13 -1
- package/dist/cjs/api/routes/manager/uiLocales.js.map +1 -1
- package/dist/cjs/api/routes/manager/update.js +4 -0
- package/dist/cjs/api/routes/manager/update.js.map +1 -1
- package/dist/cjs/api/routes/web/llms.js +5 -5
- package/dist/cjs/api/routes/web/llms.js.map +1 -1
- package/dist/cjs/api/routes/web/seo.js +2 -2
- package/dist/cjs/api/routes/web/seo.js.map +1 -1
- package/dist/cjs/api/utils/contentTemplate.js +11 -14
- package/dist/cjs/api/utils/contentTemplate.js.map +1 -1
- package/dist/cjs/api/utils/iteratorVisibility.js +5 -5
- package/dist/cjs/api/utils/iteratorVisibility.js.map +1 -1
- package/dist/cjs/api/utils/managerNotifications.js +4 -1
- package/dist/cjs/api/utils/managerNotifications.js.map +1 -1
- package/dist/cjs/api/utils/mediaUploadToken.js +3 -3
- package/dist/cjs/api/utils/mediaUploadToken.js.map +1 -1
- package/dist/cjs/api/utils/passwords.js +13 -0
- package/dist/cjs/api/utils/passwords.js.map +1 -1
- package/dist/cjs/api/utils/previewToken.js +2 -2
- package/dist/cjs/api/utils/previewToken.js.map +1 -1
- package/dist/cjs/api/utils/realtime.js +20 -0
- package/dist/cjs/api/utils/realtime.js.map +1 -0
- package/dist/cjs/api/utils/recoveryCodes.js +7 -4
- package/dist/cjs/api/utils/recoveryCodes.js.map +1 -1
- package/dist/cjs/api/utils/safeManagerQuery.js +5 -5
- package/dist/cjs/api/utils/safeManagerQuery.js.map +1 -1
- package/dist/cjs/api/utils/sanitizeManagerOutput.js +2 -2
- package/dist/cjs/api/utils/sanitizeManagerOutput.js.map +1 -1
- package/dist/cjs/auth/completePrimaryAuthentication.js +3 -3
- package/dist/cjs/auth/completePrimaryAuthentication.js.map +1 -1
- package/dist/cjs/bootstrapState.js.map +1 -1
- package/dist/cjs/client.js +12 -1
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/collaboration/document.js +170 -0
- package/dist/cjs/collaboration/document.js.map +1 -0
- package/dist/cjs/collaboration/index.js +31 -0
- package/dist/cjs/collaboration/index.js.map +1 -0
- package/dist/cjs/collaboration/memory.js +38 -0
- package/dist/cjs/collaboration/memory.js.map +1 -0
- package/dist/cjs/collaboration/rooms.js +39 -0
- package/dist/cjs/collaboration/rooms.js.map +1 -0
- package/dist/cjs/collaboration/service.js +237 -0
- package/dist/cjs/collaboration/service.js.map +1 -0
- package/dist/cjs/collaboration/types.js +3 -0
- package/dist/cjs/collaboration/types.js.map +1 -0
- package/dist/cjs/contracts.js +2 -0
- package/dist/cjs/contracts.js.map +1 -1
- package/dist/cjs/index.js +19 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/utils/isRecord.js +9 -0
- package/dist/cjs/lib/utils/isRecord.js.map +1 -0
- package/dist/cjs/mail/mailService.js +2 -1
- package/dist/cjs/mail/mailService.js.map +1 -1
- package/dist/cjs/media/imageOptimization.js +22 -32
- package/dist/cjs/media/imageOptimization.js.map +1 -1
- package/dist/cjs/media/index.js +1 -0
- package/dist/cjs/media/index.js.map +1 -1
- package/dist/cjs/media/mediaService.js +2 -2
- package/dist/cjs/media/mediaService.js.map +1 -1
- package/dist/cjs/media/publicMedia.js +114 -0
- package/dist/cjs/media/publicMedia.js.map +1 -0
- package/dist/cjs/media/videoOptimization.js +11 -24
- package/dist/cjs/media/videoOptimization.js.map +1 -1
- package/dist/cjs/platform/image.js +140 -0
- package/dist/cjs/platform/image.js.map +1 -0
- package/dist/cjs/platform/index.js +55 -0
- package/dist/cjs/platform/index.js.map +1 -0
- package/dist/cjs/platform/node.js +53 -0
- package/dist/cjs/platform/node.js.map +1 -0
- package/dist/cjs/platform/realtime.js +55 -0
- package/dist/cjs/platform/realtime.js.map +1 -0
- package/dist/cjs/platform/realtimeServer.js +126 -0
- package/dist/cjs/platform/realtimeServer.js.map +1 -0
- package/dist/cjs/platform/realtimeTopics.js +16 -0
- package/dist/cjs/platform/realtimeTopics.js.map +1 -0
- package/dist/cjs/platform/runtime.js +8 -0
- package/dist/cjs/platform/runtime.js.map +1 -0
- package/dist/cjs/platform/types.js +3 -0
- package/dist/cjs/platform/types.js.map +1 -0
- package/dist/cjs/schemas/manager/collaborationPresence.js +22 -0
- package/dist/cjs/schemas/manager/collaborationPresence.js.map +1 -0
- package/dist/cjs/schemas/manager/contentCollaboration.js +36 -0
- package/dist/cjs/schemas/manager/contentCollaboration.js.map +1 -0
- package/dist/cjs/schemas/manager/templateCollaboration.js +36 -0
- package/dist/cjs/schemas/manager/templateCollaboration.js.map +1 -0
- package/dist/cjs/schemas/manager/uiLocales.js +12 -0
- package/dist/cjs/schemas/manager/uiLocales.js.map +1 -1
- package/dist/cjs/translation/document.js +19 -19
- package/dist/cjs/translation/document.js.map +1 -1
- package/dist/docs/index.md +557 -422
- package/dist/esm/api/context.d.ts +1 -1
- package/dist/esm/api/context.js +3 -3
- package/dist/esm/api/hooks/context.d.ts +1 -1
- package/dist/esm/api/hooks/runContentHooks.d.ts +4 -4
- package/dist/esm/api/hooks/runContentHooks.js +1 -1
- package/dist/esm/api/operations/apiEventLog.d.ts +3 -3
- package/dist/esm/api/operations/apiEventLog.js +3 -3
- package/dist/esm/api/operations/catalog.d.ts +2 -2
- package/dist/esm/api/operations/catalog.js +1 -1
- package/dist/esm/api/operations/custom.d.ts +1 -1
- package/dist/esm/api/operations/custom.js +1 -1
- package/dist/esm/api/operations/index.d.ts +292 -200
- package/dist/esm/api/operations/index.d.ts.map +1 -1
- package/dist/esm/api/operations/index.js +9 -9
- package/dist/esm/api/operations/manager-contract.d.ts +257 -165
- package/dist/esm/api/operations/manager-contract.d.ts.map +1 -1
- package/dist/esm/api/operations/manager-contract.js +56 -7
- package/dist/esm/api/operations/manager-contract.js.map +1 -1
- package/dist/esm/api/operations/manager-manifest.d.ts +30 -0
- package/dist/esm/api/operations/manager-manifest.d.ts.map +1 -1
- package/dist/esm/api/operations/manager-manifest.js +30 -0
- package/dist/esm/api/operations/manager-manifest.js.map +1 -1
- package/dist/esm/api/operations/manager.d.ts +258 -166
- package/dist/esm/api/operations/manager.d.ts.map +1 -1
- package/dist/esm/api/operations/manager.js +93 -73
- package/dist/esm/api/operations/manager.js.map +1 -1
- package/dist/esm/api/operations/tracing.d.ts +1 -1
- package/dist/esm/api/operations/tracing.js +2 -2
- package/dist/esm/api/operations/types.d.ts +1 -1
- package/dist/esm/api/operations/web-contract.d.ts +26 -26
- package/dist/esm/api/operations/web-contract.js +3 -3
- package/dist/esm/api/operations/web.d.ts +27 -27
- package/dist/esm/api/operations/web.js +11 -11
- package/dist/esm/api/realtime.d.ts +16 -0
- package/dist/esm/api/realtime.d.ts.map +1 -0
- package/dist/esm/api/realtime.js +140 -0
- package/dist/esm/api/realtime.js.map +1 -0
- package/dist/esm/api/routes/manager/apiOperations.d.ts +3 -3
- package/dist/esm/api/routes/manager/apiOperations.js +5 -5
- package/dist/esm/api/routes/manager/auth/accountInfo.d.ts +2 -2
- package/dist/esm/api/routes/manager/auth/accountInfo.js +3 -3
- package/dist/esm/api/routes/manager/auth/deleteSession.d.ts +2 -2
- package/dist/esm/api/routes/manager/auth/deleteSession.js +3 -3
- package/dist/esm/api/routes/manager/auth/externalLogin.d.ts +2 -2
- package/dist/esm/api/routes/manager/auth/externalLogin.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/auth/externalLogin.js +14 -12
- package/dist/esm/api/routes/manager/auth/externalLogin.js.map +1 -1
- package/dist/esm/api/routes/manager/auth/getSession.d.ts +7 -7
- package/dist/esm/api/routes/manager/auth/login.d.ts +2 -2
- package/dist/esm/api/routes/manager/auth/login.js +9 -9
- package/dist/esm/api/routes/manager/auth/logout.d.ts +1 -1
- package/dist/esm/api/routes/manager/auth/logout.js +3 -3
- package/dist/esm/api/routes/manager/auth/markTourSeen.d.ts +8 -8
- package/dist/esm/api/routes/manager/auth/markTourSeen.js +3 -3
- package/dist/esm/api/routes/manager/auth/mfa/regenerateRecoveryCodes.d.ts +2 -2
- package/dist/esm/api/routes/manager/auth/mfa/regenerateRecoveryCodes.js +6 -6
- package/dist/esm/api/routes/manager/auth/mfa/verifyRecoveryCode.d.ts +3 -3
- package/dist/esm/api/routes/manager/auth/mfa/verifyRecoveryCode.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/auth/mfa/verifyRecoveryCode.js +9 -8
- package/dist/esm/api/routes/manager/auth/mfa/verifyRecoveryCode.js.map +1 -1
- package/dist/esm/api/routes/manager/auth/passwordIpBlocks.d.ts +2 -2
- package/dist/esm/api/routes/manager/auth/passwordIpBlocks.js +8 -8
- package/dist/esm/api/routes/manager/auth/passwordRecovery.d.ts +2 -2
- package/dist/esm/api/routes/manager/auth/passwordRecovery.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/auth/passwordRecovery.js +13 -13
- package/dist/esm/api/routes/manager/auth/passwordRecovery.js.map +1 -1
- package/dist/esm/api/routes/manager/auth/totp/confirmTotp.d.ts +2 -2
- package/dist/esm/api/routes/manager/auth/totp/confirmTotp.js +4 -4
- package/dist/esm/api/routes/manager/auth/totp/enrollTotp.d.ts +1 -1
- package/dist/esm/api/routes/manager/auth/totp/enrollTotp.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/auth/totp/enrollTotp.js +5 -5
- package/dist/esm/api/routes/manager/auth/totp/enrollTotp.js.map +1 -1
- package/dist/esm/api/routes/manager/auth/totp/verifyTotp.d.ts +2 -2
- package/dist/esm/api/routes/manager/auth/totp/verifyTotp.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/auth/totp/verifyTotp.js +7 -6
- package/dist/esm/api/routes/manager/auth/totp/verifyTotp.js.map +1 -1
- package/dist/esm/api/routes/manager/auth/updateAccount.d.ts +8 -8
- package/dist/esm/api/routes/manager/auth/updateAccount.js +3 -3
- package/dist/esm/api/routes/manager/auth/updatePassword.d.ts +2 -2
- package/dist/esm/api/routes/manager/auth/updatePassword.js +5 -5
- package/dist/esm/api/routes/manager/auth/updateTutorialPreferences.d.ts +8 -8
- package/dist/esm/api/routes/manager/auth/updateTutorialPreferences.js +3 -3
- package/dist/esm/api/routes/manager/auth/webauthn/webauthnAuthOptions.js +4 -4
- package/dist/esm/api/routes/manager/auth/webauthn/webauthnAuthVerify.d.ts +1 -1
- package/dist/esm/api/routes/manager/auth/webauthn/webauthnAuthVerify.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/auth/webauthn/webauthnAuthVerify.js +8 -7
- package/dist/esm/api/routes/manager/auth/webauthn/webauthnAuthVerify.js.map +1 -1
- package/dist/esm/api/routes/manager/auth/webauthn/webauthnRegisterOptions.d.ts +2 -2
- package/dist/esm/api/routes/manager/auth/webauthn/webauthnRegisterOptions.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/auth/webauthn/webauthnRegisterOptions.js +5 -5
- package/dist/esm/api/routes/manager/auth/webauthn/webauthnRegisterOptions.js.map +1 -1
- package/dist/esm/api/routes/manager/auth/webauthn/webauthnRegisterVerify.d.ts +1 -1
- package/dist/esm/api/routes/manager/auth/webauthn/webauthnRegisterVerify.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/auth/webauthn/webauthnRegisterVerify.js +8 -7
- package/dist/esm/api/routes/manager/auth/webauthn/webauthnRegisterVerify.js.map +1 -1
- package/dist/esm/api/routes/manager/backups/create.d.ts +2 -2
- package/dist/esm/api/routes/manager/backups/create.js +2 -2
- package/dist/esm/api/routes/manager/backups/list.d.ts +2 -2
- package/dist/esm/api/routes/manager/backups/list.js +2 -2
- package/dist/esm/api/routes/manager/backups/restore.d.ts +2 -2
- package/dist/esm/api/routes/manager/backups/restore.js +4 -4
- package/dist/esm/api/routes/manager/collaborationBinary.d.ts +3 -0
- package/dist/esm/api/routes/manager/collaborationBinary.d.ts.map +1 -0
- package/dist/esm/api/routes/manager/collaborationBinary.js +3 -0
- package/dist/esm/api/routes/manager/collaborationBinary.js.map +1 -0
- package/dist/esm/api/routes/manager/comments.d.ts +2 -2
- package/dist/esm/api/routes/manager/comments.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/comments.js +12 -8
- package/dist/esm/api/routes/manager/comments.js.map +1 -1
- package/dist/esm/api/routes/manager/contentCollaboration.d.ts +21 -0
- package/dist/esm/api/routes/manager/contentCollaboration.d.ts.map +1 -0
- package/dist/esm/api/routes/manager/contentCollaboration.js +95 -0
- package/dist/esm/api/routes/manager/contentCollaboration.js.map +1 -0
- package/dist/esm/api/routes/manager/contentType.d.ts +16 -16
- package/dist/esm/api/routes/manager/contentType.js +3 -3
- package/dist/esm/api/routes/manager/contentTypes.d.ts +14 -14
- package/dist/esm/api/routes/manager/contentTypes.js +1 -1
- package/dist/esm/api/routes/manager/contentVersions.d.ts +2 -2
- package/dist/esm/api/routes/manager/contentVersions.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/contentVersions.js +16 -13
- package/dist/esm/api/routes/manager/contentVersions.js.map +1 -1
- package/dist/esm/api/routes/manager/create.d.ts +5 -5
- package/dist/esm/api/routes/manager/create.js +11 -11
- package/dist/esm/api/routes/manager/delete.d.ts +2 -2
- package/dist/esm/api/routes/manager/delete.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/delete.js +27 -12
- package/dist/esm/api/routes/manager/delete.js.map +1 -1
- package/dist/esm/api/routes/manager/duplicate.d.ts +5 -5
- package/dist/esm/api/routes/manager/duplicate.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/duplicate.js +7 -7
- package/dist/esm/api/routes/manager/duplicate.js.map +1 -1
- package/dist/esm/api/routes/manager/favorites.d.ts +2 -2
- package/dist/esm/api/routes/manager/favorites.js +5 -5
- package/dist/esm/api/routes/manager/get.d.ts +2 -2
- package/dist/esm/api/routes/manager/get.js +10 -10
- package/dist/esm/api/routes/manager/languages.d.ts +4 -4
- package/dist/esm/api/routes/manager/languages.js +1 -1
- package/dist/esm/api/routes/manager/list.d.ts +2 -2
- package/dist/esm/api/routes/manager/list.js +15 -15
- package/dist/esm/api/routes/manager/literals/list.d.ts +2 -2
- package/dist/esm/api/routes/manager/literals/list.js +5 -5
- package/dist/esm/api/routes/manager/literals/upsert.d.ts +2 -2
- package/dist/esm/api/routes/manager/literals/upsert.js +6 -6
- package/dist/esm/api/routes/manager/localeVariants.d.ts +49 -49
- package/dist/esm/api/routes/manager/localeVariants.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/localeVariants.js +28 -20
- package/dist/esm/api/routes/manager/localeVariants.js.map +1 -1
- package/dist/esm/api/routes/manager/logs/cleanup.d.ts +2 -2
- package/dist/esm/api/routes/manager/logs/cleanup.js +3 -3
- package/dist/esm/api/routes/manager/logs/list.d.ts +2 -2
- package/dist/esm/api/routes/manager/logs/list.js +2 -2
- package/dist/esm/api/routes/manager/media/createFolder.d.ts +2 -2
- package/dist/esm/api/routes/manager/media/createFolder.js +7 -7
- package/dist/esm/api/routes/manager/media/deleteFolder.d.ts +2 -2
- package/dist/esm/api/routes/manager/media/deleteFolder.js +7 -7
- package/dist/esm/api/routes/manager/media/deleteMediaStorage.js +2 -2
- package/dist/esm/api/routes/manager/media/finalizeUpload.d.ts +2 -2
- package/dist/esm/api/routes/manager/media/finalizeUpload.js +12 -12
- package/dist/esm/api/routes/manager/media/getMediaUrl.d.ts +2 -2
- package/dist/esm/api/routes/manager/media/getMediaUrl.js +6 -6
- package/dist/esm/api/routes/manager/media/listFolders.d.ts +2 -2
- package/dist/esm/api/routes/manager/media/listFolders.js +4 -4
- package/dist/esm/api/routes/manager/media/prepareUpload.d.ts +3 -3
- package/dist/esm/api/routes/manager/media/prepareUpload.js +5 -5
- package/dist/esm/api/routes/manager/media/reimportMedia.d.ts +5 -5
- package/dist/esm/api/routes/manager/media/reimportMedia.js +10 -10
- package/dist/esm/api/routes/manager/media/replaceMedia.d.ts +3 -3
- package/dist/esm/api/routes/manager/media/replaceMedia.js +12 -12
- package/dist/esm/api/routes/manager/media/resolveMediaRecordUrls.js +1 -1
- package/dist/esm/api/routes/manager/media/uploadBinary.d.ts +1 -1
- package/dist/esm/api/routes/manager/media/uploadBinary.js +9 -9
- package/dist/esm/api/routes/manager/migrations/list.d.ts +2 -2
- package/dist/esm/api/routes/manager/migrations/list.js +2 -2
- package/dist/esm/api/routes/manager/notifications.d.ts +2 -2
- package/dist/esm/api/routes/manager/notifications.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/notifications.js +8 -6
- package/dist/esm/api/routes/manager/notifications.js.map +1 -1
- package/dist/esm/api/routes/manager/permissions.d.ts +1 -1
- package/dist/esm/api/routes/manager/permissions.js +2 -2
- package/dist/esm/api/routes/manager/preview/create.d.ts +2 -2
- package/dist/esm/api/routes/manager/preview/create.js +15 -15
- package/dist/esm/api/routes/manager/previewSlugRedirects.d.ts +2 -2
- package/dist/esm/api/routes/manager/previewSlugRedirects.js +3 -3
- package/dist/esm/api/routes/manager/regenerateRoutes.d.ts +1 -1
- package/dist/esm/api/routes/manager/regenerateRoutes.js +2 -2
- package/dist/esm/api/routes/manager/reviewPolicies.d.ts +2 -2
- package/dist/esm/api/routes/manager/reviewPolicies.js +7 -7
- package/dist/esm/api/routes/manager/reviews.d.ts +2 -2
- package/dist/esm/api/routes/manager/reviews.js +8 -8
- package/dist/esm/api/routes/manager/routeLayout.d.ts +2 -2
- package/dist/esm/api/routes/manager/routeLayout.js +6 -6
- package/dist/esm/api/routes/manager/setDefaultLanguage.d.ts +2 -2
- package/dist/esm/api/routes/manager/setDefaultLanguage.js +5 -5
- package/dist/esm/api/routes/manager/template.d.ts +4 -3
- package/dist/esm/api/routes/manager/template.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/template.js +11 -11
- package/dist/esm/api/routes/manager/template.js.map +1 -1
- package/dist/esm/api/routes/manager/templateCollaboration.d.ts +17 -0
- package/dist/esm/api/routes/manager/templateCollaboration.d.ts.map +1 -0
- package/dist/esm/api/routes/manager/templateCollaboration.js +95 -0
- package/dist/esm/api/routes/manager/templateCollaboration.js.map +1 -0
- package/dist/esm/api/routes/manager/translateDocument.d.ts +2 -2
- package/dist/esm/api/routes/manager/translateDocument.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/translateDocument.js +14 -32
- package/dist/esm/api/routes/manager/translateDocument.js.map +1 -1
- package/dist/esm/api/routes/manager/trash.d.ts +3 -3
- package/dist/esm/api/routes/manager/trash.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/trash.js +13 -9
- package/dist/esm/api/routes/manager/trash.js.map +1 -1
- package/dist/esm/api/routes/manager/uiLocales.d.ts +3 -1
- package/dist/esm/api/routes/manager/uiLocales.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/uiLocales.js +16 -5
- package/dist/esm/api/routes/manager/uiLocales.js.map +1 -1
- package/dist/esm/api/routes/manager/update.d.ts +5 -5
- package/dist/esm/api/routes/manager/update.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/update.js +18 -14
- package/dist/esm/api/routes/manager/update.js.map +1 -1
- package/dist/esm/api/routes/manager/users.d.ts +2 -2
- package/dist/esm/api/routes/manager/users.js +2 -2
- package/dist/esm/api/routes/manager/versions/get.d.ts +2 -2
- package/dist/esm/api/routes/manager/versions/get.js +2 -2
- package/dist/esm/api/routes/manager/versions/list.d.ts +2 -2
- package/dist/esm/api/routes/manager/versions/list.js +2 -2
- package/dist/esm/api/routes/manager/versions/restore.d.ts +2 -2
- package/dist/esm/api/routes/manager/versions/restore.js +8 -8
- package/dist/esm/api/routes/web/llms.d.ts +1 -1
- package/dist/esm/api/routes/web/llms.d.ts.map +1 -1
- package/dist/esm/api/routes/web/llms.js +7 -7
- package/dist/esm/api/routes/web/llms.js.map +1 -1
- package/dist/esm/api/routes/web/page.d.ts +5 -5
- package/dist/esm/api/routes/web/page.js +21 -21
- package/dist/esm/api/routes/web/previewPage.d.ts +8 -8
- package/dist/esm/api/routes/web/previewPage.js +9 -9
- package/dist/esm/api/routes/web/robots.d.ts +1 -1
- package/dist/esm/api/routes/web/robots.js +2 -2
- package/dist/esm/api/routes/web/seo.d.ts +1 -1
- package/dist/esm/api/routes/web/seo.d.ts.map +1 -1
- package/dist/esm/api/routes/web/seo.js +1 -1
- package/dist/esm/api/routes/web/seo.js.map +1 -1
- package/dist/esm/api/routes/web/sitemap.d.ts +1 -1
- package/dist/esm/api/routes/web/sitemap.js +4 -4
- package/dist/esm/api/routes/web/staticPaths.d.ts +3 -3
- package/dist/esm/api/routes/web/staticPaths.js +4 -4
- package/dist/esm/api/sessionCookie.d.ts +1 -1
- package/dist/esm/api/utils/authEvents.d.ts +2 -2
- package/dist/esm/api/utils/authEvents.js +2 -2
- package/dist/esm/api/utils/authRateLimit.d.ts +1 -1
- package/dist/esm/api/utils/authRateLimit.js +1 -1
- package/dist/esm/api/utils/breadcrums.d.ts +5 -5
- package/dist/esm/api/utils/breadcrums.js +3 -3
- package/dist/esm/api/utils/checkFailureCase.d.ts +1 -1
- package/dist/esm/api/utils/checkFailureCase.js +1 -1
- package/dist/esm/api/utils/checkOwnership.d.ts +2 -2
- package/dist/esm/api/utils/checkOwnership.js +5 -5
- package/dist/esm/api/utils/checkPermissions.d.ts +2 -2
- package/dist/esm/api/utils/checkPermissions.js +3 -3
- package/dist/esm/api/utils/contentTemplate.d.ts +2 -2
- package/dist/esm/api/utils/contentTemplate.d.ts.map +1 -1
- package/dist/esm/api/utils/contentTemplate.js +8 -11
- package/dist/esm/api/utils/contentTemplate.js.map +1 -1
- package/dist/esm/api/utils/dynamicData.d.ts +5 -5
- package/dist/esm/api/utils/dynamicData.js +11 -11
- package/dist/esm/api/utils/getLanguages.d.ts +2 -2
- package/dist/esm/api/utils/getLanguages.js +2 -2
- package/dist/esm/api/utils/getLink.d.ts +2 -2
- package/dist/esm/api/utils/getLink.js +5 -5
- package/dist/esm/api/utils/getUser.d.ts +7 -7
- package/dist/esm/api/utils/getUser.js +4 -4
- package/dist/esm/api/utils/index.d.ts +25 -25
- package/dist/esm/api/utils/index.js +25 -25
- package/dist/esm/api/utils/iteratorVisibility.d.ts +1 -1
- package/dist/esm/api/utils/iteratorVisibility.d.ts.map +1 -1
- package/dist/esm/api/utils/iteratorVisibility.js +1 -1
- package/dist/esm/api/utils/iteratorVisibility.js.map +1 -1
- package/dist/esm/api/utils/localeVariants.d.ts +1 -1
- package/dist/esm/api/utils/localeVariants.js +8 -8
- package/dist/esm/api/utils/managerNotifications.d.ts +5 -5
- package/dist/esm/api/utils/managerNotifications.d.ts.map +1 -1
- package/dist/esm/api/utils/managerNotifications.js +7 -4
- package/dist/esm/api/utils/managerNotifications.js.map +1 -1
- package/dist/esm/api/utils/mediaUploadToken.d.ts +1 -1
- package/dist/esm/api/utils/mediaUploadToken.d.ts.map +1 -1
- package/dist/esm/api/utils/mediaUploadToken.js +3 -3
- package/dist/esm/api/utils/mediaUploadToken.js.map +1 -1
- package/dist/esm/api/utils/parseId.d.ts +1 -1
- package/dist/esm/api/utils/parseId.js +1 -1
- package/dist/esm/api/utils/passwords.d.ts.map +1 -1
- package/dist/esm/api/utils/passwords.js +14 -1
- package/dist/esm/api/utils/passwords.js.map +1 -1
- package/dist/esm/api/utils/populates/populateLinks.d.ts +2 -2
- package/dist/esm/api/utils/populates/populateLinks.js +5 -5
- package/dist/esm/api/utils/populates/populateRelations.d.ts +2 -2
- package/dist/esm/api/utils/populates/populateRelations.js +7 -7
- package/dist/esm/api/utils/previewToken.d.ts.map +1 -1
- package/dist/esm/api/utils/previewToken.js +2 -2
- package/dist/esm/api/utils/previewToken.js.map +1 -1
- package/dist/esm/api/utils/realtime.d.ts +3 -0
- package/dist/esm/api/utils/realtime.d.ts.map +1 -0
- package/dist/esm/api/utils/realtime.js +15 -0
- package/dist/esm/api/utils/realtime.js.map +1 -0
- package/dist/esm/api/utils/recoveryCodes.d.ts.map +1 -1
- package/dist/esm/api/utils/recoveryCodes.js +7 -4
- package/dist/esm/api/utils/recoveryCodes.js.map +1 -1
- package/dist/esm/api/utils/redirects/createSlugChangeRedirects.d.ts +2 -2
- package/dist/esm/api/utils/redirects/createSlugChangeRedirects.js +6 -6
- package/dist/esm/api/utils/redirects/resolveRedirect.js +2 -2
- package/dist/esm/api/utils/redirects/slugPathChanges.d.ts +1 -1
- package/dist/esm/api/utils/redirects/slugPathChanges.js +4 -4
- package/dist/esm/api/utils/requireContentType.d.ts +1 -1
- package/dist/esm/api/utils/requireContentType.js +2 -2
- package/dist/esm/api/utils/reviews.d.ts +12 -12
- package/dist/esm/api/utils/reviews.js +4 -4
- package/dist/esm/api/utils/routes/revalidatePath.js +5 -5
- package/dist/esm/api/utils/routes/routeDefinitions.d.ts +1 -1
- package/dist/esm/api/utils/routes/routeMapHelpers.d.ts +6 -6
- package/dist/esm/api/utils/routes/routeMapHelpers.js +8 -8
- package/dist/esm/api/utils/routes/syncConfiguredRoutes.d.ts +2 -2
- package/dist/esm/api/utils/routes/syncConfiguredRoutes.js +5 -5
- package/dist/esm/api/utils/routes/updateRoutesMap.d.ts +2 -2
- package/dist/esm/api/utils/routes/updateRoutesMap.js +5 -5
- package/dist/esm/api/utils/safeManagerQuery.d.ts +2 -2
- package/dist/esm/api/utils/safeManagerQuery.d.ts.map +1 -1
- package/dist/esm/api/utils/safeManagerQuery.js +2 -2
- package/dist/esm/api/utils/safeManagerQuery.js.map +1 -1
- package/dist/esm/api/utils/sanitizeManagerOutput.d.ts +1 -1
- package/dist/esm/api/utils/sanitizeManagerOutput.d.ts.map +1 -1
- package/dist/esm/api/utils/sanitizeManagerOutput.js +2 -2
- package/dist/esm/api/utils/sanitizeManagerOutput.js.map +1 -1
- package/dist/esm/api/utils/transformObjectIdsToStrings.js +1 -1
- package/dist/esm/api/utils/transformStringToObjectIds.js +1 -1
- package/dist/esm/api/utils/translate.d.ts +1 -1
- package/dist/esm/api/utils/translate.js +3 -3
- package/dist/esm/api/utils/validateModule.d.ts +1 -1
- package/dist/esm/api/utils/validateModule.js +2 -2
- package/dist/esm/auth/accountRecovery.d.ts +1 -1
- package/dist/esm/auth/completePrimaryAuthentication.d.ts +1 -1
- package/dist/esm/auth/completePrimaryAuthentication.d.ts.map +1 -1
- package/dist/esm/auth/completePrimaryAuthentication.js +6 -6
- package/dist/esm/auth/completePrimaryAuthentication.js.map +1 -1
- package/dist/esm/auth/loginAdapters.d.ts +1 -1
- package/dist/esm/auth/passwordFail2ban.d.ts +2 -2
- package/dist/esm/auth/passwordFail2ban.js +4 -4
- package/dist/esm/auth/passwordResetMailTemplate.d.ts +2 -2
- package/dist/esm/auth/passwordResetMailTemplate.js +1 -1
- package/dist/esm/bootstrapState.d.ts +25 -15
- package/dist/esm/bootstrapState.d.ts.map +1 -1
- package/dist/esm/bootstrapState.js.map +1 -1
- package/dist/esm/client.d.ts +68 -62
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +36 -33
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/collaboration/document.d.ts +7 -0
- package/dist/esm/collaboration/document.d.ts.map +1 -0
- package/dist/esm/collaboration/document.js +130 -0
- package/dist/esm/collaboration/document.js.map +1 -0
- package/dist/esm/collaboration/index.d.ts +12 -0
- package/dist/esm/collaboration/index.d.ts.map +1 -0
- package/dist/esm/collaboration/index.js +19 -0
- package/dist/esm/collaboration/index.js.map +1 -0
- package/dist/esm/collaboration/memory.d.ts +3 -0
- package/dist/esm/collaboration/memory.d.ts.map +1 -0
- package/dist/esm/collaboration/memory.js +34 -0
- package/dist/esm/collaboration/memory.js.map +1 -0
- package/dist/esm/collaboration/rooms.d.ts +10 -0
- package/dist/esm/collaboration/rooms.d.ts.map +1 -0
- package/dist/esm/collaboration/rooms.js +33 -0
- package/dist/esm/collaboration/rooms.js.map +1 -0
- package/dist/esm/collaboration/service.d.ts +48 -0
- package/dist/esm/collaboration/service.d.ts.map +1 -0
- package/dist/esm/collaboration/service.js +200 -0
- package/dist/esm/collaboration/service.js.map +1 -0
- package/dist/esm/collaboration/types.d.ts +30 -0
- package/dist/esm/collaboration/types.d.ts.map +1 -0
- package/dist/esm/collaboration/types.js +2 -0
- package/dist/esm/collaboration/types.js.map +1 -0
- package/dist/esm/contracts.d.ts +62 -60
- package/dist/esm/contracts.d.ts.map +1 -1
- package/dist/esm/contracts.js +62 -60
- package/dist/esm/contracts.js.map +1 -1
- package/dist/esm/eventLog/index.d.ts +6 -6
- package/dist/esm/eventLog/index.js +4 -4
- package/dist/esm/eventLog/mongo.d.ts +1 -1
- package/dist/esm/eventLog/mongo.js +2 -2
- package/dist/esm/eventLog/service.d.ts +1 -1
- package/dist/esm/index.d.ts +55 -52
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +64 -52
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal-content-types/ApiOperation.d.ts +162 -162
- package/dist/esm/internal-content-types/ApiOperation.js +2 -2
- package/dist/esm/internal-content-types/Backup.d.ts +199 -199
- package/dist/esm/internal-content-types/Backup.js +2 -2
- package/dist/esm/internal-content-types/BackupDocument.d.ts +162 -162
- package/dist/esm/internal-content-types/BackupDocument.js +2 -2
- package/dist/esm/internal-content-types/ContentComment.d.ts +1789 -1789
- package/dist/esm/internal-content-types/ContentComment.js +3 -3
- package/dist/esm/internal-content-types/ContentCommentReadState.d.ts +1253 -1253
- package/dist/esm/internal-content-types/ContentCommentReadState.js +3 -3
- package/dist/esm/internal-content-types/ContentReview.d.ts +5858 -5858
- package/dist/esm/internal-content-types/ContentReview.js +4 -4
- package/dist/esm/internal-content-types/ContentReviewDecision.d.ts +1245 -1245
- package/dist/esm/internal-content-types/ContentReviewDecision.js +3 -3
- package/dist/esm/internal-content-types/ContentReviewPolicy.d.ts +516 -516
- package/dist/esm/internal-content-types/ContentReviewPolicy.js +3 -3
- package/dist/esm/internal-content-types/ContentTemplate.d.ts +106 -106
- package/dist/esm/internal-content-types/ContentTemplate.js +2 -2
- package/dist/esm/internal-content-types/ContentVersion.d.ts +338 -338
- package/dist/esm/internal-content-types/ContentVersion.js +2 -2
- package/dist/esm/internal-content-types/HelloWorld.d.ts +42 -42
- package/dist/esm/internal-content-types/HelloWorld.js +2 -2
- package/dist/esm/internal-content-types/Language.d.ts +81 -81
- package/dist/esm/internal-content-types/Language.js +2 -2
- package/dist/esm/internal-content-types/LiteralTranslation.d.ts +83 -83
- package/dist/esm/internal-content-types/LiteralTranslation.js +2 -2
- package/dist/esm/internal-content-types/LlmsSettings.d.ts +762 -762
- package/dist/esm/internal-content-types/LlmsSettings.js +2 -2
- package/dist/esm/internal-content-types/LoginIpBlock.d.ts +98 -98
- package/dist/esm/internal-content-types/LoginIpBlock.js +2 -2
- package/dist/esm/internal-content-types/ManagerFavorite.d.ts +1213 -1213
- package/dist/esm/internal-content-types/ManagerFavorite.js +3 -3
- package/dist/esm/internal-content-types/ManagerNotification.d.ts +2500 -2500
- package/dist/esm/internal-content-types/ManagerNotification.js +3 -3
- package/dist/esm/internal-content-types/ManagerRole.d.ts +47 -47
- package/dist/esm/internal-content-types/ManagerRole.js +2 -2
- package/dist/esm/internal-content-types/ManagerRoleHooks.d.ts +2 -2
- package/dist/esm/internal-content-types/ManagerRoleHooks.js +3 -3
- package/dist/esm/internal-content-types/ManagerUser.d.ts +532 -532
- package/dist/esm/internal-content-types/ManagerUser.js +3 -3
- package/dist/esm/internal-content-types/ManagerUserHooks.d.ts +2 -2
- package/dist/esm/internal-content-types/ManagerUserHooks.js +3 -3
- package/dist/esm/internal-content-types/Media.d.ts +1187 -1187
- package/dist/esm/internal-content-types/Media.js +3 -3
- package/dist/esm/internal-content-types/MediaFolder.d.ts +192 -192
- package/dist/esm/internal-content-types/MediaFolder.js +2 -2
- package/dist/esm/internal-content-types/MfaChallenge.d.ts +1301 -1301
- package/dist/esm/internal-content-types/MfaChallenge.js +3 -3
- package/dist/esm/internal-content-types/Migration.d.ts +330 -330
- package/dist/esm/internal-content-types/Migration.js +2 -2
- package/dist/esm/internal-content-types/MigrationLock.d.ts +18 -18
- package/dist/esm/internal-content-types/MigrationLock.js +2 -2
- package/dist/esm/internal-content-types/Page.d.ts +121 -121
- package/dist/esm/internal-content-types/Page.js +3 -3
- package/dist/esm/internal-content-types/PasswordResetToken.d.ts +1205 -1205
- package/dist/esm/internal-content-types/PasswordResetToken.js +4 -4
- package/dist/esm/internal-content-types/PreviewSnapshot.d.ts +378 -378
- package/dist/esm/internal-content-types/PreviewSnapshot.js +2 -2
- package/dist/esm/internal-content-types/Redirect.d.ts +378 -378
- package/dist/esm/internal-content-types/Redirect.js +2 -2
- package/dist/esm/internal-content-types/RobotsRule.d.ts +250 -250
- package/dist/esm/internal-content-types/RobotsRule.js +2 -2
- package/dist/esm/internal-content-types/Route.d.ts +232 -232
- package/dist/esm/internal-content-types/Route.js +2 -2
- package/dist/esm/internal-content-types/RouteLayoutModule.d.ts +266 -266
- package/dist/esm/internal-content-types/RouteLayoutModule.js +2 -2
- package/dist/esm/internal-content-types/RouteLayoutModuleOverride.d.ts +242 -242
- package/dist/esm/internal-content-types/RouteLayoutModuleOverride.js +2 -2
- package/dist/esm/internal-content-types/RouteLocaleVariant.d.ts +242 -242
- package/dist/esm/internal-content-types/RouteLocaleVariant.js +2 -2
- package/dist/esm/internal-content-types/RouteMap.d.ts +258 -258
- package/dist/esm/internal-content-types/RouteMap.js +2 -2
- package/dist/esm/internal-content-types/RouteSettings.d.ts +340 -340
- package/dist/esm/internal-content-types/RouteSettings.js +3 -3
- package/dist/esm/internal-content-types/SchemaState.d.ts +82 -82
- package/dist/esm/internal-content-types/SchemaState.js +2 -2
- package/dist/esm/internal-content-types/Seo.d.ts +738 -738
- package/dist/esm/internal-content-types/Seo.js +2 -2
- package/dist/esm/internal-content-types/SeoAudit.d.ts +418 -418
- package/dist/esm/internal-content-types/SeoAudit.js +2 -2
- package/dist/esm/internal-content-types/SeoSettings.d.ts +1982 -1982
- package/dist/esm/internal-content-types/SeoSettings.js +3 -3
- package/dist/esm/internal-content-types/Session.d.ts +1189 -1189
- package/dist/esm/internal-content-types/Session.js +3 -3
- package/dist/esm/internal-content-types/StructuredData.d.ts +694 -694
- package/dist/esm/internal-content-types/StructuredData.js +2 -2
- package/dist/esm/internal-content-types/TemplateContent.d.ts +1 -1
- package/dist/esm/internal-content-types/TemplateContent.js +1 -1
- package/dist/esm/internal-content-types/UserMfa.d.ts +1290 -1290
- package/dist/esm/internal-content-types/UserMfa.js +4 -4
- package/dist/esm/internal-content-types/WebAuthnCredential.d.ts +1317 -1317
- package/dist/esm/internal-content-types/WebAuthnCredential.js +3 -3
- package/dist/esm/internal-content-types/WebAuthnRegChallenge.d.ts +1245 -1245
- package/dist/esm/internal-content-types/WebAuthnRegChallenge.js +3 -3
- package/dist/esm/internal-content-types/index.d.ts +45 -45
- package/dist/esm/internal-content-types/index.js +45 -45
- package/dist/esm/internal-content-types/syncAdminRole.d.ts +4 -4
- package/dist/esm/internal-content-types/syncAdminRole.js +4 -4
- package/dist/esm/lib/ContentType.d.ts +7 -7
- package/dist/esm/lib/ContentType.js +5 -5
- package/dist/esm/lib/Permissions.d.ts +2 -2
- package/dist/esm/lib/Permissions.js +4 -4
- package/dist/esm/lib/Registry.d.ts +6 -6
- package/dist/esm/lib/Registry.js +4 -4
- package/dist/esm/lib/errors/AppError.d.ts +1 -1
- package/dist/esm/lib/errors/AppError.js +1 -1
- package/dist/esm/lib/errors/index.d.ts +4 -4
- package/dist/esm/lib/errors/index.js +3 -3
- package/dist/esm/lib/errors/throwAppError.d.ts +1 -1
- package/dist/esm/lib/errors/throwAppError.js +3 -3
- package/dist/esm/lib/fields/Boolean.d.ts +1 -1
- package/dist/esm/lib/fields/Boolean.js +1 -1
- package/dist/esm/lib/fields/Breadcrums.d.ts +1 -1
- package/dist/esm/lib/fields/Breadcrums.js +1 -1
- package/dist/esm/lib/fields/ContentReference.d.ts +2 -2
- package/dist/esm/lib/fields/ContentReference.js +2 -2
- package/dist/esm/lib/fields/Date.d.ts +1 -1
- package/dist/esm/lib/fields/Date.js +1 -1
- package/dist/esm/lib/fields/Field.d.ts +15 -15
- package/dist/esm/lib/fields/Fields.d.ts +15 -15
- package/dist/esm/lib/fields/Fields.js +15 -15
- package/dist/esm/lib/fields/File.d.ts +1 -1
- package/dist/esm/lib/fields/File.js +2 -2
- package/dist/esm/lib/fields/Iterator.d.ts +3 -3
- package/dist/esm/lib/fields/Iterator.js +3 -3
- package/dist/esm/lib/fields/Link.d.ts +1 -1
- package/dist/esm/lib/fields/Link.js +2 -2
- package/dist/esm/lib/fields/List.d.ts +1 -1
- package/dist/esm/lib/fields/List.js +2 -2
- package/dist/esm/lib/fields/Menu.d.ts +2 -2
- package/dist/esm/lib/fields/Menu.js +2 -2
- package/dist/esm/lib/fields/Number.d.ts +1 -1
- package/dist/esm/lib/fields/Number.js +1 -1
- package/dist/esm/lib/fields/Relation.d.ts +3 -3
- package/dist/esm/lib/fields/Relation.js +3 -3
- package/dist/esm/lib/fields/Select.d.ts +1 -1
- package/dist/esm/lib/fields/Select.js +1 -1
- package/dist/esm/lib/fields/SelfRelation.d.ts +1 -1
- package/dist/esm/lib/fields/SelfRelation.js +2 -2
- package/dist/esm/lib/fields/SimpleList.d.ts +1 -1
- package/dist/esm/lib/fields/SimpleList.js +1 -1
- package/dist/esm/lib/fields/String.d.ts +1 -1
- package/dist/esm/lib/fields/String.js +3 -3
- package/dist/esm/lib/fields/index.d.ts +17 -17
- package/dist/esm/lib/fields/index.js +17 -17
- package/dist/esm/lib/hooks.d.ts +4 -4
- package/dist/esm/lib/routeableContent.js +1 -1
- package/dist/esm/lib/types/index.d.ts +2 -2
- package/dist/esm/lib/utils/getListField.d.ts +1 -1
- package/dist/esm/lib/utils/getSchemas.d.ts +1 -1
- package/dist/esm/lib/utils/getTranslation.d.ts +2 -2
- package/dist/esm/lib/utils/getTranslation.js +1 -1
- package/dist/esm/lib/utils/isRecord.d.ts +2 -0
- package/dist/esm/lib/utils/isRecord.d.ts.map +1 -0
- package/dist/esm/lib/utils/isRecord.js +5 -0
- package/dist/esm/lib/utils/isRecord.js.map +1 -0
- package/dist/esm/lib/utils/isTranslatableObject.d.ts +1 -1
- package/dist/esm/lib/utils/translateObject.d.ts +2 -2
- package/dist/esm/lib/utils/translateObject.js +3 -3
- package/dist/esm/literals/definitions.d.ts +1 -1
- package/dist/esm/literals/definitions.js +1 -1
- package/dist/esm/literals/index.d.ts +2 -2
- package/dist/esm/literals/index.js +2 -2
- package/dist/esm/mail/index.d.ts +6 -6
- package/dist/esm/mail/index.js +5 -5
- package/dist/esm/mail/mailService.d.ts +2 -2
- package/dist/esm/mail/mailService.d.ts.map +1 -1
- package/dist/esm/mail/mailService.js +3 -2
- package/dist/esm/mail/mailService.js.map +1 -1
- package/dist/esm/mail/templates.d.ts +1 -1
- package/dist/esm/mail/templates.js +2 -2
- package/dist/esm/manager.d.ts +33 -3
- package/dist/esm/manager.d.ts.map +1 -1
- package/dist/esm/manager.js +1 -1
- package/dist/esm/media/adapters/index.d.ts +20 -0
- package/dist/esm/media/adapters/index.d.ts.map +1 -1
- package/dist/esm/media/imageOptimization.d.ts +1 -1
- package/dist/esm/media/imageOptimization.d.ts.map +1 -1
- package/dist/esm/media/imageOptimization.js +23 -33
- package/dist/esm/media/imageOptimization.js.map +1 -1
- package/dist/esm/media/index.d.ts +5 -4
- package/dist/esm/media/index.d.ts.map +1 -1
- package/dist/esm/media/index.js +4 -3
- package/dist/esm/media/index.js.map +1 -1
- package/dist/esm/media/mediaOptimization.d.ts +2 -2
- package/dist/esm/media/mediaOptimization.js +2 -2
- package/dist/esm/media/mediaService.d.ts +1 -1
- package/dist/esm/media/mediaService.d.ts.map +1 -1
- package/dist/esm/media/mediaService.js +2 -2
- package/dist/esm/media/mediaService.js.map +1 -1
- package/dist/esm/media/publicMedia.d.ts +7 -0
- package/dist/esm/media/publicMedia.d.ts.map +1 -0
- package/dist/esm/media/publicMedia.js +109 -0
- package/dist/esm/media/publicMedia.js.map +1 -0
- package/dist/esm/media/videoOptimization.d.ts +2 -2
- package/dist/esm/media/videoOptimization.d.ts.map +1 -1
- package/dist/esm/media/videoOptimization.js +13 -26
- package/dist/esm/media/videoOptimization.js.map +1 -1
- package/dist/esm/orm/backups.js +5 -5
- package/dist/esm/orm/createIndexes.js +4 -4
- package/dist/esm/orm/database.js +3 -3
- package/dist/esm/orm/dbService.d.ts +6 -6
- package/dist/esm/orm/index.d.ts +2 -2
- package/dist/esm/orm/index.js +16 -16
- package/dist/esm/orm/migrations.d.ts +1 -1
- package/dist/esm/orm/migrations.js +4 -4
- package/dist/esm/orm/mongodbPeer.js +1 -1
- package/dist/esm/orm/operations/clear.d.ts +2 -2
- package/dist/esm/orm/operations/clear.js +1 -1
- package/dist/esm/orm/operations/create.d.ts +4 -4
- package/dist/esm/orm/operations/create.js +7 -7
- package/dist/esm/orm/operations/delete.d.ts +3 -3
- package/dist/esm/orm/operations/delete.js +5 -5
- package/dist/esm/orm/operations/find.d.ts +2 -2
- package/dist/esm/orm/operations/find.js +3 -3
- package/dist/esm/orm/operations/findDependencies.d.ts +2 -2
- package/dist/esm/orm/operations/findDependencies.js +4 -4
- package/dist/esm/orm/operations/get.d.ts +3 -3
- package/dist/esm/orm/operations/get.js +3 -3
- package/dist/esm/orm/operations/getAll.d.ts +2 -2
- package/dist/esm/orm/operations/getAll.js +2 -2
- package/dist/esm/orm/operations/list.d.ts +2 -2
- package/dist/esm/orm/operations/list.js +3 -3
- package/dist/esm/orm/operations/update.d.ts +5 -5
- package/dist/esm/orm/operations/update.js +8 -8
- package/dist/esm/orm/operations/updateMany.d.ts +4 -4
- package/dist/esm/orm/operations/updateMany.js +4 -4
- package/dist/esm/orm/operations/upsert.d.ts +3 -3
- package/dist/esm/orm/operations/upsert.js +4 -4
- package/dist/esm/orm/utils/deepDeleteNulls.js +1 -1
- package/dist/esm/orm/utils/parseId.d.ts +1 -1
- package/dist/esm/orm/utils/parseId.js +1 -1
- package/dist/esm/orm/utils/transformObjectIdsToStrings.js +1 -1
- package/dist/esm/orm/utils/transformStringToObjectIds.js +1 -1
- package/dist/esm/orm/versions.d.ts +1 -1
- package/dist/esm/orm/versions.js +7 -7
- package/dist/esm/platform/image.d.ts +5 -0
- package/dist/esm/platform/image.d.ts.map +1 -0
- package/dist/esm/platform/image.js +134 -0
- package/dist/esm/platform/image.js.map +1 -0
- package/dist/esm/platform/index.d.ts +13 -0
- package/dist/esm/platform/index.d.ts.map +1 -0
- package/dist/esm/platform/index.js +34 -0
- package/dist/esm/platform/index.js.map +1 -0
- package/dist/esm/platform/node.d.ts +6 -0
- package/dist/esm/platform/node.d.ts.map +1 -0
- package/dist/esm/platform/node.js +43 -0
- package/dist/esm/platform/node.js.map +1 -0
- package/dist/esm/platform/realtime.d.ts +10 -0
- package/dist/esm/platform/realtime.d.ts.map +1 -0
- package/dist/esm/platform/realtime.js +49 -0
- package/dist/esm/platform/realtime.js.map +1 -0
- package/dist/esm/platform/realtimeServer.d.ts +26 -0
- package/dist/esm/platform/realtimeServer.d.ts.map +1 -0
- package/dist/esm/platform/realtimeServer.js +118 -0
- package/dist/esm/platform/realtimeServer.js.map +1 -0
- package/dist/esm/platform/realtimeTopics.d.ts +7 -0
- package/dist/esm/platform/realtimeTopics.d.ts.map +1 -0
- package/dist/esm/platform/realtimeTopics.js +7 -0
- package/dist/esm/platform/realtimeTopics.js.map +1 -0
- package/dist/esm/platform/runtime.d.ts +4 -0
- package/dist/esm/platform/runtime.d.ts.map +1 -0
- package/dist/esm/platform/runtime.js +3 -0
- package/dist/esm/platform/runtime.js.map +1 -0
- package/dist/esm/platform/types.d.ts +94 -0
- package/dist/esm/platform/types.d.ts.map +1 -0
- package/dist/esm/platform/types.js +2 -0
- package/dist/esm/platform/types.js.map +1 -0
- package/dist/esm/plugins.d.ts +11 -11
- package/dist/esm/schemas/manager/auth/externalLogin.js +1 -1
- package/dist/esm/schemas/manager/collaborationPresence.d.ts +20 -0
- package/dist/esm/schemas/manager/collaborationPresence.d.ts.map +1 -0
- package/dist/esm/schemas/manager/collaborationPresence.js +16 -0
- package/dist/esm/schemas/manager/collaborationPresence.js.map +1 -0
- package/dist/esm/schemas/manager/comments.js +1 -1
- package/dist/esm/schemas/manager/contentCollaboration.d.ts +51 -0
- package/dist/esm/schemas/manager/contentCollaboration.d.ts.map +1 -0
- package/dist/esm/schemas/manager/contentCollaboration.js +30 -0
- package/dist/esm/schemas/manager/contentCollaboration.js.map +1 -0
- package/dist/esm/schemas/manager/contentVersions.d.ts +64 -64
- package/dist/esm/schemas/manager/contentVersions.js +3 -3
- package/dist/esm/schemas/manager/literals/upsert.js +1 -1
- package/dist/esm/schemas/manager/localeVariants.d.ts +96 -96
- package/dist/esm/schemas/manager/localeVariants.js +1 -1
- package/dist/esm/schemas/manager/media/finalizeUpload.js +1 -1
- package/dist/esm/schemas/manager/media/getMediaUrl.js +1 -1
- package/dist/esm/schemas/manager/media/listFolders.js +1 -1
- package/dist/esm/schemas/manager/media/reimportMedia.d.ts +1 -1
- package/dist/esm/schemas/manager/media/reimportMedia.js +2 -2
- package/dist/esm/schemas/manager/media/replaceMedia.js +1 -1
- package/dist/esm/schemas/manager/notifications.js +1 -1
- package/dist/esm/schemas/manager/reviews.js +1 -1
- package/dist/esm/schemas/manager/templateCollaboration.d.ts +54 -0
- package/dist/esm/schemas/manager/templateCollaboration.d.ts.map +1 -0
- package/dist/esm/schemas/manager/templateCollaboration.js +30 -0
- package/dist/esm/schemas/manager/templateCollaboration.js.map +1 -0
- package/dist/esm/schemas/manager/uiLocales.d.ts +9 -0
- package/dist/esm/schemas/manager/uiLocales.d.ts.map +1 -1
- package/dist/esm/schemas/manager/uiLocales.js +13 -1
- package/dist/esm/schemas/manager/uiLocales.js.map +1 -1
- package/dist/esm/schemas/web/page.d.ts +40 -40
- package/dist/esm/schemas/web/page.js +1 -1
- package/dist/esm/schemas/web/previewPage.d.ts +28 -28
- package/dist/esm/schemas/web/previewPage.js +1 -1
- package/dist/esm/translation/document.d.ts +3 -3
- package/dist/esm/translation/document.d.ts.map +1 -1
- package/dist/esm/translation/document.js +1 -1
- package/dist/esm/translation/document.js.map +1 -1
- package/dist/esm/translation/index.d.ts +4 -4
- package/dist/esm/translation/index.js +3 -3
- package/dist/esm/translation/translationService.d.ts +1 -1
- package/dist/esm/web/client.d.ts +1 -1
- package/dist/esm/web/client.js +1 -1
- package/dist/esm/web/index.d.ts +2 -2
- package/dist/esm/web/index.js +2 -2
- package/dist/esm/web/page.d.ts +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +150 -140
package/dist/docs/index.md
CHANGED
|
@@ -1,424 +1,559 @@
|
|
|
1
|
-
# Rakun AI manual and package index
|
|
2
|
-
|
|
3
|
-
This is the entry point for coding agents working on an application that uses
|
|
4
|
-
Rakun. It describes the package map, the normal architecture, and the public
|
|
5
|
-
surface of `@rakun-kit/core`. Read the manual for every adapter used by the
|
|
6
|
-
application before editing its integration.
|
|
7
|
-
|
|
8
|
-
In an installed project this file is located at
|
|
9
|
-
`node_modules/@rakun-kit/core/dist/docs/index.md`. Other package manuals use the
|
|
10
|
-
same `dist/docs/index.md` location.
|
|
11
|
-
|
|
12
|
-
## Package map
|
|
13
|
-
|
|
14
|
-
| Package | Use it for | Installed manual |
|
|
15
|
-
| ------------------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------- |
|
|
16
|
-
| `@rakun-kit/core` | Domain model, bootstrap, operations, auth, routes, media, mail and shared contracts | This file |
|
|
17
|
-
| `@rakun-kit/next` | Next.js App Router API, manager, media and web rendering | `node_modules/@rakun-kit/next/dist/docs/index.md` |
|
|
18
|
-
| `@rakun-kit/express` | Express API and local-media adapter | `node_modules/@rakun-kit/express/dist/docs/index.md` |
|
|
19
|
-
| `@rakun-kit/
|
|
20
|
-
| `@rakun-kit/
|
|
21
|
-
| `@rakun-kit/
|
|
22
|
-
| `@rakun-kit/manager-
|
|
23
|
-
| `@rakun-kit/
|
|
24
|
-
| `@rakun-kit/
|
|
25
|
-
| `@rakun-kit/
|
|
26
|
-
| `@rakun-kit/
|
|
27
|
-
| `@rakun-kit/
|
|
28
|
-
| `@rakun-kit/
|
|
29
|
-
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
},
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
`
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
field
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
The
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
`
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
`
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
1
|
+
# Rakun AI manual and package index
|
|
2
|
+
|
|
3
|
+
This is the entry point for coding agents working on an application that uses
|
|
4
|
+
Rakun. It describes the package map, the normal architecture, and the public
|
|
5
|
+
surface of `@rakun-kit/core`. Read the manual for every adapter used by the
|
|
6
|
+
application before editing its integration.
|
|
7
|
+
|
|
8
|
+
In an installed project this file is located at
|
|
9
|
+
`node_modules/@rakun-kit/core/dist/docs/index.md`. Other package manuals use the
|
|
10
|
+
same `dist/docs/index.md` location.
|
|
11
|
+
|
|
12
|
+
## Package map
|
|
13
|
+
|
|
14
|
+
| Package | Use it for | Installed manual |
|
|
15
|
+
| ------------------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------- |
|
|
16
|
+
| `@rakun-kit/core` | Domain model, bootstrap, operations, auth, routes, media, mail and shared contracts | This file |
|
|
17
|
+
| `@rakun-kit/next` | Next.js App Router API, manager, media and web rendering | `node_modules/@rakun-kit/next/dist/docs/index.md` |
|
|
18
|
+
| `@rakun-kit/express` | Express API and local-media adapter | `node_modules/@rakun-kit/express/dist/docs/index.md` |
|
|
19
|
+
| `@rakun-kit/bun` | Bun server, manager, filesystem modules, SSR and static route generation | `node_modules/@rakun-kit/bun/dist/docs/index.md` |
|
|
20
|
+
| `@rakun-kit/trpc` | Typed tRPC router for manager and web operations | `node_modules/@rakun-kit/trpc/dist/docs/index.md` |
|
|
21
|
+
| `@rakun-kit/react` | Framework-neutral React module rendering | `node_modules/@rakun-kit/react/dist/docs/index.md` |
|
|
22
|
+
| `@rakun-kit/manager-react` | Manager UI, clients, navigation and plugin runtime | `node_modules/@rakun-kit/manager-react/dist/docs/index.md` |
|
|
23
|
+
| `@rakun-kit/manager-locales` | Optional manager UI locale packs | `node_modules/@rakun-kit/manager-locales/dist/docs/index.md` |
|
|
24
|
+
| `@rakun-kit/s3` | S3 and S3-compatible media storage | `node_modules/@rakun-kit/s3/dist/docs/index.md` |
|
|
25
|
+
| `@rakun-kit/smtp` | SMTP mail delivery | `node_modules/@rakun-kit/smtp/dist/docs/index.md` |
|
|
26
|
+
| `@rakun-kit/resend` | Resend mail delivery | `node_modules/@rakun-kit/resend/dist/docs/index.md` |
|
|
27
|
+
| `@rakun-kit/jsx-email` | Typed JSX Email template rendering | `node_modules/@rakun-kit/jsx-email/dist/docs/index.md` |
|
|
28
|
+
| `@rakun-kit/openai` | OpenAI-backed automatic content translation | `node_modules/@rakun-kit/openai/dist/docs/index.md` |
|
|
29
|
+
| `@rakun-kit/plugin-code-editor` | Code blocks in manager RichText fields | `node_modules/@rakun-kit/plugin-code-editor/dist/docs/index.md` |
|
|
30
|
+
| `create-rakun-app` | Official project generator and framework starter templates | `node_modules/create-rakun-app/dist/docs/index.md` |
|
|
31
|
+
|
|
32
|
+
Choose one server adapter (`next`, `express`, or `bun`). Add `trpc` only if the host
|
|
33
|
+
wants tRPC, one media adapter if uploads are required, and one mail adapter if
|
|
34
|
+
outbound mail is required. `manager-react` is normally consumed through the Bun
|
|
35
|
+
or Next adapter; use it directly for custom hosts.
|
|
36
|
+
|
|
37
|
+
`preview`, `preview-bun`, and `preview-next` are private example applications in the Rakun
|
|
38
|
+
repository, not installable packages, so they do not have installed manuals.
|
|
39
|
+
|
|
40
|
+
## Typical architecture
|
|
41
|
+
|
|
42
|
+
1. Define literals, content types, routes and any custom operations in
|
|
43
|
+
framework-neutral server modules.
|
|
44
|
+
2. Call `rakunBootstrap` once, or pass the same options to an adapter that calls
|
|
45
|
+
`ensureRakunBootstrap`.
|
|
46
|
+
3. Mount the API with `@rakun-kit/next` or `@rakun-kit/express`.
|
|
47
|
+
4. Render the manager and web modules with the corresponding React integration.
|
|
48
|
+
5. Keep browser code away from server secrets and server-only package entries.
|
|
49
|
+
|
|
50
|
+
## Install and peer requirements
|
|
51
|
+
|
|
52
|
+
```sh
|
|
53
|
+
bun add @rakun-kit/core mongodb ffmpeg-static zod
|
|
54
|
+
# Node.js image optimization only
|
|
55
|
+
bun add sharp
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
`mongodb` and `ffmpeg-static` are peer dependencies. `bcrypt` is only needed by
|
|
59
|
+
Node runtimes; Bun uses its native password implementation. `sharp` is an
|
|
60
|
+
optional peer used by the default Node.js image processor and as the fallback
|
|
61
|
+
for Bun versions without `Bun.Image`. Adapters and optional services are
|
|
62
|
+
separate packages.
|
|
63
|
+
|
|
64
|
+
## Bootstrap
|
|
65
|
+
|
|
66
|
+
```ts
|
|
67
|
+
import { ContentType, f, rakunBootstrap } from '@rakun-kit/core'
|
|
68
|
+
|
|
69
|
+
const Article = new ContentType({
|
|
70
|
+
name: 'Article',
|
|
71
|
+
menu: { title: 'Articles', icon: 'newspaper', category: 'Content' },
|
|
72
|
+
fields: {
|
|
73
|
+
title: f.string(),
|
|
74
|
+
slug: f.string().type('Slug'),
|
|
75
|
+
body: f.string().type('RichText').optional(),
|
|
76
|
+
},
|
|
77
|
+
uniques: [['slug']],
|
|
78
|
+
listFields: ['title', 'slug'],
|
|
79
|
+
})
|
|
80
|
+
|
|
81
|
+
rakunBootstrap({
|
|
82
|
+
literals,
|
|
83
|
+
contentTypes: [Article],
|
|
84
|
+
routes,
|
|
85
|
+
mongo: {
|
|
86
|
+
MONGO_URI: process.env.MONGO_URI!,
|
|
87
|
+
ENVIRONMENT: process.env.NODE_ENV === 'test' ? 'test' : 'production',
|
|
88
|
+
},
|
|
89
|
+
})
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Important bootstrap options are `literals`, `contentTypes`,
|
|
93
|
+
`internalContentTypes`, `routes`, `apiOperations`, `plugins`, `mongo`, `media`,
|
|
94
|
+
`mail`, `translation`, `collaboration`, `managerLanguages`, `login`,
|
|
95
|
+
`accountRecovery`, `logger` and `syncRoutes`.
|
|
96
|
+
|
|
97
|
+
- `rakunBootstrap(options)` registers configuration synchronously.
|
|
98
|
+
- `ensureRakunBootstrap(options)` registers it only if needed. Framework
|
|
99
|
+
adapters use this to tolerate development reloads.
|
|
100
|
+
- `ensureRakunInitialized()` initializes logger, MongoDB, media and route sync.
|
|
101
|
+
It is concurrency-safe and retries after a failed initialization.
|
|
102
|
+
|
|
103
|
+
Do not import React, Next, Express, Vite or tRPC into core configuration modules.
|
|
104
|
+
|
|
105
|
+
## Runtime platform
|
|
106
|
+
|
|
107
|
+
Core domain code consumes a resolved `Platform` instead of importing runtime
|
|
108
|
+
image, crypto, filesystem, compression, or worker APIs. Omit `platform` to
|
|
109
|
+
detect Node.js or Bun and apply standalone defaults, or compose capabilities:
|
|
110
|
+
|
|
111
|
+
```ts
|
|
112
|
+
import { createPlatform, pollingRealtime, sharpImage } from '@rakun-kit/core'
|
|
113
|
+
|
|
114
|
+
rakunBootstrap({
|
|
115
|
+
// ...normal Rakun options
|
|
116
|
+
platform: createPlatform({
|
|
117
|
+
deployment: 'serverless',
|
|
118
|
+
image: sharpImage(),
|
|
119
|
+
realtime: pollingRealtime({ intervalMs: 5_000 }),
|
|
120
|
+
}),
|
|
121
|
+
})
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Runtime, framework, and deployment remain independent dimensions. Runtime is
|
|
125
|
+
detected from `process.versions.bun`. Bun uses native `Bun.Image` when present;
|
|
126
|
+
Node.js and older Bun versions use `sharp`. The Bun adapter also falls back to
|
|
127
|
+
`sharp` when an OS-dependent codec cannot decode or encode the requested
|
|
128
|
+
format, so install the optional peer when formats such as AVIF must work across
|
|
129
|
+
all Bun hosts. `createPlatform` supplies every other default, so overrides
|
|
130
|
+
never require listing unrelated capabilities.
|
|
131
|
+
|
|
132
|
+
Every custom `ImageProcessor` implements `metadata`, `transform`, and
|
|
133
|
+
`placeholder`. `placeholder` returns `{ dataUrl, mime }` for direct storage as
|
|
134
|
+
an inline LQIP. The Bun adapter uses the native `Bun.Image.placeholder()` data
|
|
135
|
+
URL, while the Sharp adapter applies the requested reduced transform and
|
|
136
|
+
encodes its result as a data URL. Bun falls back to that Sharp path when its
|
|
137
|
+
runtime lacks the placeholder method or its native codec reports an unsupported
|
|
138
|
+
format or encode failure.
|
|
139
|
+
|
|
140
|
+
Realtime synchronization uses `pollingRealtime` or `sseRealtime`, both of
|
|
141
|
+
which expose transport metadata and a topic subscription contract. Polling is
|
|
142
|
+
the conservative default. `@rakun-kit/next` and `@rakun-kit/express`
|
|
143
|
+
automatically serve a configured SSE endpoint.
|
|
144
|
+
`sseRealtime()` defaults to `/realtime` relative to the adapter's API mount;
|
|
145
|
+
set `endpoint` only for a custom public route.
|
|
146
|
+
|
|
147
|
+
Custom server adapters can compose the framework-neutral helpers exported by
|
|
148
|
+
core: `parseRealtimeTopics`, `isRealtimeEndpointRequest`,
|
|
149
|
+
`createRealtimeSseStream`, and `authorizeRealtimeSubscription`. The host
|
|
150
|
+
remains responsible only for mapping its request/response APIs to those
|
|
151
|
+
primitives.
|
|
152
|
+
|
|
153
|
+
The built-in SSE provider keeps topic listeners in the current process.
|
|
154
|
+
Replicated deployments must supply a shared-broker `RealtimeProvider` that
|
|
155
|
+
implements the same `metadata`, `subscribe`, and `publish` contract.
|
|
156
|
+
|
|
157
|
+
`manager.uiLocales` exposes the provider's safe transport metadata so the
|
|
158
|
+
manager selects the same transport automatically. Core publishes stable
|
|
159
|
+
invalidation topics after collaboration updates and mutations affecting locale
|
|
160
|
+
variants, versions, comments, or notifications. Topic builders are exported
|
|
161
|
+
from `@rakun-kit/core/client`; use those helpers on both sides of custom
|
|
162
|
+
integrations instead of duplicating topic strings.
|
|
163
|
+
|
|
164
|
+
## Collaborative content working state
|
|
165
|
+
|
|
166
|
+
Saved content documents have a Yjs working document identified by content type
|
|
167
|
+
and document `_id`. This includes published documents and every independent
|
|
168
|
+
draft/version. Incremental edits converge in that working document; they do not
|
|
169
|
+
update the normal MongoDB content record, rebuild routes, or run `revalidate`.
|
|
170
|
+
The public web API therefore continues to read the last saved JSON snapshot.
|
|
171
|
+
|
|
172
|
+
`manager.contentCollaboration.sync` exchanges state vectors and incremental
|
|
173
|
+
updates over the normal authenticated HTTP operation transport. It is
|
|
174
|
+
idempotent protocol traffic and is not a business mutation.
|
|
175
|
+
`manager.contentCollaboration.save` is the explicit commit boundary: core
|
|
176
|
+
materializes the server-side `Y.Doc`, validates it with the normal
|
|
177
|
+
`ContentType`, persists the snapshot through the existing update flow, and then
|
|
178
|
+
runs revalidation. Promoting a draft remains a separate operation and consumes
|
|
179
|
+
its saved snapshot.
|
|
180
|
+
|
|
181
|
+
`manager.contentCollaboration.discard` replaces the shared working document
|
|
182
|
+
with the last persisted content snapshot and advances its saved state vector,
|
|
183
|
+
so every connected editor converges on the restored state without writing a
|
|
184
|
+
new content revision. It is a mutation because it intentionally removes shared
|
|
185
|
+
working changes.
|
|
186
|
+
|
|
187
|
+
Shared content templates use the same protocol through
|
|
188
|
+
`manager.templateCollaboration.sync` and
|
|
189
|
+
`manager.templateCollaboration.save`. Their room is keyed only by content type,
|
|
190
|
+
so editors working from different documents still see the same template. The
|
|
191
|
+
save operation validates and persists it through the normal template update
|
|
192
|
+
flow. `manager.templateCollaboration.discard` provides the equivalent reset to
|
|
193
|
+
the last persisted shared template. Template state never becomes part of an
|
|
194
|
+
individual content document's room.
|
|
195
|
+
|
|
196
|
+
The React manager combines this server protocol with per-user IndexedDB
|
|
197
|
+
persistence. Cached Yjs rooms can be opened and edited during a temporary API
|
|
198
|
+
outage and upload their missing updates after reconnection. This local cache is
|
|
199
|
+
working state only: the authenticated server Save remains the persistence
|
|
200
|
+
boundary for MongoDB and public reads.
|
|
201
|
+
|
|
202
|
+
Core uses a process-memory collaboration adapter by default. This preserves
|
|
203
|
+
unsaved changes across manager navigation while that API process lives. A
|
|
204
|
+
multi-process or restart-durable deployment must pass a shared adapter through
|
|
205
|
+
`rakunBootstrap({ collaboration: { adapter } })`. An adapter stores opaque Yjs
|
|
206
|
+
updates and saved state vectors; it must not write them into the public content
|
|
207
|
+
document. `createMemoryCollaborationAdapter` is exported as the reference
|
|
208
|
+
implementation.
|
|
209
|
+
|
|
210
|
+
Collaboration sync also carries ephemeral presence for each open browser tab.
|
|
211
|
+
Presence reports the authenticated manager user and the currently focused
|
|
212
|
+
field, expires automatically, and is never included in the saved Yjs snapshot
|
|
213
|
+
or persistent event log. Custom shared adapters may implement the optional
|
|
214
|
+
`loadPresence` and `savePresence` methods to share this state across replicated
|
|
215
|
+
API processes; adapters without them keep presence local to one process.
|
|
216
|
+
On SSE deployments, core authorizes the collaboration room independently,
|
|
217
|
+
binds the tab presence to that stream, renews it from server heartbeats, and
|
|
218
|
+
removes it when the tab's last stream closes. This avoids client-side periodic
|
|
219
|
+
sync calls whose only purpose is presence. Polling uses its existing sync cycle.
|
|
220
|
+
|
|
221
|
+
This feature is scoped to saved content edit screens and their shared Template
|
|
222
|
+
editor. Create-form content becomes collaborative after its first save; its
|
|
223
|
+
shared Template is already collaborative because it exists independently of
|
|
224
|
+
that new document. Settings, route-layout overrides, literals, users, and other
|
|
225
|
+
administrative forms keep their existing local form state. Automatic content
|
|
226
|
+
translation updates the shared working document and still requires Save before
|
|
227
|
+
it changes the stored snapshot.
|
|
228
|
+
|
|
229
|
+
## Content types and fields
|
|
230
|
+
|
|
231
|
+
`ContentType` describes a collection and derives its validation and TypeScript
|
|
232
|
+
shapes. Use `f` factories rather than handwritten storage schemas.
|
|
233
|
+
`Fields` remains available as a backward-compatible alias and references the
|
|
234
|
+
same object, but new code and examples should prefer `f`.
|
|
235
|
+
|
|
236
|
+
Common factories include string, number, boolean, date, object, relation, file,
|
|
237
|
+
blocks and array/list forms. Fields are required by default; chain `.optional()`
|
|
238
|
+
when a value may be omitted. `.required()` remains available as an
|
|
239
|
+
explicit, backward-compatible modifier. Other modifiers include `.multiple()`,
|
|
240
|
+
`.managerOnly()`, `.apiOnly()` and `.noDynamic()` when applicable.
|
|
241
|
+
Special manager editors are selected with `.type(...)`, for example `Slug`,
|
|
242
|
+
`RichText`, `Email`, `Password` and `Image`.
|
|
243
|
+
|
|
244
|
+
Plugin field factories created with `createPluginField` must declare
|
|
245
|
+
serializable `meta.capabilities`. `valueKind` (`string`, `richText`, `number`,
|
|
246
|
+
`boolean`, `date`, `object`, `array`, or `unknown`) drives Dynamic Data type
|
|
247
|
+
compatibility. Under `dynamic`, `properties` exposes named leaf paths,
|
|
248
|
+
`mapProperties` allows those paths to be mapped independently, `relation`
|
|
249
|
+
enables content-type traversal, and `collection` enables homogeneous or
|
|
250
|
+
heterogeneous per-item mapping. This lets custom fields participate without
|
|
251
|
+
adding their names to manager or core type switches.
|
|
252
|
+
|
|
253
|
+
Custom server resolution belongs in the optional `runtime.populate` callback.
|
|
254
|
+
It receives `{ db, populate, populateLink }`, so a composite field can recurse
|
|
255
|
+
through nested fields or reuse Rakun's localized link resolver. Runtime hooks
|
|
256
|
+
are not sent to the manager. The generic web-output phase is exported as
|
|
257
|
+
`populateFields`; the former `populateLinks` name remains as a deprecated alias.
|
|
258
|
+
|
|
259
|
+
Homogeneous `f.array(...)` fields accept `.min(count)` and `.max(count)` item
|
|
260
|
+
limits. These methods are also available after `.multiple()` on relation, file,
|
|
261
|
+
select, and content-reference fields, for example
|
|
262
|
+
`f.file().multiple().min(1).max(4)`. Core enforces them on input, stored data and
|
|
263
|
+
output schemas, and exposes `minItems`/`maxItems` to the manager.
|
|
264
|
+
|
|
265
|
+
Routeable content types can initialize SEO string fields from the document being
|
|
266
|
+
created. Add `.seo('<seoField>')` to a source string field; the argument is
|
|
267
|
+
restricted to string properties of Rakun's built-in SEO model. For example,
|
|
268
|
+
`title: f.string().required().seo('title')` initializes `seo.title` as a dynamic
|
|
269
|
+
data binding to the document's `title`. This only initializes create forms: it
|
|
270
|
+
does not modify existing documents, and editors can change or clear the binding
|
|
271
|
+
before saving.
|
|
272
|
+
|
|
273
|
+
Date fields support the `Date`, `DateTime` and `Time` manager modes. `Date` and
|
|
274
|
+
`DateTime` persist JavaScript `Date` values; their write schema also accepts the
|
|
275
|
+
ISO datetime strings produced when those values cross JSON and normalizes them
|
|
276
|
+
back to `Date`. `Time` stores an ISO time string.
|
|
277
|
+
|
|
278
|
+
The `f.link()` manager editor stores a direct `{ href, title }` value or an
|
|
279
|
+
internal `{ routeId, contentTypeId, title }` reference. Web output for these
|
|
280
|
+
values is `{ href, title }`, with internal `href` values localized by route.
|
|
281
|
+
`DataInput` and `DataFront` use those object shapes. Persisted legacy URL strings
|
|
282
|
+
remain readable, then receive an empty `title` when loaded in the manager or
|
|
283
|
+
normalized for web output. Dynamic data exposes link source properties as
|
|
284
|
+
`<field>.href` and `<field>.title`; list mapping targets expose those same two
|
|
285
|
+
paths independently and reconstruct the link object from their mapped values.
|
|
286
|
+
|
|
287
|
+
Use `f.menu()` for header and navigation trees. Its value is an ordered array
|
|
288
|
+
of link nodes with recursive `children`: direct nodes persist
|
|
289
|
+
`{ href, title, children }`, while internal nodes persist
|
|
290
|
+
`{ routeId, contentTypeId, title, children }`. Core validates every level and
|
|
291
|
+
recursively resolves internal nodes for web output as
|
|
292
|
+
`{ href, title, children }`. The manager can reorder and nest nodes with drag
|
|
293
|
+
and drop; there is no fixed nesting-depth limit.
|
|
294
|
+
|
|
295
|
+
`f.breadcrums()` declares a computed, API-only field intended for modules such
|
|
296
|
+
as heroes. When the module is rendered in a routable page, the field returns
|
|
297
|
+
`{ label, href }[]` from the highest route ancestor through the current page,
|
|
298
|
+
using localized route labels and paths. It returns `null` outside routable page
|
|
299
|
+
output. The field is part of `DataFront`, but not `DataInput` or `DBOutput`, and
|
|
300
|
+
does not appear in the manager.
|
|
301
|
+
|
|
302
|
+
Use `iterator` for ordered page modules. Rakun stores it as the reserved
|
|
303
|
+
`_iterator` field and edits it in the manager's Content tab. When the content
|
|
304
|
+
type has a `hasPage: true` route, Rakun automatically enables a separate shared
|
|
305
|
+
Template composition using the same module list as `iterator`. The Template
|
|
306
|
+
editor makes a special Content slot available at the root and inside
|
|
307
|
+
`f.blocks(...)`. A valid template contains exactly one such slot; web and
|
|
308
|
+
preview output replace it with the current document's iterator.
|
|
309
|
+
|
|
310
|
+
```ts
|
|
311
|
+
import { StructuredData } from '@rakun-kit/core/internal-content-types'
|
|
312
|
+
|
|
313
|
+
const Page = new ContentType({
|
|
314
|
+
name: 'Page',
|
|
315
|
+
fields: {
|
|
316
|
+
title: f.string().required(),
|
|
317
|
+
slug: f.string().type('Slug').required(),
|
|
318
|
+
},
|
|
319
|
+
iterator: [
|
|
320
|
+
{ contentType: UseCaseSection, type: 'new' },
|
|
321
|
+
{ contentType: Hero, type: 'new' },
|
|
322
|
+
{ contentType: LayoutWithInfo, type: 'new' },
|
|
323
|
+
{ contentType: Newsletter, type: 'new' },
|
|
324
|
+
{ contentType: StructuredData, type: 'new' },
|
|
325
|
+
],
|
|
326
|
+
})
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
`StructuredData` is Rakun's native JSON-LD module. Add it to an iterator to make
|
|
330
|
+
it available in Content and shared Templates. Its Product, Article,
|
|
331
|
+
Organization, WebSite, and BreadcrumbList variants expose typed fields; Custom
|
|
332
|
+
accepts an arbitrary JSON object. Template fields can use the normal dynamic
|
|
333
|
+
data mappings, so one module can describe every document of a routeable content
|
|
334
|
+
type. Official React and Next renderers emit the corresponding safe
|
|
335
|
+
`application/ld+json` script without an application module file.
|
|
336
|
+
|
|
337
|
+
Call `.help(text)` on a field to expose optional guidance from a compact help
|
|
338
|
+
icon in the manager. The metadata survives other field modifiers and nested
|
|
339
|
+
relation encoding. Pass either direct copy or a manager translation key. Use
|
|
340
|
+
`.description(...)` for short guidance that should remain visible below the
|
|
341
|
+
field label.
|
|
342
|
+
|
|
343
|
+
For example, place Content inside an otherwise empty
|
|
344
|
+
`LayoutWithInfo.fields.blocks` list to render the document-specific sections
|
|
345
|
+
inside that shared wrapper. Route `layout` modules such as header and footer
|
|
346
|
+
remain outside the assembled template.
|
|
347
|
+
|
|
348
|
+
Content type names, field names and reserved fields are persisted API. Do not
|
|
349
|
+
rename them without a data migration and a review of manager and web consumers.
|
|
350
|
+
Use `.withHooks(...)` for lifecycle behavior; keep mutations and secrets out of
|
|
351
|
+
`onGet` transformations unless that behavior is explicitly intended.
|
|
352
|
+
|
|
353
|
+
Dynamic data list mappings may map a target `blocks`, link-array, or
|
|
354
|
+
relation-array field recursively. A map entry with `kind: 'list'` contains the
|
|
355
|
+
same `contentType`, optional `source` or `query`, `itemName`, and `map` shape as
|
|
356
|
+
a top-level list binding. In its query,
|
|
357
|
+
`{ $current: 'path' }` resolves against the parent source item and
|
|
358
|
+
`{ $document: 'path' }` resolves against the root document. The manager exposes
|
|
359
|
+
these values as `Current item` and `Current document`, respectively, supporting
|
|
360
|
+
flows such as Category -> gallery item -> related Project -> nested image card.
|
|
361
|
+
Source and target dynamic-field rules are enforced at every level.
|
|
362
|
+
|
|
363
|
+
Homogeneous link and relation arrays also accept per-item list mappings, at the
|
|
364
|
+
top level or recursively. This includes `f.relation(...).multiple()`, which is
|
|
365
|
+
the relation-array shorthand. Link items map `title` and `href`; relation items
|
|
366
|
+
map fields from their target content type. These arrays resolve to flat items,
|
|
367
|
+
while `f.blocks(...)` remains heterogeneous and resolves each item as
|
|
368
|
+
`{ name, value }`. A structured array may still use a direct whole-field binding.
|
|
369
|
+
|
|
370
|
+
## Routes and web output
|
|
371
|
+
|
|
372
|
+
Routes connect a content type field to a public URL. A page route may also have
|
|
373
|
+
a fixed `layout` with module slots and a `{ type: 'content' }` insertion point.
|
|
374
|
+
When a content type has a `hasPage: true` route, core adds optional `_seo`
|
|
375
|
+
metadata and can expose generated `href` values to dynamic data.
|
|
376
|
+
|
|
377
|
+
The `web.page` and `web.previewPage` responses expose modules only through their
|
|
378
|
+
required `layout` array. Document modules are in the `modules` property of the
|
|
379
|
+
`{ type: 'content' }` item; there is no duplicate top-level `modules` property.
|
|
380
|
+
Not-found responses use the same shape, while redirects return an empty layout.
|
|
381
|
+
|
|
382
|
+
The optional `info` object contains normal resolved page fields and route context
|
|
383
|
+
such as `locale` and `variantGroupId`. Translated website literals live in the
|
|
384
|
+
separate top-level `literals` property. Core removes the composition-only
|
|
385
|
+
`_iterator`, `_seo`, and legacy `_iteratorUnlinked` fields recursively,
|
|
386
|
+
including from populated child relations, so nested page modules and SEO data
|
|
387
|
+
are not duplicated in `info`.
|
|
388
|
+
|
|
389
|
+
Use `@rakun-kit/core/web` for framework-neutral web types/utilities. Use the
|
|
390
|
+
Next or React manual for actual rendering. Route changes can affect configured
|
|
391
|
+
redirects, sitemap, robots output, preview, and adapter behavior.
|
|
392
|
+
|
|
393
|
+
The built-in `LlmsSettings` record backs an optional site-level `llms.txt`.
|
|
394
|
+
Editors curate a title, summary, free-form guidance, ordered sections, and
|
|
395
|
+
internal or external links in Manager Settings. Core renders the Markdown via
|
|
396
|
+
the public `web.llms` query; `getRakunWebLlmsTxt` provides the equivalent
|
|
397
|
+
server-only call. It resolves internal links for the requested language, uses
|
|
398
|
+
SEO `siteUrl` to make links absolute, and falls back to SEO `siteName` and the
|
|
399
|
+
default SEO description when title or summary is omitted. Disabled or unusable
|
|
400
|
+
configuration returns `null`. Only explicitly selected resources are included;
|
|
401
|
+
internal links without a public route are omitted while their section heading
|
|
402
|
+
remains. In Manager, routeable content types with document
|
|
403
|
+
visibility expose only published documents in this picker. Entries marked
|
|
404
|
+
optional are grouped under the conventional `## Optional` heading and retain
|
|
405
|
+
their section titles as third-level headings.
|
|
406
|
+
|
|
407
|
+
The authenticated `manager.localeVariants.list` result exposes `path` on a
|
|
408
|
+
language assignment only when its exact document is published and has a route
|
|
409
|
+
map. This is the supported manager-facing way to build a contextual View page
|
|
410
|
+
action; do not query hidden `RouteMap` records from manager UI code.
|
|
411
|
+
|
|
412
|
+
For routeable content types with document visibility, only explicit
|
|
413
|
+
`published` and `hidden` values are eligible for the route map or public page
|
|
414
|
+
resolution. A legacy document with no `_visibility` is treated as a draft;
|
|
415
|
+
this fail-closed check also prevents an obsolete `RouteMap` entry from exposing
|
|
416
|
+
its content.
|
|
417
|
+
|
|
418
|
+
The public `web.staticPaths` query returns `{ path, ttl }` entries only for
|
|
419
|
+
route-map records whose configured page route has `dynamic: false`. Framework
|
|
420
|
+
adapters use it to generate static params and choose an ISR lifetime. A
|
|
421
|
+
monolithic server adapter may instead call the server-only
|
|
422
|
+
`getRakunWebStaticPaths`, `getRakunWebPage`, and `getRakunWebPreviewPage`
|
|
423
|
+
exports after bootstrap and initialization, avoiding an HTTP request to itself
|
|
424
|
+
during a framework build.
|
|
425
|
+
|
|
426
|
+
Set `revalidate: { url, token }` in bootstrap to notify the web host after a
|
|
427
|
+
manager mutation changes a public path. Core sends an authenticated `POST`
|
|
428
|
+
containing `{ path }`; the host adapter is responsible for invalidating its
|
|
429
|
+
page and data caches.
|
|
430
|
+
|
|
431
|
+
## Custom operations
|
|
432
|
+
|
|
433
|
+
Define public API behavior with the operation helpers and Zod input/output
|
|
434
|
+
schemas. Register the map through `apiOperations` so adapters and typed clients
|
|
435
|
+
share one contract.
|
|
436
|
+
|
|
437
|
+
```ts
|
|
438
|
+
import { defineOperation } from '@rakun-kit/core'
|
|
439
|
+
import { z } from 'zod'
|
|
440
|
+
|
|
441
|
+
export const apiOperations = {
|
|
442
|
+
'demo.hello': defineOperation({
|
|
443
|
+
access: 'public',
|
|
444
|
+
kind: 'query',
|
|
445
|
+
method: 'get',
|
|
446
|
+
input: z.object({ name: z.string() }),
|
|
447
|
+
output: z.object({ message: z.string() }),
|
|
448
|
+
resolve: ({ input }) => ({ message: `Hello ${input.name}` }),
|
|
449
|
+
}),
|
|
450
|
+
}
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
Keep operations in server modules. Client code should import the operation map
|
|
454
|
+
with `import type` and use the typed client supplied by its adapter.
|
|
455
|
+
|
|
456
|
+
Every API error, including expected 4xx errors, must reach Rakun's persistent
|
|
457
|
+
event log without persisting payloads, credentials, sensitive causes or raw
|
|
458
|
+
internal error messages. Successful mutations already emit
|
|
459
|
+
`<operation>.succeeded`; add explicit domain events for meaningful phases,
|
|
460
|
+
external effects or partial outcomes. Queries are not logged by default.
|
|
461
|
+
|
|
462
|
+
## Request context, auth and permissions
|
|
463
|
+
|
|
464
|
+
Adapters create a Rakun request context from headers, cookies and their response
|
|
465
|
+
abstraction. Prefer existing helpers such as `getUser`, `checkPermissions` and
|
|
466
|
+
`checkOwnership`; do not duplicate authorization rules in application code.
|
|
467
|
+
|
|
468
|
+
External manager login adapters are configured under `login.adapters`.
|
|
469
|
+
Provider emails must be verified and match an existing manager user; Rakun does
|
|
470
|
+
not provision users automatically. Password login can use persistent IP
|
|
471
|
+
blocking. Account recovery requires both a mail service and
|
|
472
|
+
`accountRecovery.passwordReset` configuration.
|
|
473
|
+
|
|
474
|
+
## Media, mail and translation
|
|
475
|
+
|
|
476
|
+
Core defines service contracts; concrete integrations are separate:
|
|
477
|
+
|
|
349
478
|
- Media: use `@rakun-kit/s3`, or local media from the selected framework
|
|
350
479
|
adapter. Configure the result as `media` in bootstrap.
|
|
351
|
-
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
adapter
|
|
361
|
-
|
|
362
|
-
The
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
The
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
then
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
- `@rakun-kit/core
|
|
408
|
-
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
480
|
+
- Storage adapters may expose `getPublicObject`; Next.js, Express and Bun then
|
|
481
|
+
serve public media through their normal `/media/public/<key>` API route. This
|
|
482
|
+
gives public Rakun media a stable application URL while the backing object
|
|
483
|
+
store remains private or uses expiring storage URLs.
|
|
484
|
+
- Mail: use `@rakun-kit/smtp` or `@rakun-kit/resend`; optionally render typed
|
|
485
|
+
templates with `@rakun-kit/jsx-email`. Configure delivery as `mail`.
|
|
486
|
+
- Translation: use `@rakun-kit/openai` or implement the core translation
|
|
487
|
+
adapter contract. Configure it as `translation`.
|
|
488
|
+
|
|
489
|
+
Never expose adapter credentials in client modules. Public and private media
|
|
490
|
+
have different URL semantics; do not replace stored media objects with raw URLs.
|
|
491
|
+
The built-in manager upload protocol preserves Unicode original file names,
|
|
492
|
+
including accents, non-Latin scripts, and emoji, while storage object keys stay
|
|
493
|
+
adapter-safe.
|
|
494
|
+
|
|
495
|
+
The media manager can reimport an existing image or video with its currently
|
|
496
|
+
selected optimization settings. Rakun writes the replacement and its variants
|
|
497
|
+
under new storage keys, updates the existing `Media` record in place, and only
|
|
498
|
+
then removes the previous objects, so content relations keep the same media ID.
|
|
499
|
+
The `manager.media.replace` mutation applies the same safe storage sequence to
|
|
500
|
+
a newly uploaded image. It preserves the existing media ID, editorial details,
|
|
501
|
+
folder and relations while replacing its file metadata and generated variants,
|
|
502
|
+
then revalidates documents that reference it when route revalidation is configured.
|
|
503
|
+
When `generatePreview` is enabled, optimization stores a tiny `data:image/...`
|
|
504
|
+
LQIP string on `previewUrl` instead of uploading a separate preview object.
|
|
505
|
+
Its exact MIME may be selected by the runtime image processor; native Bun
|
|
506
|
+
placeholders are PNG data URLs, while Sharp uses the configured output format.
|
|
507
|
+
Older media that still have a `previewKey` continue to resolve normally.
|
|
508
|
+
|
|
509
|
+
Optimized video uploads use the `ffmpeg-static` peer dependency. Rakun keeps
|
|
510
|
+
MP4 as the primary object and exposes both MP4 and WebM entries through the
|
|
511
|
+
media `sources` array (`key`, resolved `url`, `mime`, and `size`). Existing
|
|
512
|
+
image-only `FileOptimizeOptions` remain valid; video quality defaults to 80 and
|
|
513
|
+
can be set with `video: { quality }`.
|
|
514
|
+
|
|
515
|
+
## Manager languages and user-facing text
|
|
516
|
+
|
|
517
|
+
Web/content-facing text belongs in Rakun literals. Manager UI text belongs in
|
|
518
|
+
the manager catalog. English manager copy is built into `manager-react`; add
|
|
519
|
+
optional packs such as Spanish through `@rakun-kit/manager-locales/es` and
|
|
520
|
+
`managerLanguages`.
|
|
521
|
+
|
|
522
|
+
Project-defined manager labels may use arbitrary keys. Field labels follow
|
|
523
|
+
`field.<fieldName>` and layout slots follow `layoutModule.<layoutKey>`.
|
|
524
|
+
The public `manager.uiLocales` response also exposes a validated HTTP(S) SEO
|
|
525
|
+
`siteUrl` for manager chrome and the configured home-page variant group for SEO
|
|
526
|
+
audits; no other SEO settings are included.
|
|
527
|
+
|
|
528
|
+
SEO audit snapshots are stored in the hidden internal `SeoAudit` content type.
|
|
529
|
+
It shares the `SeoSettings` permission resource: `own` permits creating dated
|
|
530
|
+
site or page reports, while `readAny` permits viewing reports created by other
|
|
531
|
+
editors. The manager uses normal content operations for this persistence, so
|
|
532
|
+
successful report creation is covered by the standard mutation event log.
|
|
533
|
+
|
|
534
|
+
## Public entrypoints
|
|
535
|
+
|
|
536
|
+
- `@rakun-kit/core`: bootstrap and the main domain/runtime API.
|
|
537
|
+
- The main server entry also exports `getRakunWebPage`,
|
|
538
|
+
`getRakunWebPreviewPage`, and `getRakunWebStaticPaths` for server adapters
|
|
539
|
+
that share Rakun's process and database.
|
|
540
|
+
- `@rakun-kit/core/contracts`: shared schemas, operation and locale contracts.
|
|
541
|
+
- `@rakun-kit/core/client`: browser-safe client types and utilities.
|
|
542
|
+
- `@rakun-kit/core/manager`: manager operation metadata and types.
|
|
543
|
+
- `@rakun-kit/core/web`: web output types and utilities.
|
|
544
|
+
- `@rakun-kit/core/types`: content-type-derived helpers.
|
|
545
|
+
- `@rakun-kit/core/logger`, `/errors`, `/literals`, `/api-utils`, `/plugins`,
|
|
546
|
+
`/event-log` and `/internal-content-types`: focused public surfaces.
|
|
547
|
+
|
|
548
|
+
Import only declared package entrypoints. Do not reach into `dist/esm`,
|
|
549
|
+
`dist/cjs` or source paths.
|
|
550
|
+
|
|
551
|
+
## Agent checklist
|
|
552
|
+
|
|
553
|
+
- Identify the host adapter and read its installed manual.
|
|
554
|
+
- Confirm an API is exported before importing it.
|
|
555
|
+
- Preserve the server/browser boundary and use `import type` for contracts.
|
|
556
|
+
- Reuse core validation, auth, operation, logging and service abstractions.
|
|
557
|
+
- Treat persisted names and public schemas as compatibility boundaries.
|
|
558
|
+
- Update application tests when content, routes, permissions or operation
|
|
559
|
+
behavior changes.
|