@focus-reactive/payload-plugin-translator 0.6.1 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -0
- package/dist/client/app/cache/CacheProvider.d.ts +1 -1
- package/dist/client/app/cache/CacheProvider.export.d.ts +1 -1
- package/dist/client/app/cache/CacheProvider.export.js +2 -2
- package/dist/client/app/cache/CacheProvider.js +5 -5
- package/dist/client/app/config/TranslateKitConfigContext.d.ts +1 -1
- package/dist/client/app/config/TranslateKitConfigContext.js +3 -3
- package/dist/client/app/config/index.d.ts +2 -2
- package/dist/client/app/config/index.js +1 -1
- package/dist/client/entities/translation/api/mutations/useCancelCollectionTranslations.js +7 -7
- package/dist/client/entities/translation/api/mutations/useCancelDocumentTranslation.js +7 -7
- package/dist/client/entities/translation/api/mutations/useQueueDocumentTranslation.d.ts +1 -1
- package/dist/client/entities/translation/api/mutations/useQueueDocumentTranslation.js +8 -8
- package/dist/client/entities/translation/api/mutations/useQueueDocumentTranslations.js +6 -6
- package/dist/client/entities/translation/api/mutations/useRunDocumentTranslation.js +7 -7
- package/dist/client/entities/translation/api/mutations/useTranslateField.d.ts +1 -1
- package/dist/client/entities/translation/api/queries/useCollectionTranslationStatus.d.ts +2 -2
- package/dist/client/entities/translation/api/queries/useCollectionTranslationStatus.js +9 -10
- package/dist/client/entities/translation/api/queries/useDocumentTranslation.d.ts +2 -2
- package/dist/client/entities/translation/api/queries/useDocumentTranslation.js +9 -10
- package/dist/client/entities/translation/index.d.ts +12 -12
- package/dist/client/entities/translation/index.js +11 -11
- package/dist/client/entities/translation/model/types.d.ts +1 -1
- package/dist/client/entities/translation/ui/CompletedTranslationStatus/CompletedTranslationStatus.js +12 -12
- package/dist/client/entities/translation/ui/CompletedTranslationStatus/index.d.ts +1 -1
- package/dist/client/entities/translation/ui/CompletedTranslationStatus/index.js +1 -1
- package/dist/client/entities/translation/ui/CompletedTranslationStatus/styles.module.scss +1 -1
- package/dist/client/entities/translation/ui/FailedTranslationStatus/FailedTranslationStatus.js +8 -8
- package/dist/client/entities/translation/ui/FailedTranslationStatus/index.d.ts +1 -1
- package/dist/client/entities/translation/ui/FailedTranslationStatus/index.js +1 -1
- package/dist/client/entities/translation/ui/FailedTranslationStatus/styles.module.scss +1 -1
- package/dist/client/entities/translation/ui/PendingTranslationStatus/PendingTranslationStatus.js +14 -14
- package/dist/client/entities/translation/ui/PendingTranslationStatus/index.d.ts +1 -1
- package/dist/client/entities/translation/ui/PendingTranslationStatus/index.js +1 -1
- package/dist/client/entities/translation/ui/RunningTranslationStatus/RunningTranslationStatus.js +13 -13
- package/dist/client/entities/translation/ui/RunningTranslationStatus/index.d.ts +1 -1
- package/dist/client/entities/translation/ui/RunningTranslationStatus/index.js +1 -1
- package/dist/client/entities/translation/ui/TranslationDirection/TranslationDirection.d.ts +1 -1
- package/dist/client/entities/translation/ui/TranslationDirection/TranslationDirection.js +2 -2
- package/dist/client/entities/translation/ui/TranslationDirection/index.d.ts +1 -1
- package/dist/client/entities/translation/ui/TranslationDirection/index.js +1 -1
- package/dist/client/entities/translation/ui/TranslationDirection/styles.module.scss +1 -1
- package/dist/client/features/collection-translation-form/index.client.d.ts +1 -1
- package/dist/client/features/collection-translation-form/index.client.js +1 -1
- package/dist/client/features/collection-translation-form/index.d.ts +3 -3
- package/dist/client/features/collection-translation-form/index.js +2 -2
- package/dist/client/features/collection-translation-form/model/constants.d.ts +1 -1
- package/dist/client/features/collection-translation-form/model/constants.js +9 -9
- package/dist/client/features/collection-translation-form/model/form-model.d.ts +1 -1
- package/dist/client/features/collection-translation-form/model/index.d.ts +1 -1
- package/dist/client/features/collection-translation-form/model/index.js +1 -1
- package/dist/client/features/collection-translation-form/model/schema.d.ts +1 -1
- package/dist/client/features/collection-translation-form/model/schema.js +6 -6
- package/dist/client/features/collection-translation-form/ui/CollectionTranslationForm.d.ts +1 -1
- package/dist/client/features/collection-translation-form/ui/index.d.ts +1 -1
- package/dist/client/features/collection-translation-form/ui/index.js +1 -1
- package/dist/client/features/collection-translation-form/ui/styles.module.scss +1 -1
- package/dist/client/features/collection-translation-popup/index.d.ts +1 -1
- package/dist/client/features/collection-translation-popup/index.js +1 -1
- package/dist/client/features/collection-translation-popup/ui/CollectionTranslationPopup.d.ts +1 -1
- package/dist/client/features/collection-translation-popup/ui/styles.module.scss +1 -1
- package/dist/client/features/collection-translation-progress/index.d.ts +1 -1
- package/dist/client/features/collection-translation-progress/index.js +1 -1
- package/dist/client/features/collection-translation-progress/ui/CollectionTranslationProgress.d.ts +2 -2
- package/dist/client/features/collection-translation-progress/ui/CollectionTranslationProgress.js +13 -13
- package/dist/client/features/collection-translation-progress/ui/styles.module.scss +1 -1
- package/dist/client/features/document-translation-progress-failed/index.d.ts +1 -1
- package/dist/client/features/document-translation-progress-failed/index.js +1 -1
- package/dist/client/features/document-translation-progress-failed/ui/DocumentTranslationProgressFailed.d.ts +2 -2
- package/dist/client/features/document-translation-progress-failed/ui/DocumentTranslationProgressFailed.js +3 -3
- package/dist/client/features/document-translation-progress-pending/index.d.ts +1 -1
- package/dist/client/features/document-translation-progress-pending/index.js +1 -1
- package/dist/client/features/document-translation-progress-pending/ui/DocumentTranslationProgressPending.d.ts +2 -2
- package/dist/client/features/document-translation-progress-pending/ui/DocumentTranslationProgressPending.js +5 -5
- package/dist/client/features/document-translation-progress-running/index.d.ts +1 -1
- package/dist/client/features/document-translation-progress-running/index.js +1 -1
- package/dist/client/features/document-translation-progress-running/ui/DocumentTranslationProgressRunning.d.ts +2 -2
- package/dist/client/features/document-translation-progress-running/ui/DocumentTranslationProgressRunning.js +3 -3
- package/dist/client/features/open-document-translation-popup/index.d.ts +1 -1
- package/dist/client/features/open-document-translation-popup/index.js +1 -1
- package/dist/client/features/open-document-translation-popup/ui/styles.module.scss +1 -1
- package/dist/client/features/translate-document-form/index.client.d.ts +1 -1
- package/dist/client/features/translate-document-form/index.client.js +1 -1
- package/dist/client/features/translate-document-form/index.d.ts +3 -3
- package/dist/client/features/translate-document-form/index.js +2 -2
- package/dist/client/features/translate-document-form/model/constants.d.ts +1 -1
- package/dist/client/features/translate-document-form/model/constants.js +11 -11
- package/dist/client/features/translate-document-form/model/form-model.d.ts +1 -1
- package/dist/client/features/translate-document-form/model/index.d.ts +1 -1
- package/dist/client/features/translate-document-form/model/index.js +1 -1
- package/dist/client/features/translate-document-form/model/schema.d.ts +1 -1
- package/dist/client/features/translate-document-form/model/schema.js +5 -5
- package/dist/client/features/translate-document-form/ui/DocumentTranslationForm.d.ts +1 -1
- package/dist/client/features/translate-document-form/ui/index.d.ts +1 -1
- package/dist/client/features/translate-document-form/ui/index.js +1 -1
- package/dist/client/features/translate-document-form/ui/styles.module.scss +1 -1
- package/dist/client/shared/lib/errors/handleApiError.d.ts +1 -1
- package/dist/client/shared/lib/errors/handleApiError.js +2 -2
- package/dist/client/shared/lib/forms/handle-form-error.d.ts +1 -1
- package/dist/client/shared/lib/forms/handle-form-error.js +6 -6
- package/dist/client/shared/lib/payload/hooks/useCollectionDashboardUrlParams.d.ts +1 -1
- package/dist/client/shared/lib/payload/hooks/useCollectionDashboardUrlParams.js +1 -1
- package/dist/client/shared/lib/payload/hooks/useCollectionDocumentUrlParams.d.ts +1 -1
- package/dist/client/shared/lib/payload/hooks/useCollectionDocumentUrlParams.js +2 -2
- package/dist/client/shared/lib/payload/hooks/useLocaleOptions.js +2 -2
- package/dist/client/shared/lib/utils/errors/handleApiError.d.ts +1 -1
- package/dist/client/shared/lib/utils/errors/handleApiError.js +2 -2
- package/dist/client/shared/lib/utils/react/useToggle.js +1 -1
- package/dist/client/shared/providers/CacheClientProvider/CacheClientProvider.factory.d.ts +2 -2
- package/dist/client/shared/providers/CacheClientProvider/CacheClientProvider.factory.js +3 -3
- package/dist/client/shared/providers/CacheClientProvider/index.d.ts +1 -1
- package/dist/client/shared/providers/CacheClientProvider/index.js +1 -1
- package/dist/client/shared/types/AccessGuard.d.ts +1 -1
- package/dist/client/shared/ui/Alert/Alert.d.ts +2 -2
- package/dist/client/shared/ui/Alert/Alert.js +18 -18
- package/dist/client/shared/ui/Alert/index.d.ts +1 -1
- package/dist/client/shared/ui/Alert/index.js +1 -1
- package/dist/client/shared/ui/Alert/styles.module.scss +1 -1
- package/dist/client/shared/ui/Button/index.d.ts +1 -1
- package/dist/client/shared/ui/Button/index.js +1 -1
- package/dist/client/shared/ui/Button/styles.module.scss +6 -3
- package/dist/client/shared/ui/Checkbox/Checkbox.d.ts +2 -2
- package/dist/client/shared/ui/Checkbox/Checkbox.js +4 -4
- package/dist/client/shared/ui/Checkbox/index.d.ts +1 -1
- package/dist/client/shared/ui/Checkbox/index.js +1 -1
- package/dist/client/shared/ui/Checkbox/styles.module.scss +1 -1
- package/dist/client/shared/ui/ColorIndicator/ColorIndicator.d.ts +2 -2
- package/dist/client/shared/ui/ColorIndicator/ColorIndicator.js +2 -2
- package/dist/client/shared/ui/ColorIndicator/index.d.ts +1 -1
- package/dist/client/shared/ui/ColorIndicator/index.js +1 -1
- package/dist/client/shared/ui/ColorIndicator/styles.module.scss +1 -1
- package/dist/client/shared/ui/Description/Description.d.ts +3 -3
- package/dist/client/shared/ui/Description/Description.js +4 -4
- package/dist/client/shared/ui/Description/index.d.ts +1 -1
- package/dist/client/shared/ui/Description/index.js +1 -1
- package/dist/client/shared/ui/Description/styles.module.scss +1 -1
- package/dist/client/shared/ui/Divider/Divider.d.ts +4 -4
- package/dist/client/shared/ui/Divider/Divider.js +4 -4
- package/dist/client/shared/ui/Divider/index.d.ts +1 -1
- package/dist/client/shared/ui/Divider/index.js +1 -1
- package/dist/client/shared/ui/Divider/styles.module.scss +1 -1
- package/dist/client/shared/ui/Label/Label.d.ts +2 -2
- package/dist/client/shared/ui/Label/Label.js +3 -3
- package/dist/client/shared/ui/Label/index.d.ts +1 -1
- package/dist/client/shared/ui/Label/index.js +1 -1
- package/dist/client/shared/ui/Label/styles.module.scss +1 -1
- package/dist/client/shared/ui/Loading/Loading.d.ts +1 -1
- package/dist/client/shared/ui/Loading/Loading.js +9 -9
- package/dist/client/shared/ui/Loading/index.d.ts +1 -1
- package/dist/client/shared/ui/Loading/index.js +1 -1
- package/dist/client/shared/ui/Loading/styles.module.scss +2 -2
- package/dist/client/shared/ui/Popup/Popup.d.ts +1 -1
- package/dist/client/shared/ui/Popup/index.d.ts +1 -1
- package/dist/client/shared/ui/Popup/index.js +1 -1
- package/dist/client/shared/ui/Popup/styles.module.scss +1 -1
- package/dist/client/shared/ui/ProgressBar/ProgressBar.d.ts +2 -2
- package/dist/client/shared/ui/ProgressBar/ProgressBar.js +3 -3
- package/dist/client/shared/ui/ProgressBar/index.d.ts +1 -1
- package/dist/client/shared/ui/ProgressBar/index.js +1 -1
- package/dist/client/shared/ui/ProgressBar/styles.module.scss +1 -1
- package/dist/client/shared/ui/Select/index.d.ts +1 -1
- package/dist/client/shared/ui/Select/index.js +1 -1
- package/dist/client/shared/ui/Select/styles.module.scss +1 -1
- package/dist/client/shared/ui/StatusCounter/StatusCounter.d.ts +2 -2
- package/dist/client/shared/ui/StatusCounter/StatusCounter.js +13 -13
- package/dist/client/shared/ui/StatusCounter/index.d.ts +1 -1
- package/dist/client/shared/ui/StatusCounter/index.js +1 -1
- package/dist/client/shared/ui/StatusCounter/styles.module.scss +1 -1
- package/dist/client/shared/ui/StatusIndicator/StatusIndicator.d.ts +3 -3
- package/dist/client/shared/ui/StatusIndicator/StatusIndicator.js +4 -4
- package/dist/client/shared/ui/StatusIndicator/index.d.ts +1 -1
- package/dist/client/shared/ui/StatusIndicator/index.js +1 -1
- package/dist/client/shared/ui/StatusIndicator/styles.module.scss +1 -1
- package/dist/client/shared/ui/Tooltip/Tooltip.d.ts +2 -2
- package/dist/client/shared/ui/Tooltip/Tooltip.js +4 -4
- package/dist/client/shared/ui/Tooltip/index.d.ts +1 -1
- package/dist/client/shared/ui/Tooltip/index.js +1 -1
- package/dist/client/shared/ui/Tooltip/styles.module.scss +5 -5
- package/dist/client/shared/ui/form/FormCheckbox/FormCheckbox.d.ts +1 -1
- package/dist/client/shared/ui/form/FormCheckbox/FormCheckbox.js +6 -6
- package/dist/client/shared/ui/form/FormCheckbox/index.d.ts +1 -1
- package/dist/client/shared/ui/form/FormCheckbox/index.js +1 -1
- package/dist/client/shared/ui/form/FormCheckbox/styles.module.scss +1 -1
- package/dist/client/shared/ui/form/FormCheckboxPublish/FormCheckboxPublish.js +5 -5
- package/dist/client/shared/ui/form/FormCheckboxPublish/index.d.ts +1 -1
- package/dist/client/shared/ui/form/FormCheckboxPublish/index.js +1 -1
- package/dist/client/shared/ui/form/FormCheckboxPublish/styles.module.scss +1 -1
- package/dist/client/shared/ui/form/FormSelect/FormSelect.d.ts +5 -5
- package/dist/client/shared/ui/form/FormSelect/FormSelect.js +9 -9
- package/dist/client/shared/ui/form/FormSelect/index.d.ts +1 -1
- package/dist/client/shared/ui/form/FormSelect/index.js +1 -1
- package/dist/client/shared/ui/form/FormSelectLocale/FormSelectLocale.d.ts +1 -1
- package/dist/client/shared/ui/form/FormSelectLocale/FormSelectLocale.js +2 -2
- package/dist/client/shared/ui/form/FormSelectLocale/index.d.ts +1 -1
- package/dist/client/shared/ui/form/FormSelectLocale/index.js +1 -1
- package/dist/client/shared/ui/form/FormSelectStrategy/FormSelectStrategy.d.ts +2 -2
- package/dist/client/shared/ui/form/FormSelectStrategy/FormSelectStrategy.js +9 -9
- package/dist/client/shared/ui/form/FormSelectStrategy/index.d.ts +2 -2
- package/dist/client/shared/ui/form/FormSelectStrategy/index.js +1 -1
- package/dist/client/shared/ui/form/FormSelectStrategy/styles.module.scss +1 -1
- package/dist/client/shared/utils/componentPath.js +1 -1
- package/dist/client/widgets/bulk-translation-dashboard/index.d.ts +1 -1
- package/dist/client/widgets/bulk-translation-dashboard/index.js +1 -1
- package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.export.d.ts +2 -2
- package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.export.js +3 -3
- package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.js +11 -11
- package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.server.d.ts +2 -2
- package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.server.js +3 -3
- package/dist/client/widgets/bulk-translation-dashboard/ui/index.d.ts +1 -1
- package/dist/client/widgets/bulk-translation-dashboard/ui/index.js +1 -1
- package/dist/client/widgets/translate-document/index.d.ts +1 -1
- package/dist/client/widgets/translate-document/index.js +1 -1
- package/dist/client/widgets/translate-document/ui/TranslateDocument.export.d.ts +3 -3
- package/dist/client/widgets/translate-document/ui/TranslateDocument.export.js +3 -3
- package/dist/client/widgets/translate-document/ui/TranslateDocument.js +16 -16
- package/dist/client/widgets/translate-document/ui/TranslateDocument.server.d.ts +2 -2
- package/dist/client/widgets/translate-document/ui/TranslateDocument.server.js +3 -3
- package/dist/client/widgets/translate-document/ui/index.d.ts +1 -1
- package/dist/client/widgets/translate-document/ui/index.js +1 -1
- package/dist/client/widgets/translate-field-control/ui/TranslateFieldControl.export.d.ts +1 -1
- package/dist/client/widgets/translate-field-control/ui/styles.module.scss +1 -1
- package/dist/{server/modules/translation-levels → composition/levels}/collectionLevel.d.ts +1 -1
- package/dist/{server/modules/translation-levels → composition/levels}/collectionLevel.js +1 -1
- package/dist/{server/modules/translation-levels → composition/levels}/documentLevel.d.ts +1 -1
- package/dist/{server/modules/translation-levels → composition/levels}/documentLevel.js +1 -1
- package/dist/{server/modules/translation-levels → composition/levels}/fieldLevel.d.ts +1 -1
- package/dist/{server/modules/translation-levels → composition/levels}/fieldLevel.js +1 -1
- package/dist/composition/levels/index.d.ts +3 -0
- package/dist/composition/levels/index.js +5 -0
- package/dist/{server/modules/translation-levels → composition/levels}/useDocTranslationApi.d.ts +1 -1
- package/dist/{server/modules/translation-levels → composition/levels}/useDocTranslationApi.js +1 -1
- package/dist/core/content-projection/computeSourceFingerprint.d.ts +15 -0
- package/dist/core/content-projection/computeSourceFingerprint.js +19 -0
- package/dist/core/content-projection/contentProjector.d.ts +28 -0
- package/dist/core/content-projection/contentProjector.js +97 -0
- package/dist/core/content-projection/fingerprinter.d.ts +28 -0
- package/dist/core/content-projection/fingerprinter.js +29 -0
- package/dist/core/content-projection/idPath.d.ts +48 -0
- package/dist/core/content-projection/idPath.js +64 -0
- package/dist/core/content-projection/translatableLeaf.d.ts +27 -0
- package/dist/core/content-projection/translatableLeaf.js +37 -0
- package/dist/core/field-config/getFieldConfig.d.ts +23 -0
- package/dist/{server/shared → core}/field-config/getFieldConfig.js +5 -5
- package/dist/{server/shared → core}/field-config/index.d.ts +3 -3
- package/dist/core/field-config/index.js +4 -0
- package/dist/{server/shared → core}/field-traversal/findFieldByPath.d.ts +2 -3
- package/dist/core/field-traversal/guards.d.ts +19 -0
- package/dist/core/field-traversal/guards.js +20 -0
- package/dist/core/field-traversal/index.d.ts +7 -0
- package/dist/core/field-traversal/index.js +7 -0
- package/dist/{server/shared → core}/field-traversal/kernel.d.ts +7 -8
- package/dist/{server/shared → core}/field-traversal/kernel.js +6 -6
- package/dist/core/field-traversal/predicates.d.ts +24 -0
- package/dist/core/field-traversal/predicates.js +17 -0
- package/dist/{server/shared → core}/field-traversal/types.d.ts +129 -27
- package/dist/{server/shared → core}/field-traversal/types.js +6 -0
- package/dist/{server/shared → core}/field-traversal/walkFields.d.ts +2 -3
- package/dist/core/index.d.ts +12 -0
- package/dist/core/index.js +15 -0
- package/dist/{server/shared → core}/lexical/collectTextNodes.d.ts +1 -1
- package/dist/{server/shared → core}/lexical/collectTextNodes.js +1 -1
- package/dist/{server/shared → core}/lexical/guards.d.ts +1 -1
- package/dist/{server/shared → core}/lexical/guards.js +4 -4
- package/dist/core/lexical/index.d.ts +6 -0
- package/dist/core/lexical/index.js +6 -0
- package/dist/{server/shared → core}/lexical/isEmptyRichText.d.ts +1 -1
- package/dist/{server/shared → core}/lexical/isEmptyRichText.js +3 -3
- package/dist/{server/shared → core}/lexical/traverseLexicalTree.d.ts +1 -1
- package/dist/{server/shared → core}/lexical/traverseLexicalTree.js +1 -1
- package/dist/core/lexical/types.d.ts +33 -0
- package/dist/core/lexical/types.js +11 -0
- package/dist/core/provenance/ProvenanceStore.interface.d.ts +99 -0
- package/dist/core/provenance/ProvenanceStore.interface.js +37 -0
- package/dist/core/provenance/index.d.ts +1 -0
- package/dist/core/provenance/index.js +5 -0
- package/dist/{server/modules → core}/translation-pipeline/TranslationPipeline.d.ts +4 -4
- package/dist/{server/modules → core}/translation-pipeline/TranslationPipeline.js +1 -1
- package/dist/{server/modules → core}/translation-pipeline/stages/data-reconciler/DataReconciler.d.ts +2 -2
- package/dist/{server/modules → core}/translation-pipeline/stages/data-reconciler/DataReconciler.js +3 -2
- package/dist/core/translation-pipeline/stages/data-reconciler/index.d.ts +2 -0
- package/dist/core/translation-pipeline/stages/data-reconciler/index.js +4 -0
- package/dist/{server/modules → core}/translation-pipeline/stages/field-collector/FieldChunkCollector.d.ts +2 -2
- package/dist/{server/modules → core}/translation-pipeline/stages/field-collector/FieldChunkCollector.js +18 -4
- package/dist/{server/modules → core}/translation-pipeline/stages/field-collector/FieldChunkCollector.stage.d.ts +2 -2
- package/dist/{server/modules → core}/translation-pipeline/stages/field-collector/FieldChunkCollector.stage.js +2 -2
- package/dist/core/translation-pipeline/stages/field-collector/index.d.ts +2 -0
- package/dist/core/translation-pipeline/stages/field-collector/index.js +4 -0
- package/dist/core/translation-pipeline/stages/index.d.ts +6 -0
- package/dist/core/translation-pipeline/stages/index.js +7 -0
- package/dist/{server/modules → core}/translation-pipeline/stages/text-expander/PlainTextExpander.d.ts +2 -2
- package/dist/{server/modules → core}/translation-pipeline/stages/text-expander/PlainTextExpander.js +2 -2
- package/dist/{server/modules → core}/translation-pipeline/stages/text-expander/RichTextExpander.d.ts +2 -2
- package/dist/{server/modules → core}/translation-pipeline/stages/text-expander/RichTextExpander.js +3 -3
- package/dist/{server/modules → core}/translation-pipeline/stages/text-expander/TextChunkExpander.d.ts +2 -2
- package/dist/{server/modules → core}/translation-pipeline/stages/text-expander/TextChunkExpander.stage.d.ts +2 -2
- package/dist/{server/modules → core}/translation-pipeline/stages/text-expander/TextChunkExpander.stage.js +4 -4
- package/dist/{server/modules → core}/translation-pipeline/stages/text-expander/TextExpander.interface.d.ts +1 -1
- package/dist/core/translation-pipeline/stages/text-expander/index.d.ts +6 -0
- package/dist/core/translation-pipeline/stages/text-expander/index.js +6 -0
- package/dist/{server/modules → core}/translation-pipeline/stages/translation/Translation.stage.d.ts +2 -2
- package/dist/{server/modules → core}/translation-pipeline/stages/translation/Translation.stage.js +1 -1
- package/dist/core/translation-pipeline/stages/translation/index.d.ts +1 -0
- package/dist/core/translation-pipeline/stages/translation/index.js +3 -0
- package/dist/{server/modules → core}/translation-pipeline/stages/translation-applicator/TranslationMutator.d.ts +1 -1
- package/dist/{server/modules → core}/translation-pipeline/stages/translation-applicator/TranslationMutator.js +1 -1
- package/dist/{server/modules → core}/translation-pipeline/stages/translation-applicator/TranslationMutator.stage.d.ts +1 -1
- package/dist/{server/modules → core}/translation-pipeline/stages/translation-applicator/TranslationMutator.stage.js +2 -2
- package/dist/core/translation-pipeline/stages/translation-applicator/index.d.ts +2 -0
- package/dist/core/translation-pipeline/stages/translation-applicator/index.js +4 -0
- package/dist/{server/modules → core}/translation-pipeline/strategies/Overwrite.strategy.d.ts +1 -1
- package/dist/{server/modules → core}/translation-pipeline/strategies/Overwrite.strategy.js +1 -1
- package/dist/{server/modules → core}/translation-pipeline/strategies/SkipExisting.strategy.d.ts +1 -1
- package/dist/{server/modules → core}/translation-pipeline/strategies/SkipExisting.strategy.js +3 -1
- package/dist/core/translation-pipeline/strategies/index.d.ts +13 -0
- package/dist/{server/modules → core}/translation-pipeline/strategies/index.js +4 -4
- package/dist/{server/modules → core}/translation-pipeline/translateContent.d.ts +2 -2
- package/dist/{server/modules → core}/translation-pipeline/types/FieldChunk.d.ts +3 -3
- package/dist/{server/modules → core}/translation-pipeline/types/Pipeline.d.ts +2 -2
- package/dist/{server/modules → core}/translation-pipeline/types/PipelineContext.d.ts +4 -4
- package/dist/{server/modules → core}/translation-pipeline/types/TextChunk.d.ts +3 -3
- package/dist/{server/modules → core}/translation-pipeline/types/TextChunk.js +2 -2
- package/dist/core/translation-pipeline/types/index.d.ts +5 -0
- package/dist/core/translation-pipeline/types/index.js +3 -0
- package/dist/core/translation-providers/index.d.ts +1 -0
- package/dist/core/translation-providers/index.js +5 -0
- package/dist/core/utils/index.d.ts +2 -0
- package/dist/core/utils/index.js +4 -0
- package/dist/{server/shared → core}/utils/isEmpty.js +2 -2
- package/dist/{server/shared → core}/utils/isObject.js +1 -1
- package/dist/field-actions.d.ts +1 -1
- package/dist/field-config.d.ts +1 -1
- package/dist/field-config.js +1 -1
- package/dist/index.d.ts +7 -4
- package/dist/index.js +4 -4
- package/dist/plugin.d.ts +27 -1
- package/dist/plugin.js +56 -16
- package/dist/server/features/_lib/collection-utils.d.ts +1 -1
- package/dist/server/features/_lib/index.d.ts +1 -1
- package/dist/server/features/_lib/index.js +1 -1
- package/dist/server/features/cancel/index.d.ts +1 -1
- package/dist/server/features/cancel/index.js +1 -1
- package/dist/server/features/cancel-by-collection/index.d.ts +1 -1
- package/dist/server/features/cancel-by-collection/index.js +1 -1
- package/dist/server/features/cancel-by-collection/model.d.ts +2 -2
- package/dist/server/features/cancel-by-collection/model.js +1 -1
- package/dist/server/features/createTranslationRoutes.d.ts +1 -1
- package/dist/server/features/enqueue-translation/index.d.ts +1 -1
- package/dist/server/features/enqueue-translation/index.js +1 -1
- package/dist/server/features/enqueue-translation/model.d.ts +2 -2
- package/dist/server/features/enqueue-translation/model.js +4 -4
- package/dist/server/features/get-collection-status/index.d.ts +1 -1
- package/dist/server/features/get-collection-status/index.js +1 -1
- package/dist/server/features/get-collection-status/model.d.ts +3 -3
- package/dist/server/features/get-collection-status/model.js +1 -1
- package/dist/server/features/get-document-status/index.d.ts +2 -2
- package/dist/server/features/get-document-status/index.js +2 -2
- package/dist/server/features/run-translation/index.d.ts +1 -1
- package/dist/server/features/run-translation/index.js +1 -1
- package/dist/server/features/translate-document/handler.d.ts +6 -3
- package/dist/server/features/translate-document/handler.js +28 -2
- package/dist/server/features/translate-document/index.d.ts +1 -1
- package/dist/server/features/translate-document/model.d.ts +2 -7
- package/dist/server/features/translate-document/model.js +1 -2
- package/dist/server/features/translate-field/handler.js +1 -1
- package/dist/server/features/translate-field/index.d.ts +2 -1
- package/dist/server/features/translate-field/model.d.ts +2 -19
- package/dist/server/features/translate-field/resolveFieldSubtree.js +1 -1
- package/dist/server/features/translate-field/route.d.ts +1 -1
- package/dist/server/index.d.ts +3 -3
- package/dist/server/index.js +3 -3
- package/dist/server/modules/index.d.ts +2 -2
- package/dist/server/modules/index.js +2 -2
- package/dist/server/modules/lifecycle/LifecycleNotifier.d.ts +21 -0
- package/dist/server/modules/lifecycle/LifecycleNotifier.js +38 -0
- package/dist/server/modules/lifecycle/index.d.ts +4 -0
- package/dist/server/modules/lifecycle/index.js +7 -0
- package/dist/server/modules/lifecycle/taskMapping.d.ts +7 -0
- package/dist/server/modules/lifecycle/taskMapping.js +16 -0
- package/dist/server/modules/lifecycle/types.d.ts +45 -0
- package/dist/server/modules/lifecycle/types.js +21 -0
- package/dist/server/modules/lifecycle/withQueuedNotification.d.ts +9 -0
- package/dist/server/modules/lifecycle/withQueuedNotification.js +19 -0
- package/dist/server/modules/provenance/PayloadProvenanceStore.d.ts +21 -0
- package/dist/server/modules/provenance/PayloadProvenanceStore.js +109 -0
- package/dist/server/modules/provenance/index.d.ts +5 -0
- package/dist/server/modules/provenance/index.js +8 -0
- package/dist/server/modules/provenance/provenanceCleanupHook.d.ts +18 -0
- package/dist/server/modules/provenance/provenanceCleanupHook.js +41 -0
- package/dist/server/modules/provenance/provenanceCollection.d.ts +23 -0
- package/dist/server/modules/provenance/provenanceCollection.js +82 -0
- package/dist/server/modules/provenance/slugGuard.d.ts +16 -0
- package/dist/server/modules/provenance/slugGuard.js +19 -0
- package/dist/server/modules/task-runner/TaskRunner.interface.d.ts +2 -2
- package/dist/server/modules/task-runner/TaskRunnerProvider.interface.d.ts +1 -1
- package/dist/server/modules/task-runner/index.d.ts +1 -1
- package/dist/server/modules/task-runner/payload-jobs-runner/index.d.ts +2 -2
- package/dist/server/modules/task-runner/payload-jobs-runner/index.js +1 -1
- package/dist/server/modules/task-runner/sync-runner/index.d.ts +1 -1
- package/dist/server/modules/task-runner/sync-runner/index.js +1 -1
- package/dist/server/modules/translation-levels/PluginConfigBuilder.d.ts +3 -3
- package/dist/server/modules/translation-levels/index.d.ts +1 -4
- package/dist/server/modules/translation-levels/index.js +1 -3
- package/dist/server/modules/translation-levels/types.d.ts +3 -3
- package/dist/server/shared/access/AnyAccessGuard.d.ts +1 -1
- package/dist/server/shared/access/handler.d.ts +1 -1
- package/dist/server/shared/access/index.d.ts +3 -3
- package/dist/server/shared/access/index.js +1 -1
- package/dist/server/shared/access/types.d.ts +1 -1
- package/dist/server/shared/guards/collection-guards.d.ts +1 -1
- package/dist/server/shared/guards/collection-guards.js +2 -2
- package/dist/server/shared/guards/field-guards.d.ts +9 -20
- package/dist/server/shared/guards/field-guards.js +5 -20
- package/dist/server/shared/guards/index.d.ts +3 -3
- package/dist/server/shared/guards/index.js +2 -2
- package/dist/server/shared/http/ServerResponse.js +15 -15
- package/dist/server/shared/http/index.d.ts +3 -3
- package/dist/server/shared/http/index.js +3 -3
- package/dist/server/shared/http/withAccessCheck.d.ts +2 -2
- package/dist/server/shared/http/withAccessCheck.js +1 -1
- package/dist/server/shared/http/withErrorHandler.js +3 -3
- package/dist/server/shared/index.d.ts +6 -5
- package/dist/server/shared/index.js +4 -3
- package/dist/server/shared/utils/filterLocalizedFields.js +2 -2
- package/dist/server/shared/utils/getByPath.js +2 -2
- package/dist/server/shared/utils/index.d.ts +9 -9
- package/dist/server/shared/utils/index.js +8 -8
- package/dist/server/shared/utils/normalizePath.js +3 -3
- package/dist/server/shared/utils/setByPath.js +2 -2
- package/dist/translation-providers/index.d.ts +2 -0
- package/dist/translation-providers/index.js +10 -0
- package/dist/{server/modules/translation-providers → translation-providers/openai}/OpenAITranslation.provider.d.ts +1 -1
- package/dist/{server/modules/translation-providers → translation-providers/openai}/OpenAITranslation.provider.js +1 -1
- package/dist/translation-providers/openai/index.d.ts +1 -0
- package/dist/translation-providers/openai/index.js +5 -0
- package/dist/types/CollectionSchemaMap.d.ts +6 -0
- package/dist/types/CollectionSchemaMap.js +6 -0
- package/dist/{client/shared/types → types}/PayloadComponentExport.d.ts +1 -1
- package/dist/types/index.d.ts +4 -1
- package/dist/types/wire/field-translation.d.ts +17 -0
- package/dist/types/wire/field-translation.js +7 -0
- package/package.json +3 -1
- package/dist/server/modules/translation-pipeline/stages/data-reconciler/index.d.ts +0 -2
- package/dist/server/modules/translation-pipeline/stages/data-reconciler/index.js +0 -4
- package/dist/server/modules/translation-pipeline/stages/field-collector/index.d.ts +0 -2
- package/dist/server/modules/translation-pipeline/stages/field-collector/index.js +0 -4
- package/dist/server/modules/translation-pipeline/stages/index.d.ts +0 -6
- package/dist/server/modules/translation-pipeline/stages/index.js +0 -7
- package/dist/server/modules/translation-pipeline/stages/text-expander/index.d.ts +0 -6
- package/dist/server/modules/translation-pipeline/stages/text-expander/index.js +0 -6
- package/dist/server/modules/translation-pipeline/stages/translation/index.d.ts +0 -1
- package/dist/server/modules/translation-pipeline/stages/translation/index.js +0 -3
- package/dist/server/modules/translation-pipeline/stages/translation-applicator/index.d.ts +0 -2
- package/dist/server/modules/translation-pipeline/stages/translation-applicator/index.js +0 -4
- package/dist/server/modules/translation-pipeline/strategies/index.d.ts +0 -13
- package/dist/server/modules/translation-pipeline/types/index.d.ts +0 -5
- package/dist/server/modules/translation-pipeline/types/index.js +0 -3
- package/dist/server/modules/translation-providers/index.d.ts +0 -2
- package/dist/server/modules/translation-providers/index.js +0 -3
- package/dist/server/shared/field-config/getFieldConfig.d.ts +0 -20
- package/dist/server/shared/field-config/index.js +0 -4
- package/dist/server/shared/field-traversal/index.d.ts +0 -5
- package/dist/server/shared/field-traversal/index.js +0 -5
- package/dist/server/shared/lexical/index.d.ts +0 -6
- package/dist/server/shared/lexical/index.js +0 -6
- package/dist/server/shared/lexical/types.d.ts +0 -19
- package/dist/server/shared/lexical/types.js +0 -8
- /package/dist/{server/shared → core}/field-config/types.d.ts +0 -0
- /package/dist/{server/shared → core}/field-config/types.js +0 -0
- /package/dist/{server/shared → core}/field-traversal/findFieldByPath.js +0 -0
- /package/dist/{server/shared → core}/field-traversal/walkFields.js +0 -0
- /package/dist/{server/modules → core}/translation-pipeline/index.d.ts +0 -0
- /package/dist/{server/modules → core}/translation-pipeline/index.js +0 -0
- /package/dist/{server/modules → core}/translation-pipeline/stages/data-reconciler/DataReconciler.stage.d.ts +0 -0
- /package/dist/{server/modules → core}/translation-pipeline/stages/data-reconciler/DataReconciler.stage.js +0 -0
- /package/dist/{server/modules → core}/translation-pipeline/stages/text-expander/TextChunkExpander.js +0 -0
- /package/dist/{server/modules → core}/translation-pipeline/stages/text-expander/TextExpander.interface.js +0 -0
- /package/dist/{server/modules → core}/translation-pipeline/strategies/TranslationStrategy.interface.d.ts +0 -0
- /package/dist/{server/modules → core}/translation-pipeline/strategies/TranslationStrategy.interface.js +0 -0
- /package/dist/{server/modules → core}/translation-pipeline/translateContent.js +0 -0
- /package/dist/{server/modules → core}/translation-pipeline/types/FieldChunk.js +0 -0
- /package/dist/{server/modules → core}/translation-pipeline/types/Pipeline.js +0 -0
- /package/dist/{server/modules → core}/translation-pipeline/types/PipelineContext.js +0 -0
- /package/dist/{server/modules → core}/translation-providers/TranslationProvider.interface.d.ts +0 -0
- /package/dist/{server/modules → core}/translation-providers/TranslationProvider.interface.js +0 -0
- /package/dist/{server/shared → core}/utils/isEmpty.d.ts +0 -0
- /package/dist/{server/shared → core}/utils/isObject.d.ts +0 -0
- /package/dist/{client/shared/types → types}/PayloadComponentExport.js +0 -0
package/dist/{server/modules → core}/translation-pipeline/stages/translation/Translation.stage.d.ts
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { PipelineContext, PipelineStage } from
|
|
2
|
-
import type { TranslationProvider } from
|
|
1
|
+
import type { PipelineContext, PipelineStage } from "../../types";
|
|
2
|
+
import type { TranslationProvider } from "../../../translation-providers";
|
|
3
3
|
/**
|
|
4
4
|
* Calls translation provider to translate text.
|
|
5
5
|
*/
|
package/dist/{server/modules → core}/translation-pipeline/stages/translation/Translation.stage.js
RENAMED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
}
|
|
12
12
|
const translations = await this.provider.translate(ctx.textMap, ctx.sourceLng, ctx.targetLng);
|
|
13
13
|
if (!translations) {
|
|
14
|
-
throw new Error(
|
|
14
|
+
throw new Error("Translation provider returned null");
|
|
15
15
|
}
|
|
16
16
|
return {
|
|
17
17
|
...ctx,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { TranslationStage } from "./Translation.stage";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { TranslationMutator } from
|
|
1
|
+
import { TranslationMutator } from "./TranslationMutator";
|
|
2
2
|
/**
|
|
3
3
|
* Applies translations to data via mutation.
|
|
4
4
|
*/ export class TranslationMutatorStage {
|
|
5
5
|
execute(ctx) {
|
|
6
6
|
if (!ctx.textChunks || !ctx.translations) {
|
|
7
|
-
throw new Error(
|
|
7
|
+
throw new Error("TranslationMutatorStage requires textChunks and translations");
|
|
8
8
|
}
|
|
9
9
|
const mutator = new TranslationMutator();
|
|
10
10
|
mutator.apply(ctx.textChunks, ctx.translations);
|
package/dist/{server/modules → core}/translation-pipeline/strategies/Overwrite.strategy.d.ts
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TranslationStrategy, StrategyContext } from
|
|
1
|
+
import type { TranslationStrategy, StrategyContext } from "./TranslationStrategy.interface";
|
|
2
2
|
/**
|
|
3
3
|
* Translates all fields, overwriting existing translations.
|
|
4
4
|
* This is the default strategy.
|
package/dist/{server/modules → core}/translation-pipeline/strategies/SkipExisting.strategy.d.ts
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TranslationStrategy, StrategyContext } from
|
|
1
|
+
import type { TranslationStrategy, StrategyContext } from "./TranslationStrategy.interface";
|
|
2
2
|
/**
|
|
3
3
|
* Only translates fields that are empty or missing in the target locale.
|
|
4
4
|
* Existing translations are preserved.
|
package/dist/{server/modules → core}/translation-pipeline/strategies/SkipExisting.strategy.js
RENAMED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isEmptyRichText } from "../../lexical/isEmptyRichText";
|
|
2
|
+
import { isSerializedLexicalRoot } from "../../lexical/guards";
|
|
3
|
+
import { isEmpty } from "../../utils/isEmpty";
|
|
2
4
|
/**
|
|
3
5
|
* Only translates fields that are empty or missing in the target locale.
|
|
4
6
|
* Existing translations are preserved.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { TranslationStrategy } from "./TranslationStrategy.interface";
|
|
2
|
+
import { OverwriteStrategy } from "./Overwrite.strategy";
|
|
3
|
+
import { SkipExistingStrategy } from "./SkipExisting.strategy";
|
|
4
|
+
export type { TranslationStrategy, StrategyContext } from "./TranslationStrategy.interface";
|
|
5
|
+
export { OverwriteStrategy, SkipExistingStrategy };
|
|
6
|
+
/**
|
|
7
|
+
* Strategy names for runtime selection.
|
|
8
|
+
*/
|
|
9
|
+
export type TranslationStrategyName = "overwrite" | "skip_existing";
|
|
10
|
+
/**
|
|
11
|
+
* Creates a TranslationStrategy instance by name.
|
|
12
|
+
*/
|
|
13
|
+
export declare function createTranslationStrategy(name: TranslationStrategyName): TranslationStrategy;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { OverwriteStrategy } from
|
|
2
|
-
import { SkipExistingStrategy } from
|
|
1
|
+
import { OverwriteStrategy } from "./Overwrite.strategy";
|
|
2
|
+
import { SkipExistingStrategy } from "./SkipExisting.strategy";
|
|
3
3
|
export { OverwriteStrategy, SkipExistingStrategy };
|
|
4
4
|
/**
|
|
5
5
|
* Creates a TranslationStrategy instance by name.
|
|
6
6
|
*/ export function createTranslationStrategy(name) {
|
|
7
7
|
switch(name){
|
|
8
|
-
case
|
|
8
|
+
case "skip_existing":
|
|
9
9
|
return new SkipExistingStrategy();
|
|
10
|
-
case
|
|
10
|
+
case "overwrite":
|
|
11
11
|
default:
|
|
12
12
|
return new OverwriteStrategy();
|
|
13
13
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { FieldLike } from "../field-traversal";
|
|
2
2
|
import type { TranslationProvider } from "../translation-providers";
|
|
3
3
|
import type { TranslationStrategyName } from "./strategies";
|
|
4
4
|
export type TranslateContentArgs = {
|
|
5
5
|
/** Schema subtree to translate (e.g. `[declaredFieldConfig]`). */
|
|
6
|
-
schema:
|
|
6
|
+
schema: FieldLike[];
|
|
7
7
|
/** Source values, rooted to match `schema` (e.g. `{ [fieldName]: value }`). */
|
|
8
8
|
sourceData: Record<string, unknown>;
|
|
9
9
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { LeafFieldLike } from "../../field-traversal/types";
|
|
2
2
|
/**
|
|
3
3
|
* Represents a field-level chunk containing schema metadata.
|
|
4
4
|
* Used in stages 1-3 where schema awareness is needed.
|
|
@@ -6,8 +6,8 @@ import type { Field } from 'payload';
|
|
|
6
6
|
* Contains a reference to the parent data object for later mutation.
|
|
7
7
|
*/
|
|
8
8
|
export type FieldChunk = {
|
|
9
|
-
/** The field schema
|
|
10
|
-
schema:
|
|
9
|
+
/** The leaf field schema (only `type`/`name` are read downstream). */
|
|
10
|
+
schema: LeafFieldLike;
|
|
11
11
|
/** Reference to the parent data object (for mutation) */
|
|
12
12
|
dataRef: Record<string, unknown>;
|
|
13
13
|
/** The key in the dataRef object */
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { FieldLike } from "../../field-traversal";
|
|
2
2
|
/**
|
|
3
3
|
* Pipeline configuration for translation execution.
|
|
4
4
|
* Contains only data transformation inputs — no persistence concerns.
|
|
5
5
|
*/
|
|
6
6
|
export type PipelineConfig = {
|
|
7
|
-
schema:
|
|
7
|
+
schema: FieldLike[];
|
|
8
8
|
sourceData: Record<string, unknown>;
|
|
9
9
|
targetData: Record<string, unknown>;
|
|
10
10
|
sourceLng: string;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { FieldChunk } from
|
|
3
|
-
import type { TextChunk } from
|
|
1
|
+
import type { FieldLike } from "../../field-traversal";
|
|
2
|
+
import type { FieldChunk } from "./FieldChunk";
|
|
3
|
+
import type { TextChunk } from "./TextChunk";
|
|
4
4
|
/**
|
|
5
5
|
* Pipeline context passed through all stages.
|
|
6
6
|
* Each stage reads from context and writes its results back.
|
|
7
7
|
*/
|
|
8
8
|
export type PipelineContext = {
|
|
9
|
-
readonly schema:
|
|
9
|
+
readonly schema: FieldLike[];
|
|
10
10
|
readonly sourceData: Record<string, unknown>;
|
|
11
11
|
readonly targetData: Record<string, unknown>;
|
|
12
12
|
readonly sourceLng: string;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { SerializedTextNode } from
|
|
1
|
+
import type { SerializedTextNode } from "../../lexical";
|
|
2
2
|
/**
|
|
3
3
|
* Text chunk for plain text/textarea fields.
|
|
4
4
|
* Mutates dataRef[key] directly.
|
|
5
5
|
*/
|
|
6
6
|
export type PlainTextChunk = {
|
|
7
|
-
type:
|
|
7
|
+
type: "plain";
|
|
8
8
|
/** Unique index for translation mapping */
|
|
9
9
|
index: number;
|
|
10
10
|
/** Original text value */
|
|
@@ -19,7 +19,7 @@ export type PlainTextChunk = {
|
|
|
19
19
|
* Mutates nodeRef.text directly.
|
|
20
20
|
*/
|
|
21
21
|
export type RichTextChunk = {
|
|
22
|
-
type:
|
|
22
|
+
type: "richText";
|
|
23
23
|
/** Unique index for translation mapping */
|
|
24
24
|
index: number;
|
|
25
25
|
/** Original text value */
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Type guard for PlainTextChunk.
|
|
3
3
|
*/ export function isPlainTextChunk(chunk) {
|
|
4
|
-
return chunk.type ===
|
|
4
|
+
return chunk.type === "plain";
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
7
|
* Type guard for RichTextChunk.
|
|
8
8
|
*/ export function isRichTextChunk(chunk) {
|
|
9
|
-
return chunk.type ===
|
|
9
|
+
return chunk.type === "richText";
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
//# sourceMappingURL=TextChunk.js.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export type { FieldChunk } from "./FieldChunk";
|
|
2
|
+
export type { PlainTextChunk, RichTextChunk, TextChunk } from "./TextChunk";
|
|
3
|
+
export { isPlainTextChunk, isRichTextChunk } from "./TextChunk";
|
|
4
|
+
export type { PipelineConfig, PipelineResult } from "./Pipeline";
|
|
5
|
+
export type { PipelineContext, PipelineStage } from "./PipelineContext";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { TranslationProvider, TranslationInput, TranslationOutput, TranslationIndex, } from "./TranslationProvider.interface";
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
* Use composition with type-specific checks (e.g., isEmptyRichText) for those.
|
|
7
7
|
*/ export function isEmpty(value) {
|
|
8
8
|
if (value === undefined || value === null) return true;
|
|
9
|
-
if (typeof value ===
|
|
9
|
+
if (typeof value === "string" && value.trim() === "") return true;
|
|
10
10
|
if (Array.isArray(value) && value.length === 0) return true;
|
|
11
|
-
if (typeof value ===
|
|
11
|
+
if (typeof value === "object" && Object.keys(value).length === 0) return true;
|
|
12
12
|
return false;
|
|
13
13
|
}
|
|
14
14
|
|
package/dist/field-actions.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Field } from "payload";
|
|
2
|
-
import type { RawPayloadComponentExport } from "./
|
|
2
|
+
import type { RawPayloadComponentExport } from "./types/PayloadComponentExport";
|
|
3
3
|
/**
|
|
4
4
|
* Strategy for placing a per-field control into a field's admin config — the seam
|
|
5
5
|
* between *what* to render (a control component) and *where* it goes (positioning).
|
package/dist/field-config.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Field, RichTextField, TextareaField, TextField } from "payload";
|
|
2
|
-
import type { FieldTranslationConfig } from "./
|
|
2
|
+
import type { FieldTranslationConfig } from "./core/field-config";
|
|
3
3
|
export type { FieldTranslationConfig };
|
|
4
4
|
/**
|
|
5
5
|
* Field types eligible for the per-field translate control — the same text-bearing
|
package/dist/field-config.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TRANSLATE_KIT_CUSTOM_KEY } from "./
|
|
1
|
+
import { TRANSLATE_KIT_CUSTOM_KEY } from "./core/field-config";
|
|
2
2
|
import { TranslateFieldControlExport } from "./client/widgets/translate-field-control/ui/TranslateFieldControl.export";
|
|
3
3
|
import { beforeInputPositioner } from "./field-actions";
|
|
4
4
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
export { translatorPlugin } from "./plugin";
|
|
2
2
|
export type { TranslatorPluginConfig } from "./plugin";
|
|
3
|
+
export type { TranslationTask, TranslationLifecycleCallbacks } from "./server/modules/lifecycle";
|
|
4
|
+
export type { TranslationProvenanceRecord } from "./core";
|
|
3
5
|
export type { AccessGuard, AccessGuardRequest } from "./types/AccessGuard";
|
|
4
|
-
export {
|
|
5
|
-
export
|
|
6
|
+
export type { TranslationProvider, TranslationInput, TranslationOutput } from "./core";
|
|
7
|
+
export { createOpenAIProvider } from "./translation-providers";
|
|
8
|
+
export type { OpenAIProviderConfig, DryRunConfig } from "./translation-providers";
|
|
6
9
|
export { createPayloadJobsRunner, createSyncRunner } from "./server/modules/task-runner";
|
|
7
10
|
export type { TaskRunnerProvider, PayloadJobsRunnerOptions } from "./server/modules/task-runner";
|
|
8
|
-
export { documentLevel, collectionLevel, fieldLevel } from "./
|
|
11
|
+
export { documentLevel, collectionLevel, fieldLevel } from "./composition/levels";
|
|
9
12
|
export type { TranslationLevel } from "./server/modules/translation-levels";
|
|
10
13
|
export { withFieldTranslation } from "./field-config";
|
|
11
14
|
export type { FieldTranslationConfig } from "./field-config";
|
|
12
15
|
export { createTranslatePlugin, TranslateCollectionPlugin } from "./plugin";
|
|
13
16
|
export type { TranslateCollectionPluginConfig } from "./plugin";
|
|
14
|
-
export { OpenAITranslationProvider } from "./
|
|
17
|
+
export { OpenAITranslationProvider } from "./translation-providers";
|
|
15
18
|
export { translateKitField } from "./field-config";
|
|
16
19
|
export type { TranslateKitFieldConfig } from "./field-config";
|
package/dist/index.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
// Main plugin
|
|
2
2
|
export { translatorPlugin } from "./plugin";
|
|
3
|
-
//
|
|
4
|
-
export { createOpenAIProvider } from "./
|
|
3
|
+
// Built-in OpenAI provider (opt-in; pulls `openai`) — lives in the plugin's src/providers, outside core
|
|
4
|
+
export { createOpenAIProvider } from "./translation-providers";
|
|
5
5
|
// Task runners
|
|
6
6
|
export { createPayloadJobsRunner, createSyncRunner } from "./server/modules/task-runner";
|
|
7
7
|
// Translation levels
|
|
8
|
-
export { documentLevel, collectionLevel, fieldLevel } from "./
|
|
8
|
+
export { documentLevel, collectionLevel, fieldLevel } from "./composition/levels";
|
|
9
9
|
// Field config
|
|
10
10
|
export { withFieldTranslation } from "./field-config";
|
|
11
11
|
// Deprecated exports (for backwards compatibility)
|
|
12
12
|
export { createTranslatePlugin, TranslateCollectionPlugin } from "./plugin";
|
|
13
|
-
export { OpenAITranslationProvider } from "./
|
|
13
|
+
export { OpenAITranslationProvider } from "./translation-providers";
|
|
14
14
|
export { translateKitField } from "./field-config";
|
|
15
15
|
|
|
16
16
|
//# sourceMappingURL=index.js.map
|
package/dist/plugin.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { CollectionConfig, Config } from "payload";
|
|
2
2
|
import type { AccessGuard } from "./types/AccessGuard";
|
|
3
|
-
import type { TranslationProvider } from "./
|
|
3
|
+
import type { TranslationProvider } from "./core/translation-providers";
|
|
4
4
|
import type { TaskRunnerProvider } from "./server/modules/task-runner";
|
|
5
|
+
import type { TranslationLifecycleCallbacks } from "./server/modules/lifecycle";
|
|
5
6
|
import type { TranslationLevel } from "./server/modules/translation-levels";
|
|
6
7
|
export type TranslatorPluginConfig = {
|
|
7
8
|
/**
|
|
@@ -43,6 +44,31 @@ export type TranslatorPluginConfig = {
|
|
|
43
44
|
* @since 0.5.0
|
|
44
45
|
*/
|
|
45
46
|
levels?: TranslationLevel[];
|
|
47
|
+
/**
|
|
48
|
+
* Opt-in translation provenance — a durable, per-locale record of what source state each
|
|
49
|
+
* translation was derived from, stored in a plugin-managed sidecar collection. Set `true` (or `{}`)
|
|
50
|
+
* to enable with the default slug, or `{ slug }` to customise it. Omit (or `false`) to disable
|
|
51
|
+
* entirely — no collection, no migration, no behaviour change. **Enabling it on a SQL database adds
|
|
52
|
+
* a table**: generate and run a migration (`payload migrate:create` + `payload migrate`; dev push in
|
|
53
|
+
* development; MongoDB infers it with no migration). The lifecycle callbacks are unaffected by this
|
|
54
|
+
* flag.
|
|
55
|
+
* @since 0.7.0
|
|
56
|
+
*/
|
|
57
|
+
provenance?: boolean | {
|
|
58
|
+
/**
|
|
59
|
+
* Slug for the sidecar collection. Change it only to resolve a collision with an existing
|
|
60
|
+
* collection.
|
|
61
|
+
* @default 'translator-provenance'
|
|
62
|
+
*/
|
|
63
|
+
slug?: string;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Optional server-side lifecycle callbacks fired around each translation task
|
|
67
|
+
* (`onQueued` / `onCompleted` / `onFailed`). Always available — no schema, no migration, not gated
|
|
68
|
+
* by `provenance`. A throwing callback is caught and logged, never failing the translation.
|
|
69
|
+
* @since 0.7.0
|
|
70
|
+
*/
|
|
71
|
+
lifecycle?: TranslationLifecycleCallbacks;
|
|
46
72
|
};
|
|
47
73
|
/** @deprecated Use `TranslatorPluginConfig` instead */
|
|
48
74
|
export type TranslateCollectionPluginConfig = TranslatorPluginConfig;
|
package/dist/plugin.js
CHANGED
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
import { CacheProviderExport } from "./client/app/cache/CacheProvider.export";
|
|
2
|
+
import { DEFAULT_PROVENANCE_SLUG, PayloadProvenanceStore, assertProvenanceSlugFree, injectProvenanceCleanup, isProvenanceCollection, makeProvenanceCollection } from "./server/modules/provenance";
|
|
2
3
|
import { TranslateDocumentHandler } from "./server/features/translate-document";
|
|
3
|
-
import {
|
|
4
|
+
import { LifecycleNotifier, taskFromHandlerInput, withQueuedNotification } from "./server/modules/lifecycle";
|
|
5
|
+
import { documentLevel, collectionLevel } from "./composition/levels";
|
|
4
6
|
import { PluginConfigBuilder } from "./server/modules/translation-levels/PluginConfigBuilder";
|
|
5
7
|
import { normalizePath } from "./server/shared";
|
|
8
|
+
/**
|
|
9
|
+
* Resolve the opt-in `provenance` config to a sidecar slug, or `null` when disabled.
|
|
10
|
+
* `false`/omitted → off; `true` or `{}` → on with the default slug; `{ slug }` → on with that slug.
|
|
11
|
+
*/ function resolveProvenanceSlug(provenance) {
|
|
12
|
+
if (!provenance) return null;
|
|
13
|
+
if (provenance === true) return DEFAULT_PROVENANCE_SLUG;
|
|
14
|
+
// `||` (not `??`) so an empty/blank slug falls back to the default instead of silently disabling.
|
|
15
|
+
return provenance.slug || DEFAULT_PROVENANCE_SLUG;
|
|
16
|
+
}
|
|
6
17
|
/** @deprecated Use `translatorPlugin` function instead */ export class TranslateCollectionPlugin {
|
|
7
18
|
pluginConfig;
|
|
8
19
|
constructor(pluginConfig){
|
|
@@ -10,7 +21,8 @@ import { normalizePath } from "./server/shared";
|
|
|
10
21
|
}
|
|
11
22
|
init() {
|
|
12
23
|
return async (config)=>{
|
|
13
|
-
const { access, translationProvider, runner, collections, levels, basePath: rawBasePath = "/translate" } = this.pluginConfig;
|
|
24
|
+
const { access, translationProvider, runner, collections, levels, provenance, lifecycle, basePath: rawBasePath = "/translate" } = this.pluginConfig;
|
|
25
|
+
const lifecycleCallbacks = lifecycle ?? {};
|
|
14
26
|
// Build schema map from deep-cloned collections
|
|
15
27
|
// Deep clone is required because Payload mutates the original collection objects,
|
|
16
28
|
// removing `localized: true` from nested fields during sanitization.
|
|
@@ -25,17 +37,31 @@ import { normalizePath } from "./server/shared";
|
|
|
25
37
|
]));
|
|
26
38
|
const collectionSlugs = new Set(schemaMap.keys());
|
|
27
39
|
const basePath = normalizePath(rawBasePath);
|
|
28
|
-
const
|
|
40
|
+
const provenanceSlug = resolveProvenanceSlug(provenance);
|
|
41
|
+
if (provenanceSlug) {
|
|
42
|
+
const existing = (config.collections ?? []).filter((collection)=>!isProvenanceCollection(collection));
|
|
43
|
+
assertProvenanceSlugFree(provenanceSlug, existing);
|
|
44
|
+
}
|
|
45
|
+
const provenanceStoreFactory = provenanceSlug ? (p)=>new PayloadProvenanceStore(p, provenanceSlug) : undefined;
|
|
46
|
+
const translateHandler = new TranslateDocumentHandler(translationProvider, schemaMap, provenanceStoreFactory);
|
|
29
47
|
const runnerContext = {
|
|
30
48
|
handler: async (payload, input)=>{
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
49
|
+
const notifier = new LifecycleNotifier(lifecycleCallbacks, payload.logger);
|
|
50
|
+
const task = taskFromHandlerInput(input);
|
|
51
|
+
try {
|
|
52
|
+
await translateHandler.handle(payload, {
|
|
53
|
+
collection: input.collection,
|
|
54
|
+
collectionId: input.collectionId,
|
|
55
|
+
sourceLng: input.sourceLng,
|
|
56
|
+
targetLng: input.targetLng,
|
|
57
|
+
strategy: input.strategy,
|
|
58
|
+
publishOnTranslation: input.publishOnTranslation
|
|
59
|
+
});
|
|
60
|
+
} catch (error) {
|
|
61
|
+
await notifier.failed(task, error);
|
|
62
|
+
throw error; // rethrow so the runner marks the job failed
|
|
63
|
+
}
|
|
64
|
+
await notifier.completed(task);
|
|
39
65
|
},
|
|
40
66
|
collections: Array.from(collectionSlugs)
|
|
41
67
|
};
|
|
@@ -43,8 +69,13 @@ import { normalizePath } from "./server/shared";
|
|
|
43
69
|
// Bind the context once so routes receive a self-sufficient factory: the
|
|
44
70
|
// runner needs no mutable per-instance handler state and create() has no
|
|
45
71
|
// "configure() must run first" ordering coupling (translator plan, 0c).
|
|
72
|
+
// When an `onQueued` callback is set, decorate the runner so `enqueue` fires it.
|
|
46
73
|
const taskRunnerFactory = {
|
|
47
|
-
create: (payload)=>
|
|
74
|
+
create: (payload)=>{
|
|
75
|
+
const taskRunner = runner.create(payload, runnerContext.handler);
|
|
76
|
+
if (!lifecycleCallbacks.onQueued) return taskRunner;
|
|
77
|
+
return withQueuedNotification(taskRunner, new LifecycleNotifier(lifecycleCallbacks, payload.logger));
|
|
78
|
+
}
|
|
48
79
|
};
|
|
49
80
|
const activeLevels = levels ?? [
|
|
50
81
|
documentLevel(),
|
|
@@ -59,11 +90,20 @@ import { normalizePath } from "./server/shared";
|
|
|
59
90
|
translationProvider
|
|
60
91
|
});
|
|
61
92
|
for (const level of activeLevels)level.extend(builder);
|
|
62
|
-
// Plugin-level contributions, routed through the same single config-writer:
|
|
63
|
-
// - the runner's jobs/autorun/onInit modifier (the builder applies it first,
|
|
64
|
-
// so a modifier returning a fresh config object doesn't drop later writes),
|
|
65
|
-
// - the always-on client cache provider.
|
|
66
93
|
builder.addConfigModifier(runnerConfigModifier);
|
|
94
|
+
if (provenanceSlug && provenanceStoreFactory) {
|
|
95
|
+
builder.addConfigModifier((cfg)=>{
|
|
96
|
+
const alreadyAdded = cfg.collections?.some((collection)=>collection.slug === provenanceSlug && isProvenanceCollection(collection));
|
|
97
|
+
if (!alreadyAdded) {
|
|
98
|
+
cfg.collections = [
|
|
99
|
+
...cfg.collections ?? [],
|
|
100
|
+
makeProvenanceCollection(provenanceSlug)
|
|
101
|
+
];
|
|
102
|
+
}
|
|
103
|
+
injectProvenanceCleanup(cfg, collectionSlugs, provenanceStoreFactory, provenanceSlug);
|
|
104
|
+
return cfg;
|
|
105
|
+
});
|
|
106
|
+
}
|
|
67
107
|
builder.addAdminProvider(new CacheProviderExport(basePath));
|
|
68
108
|
// The single place the Payload config is mutated.
|
|
69
109
|
return builder.applyTo(config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from
|
|
1
|
+
export * from "./collection-utils";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { createCancelRoute } from
|
|
1
|
+
export { createCancelRoute } from "./route";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { createCancelByCollectionRoute } from
|
|
1
|
+
export { createCancelByCollectionRoute } from "./route";
|
|
@@ -20,4 +20,4 @@ export type TranslationRoutesDeps = {
|
|
|
20
20
|
* context; the plugin deduplicates by method + path, so it registers exactly
|
|
21
21
|
* once. Behaviour-preserving: same endpoints, same order, same wiring.
|
|
22
22
|
*/
|
|
23
|
-
export declare function createTranslationRoutes({ taskRunnerFactory, collectionConfig, access, basePath }: TranslationRoutesDeps): Endpoint[];
|
|
23
|
+
export declare function createTranslationRoutes({ taskRunnerFactory, collectionConfig, access, basePath, }: TranslationRoutesDeps): Endpoint[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { createEnqueueRoute } from
|
|
1
|
+
export { createEnqueueRoute } from "./route";
|