@focus-reactive/payload-plugin-translator 0.1.0 → 0.1.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 +27 -14
- package/package.json +3 -1
- package/dist/client/app/cache/CacheProvider.d.ts.map +0 -1
- package/dist/client/app/cache/CacheProvider.export.d.ts.map +0 -1
- package/dist/client/app/cache/CacheProvider.export.js.map +0 -1
- package/dist/client/app/cache/CacheProvider.js.map +0 -1
- package/dist/client/app/cache/CacheProvider.jsx +0 -11
- package/dist/client/app/config/TranslateKitConfigContext.d.ts.map +0 -1
- package/dist/client/app/config/TranslateKitConfigContext.js.map +0 -1
- package/dist/client/app/config/TranslateKitConfigContext.jsx +0 -13
- package/dist/client/app/config/index.d.ts.map +0 -1
- package/dist/client/app/config/index.js.map +0 -1
- package/dist/client/entities/translation/api/mutations/useCancelCollectionTranslations.d.ts.map +0 -1
- package/dist/client/entities/translation/api/mutations/useCancelCollectionTranslations.js.map +0 -1
- package/dist/client/entities/translation/api/mutations/useCancelDocumentTranslation.d.ts.map +0 -1
- package/dist/client/entities/translation/api/mutations/useCancelDocumentTranslation.js.map +0 -1
- package/dist/client/entities/translation/api/mutations/useQueueDocumentTranslation.d.ts.map +0 -1
- package/dist/client/entities/translation/api/mutations/useQueueDocumentTranslation.js.map +0 -1
- package/dist/client/entities/translation/api/mutations/useQueueDocumentTranslations.d.ts.map +0 -1
- package/dist/client/entities/translation/api/mutations/useQueueDocumentTranslations.js.map +0 -1
- package/dist/client/entities/translation/api/mutations/useRunDocumentTranslation.d.ts.map +0 -1
- package/dist/client/entities/translation/api/mutations/useRunDocumentTranslation.js.map +0 -1
- package/dist/client/entities/translation/api/queries/useCollectionTranslationStatus.d.ts.map +0 -1
- package/dist/client/entities/translation/api/queries/useCollectionTranslationStatus.js.map +0 -1
- package/dist/client/entities/translation/api/queries/useDocumentTranslation.d.ts.map +0 -1
- package/dist/client/entities/translation/api/queries/useDocumentTranslation.js.map +0 -1
- package/dist/client/entities/translation/index.d.ts.map +0 -1
- package/dist/client/entities/translation/index.js.map +0 -1
- package/dist/client/entities/translation/model/enums.d.ts.map +0 -1
- package/dist/client/entities/translation/model/enums.js.map +0 -1
- package/dist/client/entities/translation/model/types.d.ts.map +0 -1
- package/dist/client/entities/translation/model/types.js.map +0 -1
- package/dist/client/entities/translation/ui/CompletedTranslationStatus/CompletedTranslationStatus.d.ts.map +0 -1
- package/dist/client/entities/translation/ui/CompletedTranslationStatus/CompletedTranslationStatus.js.map +0 -1
- package/dist/client/entities/translation/ui/CompletedTranslationStatus/CompletedTranslationStatus.jsx +0 -25
- package/dist/client/entities/translation/ui/CompletedTranslationStatus/index.d.ts.map +0 -1
- package/dist/client/entities/translation/ui/CompletedTranslationStatus/index.js.map +0 -1
- package/dist/client/entities/translation/ui/FailedTranslationStatus/FailedTranslationStatus.d.ts.map +0 -1
- package/dist/client/entities/translation/ui/FailedTranslationStatus/FailedTranslationStatus.js.map +0 -1
- package/dist/client/entities/translation/ui/FailedTranslationStatus/FailedTranslationStatus.jsx +0 -24
- package/dist/client/entities/translation/ui/FailedTranslationStatus/index.d.ts.map +0 -1
- package/dist/client/entities/translation/ui/FailedTranslationStatus/index.js.map +0 -1
- package/dist/client/entities/translation/ui/PendingTranslationStatus/PendingTranslationStatus.d.ts.map +0 -1
- package/dist/client/entities/translation/ui/PendingTranslationStatus/PendingTranslationStatus.js.map +0 -1
- package/dist/client/entities/translation/ui/PendingTranslationStatus/PendingTranslationStatus.jsx +0 -38
- package/dist/client/entities/translation/ui/PendingTranslationStatus/index.d.ts.map +0 -1
- package/dist/client/entities/translation/ui/PendingTranslationStatus/index.js.map +0 -1
- package/dist/client/entities/translation/ui/RunningTranslationStatus/RunningTranslationStatus.d.ts.map +0 -1
- package/dist/client/entities/translation/ui/RunningTranslationStatus/RunningTranslationStatus.js.map +0 -1
- package/dist/client/entities/translation/ui/RunningTranslationStatus/RunningTranslationStatus.jsx +0 -32
- package/dist/client/entities/translation/ui/RunningTranslationStatus/index.d.ts.map +0 -1
- package/dist/client/entities/translation/ui/RunningTranslationStatus/index.js.map +0 -1
- package/dist/client/entities/translation/ui/TranslationDirection/TranslationDirection.d.ts.map +0 -1
- package/dist/client/entities/translation/ui/TranslationDirection/TranslationDirection.js.map +0 -1
- package/dist/client/entities/translation/ui/TranslationDirection/TranslationDirection.jsx +0 -16
- package/dist/client/entities/translation/ui/TranslationDirection/index.d.ts.map +0 -1
- package/dist/client/entities/translation/ui/TranslationDirection/index.js.map +0 -1
- package/dist/client/features/collection-translation-form/index.client.d.ts.map +0 -1
- package/dist/client/features/collection-translation-form/index.client.js.map +0 -1
- package/dist/client/features/collection-translation-form/index.d.ts.map +0 -1
- package/dist/client/features/collection-translation-form/index.js.map +0 -1
- package/dist/client/features/collection-translation-form/model/constants.d.ts.map +0 -1
- package/dist/client/features/collection-translation-form/model/constants.js.map +0 -1
- package/dist/client/features/collection-translation-form/model/form-model.d.ts.map +0 -1
- package/dist/client/features/collection-translation-form/model/form-model.js.map +0 -1
- package/dist/client/features/collection-translation-form/model/index.d.ts.map +0 -1
- package/dist/client/features/collection-translation-form/model/index.js.map +0 -1
- package/dist/client/features/collection-translation-form/model/schema.d.ts.map +0 -1
- package/dist/client/features/collection-translation-form/model/schema.js.map +0 -1
- package/dist/client/features/collection-translation-form/ui/CollectionTranslationForm.d.ts.map +0 -1
- package/dist/client/features/collection-translation-form/ui/CollectionTranslationForm.js.map +0 -1
- package/dist/client/features/collection-translation-form/ui/CollectionTranslationForm.jsx +0 -25
- package/dist/client/features/collection-translation-form/ui/index.d.ts.map +0 -1
- package/dist/client/features/collection-translation-form/ui/index.js.map +0 -1
- package/dist/client/features/collection-translation-popup/index.d.ts.map +0 -1
- package/dist/client/features/collection-translation-popup/index.js.map +0 -1
- package/dist/client/features/collection-translation-popup/ui/CollectionTranslationPopup.d.ts.map +0 -1
- package/dist/client/features/collection-translation-popup/ui/CollectionTranslationPopup.js.map +0 -1
- package/dist/client/features/collection-translation-popup/ui/CollectionTranslationPopup.jsx +0 -23
- package/dist/client/features/collection-translation-progress/index.d.ts.map +0 -1
- package/dist/client/features/collection-translation-progress/index.js.map +0 -1
- package/dist/client/features/collection-translation-progress/ui/CollectionTranslationProgress.d.ts.map +0 -1
- package/dist/client/features/collection-translation-progress/ui/CollectionTranslationProgress.js.map +0 -1
- package/dist/client/features/collection-translation-progress/ui/CollectionTranslationProgress.jsx +0 -47
- package/dist/client/features/document-translation-progress-failed/index.d.ts.map +0 -1
- package/dist/client/features/document-translation-progress-failed/index.js.map +0 -1
- package/dist/client/features/document-translation-progress-failed/ui/DocumentTranslationProgressFailed.d.ts.map +0 -1
- package/dist/client/features/document-translation-progress-failed/ui/DocumentTranslationProgressFailed.js.map +0 -1
- package/dist/client/features/document-translation-progress-failed/ui/DocumentTranslationProgressFailed.jsx +0 -19
- package/dist/client/features/document-translation-progress-pending/index.d.ts.map +0 -1
- package/dist/client/features/document-translation-progress-pending/index.js.map +0 -1
- package/dist/client/features/document-translation-progress-pending/ui/DocumentTranslationProgressPending.d.ts.map +0 -1
- package/dist/client/features/document-translation-progress-pending/ui/DocumentTranslationProgressPending.js.map +0 -1
- package/dist/client/features/document-translation-progress-pending/ui/DocumentTranslationProgressPending.jsx +0 -34
- package/dist/client/features/document-translation-progress-running/index.d.ts.map +0 -1
- package/dist/client/features/document-translation-progress-running/index.js.map +0 -1
- package/dist/client/features/document-translation-progress-running/ui/DocumentTranslationProgressRunning.d.ts.map +0 -1
- package/dist/client/features/document-translation-progress-running/ui/DocumentTranslationProgressRunning.js.map +0 -1
- package/dist/client/features/document-translation-progress-running/ui/DocumentTranslationProgressRunning.jsx +0 -19
- package/dist/client/features/open-document-translation-popup/index.d.ts.map +0 -1
- package/dist/client/features/open-document-translation-popup/index.js.map +0 -1
- package/dist/client/features/open-document-translation-popup/ui/OpenDocumentTranslationPopup.d.ts.map +0 -1
- package/dist/client/features/open-document-translation-popup/ui/OpenDocumentTranslationPopup.js.map +0 -1
- package/dist/client/features/open-document-translation-popup/ui/OpenDocumentTranslationPopup.jsx +0 -15
- package/dist/client/features/translate-document-form/index.client.d.ts.map +0 -1
- package/dist/client/features/translate-document-form/index.client.js.map +0 -1
- package/dist/client/features/translate-document-form/index.d.ts.map +0 -1
- package/dist/client/features/translate-document-form/index.js.map +0 -1
- package/dist/client/features/translate-document-form/model/constants.d.ts.map +0 -1
- package/dist/client/features/translate-document-form/model/constants.js.map +0 -1
- package/dist/client/features/translate-document-form/model/form-model.d.ts.map +0 -1
- package/dist/client/features/translate-document-form/model/form-model.js.map +0 -1
- package/dist/client/features/translate-document-form/model/index.d.ts.map +0 -1
- package/dist/client/features/translate-document-form/model/index.js.map +0 -1
- package/dist/client/features/translate-document-form/model/schema.d.ts.map +0 -1
- package/dist/client/features/translate-document-form/model/schema.js.map +0 -1
- package/dist/client/features/translate-document-form/ui/DocumentTranslationForm.d.ts.map +0 -1
- package/dist/client/features/translate-document-form/ui/DocumentTranslationForm.js.map +0 -1
- package/dist/client/features/translate-document-form/ui/DocumentTranslationForm.jsx +0 -24
- package/dist/client/features/translate-document-form/ui/index.d.ts.map +0 -1
- package/dist/client/features/translate-document-form/ui/index.js.map +0 -1
- package/dist/client/shared/lib/assets/icons/LanguageTranslateIcon.d.ts.map +0 -1
- package/dist/client/shared/lib/assets/icons/LanguageTranslateIcon.js.map +0 -1
- package/dist/client/shared/lib/assets/icons/LanguageTranslateIcon.jsx +0 -4
- package/dist/client/shared/lib/assets/icons/QuestionCircleIcon.d.ts.map +0 -1
- package/dist/client/shared/lib/assets/icons/QuestionCircleIcon.js.map +0 -1
- package/dist/client/shared/lib/assets/icons/QuestionCircleIcon.jsx +0 -3
- package/dist/client/shared/lib/assets/icons/ReloadIcon.d.ts.map +0 -1
- package/dist/client/shared/lib/assets/icons/ReloadIcon.js.map +0 -1
- package/dist/client/shared/lib/assets/icons/ReloadIcon.jsx +0 -3
- package/dist/client/shared/lib/errors/handleApiError.d.ts.map +0 -1
- package/dist/client/shared/lib/errors/handleApiError.js.map +0 -1
- package/dist/client/shared/lib/forms/handle-form-error.d.ts.map +0 -1
- package/dist/client/shared/lib/forms/handle-form-error.js.map +0 -1
- package/dist/client/shared/lib/payload/hooks/useCollectionDashboardUrlParams.d.ts.map +0 -1
- package/dist/client/shared/lib/payload/hooks/useCollectionDashboardUrlParams.js.map +0 -1
- package/dist/client/shared/lib/payload/hooks/useCollectionDocumentUrlParams.d.ts.map +0 -1
- package/dist/client/shared/lib/payload/hooks/useCollectionDocumentUrlParams.js.map +0 -1
- package/dist/client/shared/lib/payload/hooks/useLocaleOptions.d.ts.map +0 -1
- package/dist/client/shared/lib/payload/hooks/useLocaleOptions.js.map +0 -1
- package/dist/client/shared/lib/utils/errors/handleApiError.d.ts.map +0 -1
- package/dist/client/shared/lib/utils/errors/handleApiError.js.map +0 -1
- package/dist/client/shared/lib/utils/react/useToggle.d.ts.map +0 -1
- package/dist/client/shared/lib/utils/react/useToggle.js.map +0 -1
- package/dist/client/shared/providers/CacheClientProvider/CacheClientProvider.factory.d.ts.map +0 -1
- package/dist/client/shared/providers/CacheClientProvider/CacheClientProvider.factory.js.map +0 -1
- package/dist/client/shared/providers/CacheClientProvider/index.d.ts.map +0 -1
- package/dist/client/shared/providers/CacheClientProvider/index.js.map +0 -1
- package/dist/client/shared/types/AccessGuard.d.ts.map +0 -1
- package/dist/client/shared/types/AccessGuard.js.map +0 -1
- package/dist/client/shared/types/PayloadComponentExport.d.ts.map +0 -1
- package/dist/client/shared/types/PayloadComponentExport.js.map +0 -1
- package/dist/client/shared/ui/Alert/Alert.d.ts.map +0 -1
- package/dist/client/shared/ui/Alert/Alert.js.map +0 -1
- package/dist/client/shared/ui/Alert/Alert.jsx +0 -33
- package/dist/client/shared/ui/Alert/index.d.ts.map +0 -1
- package/dist/client/shared/ui/Alert/index.js.map +0 -1
- package/dist/client/shared/ui/Button/Button.d.ts.map +0 -1
- package/dist/client/shared/ui/Button/Button.js.map +0 -1
- package/dist/client/shared/ui/Button/Button.jsx +0 -35
- package/dist/client/shared/ui/Button/index.d.ts.map +0 -1
- package/dist/client/shared/ui/Button/index.js.map +0 -1
- package/dist/client/shared/ui/Checkbox/Checkbox.d.ts.map +0 -1
- package/dist/client/shared/ui/Checkbox/Checkbox.js.map +0 -1
- package/dist/client/shared/ui/Checkbox/Checkbox.jsx +0 -6
- package/dist/client/shared/ui/Checkbox/index.d.ts.map +0 -1
- package/dist/client/shared/ui/Checkbox/index.js.map +0 -1
- package/dist/client/shared/ui/ColorIndicator/ColorIndicator.d.ts.map +0 -1
- package/dist/client/shared/ui/ColorIndicator/ColorIndicator.js.map +0 -1
- package/dist/client/shared/ui/ColorIndicator/ColorIndicator.jsx +0 -7
- package/dist/client/shared/ui/ColorIndicator/index.d.ts.map +0 -1
- package/dist/client/shared/ui/ColorIndicator/index.js.map +0 -1
- package/dist/client/shared/ui/Description/Description.d.ts.map +0 -1
- package/dist/client/shared/ui/Description/Description.js.map +0 -1
- package/dist/client/shared/ui/Description/Description.jsx +0 -7
- package/dist/client/shared/ui/Description/index.d.ts.map +0 -1
- package/dist/client/shared/ui/Description/index.js.map +0 -1
- package/dist/client/shared/ui/Divider/Divider.d.ts.map +0 -1
- package/dist/client/shared/ui/Divider/Divider.js.map +0 -1
- package/dist/client/shared/ui/Divider/Divider.jsx +0 -7
- package/dist/client/shared/ui/Divider/index.d.ts.map +0 -1
- package/dist/client/shared/ui/Divider/index.js.map +0 -1
- package/dist/client/shared/ui/Label/Label.d.ts.map +0 -1
- package/dist/client/shared/ui/Label/Label.js.map +0 -1
- package/dist/client/shared/ui/Label/Label.jsx +0 -9
- package/dist/client/shared/ui/Label/index.d.ts.map +0 -1
- package/dist/client/shared/ui/Label/index.js.map +0 -1
- package/dist/client/shared/ui/Loading/Loading.d.ts.map +0 -1
- package/dist/client/shared/ui/Loading/Loading.js.map +0 -1
- package/dist/client/shared/ui/Loading/Loading.jsx +0 -11
- package/dist/client/shared/ui/Loading/index.d.ts.map +0 -1
- package/dist/client/shared/ui/Loading/index.js.map +0 -1
- package/dist/client/shared/ui/Popup/Popup.d.ts.map +0 -1
- package/dist/client/shared/ui/Popup/Popup.js.map +0 -1
- package/dist/client/shared/ui/Popup/Popup.jsx +0 -13
- package/dist/client/shared/ui/Popup/index.d.ts.map +0 -1
- package/dist/client/shared/ui/Popup/index.js.map +0 -1
- package/dist/client/shared/ui/ProgressBar/ProgressBar.d.ts.map +0 -1
- package/dist/client/shared/ui/ProgressBar/ProgressBar.js.map +0 -1
- package/dist/client/shared/ui/ProgressBar/ProgressBar.jsx +0 -11
- package/dist/client/shared/ui/ProgressBar/index.d.ts.map +0 -1
- package/dist/client/shared/ui/ProgressBar/index.js.map +0 -1
- package/dist/client/shared/ui/Select/Select.d.ts.map +0 -1
- package/dist/client/shared/ui/Select/Select.js.map +0 -1
- package/dist/client/shared/ui/Select/Select.jsx +0 -41
- package/dist/client/shared/ui/Select/index.d.ts.map +0 -1
- package/dist/client/shared/ui/Select/index.js.map +0 -1
- package/dist/client/shared/ui/StatusCounter/StatusCounter.d.ts.map +0 -1
- package/dist/client/shared/ui/StatusCounter/StatusCounter.js.map +0 -1
- package/dist/client/shared/ui/StatusCounter/StatusCounter.jsx +0 -26
- package/dist/client/shared/ui/StatusCounter/index.d.ts.map +0 -1
- package/dist/client/shared/ui/StatusCounter/index.js.map +0 -1
- package/dist/client/shared/ui/StatusIndicator/StatusIndicator.d.ts.map +0 -1
- package/dist/client/shared/ui/StatusIndicator/StatusIndicator.js.map +0 -1
- package/dist/client/shared/ui/StatusIndicator/StatusIndicator.jsx +0 -10
- package/dist/client/shared/ui/StatusIndicator/index.d.ts.map +0 -1
- package/dist/client/shared/ui/StatusIndicator/index.js.map +0 -1
- package/dist/client/shared/ui/Tooltip/Tooltip.d.ts.map +0 -1
- package/dist/client/shared/ui/Tooltip/Tooltip.js.map +0 -1
- package/dist/client/shared/ui/Tooltip/Tooltip.jsx +0 -16
- package/dist/client/shared/ui/Tooltip/index.d.ts.map +0 -1
- package/dist/client/shared/ui/Tooltip/index.js.map +0 -1
- package/dist/client/shared/ui/form/FormCheckbox/FormCheckbox.d.ts.map +0 -1
- package/dist/client/shared/ui/form/FormCheckbox/FormCheckbox.js.map +0 -1
- package/dist/client/shared/ui/form/FormCheckbox/FormCheckbox.jsx +0 -24
- package/dist/client/shared/ui/form/FormCheckbox/index.d.ts.map +0 -1
- package/dist/client/shared/ui/form/FormCheckbox/index.js.map +0 -1
- package/dist/client/shared/ui/form/FormCheckboxPublish/FormCheckboxPublish.d.ts.map +0 -1
- package/dist/client/shared/ui/form/FormCheckboxPublish/FormCheckboxPublish.js.map +0 -1
- package/dist/client/shared/ui/form/FormCheckboxPublish/FormCheckboxPublish.jsx +0 -21
- package/dist/client/shared/ui/form/FormCheckboxPublish/index.d.ts.map +0 -1
- package/dist/client/shared/ui/form/FormCheckboxPublish/index.js.map +0 -1
- package/dist/client/shared/ui/form/FormSelect/FormSelect.d.ts.map +0 -1
- package/dist/client/shared/ui/form/FormSelect/FormSelect.js.map +0 -1
- package/dist/client/shared/ui/form/FormSelect/FormSelect.jsx +0 -44
- package/dist/client/shared/ui/form/FormSelect/index.d.ts.map +0 -1
- package/dist/client/shared/ui/form/FormSelect/index.js.map +0 -1
- package/dist/client/shared/ui/form/FormSelectLocale/FormSelectLocale.d.ts.map +0 -1
- package/dist/client/shared/ui/form/FormSelectLocale/FormSelectLocale.js.map +0 -1
- package/dist/client/shared/ui/form/FormSelectLocale/FormSelectLocale.jsx +0 -6
- package/dist/client/shared/ui/form/FormSelectLocale/index.d.ts.map +0 -1
- package/dist/client/shared/ui/form/FormSelectLocale/index.js.map +0 -1
- package/dist/client/shared/ui/form/FormSelectStrategy/FormSelectStrategy.d.ts.map +0 -1
- package/dist/client/shared/ui/form/FormSelectStrategy/FormSelectStrategy.js.map +0 -1
- package/dist/client/shared/ui/form/FormSelectStrategy/FormSelectStrategy.jsx +0 -25
- package/dist/client/shared/ui/form/FormSelectStrategy/index.d.ts.map +0 -1
- package/dist/client/shared/ui/form/FormSelectStrategy/index.js.map +0 -1
- package/dist/client/shared/utils/componentPath.d.ts.map +0 -1
- package/dist/client/shared/utils/componentPath.js.map +0 -1
- package/dist/client/widgets/bulk-translation-dashboard/index.d.ts.map +0 -1
- package/dist/client/widgets/bulk-translation-dashboard/index.js.map +0 -1
- package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.d.ts.map +0 -1
- package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.export.d.ts.map +0 -1
- package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.export.js.map +0 -1
- package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.export.jsx +0 -11
- package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.js.map +0 -1
- package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.jsx +0 -55
- package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.server.d.ts.map +0 -1
- package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.server.js.map +0 -1
- package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.server.jsx +0 -17
- package/dist/client/widgets/bulk-translation-dashboard/ui/index.d.ts.map +0 -1
- package/dist/client/widgets/bulk-translation-dashboard/ui/index.js.map +0 -1
- package/dist/client/widgets/translate-document/index.d.ts.map +0 -1
- package/dist/client/widgets/translate-document/index.js.map +0 -1
- package/dist/client/widgets/translate-document/ui/TranslateDocument.d.ts.map +0 -1
- package/dist/client/widgets/translate-document/ui/TranslateDocument.export.d.ts.map +0 -1
- package/dist/client/widgets/translate-document/ui/TranslateDocument.export.js.map +0 -1
- package/dist/client/widgets/translate-document/ui/TranslateDocument.js.map +0 -1
- package/dist/client/widgets/translate-document/ui/TranslateDocument.jsx +0 -55
- package/dist/client/widgets/translate-document/ui/TranslateDocument.server.d.ts.map +0 -1
- package/dist/client/widgets/translate-document/ui/TranslateDocument.server.js.map +0 -1
- package/dist/client/widgets/translate-document/ui/TranslateDocument.server.jsx +0 -16
- package/dist/client/widgets/translate-document/ui/index.d.ts.map +0 -1
- package/dist/client/widgets/translate-document/ui/index.js.map +0 -1
- package/dist/field-config.d.ts.map +0 -1
- package/dist/field-config.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/plugin.d.ts.map +0 -1
- package/dist/plugin.js.map +0 -1
- package/dist/server/features/_lib/collection-utils.d.ts.map +0 -1
- package/dist/server/features/_lib/collection-utils.js.map +0 -1
- package/dist/server/features/_lib/index.d.ts.map +0 -1
- package/dist/server/features/_lib/index.js.map +0 -1
- package/dist/server/features/cancel/handler.d.ts.map +0 -1
- package/dist/server/features/cancel/handler.js.map +0 -1
- package/dist/server/features/cancel/handler.test.d.ts +0 -2
- package/dist/server/features/cancel/handler.test.d.ts.map +0 -1
- package/dist/server/features/cancel/handler.test.js +0 -63
- package/dist/server/features/cancel/index.d.ts.map +0 -1
- package/dist/server/features/cancel/index.js.map +0 -1
- package/dist/server/features/cancel/model.d.ts.map +0 -1
- package/dist/server/features/cancel/model.js.map +0 -1
- package/dist/server/features/cancel/route.d.ts.map +0 -1
- package/dist/server/features/cancel/route.js.map +0 -1
- package/dist/server/features/cancel-by-collection/handler.d.ts.map +0 -1
- package/dist/server/features/cancel-by-collection/handler.js.map +0 -1
- package/dist/server/features/cancel-by-collection/handler.test.d.ts +0 -2
- package/dist/server/features/cancel-by-collection/handler.test.d.ts.map +0 -1
- package/dist/server/features/cancel-by-collection/handler.test.js +0 -126
- package/dist/server/features/cancel-by-collection/index.d.ts.map +0 -1
- package/dist/server/features/cancel-by-collection/index.js.map +0 -1
- package/dist/server/features/cancel-by-collection/model.d.ts.map +0 -1
- package/dist/server/features/cancel-by-collection/model.js.map +0 -1
- package/dist/server/features/cancel-by-collection/route.d.ts.map +0 -1
- package/dist/server/features/cancel-by-collection/route.js.map +0 -1
- package/dist/server/features/enqueue-translation/handler.d.ts.map +0 -1
- package/dist/server/features/enqueue-translation/handler.js.map +0 -1
- package/dist/server/features/enqueue-translation/handler.test.d.ts +0 -2
- package/dist/server/features/enqueue-translation/handler.test.d.ts.map +0 -1
- package/dist/server/features/enqueue-translation/handler.test.js +0 -115
- package/dist/server/features/enqueue-translation/index.d.ts.map +0 -1
- package/dist/server/features/enqueue-translation/index.js.map +0 -1
- package/dist/server/features/enqueue-translation/model.d.ts.map +0 -1
- package/dist/server/features/enqueue-translation/model.js.map +0 -1
- package/dist/server/features/enqueue-translation/route.d.ts.map +0 -1
- package/dist/server/features/enqueue-translation/route.js.map +0 -1
- package/dist/server/features/get-collection-status/handler.d.ts.map +0 -1
- package/dist/server/features/get-collection-status/handler.js.map +0 -1
- package/dist/server/features/get-collection-status/handler.test.d.ts +0 -2
- package/dist/server/features/get-collection-status/handler.test.d.ts.map +0 -1
- package/dist/server/features/get-collection-status/handler.test.js +0 -108
- package/dist/server/features/get-collection-status/index.d.ts.map +0 -1
- package/dist/server/features/get-collection-status/index.js.map +0 -1
- package/dist/server/features/get-collection-status/model.d.ts.map +0 -1
- package/dist/server/features/get-collection-status/model.js.map +0 -1
- package/dist/server/features/get-collection-status/route.d.ts.map +0 -1
- package/dist/server/features/get-collection-status/route.js.map +0 -1
- package/dist/server/features/get-document-status/handler.d.ts.map +0 -1
- package/dist/server/features/get-document-status/handler.js.map +0 -1
- package/dist/server/features/get-document-status/handler.test.d.ts +0 -2
- package/dist/server/features/get-document-status/handler.test.d.ts.map +0 -1
- package/dist/server/features/get-document-status/handler.test.js +0 -138
- package/dist/server/features/get-document-status/index.d.ts.map +0 -1
- package/dist/server/features/get-document-status/index.js.map +0 -1
- package/dist/server/features/get-document-status/model.d.ts.map +0 -1
- package/dist/server/features/get-document-status/model.js.map +0 -1
- package/dist/server/features/get-document-status/route.d.ts.map +0 -1
- package/dist/server/features/get-document-status/route.js.map +0 -1
- package/dist/server/features/index.d.ts.map +0 -1
- package/dist/server/features/index.js.map +0 -1
- package/dist/server/features/run-translation/handler.d.ts.map +0 -1
- package/dist/server/features/run-translation/handler.js.map +0 -1
- package/dist/server/features/run-translation/handler.test.d.ts +0 -2
- package/dist/server/features/run-translation/handler.test.d.ts.map +0 -1
- package/dist/server/features/run-translation/handler.test.js +0 -98
- package/dist/server/features/run-translation/index.d.ts.map +0 -1
- package/dist/server/features/run-translation/index.js.map +0 -1
- package/dist/server/features/run-translation/model.d.ts.map +0 -1
- package/dist/server/features/run-translation/model.js.map +0 -1
- package/dist/server/features/run-translation/route.d.ts.map +0 -1
- package/dist/server/features/run-translation/route.js.map +0 -1
- package/dist/server/features/translate-document/handler.d.ts.map +0 -1
- package/dist/server/features/translate-document/handler.js.map +0 -1
- package/dist/server/features/translate-document/handler.test.d.ts +0 -2
- package/dist/server/features/translate-document/handler.test.d.ts.map +0 -1
- package/dist/server/features/translate-document/handler.test.js +0 -171
- package/dist/server/features/translate-document/index.d.ts.map +0 -1
- package/dist/server/features/translate-document/index.js.map +0 -1
- package/dist/server/features/translate-document/model.d.ts.map +0 -1
- package/dist/server/features/translate-document/model.js.map +0 -1
- package/dist/server/features/translate-document/task.d.ts.map +0 -1
- package/dist/server/features/translate-document/task.js.map +0 -1
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/index.js.map +0 -1
- package/dist/server/modules/index.d.ts.map +0 -1
- package/dist/server/modules/index.js.map +0 -1
- package/dist/server/modules/task-runner/TaskRunner.interface.d.ts.map +0 -1
- package/dist/server/modules/task-runner/TaskRunner.interface.js.map +0 -1
- package/dist/server/modules/task-runner/TaskRunnerProvider.interface.d.ts.map +0 -1
- package/dist/server/modules/task-runner/TaskRunnerProvider.interface.js.map +0 -1
- package/dist/server/modules/task-runner/index.d.ts.map +0 -1
- package/dist/server/modules/task-runner/index.js.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsRunnerProvider.d.ts.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsRunnerProvider.js.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.d.ts.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.js.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.test.d.ts +0 -2
- package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.test.d.ts.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.test.js +0 -188
- package/dist/server/modules/task-runner/payload-jobs-runner/index.d.ts.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/index.js.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/normalizeJob.d.ts.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/normalizeJob.js.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/normalizeJob.test.d.ts +0 -2
- package/dist/server/modules/task-runner/payload-jobs-runner/normalizeJob.test.d.ts.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/normalizeJob.test.js +0 -169
- package/dist/server/modules/task-runner/payload-jobs-runner/types.d.ts.map +0 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/types.js.map +0 -1
- package/dist/server/modules/task-runner/sync-runner/SyncRunnerProvider.d.ts.map +0 -1
- package/dist/server/modules/task-runner/sync-runner/SyncRunnerProvider.js.map +0 -1
- package/dist/server/modules/task-runner/sync-runner/SyncTaskRunner.d.ts.map +0 -1
- package/dist/server/modules/task-runner/sync-runner/SyncTaskRunner.js.map +0 -1
- package/dist/server/modules/task-runner/sync-runner/SyncTaskRunner.test.d.ts +0 -2
- package/dist/server/modules/task-runner/sync-runner/SyncTaskRunner.test.d.ts.map +0 -1
- package/dist/server/modules/task-runner/sync-runner/SyncTaskRunner.test.js +0 -148
- package/dist/server/modules/task-runner/sync-runner/index.d.ts.map +0 -1
- package/dist/server/modules/task-runner/sync-runner/index.js.map +0 -1
- package/dist/server/modules/task-runner/sync-runner/types.d.ts.map +0 -1
- package/dist/server/modules/task-runner/sync-runner/types.js.map +0 -1
- package/dist/server/modules/task-runner/types.d.ts.map +0 -1
- package/dist/server/modules/task-runner/types.js.map +0 -1
- package/dist/server/modules/translation-pipeline/TranslationPipeline.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/TranslationPipeline.js.map +0 -1
- package/dist/server/modules/translation-pipeline/TranslationPipeline.test.d.ts +0 -2
- package/dist/server/modules/translation-pipeline/TranslationPipeline.test.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/TranslationPipeline.test.js +0 -552
- package/dist/server/modules/translation-pipeline/index.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/index.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.stage.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.stage.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.test.d.ts +0 -2
- package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.test.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.test.js +0 -294
- package/dist/server/modules/translation-pipeline/stages/data-reconciler/index.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/data-reconciler/index.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.stage.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.stage.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.test.d.ts +0 -2
- package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.test.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.test.js +0 -737
- package/dist/server/modules/translation-pipeline/stages/field-collector/index.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/field-collector/index.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/index.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/index.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/PlainTextExpander.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/PlainTextExpander.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/RichTextExpander.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/RichTextExpander.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.stage.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.stage.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.test.d.ts +0 -2
- package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.test.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.test.js +0 -396
- package/dist/server/modules/translation-pipeline/stages/text-expander/TextExpander.interface.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/TextExpander.interface.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/index.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/text-expander/index.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/translation/Translation.stage.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/translation/Translation.stage.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/translation/index.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/translation/index.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.stage.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.stage.js.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.test.d.ts +0 -2
- package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.test.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.test.js +0 -110
- package/dist/server/modules/translation-pipeline/stages/translation-applicator/index.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/stages/translation-applicator/index.js.map +0 -1
- package/dist/server/modules/translation-pipeline/strategies/Overwrite.strategy.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/strategies/Overwrite.strategy.js.map +0 -1
- package/dist/server/modules/translation-pipeline/strategies/Overwrite.strategy.test.d.ts +0 -2
- package/dist/server/modules/translation-pipeline/strategies/Overwrite.strategy.test.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/strategies/Overwrite.strategy.test.js +0 -36
- package/dist/server/modules/translation-pipeline/strategies/SkipExisting.strategy.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/strategies/SkipExisting.strategy.js.map +0 -1
- package/dist/server/modules/translation-pipeline/strategies/SkipExisting.strategy.test.d.ts +0 -2
- package/dist/server/modules/translation-pipeline/strategies/SkipExisting.strategy.test.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/strategies/SkipExisting.strategy.test.js +0 -77
- package/dist/server/modules/translation-pipeline/strategies/TranslationStrategy.interface.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/strategies/TranslationStrategy.interface.js.map +0 -1
- package/dist/server/modules/translation-pipeline/strategies/index.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/strategies/index.js.map +0 -1
- package/dist/server/modules/translation-pipeline/types/FieldChunk.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/types/FieldChunk.js.map +0 -1
- package/dist/server/modules/translation-pipeline/types/Pipeline.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/types/Pipeline.js.map +0 -1
- package/dist/server/modules/translation-pipeline/types/PipelineContext.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/types/PipelineContext.js.map +0 -1
- package/dist/server/modules/translation-pipeline/types/TextChunk.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/types/TextChunk.js.map +0 -1
- package/dist/server/modules/translation-pipeline/types/index.d.ts.map +0 -1
- package/dist/server/modules/translation-pipeline/types/index.js.map +0 -1
- package/dist/server/modules/translation-providers/OpenAITranslation.provider.d.ts.map +0 -1
- package/dist/server/modules/translation-providers/OpenAITranslation.provider.js.map +0 -1
- package/dist/server/modules/translation-providers/OpenAITranslation.provider.test.d.ts +0 -2
- package/dist/server/modules/translation-providers/OpenAITranslation.provider.test.d.ts.map +0 -1
- package/dist/server/modules/translation-providers/OpenAITranslation.provider.test.js +0 -214
- package/dist/server/modules/translation-providers/TranslationProvider.interface.d.ts.map +0 -1
- package/dist/server/modules/translation-providers/TranslationProvider.interface.js.map +0 -1
- package/dist/server/modules/translation-providers/index.d.ts.map +0 -1
- package/dist/server/modules/translation-providers/index.js.map +0 -1
- package/dist/server/shared/access/AnyAccessGuard.d.ts.map +0 -1
- package/dist/server/shared/access/AnyAccessGuard.js.map +0 -1
- package/dist/server/shared/access/handler.d.ts.map +0 -1
- package/dist/server/shared/access/handler.js.map +0 -1
- package/dist/server/shared/access/index.d.ts.map +0 -1
- package/dist/server/shared/access/index.js.map +0 -1
- package/dist/server/shared/access/types.d.ts.map +0 -1
- package/dist/server/shared/access/types.js.map +0 -1
- package/dist/server/shared/field-config/getFieldConfig.d.ts.map +0 -1
- package/dist/server/shared/field-config/getFieldConfig.js.map +0 -1
- package/dist/server/shared/field-config/getFieldConfig.test.d.ts +0 -2
- package/dist/server/shared/field-config/getFieldConfig.test.d.ts.map +0 -1
- package/dist/server/shared/field-config/getFieldConfig.test.js +0 -74
- package/dist/server/shared/field-config/index.d.ts.map +0 -1
- package/dist/server/shared/field-config/index.js.map +0 -1
- package/dist/server/shared/field-config/types.d.ts.map +0 -1
- package/dist/server/shared/field-config/types.js.map +0 -1
- package/dist/server/shared/guards/collection-guards.d.ts.map +0 -1
- package/dist/server/shared/guards/collection-guards.js.map +0 -1
- package/dist/server/shared/guards/field-guards.d.ts.map +0 -1
- package/dist/server/shared/guards/field-guards.js.map +0 -1
- package/dist/server/shared/guards/field-guards.test.d.ts +0 -2
- package/dist/server/shared/guards/field-guards.test.d.ts.map +0 -1
- package/dist/server/shared/guards/field-guards.test.js +0 -166
- package/dist/server/shared/guards/index.d.ts.map +0 -1
- package/dist/server/shared/guards/index.js.map +0 -1
- package/dist/server/shared/http/ServerResponse.d.ts.map +0 -1
- package/dist/server/shared/http/ServerResponse.js.map +0 -1
- package/dist/server/shared/http/ServerResponse.test.d.ts +0 -2
- package/dist/server/shared/http/ServerResponse.test.d.ts.map +0 -1
- package/dist/server/shared/http/ServerResponse.test.js +0 -161
- package/dist/server/shared/http/index.d.ts.map +0 -1
- package/dist/server/shared/http/index.js.map +0 -1
- package/dist/server/shared/http/withAccessCheck.d.ts.map +0 -1
- package/dist/server/shared/http/withAccessCheck.js.map +0 -1
- package/dist/server/shared/http/withAccessCheck.test.d.ts +0 -2
- package/dist/server/shared/http/withAccessCheck.test.d.ts.map +0 -1
- package/dist/server/shared/http/withAccessCheck.test.js +0 -46
- package/dist/server/shared/http/withErrorHandler.d.ts.map +0 -1
- package/dist/server/shared/http/withErrorHandler.js.map +0 -1
- package/dist/server/shared/http/withErrorHandler.test.d.ts +0 -2
- package/dist/server/shared/http/withErrorHandler.test.d.ts.map +0 -1
- package/dist/server/shared/http/withErrorHandler.test.js +0 -69
- package/dist/server/shared/index.d.ts.map +0 -1
- package/dist/server/shared/index.js.map +0 -1
- package/dist/server/shared/lexical/collectTextNodes.d.ts.map +0 -1
- package/dist/server/shared/lexical/collectTextNodes.js.map +0 -1
- package/dist/server/shared/lexical/collectTextNodes.test.d.ts +0 -2
- package/dist/server/shared/lexical/collectTextNodes.test.d.ts.map +0 -1
- package/dist/server/shared/lexical/collectTextNodes.test.js +0 -120
- package/dist/server/shared/lexical/guards.d.ts.map +0 -1
- package/dist/server/shared/lexical/guards.js.map +0 -1
- package/dist/server/shared/lexical/guards.test.d.ts +0 -2
- package/dist/server/shared/lexical/guards.test.d.ts.map +0 -1
- package/dist/server/shared/lexical/guards.test.js +0 -160
- package/dist/server/shared/lexical/index.d.ts.map +0 -1
- package/dist/server/shared/lexical/index.js.map +0 -1
- package/dist/server/shared/lexical/isEmptyRichText.d.ts.map +0 -1
- package/dist/server/shared/lexical/isEmptyRichText.js.map +0 -1
- package/dist/server/shared/lexical/isEmptyRichText.test.d.ts +0 -2
- package/dist/server/shared/lexical/isEmptyRichText.test.d.ts.map +0 -1
- package/dist/server/shared/lexical/isEmptyRichText.test.js +0 -251
- package/dist/server/shared/lexical/traverseLexicalTree.d.ts.map +0 -1
- package/dist/server/shared/lexical/traverseLexicalTree.js.map +0 -1
- package/dist/server/shared/lexical/traverseLexicalTree.test.d.ts +0 -2
- package/dist/server/shared/lexical/traverseLexicalTree.test.d.ts.map +0 -1
- package/dist/server/shared/lexical/traverseLexicalTree.test.js +0 -112
- package/dist/server/shared/lexical/types.d.ts.map +0 -1
- package/dist/server/shared/lexical/types.js.map +0 -1
- package/dist/server/shared/utils/LazyMap.d.ts.map +0 -1
- package/dist/server/shared/utils/LazyMap.js.map +0 -1
- package/dist/server/shared/utils/LazyMap.test.d.ts +0 -2
- package/dist/server/shared/utils/LazyMap.test.d.ts.map +0 -1
- package/dist/server/shared/utils/LazyMap.test.js +0 -262
- package/dist/server/shared/utils/filterLocalizedFields.d.ts.map +0 -1
- package/dist/server/shared/utils/filterLocalizedFields.js.map +0 -1
- package/dist/server/shared/utils/filterLocalizedFields.test.d.ts +0 -2
- package/dist/server/shared/utils/filterLocalizedFields.test.d.ts.map +0 -1
- package/dist/server/shared/utils/filterLocalizedFields.test.js +0 -338
- package/dist/server/shared/utils/getByPath.d.ts.map +0 -1
- package/dist/server/shared/utils/getByPath.js.map +0 -1
- package/dist/server/shared/utils/getByPath.test.d.ts +0 -2
- package/dist/server/shared/utils/getByPath.test.d.ts.map +0 -1
- package/dist/server/shared/utils/getByPath.test.js +0 -33
- package/dist/server/shared/utils/index.d.ts.map +0 -1
- package/dist/server/shared/utils/index.js.map +0 -1
- package/dist/server/shared/utils/isEmpty.d.ts.map +0 -1
- package/dist/server/shared/utils/isEmpty.js.map +0 -1
- package/dist/server/shared/utils/isEmpty.test.d.ts +0 -2
- package/dist/server/shared/utils/isEmpty.test.d.ts.map +0 -1
- package/dist/server/shared/utils/isEmpty.test.js +0 -60
- package/dist/server/shared/utils/isObject.d.ts.map +0 -1
- package/dist/server/shared/utils/isObject.js.map +0 -1
- package/dist/server/shared/utils/isObject.test.d.ts +0 -2
- package/dist/server/shared/utils/isObject.test.d.ts.map +0 -1
- package/dist/server/shared/utils/isObject.test.js +0 -57
- package/dist/server/shared/utils/normalizePath.d.ts.map +0 -1
- package/dist/server/shared/utils/normalizePath.js.map +0 -1
- package/dist/server/shared/utils/normalizePath.test.d.ts +0 -2
- package/dist/server/shared/utils/normalizePath.test.d.ts.map +0 -1
- package/dist/server/shared/utils/normalizePath.test.js +0 -33
- package/dist/server/shared/utils/pipe.d.ts.map +0 -1
- package/dist/server/shared/utils/pipe.js.map +0 -1
- package/dist/server/shared/utils/pipe.test.d.ts +0 -2
- package/dist/server/shared/utils/pipe.test.d.ts.map +0 -1
- package/dist/server/shared/utils/pipe.test.js +0 -55
- package/dist/server/shared/utils/setByPath.d.ts.map +0 -1
- package/dist/server/shared/utils/setByPath.js.map +0 -1
- package/dist/server/shared/utils/setByPath.test.d.ts +0 -2
- package/dist/server/shared/utils/setByPath.test.d.ts.map +0 -1
- package/dist/server/shared/utils/setByPath.test.js +0 -46
- package/dist/types/AccessGuard.d.ts.map +0 -1
- package/dist/types/AccessGuard.js.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js.map +0 -1
- package/dist/vitest-env.d.js.map +0 -1
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
2
|
-
import { APIError } from 'payload';
|
|
3
|
-
import { TranslateDocumentHandler } from './handler';
|
|
4
|
-
// Mock TranslationPipeline
|
|
5
|
-
vi.mock('../../modules/translation-pipeline', () => ({
|
|
6
|
-
TranslationPipeline: vi.fn().mockImplementation(() => ({
|
|
7
|
-
execute: vi.fn().mockResolvedValue(null),
|
|
8
|
-
})),
|
|
9
|
-
}));
|
|
10
|
-
// Mock createTranslationStrategy
|
|
11
|
-
vi.mock('../../modules/translation-pipeline/strategies', () => ({
|
|
12
|
-
createTranslationStrategy: vi.fn().mockReturnValue({}),
|
|
13
|
-
}));
|
|
14
|
-
describe('TranslateDocumentHandler', () => {
|
|
15
|
-
let handler;
|
|
16
|
-
let mockTranslationProvider;
|
|
17
|
-
let mockSchemaMap;
|
|
18
|
-
let mockPayload;
|
|
19
|
-
const createInput = (overrides = {}) => ({
|
|
20
|
-
collection: 'posts',
|
|
21
|
-
collectionId: 'doc-123',
|
|
22
|
-
sourceLng: 'en',
|
|
23
|
-
targetLng: 'de',
|
|
24
|
-
strategy: 'overwrite',
|
|
25
|
-
publishOnTranslation: false,
|
|
26
|
-
...overrides,
|
|
27
|
-
});
|
|
28
|
-
beforeEach(() => {
|
|
29
|
-
vi.clearAllMocks();
|
|
30
|
-
mockTranslationProvider = {
|
|
31
|
-
translate: vi.fn().mockResolvedValue({}),
|
|
32
|
-
};
|
|
33
|
-
mockSchemaMap = new Map([
|
|
34
|
-
['posts', [{ name: 'title', type: 'text', localized: true }]],
|
|
35
|
-
['pages', [{ name: 'content', type: 'richText', localized: true }]],
|
|
36
|
-
]);
|
|
37
|
-
mockPayload = {
|
|
38
|
-
findByID: vi.fn().mockResolvedValue({ id: 'doc-123', title: 'Test' }),
|
|
39
|
-
update: vi.fn().mockResolvedValue({}),
|
|
40
|
-
collections: {
|
|
41
|
-
posts: {
|
|
42
|
-
config: {
|
|
43
|
-
versions: undefined,
|
|
44
|
-
},
|
|
45
|
-
},
|
|
46
|
-
pages: {
|
|
47
|
-
config: {
|
|
48
|
-
versions: {
|
|
49
|
-
drafts: true,
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
},
|
|
54
|
-
};
|
|
55
|
-
handler = new TranslateDocumentHandler(mockTranslationProvider, mockSchemaMap);
|
|
56
|
-
});
|
|
57
|
-
describe('schema validation', () => {
|
|
58
|
-
it('throws APIError when collection not in schemaMap', async () => {
|
|
59
|
-
const input = createInput({ collection: 'unknown' });
|
|
60
|
-
await expect(handler.handle(mockPayload, input)).rejects.toThrow(APIError);
|
|
61
|
-
await expect(handler.handle(mockPayload, input)).rejects.toThrow('Collection "unknown" not found in schemaMap');
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
describe('document fetching', () => {
|
|
65
|
-
it('fetches source document with source locale', async () => {
|
|
66
|
-
const input = createInput({ sourceLng: 'en' });
|
|
67
|
-
await handler.handle(mockPayload, input);
|
|
68
|
-
expect(mockPayload.findByID).toHaveBeenCalledWith({
|
|
69
|
-
collection: 'posts',
|
|
70
|
-
id: 'doc-123',
|
|
71
|
-
locale: 'en',
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
it('fetches target document with target locale and no fallback', async () => {
|
|
75
|
-
const input = createInput({ targetLng: 'de' });
|
|
76
|
-
await handler.handle(mockPayload, input);
|
|
77
|
-
expect(mockPayload.findByID).toHaveBeenCalledWith({
|
|
78
|
-
collection: 'posts',
|
|
79
|
-
id: 'doc-123',
|
|
80
|
-
locale: 'de',
|
|
81
|
-
fallbackLocale: false,
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
describe('success responses', () => {
|
|
86
|
-
it('returns success when no translation needed (pipeline returns null)', async () => {
|
|
87
|
-
const input = createInput();
|
|
88
|
-
const result = await handler.handle(mockPayload, input);
|
|
89
|
-
expect(result).toEqual({ success: true });
|
|
90
|
-
expect(mockPayload.update).not.toHaveBeenCalled();
|
|
91
|
-
});
|
|
92
|
-
it('returns success after saving translated document', async () => {
|
|
93
|
-
const { TranslationPipeline } = await import('../../modules/translation-pipeline');
|
|
94
|
-
TranslationPipeline.mockImplementation(() => ({
|
|
95
|
-
execute: vi.fn().mockResolvedValue({ translatedData: { title: 'Übersetzter Titel' } }),
|
|
96
|
-
}));
|
|
97
|
-
const input = createInput();
|
|
98
|
-
const result = await handler.handle(mockPayload, input);
|
|
99
|
-
expect(result).toEqual({ success: true });
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
|
-
describe('saving translated documents', () => {
|
|
103
|
-
beforeEach(async () => {
|
|
104
|
-
const { TranslationPipeline } = await import('../../modules/translation-pipeline');
|
|
105
|
-
TranslationPipeline.mockImplementation(() => ({
|
|
106
|
-
execute: vi.fn().mockResolvedValue({ translatedData: { title: 'Translated' } }),
|
|
107
|
-
}));
|
|
108
|
-
});
|
|
109
|
-
it('saves document with target locale and source as fallback', async () => {
|
|
110
|
-
const input = createInput({ sourceLng: 'en', targetLng: 'fr' });
|
|
111
|
-
await handler.handle(mockPayload, input);
|
|
112
|
-
expect(mockPayload.update).toHaveBeenCalledWith(expect.objectContaining({
|
|
113
|
-
collection: 'posts',
|
|
114
|
-
id: 'doc-123',
|
|
115
|
-
locale: 'fr',
|
|
116
|
-
fallbackLocale: 'en',
|
|
117
|
-
}));
|
|
118
|
-
});
|
|
119
|
-
it('saves document without autosave when versions not enabled', async () => {
|
|
120
|
-
const input = createInput();
|
|
121
|
-
await handler.handle(mockPayload, input);
|
|
122
|
-
expect(mockPayload.update).toHaveBeenCalledWith(expect.objectContaining({
|
|
123
|
-
autosave: false,
|
|
124
|
-
}));
|
|
125
|
-
});
|
|
126
|
-
it('sets _status to draft when versions with drafts enabled', async () => {
|
|
127
|
-
;
|
|
128
|
-
mockPayload.collections['posts'].config.versions = { drafts: true };
|
|
129
|
-
const input = createInput();
|
|
130
|
-
await handler.handle(mockPayload, input);
|
|
131
|
-
expect(mockPayload.update).toHaveBeenCalledWith(expect.objectContaining({
|
|
132
|
-
data: expect.objectContaining({
|
|
133
|
-
_status: 'draft',
|
|
134
|
-
}),
|
|
135
|
-
}));
|
|
136
|
-
});
|
|
137
|
-
it('sets _status to published when publishOnTranslation is true', async () => {
|
|
138
|
-
;
|
|
139
|
-
mockPayload.collections['posts'].config.versions = { drafts: true };
|
|
140
|
-
const input = createInput({ publishOnTranslation: true });
|
|
141
|
-
await handler.handle(mockPayload, input);
|
|
142
|
-
expect(mockPayload.update).toHaveBeenCalledWith(expect.objectContaining({
|
|
143
|
-
data: expect.objectContaining({
|
|
144
|
-
_status: 'published',
|
|
145
|
-
}),
|
|
146
|
-
}));
|
|
147
|
-
});
|
|
148
|
-
it('uses autosave when drafts with autosave enabled and not publishing', async () => {
|
|
149
|
-
;
|
|
150
|
-
mockPayload.collections['posts'].config.versions = {
|
|
151
|
-
drafts: { autosave: true },
|
|
152
|
-
};
|
|
153
|
-
const input = createInput();
|
|
154
|
-
await handler.handle(mockPayload, input);
|
|
155
|
-
expect(mockPayload.update).toHaveBeenCalledWith(expect.objectContaining({
|
|
156
|
-
autosave: true,
|
|
157
|
-
}));
|
|
158
|
-
});
|
|
159
|
-
it('does not use autosave when publishing', async () => {
|
|
160
|
-
;
|
|
161
|
-
mockPayload.collections['posts'].config.versions = {
|
|
162
|
-
drafts: { autosave: true },
|
|
163
|
-
};
|
|
164
|
-
const input = createInput({ publishOnTranslation: true });
|
|
165
|
-
await handler.handle(mockPayload, input);
|
|
166
|
-
expect(mockPayload.update).toHaveBeenCalledWith(expect.objectContaining({
|
|
167
|
-
autosave: false,
|
|
168
|
-
}));
|
|
169
|
-
});
|
|
170
|
-
});
|
|
171
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/features/translate-document/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAChG,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AACpD,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/features/translate-document/index.ts"],"sourcesContent":["export { createTranslateDocumentTask, createAutoRunConfig, TASK_NAME, QUEUE_NAME } from './task'\nexport { TranslateDocumentHandler } from './handler'\nexport type { CollectionSchemaMap, AutoRunConfig } from './model'\n"],"names":["createTranslateDocumentTask","createAutoRunConfig","TASK_NAME","QUEUE_NAME","TranslateDocumentHandler"],"mappings":"AAAA,SAASA,2BAA2B,EAAEC,mBAAmB,EAAEC,SAAS,EAAEC,UAAU,QAAQ,SAAQ;AAChG,SAASC,wBAAwB,QAAQ,YAAW"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../src/server/features/translate-document/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAA;AAE5F;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE,cAAc,CAAA;IAC1B,YAAY,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,uBAAuB,CAAA;IACjC,oBAAoB,EAAE,OAAO,CAAA;CAC9B,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,IAAI,CAAA;CACd,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,GAAG,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,CAAA;AAE9D;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,EAAE,cAAc,EAAE,CAAA;IAC7B,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,OAAO,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAA;SAAE,CAAA;KAC5D,CAAA;CACF,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,EAmBlC,CAAA;AAED,eAAO,MAAM,SAAS,EAAG,oBAA6B,CAAA;AACtD,eAAO,MAAM,UAAU,EAAG,cAAuB,CAAA;AACjD,eAAO,MAAM,gBAAgB,EAAE,aAG9B,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/features/translate-document/model.ts"],"sourcesContent":["import type { CollectionSlug, Field } from 'payload'\nimport type { TranslationStrategyName } from '../../modules/translation-pipeline/strategies'\n\n/**\n * Input for the translate document handler\n */\nexport type TranslateDocumentInput = {\n collection: CollectionSlug\n collectionId: string | number\n sourceLng: string\n targetLng: string\n strategy: TranslationStrategyName\n publishOnTranslation: boolean\n}\n\n/**\n * Output of the translate document handler\n */\nexport type TranslateDocumentOutput = {\n success: true\n}\n\n/**\n * Map of collection slug to original field schema.\n * Used to access original schemas before Payload sanitization.\n */\nexport type CollectionSchemaMap = Map<CollectionSlug, Field[]>\n\n/**\n * Payload task configuration\n */\nexport type TaskConfig = {\n collections: CollectionSlug[]\n retries?: {\n attempts?: number\n backoff?: { delay?: number; type: 'exponential' | 'fixed' }\n }\n}\n\n/**\n * Auto-run configuration for the job queue\n */\nexport type AutoRunConfig = {\n cron?: string\n limit?: number\n queue?: string\n}\n\n/**\n * Payload input schema for the task\n */\nexport const taskInputSchema: Field[] = [\n {\n type: 'relationship',\n name: 'collection',\n relationTo: [], // Will be populated with actual collections\n required: true,\n },\n {\n type: 'text',\n maxLength: 256,\n name: 'source_lng',\n required: true,\n },\n {\n type: 'text',\n maxLength: 256,\n name: 'target_lng',\n required: true,\n },\n]\n\nexport const TASK_NAME = 'translate_document' as const\nexport const QUEUE_NAME = 'translations' as const\nexport const DEFAULT_AUTO_RUN: AutoRunConfig = {\n cron: '* * * * *',\n limit: 50,\n}\n"],"names":["taskInputSchema","type","name","relationTo","required","maxLength","TASK_NAME","QUEUE_NAME","DEFAULT_AUTO_RUN","cron","limit"],"mappings":"AAgDA;;CAEC,GACD,OAAO,MAAMA,kBAA2B;IACtC;QACEC,MAAM;QACNC,MAAM;QACNC,YAAY,EAAE;QACdC,UAAU;IACZ;IACA;QACEH,MAAM;QACNI,WAAW;QACXH,MAAM;QACNE,UAAU;IACZ;IACA;QACEH,MAAM;QACNI,WAAW;QACXH,MAAM;QACNE,UAAU;IACZ;CACD,CAAA;AAED,OAAO,MAAME,YAAY,qBAA6B;AACtD,OAAO,MAAMC,aAAa,eAAuB;AACjD,OAAO,MAAMC,mBAAkC;IAC7CC,MAAM;IACNC,OAAO;AACT,EAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../../src/server/features/translate-document/task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAEpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAA;AAE5F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAqC,MAAM,SAAS,CAAA;AAElF,KAAK,SAAS,GAAG;IACf,UAAU,EAAE;QACV,UAAU,EAAE,cAAc,CAAA;QAC1B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACjD,CAAA;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,uBAAuB,CAAA;IACjC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,KAAK,EAAE,CAAA;IACpB,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAA;IAC/B,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,cAAc,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;KAAE,CAAC,CAAA;CACzG,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,cAAc,EAAE,CAAA;IAC7B,OAAO,EAAE,wBAAwB,CAAA;IACjC,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAA;CAChC,CAAA;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,iBAAiB,GAAG,iBAAiB,CA4BzF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAMnF;AAED,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/features/translate-document/task.ts"],"sourcesContent":["import type { CollectionSlug, Field, PayloadRequest } from 'payload'\n\nimport type { TranslationStrategyName } from '../../modules/translation-pipeline/strategies'\n\nimport type { TranslateDocumentHandler } from './handler'\nimport type { TaskConfig, AutoRunConfig } from './model'\nimport { TASK_NAME, QUEUE_NAME, DEFAULT_AUTO_RUN, taskInputSchema } from './model'\n\ntype TaskInput = {\n collection: {\n relationTo: CollectionSlug\n value: string | number | Record<string, unknown>\n }\n source_lng: string\n target_lng: string\n strategy: TranslationStrategyName\n publish_on_translation?: boolean\n}\n\nexport type PayloadTaskConfig = {\n slug: string\n inputSchema: Field[]\n retries?: TaskConfig['retries']\n handler: (args: { req: PayloadRequest; input: TaskInput }) => Promise<{ output: Record<string, never> }>\n}\n\ntype CreateTaskOptions = {\n collections: CollectionSlug[]\n handler: TranslateDocumentHandler\n retries?: TaskConfig['retries']\n}\n\n/**\n * Creates a Payload task definition for document translation\n */\nexport function createTranslateDocumentTask(options: CreateTaskOptions): PayloadTaskConfig {\n const { collections, handler, retries } = options\n\n return {\n slug: TASK_NAME,\n inputSchema: [\n {\n type: 'relationship',\n name: 'collection',\n relationTo: collections,\n required: true,\n },\n ...taskInputSchema.slice(1),\n ],\n retries,\n handler: async (args) => {\n await handler.handle(args.req.payload, {\n collection: args.input.collection.relationTo,\n collectionId: args.input.collection.value as string | number,\n sourceLng: args.input.source_lng,\n targetLng: args.input.target_lng,\n strategy: args.input.strategy,\n publishOnTranslation: args.input.publish_on_translation ?? false,\n })\n\n return { output: {} }\n },\n }\n}\n\n/**\n * Creates auto-run configuration for the job queue\n */\nexport function createAutoRunConfig(options?: Partial<AutoRunConfig>): AutoRunConfig {\n return {\n queue: QUEUE_NAME,\n limit: options?.limit ?? DEFAULT_AUTO_RUN.limit,\n cron: options?.cron ?? DEFAULT_AUTO_RUN.cron,\n }\n}\n\nexport { TASK_NAME, QUEUE_NAME }\n"],"names":["TASK_NAME","QUEUE_NAME","DEFAULT_AUTO_RUN","taskInputSchema","createTranslateDocumentTask","options","collections","handler","retries","slug","inputSchema","type","name","relationTo","required","slice","args","handle","req","payload","collection","input","collectionId","value","sourceLng","source_lng","targetLng","target_lng","strategy","publishOnTranslation","publish_on_translation","output","createAutoRunConfig","queue","limit","cron"],"mappings":"AAMA,SAASA,SAAS,EAAEC,UAAU,EAAEC,gBAAgB,EAAEC,eAAe,QAAQ,UAAS;AA0BlF;;CAEC,GACD,OAAO,SAASC,4BAA4BC,OAA0B;IACpE,MAAM,EAAEC,WAAW,EAAEC,OAAO,EAAEC,OAAO,EAAE,GAAGH;IAE1C,OAAO;QACLI,MAAMT;QACNU,aAAa;YACX;gBACEC,MAAM;gBACNC,MAAM;gBACNC,YAAYP;gBACZQ,UAAU;YACZ;eACGX,gBAAgBY,KAAK,CAAC;SAC1B;QACDP;QACAD,SAAS,OAAOS;YACd,MAAMT,QAAQU,MAAM,CAACD,KAAKE,GAAG,CAACC,OAAO,EAAE;gBACrCC,YAAYJ,KAAKK,KAAK,CAACD,UAAU,CAACP,UAAU;gBAC5CS,cAAcN,KAAKK,KAAK,CAACD,UAAU,CAACG,KAAK;gBACzCC,WAAWR,KAAKK,KAAK,CAACI,UAAU;gBAChCC,WAAWV,KAAKK,KAAK,CAACM,UAAU;gBAChCC,UAAUZ,KAAKK,KAAK,CAACO,QAAQ;gBAC7BC,sBAAsBb,KAAKK,KAAK,CAACS,sBAAsB,IAAI;YAC7D;YAEA,OAAO;gBAAEC,QAAQ,CAAC;YAAE;QACtB;IACF;AACF;AAEA;;CAEC,GACD,OAAO,SAASC,oBAAoB3B,OAAgC;IAClE,OAAO;QACL4B,OAAOhC;QACPiC,OAAO7B,SAAS6B,SAAShC,iBAAiBgC,KAAK;QAC/CC,MAAM9B,SAAS8B,QAAQjC,iBAAiBiC,IAAI;IAC9C;AACF;AAEA,SAASnC,SAAS,EAAEC,UAAU,GAAE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA"}
|
package/dist/server/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/server/index.ts"],"sourcesContent":["export * from './features'\nexport * from './modules'\nexport * from './shared'\n"],"names":[],"mappings":"AAAA,cAAc,aAAY;AAC1B,cAAc,YAAW;AACzB,cAAc,WAAU"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/modules/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/server/modules/index.ts"],"sourcesContent":["export * from './translation-providers'\nexport * from './translation-pipeline'\n"],"names":[],"mappings":"AAAA,cAAc,0BAAyB;AACvC,cAAc,yBAAwB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TaskRunner.interface.d.ts","sourceRoot":"","sources":["../../../../src/server/modules/task-runner/TaskRunner.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEzD;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE1C;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAExC;;;OAGG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAEvC;;OAEG;IACH,gBAAgB,CAAC,cAAc,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;CACxG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/modules/task-runner/TaskRunner.interface.ts"],"sourcesContent":["import type { CollectionSlug } from 'payload'\n\nimport type { Task, TaskInput, RunResult } from './types'\n\n/**\n * Interface for task execution backends.\n *\n * Implementations handle queuing, cancellation, status tracking,\n * and execution of translation tasks. All business logic\n * (like cancelling existing tasks before enqueue) is encapsulated\n * within the implementation.\n */\nexport interface TaskRunner {\n /**\n * Queue translation tasks for execution.\n * Implementation handles cancellation of existing tasks for the same documents.\n */\n enqueue(tasks: TaskInput[]): Promise<void>\n\n /**\n * Cancel tasks by IDs.\n */\n cancel(taskIds: string[]): Promise<void>\n\n /**\n * Execute a task immediately.\n * Returns error status if task not found, already running, or completed.\n */\n run(taskId: string): Promise<RunResult>\n\n /**\n * Find tasks by collection and optionally filter by document IDs.\n */\n findByCollection(collectionSlug: CollectionSlug, documentIds?: Array<string | number>): Promise<Task[]>\n}\n"],"names":[],"mappings":"AAIA;;;;;;;CAOC,GACD,WAsBC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TaskRunnerProvider.interface.d.ts","sourceRoot":"","sources":["../../../../src/server/modules/task-runner/TaskRunnerProvider.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAE5E;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,cAAc,CAAA;IAC1B,YAAY,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,uBAAuB,CAAA;IACjC,oBAAoB,EAAE,OAAO,CAAA;CAC9B,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEtF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,WAAW,CAAA;IACpB,WAAW,EAAE,cAAc,EAAE,CAAA;CAC9B,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAAA;IAEpC;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;CAClE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/modules/task-runner/TaskRunnerProvider.interface.ts"],"sourcesContent":["import { CollectionSlug, Config, Payload } from 'payload'\nimport { TaskRunner } from './TaskRunner.interface'\nimport { TranslationStrategyName } from '../translation-pipeline/strategies'\n\n/**\n * Input for task handler callback\n */\nexport type TaskHandlerInput = {\n collection: CollectionSlug\n collectionId: string | number\n sourceLng: string\n targetLng: string\n strategy: TranslationStrategyName\n publishOnTranslation: boolean\n}\n\n/**\n * Task handler callback — plugin passes its internal logic\n */\nexport type TaskHandler = (payload: Payload, input: TaskHandlerInput) => Promise<void>\n\n/**\n * Context for runner configuration\n */\nexport type TaskRunnerContext = {\n handler: TaskHandler\n collections: CollectionSlug[]\n}\n\n/**\n * Main interface for pluggable task runner providers.\n *\n * Implementations handle their own initialization (jobs, queues, etc.)\n * and provide runtime operations.\n *\n * Built-in implementation: createPayloadJobsRunner (uses Payload Jobs)\n * Future implementations: createInngestRunner, createQStashRunner\n */\nexport interface TaskRunnerProvider {\n /**\n * Creates a TaskRunner instance for runtime operations (enqueue, cancel, find).\n */\n create(payload: Payload): TaskRunner\n\n /**\n * Configures the runner and returns a Payload config modifier.\n * The modifier adds necessary tasks, jobs, queues to Payload config.\n */\n configure(context: TaskRunnerContext): (config: Config) => Config\n}\n"],"names":[],"mappings":"AA6BA;;;;;;;;CAQC,GACD,WAWC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/modules/task-runner/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACxE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,YAAY,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/modules/task-runner/index.ts"],"sourcesContent":["export type { TaskRunnerProvider } from './TaskRunnerProvider.interface'\nexport type { Task, TaskStatus } from './types'\nexport { createPayloadJobsRunner } from './payload-jobs-runner'\nexport type { PayloadJobsRunnerOptions } from './payload-jobs-runner'\nexport { createSyncRunner } from './sync-runner'\nexport type { TaskRunner } from './TaskRunner.interface'\n"],"names":["createPayloadJobsRunner","createSyncRunner"],"mappings":"AAEA,SAASA,uBAAuB,QAAQ,wBAAuB;AAE/D,SAASC,gBAAgB,QAAQ,gBAAe"}
|
package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsRunnerProvider.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PayloadJobsRunnerProvider.d.ts","sourceRoot":"","sources":["../../../../../src/server/modules/task-runner/payload-jobs-runner/PayloadJobsRunnerProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAS,OAAO,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,EAAE,wBAAwB,EAA0C,MAAM,SAAS,CAAA;AAE/F,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAsBvF;;;;GAIG;AACH,qBAAa,yBAA0B,YAAW,kBAAkB;IAClE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;gBAEpC,OAAO,CAAC,EAAE,wBAAwB;IAa9C,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU;IAIpC,SAAS,CAAC,OAAO,EAAE,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM;CAoFlE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,kBAAkB,CAE9F"}
|
package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsRunnerProvider.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/server/modules/task-runner/payload-jobs-runner/PayloadJobsRunnerProvider.ts"],"sourcesContent":["import type { Config, Field, Payload } from 'payload'\n\nimport type { TaskRunner } from '../TaskRunner.interface'\nimport type { PayloadJobsRunnerOptions, PayloadJobsRunnerConfig, AutoRunConfig } from './types'\nimport { PayloadJobsTaskRunner } from './PayloadJobsTaskRunner'\nimport { TaskRunnerContext, TaskRunnerProvider } from '../TaskRunnerProvider.interface'\nimport { TranslationStrategyName } from '../../translation-pipeline/strategies'\n\nconst defaultAutoRun: Required<AutoRunConfig> = {\n cron: '* * * * *',\n limit: 50,\n}\n\nconst defaultValues = {\n taskName: 'translate_document',\n queueName: 'translations',\n jobsCollection: 'payload-jobs',\n autoRun: defaultAutoRun,\n retries: {\n attempts: 3,\n backoff: {\n type: 'exponential' as const,\n delay: 5000, // 5s, 10s, 20s\n },\n },\n}\n\n/**\n * TaskRunnerProvider implementation using Payload Jobs.\n *\n * Configures Payload jobs, tasks, and autorun for translation processing.\n */\nexport class PayloadJobsRunnerProvider implements TaskRunnerProvider {\n private readonly config: PayloadJobsRunnerConfig\n\n constructor(options?: PayloadJobsRunnerOptions) {\n const autoRun =\n options?.autoRun === false ? false : options?.autoRun ? { ...defaultAutoRun, ...options.autoRun } : defaultAutoRun\n\n this.config = {\n taskName: options?.taskName ?? defaultValues.taskName,\n queueName: options?.queueName ?? defaultValues.queueName,\n jobsCollection: options?.jobsCollection ?? defaultValues.jobsCollection,\n autoRun,\n retries: options?.retries ?? defaultValues.retries,\n }\n }\n\n create(payload: Payload): TaskRunner {\n return new PayloadJobsTaskRunner(payload, this.config)\n }\n\n configure(context: TaskRunnerContext): (config: Config) => Config {\n const { taskName, queueName, retries, autoRun } = this.config\n const { handler, collections } = context\n\n return (config) => {\n const inputSchema: Field[] = [\n {\n type: 'relationship',\n name: 'collection',\n relationTo: collections,\n required: true,\n },\n {\n type: 'text',\n maxLength: 256,\n name: 'source_lng',\n required: true,\n },\n {\n type: 'text',\n maxLength: 256,\n name: 'target_lng',\n required: true,\n },\n {\n type: 'text',\n maxLength: 256,\n name: 'strategy',\n required: true,\n },\n {\n type: 'checkbox',\n name: 'publish_on_translation',\n defaultValue: false,\n },\n ]\n\n const task = {\n slug: taskName,\n inputSchema,\n retries,\n handler: async (args: {\n req: { payload: Payload }\n input: {\n collection: { relationTo: string; value: string | number }\n source_lng: string\n target_lng: string\n strategy: TranslationStrategyName\n publish_on_translation?: boolean\n }\n }) => {\n await handler(args.req.payload, {\n collection: args.input.collection.relationTo,\n collectionId: args.input.collection.value,\n sourceLng: args.input.source_lng,\n targetLng: args.input.target_lng,\n strategy: args.input.strategy,\n publishOnTranslation: args.input.publish_on_translation ?? false,\n })\n return { output: {} }\n },\n }\n\n if (!config.jobs) config.jobs = {}\n if (!config.jobs.tasks) config.jobs.tasks = []\n config.jobs.tasks.push(task)\n\n // Skip autoRun configuration when disabled (e.g., for Vercel/serverless deployments)\n if (autoRun) {\n const autoRunConfig = { queue: queueName, cron: autoRun.cron, limit: autoRun.limit }\n\n const existingAutoRun = config.jobs.autoRun\n if (Array.isArray(existingAutoRun)) {\n existingAutoRun.push(autoRunConfig)\n } else if (typeof existingAutoRun === 'function') {\n config.jobs.autoRun = async (payload: Payload) => [...(await existingAutoRun(payload)), autoRunConfig]\n } else {\n config.jobs.autoRun = [autoRunConfig]\n }\n }\n\n return config\n }\n }\n}\n\n/**\n * Creates a TaskRunnerProvider that uses Payload Jobs for task execution.\n */\nexport function createPayloadJobsRunner(options?: PayloadJobsRunnerOptions): TaskRunnerProvider {\n return new PayloadJobsRunnerProvider(options)\n}\n"],"names":["PayloadJobsTaskRunner","defaultAutoRun","cron","limit","defaultValues","taskName","queueName","jobsCollection","autoRun","retries","attempts","backoff","type","delay","PayloadJobsRunnerProvider","config","options","create","payload","configure","context","handler","collections","inputSchema","name","relationTo","required","maxLength","defaultValue","task","slug","args","req","collection","input","collectionId","value","sourceLng","source_lng","targetLng","target_lng","strategy","publishOnTranslation","publish_on_translation","output","jobs","tasks","push","autoRunConfig","queue","existingAutoRun","Array","isArray","createPayloadJobsRunner"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PayloadJobsTaskRunner.d.ts","sourceRoot":"","sources":["../../../../../src/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAS,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAc,MAAM,SAAS,CAAA;AAGlE;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,UAAU;IAEpD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,uBAAuB;IAG5C,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC1C,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAkBvC,gBAAgB,CAAC,cAAc,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAa7G;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;YACW,cAAc;IAc5B;;OAEG;YACW,gBAAgB;CAY/B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.ts"],"sourcesContent":["import type { Payload, Where, CollectionSlug } from 'payload'\n\nimport type { TaskRunner } from '../TaskRunner.interface'\nimport type { Task, TaskInput, RunResult } from '../types'\nimport type { PayloadJobsRunnerConfig, PayloadJob } from './types'\nimport { normalizeJob } from './normalizeJob'\n\n/**\n * TaskRunner implementation using Payload Jobs.\n *\n * Handles queuing, cancellation, status tracking, and execution of translation tasks.\n */\nexport class PayloadJobsTaskRunner implements TaskRunner {\n constructor(\n private readonly payload: Payload,\n private readonly config: PayloadJobsRunnerConfig,\n ) {}\n\n async enqueue(tasks: TaskInput[]): Promise<void> {\n const byCollection = this.groupByCollection(tasks)\n\n for (const [collectionSlug, items] of byCollection) {\n const documentIds = items.map((t) => t.collectionId)\n const existing = await this.findJobsInternal({\n and: [\n { 'input.collection.relationTo': { equals: collectionSlug } },\n { 'input.collection.value': { in: documentIds } },\n ],\n })\n if (existing.length > 0) {\n await this.cancelInternal(existing.map((t) => t.id))\n }\n }\n\n await Promise.all(\n tasks.map((task) =>\n this.payload.jobs.queue({\n task: this.config.taskName,\n queue: this.config.queueName,\n input: {\n collection: {\n relationTo: task.collectionSlug,\n value: task.collectionId,\n },\n source_lng: task.sourceLng,\n target_lng: task.targetLng,\n strategy: task.strategy,\n publish_on_translation: task.publishOnTranslation,\n },\n }),\n ),\n )\n }\n\n async cancel(taskIds: string[]): Promise<void> {\n if (taskIds.length === 0) return\n await this.cancelInternal(taskIds)\n }\n\n async run(taskId: string): Promise<RunResult> {\n const tasks = await this.findJobsInternal({ id: { equals: taskId } }, { limit: 1 })\n const task = tasks[0]\n\n if (!task) {\n return { success: false, error: 'not_found' }\n }\n if (task.completedAt) {\n return { success: false, error: 'already_completed' }\n }\n if (task.status === 'running') {\n return { success: false, error: 'already_running' }\n }\n\n this.payload.jobs.runByID({ id: taskId })\n return { success: true }\n }\n\n async findByCollection(collectionSlug: CollectionSlug, documentIds?: Array<string | number>): Promise<Task[]> {\n const where: Where = documentIds?.length\n ? {\n and: [\n { 'input.collection.relationTo': { equals: collectionSlug } },\n { 'input.collection.value': { in: documentIds } },\n ],\n }\n : { 'input.collection.relationTo': { equals: collectionSlug } }\n\n return this.findJobsInternal(where, { pagination: false })\n }\n\n /**\n * Group tasks by collection slug\n */\n private groupByCollection(tasks: TaskInput[]): Map<CollectionSlug, TaskInput[]> {\n const map = new Map<CollectionSlug, TaskInput[]>()\n for (const task of tasks) {\n const existing = map.get(task.collectionSlug) ?? []\n existing.push(task)\n map.set(task.collectionSlug, existing)\n }\n return map\n }\n\n /**\n * Internal cancel implementation\n */\n private async cancelInternal(taskIds: string[]): Promise<void> {\n if (taskIds.length === 0) return\n\n await this.payload.jobs.cancel({\n where: { id: { in: taskIds } },\n queue: this.config.queueName,\n })\n\n await this.payload.delete({\n collection: this.config.jobsCollection,\n where: { id: { in: taskIds } },\n })\n }\n\n /**\n * Internal method to find jobs with where clause\n */\n private async findJobsInternal(where: Where, params?: { limit?: number; pagination?: boolean }): Promise<Task[]> {\n const response = await this.payload.find({\n collection: this.config.jobsCollection,\n limit: params?.limit,\n pagination: params?.pagination,\n where: {\n and: [{ taskSlug: { equals: this.config.taskName } }, where],\n },\n })\n\n return (response.docs as PayloadJob[]).map(normalizeJob)\n }\n}\n"],"names":["normalizeJob","PayloadJobsTaskRunner","payload","config","enqueue","tasks","byCollection","groupByCollection","collectionSlug","items","documentIds","map","t","collectionId","existing","findJobsInternal","and","equals","in","length","cancelInternal","id","Promise","all","task","jobs","queue","taskName","queueName","input","collection","relationTo","value","source_lng","sourceLng","target_lng","targetLng","strategy","publish_on_translation","publishOnTranslation","cancel","taskIds","run","taskId","limit","success","error","completedAt","status","runByID","findByCollection","where","pagination","Map","get","push","set","delete","jobsCollection","params","response","find","taskSlug","docs"],"mappings":"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"}
|
package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.test.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PayloadJobsTaskRunner.test.d.ts","sourceRoot":"","sources":["../../../../../src/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
2
|
-
import { PayloadJobsTaskRunner } from './PayloadJobsTaskRunner';
|
|
3
|
-
describe('PayloadJobsTaskRunner', () => {
|
|
4
|
-
let mockPayload;
|
|
5
|
-
let config;
|
|
6
|
-
let runner;
|
|
7
|
-
beforeEach(() => {
|
|
8
|
-
mockPayload = {
|
|
9
|
-
find: vi.fn().mockResolvedValue({ docs: [] }),
|
|
10
|
-
delete: vi.fn().mockResolvedValue(undefined),
|
|
11
|
-
jobs: {
|
|
12
|
-
queue: vi.fn().mockResolvedValue(undefined),
|
|
13
|
-
cancel: vi.fn().mockResolvedValue(undefined),
|
|
14
|
-
runByID: vi.fn().mockResolvedValue(undefined),
|
|
15
|
-
},
|
|
16
|
-
};
|
|
17
|
-
config = {
|
|
18
|
-
taskName: 'translate_document',
|
|
19
|
-
queueName: 'translations',
|
|
20
|
-
jobsCollection: 'payload-jobs',
|
|
21
|
-
autoRun: {
|
|
22
|
-
cron: '* * * * *',
|
|
23
|
-
limit: 50,
|
|
24
|
-
},
|
|
25
|
-
};
|
|
26
|
-
runner = new PayloadJobsTaskRunner(mockPayload, config);
|
|
27
|
-
});
|
|
28
|
-
const createInput = (overrides = {}) => ({
|
|
29
|
-
collectionSlug: 'posts',
|
|
30
|
-
collectionId: 'doc-123',
|
|
31
|
-
sourceLng: 'en',
|
|
32
|
-
targetLng: 'de',
|
|
33
|
-
strategy: 'overwrite',
|
|
34
|
-
publishOnTranslation: false,
|
|
35
|
-
...overrides,
|
|
36
|
-
});
|
|
37
|
-
const createJob = (overrides = {}) => ({
|
|
38
|
-
id: 'job-123',
|
|
39
|
-
createdAt: '2024-01-01T00:00:00Z',
|
|
40
|
-
updatedAt: '2024-01-01T00:00:00Z',
|
|
41
|
-
input: {
|
|
42
|
-
collection: { relationTo: 'posts', value: 'doc-123' },
|
|
43
|
-
source_lng: 'en',
|
|
44
|
-
target_lng: 'de',
|
|
45
|
-
strategy: 'overwrite',
|
|
46
|
-
},
|
|
47
|
-
...overrides,
|
|
48
|
-
});
|
|
49
|
-
describe('enqueue', () => {
|
|
50
|
-
it('queues tasks with correct input', async () => {
|
|
51
|
-
const input = createInput();
|
|
52
|
-
await runner.enqueue([input]);
|
|
53
|
-
expect(mockPayload.jobs.queue).toHaveBeenCalledWith({
|
|
54
|
-
task: 'translate_document',
|
|
55
|
-
queue: 'translations',
|
|
56
|
-
input: {
|
|
57
|
-
collection: { relationTo: 'posts', value: 'doc-123' },
|
|
58
|
-
source_lng: 'en',
|
|
59
|
-
target_lng: 'de',
|
|
60
|
-
strategy: 'overwrite',
|
|
61
|
-
publish_on_translation: false,
|
|
62
|
-
},
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
it('queues multiple tasks', async () => {
|
|
66
|
-
const inputs = [createInput({ collectionId: 'doc-1' }), createInput({ collectionId: 'doc-2' })];
|
|
67
|
-
await runner.enqueue(inputs);
|
|
68
|
-
expect(mockPayload.jobs.queue).toHaveBeenCalledTimes(2);
|
|
69
|
-
});
|
|
70
|
-
it('cancels existing jobs before queuing new ones', async () => {
|
|
71
|
-
const existingJob = createJob({ id: 'existing-job' });
|
|
72
|
-
mockPayload.find.mockResolvedValueOnce({ docs: [existingJob] });
|
|
73
|
-
const input = createInput();
|
|
74
|
-
await runner.enqueue([input]);
|
|
75
|
-
expect(mockPayload.jobs.cancel).toHaveBeenCalledWith({
|
|
76
|
-
where: { id: { in: ['existing-job'] } },
|
|
77
|
-
queue: 'translations',
|
|
78
|
-
});
|
|
79
|
-
expect(mockPayload.delete).toHaveBeenCalledWith({
|
|
80
|
-
collection: 'payload-jobs',
|
|
81
|
-
where: { id: { in: ['existing-job'] } },
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
it('does not cancel when no existing jobs', async () => {
|
|
85
|
-
mockPayload.find.mockResolvedValue({ docs: [] });
|
|
86
|
-
const input = createInput();
|
|
87
|
-
await runner.enqueue([input]);
|
|
88
|
-
expect(mockPayload.jobs.cancel).not.toHaveBeenCalled();
|
|
89
|
-
expect(mockPayload.delete).not.toHaveBeenCalled();
|
|
90
|
-
});
|
|
91
|
-
it('groups tasks by collection', async () => {
|
|
92
|
-
const inputs = [
|
|
93
|
-
createInput({ collectionSlug: 'posts', collectionId: 'post-1' }),
|
|
94
|
-
createInput({ collectionSlug: 'posts', collectionId: 'post-2' }),
|
|
95
|
-
createInput({ collectionSlug: 'pages', collectionId: 'page-1' }),
|
|
96
|
-
];
|
|
97
|
-
await runner.enqueue(inputs);
|
|
98
|
-
// Should check for existing jobs per collection
|
|
99
|
-
expect(mockPayload.find).toHaveBeenCalledTimes(2);
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
|
-
describe('cancel', () => {
|
|
103
|
-
it('cancels jobs by ids', async () => {
|
|
104
|
-
await runner.cancel(['job-1', 'job-2']);
|
|
105
|
-
expect(mockPayload.jobs.cancel).toHaveBeenCalledWith({
|
|
106
|
-
where: { id: { in: ['job-1', 'job-2'] } },
|
|
107
|
-
queue: 'translations',
|
|
108
|
-
});
|
|
109
|
-
expect(mockPayload.delete).toHaveBeenCalledWith({
|
|
110
|
-
collection: 'payload-jobs',
|
|
111
|
-
where: { id: { in: ['job-1', 'job-2'] } },
|
|
112
|
-
});
|
|
113
|
-
});
|
|
114
|
-
it('does nothing for empty array', async () => {
|
|
115
|
-
await runner.cancel([]);
|
|
116
|
-
expect(mockPayload.jobs.cancel).not.toHaveBeenCalled();
|
|
117
|
-
expect(mockPayload.delete).not.toHaveBeenCalled();
|
|
118
|
-
});
|
|
119
|
-
});
|
|
120
|
-
describe('run', () => {
|
|
121
|
-
it('returns not_found when task does not exist', async () => {
|
|
122
|
-
mockPayload.find.mockResolvedValue({ docs: [] });
|
|
123
|
-
const result = await runner.run('nonexistent');
|
|
124
|
-
expect(result).toEqual({ success: false, error: 'not_found' });
|
|
125
|
-
});
|
|
126
|
-
it('returns already_completed when task is completed', async () => {
|
|
127
|
-
const completedJob = createJob({ completedAt: '2024-01-01T01:00:00Z' });
|
|
128
|
-
mockPayload.find.mockResolvedValue({ docs: [completedJob] });
|
|
129
|
-
const result = await runner.run('job-123');
|
|
130
|
-
expect(result).toEqual({ success: false, error: 'already_completed' });
|
|
131
|
-
});
|
|
132
|
-
it('returns already_running when task is running', async () => {
|
|
133
|
-
const runningJob = createJob({ processing: true });
|
|
134
|
-
mockPayload.find.mockResolvedValue({ docs: [runningJob] });
|
|
135
|
-
const result = await runner.run('job-123');
|
|
136
|
-
expect(result).toEqual({ success: false, error: 'already_running' });
|
|
137
|
-
});
|
|
138
|
-
it('runs task and returns success', async () => {
|
|
139
|
-
const pendingJob = createJob();
|
|
140
|
-
mockPayload.find.mockResolvedValue({ docs: [pendingJob] });
|
|
141
|
-
const result = await runner.run('job-123');
|
|
142
|
-
expect(result).toEqual({ success: true });
|
|
143
|
-
expect(mockPayload.jobs.runByID).toHaveBeenCalledWith({ id: 'job-123' });
|
|
144
|
-
});
|
|
145
|
-
});
|
|
146
|
-
describe('findByCollection', () => {
|
|
147
|
-
it('finds tasks by collection slug', async () => {
|
|
148
|
-
// Mock returns only jobs matching the collection (simulating DB where clause)
|
|
149
|
-
const jobs = [
|
|
150
|
-
createJob({ id: 'job-1', input: { collection: { relationTo: 'posts', value: 'doc-1' } } }),
|
|
151
|
-
createJob({ id: 'job-2', input: { collection: { relationTo: 'posts', value: 'doc-2' } } }),
|
|
152
|
-
];
|
|
153
|
-
mockPayload.find.mockResolvedValue({ docs: jobs });
|
|
154
|
-
const tasks = await runner.findByCollection('posts');
|
|
155
|
-
expect(tasks).toHaveLength(2);
|
|
156
|
-
expect(tasks[0].id).toBe('job-1');
|
|
157
|
-
expect(tasks[1].id).toBe('job-2');
|
|
158
|
-
});
|
|
159
|
-
it('filters by document ids when provided', async () => {
|
|
160
|
-
// Mock returns only jobs matching collection and document ids (simulating DB where clause)
|
|
161
|
-
const jobs = [
|
|
162
|
-
createJob({ id: 'job-1', input: { collection: { relationTo: 'posts', value: 'doc-1' } } }),
|
|
163
|
-
createJob({ id: 'job-2', input: { collection: { relationTo: 'posts', value: 'doc-2' } } }),
|
|
164
|
-
];
|
|
165
|
-
mockPayload.find.mockResolvedValue({ docs: jobs });
|
|
166
|
-
const tasks = await runner.findByCollection('posts', ['doc-1', 'doc-2']);
|
|
167
|
-
expect(tasks).toHaveLength(2);
|
|
168
|
-
expect(tasks[0].id).toBe('job-1');
|
|
169
|
-
expect(tasks[1].id).toBe('job-2');
|
|
170
|
-
});
|
|
171
|
-
it('returns normalized tasks', async () => {
|
|
172
|
-
const job = createJob({
|
|
173
|
-
id: 'job-123',
|
|
174
|
-
completedAt: '2024-01-01T01:00:00Z',
|
|
175
|
-
});
|
|
176
|
-
mockPayload.find.mockResolvedValue({ docs: [job] });
|
|
177
|
-
const tasks = await runner.findByCollection('posts');
|
|
178
|
-
expect(tasks[0]).toMatchObject({
|
|
179
|
-
id: 'job-123',
|
|
180
|
-
status: 'completed',
|
|
181
|
-
input: {
|
|
182
|
-
collectionSlug: 'posts',
|
|
183
|
-
collectionId: 'doc-123',
|
|
184
|
-
},
|
|
185
|
-
});
|
|
186
|
-
});
|
|
187
|
-
});
|
|
188
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/server/modules/task-runner/payload-jobs-runner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACrE,YAAY,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/server/modules/task-runner/payload-jobs-runner/index.ts"],"sourcesContent":["export { createPayloadJobsRunner } from './PayloadJobsRunnerProvider'\nexport type { PayloadJobsRunnerOptions } from './types'\n"],"names":["createPayloadJobsRunner"],"mappings":"AAAA,SAASA,uBAAuB,QAAQ,8BAA6B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"normalizeJob.d.ts","sourceRoot":"","sources":["../../../../../src/server/modules/task-runner/payload-jobs-runner/normalizeJob.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAkBlD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/server/modules/task-runner/payload-jobs-runner/normalizeJob.ts"],"sourcesContent":["import type { CollectionSlug } from 'payload'\n\nimport type { Task, TaskStatus } from '../types'\nimport type { PayloadJob } from './types'\n\n/**\n * Transform Payload job to normalized Task\n */\nexport function normalizeJob(job: PayloadJob): Task {\n return {\n id: job.id,\n status: getJobStatus(job),\n input: {\n collectionSlug: job.input?.collection?.relationTo ?? ('' as CollectionSlug),\n collectionId: job.input?.collection?.value ?? '',\n sourceLng: job.input?.source_lng ?? '',\n targetLng: job.input?.target_lng ?? '',\n strategy: (job.input?.strategy as 'overwrite' | 'skip_existing') ?? 'overwrite',\n publishOnTranslation: job.input?.publish_on_translation ?? false,\n },\n createdAt: job.createdAt,\n updatedAt: job.updatedAt,\n completedAt: job.completedAt ?? undefined,\n error: job.error ? { message: extractErrorMessage(job.error) } : undefined,\n cancelled: isCancelled(job.error),\n }\n}\n\nfunction getJobStatus(job: PayloadJob): TaskStatus {\n if (job.completedAt) return 'completed'\n if (job.processing) return 'running'\n if (job.error) return 'failed'\n return 'pending'\n}\n\nfunction extractErrorMessage(error: unknown): string {\n if (error && typeof error === 'object' && 'message' in error && typeof error.message === 'string') {\n return error.message\n }\n return 'Unknown error'\n}\n\nfunction isCancelled(error: unknown): boolean {\n return (\n error !== null &&\n typeof error === 'object' &&\n 'cancelled' in error &&\n typeof error.cancelled === 'boolean' &&\n error.cancelled\n )\n}\n"],"names":["normalizeJob","job","id","status","getJobStatus","input","collectionSlug","collection","relationTo","collectionId","value","sourceLng","source_lng","targetLng","target_lng","strategy","publishOnTranslation","publish_on_translation","createdAt","updatedAt","completedAt","undefined","error","message","extractErrorMessage","cancelled","isCancelled","processing"],"mappings":"AAKA;;CAEC,GACD,OAAO,SAASA,aAAaC,GAAe;IAC1C,OAAO;QACLC,IAAID,IAAIC,EAAE;QACVC,QAAQC,aAAaH;QACrBI,OAAO;YACLC,gBAAgBL,IAAII,KAAK,EAAEE,YAAYC,cAAe;YACtDC,cAAcR,IAAII,KAAK,EAAEE,YAAYG,SAAS;YAC9CC,WAAWV,IAAII,KAAK,EAAEO,cAAc;YACpCC,WAAWZ,IAAII,KAAK,EAAES,cAAc;YACpCC,UAAU,AAACd,IAAII,KAAK,EAAEU,YAA8C;YACpEC,sBAAsBf,IAAII,KAAK,EAAEY,0BAA0B;QAC7D;QACAC,WAAWjB,IAAIiB,SAAS;QACxBC,WAAWlB,IAAIkB,SAAS;QACxBC,aAAanB,IAAImB,WAAW,IAAIC;QAChCC,OAAOrB,IAAIqB,KAAK,GAAG;YAAEC,SAASC,oBAAoBvB,IAAIqB,KAAK;QAAE,IAAID;QACjEI,WAAWC,YAAYzB,IAAIqB,KAAK;IAClC;AACF;AAEA,SAASlB,aAAaH,GAAe;IACnC,IAAIA,IAAImB,WAAW,EAAE,OAAO;IAC5B,IAAInB,IAAI0B,UAAU,EAAE,OAAO;IAC3B,IAAI1B,IAAIqB,KAAK,EAAE,OAAO;IACtB,OAAO;AACT;AAEA,SAASE,oBAAoBF,KAAc;IACzC,IAAIA,SAAS,OAAOA,UAAU,YAAY,aAAaA,SAAS,OAAOA,MAAMC,OAAO,KAAK,UAAU;QACjG,OAAOD,MAAMC,OAAO;IACtB;IACA,OAAO;AACT;AAEA,SAASG,YAAYJ,KAAc;IACjC,OACEA,UAAU,QACV,OAAOA,UAAU,YACjB,eAAeA,SACf,OAAOA,MAAMG,SAAS,KAAK,aAC3BH,MAAMG,SAAS;AAEnB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"normalizeJob.test.d.ts","sourceRoot":"","sources":["../../../../../src/server/modules/task-runner/payload-jobs-runner/normalizeJob.test.ts"],"names":[],"mappings":""}
|