@focus-reactive/payload-plugin-translator 0.1.0 → 0.1.2

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.
Files changed (636) hide show
  1. package/README.md +27 -14
  2. package/dist/client/app/cache/CacheProvider.export.js +1 -1
  3. package/dist/client/entities/translation/ui/CompletedTranslationStatus/styles.module.scss +3 -0
  4. package/dist/client/entities/translation/ui/FailedTranslationStatus/styles.module.scss +3 -0
  5. package/dist/client/entities/translation/ui/TranslationDirection/styles.module.scss +16 -0
  6. package/dist/client/features/collection-translation-form/ui/styles.module.scss +31 -0
  7. package/dist/client/features/collection-translation-popup/ui/styles.module.scss +18 -0
  8. package/dist/client/features/collection-translation-progress/ui/styles.module.scss +8 -0
  9. package/dist/client/features/open-document-translation-popup/ui/styles.module.scss +11 -0
  10. package/dist/client/features/translate-document-form/ui/styles.module.scss +18 -0
  11. package/dist/client/shared/ui/Alert/styles.module.scss +31 -0
  12. package/dist/client/shared/ui/Button/styles.module.scss +103 -0
  13. package/dist/client/shared/ui/Checkbox/styles.module.scss +17 -0
  14. package/dist/client/shared/ui/ColorIndicator/styles.module.scss +37 -0
  15. package/dist/client/shared/ui/Description/styles.module.scss +14 -0
  16. package/dist/client/shared/ui/Divider/styles.module.scss +56 -0
  17. package/dist/client/shared/ui/Label/styles.module.scss +12 -0
  18. package/dist/client/shared/ui/Loading/styles.module.scss +141 -0
  19. package/dist/client/shared/ui/Popup/styles.module.scss +7 -0
  20. package/dist/client/shared/ui/ProgressBar/styles.module.scss +64 -0
  21. package/dist/client/shared/ui/Select/styles.module.scss +55 -0
  22. package/dist/client/shared/ui/StatusCounter/styles.module.scss +46 -0
  23. package/dist/client/shared/ui/StatusIndicator/styles.module.scss +12 -0
  24. package/dist/client/shared/ui/Tooltip/styles.module.scss +84 -0
  25. package/dist/client/shared/ui/form/FormCheckbox/styles.module.scss +23 -0
  26. package/dist/client/shared/ui/form/FormCheckboxPublish/styles.module.scss +16 -0
  27. package/dist/client/shared/ui/form/FormSelectStrategy/styles.module.scss +16 -0
  28. package/dist/client/shared/utils/componentPath.d.ts +1 -1
  29. package/dist/client/shared/utils/componentPath.js +1 -1
  30. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.export.js +1 -1
  31. package/dist/client/widgets/translate-document/ui/TranslateDocument.export.js +1 -1
  32. package/package.json +32 -17
  33. package/dist/client/app/cache/CacheProvider.d.ts.map +0 -1
  34. package/dist/client/app/cache/CacheProvider.export.d.ts.map +0 -1
  35. package/dist/client/app/cache/CacheProvider.export.js.map +0 -1
  36. package/dist/client/app/cache/CacheProvider.js.map +0 -1
  37. package/dist/client/app/cache/CacheProvider.jsx +0 -11
  38. package/dist/client/app/config/TranslateKitConfigContext.d.ts.map +0 -1
  39. package/dist/client/app/config/TranslateKitConfigContext.js.map +0 -1
  40. package/dist/client/app/config/TranslateKitConfigContext.jsx +0 -13
  41. package/dist/client/app/config/index.d.ts.map +0 -1
  42. package/dist/client/app/config/index.js.map +0 -1
  43. package/dist/client/entities/translation/api/mutations/useCancelCollectionTranslations.d.ts.map +0 -1
  44. package/dist/client/entities/translation/api/mutations/useCancelCollectionTranslations.js.map +0 -1
  45. package/dist/client/entities/translation/api/mutations/useCancelDocumentTranslation.d.ts.map +0 -1
  46. package/dist/client/entities/translation/api/mutations/useCancelDocumentTranslation.js.map +0 -1
  47. package/dist/client/entities/translation/api/mutations/useQueueDocumentTranslation.d.ts.map +0 -1
  48. package/dist/client/entities/translation/api/mutations/useQueueDocumentTranslation.js.map +0 -1
  49. package/dist/client/entities/translation/api/mutations/useQueueDocumentTranslations.d.ts.map +0 -1
  50. package/dist/client/entities/translation/api/mutations/useQueueDocumentTranslations.js.map +0 -1
  51. package/dist/client/entities/translation/api/mutations/useRunDocumentTranslation.d.ts.map +0 -1
  52. package/dist/client/entities/translation/api/mutations/useRunDocumentTranslation.js.map +0 -1
  53. package/dist/client/entities/translation/api/queries/useCollectionTranslationStatus.d.ts.map +0 -1
  54. package/dist/client/entities/translation/api/queries/useCollectionTranslationStatus.js.map +0 -1
  55. package/dist/client/entities/translation/api/queries/useDocumentTranslation.d.ts.map +0 -1
  56. package/dist/client/entities/translation/api/queries/useDocumentTranslation.js.map +0 -1
  57. package/dist/client/entities/translation/index.d.ts.map +0 -1
  58. package/dist/client/entities/translation/index.js.map +0 -1
  59. package/dist/client/entities/translation/model/enums.d.ts.map +0 -1
  60. package/dist/client/entities/translation/model/enums.js.map +0 -1
  61. package/dist/client/entities/translation/model/types.d.ts.map +0 -1
  62. package/dist/client/entities/translation/model/types.js.map +0 -1
  63. package/dist/client/entities/translation/ui/CompletedTranslationStatus/CompletedTranslationStatus.d.ts.map +0 -1
  64. package/dist/client/entities/translation/ui/CompletedTranslationStatus/CompletedTranslationStatus.js.map +0 -1
  65. package/dist/client/entities/translation/ui/CompletedTranslationStatus/CompletedTranslationStatus.jsx +0 -25
  66. package/dist/client/entities/translation/ui/CompletedTranslationStatus/index.d.ts.map +0 -1
  67. package/dist/client/entities/translation/ui/CompletedTranslationStatus/index.js.map +0 -1
  68. package/dist/client/entities/translation/ui/FailedTranslationStatus/FailedTranslationStatus.d.ts.map +0 -1
  69. package/dist/client/entities/translation/ui/FailedTranslationStatus/FailedTranslationStatus.js.map +0 -1
  70. package/dist/client/entities/translation/ui/FailedTranslationStatus/FailedTranslationStatus.jsx +0 -24
  71. package/dist/client/entities/translation/ui/FailedTranslationStatus/index.d.ts.map +0 -1
  72. package/dist/client/entities/translation/ui/FailedTranslationStatus/index.js.map +0 -1
  73. package/dist/client/entities/translation/ui/PendingTranslationStatus/PendingTranslationStatus.d.ts.map +0 -1
  74. package/dist/client/entities/translation/ui/PendingTranslationStatus/PendingTranslationStatus.js.map +0 -1
  75. package/dist/client/entities/translation/ui/PendingTranslationStatus/PendingTranslationStatus.jsx +0 -38
  76. package/dist/client/entities/translation/ui/PendingTranslationStatus/index.d.ts.map +0 -1
  77. package/dist/client/entities/translation/ui/PendingTranslationStatus/index.js.map +0 -1
  78. package/dist/client/entities/translation/ui/RunningTranslationStatus/RunningTranslationStatus.d.ts.map +0 -1
  79. package/dist/client/entities/translation/ui/RunningTranslationStatus/RunningTranslationStatus.js.map +0 -1
  80. package/dist/client/entities/translation/ui/RunningTranslationStatus/RunningTranslationStatus.jsx +0 -32
  81. package/dist/client/entities/translation/ui/RunningTranslationStatus/index.d.ts.map +0 -1
  82. package/dist/client/entities/translation/ui/RunningTranslationStatus/index.js.map +0 -1
  83. package/dist/client/entities/translation/ui/TranslationDirection/TranslationDirection.d.ts.map +0 -1
  84. package/dist/client/entities/translation/ui/TranslationDirection/TranslationDirection.js.map +0 -1
  85. package/dist/client/entities/translation/ui/TranslationDirection/TranslationDirection.jsx +0 -16
  86. package/dist/client/entities/translation/ui/TranslationDirection/index.d.ts.map +0 -1
  87. package/dist/client/entities/translation/ui/TranslationDirection/index.js.map +0 -1
  88. package/dist/client/features/collection-translation-form/index.client.d.ts.map +0 -1
  89. package/dist/client/features/collection-translation-form/index.client.js.map +0 -1
  90. package/dist/client/features/collection-translation-form/index.d.ts.map +0 -1
  91. package/dist/client/features/collection-translation-form/index.js.map +0 -1
  92. package/dist/client/features/collection-translation-form/model/constants.d.ts.map +0 -1
  93. package/dist/client/features/collection-translation-form/model/constants.js.map +0 -1
  94. package/dist/client/features/collection-translation-form/model/form-model.d.ts.map +0 -1
  95. package/dist/client/features/collection-translation-form/model/form-model.js.map +0 -1
  96. package/dist/client/features/collection-translation-form/model/index.d.ts.map +0 -1
  97. package/dist/client/features/collection-translation-form/model/index.js.map +0 -1
  98. package/dist/client/features/collection-translation-form/model/schema.d.ts.map +0 -1
  99. package/dist/client/features/collection-translation-form/model/schema.js.map +0 -1
  100. package/dist/client/features/collection-translation-form/ui/CollectionTranslationForm.d.ts.map +0 -1
  101. package/dist/client/features/collection-translation-form/ui/CollectionTranslationForm.js.map +0 -1
  102. package/dist/client/features/collection-translation-form/ui/CollectionTranslationForm.jsx +0 -25
  103. package/dist/client/features/collection-translation-form/ui/index.d.ts.map +0 -1
  104. package/dist/client/features/collection-translation-form/ui/index.js.map +0 -1
  105. package/dist/client/features/collection-translation-popup/index.d.ts.map +0 -1
  106. package/dist/client/features/collection-translation-popup/index.js.map +0 -1
  107. package/dist/client/features/collection-translation-popup/ui/CollectionTranslationPopup.d.ts.map +0 -1
  108. package/dist/client/features/collection-translation-popup/ui/CollectionTranslationPopup.js.map +0 -1
  109. package/dist/client/features/collection-translation-popup/ui/CollectionTranslationPopup.jsx +0 -23
  110. package/dist/client/features/collection-translation-progress/index.d.ts.map +0 -1
  111. package/dist/client/features/collection-translation-progress/index.js.map +0 -1
  112. package/dist/client/features/collection-translation-progress/ui/CollectionTranslationProgress.d.ts.map +0 -1
  113. package/dist/client/features/collection-translation-progress/ui/CollectionTranslationProgress.js.map +0 -1
  114. package/dist/client/features/collection-translation-progress/ui/CollectionTranslationProgress.jsx +0 -47
  115. package/dist/client/features/document-translation-progress-failed/index.d.ts.map +0 -1
  116. package/dist/client/features/document-translation-progress-failed/index.js.map +0 -1
  117. package/dist/client/features/document-translation-progress-failed/ui/DocumentTranslationProgressFailed.d.ts.map +0 -1
  118. package/dist/client/features/document-translation-progress-failed/ui/DocumentTranslationProgressFailed.js.map +0 -1
  119. package/dist/client/features/document-translation-progress-failed/ui/DocumentTranslationProgressFailed.jsx +0 -19
  120. package/dist/client/features/document-translation-progress-pending/index.d.ts.map +0 -1
  121. package/dist/client/features/document-translation-progress-pending/index.js.map +0 -1
  122. package/dist/client/features/document-translation-progress-pending/ui/DocumentTranslationProgressPending.d.ts.map +0 -1
  123. package/dist/client/features/document-translation-progress-pending/ui/DocumentTranslationProgressPending.js.map +0 -1
  124. package/dist/client/features/document-translation-progress-pending/ui/DocumentTranslationProgressPending.jsx +0 -34
  125. package/dist/client/features/document-translation-progress-running/index.d.ts.map +0 -1
  126. package/dist/client/features/document-translation-progress-running/index.js.map +0 -1
  127. package/dist/client/features/document-translation-progress-running/ui/DocumentTranslationProgressRunning.d.ts.map +0 -1
  128. package/dist/client/features/document-translation-progress-running/ui/DocumentTranslationProgressRunning.js.map +0 -1
  129. package/dist/client/features/document-translation-progress-running/ui/DocumentTranslationProgressRunning.jsx +0 -19
  130. package/dist/client/features/open-document-translation-popup/index.d.ts.map +0 -1
  131. package/dist/client/features/open-document-translation-popup/index.js.map +0 -1
  132. package/dist/client/features/open-document-translation-popup/ui/OpenDocumentTranslationPopup.d.ts.map +0 -1
  133. package/dist/client/features/open-document-translation-popup/ui/OpenDocumentTranslationPopup.js.map +0 -1
  134. package/dist/client/features/open-document-translation-popup/ui/OpenDocumentTranslationPopup.jsx +0 -15
  135. package/dist/client/features/translate-document-form/index.client.d.ts.map +0 -1
  136. package/dist/client/features/translate-document-form/index.client.js.map +0 -1
  137. package/dist/client/features/translate-document-form/index.d.ts.map +0 -1
  138. package/dist/client/features/translate-document-form/index.js.map +0 -1
  139. package/dist/client/features/translate-document-form/model/constants.d.ts.map +0 -1
  140. package/dist/client/features/translate-document-form/model/constants.js.map +0 -1
  141. package/dist/client/features/translate-document-form/model/form-model.d.ts.map +0 -1
  142. package/dist/client/features/translate-document-form/model/form-model.js.map +0 -1
  143. package/dist/client/features/translate-document-form/model/index.d.ts.map +0 -1
  144. package/dist/client/features/translate-document-form/model/index.js.map +0 -1
  145. package/dist/client/features/translate-document-form/model/schema.d.ts.map +0 -1
  146. package/dist/client/features/translate-document-form/model/schema.js.map +0 -1
  147. package/dist/client/features/translate-document-form/ui/DocumentTranslationForm.d.ts.map +0 -1
  148. package/dist/client/features/translate-document-form/ui/DocumentTranslationForm.js.map +0 -1
  149. package/dist/client/features/translate-document-form/ui/DocumentTranslationForm.jsx +0 -24
  150. package/dist/client/features/translate-document-form/ui/index.d.ts.map +0 -1
  151. package/dist/client/features/translate-document-form/ui/index.js.map +0 -1
  152. package/dist/client/shared/lib/assets/icons/LanguageTranslateIcon.d.ts.map +0 -1
  153. package/dist/client/shared/lib/assets/icons/LanguageTranslateIcon.js.map +0 -1
  154. package/dist/client/shared/lib/assets/icons/LanguageTranslateIcon.jsx +0 -4
  155. package/dist/client/shared/lib/assets/icons/QuestionCircleIcon.d.ts.map +0 -1
  156. package/dist/client/shared/lib/assets/icons/QuestionCircleIcon.js.map +0 -1
  157. package/dist/client/shared/lib/assets/icons/QuestionCircleIcon.jsx +0 -3
  158. package/dist/client/shared/lib/assets/icons/ReloadIcon.d.ts.map +0 -1
  159. package/dist/client/shared/lib/assets/icons/ReloadIcon.js.map +0 -1
  160. package/dist/client/shared/lib/assets/icons/ReloadIcon.jsx +0 -3
  161. package/dist/client/shared/lib/errors/handleApiError.d.ts.map +0 -1
  162. package/dist/client/shared/lib/errors/handleApiError.js.map +0 -1
  163. package/dist/client/shared/lib/forms/handle-form-error.d.ts.map +0 -1
  164. package/dist/client/shared/lib/forms/handle-form-error.js.map +0 -1
  165. package/dist/client/shared/lib/payload/hooks/useCollectionDashboardUrlParams.d.ts.map +0 -1
  166. package/dist/client/shared/lib/payload/hooks/useCollectionDashboardUrlParams.js.map +0 -1
  167. package/dist/client/shared/lib/payload/hooks/useCollectionDocumentUrlParams.d.ts.map +0 -1
  168. package/dist/client/shared/lib/payload/hooks/useCollectionDocumentUrlParams.js.map +0 -1
  169. package/dist/client/shared/lib/payload/hooks/useLocaleOptions.d.ts.map +0 -1
  170. package/dist/client/shared/lib/payload/hooks/useLocaleOptions.js.map +0 -1
  171. package/dist/client/shared/lib/utils/errors/handleApiError.d.ts.map +0 -1
  172. package/dist/client/shared/lib/utils/errors/handleApiError.js.map +0 -1
  173. package/dist/client/shared/lib/utils/react/useToggle.d.ts.map +0 -1
  174. package/dist/client/shared/lib/utils/react/useToggle.js.map +0 -1
  175. package/dist/client/shared/providers/CacheClientProvider/CacheClientProvider.factory.d.ts.map +0 -1
  176. package/dist/client/shared/providers/CacheClientProvider/CacheClientProvider.factory.js.map +0 -1
  177. package/dist/client/shared/providers/CacheClientProvider/index.d.ts.map +0 -1
  178. package/dist/client/shared/providers/CacheClientProvider/index.js.map +0 -1
  179. package/dist/client/shared/types/AccessGuard.d.ts.map +0 -1
  180. package/dist/client/shared/types/AccessGuard.js.map +0 -1
  181. package/dist/client/shared/types/PayloadComponentExport.d.ts.map +0 -1
  182. package/dist/client/shared/types/PayloadComponentExport.js.map +0 -1
  183. package/dist/client/shared/ui/Alert/Alert.d.ts.map +0 -1
  184. package/dist/client/shared/ui/Alert/Alert.js.map +0 -1
  185. package/dist/client/shared/ui/Alert/Alert.jsx +0 -33
  186. package/dist/client/shared/ui/Alert/index.d.ts.map +0 -1
  187. package/dist/client/shared/ui/Alert/index.js.map +0 -1
  188. package/dist/client/shared/ui/Button/Button.d.ts.map +0 -1
  189. package/dist/client/shared/ui/Button/Button.js.map +0 -1
  190. package/dist/client/shared/ui/Button/Button.jsx +0 -35
  191. package/dist/client/shared/ui/Button/index.d.ts.map +0 -1
  192. package/dist/client/shared/ui/Button/index.js.map +0 -1
  193. package/dist/client/shared/ui/Checkbox/Checkbox.d.ts.map +0 -1
  194. package/dist/client/shared/ui/Checkbox/Checkbox.js.map +0 -1
  195. package/dist/client/shared/ui/Checkbox/Checkbox.jsx +0 -6
  196. package/dist/client/shared/ui/Checkbox/index.d.ts.map +0 -1
  197. package/dist/client/shared/ui/Checkbox/index.js.map +0 -1
  198. package/dist/client/shared/ui/ColorIndicator/ColorIndicator.d.ts.map +0 -1
  199. package/dist/client/shared/ui/ColorIndicator/ColorIndicator.js.map +0 -1
  200. package/dist/client/shared/ui/ColorIndicator/ColorIndicator.jsx +0 -7
  201. package/dist/client/shared/ui/ColorIndicator/index.d.ts.map +0 -1
  202. package/dist/client/shared/ui/ColorIndicator/index.js.map +0 -1
  203. package/dist/client/shared/ui/Description/Description.d.ts.map +0 -1
  204. package/dist/client/shared/ui/Description/Description.js.map +0 -1
  205. package/dist/client/shared/ui/Description/Description.jsx +0 -7
  206. package/dist/client/shared/ui/Description/index.d.ts.map +0 -1
  207. package/dist/client/shared/ui/Description/index.js.map +0 -1
  208. package/dist/client/shared/ui/Divider/Divider.d.ts.map +0 -1
  209. package/dist/client/shared/ui/Divider/Divider.js.map +0 -1
  210. package/dist/client/shared/ui/Divider/Divider.jsx +0 -7
  211. package/dist/client/shared/ui/Divider/index.d.ts.map +0 -1
  212. package/dist/client/shared/ui/Divider/index.js.map +0 -1
  213. package/dist/client/shared/ui/Label/Label.d.ts.map +0 -1
  214. package/dist/client/shared/ui/Label/Label.js.map +0 -1
  215. package/dist/client/shared/ui/Label/Label.jsx +0 -9
  216. package/dist/client/shared/ui/Label/index.d.ts.map +0 -1
  217. package/dist/client/shared/ui/Label/index.js.map +0 -1
  218. package/dist/client/shared/ui/Loading/Loading.d.ts.map +0 -1
  219. package/dist/client/shared/ui/Loading/Loading.js.map +0 -1
  220. package/dist/client/shared/ui/Loading/Loading.jsx +0 -11
  221. package/dist/client/shared/ui/Loading/index.d.ts.map +0 -1
  222. package/dist/client/shared/ui/Loading/index.js.map +0 -1
  223. package/dist/client/shared/ui/Popup/Popup.d.ts.map +0 -1
  224. package/dist/client/shared/ui/Popup/Popup.js.map +0 -1
  225. package/dist/client/shared/ui/Popup/Popup.jsx +0 -13
  226. package/dist/client/shared/ui/Popup/index.d.ts.map +0 -1
  227. package/dist/client/shared/ui/Popup/index.js.map +0 -1
  228. package/dist/client/shared/ui/ProgressBar/ProgressBar.d.ts.map +0 -1
  229. package/dist/client/shared/ui/ProgressBar/ProgressBar.js.map +0 -1
  230. package/dist/client/shared/ui/ProgressBar/ProgressBar.jsx +0 -11
  231. package/dist/client/shared/ui/ProgressBar/index.d.ts.map +0 -1
  232. package/dist/client/shared/ui/ProgressBar/index.js.map +0 -1
  233. package/dist/client/shared/ui/Select/Select.d.ts.map +0 -1
  234. package/dist/client/shared/ui/Select/Select.js.map +0 -1
  235. package/dist/client/shared/ui/Select/Select.jsx +0 -41
  236. package/dist/client/shared/ui/Select/index.d.ts.map +0 -1
  237. package/dist/client/shared/ui/Select/index.js.map +0 -1
  238. package/dist/client/shared/ui/StatusCounter/StatusCounter.d.ts.map +0 -1
  239. package/dist/client/shared/ui/StatusCounter/StatusCounter.js.map +0 -1
  240. package/dist/client/shared/ui/StatusCounter/StatusCounter.jsx +0 -26
  241. package/dist/client/shared/ui/StatusCounter/index.d.ts.map +0 -1
  242. package/dist/client/shared/ui/StatusCounter/index.js.map +0 -1
  243. package/dist/client/shared/ui/StatusIndicator/StatusIndicator.d.ts.map +0 -1
  244. package/dist/client/shared/ui/StatusIndicator/StatusIndicator.js.map +0 -1
  245. package/dist/client/shared/ui/StatusIndicator/StatusIndicator.jsx +0 -10
  246. package/dist/client/shared/ui/StatusIndicator/index.d.ts.map +0 -1
  247. package/dist/client/shared/ui/StatusIndicator/index.js.map +0 -1
  248. package/dist/client/shared/ui/Tooltip/Tooltip.d.ts.map +0 -1
  249. package/dist/client/shared/ui/Tooltip/Tooltip.js.map +0 -1
  250. package/dist/client/shared/ui/Tooltip/Tooltip.jsx +0 -16
  251. package/dist/client/shared/ui/Tooltip/index.d.ts.map +0 -1
  252. package/dist/client/shared/ui/Tooltip/index.js.map +0 -1
  253. package/dist/client/shared/ui/form/FormCheckbox/FormCheckbox.d.ts.map +0 -1
  254. package/dist/client/shared/ui/form/FormCheckbox/FormCheckbox.js.map +0 -1
  255. package/dist/client/shared/ui/form/FormCheckbox/FormCheckbox.jsx +0 -24
  256. package/dist/client/shared/ui/form/FormCheckbox/index.d.ts.map +0 -1
  257. package/dist/client/shared/ui/form/FormCheckbox/index.js.map +0 -1
  258. package/dist/client/shared/ui/form/FormCheckboxPublish/FormCheckboxPublish.d.ts.map +0 -1
  259. package/dist/client/shared/ui/form/FormCheckboxPublish/FormCheckboxPublish.js.map +0 -1
  260. package/dist/client/shared/ui/form/FormCheckboxPublish/FormCheckboxPublish.jsx +0 -21
  261. package/dist/client/shared/ui/form/FormCheckboxPublish/index.d.ts.map +0 -1
  262. package/dist/client/shared/ui/form/FormCheckboxPublish/index.js.map +0 -1
  263. package/dist/client/shared/ui/form/FormSelect/FormSelect.d.ts.map +0 -1
  264. package/dist/client/shared/ui/form/FormSelect/FormSelect.js.map +0 -1
  265. package/dist/client/shared/ui/form/FormSelect/FormSelect.jsx +0 -44
  266. package/dist/client/shared/ui/form/FormSelect/index.d.ts.map +0 -1
  267. package/dist/client/shared/ui/form/FormSelect/index.js.map +0 -1
  268. package/dist/client/shared/ui/form/FormSelectLocale/FormSelectLocale.d.ts.map +0 -1
  269. package/dist/client/shared/ui/form/FormSelectLocale/FormSelectLocale.js.map +0 -1
  270. package/dist/client/shared/ui/form/FormSelectLocale/FormSelectLocale.jsx +0 -6
  271. package/dist/client/shared/ui/form/FormSelectLocale/index.d.ts.map +0 -1
  272. package/dist/client/shared/ui/form/FormSelectLocale/index.js.map +0 -1
  273. package/dist/client/shared/ui/form/FormSelectStrategy/FormSelectStrategy.d.ts.map +0 -1
  274. package/dist/client/shared/ui/form/FormSelectStrategy/FormSelectStrategy.js.map +0 -1
  275. package/dist/client/shared/ui/form/FormSelectStrategy/FormSelectStrategy.jsx +0 -25
  276. package/dist/client/shared/ui/form/FormSelectStrategy/index.d.ts.map +0 -1
  277. package/dist/client/shared/ui/form/FormSelectStrategy/index.js.map +0 -1
  278. package/dist/client/shared/utils/componentPath.d.ts.map +0 -1
  279. package/dist/client/shared/utils/componentPath.js.map +0 -1
  280. package/dist/client/widgets/bulk-translation-dashboard/index.d.ts.map +0 -1
  281. package/dist/client/widgets/bulk-translation-dashboard/index.js.map +0 -1
  282. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.d.ts.map +0 -1
  283. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.export.d.ts.map +0 -1
  284. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.export.js.map +0 -1
  285. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.export.jsx +0 -11
  286. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.js.map +0 -1
  287. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.jsx +0 -55
  288. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.server.d.ts.map +0 -1
  289. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.server.js.map +0 -1
  290. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.server.jsx +0 -17
  291. package/dist/client/widgets/bulk-translation-dashboard/ui/index.d.ts.map +0 -1
  292. package/dist/client/widgets/bulk-translation-dashboard/ui/index.js.map +0 -1
  293. package/dist/client/widgets/translate-document/index.d.ts.map +0 -1
  294. package/dist/client/widgets/translate-document/index.js.map +0 -1
  295. package/dist/client/widgets/translate-document/ui/TranslateDocument.d.ts.map +0 -1
  296. package/dist/client/widgets/translate-document/ui/TranslateDocument.export.d.ts.map +0 -1
  297. package/dist/client/widgets/translate-document/ui/TranslateDocument.export.js.map +0 -1
  298. package/dist/client/widgets/translate-document/ui/TranslateDocument.js.map +0 -1
  299. package/dist/client/widgets/translate-document/ui/TranslateDocument.jsx +0 -55
  300. package/dist/client/widgets/translate-document/ui/TranslateDocument.server.d.ts.map +0 -1
  301. package/dist/client/widgets/translate-document/ui/TranslateDocument.server.js.map +0 -1
  302. package/dist/client/widgets/translate-document/ui/TranslateDocument.server.jsx +0 -16
  303. package/dist/client/widgets/translate-document/ui/index.d.ts.map +0 -1
  304. package/dist/client/widgets/translate-document/ui/index.js.map +0 -1
  305. package/dist/field-config.d.ts.map +0 -1
  306. package/dist/field-config.js.map +0 -1
  307. package/dist/index.d.ts.map +0 -1
  308. package/dist/index.js.map +0 -1
  309. package/dist/plugin.d.ts.map +0 -1
  310. package/dist/plugin.js.map +0 -1
  311. package/dist/server/features/_lib/collection-utils.d.ts.map +0 -1
  312. package/dist/server/features/_lib/collection-utils.js.map +0 -1
  313. package/dist/server/features/_lib/index.d.ts.map +0 -1
  314. package/dist/server/features/_lib/index.js.map +0 -1
  315. package/dist/server/features/cancel/handler.d.ts.map +0 -1
  316. package/dist/server/features/cancel/handler.js.map +0 -1
  317. package/dist/server/features/cancel/handler.test.d.ts +0 -2
  318. package/dist/server/features/cancel/handler.test.d.ts.map +0 -1
  319. package/dist/server/features/cancel/handler.test.js +0 -63
  320. package/dist/server/features/cancel/index.d.ts.map +0 -1
  321. package/dist/server/features/cancel/index.js.map +0 -1
  322. package/dist/server/features/cancel/model.d.ts.map +0 -1
  323. package/dist/server/features/cancel/model.js.map +0 -1
  324. package/dist/server/features/cancel/route.d.ts.map +0 -1
  325. package/dist/server/features/cancel/route.js.map +0 -1
  326. package/dist/server/features/cancel-by-collection/handler.d.ts.map +0 -1
  327. package/dist/server/features/cancel-by-collection/handler.js.map +0 -1
  328. package/dist/server/features/cancel-by-collection/handler.test.d.ts +0 -2
  329. package/dist/server/features/cancel-by-collection/handler.test.d.ts.map +0 -1
  330. package/dist/server/features/cancel-by-collection/handler.test.js +0 -126
  331. package/dist/server/features/cancel-by-collection/index.d.ts.map +0 -1
  332. package/dist/server/features/cancel-by-collection/index.js.map +0 -1
  333. package/dist/server/features/cancel-by-collection/model.d.ts.map +0 -1
  334. package/dist/server/features/cancel-by-collection/model.js.map +0 -1
  335. package/dist/server/features/cancel-by-collection/route.d.ts.map +0 -1
  336. package/dist/server/features/cancel-by-collection/route.js.map +0 -1
  337. package/dist/server/features/enqueue-translation/handler.d.ts.map +0 -1
  338. package/dist/server/features/enqueue-translation/handler.js.map +0 -1
  339. package/dist/server/features/enqueue-translation/handler.test.d.ts +0 -2
  340. package/dist/server/features/enqueue-translation/handler.test.d.ts.map +0 -1
  341. package/dist/server/features/enqueue-translation/handler.test.js +0 -115
  342. package/dist/server/features/enqueue-translation/index.d.ts.map +0 -1
  343. package/dist/server/features/enqueue-translation/index.js.map +0 -1
  344. package/dist/server/features/enqueue-translation/model.d.ts.map +0 -1
  345. package/dist/server/features/enqueue-translation/model.js.map +0 -1
  346. package/dist/server/features/enqueue-translation/route.d.ts.map +0 -1
  347. package/dist/server/features/enqueue-translation/route.js.map +0 -1
  348. package/dist/server/features/get-collection-status/handler.d.ts.map +0 -1
  349. package/dist/server/features/get-collection-status/handler.js.map +0 -1
  350. package/dist/server/features/get-collection-status/handler.test.d.ts +0 -2
  351. package/dist/server/features/get-collection-status/handler.test.d.ts.map +0 -1
  352. package/dist/server/features/get-collection-status/handler.test.js +0 -108
  353. package/dist/server/features/get-collection-status/index.d.ts.map +0 -1
  354. package/dist/server/features/get-collection-status/index.js.map +0 -1
  355. package/dist/server/features/get-collection-status/model.d.ts.map +0 -1
  356. package/dist/server/features/get-collection-status/model.js.map +0 -1
  357. package/dist/server/features/get-collection-status/route.d.ts.map +0 -1
  358. package/dist/server/features/get-collection-status/route.js.map +0 -1
  359. package/dist/server/features/get-document-status/handler.d.ts.map +0 -1
  360. package/dist/server/features/get-document-status/handler.js.map +0 -1
  361. package/dist/server/features/get-document-status/handler.test.d.ts +0 -2
  362. package/dist/server/features/get-document-status/handler.test.d.ts.map +0 -1
  363. package/dist/server/features/get-document-status/handler.test.js +0 -138
  364. package/dist/server/features/get-document-status/index.d.ts.map +0 -1
  365. package/dist/server/features/get-document-status/index.js.map +0 -1
  366. package/dist/server/features/get-document-status/model.d.ts.map +0 -1
  367. package/dist/server/features/get-document-status/model.js.map +0 -1
  368. package/dist/server/features/get-document-status/route.d.ts.map +0 -1
  369. package/dist/server/features/get-document-status/route.js.map +0 -1
  370. package/dist/server/features/index.d.ts.map +0 -1
  371. package/dist/server/features/index.js.map +0 -1
  372. package/dist/server/features/run-translation/handler.d.ts.map +0 -1
  373. package/dist/server/features/run-translation/handler.js.map +0 -1
  374. package/dist/server/features/run-translation/handler.test.d.ts +0 -2
  375. package/dist/server/features/run-translation/handler.test.d.ts.map +0 -1
  376. package/dist/server/features/run-translation/handler.test.js +0 -98
  377. package/dist/server/features/run-translation/index.d.ts.map +0 -1
  378. package/dist/server/features/run-translation/index.js.map +0 -1
  379. package/dist/server/features/run-translation/model.d.ts.map +0 -1
  380. package/dist/server/features/run-translation/model.js.map +0 -1
  381. package/dist/server/features/run-translation/route.d.ts.map +0 -1
  382. package/dist/server/features/run-translation/route.js.map +0 -1
  383. package/dist/server/features/translate-document/handler.d.ts.map +0 -1
  384. package/dist/server/features/translate-document/handler.js.map +0 -1
  385. package/dist/server/features/translate-document/handler.test.d.ts +0 -2
  386. package/dist/server/features/translate-document/handler.test.d.ts.map +0 -1
  387. package/dist/server/features/translate-document/handler.test.js +0 -171
  388. package/dist/server/features/translate-document/index.d.ts.map +0 -1
  389. package/dist/server/features/translate-document/index.js.map +0 -1
  390. package/dist/server/features/translate-document/model.d.ts.map +0 -1
  391. package/dist/server/features/translate-document/model.js.map +0 -1
  392. package/dist/server/features/translate-document/task.d.ts.map +0 -1
  393. package/dist/server/features/translate-document/task.js.map +0 -1
  394. package/dist/server/index.d.ts.map +0 -1
  395. package/dist/server/index.js.map +0 -1
  396. package/dist/server/modules/index.d.ts.map +0 -1
  397. package/dist/server/modules/index.js.map +0 -1
  398. package/dist/server/modules/task-runner/TaskRunner.interface.d.ts.map +0 -1
  399. package/dist/server/modules/task-runner/TaskRunner.interface.js.map +0 -1
  400. package/dist/server/modules/task-runner/TaskRunnerProvider.interface.d.ts.map +0 -1
  401. package/dist/server/modules/task-runner/TaskRunnerProvider.interface.js.map +0 -1
  402. package/dist/server/modules/task-runner/index.d.ts.map +0 -1
  403. package/dist/server/modules/task-runner/index.js.map +0 -1
  404. package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsRunnerProvider.d.ts.map +0 -1
  405. package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsRunnerProvider.js.map +0 -1
  406. package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.d.ts.map +0 -1
  407. package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.js.map +0 -1
  408. package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.test.d.ts +0 -2
  409. package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.test.d.ts.map +0 -1
  410. package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.test.js +0 -188
  411. package/dist/server/modules/task-runner/payload-jobs-runner/index.d.ts.map +0 -1
  412. package/dist/server/modules/task-runner/payload-jobs-runner/index.js.map +0 -1
  413. package/dist/server/modules/task-runner/payload-jobs-runner/normalizeJob.d.ts.map +0 -1
  414. package/dist/server/modules/task-runner/payload-jobs-runner/normalizeJob.js.map +0 -1
  415. package/dist/server/modules/task-runner/payload-jobs-runner/normalizeJob.test.d.ts +0 -2
  416. package/dist/server/modules/task-runner/payload-jobs-runner/normalizeJob.test.d.ts.map +0 -1
  417. package/dist/server/modules/task-runner/payload-jobs-runner/normalizeJob.test.js +0 -169
  418. package/dist/server/modules/task-runner/payload-jobs-runner/types.d.ts.map +0 -1
  419. package/dist/server/modules/task-runner/payload-jobs-runner/types.js.map +0 -1
  420. package/dist/server/modules/task-runner/sync-runner/SyncRunnerProvider.d.ts.map +0 -1
  421. package/dist/server/modules/task-runner/sync-runner/SyncRunnerProvider.js.map +0 -1
  422. package/dist/server/modules/task-runner/sync-runner/SyncTaskRunner.d.ts.map +0 -1
  423. package/dist/server/modules/task-runner/sync-runner/SyncTaskRunner.js.map +0 -1
  424. package/dist/server/modules/task-runner/sync-runner/SyncTaskRunner.test.d.ts +0 -2
  425. package/dist/server/modules/task-runner/sync-runner/SyncTaskRunner.test.d.ts.map +0 -1
  426. package/dist/server/modules/task-runner/sync-runner/SyncTaskRunner.test.js +0 -148
  427. package/dist/server/modules/task-runner/sync-runner/index.d.ts.map +0 -1
  428. package/dist/server/modules/task-runner/sync-runner/index.js.map +0 -1
  429. package/dist/server/modules/task-runner/sync-runner/types.d.ts.map +0 -1
  430. package/dist/server/modules/task-runner/sync-runner/types.js.map +0 -1
  431. package/dist/server/modules/task-runner/types.d.ts.map +0 -1
  432. package/dist/server/modules/task-runner/types.js.map +0 -1
  433. package/dist/server/modules/translation-pipeline/TranslationPipeline.d.ts.map +0 -1
  434. package/dist/server/modules/translation-pipeline/TranslationPipeline.js.map +0 -1
  435. package/dist/server/modules/translation-pipeline/TranslationPipeline.test.d.ts +0 -2
  436. package/dist/server/modules/translation-pipeline/TranslationPipeline.test.d.ts.map +0 -1
  437. package/dist/server/modules/translation-pipeline/TranslationPipeline.test.js +0 -552
  438. package/dist/server/modules/translation-pipeline/index.d.ts.map +0 -1
  439. package/dist/server/modules/translation-pipeline/index.js.map +0 -1
  440. package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.d.ts.map +0 -1
  441. package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.js.map +0 -1
  442. package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.stage.d.ts.map +0 -1
  443. package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.stage.js.map +0 -1
  444. package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.test.d.ts +0 -2
  445. package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.test.d.ts.map +0 -1
  446. package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.test.js +0 -294
  447. package/dist/server/modules/translation-pipeline/stages/data-reconciler/index.d.ts.map +0 -1
  448. package/dist/server/modules/translation-pipeline/stages/data-reconciler/index.js.map +0 -1
  449. package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.d.ts.map +0 -1
  450. package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.js.map +0 -1
  451. package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.stage.d.ts.map +0 -1
  452. package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.stage.js.map +0 -1
  453. package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.test.d.ts +0 -2
  454. package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.test.d.ts.map +0 -1
  455. package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.test.js +0 -737
  456. package/dist/server/modules/translation-pipeline/stages/field-collector/index.d.ts.map +0 -1
  457. package/dist/server/modules/translation-pipeline/stages/field-collector/index.js.map +0 -1
  458. package/dist/server/modules/translation-pipeline/stages/index.d.ts.map +0 -1
  459. package/dist/server/modules/translation-pipeline/stages/index.js.map +0 -1
  460. package/dist/server/modules/translation-pipeline/stages/text-expander/PlainTextExpander.d.ts.map +0 -1
  461. package/dist/server/modules/translation-pipeline/stages/text-expander/PlainTextExpander.js.map +0 -1
  462. package/dist/server/modules/translation-pipeline/stages/text-expander/RichTextExpander.d.ts.map +0 -1
  463. package/dist/server/modules/translation-pipeline/stages/text-expander/RichTextExpander.js.map +0 -1
  464. package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.d.ts.map +0 -1
  465. package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.js.map +0 -1
  466. package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.stage.d.ts.map +0 -1
  467. package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.stage.js.map +0 -1
  468. package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.test.d.ts +0 -2
  469. package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.test.d.ts.map +0 -1
  470. package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.test.js +0 -396
  471. package/dist/server/modules/translation-pipeline/stages/text-expander/TextExpander.interface.d.ts.map +0 -1
  472. package/dist/server/modules/translation-pipeline/stages/text-expander/TextExpander.interface.js.map +0 -1
  473. package/dist/server/modules/translation-pipeline/stages/text-expander/index.d.ts.map +0 -1
  474. package/dist/server/modules/translation-pipeline/stages/text-expander/index.js.map +0 -1
  475. package/dist/server/modules/translation-pipeline/stages/translation/Translation.stage.d.ts.map +0 -1
  476. package/dist/server/modules/translation-pipeline/stages/translation/Translation.stage.js.map +0 -1
  477. package/dist/server/modules/translation-pipeline/stages/translation/index.d.ts.map +0 -1
  478. package/dist/server/modules/translation-pipeline/stages/translation/index.js.map +0 -1
  479. package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.d.ts.map +0 -1
  480. package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.js.map +0 -1
  481. package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.stage.d.ts.map +0 -1
  482. package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.stage.js.map +0 -1
  483. package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.test.d.ts +0 -2
  484. package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.test.d.ts.map +0 -1
  485. package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.test.js +0 -110
  486. package/dist/server/modules/translation-pipeline/stages/translation-applicator/index.d.ts.map +0 -1
  487. package/dist/server/modules/translation-pipeline/stages/translation-applicator/index.js.map +0 -1
  488. package/dist/server/modules/translation-pipeline/strategies/Overwrite.strategy.d.ts.map +0 -1
  489. package/dist/server/modules/translation-pipeline/strategies/Overwrite.strategy.js.map +0 -1
  490. package/dist/server/modules/translation-pipeline/strategies/Overwrite.strategy.test.d.ts +0 -2
  491. package/dist/server/modules/translation-pipeline/strategies/Overwrite.strategy.test.d.ts.map +0 -1
  492. package/dist/server/modules/translation-pipeline/strategies/Overwrite.strategy.test.js +0 -36
  493. package/dist/server/modules/translation-pipeline/strategies/SkipExisting.strategy.d.ts.map +0 -1
  494. package/dist/server/modules/translation-pipeline/strategies/SkipExisting.strategy.js.map +0 -1
  495. package/dist/server/modules/translation-pipeline/strategies/SkipExisting.strategy.test.d.ts +0 -2
  496. package/dist/server/modules/translation-pipeline/strategies/SkipExisting.strategy.test.d.ts.map +0 -1
  497. package/dist/server/modules/translation-pipeline/strategies/SkipExisting.strategy.test.js +0 -77
  498. package/dist/server/modules/translation-pipeline/strategies/TranslationStrategy.interface.d.ts.map +0 -1
  499. package/dist/server/modules/translation-pipeline/strategies/TranslationStrategy.interface.js.map +0 -1
  500. package/dist/server/modules/translation-pipeline/strategies/index.d.ts.map +0 -1
  501. package/dist/server/modules/translation-pipeline/strategies/index.js.map +0 -1
  502. package/dist/server/modules/translation-pipeline/types/FieldChunk.d.ts.map +0 -1
  503. package/dist/server/modules/translation-pipeline/types/FieldChunk.js.map +0 -1
  504. package/dist/server/modules/translation-pipeline/types/Pipeline.d.ts.map +0 -1
  505. package/dist/server/modules/translation-pipeline/types/Pipeline.js.map +0 -1
  506. package/dist/server/modules/translation-pipeline/types/PipelineContext.d.ts.map +0 -1
  507. package/dist/server/modules/translation-pipeline/types/PipelineContext.js.map +0 -1
  508. package/dist/server/modules/translation-pipeline/types/TextChunk.d.ts.map +0 -1
  509. package/dist/server/modules/translation-pipeline/types/TextChunk.js.map +0 -1
  510. package/dist/server/modules/translation-pipeline/types/index.d.ts.map +0 -1
  511. package/dist/server/modules/translation-pipeline/types/index.js.map +0 -1
  512. package/dist/server/modules/translation-providers/OpenAITranslation.provider.d.ts.map +0 -1
  513. package/dist/server/modules/translation-providers/OpenAITranslation.provider.js.map +0 -1
  514. package/dist/server/modules/translation-providers/OpenAITranslation.provider.test.d.ts +0 -2
  515. package/dist/server/modules/translation-providers/OpenAITranslation.provider.test.d.ts.map +0 -1
  516. package/dist/server/modules/translation-providers/OpenAITranslation.provider.test.js +0 -214
  517. package/dist/server/modules/translation-providers/TranslationProvider.interface.d.ts.map +0 -1
  518. package/dist/server/modules/translation-providers/TranslationProvider.interface.js.map +0 -1
  519. package/dist/server/modules/translation-providers/index.d.ts.map +0 -1
  520. package/dist/server/modules/translation-providers/index.js.map +0 -1
  521. package/dist/server/shared/access/AnyAccessGuard.d.ts.map +0 -1
  522. package/dist/server/shared/access/AnyAccessGuard.js.map +0 -1
  523. package/dist/server/shared/access/handler.d.ts.map +0 -1
  524. package/dist/server/shared/access/handler.js.map +0 -1
  525. package/dist/server/shared/access/index.d.ts.map +0 -1
  526. package/dist/server/shared/access/index.js.map +0 -1
  527. package/dist/server/shared/access/types.d.ts.map +0 -1
  528. package/dist/server/shared/access/types.js.map +0 -1
  529. package/dist/server/shared/field-config/getFieldConfig.d.ts.map +0 -1
  530. package/dist/server/shared/field-config/getFieldConfig.js.map +0 -1
  531. package/dist/server/shared/field-config/getFieldConfig.test.d.ts +0 -2
  532. package/dist/server/shared/field-config/getFieldConfig.test.d.ts.map +0 -1
  533. package/dist/server/shared/field-config/getFieldConfig.test.js +0 -74
  534. package/dist/server/shared/field-config/index.d.ts.map +0 -1
  535. package/dist/server/shared/field-config/index.js.map +0 -1
  536. package/dist/server/shared/field-config/types.d.ts.map +0 -1
  537. package/dist/server/shared/field-config/types.js.map +0 -1
  538. package/dist/server/shared/guards/collection-guards.d.ts.map +0 -1
  539. package/dist/server/shared/guards/collection-guards.js.map +0 -1
  540. package/dist/server/shared/guards/field-guards.d.ts.map +0 -1
  541. package/dist/server/shared/guards/field-guards.js.map +0 -1
  542. package/dist/server/shared/guards/field-guards.test.d.ts +0 -2
  543. package/dist/server/shared/guards/field-guards.test.d.ts.map +0 -1
  544. package/dist/server/shared/guards/field-guards.test.js +0 -166
  545. package/dist/server/shared/guards/index.d.ts.map +0 -1
  546. package/dist/server/shared/guards/index.js.map +0 -1
  547. package/dist/server/shared/http/ServerResponse.d.ts.map +0 -1
  548. package/dist/server/shared/http/ServerResponse.js.map +0 -1
  549. package/dist/server/shared/http/ServerResponse.test.d.ts +0 -2
  550. package/dist/server/shared/http/ServerResponse.test.d.ts.map +0 -1
  551. package/dist/server/shared/http/ServerResponse.test.js +0 -161
  552. package/dist/server/shared/http/index.d.ts.map +0 -1
  553. package/dist/server/shared/http/index.js.map +0 -1
  554. package/dist/server/shared/http/withAccessCheck.d.ts.map +0 -1
  555. package/dist/server/shared/http/withAccessCheck.js.map +0 -1
  556. package/dist/server/shared/http/withAccessCheck.test.d.ts +0 -2
  557. package/dist/server/shared/http/withAccessCheck.test.d.ts.map +0 -1
  558. package/dist/server/shared/http/withAccessCheck.test.js +0 -46
  559. package/dist/server/shared/http/withErrorHandler.d.ts.map +0 -1
  560. package/dist/server/shared/http/withErrorHandler.js.map +0 -1
  561. package/dist/server/shared/http/withErrorHandler.test.d.ts +0 -2
  562. package/dist/server/shared/http/withErrorHandler.test.d.ts.map +0 -1
  563. package/dist/server/shared/http/withErrorHandler.test.js +0 -69
  564. package/dist/server/shared/index.d.ts.map +0 -1
  565. package/dist/server/shared/index.js.map +0 -1
  566. package/dist/server/shared/lexical/collectTextNodes.d.ts.map +0 -1
  567. package/dist/server/shared/lexical/collectTextNodes.js.map +0 -1
  568. package/dist/server/shared/lexical/collectTextNodes.test.d.ts +0 -2
  569. package/dist/server/shared/lexical/collectTextNodes.test.d.ts.map +0 -1
  570. package/dist/server/shared/lexical/collectTextNodes.test.js +0 -120
  571. package/dist/server/shared/lexical/guards.d.ts.map +0 -1
  572. package/dist/server/shared/lexical/guards.js.map +0 -1
  573. package/dist/server/shared/lexical/guards.test.d.ts +0 -2
  574. package/dist/server/shared/lexical/guards.test.d.ts.map +0 -1
  575. package/dist/server/shared/lexical/guards.test.js +0 -160
  576. package/dist/server/shared/lexical/index.d.ts.map +0 -1
  577. package/dist/server/shared/lexical/index.js.map +0 -1
  578. package/dist/server/shared/lexical/isEmptyRichText.d.ts.map +0 -1
  579. package/dist/server/shared/lexical/isEmptyRichText.js.map +0 -1
  580. package/dist/server/shared/lexical/isEmptyRichText.test.d.ts +0 -2
  581. package/dist/server/shared/lexical/isEmptyRichText.test.d.ts.map +0 -1
  582. package/dist/server/shared/lexical/isEmptyRichText.test.js +0 -251
  583. package/dist/server/shared/lexical/traverseLexicalTree.d.ts.map +0 -1
  584. package/dist/server/shared/lexical/traverseLexicalTree.js.map +0 -1
  585. package/dist/server/shared/lexical/traverseLexicalTree.test.d.ts +0 -2
  586. package/dist/server/shared/lexical/traverseLexicalTree.test.d.ts.map +0 -1
  587. package/dist/server/shared/lexical/traverseLexicalTree.test.js +0 -112
  588. package/dist/server/shared/lexical/types.d.ts.map +0 -1
  589. package/dist/server/shared/lexical/types.js.map +0 -1
  590. package/dist/server/shared/utils/LazyMap.d.ts.map +0 -1
  591. package/dist/server/shared/utils/LazyMap.js.map +0 -1
  592. package/dist/server/shared/utils/LazyMap.test.d.ts +0 -2
  593. package/dist/server/shared/utils/LazyMap.test.d.ts.map +0 -1
  594. package/dist/server/shared/utils/LazyMap.test.js +0 -262
  595. package/dist/server/shared/utils/filterLocalizedFields.d.ts.map +0 -1
  596. package/dist/server/shared/utils/filterLocalizedFields.js.map +0 -1
  597. package/dist/server/shared/utils/filterLocalizedFields.test.d.ts +0 -2
  598. package/dist/server/shared/utils/filterLocalizedFields.test.d.ts.map +0 -1
  599. package/dist/server/shared/utils/filterLocalizedFields.test.js +0 -338
  600. package/dist/server/shared/utils/getByPath.d.ts.map +0 -1
  601. package/dist/server/shared/utils/getByPath.js.map +0 -1
  602. package/dist/server/shared/utils/getByPath.test.d.ts +0 -2
  603. package/dist/server/shared/utils/getByPath.test.d.ts.map +0 -1
  604. package/dist/server/shared/utils/getByPath.test.js +0 -33
  605. package/dist/server/shared/utils/index.d.ts.map +0 -1
  606. package/dist/server/shared/utils/index.js.map +0 -1
  607. package/dist/server/shared/utils/isEmpty.d.ts.map +0 -1
  608. package/dist/server/shared/utils/isEmpty.js.map +0 -1
  609. package/dist/server/shared/utils/isEmpty.test.d.ts +0 -2
  610. package/dist/server/shared/utils/isEmpty.test.d.ts.map +0 -1
  611. package/dist/server/shared/utils/isEmpty.test.js +0 -60
  612. package/dist/server/shared/utils/isObject.d.ts.map +0 -1
  613. package/dist/server/shared/utils/isObject.js.map +0 -1
  614. package/dist/server/shared/utils/isObject.test.d.ts +0 -2
  615. package/dist/server/shared/utils/isObject.test.d.ts.map +0 -1
  616. package/dist/server/shared/utils/isObject.test.js +0 -57
  617. package/dist/server/shared/utils/normalizePath.d.ts.map +0 -1
  618. package/dist/server/shared/utils/normalizePath.js.map +0 -1
  619. package/dist/server/shared/utils/normalizePath.test.d.ts +0 -2
  620. package/dist/server/shared/utils/normalizePath.test.d.ts.map +0 -1
  621. package/dist/server/shared/utils/normalizePath.test.js +0 -33
  622. package/dist/server/shared/utils/pipe.d.ts.map +0 -1
  623. package/dist/server/shared/utils/pipe.js.map +0 -1
  624. package/dist/server/shared/utils/pipe.test.d.ts +0 -2
  625. package/dist/server/shared/utils/pipe.test.d.ts.map +0 -1
  626. package/dist/server/shared/utils/pipe.test.js +0 -55
  627. package/dist/server/shared/utils/setByPath.d.ts.map +0 -1
  628. package/dist/server/shared/utils/setByPath.js.map +0 -1
  629. package/dist/server/shared/utils/setByPath.test.d.ts +0 -2
  630. package/dist/server/shared/utils/setByPath.test.d.ts.map +0 -1
  631. package/dist/server/shared/utils/setByPath.test.js +0 -46
  632. package/dist/types/AccessGuard.d.ts.map +0 -1
  633. package/dist/types/AccessGuard.js.map +0 -1
  634. package/dist/types/index.d.ts.map +0 -1
  635. package/dist/types/index.js.map +0 -1
  636. package/dist/vitest-env.d.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/features/get-document-status/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/server/features/get-document-status/index.ts"],"sourcesContent":["export { createGetDocumentStatusRoute } from './route'\nexport { taskToJobStatusOutput } from './model'\n"],"names":["createGetDocumentStatusRoute","taskToJobStatusOutput"],"mappings":"AAAA,SAASA,4BAA4B,QAAQ,UAAS;AACtD,SAASC,qBAAqB,QAAQ,UAAS"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../src/server/features/get-document-status/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAEjE;;GAEG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;EAKvC,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEjF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAA;AAE9C;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE;QACV,UAAU,EAAE,cAAc,CAAA;QAC1B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KACvB,CAAA;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,UAAU,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,cAAc,CAAA;IACrB,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3B,SAAS,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,oBAAoB,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;CAC1C,CAAA;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,eAAe,CAmBjE"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/server/features/get-document-status/model.ts"],"sourcesContent":["import { z } from 'zod'\nimport type { CollectionSlug } from 'payload'\n\nimport type { Task, TaskStatus } from '../../modules/task-runner'\n\n/**\n * Input validation schema\n */\nexport const GetDocumentStatusInputSchema = z.object({\n collection_id: z.coerce\n .string()\n .refine((val: string) => val.length > 0 && val !== 'undefined', { message: 'Required' }),\n collection_slug: z.string().nonempty(),\n})\n\nexport type GetDocumentStatusInput = z.infer<typeof GetDocumentStatusInputSchema>\n\n/**\n * Translation task status (re-export for backwards compatibility)\n */\nexport type TranslationTaskStatus = TaskStatus\n\n/**\n * Input format for API response (backwards compatible with Payload Jobs format)\n */\nexport type JobInputOutput = {\n collection: {\n relationTo: CollectionSlug\n value: string | number\n }\n source_lng: string\n target_lng: string\n strategy?: string\n}\n\n/**\n * Normalized job output (snake_case for client compatibility)\n */\nexport type JobStatusOutput = {\n id: string\n status: TaskStatus\n created_at: string\n updated_at: string\n completed_at?: string\n input: JobInputOutput\n error?: { message: string }\n cancelled: boolean\n}\n\n/**\n * Handler configuration\n */\nexport type GetDocumentStatusConfig = {\n availableCollections: Set<CollectionSlug>\n}\n\n/**\n * Transforms a Task to API output format (snake_case for client compatibility)\n */\nexport function taskToJobStatusOutput(task: Task): JobStatusOutput {\n return {\n id: task.id,\n status: task.status,\n created_at: task.createdAt,\n updated_at: task.updatedAt,\n completed_at: task.completedAt,\n input: {\n collection: {\n relationTo: task.input.collectionSlug,\n value: task.input.collectionId,\n },\n source_lng: task.input.sourceLng,\n target_lng: task.input.targetLng,\n strategy: task.input.strategy,\n },\n error: task.error,\n cancelled: task.cancelled,\n }\n}\n"],"names":["z","GetDocumentStatusInputSchema","object","collection_id","coerce","string","refine","val","length","message","collection_slug","nonempty","taskToJobStatusOutput","task","id","status","created_at","createdAt","updated_at","updatedAt","completed_at","completedAt","input","collection","relationTo","collectionSlug","value","collectionId","source_lng","sourceLng","target_lng","targetLng","strategy","error","cancelled"],"mappings":"AAAA,SAASA,CAAC,QAAQ,MAAK;AAKvB;;CAEC,GACD,OAAO,MAAMC,+BAA+BD,EAAEE,MAAM,CAAC;IACnDC,eAAeH,EAAEI,MAAM,CACpBC,MAAM,GACNC,MAAM,CAAC,CAACC,MAAgBA,IAAIC,MAAM,GAAG,KAAKD,QAAQ,aAAa;QAAEE,SAAS;IAAW;IACxFC,iBAAiBV,EAAEK,MAAM,GAAGM,QAAQ;AACtC,GAAE;AA2CF;;CAEC,GACD,OAAO,SAASC,sBAAsBC,IAAU;IAC9C,OAAO;QACLC,IAAID,KAAKC,EAAE;QACXC,QAAQF,KAAKE,MAAM;QACnBC,YAAYH,KAAKI,SAAS;QAC1BC,YAAYL,KAAKM,SAAS;QAC1BC,cAAcP,KAAKQ,WAAW;QAC9BC,OAAO;YACLC,YAAY;gBACVC,YAAYX,KAAKS,KAAK,CAACG,cAAc;gBACrCC,OAAOb,KAAKS,KAAK,CAACK,YAAY;YAChC;YACAC,YAAYf,KAAKS,KAAK,CAACO,SAAS;YAChCC,YAAYjB,KAAKS,KAAK,CAACS,SAAS;YAChCC,UAAUnB,KAAKS,KAAK,CAACU,QAAQ;QAC/B;QACAC,OAAOpB,KAAKoB,KAAK;QACjBC,WAAWrB,KAAKqB,SAAS;IAC3B;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../src/server/features/get-document-status/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAGvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAGtD;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,uBAAuB,EAC/B,iBAAiB,EAAE,kBAAkB,EACrC,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,SAAe,GACtB,QAAQ,CAQV"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/server/features/get-document-status/route.ts"],"sourcesContent":["import type { Endpoint } from 'payload'\n\nimport { withErrorHandler, withAccessCheck } from '../../shared'\nimport type { AccessGuard } from '../../shared'\nimport type { TaskRunnerProvider } from '../../modules/task-runner'\n\nimport type { GetDocumentStatusConfig } from './model'\nimport { GetDocumentStatusHandler } from './handler'\n\n/**\n * Creates the get document status endpoint\n */\nexport function createGetDocumentStatusRoute(\n config: GetDocumentStatusConfig,\n taskRunnerFactory: TaskRunnerProvider,\n access?: AccessGuard,\n basePath = '/translate',\n): Endpoint {\n const handler = new GetDocumentStatusHandler(config, taskRunnerFactory)\n\n return {\n path: `${basePath}/document/:collection_slug/:collection_id`,\n method: 'get',\n handler: withAccessCheck(withErrorHandler(handler.handle.bind(handler)), access),\n }\n}\n"],"names":["withErrorHandler","withAccessCheck","GetDocumentStatusHandler","createGetDocumentStatusRoute","config","taskRunnerFactory","access","basePath","handler","path","method","handle","bind"],"mappings":"AAEA,SAASA,gBAAgB,EAAEC,eAAe,QAAQ,eAAc;AAKhE,SAASC,wBAAwB,QAAQ,YAAW;AAEpD;;CAEC,GACD,OAAO,SAASC,6BACdC,MAA+B,EAC/BC,iBAAqC,EACrCC,MAAoB,EACpBC,WAAW,YAAY;IAEvB,MAAMC,UAAU,IAAIN,yBAAyBE,QAAQC;IAErD,OAAO;QACLI,MAAM,GAAGF,SAAS,yCAAyC,CAAC;QAC5DG,QAAQ;QACRF,SAASP,gBAAgBD,iBAAiBQ,QAAQG,MAAM,CAACC,IAAI,CAACJ,WAAWF;IAC3E;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/features/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,UAAU,CAAA;AACxB,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/server/features/index.ts"],"sourcesContent":["export * from './translate-document'\nexport * from './enqueue-translation'\nexport * from './run-translation'\nexport * from './cancel'\nexport * from './get-document-status'\nexport * from './get-collection-status'\n"],"names":[],"mappings":"AAAA,cAAc,uBAAsB;AACpC,cAAc,wBAAuB;AACrC,cAAc,oBAAmB;AACjC,cAAc,WAAU;AACxB,cAAc,wBAAuB;AACrC,cAAc,0BAAyB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/server/features/run-translation/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAG7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAInE;;GAEG;AACH,qBAAa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAAjB,iBAAiB,EAAE,kBAAkB;IAE5D,MAAM,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;CAmBrD"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/server/features/run-translation/handler.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { ServerResponse } from '../../shared'\nimport type { TaskRunnerProvider } from '../../modules/task-runner'\n\nimport { RunInputSchema } from './model'\n\n/**\n * Runs a translation task by ID\n */\nexport class RunTranslationHandler {\n constructor(private readonly taskRunnerFactory: TaskRunnerProvider) {}\n\n async handle(req: PayloadRequest): Promise<Response> {\n const validationResult = RunInputSchema.safeParse(req.routeParams)\n if (validationResult.error) return ServerResponse.validationError(validationResult.error.errors)\n\n const { id } = validationResult.data\n const runner = this.taskRunnerFactory.create(req.payload)\n const result = await runner.run(id)\n\n if (!result.success) {\n if (result.error === 'not_found' || result.error === 'already_completed') {\n return ServerResponse.notFound('Queued task not found')\n }\n if (result.error === 'already_running') {\n return ServerResponse.tooManyRequests('Translation task is already in progress')\n }\n }\n\n return ServerResponse.noContent()\n }\n}\n"],"names":["ServerResponse","RunInputSchema","RunTranslationHandler","taskRunnerFactory","handle","req","validationResult","safeParse","routeParams","error","validationError","errors","id","data","runner","create","payload","result","run","success","notFound","tooManyRequests","noContent"],"mappings":"AAEA,SAASA,cAAc,QAAQ,eAAc;AAG7C,SAASC,cAAc,QAAQ,UAAS;AAExC;;CAEC,GACD,OAAO,MAAMC;;IACX,YAAY,AAAiBC,iBAAqC,CAAE;aAAvCA,oBAAAA;IAAwC;IAErE,MAAMC,OAAOC,GAAmB,EAAqB;QACnD,MAAMC,mBAAmBL,eAAeM,SAAS,CAACF,IAAIG,WAAW;QACjE,IAAIF,iBAAiBG,KAAK,EAAE,OAAOT,eAAeU,eAAe,CAACJ,iBAAiBG,KAAK,CAACE,MAAM;QAE/F,MAAM,EAAEC,EAAE,EAAE,GAAGN,iBAAiBO,IAAI;QACpC,MAAMC,SAAS,IAAI,CAACX,iBAAiB,CAACY,MAAM,CAACV,IAAIW,OAAO;QACxD,MAAMC,SAAS,MAAMH,OAAOI,GAAG,CAACN;QAEhC,IAAI,CAACK,OAAOE,OAAO,EAAE;YACnB,IAAIF,OAAOR,KAAK,KAAK,eAAeQ,OAAOR,KAAK,KAAK,qBAAqB;gBACxE,OAAOT,eAAeoB,QAAQ,CAAC;YACjC;YACA,IAAIH,OAAOR,KAAK,KAAK,mBAAmB;gBACtC,OAAOT,eAAeqB,eAAe,CAAC;YACxC;QACF;QAEA,OAAOrB,eAAesB,SAAS;IACjC;AACF"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=handler.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handler.test.d.ts","sourceRoot":"","sources":["../../../../src/server/features/run-translation/handler.test.ts"],"names":[],"mappings":""}
@@ -1,98 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach } from 'vitest';
2
- import { RunTranslationHandler } from './handler';
3
- describe('RunTranslationHandler', () => {
4
- let handler;
5
- let mockTaskRunner;
6
- let mockTaskRunnerFactory;
7
- const createMockRequest = (params = {}) => ({
8
- payload: {},
9
- routeParams: params,
10
- });
11
- beforeEach(() => {
12
- mockTaskRunner = {
13
- enqueue: vi.fn(),
14
- cancel: vi.fn(),
15
- run: vi.fn().mockResolvedValue({ success: true }),
16
- findByCollection: vi.fn(),
17
- };
18
- mockTaskRunnerFactory = {
19
- create: vi.fn().mockReturnValue(mockTaskRunner),
20
- configure: vi.fn(),
21
- };
22
- handler = new RunTranslationHandler(mockTaskRunnerFactory);
23
- });
24
- describe('validation', () => {
25
- it('returns validation error for missing id', async () => {
26
- const req = createMockRequest({});
27
- const response = await handler.handle(req);
28
- expect(response.status).toBe(400);
29
- const body = await response.json();
30
- expect(body.message).toBe('Validation error');
31
- });
32
- it('returns validation error for empty id', async () => {
33
- const req = createMockRequest({ id: '' });
34
- const response = await handler.handle(req);
35
- expect(response.status).toBe(400);
36
- });
37
- });
38
- describe('success responses', () => {
39
- it('returns 204 on successful run', async () => {
40
- ;
41
- mockTaskRunner.run.mockResolvedValue({ success: true });
42
- const req = createMockRequest({ id: 'task-123' });
43
- const response = await handler.handle(req);
44
- expect(response.status).toBe(204);
45
- expect(response.body).toBeNull();
46
- });
47
- it('calls runner.run with correct task id', async () => {
48
- const req = createMockRequest({ id: 'task-456' });
49
- await handler.handle(req);
50
- expect(mockTaskRunner.run).toHaveBeenCalledWith('task-456');
51
- });
52
- it('creates task runner with request payload', async () => {
53
- const mockPayload = { collections: {} };
54
- const req = createMockRequest({ id: 'task-123' });
55
- req.payload = mockPayload;
56
- await handler.handle(req);
57
- expect(mockTaskRunnerFactory.create).toHaveBeenCalledWith(mockPayload);
58
- });
59
- });
60
- describe('error responses', () => {
61
- it('returns 404 when task not found', async () => {
62
- ;
63
- mockTaskRunner.run.mockResolvedValue({
64
- success: false,
65
- error: 'not_found',
66
- });
67
- const req = createMockRequest({ id: 'non-existent' });
68
- const response = await handler.handle(req);
69
- expect(response.status).toBe(404);
70
- const body = await response.json();
71
- expect(body.message).toBe('Queued task not found');
72
- });
73
- it('returns 404 when task already completed', async () => {
74
- ;
75
- mockTaskRunner.run.mockResolvedValue({
76
- success: false,
77
- error: 'already_completed',
78
- });
79
- const req = createMockRequest({ id: 'completed-task' });
80
- const response = await handler.handle(req);
81
- expect(response.status).toBe(404);
82
- const body = await response.json();
83
- expect(body.message).toBe('Queued task not found');
84
- });
85
- it('returns 429 when task is already running', async () => {
86
- ;
87
- mockTaskRunner.run.mockResolvedValue({
88
- success: false,
89
- error: 'already_running',
90
- });
91
- const req = createMockRequest({ id: 'running-task' });
92
- const response = await handler.handle(req);
93
- expect(response.status).toBe(429);
94
- const body = await response.json();
95
- expect(body.message).toBe('Translation task is already in progress');
96
- });
97
- });
98
- });
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/features/run-translation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/server/features/run-translation/index.ts"],"sourcesContent":["export { createRunRoute } from './route'\n"],"names":["createRunRoute"],"mappings":"AAAA,SAASA,cAAc,QAAQ,UAAS"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../src/server/features/run-translation/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;EAEzB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/server/features/run-translation/model.ts"],"sourcesContent":["import { z } from 'zod'\n\n/**\n * Input validation schema\n */\nexport const RunInputSchema = z.object({\n id: z.string().nonempty(),\n})\n"],"names":["z","RunInputSchema","object","id","string","nonempty"],"mappings":"AAAA,SAASA,CAAC,QAAQ,MAAK;AAEvB;;CAEC,GACD,OAAO,MAAMC,iBAAiBD,EAAEE,MAAM,CAAC;IACrCC,IAAIH,EAAEI,MAAM,GAAGC,QAAQ;AACzB,GAAE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../src/server/features/run-translation/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAGvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAInE;;GAEG;AACH,wBAAgB,cAAc,CAC5B,iBAAiB,EAAE,kBAAkB,EACrC,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,SAAe,GACtB,QAAQ,CAQV"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/server/features/run-translation/route.ts"],"sourcesContent":["import type { Endpoint } from 'payload'\n\nimport { withErrorHandler, withAccessCheck } from '../../shared'\nimport type { AccessGuard } from '../../shared'\nimport type { TaskRunnerProvider } from '../../modules/task-runner'\n\nimport { RunTranslationHandler } from './handler'\n\n/**\n * Creates the run translation endpoint\n */\nexport function createRunRoute(\n taskRunnerFactory: TaskRunnerProvider,\n access?: AccessGuard,\n basePath = '/translate',\n): Endpoint {\n const handler = new RunTranslationHandler(taskRunnerFactory)\n\n return {\n path: `${basePath}/run/:id`,\n method: 'post',\n handler: withAccessCheck(withErrorHandler(handler.handle.bind(handler)), access),\n }\n}\n"],"names":["withErrorHandler","withAccessCheck","RunTranslationHandler","createRunRoute","taskRunnerFactory","access","basePath","handler","path","method","handle","bind"],"mappings":"AAEA,SAASA,gBAAgB,EAAEC,eAAe,QAAQ,eAAc;AAIhE,SAASC,qBAAqB,QAAQ,YAAW;AAEjD;;CAEC,GACD,OAAO,SAASC,eACdC,iBAAqC,EACrCC,MAAoB,EACpBC,WAAW,YAAY;IAEvB,MAAMC,UAAU,IAAIL,sBAAsBE;IAE1C,OAAO;QACLI,MAAM,GAAGF,SAAS,QAAQ,CAAC;QAC3BG,QAAQ;QACRF,SAASN,gBAAgBD,iBAAiBO,QAAQG,MAAM,CAACC,IAAI,CAACJ,WAAWF;IAC3E;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/server/features/translate-document/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAA6B,MAAM,SAAS,CAAA;AAGjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AAI9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAEnG,MAAM,MAAM,6BAA6B,GAAG;IAC1C,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,SAAS,EAAE,mBAAmB,CAAA;CAC/B,CAAA;AAED;;GAEG;AACH,qBAAa,wBAAyB,YAAW,OAAO,CAAC,sBAAsB,EAAE,uBAAuB,CAAC;IAErG,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS;gBADT,mBAAmB,EAAE,mBAAmB,EACxC,SAAS,EAAE,mBAAmB;IAG3C,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;YAuCjF,sBAAsB;CA6BrC"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/server/features/translate-document/handler.ts"],"sourcesContent":["import type { Payload, SanitizedCollectionConfig } from 'payload'\nimport { APIError } from 'payload'\n\nimport type { Handler } from '../../shared'\nimport type { TranslationProvider } from '../../modules/translation-providers'\nimport { TranslationPipeline } from '../../modules/translation-pipeline'\nimport { createTranslationStrategy } from '../../modules/translation-pipeline/strategies'\n\nimport type { CollectionSchemaMap, TranslateDocumentInput, TranslateDocumentOutput } from './model'\n\nexport type TranslateDocumentDependencies = {\n translationProvider: TranslationProvider\n schemaMap: CollectionSchemaMap\n}\n\n/**\n * Translates a single document from source language to target language\n */\nexport class TranslateDocumentHandler implements Handler<TranslateDocumentInput, TranslateDocumentOutput> {\n constructor(\n private readonly translationProvider: TranslationProvider,\n private readonly schemaMap: CollectionSchemaMap,\n ) {}\n\n async handle(payload: Payload, input: TranslateDocumentInput): Promise<TranslateDocumentOutput> {\n const { collection, collectionId, sourceLng, targetLng, strategy, publishOnTranslation } = input\n\n // Get original schema (preserves localized: true on nested fields)\n const schema = this.schemaMap.get(collection)\n if (!schema) throw new APIError(`Collection \"${collection}\" not found in schemaMap`, 400)\n\n const sourceData = await payload.findByID({ collection, id: collectionId, locale: sourceLng })\n const targetData = await payload.findByID({\n collection,\n id: collectionId,\n locale: targetLng,\n fallbackLocale: false,\n })\n\n const translationStrategy = createTranslationStrategy(strategy)\n const pipeline = new TranslationPipeline({\n translationProvider: this.translationProvider,\n translationStrategy,\n })\n\n const result = await pipeline.execute({ schema, sourceData, targetData, sourceLng, targetLng })\n if (!result) return { success: true }\n\n const collectionConfig = payload.collections[collection].config\n await this.saveTranslatedDocument(\n payload,\n collection,\n collectionId,\n result.translatedData,\n targetLng,\n sourceLng,\n collectionConfig,\n publishOnTranslation,\n )\n\n return { success: true }\n }\n\n private async saveTranslatedDocument(\n payload: Payload,\n collection: string,\n collectionId: string | number,\n translatedData: Record<string, unknown>,\n targetLng: string,\n sourceLng: string,\n collectionConfig: SanitizedCollectionConfig,\n publishOnTranslation: boolean,\n ): Promise<void> {\n let isAutosaveEnabled = false\n const versions = collectionConfig.versions\n\n if (versions && versions.drafts) {\n translatedData['_status'] = publishOnTranslation ? 'published' : 'draft'\n\n const drafts = versions.drafts\n if (!publishOnTranslation && drafts.autosave) isAutosaveEnabled = true\n }\n\n await payload.update({\n collection: collection,\n id: collectionId,\n data: translatedData,\n autosave: isAutosaveEnabled,\n locale: targetLng,\n fallbackLocale: sourceLng,\n })\n }\n}\n"],"names":["APIError","TranslationPipeline","createTranslationStrategy","TranslateDocumentHandler","translationProvider","schemaMap","handle","payload","input","collection","collectionId","sourceLng","targetLng","strategy","publishOnTranslation","schema","get","sourceData","findByID","id","locale","targetData","fallbackLocale","translationStrategy","pipeline","result","execute","success","collectionConfig","collections","config","saveTranslatedDocument","translatedData","isAutosaveEnabled","versions","drafts","autosave","update","data"],"mappings":"AACA,SAASA,QAAQ,QAAQ,UAAS;AAIlC,SAASC,mBAAmB,QAAQ,qCAAoC;AACxE,SAASC,yBAAyB,QAAQ,gDAA+C;AASzF;;CAEC,GACD,OAAO,MAAMC;;;IACX,YACE,AAAiBC,mBAAwC,EACzD,AAAiBC,SAA8B,CAC/C;aAFiBD,sBAAAA;aACAC,YAAAA;IAChB;IAEH,MAAMC,OAAOC,OAAgB,EAAEC,KAA6B,EAAoC;QAC9F,MAAM,EAAEC,UAAU,EAAEC,YAAY,EAAEC,SAAS,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,oBAAoB,EAAE,GAAGN;QAE3F,mEAAmE;QACnE,MAAMO,SAAS,IAAI,CAACV,SAAS,CAACW,GAAG,CAACP;QAClC,IAAI,CAACM,QAAQ,MAAM,IAAIf,SAAS,CAAC,YAAY,EAAES,WAAW,wBAAwB,CAAC,EAAE;QAErF,MAAMQ,aAAa,MAAMV,QAAQW,QAAQ,CAAC;YAAET;YAAYU,IAAIT;YAAcU,QAAQT;QAAU;QAC5F,MAAMU,aAAa,MAAMd,QAAQW,QAAQ,CAAC;YACxCT;YACAU,IAAIT;YACJU,QAAQR;YACRU,gBAAgB;QAClB;QAEA,MAAMC,sBAAsBrB,0BAA0BW;QACtD,MAAMW,WAAW,IAAIvB,oBAAoB;YACvCG,qBAAqB,IAAI,CAACA,mBAAmB;YAC7CmB;QACF;QAEA,MAAME,SAAS,MAAMD,SAASE,OAAO,CAAC;YAAEX;YAAQE;YAAYI;YAAYV;YAAWC;QAAU;QAC7F,IAAI,CAACa,QAAQ,OAAO;YAAEE,SAAS;QAAK;QAEpC,MAAMC,mBAAmBrB,QAAQsB,WAAW,CAACpB,WAAW,CAACqB,MAAM;QAC/D,MAAM,IAAI,CAACC,sBAAsB,CAC/BxB,SACAE,YACAC,cACAe,OAAOO,cAAc,EACrBpB,WACAD,WACAiB,kBACAd;QAGF,OAAO;YAAEa,SAAS;QAAK;IACzB;IAEA,MAAcI,uBACZxB,OAAgB,EAChBE,UAAkB,EAClBC,YAA6B,EAC7BsB,cAAuC,EACvCpB,SAAiB,EACjBD,SAAiB,EACjBiB,gBAA2C,EAC3Cd,oBAA6B,EACd;QACf,IAAImB,oBAAoB;QACxB,MAAMC,WAAWN,iBAAiBM,QAAQ;QAE1C,IAAIA,YAAYA,SAASC,MAAM,EAAE;YAC/BH,cAAc,CAAC,UAAU,GAAGlB,uBAAuB,cAAc;YAEjE,MAAMqB,SAASD,SAASC,MAAM;YAC9B,IAAI,CAACrB,wBAAwBqB,OAAOC,QAAQ,EAAEH,oBAAoB;QACpE;QAEA,MAAM1B,QAAQ8B,MAAM,CAAC;YACnB5B,YAAYA;YACZU,IAAIT;YACJ4B,MAAMN;YACNI,UAAUH;YACVb,QAAQR;YACRU,gBAAgBX;QAClB;IACF;AACF"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=handler.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handler.test.d.ts","sourceRoot":"","sources":["../../../../src/server/features/translate-document/handler.test.ts"],"names":[],"mappings":""}
@@ -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"}
@@ -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"}
@@ -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"}
@@ -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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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=PayloadJobsTaskRunner.test.d.ts.map
@@ -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":""}