@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,188 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach } from 'vitest';
2
- import { PayloadJobsTaskRunner } from './PayloadJobsTaskRunner';
3
- describe('PayloadJobsTaskRunner', () => {
4
- let mockPayload;
5
- let config;
6
- let runner;
7
- beforeEach(() => {
8
- mockPayload = {
9
- find: vi.fn().mockResolvedValue({ docs: [] }),
10
- delete: vi.fn().mockResolvedValue(undefined),
11
- jobs: {
12
- queue: vi.fn().mockResolvedValue(undefined),
13
- cancel: vi.fn().mockResolvedValue(undefined),
14
- runByID: vi.fn().mockResolvedValue(undefined),
15
- },
16
- };
17
- config = {
18
- taskName: 'translate_document',
19
- queueName: 'translations',
20
- jobsCollection: 'payload-jobs',
21
- autoRun: {
22
- cron: '* * * * *',
23
- limit: 50,
24
- },
25
- };
26
- runner = new PayloadJobsTaskRunner(mockPayload, config);
27
- });
28
- const createInput = (overrides = {}) => ({
29
- collectionSlug: 'posts',
30
- collectionId: 'doc-123',
31
- sourceLng: 'en',
32
- targetLng: 'de',
33
- strategy: 'overwrite',
34
- publishOnTranslation: false,
35
- ...overrides,
36
- });
37
- const createJob = (overrides = {}) => ({
38
- id: 'job-123',
39
- createdAt: '2024-01-01T00:00:00Z',
40
- updatedAt: '2024-01-01T00:00:00Z',
41
- input: {
42
- collection: { relationTo: 'posts', value: 'doc-123' },
43
- source_lng: 'en',
44
- target_lng: 'de',
45
- strategy: 'overwrite',
46
- },
47
- ...overrides,
48
- });
49
- describe('enqueue', () => {
50
- it('queues tasks with correct input', async () => {
51
- const input = createInput();
52
- await runner.enqueue([input]);
53
- expect(mockPayload.jobs.queue).toHaveBeenCalledWith({
54
- task: 'translate_document',
55
- queue: 'translations',
56
- input: {
57
- collection: { relationTo: 'posts', value: 'doc-123' },
58
- source_lng: 'en',
59
- target_lng: 'de',
60
- strategy: 'overwrite',
61
- publish_on_translation: false,
62
- },
63
- });
64
- });
65
- it('queues multiple tasks', async () => {
66
- const inputs = [createInput({ collectionId: 'doc-1' }), createInput({ collectionId: 'doc-2' })];
67
- await runner.enqueue(inputs);
68
- expect(mockPayload.jobs.queue).toHaveBeenCalledTimes(2);
69
- });
70
- it('cancels existing jobs before queuing new ones', async () => {
71
- const existingJob = createJob({ id: 'existing-job' });
72
- mockPayload.find.mockResolvedValueOnce({ docs: [existingJob] });
73
- const input = createInput();
74
- await runner.enqueue([input]);
75
- expect(mockPayload.jobs.cancel).toHaveBeenCalledWith({
76
- where: { id: { in: ['existing-job'] } },
77
- queue: 'translations',
78
- });
79
- expect(mockPayload.delete).toHaveBeenCalledWith({
80
- collection: 'payload-jobs',
81
- where: { id: { in: ['existing-job'] } },
82
- });
83
- });
84
- it('does not cancel when no existing jobs', async () => {
85
- mockPayload.find.mockResolvedValue({ docs: [] });
86
- const input = createInput();
87
- await runner.enqueue([input]);
88
- expect(mockPayload.jobs.cancel).not.toHaveBeenCalled();
89
- expect(mockPayload.delete).not.toHaveBeenCalled();
90
- });
91
- it('groups tasks by collection', async () => {
92
- const inputs = [
93
- createInput({ collectionSlug: 'posts', collectionId: 'post-1' }),
94
- createInput({ collectionSlug: 'posts', collectionId: 'post-2' }),
95
- createInput({ collectionSlug: 'pages', collectionId: 'page-1' }),
96
- ];
97
- await runner.enqueue(inputs);
98
- // Should check for existing jobs per collection
99
- expect(mockPayload.find).toHaveBeenCalledTimes(2);
100
- });
101
- });
102
- describe('cancel', () => {
103
- it('cancels jobs by ids', async () => {
104
- await runner.cancel(['job-1', 'job-2']);
105
- expect(mockPayload.jobs.cancel).toHaveBeenCalledWith({
106
- where: { id: { in: ['job-1', 'job-2'] } },
107
- queue: 'translations',
108
- });
109
- expect(mockPayload.delete).toHaveBeenCalledWith({
110
- collection: 'payload-jobs',
111
- where: { id: { in: ['job-1', 'job-2'] } },
112
- });
113
- });
114
- it('does nothing for empty array', async () => {
115
- await runner.cancel([]);
116
- expect(mockPayload.jobs.cancel).not.toHaveBeenCalled();
117
- expect(mockPayload.delete).not.toHaveBeenCalled();
118
- });
119
- });
120
- describe('run', () => {
121
- it('returns not_found when task does not exist', async () => {
122
- mockPayload.find.mockResolvedValue({ docs: [] });
123
- const result = await runner.run('nonexistent');
124
- expect(result).toEqual({ success: false, error: 'not_found' });
125
- });
126
- it('returns already_completed when task is completed', async () => {
127
- const completedJob = createJob({ completedAt: '2024-01-01T01:00:00Z' });
128
- mockPayload.find.mockResolvedValue({ docs: [completedJob] });
129
- const result = await runner.run('job-123');
130
- expect(result).toEqual({ success: false, error: 'already_completed' });
131
- });
132
- it('returns already_running when task is running', async () => {
133
- const runningJob = createJob({ processing: true });
134
- mockPayload.find.mockResolvedValue({ docs: [runningJob] });
135
- const result = await runner.run('job-123');
136
- expect(result).toEqual({ success: false, error: 'already_running' });
137
- });
138
- it('runs task and returns success', async () => {
139
- const pendingJob = createJob();
140
- mockPayload.find.mockResolvedValue({ docs: [pendingJob] });
141
- const result = await runner.run('job-123');
142
- expect(result).toEqual({ success: true });
143
- expect(mockPayload.jobs.runByID).toHaveBeenCalledWith({ id: 'job-123' });
144
- });
145
- });
146
- describe('findByCollection', () => {
147
- it('finds tasks by collection slug', async () => {
148
- // Mock returns only jobs matching the collection (simulating DB where clause)
149
- const jobs = [
150
- createJob({ id: 'job-1', input: { collection: { relationTo: 'posts', value: 'doc-1' } } }),
151
- createJob({ id: 'job-2', input: { collection: { relationTo: 'posts', value: 'doc-2' } } }),
152
- ];
153
- mockPayload.find.mockResolvedValue({ docs: jobs });
154
- const tasks = await runner.findByCollection('posts');
155
- expect(tasks).toHaveLength(2);
156
- expect(tasks[0].id).toBe('job-1');
157
- expect(tasks[1].id).toBe('job-2');
158
- });
159
- it('filters by document ids when provided', async () => {
160
- // Mock returns only jobs matching collection and document ids (simulating DB where clause)
161
- const jobs = [
162
- createJob({ id: 'job-1', input: { collection: { relationTo: 'posts', value: 'doc-1' } } }),
163
- createJob({ id: 'job-2', input: { collection: { relationTo: 'posts', value: 'doc-2' } } }),
164
- ];
165
- mockPayload.find.mockResolvedValue({ docs: jobs });
166
- const tasks = await runner.findByCollection('posts', ['doc-1', 'doc-2']);
167
- expect(tasks).toHaveLength(2);
168
- expect(tasks[0].id).toBe('job-1');
169
- expect(tasks[1].id).toBe('job-2');
170
- });
171
- it('returns normalized tasks', async () => {
172
- const job = createJob({
173
- id: 'job-123',
174
- completedAt: '2024-01-01T01:00:00Z',
175
- });
176
- mockPayload.find.mockResolvedValue({ docs: [job] });
177
- const tasks = await runner.findByCollection('posts');
178
- expect(tasks[0]).toMatchObject({
179
- id: 'job-123',
180
- status: 'completed',
181
- input: {
182
- collectionSlug: 'posts',
183
- collectionId: 'doc-123',
184
- },
185
- });
186
- });
187
- });
188
- });
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/server/modules/task-runner/payload-jobs-runner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACrE,YAAY,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/server/modules/task-runner/payload-jobs-runner/index.ts"],"sourcesContent":["export { createPayloadJobsRunner } from './PayloadJobsRunnerProvider'\nexport type { PayloadJobsRunnerOptions } from './types'\n"],"names":["createPayloadJobsRunner"],"mappings":"AAAA,SAASA,uBAAuB,QAAQ,8BAA6B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalizeJob.d.ts","sourceRoot":"","sources":["../../../../../src/server/modules/task-runner/payload-jobs-runner/normalizeJob.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAkBlD"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/server/modules/task-runner/payload-jobs-runner/normalizeJob.ts"],"sourcesContent":["import type { CollectionSlug } from 'payload'\n\nimport type { Task, TaskStatus } from '../types'\nimport type { PayloadJob } from './types'\n\n/**\n * Transform Payload job to normalized Task\n */\nexport function normalizeJob(job: PayloadJob): Task {\n return {\n id: job.id,\n status: getJobStatus(job),\n input: {\n collectionSlug: job.input?.collection?.relationTo ?? ('' as CollectionSlug),\n collectionId: job.input?.collection?.value ?? '',\n sourceLng: job.input?.source_lng ?? '',\n targetLng: job.input?.target_lng ?? '',\n strategy: (job.input?.strategy as 'overwrite' | 'skip_existing') ?? 'overwrite',\n publishOnTranslation: job.input?.publish_on_translation ?? false,\n },\n createdAt: job.createdAt,\n updatedAt: job.updatedAt,\n completedAt: job.completedAt ?? undefined,\n error: job.error ? { message: extractErrorMessage(job.error) } : undefined,\n cancelled: isCancelled(job.error),\n }\n}\n\nfunction getJobStatus(job: PayloadJob): TaskStatus {\n if (job.completedAt) return 'completed'\n if (job.processing) return 'running'\n if (job.error) return 'failed'\n return 'pending'\n}\n\nfunction extractErrorMessage(error: unknown): string {\n if (error && typeof error === 'object' && 'message' in error && typeof error.message === 'string') {\n return error.message\n }\n return 'Unknown error'\n}\n\nfunction isCancelled(error: unknown): boolean {\n return (\n error !== null &&\n typeof error === 'object' &&\n 'cancelled' in error &&\n typeof error.cancelled === 'boolean' &&\n error.cancelled\n )\n}\n"],"names":["normalizeJob","job","id","status","getJobStatus","input","collectionSlug","collection","relationTo","collectionId","value","sourceLng","source_lng","targetLng","target_lng","strategy","publishOnTranslation","publish_on_translation","createdAt","updatedAt","completedAt","undefined","error","message","extractErrorMessage","cancelled","isCancelled","processing"],"mappings":"AAKA;;CAEC,GACD,OAAO,SAASA,aAAaC,GAAe;IAC1C,OAAO;QACLC,IAAID,IAAIC,EAAE;QACVC,QAAQC,aAAaH;QACrBI,OAAO;YACLC,gBAAgBL,IAAII,KAAK,EAAEE,YAAYC,cAAe;YACtDC,cAAcR,IAAII,KAAK,EAAEE,YAAYG,SAAS;YAC9CC,WAAWV,IAAII,KAAK,EAAEO,cAAc;YACpCC,WAAWZ,IAAII,KAAK,EAAES,cAAc;YACpCC,UAAU,AAACd,IAAII,KAAK,EAAEU,YAA8C;YACpEC,sBAAsBf,IAAII,KAAK,EAAEY,0BAA0B;QAC7D;QACAC,WAAWjB,IAAIiB,SAAS;QACxBC,WAAWlB,IAAIkB,SAAS;QACxBC,aAAanB,IAAImB,WAAW,IAAIC;QAChCC,OAAOrB,IAAIqB,KAAK,GAAG;YAAEC,SAASC,oBAAoBvB,IAAIqB,KAAK;QAAE,IAAID;QACjEI,WAAWC,YAAYzB,IAAIqB,KAAK;IAClC;AACF;AAEA,SAASlB,aAAaH,GAAe;IACnC,IAAIA,IAAImB,WAAW,EAAE,OAAO;IAC5B,IAAInB,IAAI0B,UAAU,EAAE,OAAO;IAC3B,IAAI1B,IAAIqB,KAAK,EAAE,OAAO;IACtB,OAAO;AACT;AAEA,SAASE,oBAAoBF,KAAc;IACzC,IAAIA,SAAS,OAAOA,UAAU,YAAY,aAAaA,SAAS,OAAOA,MAAMC,OAAO,KAAK,UAAU;QACjG,OAAOD,MAAMC,OAAO;IACtB;IACA,OAAO;AACT;AAEA,SAASG,YAAYJ,KAAc;IACjC,OACEA,UAAU,QACV,OAAOA,UAAU,YACjB,eAAeA,SACf,OAAOA,MAAMG,SAAS,KAAK,aAC3BH,MAAMG,SAAS;AAEnB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=normalizeJob.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalizeJob.test.d.ts","sourceRoot":"","sources":["../../../../../src/server/modules/task-runner/payload-jobs-runner/normalizeJob.test.ts"],"names":[],"mappings":""}
@@ -1,169 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { normalizeJob } from './normalizeJob';
3
- describe('normalizeJob', () => {
4
- const baseJob = {
5
- id: 'job-123',
6
- createdAt: '2024-01-01T00:00:00Z',
7
- updatedAt: '2024-01-01T00:00:00Z',
8
- input: {
9
- collection: {
10
- relationTo: 'posts',
11
- value: 'doc-456',
12
- },
13
- source_lng: 'en',
14
- target_lng: 'de',
15
- strategy: 'overwrite',
16
- },
17
- };
18
- describe('basic transformation', () => {
19
- it('transforms job to task with correct id', () => {
20
- const task = normalizeJob(baseJob);
21
- expect(task.id).toBe('job-123');
22
- });
23
- it('transforms job to task with correct input', () => {
24
- const task = normalizeJob(baseJob);
25
- expect(task.input).toEqual({
26
- collectionSlug: 'posts',
27
- collectionId: 'doc-456',
28
- sourceLng: 'en',
29
- targetLng: 'de',
30
- strategy: 'overwrite',
31
- publishOnTranslation: false,
32
- });
33
- });
34
- it('transforms job to task with correct timestamps', () => {
35
- const task = normalizeJob(baseJob);
36
- expect(task.createdAt).toBe('2024-01-01T00:00:00Z');
37
- expect(task.updatedAt).toBe('2024-01-01T00:00:00Z');
38
- });
39
- });
40
- describe('status detection', () => {
41
- it('returns pending status for new job', () => {
42
- const task = normalizeJob(baseJob);
43
- expect(task.status).toBe('pending');
44
- });
45
- it('returns running status when processing is true', () => {
46
- const job = { ...baseJob, processing: true };
47
- const task = normalizeJob(job);
48
- expect(task.status).toBe('running');
49
- });
50
- it('returns completed status when completedAt is set', () => {
51
- const job = { ...baseJob, completedAt: '2024-01-01T01:00:00Z' };
52
- const task = normalizeJob(job);
53
- expect(task.status).toBe('completed');
54
- expect(task.completedAt).toBe('2024-01-01T01:00:00Z');
55
- });
56
- it('returns failed status when error is set', () => {
57
- const job = { ...baseJob, error: { message: 'Something went wrong' } };
58
- const task = normalizeJob(job);
59
- expect(task.status).toBe('failed');
60
- });
61
- it('completed takes precedence over processing', () => {
62
- const job = { ...baseJob, completedAt: '2024-01-01T01:00:00Z', processing: true };
63
- const task = normalizeJob(job);
64
- expect(task.status).toBe('completed');
65
- });
66
- it('completed takes precedence over error', () => {
67
- const job = {
68
- ...baseJob,
69
- completedAt: '2024-01-01T01:00:00Z',
70
- error: { message: 'err' },
71
- };
72
- const task = normalizeJob(job);
73
- expect(task.status).toBe('completed');
74
- });
75
- });
76
- describe('error handling', () => {
77
- it('extracts error message from error object', () => {
78
- const job = { ...baseJob, error: { message: 'Translation failed' } };
79
- const task = normalizeJob(job);
80
- expect(task.error).toEqual({ message: 'Translation failed' });
81
- });
82
- it('returns unknown error for non-standard error', () => {
83
- const job = { ...baseJob, error: 'some string error' };
84
- const task = normalizeJob(job);
85
- expect(task.error).toEqual({ message: 'Unknown error' });
86
- });
87
- it('returns unknown error for error without message', () => {
88
- const job = { ...baseJob, error: { code: 500 } };
89
- const task = normalizeJob(job);
90
- expect(task.error).toEqual({ message: 'Unknown error' });
91
- });
92
- it('sets error to undefined when no error', () => {
93
- const task = normalizeJob(baseJob);
94
- expect(task.error).toBeUndefined();
95
- });
96
- });
97
- describe('cancelled detection', () => {
98
- it('detects cancelled job', () => {
99
- const job = { ...baseJob, error: { cancelled: true, message: 'Cancelled' } };
100
- const task = normalizeJob(job);
101
- expect(task.cancelled).toBe(true);
102
- });
103
- it('returns false for non-cancelled error', () => {
104
- const job = { ...baseJob, error: { message: 'Failed' } };
105
- const task = normalizeJob(job);
106
- expect(task.cancelled).toBe(false);
107
- });
108
- it('returns false for cancelled: false', () => {
109
- const job = { ...baseJob, error: { cancelled: false, message: 'Error' } };
110
- const task = normalizeJob(job);
111
- expect(task.cancelled).toBe(false);
112
- });
113
- it('returns false for no error', () => {
114
- const task = normalizeJob(baseJob);
115
- expect(task.cancelled).toBe(false);
116
- });
117
- });
118
- describe('missing input fields', () => {
119
- it('handles missing input gracefully', () => {
120
- const job = { ...baseJob, input: undefined };
121
- const task = normalizeJob(job);
122
- expect(task.input).toEqual({
123
- collectionSlug: '',
124
- collectionId: '',
125
- sourceLng: '',
126
- targetLng: '',
127
- strategy: 'overwrite',
128
- publishOnTranslation: false,
129
- });
130
- });
131
- it('handles missing collection in input', () => {
132
- const job = {
133
- ...baseJob,
134
- input: { source_lng: 'en', target_lng: 'de' },
135
- };
136
- const task = normalizeJob(job);
137
- expect(task.input.collectionSlug).toBe('');
138
- expect(task.input.collectionId).toBe('');
139
- });
140
- it('handles missing strategy with default', () => {
141
- const job = {
142
- ...baseJob,
143
- input: { ...baseJob.input, strategy: undefined },
144
- };
145
- const task = normalizeJob(job);
146
- expect(task.input.strategy).toBe('overwrite');
147
- });
148
- it('handles skip_existing strategy', () => {
149
- const job = {
150
- ...baseJob,
151
- input: { ...baseJob.input, strategy: 'skip_existing' },
152
- };
153
- const task = normalizeJob(job);
154
- expect(task.input.strategy).toBe('skip_existing');
155
- });
156
- });
157
- describe('completedAt handling', () => {
158
- it('sets completedAt to undefined when null', () => {
159
- const job = { ...baseJob, completedAt: null };
160
- const task = normalizeJob(job);
161
- expect(task.completedAt).toBeUndefined();
162
- });
163
- it('sets completedAt to value when provided', () => {
164
- const job = { ...baseJob, completedAt: '2024-01-02T00:00:00Z' };
165
- const task = normalizeJob(job);
166
- expect(task.completedAt).toBe('2024-01-02T00:00:00Z');
167
- });
168
- });
169
- });
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/modules/task-runner/payload-jobs-runner/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,KAAK,GAAG,aAAa,CAAA;IAC/B;;OAEG;IACH,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,uBAAuB,GAAG;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAA;IACxC,OAAO,CAAC,EAAE,wBAAwB,CAAC,SAAS,CAAC,CAAA;CAC9C,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC3B,KAAK,CAAC,EAAE;QACN,UAAU,CAAC,EAAE;YACX,UAAU,EAAE,cAAc,CAAA;YAC1B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;SACvB,CAAA;QACD,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,sBAAsB,CAAC,EAAE,OAAO,CAAA;KACjC,CAAA;CACF,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/server/modules/task-runner/payload-jobs-runner/types.ts"],"sourcesContent":["import type { CollectionSlug } from 'payload'\n\n/**\n * Configuration for automatic job processing.\n */\nexport type AutoRunConfig = {\n /**\n * Cron schedule for auto-running jobs.\n * @default '* * * * *' (every minute)\n */\n cron?: string\n /**\n * Maximum number of jobs to process per run.\n * @default 50\n */\n limit?: number\n}\n\n/**\n * Options for PayloadJobsRunnerProvider\n */\nexport type PayloadJobsRunnerOptions = {\n /**\n * Name of the Payload task.\n * @default 'translate_document'\n */\n taskName?: string\n /**\n * Name of the job queue.\n * @default 'translations'\n */\n queueName?: string\n /**\n * Name of the Payload jobs collection.\n * @default 'payload-jobs'\n */\n jobsCollection?: string\n /**\n * Automatic job processing configuration.\n * Set to `false` to disable (for Vercel/serverless deployments).\n * Set to an object to customize cron schedule and limit.\n * @default { cron: '* * * * *', limit: 50 }\n */\n autoRun?: false | AutoRunConfig\n /**\n * Retry configuration for failed jobs.\n */\n retries?: {\n attempts?: number\n backoff?: { delay?: number; type: 'exponential' | 'fixed' }\n }\n}\n\n/**\n * Internal configuration for PayloadJobsRunner\n */\nexport type PayloadJobsRunnerConfig = {\n taskName: string\n queueName: string\n jobsCollection: string\n autoRun: false | Required<AutoRunConfig>\n retries?: PayloadJobsRunnerOptions['retries']\n}\n\n/**\n * Raw Payload job structure\n */\nexport type PayloadJob = {\n id: string\n completedAt?: string | null\n createdAt: string\n updatedAt: string\n error?: unknown\n processing?: boolean | null\n input?: {\n collection?: {\n relationTo: CollectionSlug\n value: string | number\n }\n source_lng?: string\n target_lng?: string\n strategy?: string\n publish_on_translation?: boolean\n }\n}\n"],"names":[],"mappings":"AAgEA;;CAEC,GACD,WAiBC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SyncRunnerProvider.d.ts","sourceRoot":"","sources":["../../../../../src/server/modules/task-runner/sync-runner/SyncRunnerProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAe,MAAM,iCAAiC,CAAA;AAEzG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAOhD;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,kBAAkB;IAC3D,OAAO,CAAC,OAAO,CAAC,CAAa;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;gBAEjC,OAAO,CAAC,EAAE,iBAAiB;IAYvC,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU;IAKpC,SAAS,CAAC,OAAO,EAAE,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM;CAIlE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,kBAAkB,CAEhF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/server/modules/task-runner/sync-runner/SyncRunnerProvider.ts"],"sourcesContent":["import type { Config, Payload } from 'payload'\n\nimport type { TaskRunner } from '../TaskRunner.interface'\nimport type { TaskRunnerProvider, TaskRunnerContext, TaskHandler } from '../TaskRunnerProvider.interface'\nimport type { Task } from '../types'\nimport type { SyncRunnerOptions } from './types'\nimport { SyncTaskRunner } from './SyncTaskRunner'\nimport { LazyMap } from '../../../shared/utils'\n\nconst DEFAULT_MAX_SIZE = 100\nconst DEFAULT_TTL_MS = 60 * 60 * 1000 // 1 hour\n\n/**\n * Synchronous TaskRunnerProvider implementation.\n *\n * Executes translations immediately without Payload Jobs.\n * Useful for development, testing, or simple use cases.\n */\nexport class SyncRunnerProvider implements TaskRunnerProvider {\n private handler?: TaskHandler\n private readonly tasks: LazyMap<string, Task>\n\n constructor(options?: SyncRunnerOptions) {\n const maxSize = options?.maxSize ?? DEFAULT_MAX_SIZE\n const ttlMs = options?.ttlMs ?? DEFAULT_TTL_MS\n\n this.tasks = new LazyMap<string, Task>({\n maxSize,\n ttlMs,\n isRemovable: (task) => task.status === 'completed' || task.status === 'failed',\n getTimestamp: (task) => new Date(task.updatedAt).getTime(),\n })\n }\n\n create(payload: Payload): TaskRunner {\n if (!this.handler) throw new Error('SyncRunnerProvider not configured. Call configure() first.')\n return new SyncTaskRunner(payload, this.handler, this.tasks)\n }\n\n configure(context: TaskRunnerContext): (config: Config) => Config {\n this.handler = context.handler\n return (config) => config\n }\n}\n\n/**\n * Creates a synchronous TaskRunnerProvider.\n *\n * Executes translations immediately without queuing.\n * Results are stored in memory and lost on server restart.\n */\nexport function createSyncRunner(options?: SyncRunnerOptions): TaskRunnerProvider {\n return new SyncRunnerProvider(options)\n}\n"],"names":["SyncTaskRunner","LazyMap","DEFAULT_MAX_SIZE","DEFAULT_TTL_MS","SyncRunnerProvider","handler","tasks","options","maxSize","ttlMs","isRemovable","task","status","getTimestamp","Date","updatedAt","getTime","create","payload","Error","configure","context","config","createSyncRunner"],"mappings":"AAMA,SAASA,cAAc,QAAQ,mBAAkB;AACjD,SAASC,OAAO,QAAQ,wBAAuB;AAE/C,MAAMC,mBAAmB;AACzB,MAAMC,iBAAiB,KAAK,KAAK,KAAK,SAAS;;AAE/C;;;;;CAKC,GACD,OAAO,MAAMC;IACHC,QAAqB;IACZC,MAA4B;IAE7C,YAAYC,OAA2B,CAAE;QACvC,MAAMC,UAAUD,SAASC,WAAWN;QACpC,MAAMO,QAAQF,SAASE,SAASN;QAEhC,IAAI,CAACG,KAAK,GAAG,IAAIL,QAAsB;YACrCO;YACAC;YACAC,aAAa,CAACC,OAASA,KAAKC,MAAM,KAAK,eAAeD,KAAKC,MAAM,KAAK;YACtEC,cAAc,CAACF,OAAS,IAAIG,KAAKH,KAAKI,SAAS,EAAEC,OAAO;QAC1D;IACF;IAEAC,OAAOC,OAAgB,EAAc;QACnC,IAAI,CAAC,IAAI,CAACb,OAAO,EAAE,MAAM,IAAIc,MAAM;QACnC,OAAO,IAAInB,eAAekB,SAAS,IAAI,CAACb,OAAO,EAAE,IAAI,CAACC,KAAK;IAC7D;IAEAc,UAAUC,OAA0B,EAA8B;QAChE,IAAI,CAAChB,OAAO,GAAGgB,QAAQhB,OAAO;QAC9B,OAAO,CAACiB,SAAWA;IACrB;AACF;AAEA;;;;;CAKC,GACD,OAAO,SAASC,iBAAiBhB,OAA2B;IAC1D,OAAO,IAAIH,mBAAmBG;AAChC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SyncTaskRunner.d.ts","sourceRoot":"","sources":["../../../../../src/server/modules/task-runner/sync-runner/SyncTaskRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAEpD;;;;;GAKG;AACH,qBAAa,cAAe,YAAW,UAAU;IAE7C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAFL,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;IAGzC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAuC3C,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAKxC,gBAAgB,CAAC,cAAc,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAY7G,OAAO,CAAC,MAAM;CAGf"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/server/modules/task-runner/sync-runner/SyncTaskRunner.ts"],"sourcesContent":["import type { Payload, CollectionSlug } from 'payload'\n\nimport type { TaskRunner } from '../TaskRunner.interface'\nimport type { TaskHandler } from '../TaskRunnerProvider.interface'\nimport type { Task, TaskInput, RunResult } from '../types'\nimport type { LazyMap } from '../../../shared/utils'\n\n/**\n * Synchronous TaskRunner implementation.\n *\n * Executes translations immediately without queuing.\n * Stores results in memory for status queries.\n */\nexport class SyncTaskRunner implements TaskRunner {\n constructor(\n private readonly payload: Payload,\n private readonly handler: TaskHandler,\n private readonly tasks: LazyMap<string, Task>,\n ) {}\n\n async enqueue(inputs: TaskInput[]): Promise<void> {\n for (const input of inputs) {\n const key = this.getKey(input.collectionSlug, input.collectionId)\n const now = new Date().toISOString()\n\n const task: Task = {\n id: crypto.randomUUID(),\n status: 'running',\n input,\n createdAt: now,\n updatedAt: now,\n cancelled: false,\n }\n\n this.tasks.set(key, task)\n\n try {\n await this.handler(this.payload, {\n collection: input.collectionSlug,\n collectionId: input.collectionId,\n sourceLng: input.sourceLng,\n targetLng: input.targetLng,\n strategy: input.strategy,\n publishOnTranslation: input.publishOnTranslation,\n })\n\n task.status = 'completed'\n task.completedAt = new Date().toISOString()\n } catch (error) {\n task.status = 'failed'\n task.error = {\n message: error instanceof Error ? error.message : 'Unknown error',\n }\n }\n\n task.updatedAt = new Date().toISOString()\n }\n }\n\n async cancel(_taskIds: string[]): Promise<void> {\n // No-op: synchronous tasks execute immediately and cannot be cancelled\n }\n\n async run(_taskId: string): Promise<RunResult> {\n // Sync runner executes tasks immediately, no pending tasks to run\n return { success: false, error: 'not_found' }\n }\n\n async findByCollection(collectionSlug: CollectionSlug, documentIds?: Array<string | number>): Promise<Task[]> {\n const results: Task[] = []\n\n for (const [, task] of this.tasks) {\n if (task.input.collectionSlug !== collectionSlug) continue\n if (documentIds && !documentIds.includes(task.input.collectionId)) continue\n results.push(task)\n }\n\n return results\n }\n\n private getKey(collectionSlug: CollectionSlug, collectionId: string | number): string {\n return `${collectionSlug}:${collectionId}`\n }\n}\n"],"names":["SyncTaskRunner","payload","handler","tasks","enqueue","inputs","input","key","getKey","collectionSlug","collectionId","now","Date","toISOString","task","id","crypto","randomUUID","status","createdAt","updatedAt","cancelled","set","collection","sourceLng","targetLng","strategy","publishOnTranslation","completedAt","error","message","Error","cancel","_taskIds","run","_taskId","success","findByCollection","documentIds","results","includes","push"],"mappings":"AAOA;;;;;CAKC,GACD,OAAO,MAAMA;;;;IACX,YACE,AAAiBC,OAAgB,EACjC,AAAiBC,OAAoB,EACrC,AAAiBC,KAA4B,CAC7C;aAHiBF,UAAAA;aACAC,UAAAA;aACAC,QAAAA;IAChB;IAEH,MAAMC,QAAQC,MAAmB,EAAiB;QAChD,KAAK,MAAMC,SAASD,OAAQ;YAC1B,MAAME,MAAM,IAAI,CAACC,MAAM,CAACF,MAAMG,cAAc,EAAEH,MAAMI,YAAY;YAChE,MAAMC,MAAM,IAAIC,OAAOC,WAAW;YAElC,MAAMC,OAAa;gBACjBC,IAAIC,OAAOC,UAAU;gBACrBC,QAAQ;gBACRZ;gBACAa,WAAWR;gBACXS,WAAWT;gBACXU,WAAW;YACb;YAEA,IAAI,CAAClB,KAAK,CAACmB,GAAG,CAACf,KAAKO;YAEpB,IAAI;gBACF,MAAM,IAAI,CAACZ,OAAO,CAAC,IAAI,CAACD,OAAO,EAAE;oBAC/BsB,YAAYjB,MAAMG,cAAc;oBAChCC,cAAcJ,MAAMI,YAAY;oBAChCc,WAAWlB,MAAMkB,SAAS;oBAC1BC,WAAWnB,MAAMmB,SAAS;oBAC1BC,UAAUpB,MAAMoB,QAAQ;oBACxBC,sBAAsBrB,MAAMqB,oBAAoB;gBAClD;gBAEAb,KAAKI,MAAM,GAAG;gBACdJ,KAAKc,WAAW,GAAG,IAAIhB,OAAOC,WAAW;YAC3C,EAAE,OAAOgB,OAAO;gBACdf,KAAKI,MAAM,GAAG;gBACdJ,KAAKe,KAAK,GAAG;oBACXC,SAASD,iBAAiBE,QAAQF,MAAMC,OAAO,GAAG;gBACpD;YACF;YAEAhB,KAAKM,SAAS,GAAG,IAAIR,OAAOC,WAAW;QACzC;IACF;IAEA,MAAMmB,OAAOC,QAAkB,EAAiB;IAC9C,uEAAuE;IACzE;IAEA,MAAMC,IAAIC,OAAe,EAAsB;QAC7C,kEAAkE;QAClE,OAAO;YAAEC,SAAS;YAAOP,OAAO;QAAY;IAC9C;IAEA,MAAMQ,iBAAiB5B,cAA8B,EAAE6B,WAAoC,EAAmB;QAC5G,MAAMC,UAAkB,EAAE;QAE1B,KAAK,MAAM,GAAGzB,KAAK,IAAI,IAAI,CAACX,KAAK,CAAE;YACjC,IAAIW,KAAKR,KAAK,CAACG,cAAc,KAAKA,gBAAgB;YAClD,IAAI6B,eAAe,CAACA,YAAYE,QAAQ,CAAC1B,KAAKR,KAAK,CAACI,YAAY,GAAG;YACnE6B,QAAQE,IAAI,CAAC3B;QACf;QAEA,OAAOyB;IACT;IAEQ/B,OAAOC,cAA8B,EAAEC,YAA6B,EAAU;QACpF,OAAO,GAAGD,eAAe,CAAC,EAAEC,cAAc;IAC5C;AACF"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=SyncTaskRunner.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SyncTaskRunner.test.d.ts","sourceRoot":"","sources":["../../../../../src/server/modules/task-runner/sync-runner/SyncTaskRunner.test.ts"],"names":[],"mappings":""}
@@ -1,148 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach } from 'vitest';
2
- import { SyncTaskRunner } from './SyncTaskRunner';
3
- import { LazyMap } from '../../../shared/utils';
4
- describe('SyncTaskRunner', () => {
5
- let mockPayload;
6
- let mockHandler;
7
- let tasks;
8
- let runner;
9
- beforeEach(() => {
10
- mockPayload = {};
11
- mockHandler = vi.fn().mockResolvedValue(undefined);
12
- tasks = new LazyMap({
13
- isRemovable: (task) => task.status === 'completed' || task.status === 'failed',
14
- getTimestamp: (task) => new Date(task.updatedAt).getTime(),
15
- });
16
- runner = new SyncTaskRunner(mockPayload, mockHandler, tasks);
17
- });
18
- const createInput = (overrides = {}) => ({
19
- collectionSlug: 'posts',
20
- collectionId: 'doc-123',
21
- sourceLng: 'en',
22
- targetLng: 'de',
23
- strategy: 'overwrite',
24
- publishOnTranslation: false,
25
- ...overrides,
26
- });
27
- describe('enqueue', () => {
28
- it('executes handler immediately', async () => {
29
- const input = createInput();
30
- await runner.enqueue([input]);
31
- expect(mockHandler).toHaveBeenCalledWith(mockPayload, {
32
- collection: 'posts',
33
- collectionId: 'doc-123',
34
- sourceLng: 'en',
35
- targetLng: 'de',
36
- strategy: 'overwrite',
37
- publishOnTranslation: false,
38
- });
39
- });
40
- it('stores completed task in tasks map', async () => {
41
- const input = createInput();
42
- await runner.enqueue([input]);
43
- const task = tasks.get('posts:doc-123');
44
- expect(task).toBeDefined();
45
- expect(task?.status).toBe('completed');
46
- expect(task?.completedAt).toBeDefined();
47
- });
48
- it('stores failed task when handler throws', async () => {
49
- mockHandler = vi.fn().mockRejectedValue(new Error('Translation failed'));
50
- runner = new SyncTaskRunner(mockPayload, mockHandler, tasks);
51
- const input = createInput();
52
- await runner.enqueue([input]);
53
- const task = tasks.get('posts:doc-123');
54
- expect(task?.status).toBe('failed');
55
- expect(task?.error?.message).toBe('Translation failed');
56
- });
57
- it('handles non-Error throws', async () => {
58
- mockHandler = vi.fn().mockRejectedValue('string error');
59
- runner = new SyncTaskRunner(mockPayload, mockHandler, tasks);
60
- const input = createInput();
61
- await runner.enqueue([input]);
62
- const task = tasks.get('posts:doc-123');
63
- expect(task?.status).toBe('failed');
64
- expect(task?.error?.message).toBe('Unknown error');
65
- });
66
- it('processes multiple inputs sequentially', async () => {
67
- const inputs = [
68
- createInput({ collectionId: 'doc-1' }),
69
- createInput({ collectionId: 'doc-2' }),
70
- createInput({ collectionId: 'doc-3' }),
71
- ];
72
- await runner.enqueue(inputs);
73
- expect(mockHandler).toHaveBeenCalledTimes(3);
74
- expect(tasks.get('posts:doc-1')?.status).toBe('completed');
75
- expect(tasks.get('posts:doc-2')?.status).toBe('completed');
76
- expect(tasks.get('posts:doc-3')?.status).toBe('completed');
77
- });
78
- it('creates task with unique id', async () => {
79
- const inputs = [createInput({ collectionId: 'doc-1' }), createInput({ collectionId: 'doc-2' })];
80
- await runner.enqueue(inputs);
81
- const task1 = tasks.get('posts:doc-1');
82
- const task2 = tasks.get('posts:doc-2');
83
- expect(task1?.id).not.toBe(task2?.id);
84
- });
85
- it('sets cancelled to false', async () => {
86
- const input = createInput();
87
- await runner.enqueue([input]);
88
- const task = tasks.get('posts:doc-123');
89
- expect(task?.cancelled).toBe(false);
90
- });
91
- it('overwrites existing task for same document', async () => {
92
- const input = createInput();
93
- await runner.enqueue([input]);
94
- const firstTaskId = tasks.get('posts:doc-123')?.id;
95
- await runner.enqueue([input]);
96
- const secondTaskId = tasks.get('posts:doc-123')?.id;
97
- expect(secondTaskId).not.toBe(firstTaskId);
98
- });
99
- });
100
- describe('cancel', () => {
101
- it('is a no-op (sync tasks cannot be cancelled)', async () => {
102
- const input = createInput();
103
- await runner.enqueue([input]);
104
- const taskId = tasks.get('posts:doc-123')?.id;
105
- await runner.cancel([taskId]);
106
- // Task should still exist and be completed
107
- expect(tasks.get('posts:doc-123')?.status).toBe('completed');
108
- });
109
- });
110
- describe('run', () => {
111
- it('returns not_found error (sync tasks run immediately)', async () => {
112
- const result = await runner.run('some-task-id');
113
- expect(result).toEqual({ success: false, error: 'not_found' });
114
- });
115
- });
116
- describe('findByCollection', () => {
117
- it('returns tasks for collection', async () => {
118
- await runner.enqueue([
119
- createInput({ collectionSlug: 'posts', collectionId: 'doc-1' }),
120
- createInput({ collectionSlug: 'posts', collectionId: 'doc-2' }),
121
- createInput({ collectionSlug: 'pages', collectionId: 'doc-3' }),
122
- ]);
123
- const postTasks = await runner.findByCollection('posts');
124
- expect(postTasks).toHaveLength(2);
125
- expect(postTasks.every((t) => t.input.collectionSlug === 'posts')).toBe(true);
126
- });
127
- it('filters by documentIds when provided', async () => {
128
- await runner.enqueue([
129
- createInput({ collectionId: 'doc-1' }),
130
- createInput({ collectionId: 'doc-2' }),
131
- createInput({ collectionId: 'doc-3' }),
132
- ]);
133
- const filteredTasks = await runner.findByCollection('posts', ['doc-1', 'doc-3']);
134
- expect(filteredTasks).toHaveLength(2);
135
- expect(filteredTasks.map((t) => t.input.collectionId).sort()).toEqual(['doc-1', 'doc-3']);
136
- });
137
- it('returns empty array when no tasks match', async () => {
138
- await runner.enqueue([createInput()]);
139
- const tasks = await runner.findByCollection('pages');
140
- expect(tasks).toEqual([]);
141
- });
142
- it('returns empty array for empty documentIds', async () => {
143
- await runner.enqueue([createInput()]);
144
- const tasks = await runner.findByCollection('posts', []);
145
- expect(tasks).toEqual([]);
146
- });
147
- });
148
- });
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/server/modules/task-runner/sync-runner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/server/modules/task-runner/sync-runner/index.ts"],"sourcesContent":["export { createSyncRunner } from './SyncRunnerProvider'\n"],"names":["createSyncRunner"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,uBAAsB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/modules/task-runner/sync-runner/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/server/modules/task-runner/sync-runner/types.ts"],"sourcesContent":["/**\n * Options for SyncRunnerProvider\n */\nexport type SyncRunnerOptions = {\n /**\n * Maximum number of task results to keep in memory.\n * When exceeded, oldest completed entries are removed.\n * @default 100\n */\n maxSize?: number\n /**\n * Time-to-live for completed task results in milliseconds.\n * Expired entries are removed lazily during enqueue operations.\n * @default 3600000 (1 hour)\n */\n ttlMs?: number\n}\n"],"names":[],"mappings":"AAAA;;CAEC,GACD,WAaC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/server/modules/task-runner/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAA;AAEvE;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,cAAc,EAAE,cAAc,CAAA;IAC9B,YAAY,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,WAAW,GAAG,eAAe,CAAA;IACvC,oBAAoB,EAAE,OAAO,CAAA;CAC9B,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,UAAU,CAAA;IAClB,KAAK,EAAE,SAAS,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3B,SAAS,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GACjB;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,WAAW,GAAG,iBAAiB,GAAG,mBAAmB,CAAA;CAAE,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/server/modules/task-runner/types.ts"],"sourcesContent":["import type { CollectionSlug } from 'payload'\n\n/**\n * Status of a translation task\n */\nexport type TaskStatus = 'pending' | 'running' | 'completed' | 'failed'\n\n/**\n * Input for creating a new translation task\n */\nexport type TaskInput = {\n collectionSlug: CollectionSlug\n collectionId: string | number\n sourceLng: string\n targetLng: string\n strategy: 'overwrite' | 'skip_existing'\n publishOnTranslation: boolean\n}\n\n/**\n * Normalized task representation\n */\nexport type Task = {\n id: string\n status: TaskStatus\n input: TaskInput\n createdAt: string\n updatedAt: string\n completedAt?: string\n error?: { message: string }\n cancelled: boolean\n}\n\n/**\n * Result of run operation\n */\nexport type RunResult =\n | { success: true }\n | { success: false; error: 'not_found' | 'already_running' | 'already_completed' }\n"],"names":[],"mappings":"AAiCA;;CAEC,GACD,WAEoF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TranslationPipeline.d.ts","sourceRoot":"","sources":["../../../../src/server/modules/translation-pipeline/TranslationPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAkC,MAAM,SAAS,CAAA;AAC7F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAS5C;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAA;CAC/B,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;gBAE5B,OAAO,EAAE,0BAA0B;IAU/C;;;OAGG;IACG,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;CA6BtE"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/server/modules/translation-pipeline/TranslationPipeline.ts"],"sourcesContent":["import type { TranslationProvider } from '../translation-providers'\nimport type { PipelineConfig, PipelineResult, PipelineContext, PipelineStage } from './types'\nimport type { TranslationStrategy } from './strategies'\nimport type { TextExpander } from './stages'\nimport {\n DataReconcilerStage,\n FieldChunkCollectorStage,\n TranslationStage,\n TextChunkExpanderStage,\n TranslationMutatorStage,\n} from './stages'\n\n/**\n * Options for TranslationPipeline.\n */\nexport type TranslationPipelineOptions = {\n translationProvider: TranslationProvider\n translationStrategy: TranslationStrategy\n textExpanders?: TextExpander[]\n}\n\n/**\n * Main orchestrator for the translation pipeline.\n * Coordinates all stages in sequence via PipelineContext.\n *\n * Pipeline stages:\n * 1. DataReconcilerStage - Reconcile source/target data preserving full document shape\n * 2. FieldChunkCollectorStage - Collect FieldChunks (schema-aware)\n * 3. TextChunkExpanderStage - Expand FieldChunks to TextChunks (schema-free)\n * 4. TranslationStage - Call translation provider\n * 5. TranslationMutatorStage - Apply translations via mutation\n *\n * Pipeline only transforms data. Saving is the caller's responsibility.\n */\nexport class TranslationPipeline {\n private readonly stages: PipelineStage[]\n\n constructor(options: TranslationPipelineOptions) {\n this.stages = [\n new DataReconcilerStage(),\n new FieldChunkCollectorStage(options.translationStrategy),\n new TextChunkExpanderStage(options.textExpanders),\n new TranslationStage(options.translationProvider),\n new TranslationMutatorStage(),\n ]\n }\n\n /**\n * Executes the translation pipeline.\n * Returns transformed data ready to be saved, or null if nothing to translate.\n */\n async execute(config: PipelineConfig): Promise<PipelineResult | null> {\n let ctx: PipelineContext = {\n schema: config.schema,\n sourceData: config.sourceData,\n targetData: config.targetData,\n sourceLng: config.sourceLng,\n targetLng: config.targetLng,\n }\n\n for (const stage of this.stages) {\n ctx = await stage.execute(ctx)\n\n // Early exit checks\n if (ctx.fieldChunks !== undefined && ctx.fieldChunks.length === 0) {\n return null\n }\n if (ctx.textMap !== undefined && Object.keys(ctx.textMap).length === 0) {\n return null\n }\n }\n\n if (!ctx.filteredData) {\n return null\n }\n\n return {\n translatedData: ctx.filteredData,\n }\n }\n}\n"],"names":["DataReconcilerStage","FieldChunkCollectorStage","TranslationStage","TextChunkExpanderStage","TranslationMutatorStage","TranslationPipeline","stages","options","translationStrategy","textExpanders","translationProvider","execute","config","ctx","schema","sourceData","targetData","sourceLng","targetLng","stage","fieldChunks","undefined","length","textMap","Object","keys","filteredData","translatedData"],"mappings":"AAIA,SACEA,mBAAmB,EACnBC,wBAAwB,EACxBC,gBAAgB,EAChBC,sBAAsB,EACtBC,uBAAuB,QAClB,WAAU;AAWjB;;;;;;;;;;;;CAYC,GACD,OAAO,MAAMC;IACMC,OAAuB;IAExC,YAAYC,OAAmC,CAAE;QAC/C,IAAI,CAACD,MAAM,GAAG;YACZ,IAAIN;YACJ,IAAIC,yBAAyBM,QAAQC,mBAAmB;YACxD,IAAIL,uBAAuBI,QAAQE,aAAa;YAChD,IAAIP,iBAAiBK,QAAQG,mBAAmB;YAChD,IAAIN;SACL;IACH;IAEA;;;GAGC,GACD,MAAMO,QAAQC,MAAsB,EAAkC;QACpE,IAAIC,MAAuB;YACzBC,QAAQF,OAAOE,MAAM;YACrBC,YAAYH,OAAOG,UAAU;YAC7BC,YAAYJ,OAAOI,UAAU;YAC7BC,WAAWL,OAAOK,SAAS;YAC3BC,WAAWN,OAAOM,SAAS;QAC7B;QAEA,KAAK,MAAMC,SAAS,IAAI,CAACb,MAAM,CAAE;YAC/BO,MAAM,MAAMM,MAAMR,OAAO,CAACE;YAE1B,oBAAoB;YACpB,IAAIA,IAAIO,WAAW,KAAKC,aAAaR,IAAIO,WAAW,CAACE,MAAM,KAAK,GAAG;gBACjE,OAAO;YACT;YACA,IAAIT,IAAIU,OAAO,KAAKF,aAAaG,OAAOC,IAAI,CAACZ,IAAIU,OAAO,EAAED,MAAM,KAAK,GAAG;gBACtE,OAAO;YACT;QACF;QAEA,IAAI,CAACT,IAAIa,YAAY,EAAE;YACrB,OAAO;QACT;QAEA,OAAO;YACLC,gBAAgBd,IAAIa,YAAY;QAClC;IACF;AACF"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=TranslationPipeline.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TranslationPipeline.test.d.ts","sourceRoot":"","sources":["../../../../src/server/modules/translation-pipeline/TranslationPipeline.test.ts"],"names":[],"mappings":""}