@umituz/react-native-ai-generation-content 1.26.2 → 1.26.4

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 (327) hide show
  1. package/package.json +3 -2
  2. package/src/domains/generation/application/feature-registry.ts +101 -0
  3. package/src/domains/generation/application/generation-strategy.factory.ts +128 -0
  4. package/src/domains/generation/domain/feature-config.types.ts +61 -0
  5. package/src/domains/generation/domain/generation.types.ts +74 -0
  6. package/src/domains/generation/index.ts +37 -0
  7. package/src/domains/generation/presentation/useAIGeneration.hook.ts +106 -0
  8. package/src/domains/wizard/infrastructure/strategies/wizard-strategy.factory.ts +3 -4
  9. package/src/index.ts +1 -25
  10. package/src/infrastructure/executors/executor-factory.ts +53 -0
  11. package/src/infrastructure/executors/image-executor.ts +133 -0
  12. package/src/infrastructure/executors/video-executor.ts +130 -0
  13. package/src/features/ai-hug/README.md +0 -438
  14. package/src/features/ai-hug/domain/index.ts +0 -5
  15. package/src/features/ai-hug/domain/types/ai-hug.types.ts +0 -25
  16. package/src/features/ai-hug/domain/types/index.ts +0 -7
  17. package/src/features/ai-hug/index.ts +0 -19
  18. package/src/features/ai-hug/presentation/components/AIHugFeature.tsx +0 -77
  19. package/src/features/ai-hug/presentation/components/index.ts +0 -2
  20. package/src/features/ai-hug/presentation/hooks/index.ts +0 -9
  21. package/src/features/ai-hug/presentation/hooks/useAIHugFeature.ts +0 -34
  22. package/src/features/ai-hug/presentation/index.ts +0 -6
  23. package/src/features/ai-kiss/README.md +0 -445
  24. package/src/features/ai-kiss/domain/index.ts +0 -5
  25. package/src/features/ai-kiss/domain/types/ai-kiss.types.ts +0 -25
  26. package/src/features/ai-kiss/domain/types/index.ts +0 -7
  27. package/src/features/ai-kiss/index.ts +0 -19
  28. package/src/features/ai-kiss/presentation/components/AIKissFeature.tsx +0 -77
  29. package/src/features/ai-kiss/presentation/components/index.ts +0 -2
  30. package/src/features/ai-kiss/presentation/hooks/index.ts +0 -9
  31. package/src/features/ai-kiss/presentation/hooks/useAIKissFeature.ts +0 -34
  32. package/src/features/ai-kiss/presentation/index.ts +0 -6
  33. package/src/features/anime-selfie/README.md +0 -396
  34. package/src/features/anime-selfie/domain/index.ts +0 -5
  35. package/src/features/anime-selfie/domain/types/anime-selfie.types.ts +0 -52
  36. package/src/features/anime-selfie/domain/types/index.ts +0 -8
  37. package/src/features/anime-selfie/index.ts +0 -20
  38. package/src/features/anime-selfie/presentation/components/AnimeSelfieFeature.tsx +0 -86
  39. package/src/features/anime-selfie/presentation/components/index.ts +0 -2
  40. package/src/features/anime-selfie/presentation/hooks/index.ts +0 -9
  41. package/src/features/anime-selfie/presentation/hooks/useAnimeSelfieFeature.ts +0 -59
  42. package/src/features/anime-selfie/presentation/index.ts +0 -6
  43. package/src/features/couple-future/README.md +0 -445
  44. package/src/features/couple-future/domain/types.ts +0 -63
  45. package/src/features/couple-future/domain/wizard-config.adapter.ts +0 -76
  46. package/src/features/couple-future/domain/wizard.types.ts +0 -121
  47. package/src/features/couple-future/index.ts +0 -83
  48. package/src/features/couple-future/infrastructure/coupleFeatureRegistry.ts +0 -76
  49. package/src/features/couple-future/infrastructure/couplePromptEnhancer.ts +0 -100
  50. package/src/features/couple-future/infrastructure/executor.ts +0 -188
  51. package/src/features/couple-future/infrastructure/generationUtils.ts +0 -228
  52. package/src/features/couple-future/presentation/components/ArtStyleSelector.tsx +0 -146
  53. package/src/features/couple-future/presentation/components/ArtistStyleSelector.tsx +0 -122
  54. package/src/features/couple-future/presentation/components/CoupleFutureWizard.tsx +0 -239
  55. package/src/features/couple-future/presentation/components/GeneratingStepContent.tsx +0 -86
  56. package/src/features/couple-future/presentation/components/RomanticMoodSelector.tsx +0 -147
  57. package/src/features/couple-future/presentation/components/WardrobeSelector.tsx +0 -141
  58. package/src/features/couple-future/presentation/components/index.ts +0 -12
  59. package/src/features/couple-future/presentation/hooks/useCoupleFutureFlow.ts +0 -166
  60. package/src/features/couple-future/presentation/hooks/useCoupleFutureFlow.types.ts +0 -69
  61. package/src/features/couple-future/presentation/hooks/useCoupleFutureHandlers.ts +0 -117
  62. package/src/features/couple-future/presentation/screens/CoupleFeatureScreen.tsx +0 -113
  63. package/src/features/face-swap/README.md +0 -431
  64. package/src/features/face-swap/domain/index.ts +0 -5
  65. package/src/features/face-swap/domain/types/face-swap.types.ts +0 -26
  66. package/src/features/face-swap/domain/types/index.ts +0 -7
  67. package/src/features/face-swap/index.ts +0 -19
  68. package/src/features/face-swap/presentation/components/FaceSwapFeature.tsx +0 -87
  69. package/src/features/face-swap/presentation/components/index.ts +0 -2
  70. package/src/features/face-swap/presentation/hooks/index.ts +0 -6
  71. package/src/features/face-swap/presentation/hooks/useFaceSwapFeature.ts +0 -35
  72. package/src/features/face-swap/presentation/index.ts +0 -6
  73. package/src/features/hd-touch-up/README.md +0 -396
  74. package/src/features/hd-touch-up/domain/index.ts +0 -1
  75. package/src/features/hd-touch-up/domain/types/hd-touch-up.types.ts +0 -62
  76. package/src/features/hd-touch-up/domain/types/index.ts +0 -9
  77. package/src/features/hd-touch-up/index.ts +0 -21
  78. package/src/features/hd-touch-up/presentation/components/HDTouchUpFeature.tsx +0 -86
  79. package/src/features/hd-touch-up/presentation/components/index.ts +0 -2
  80. package/src/features/hd-touch-up/presentation/hooks/index.ts +0 -1
  81. package/src/features/hd-touch-up/presentation/hooks/useHDTouchUpFeature.ts +0 -23
  82. package/src/features/hd-touch-up/presentation/index.ts +0 -2
  83. package/src/features/image-to-image/README.md +0 -459
  84. package/src/features/image-to-image/domain/index.ts +0 -1
  85. package/src/features/image-to-image/domain/types/base.types.ts +0 -48
  86. package/src/features/image-to-image/domain/types/index.ts +0 -1
  87. package/src/features/image-to-image/domain/types/partials/config.types.ts +0 -37
  88. package/src/features/image-to-image/domain/types/partials/hook.types.ts +0 -53
  89. package/src/features/image-to-image/domain/types/partials/metadata.types.ts +0 -32
  90. package/src/features/image-to-image/domain/types/partials/result.types.ts +0 -44
  91. package/src/features/image-to-image/domain/types/partials/state.types.ts +0 -34
  92. package/src/features/image-to-image/domain/types/partials/translation.types.ts +0 -57
  93. package/src/features/image-to-image/index.ts +0 -2
  94. package/src/features/image-to-image/presentation/hooks/index.ts +0 -3
  95. package/src/features/image-to-image/presentation/hooks/useDualImageFeature.ts +0 -204
  96. package/src/features/image-to-image/presentation/hooks/useImageWithPromptFeature.ts +0 -223
  97. package/src/features/image-to-image/presentation/hooks/useSingleImageFeature.ts +0 -166
  98. package/src/features/image-to-image/presentation/index.ts +0 -1
  99. package/src/features/image-to-video/README.md +0 -414
  100. package/src/features/image-to-video/domain/constants/animation.constants.ts +0 -47
  101. package/src/features/image-to-video/domain/constants/duration.constants.ts +0 -13
  102. package/src/features/image-to-video/domain/constants/form.constants.ts +0 -22
  103. package/src/features/image-to-video/domain/constants/index.ts +0 -23
  104. package/src/features/image-to-video/domain/constants/music.constants.ts +0 -53
  105. package/src/features/image-to-video/domain/index.ts +0 -5
  106. package/src/features/image-to-video/domain/types/animation.types.ts +0 -20
  107. package/src/features/image-to-video/domain/types/config.types.ts +0 -56
  108. package/src/features/image-to-video/domain/types/duration.types.ts +0 -11
  109. package/src/features/image-to-video/domain/types/form.types.ts +0 -35
  110. package/src/features/image-to-video/domain/types/image-to-video.types.ts +0 -122
  111. package/src/features/image-to-video/domain/types/index.ts +0 -39
  112. package/src/features/image-to-video/domain/types/music.types.ts +0 -21
  113. package/src/features/image-to-video/index.ts +0 -116
  114. package/src/features/image-to-video/infrastructure/index.ts +0 -1
  115. package/src/features/image-to-video/infrastructure/services/image-to-video-executor.ts +0 -154
  116. package/src/features/image-to-video/infrastructure/services/index.ts +0 -5
  117. package/src/features/image-to-video/presentation/components/AddMoreCard.tsx +0 -52
  118. package/src/features/image-to-video/presentation/components/AnimationStyleSelector.tsx +0 -135
  119. package/src/features/image-to-video/presentation/components/DurationSelector.tsx +0 -110
  120. package/src/features/image-to-video/presentation/components/EmptyGridState.tsx +0 -69
  121. package/src/features/image-to-video/presentation/components/GridImageItem.tsx +0 -64
  122. package/src/features/image-to-video/presentation/components/ImageSelectionGrid.styles.ts +0 -84
  123. package/src/features/image-to-video/presentation/components/ImageSelectionGrid.tsx +0 -77
  124. package/src/features/image-to-video/presentation/components/ImageSelectionGrid.types.ts +0 -18
  125. package/src/features/image-to-video/presentation/components/MusicMoodSelector.tsx +0 -181
  126. package/src/features/image-to-video/presentation/components/index.ts +0 -30
  127. package/src/features/image-to-video/presentation/hooks/index.ts +0 -27
  128. package/src/features/image-to-video/presentation/hooks/useFormState.ts +0 -116
  129. package/src/features/image-to-video/presentation/hooks/useGeneration.ts +0 -85
  130. package/src/features/image-to-video/presentation/hooks/useGenerationExecution.ts +0 -143
  131. package/src/features/image-to-video/presentation/hooks/useImageToVideoFeature.ts +0 -107
  132. package/src/features/image-to-video/presentation/hooks/useImageToVideoForm.ts +0 -119
  133. package/src/features/image-to-video/presentation/hooks/useImageToVideoValidation.ts +0 -46
  134. package/src/features/image-to-video/presentation/index.ts +0 -5
  135. package/src/features/love-message/domain/constants.ts +0 -162
  136. package/src/features/love-message/domain/types.ts +0 -58
  137. package/src/features/love-message/index.ts +0 -37
  138. package/src/features/love-message/infrastructure/persistence/PartnerProfileRepository.ts +0 -52
  139. package/src/features/love-message/infrastructure/prompts/messagePromptBuilder.ts +0 -109
  140. package/src/features/love-message/infrastructure/services/LoveMessageService.ts +0 -35
  141. package/src/features/love-message/presentation/components/CategoryGrid.tsx +0 -88
  142. package/src/features/love-message/presentation/components/DetailsInput.tsx +0 -74
  143. package/src/features/love-message/presentation/components/ExploreHeader.tsx +0 -67
  144. package/src/features/love-message/presentation/components/FieldInput.tsx +0 -83
  145. package/src/features/love-message/presentation/components/GeneratorHeader.tsx +0 -88
  146. package/src/features/love-message/presentation/components/LoveMessageHeroSection.tsx +0 -114
  147. package/src/features/love-message/presentation/components/MessageListItem.tsx +0 -77
  148. package/src/features/love-message/presentation/components/MessageResult.tsx +0 -105
  149. package/src/features/love-message/presentation/components/PartnerInput.tsx +0 -78
  150. package/src/features/love-message/presentation/components/ProgressDots.tsx +0 -48
  151. package/src/features/love-message/presentation/components/StepDetails.tsx +0 -23
  152. package/src/features/love-message/presentation/components/StepPartner.tsx +0 -116
  153. package/src/features/love-message/presentation/components/StepVibe.tsx +0 -30
  154. package/src/features/love-message/presentation/components/ToneSelector.tsx +0 -100
  155. package/src/features/love-message/presentation/components/TrendingSection.tsx +0 -130
  156. package/src/features/love-message/presentation/components/TypeSelector.tsx +0 -99
  157. package/src/features/love-message/presentation/hooks/useLoveMessageGenerator.ts +0 -114
  158. package/src/features/love-message/presentation/hooks/usePartnerProfile.ts +0 -43
  159. package/src/features/love-message/presentation/navigation/LoveMessageStack.tsx +0 -39
  160. package/src/features/love-message/presentation/screens/LoveMessageExploreScreen.tsx +0 -53
  161. package/src/features/love-message/presentation/screens/LoveMessageGeneratorScreen.tsx +0 -169
  162. package/src/features/love-message/presentation/screens/MessageListScreen.tsx +0 -127
  163. package/src/features/love-message/presentation/screens/PartnerProfileScreen.tsx +0 -119
  164. package/src/features/meme-generator/README.md +0 -408
  165. package/src/features/meme-generator/index.ts +0 -3
  166. package/src/features/meme-generator/infrastructure/services/MemeGenerationService.ts +0 -87
  167. package/src/features/meme-generator/presentation/components/MemeGeneratorFeature.tsx +0 -180
  168. package/src/features/meme-generator/presentation/components/index.ts +0 -2
  169. package/src/features/meme-generator/presentation/screens/MemeGeneratorScreen.tsx +0 -168
  170. package/src/features/meme-generator/presentation/screens/index.ts +0 -1
  171. package/src/features/partner-upload/domain/types.ts +0 -59
  172. package/src/features/partner-upload/index.ts +0 -30
  173. package/src/features/partner-upload/presentation/components/PartnerInfoInput.tsx +0 -112
  174. package/src/features/partner-upload/presentation/components/PhotoTips.tsx +0 -53
  175. package/src/features/partner-upload/presentation/components/index.ts +0 -4
  176. package/src/features/partner-upload/presentation/hooks/index.ts +0 -7
  177. package/src/features/partner-upload/presentation/hooks/usePartnerStep.ts +0 -130
  178. package/src/features/partner-upload/presentation/screens/PartnerStepScreen.tsx +0 -231
  179. package/src/features/partner-upload/presentation/screens/index.ts +0 -6
  180. package/src/features/photo-restoration/README.md +0 -399
  181. package/src/features/photo-restoration/domain/index.ts +0 -1
  182. package/src/features/photo-restoration/domain/types/index.ts +0 -9
  183. package/src/features/photo-restoration/domain/types/photo-restore.types.ts +0 -64
  184. package/src/features/photo-restoration/index.ts +0 -22
  185. package/src/features/photo-restoration/presentation/components/PhotoRestoreFeature.tsx +0 -88
  186. package/src/features/photo-restoration/presentation/components/PhotoRestoreResultView.tsx +0 -86
  187. package/src/features/photo-restoration/presentation/components/index.ts +0 -4
  188. package/src/features/photo-restoration/presentation/hooks/index.ts +0 -1
  189. package/src/features/photo-restoration/presentation/hooks/usePhotoRestoreFeature.ts +0 -23
  190. package/src/features/photo-restoration/presentation/index.ts +0 -2
  191. package/src/features/remove-background/README.md +0 -393
  192. package/src/features/remove-background/domain/index.ts +0 -5
  193. package/src/features/remove-background/domain/types/index.ts +0 -7
  194. package/src/features/remove-background/domain/types/remove-background.types.ts +0 -28
  195. package/src/features/remove-background/index.ts +0 -19
  196. package/src/features/remove-background/presentation/components/RemoveBackgroundFeature.tsx +0 -86
  197. package/src/features/remove-background/presentation/components/index.ts +0 -2
  198. package/src/features/remove-background/presentation/hooks/index.ts +0 -1
  199. package/src/features/remove-background/presentation/hooks/useRemoveBackgroundFeature.ts +0 -28
  200. package/src/features/remove-background/presentation/index.ts +0 -6
  201. package/src/features/remove-object/README.md +0 -405
  202. package/src/features/remove-object/domain/index.ts +0 -5
  203. package/src/features/remove-object/domain/types/index.ts +0 -7
  204. package/src/features/remove-object/domain/types/remove-object.types.ts +0 -54
  205. package/src/features/remove-object/index.ts +0 -23
  206. package/src/features/remove-object/presentation/components/RemoveObjectFeature.tsx +0 -136
  207. package/src/features/remove-object/presentation/components/index.ts +0 -2
  208. package/src/features/remove-object/presentation/hooks/index.ts +0 -9
  209. package/src/features/remove-object/presentation/hooks/useRemoveObjectFeature.ts +0 -221
  210. package/src/features/remove-object/presentation/index.ts +0 -6
  211. package/src/features/replace-background/README.md +0 -405
  212. package/src/features/replace-background/domain/types/index.ts +0 -7
  213. package/src/features/replace-background/domain/types/replace-background.types.ts +0 -33
  214. package/src/features/replace-background/index.ts +0 -23
  215. package/src/features/replace-background/presentation/components/ReplaceBackgroundFeature.tsx +0 -105
  216. package/src/features/replace-background/presentation/components/index.ts +0 -6
  217. package/src/features/replace-background/presentation/hooks/index.ts +0 -9
  218. package/src/features/replace-background/presentation/hooks/useReplaceBackgroundFeature.ts +0 -55
  219. package/src/features/scenarios/domain/types.ts +0 -147
  220. package/src/features/scenarios/index.ts +0 -64
  221. package/src/features/scenarios/presentation/components/InspirationChips.tsx +0 -82
  222. package/src/features/scenarios/presentation/components/MagicPromptHeadline.tsx +0 -79
  223. package/src/features/scenarios/presentation/components/ScenarioGrid.tsx +0 -224
  224. package/src/features/scenarios/presentation/components/ScenarioHeader.tsx +0 -55
  225. package/src/features/scenarios/presentation/components/StyleSelector.tsx +0 -119
  226. package/src/features/scenarios/presentation/components/index.ts +0 -18
  227. package/src/features/scenarios/presentation/containers/CategoryNavigationContainer.tsx +0 -178
  228. package/src/features/scenarios/presentation/screens/HierarchicalScenarioListScreen.tsx +0 -266
  229. package/src/features/scenarios/presentation/screens/MagicPromptScreen.tsx +0 -242
  230. package/src/features/scenarios/presentation/screens/MainCategoryScreen.tsx +0 -198
  231. package/src/features/scenarios/presentation/screens/ScenarioPreviewScreen.tsx +0 -164
  232. package/src/features/scenarios/presentation/screens/ScenarioSelectorScreen.tsx +0 -66
  233. package/src/features/scenarios/presentation/screens/SubCategoryScreen.tsx +0 -216
  234. package/src/features/script-generator/README.md +0 -433
  235. package/src/features/script-generator/domain/constants/index.ts +0 -10
  236. package/src/features/script-generator/domain/types/script.types.ts +0 -30
  237. package/src/features/script-generator/index.ts +0 -5
  238. package/src/features/script-generator/infrastructure/services/ScriptGenerationService.ts +0 -62
  239. package/src/features/script-generator/presentation/components/ScriptDisplay.tsx +0 -158
  240. package/src/features/script-generator/presentation/components/VideoTypeSelector.tsx +0 -102
  241. package/src/features/script-generator/presentation/components/index.ts +0 -2
  242. package/src/features/script-generator/presentation/hooks/index.ts +0 -1
  243. package/src/features/script-generator/presentation/hooks/useScriptGenerator.ts +0 -77
  244. package/src/features/shared/README.md +0 -311
  245. package/src/features/shared/dual-image-video/domain/types/dual-image-video.types.ts +0 -88
  246. package/src/features/shared/dual-image-video/domain/types/index.ts +0 -14
  247. package/src/features/shared/dual-image-video/index.ts +0 -17
  248. package/src/features/shared/dual-image-video/presentation/hooks/index.ts +0 -5
  249. package/src/features/shared/dual-image-video/presentation/hooks/useDualImageVideoFeature.ts +0 -185
  250. package/src/features/shared/index.ts +0 -6
  251. package/src/features/text-to-image/README.md +0 -394
  252. package/src/features/text-to-image/domain/constants/index.ts +0 -8
  253. package/src/features/text-to-image/domain/constants/options.constants.ts +0 -39
  254. package/src/features/text-to-image/domain/constants/styles.constants.ts +0 -34
  255. package/src/features/text-to-image/domain/index.ts +0 -7
  256. package/src/features/text-to-image/domain/types/config.types.ts +0 -75
  257. package/src/features/text-to-image/domain/types/form.types.ts +0 -58
  258. package/src/features/text-to-image/domain/types/index.ts +0 -38
  259. package/src/features/text-to-image/domain/types/text-to-image.types.ts +0 -58
  260. package/src/features/text-to-image/index.ts +0 -116
  261. package/src/features/text-to-image/infrastructure/index.ts +0 -1
  262. package/src/features/text-to-image/infrastructure/services/index.ts +0 -5
  263. package/src/features/text-to-image/infrastructure/services/text-to-image-executor.ts +0 -147
  264. package/src/features/text-to-image/presentation/components/index.ts +0 -30
  265. package/src/features/text-to-image/presentation/hooks/index.ts +0 -30
  266. package/src/features/text-to-image/presentation/hooks/useFormState.ts +0 -103
  267. package/src/features/text-to-image/presentation/hooks/useGeneration.ts +0 -139
  268. package/src/features/text-to-image/presentation/hooks/useTextToImageFeature.ts +0 -111
  269. package/src/features/text-to-image/presentation/hooks/useTextToImageForm.ts +0 -58
  270. package/src/features/text-to-image/presentation/index.ts +0 -7
  271. package/src/features/text-to-video/README.md +0 -412
  272. package/src/features/text-to-video/domain/index.ts +0 -1
  273. package/src/features/text-to-video/domain/types/callback.types.ts +0 -69
  274. package/src/features/text-to-video/domain/types/component.types.ts +0 -106
  275. package/src/features/text-to-video/domain/types/config.types.ts +0 -61
  276. package/src/features/text-to-video/domain/types/index.ts +0 -56
  277. package/src/features/text-to-video/domain/types/request.types.ts +0 -36
  278. package/src/features/text-to-video/domain/types/state.types.ts +0 -53
  279. package/src/features/text-to-video/index.ts +0 -68
  280. package/src/features/text-to-video/infrastructure/index.ts +0 -1
  281. package/src/features/text-to-video/infrastructure/services/index.ts +0 -5
  282. package/src/features/text-to-video/infrastructure/services/text-to-video-executor.ts +0 -141
  283. package/src/features/text-to-video/presentation/components/FrameSelector.tsx +0 -153
  284. package/src/features/text-to-video/presentation/components/GenerationTabs.tsx +0 -73
  285. package/src/features/text-to-video/presentation/components/HeroSection.tsx +0 -61
  286. package/src/features/text-to-video/presentation/components/HintCarousel.tsx +0 -96
  287. package/src/features/text-to-video/presentation/components/OptionsPanel.tsx +0 -121
  288. package/src/features/text-to-video/presentation/components/index.ts +0 -10
  289. package/src/features/text-to-video/presentation/hooks/index.ts +0 -17
  290. package/src/features/text-to-video/presentation/hooks/useTextToVideoFeature.ts +0 -225
  291. package/src/features/text-to-video/presentation/hooks/useTextToVideoForm.ts +0 -134
  292. package/src/features/text-to-video/presentation/index.ts +0 -7
  293. package/src/features/text-to-voice/README.md +0 -445
  294. package/src/features/text-to-voice/domain/index.ts +0 -1
  295. package/src/features/text-to-voice/domain/types/component.types.ts +0 -91
  296. package/src/features/text-to-voice/domain/types/config.types.ts +0 -34
  297. package/src/features/text-to-voice/domain/types/form.types.ts +0 -39
  298. package/src/features/text-to-voice/domain/types/generation.types.ts +0 -43
  299. package/src/features/text-to-voice/domain/types/index.ts +0 -38
  300. package/src/features/text-to-voice/index.ts +0 -53
  301. package/src/features/text-to-voice/infrastructure/index.ts +0 -1
  302. package/src/features/text-to-voice/infrastructure/services/index.ts +0 -4
  303. package/src/features/text-to-voice/infrastructure/services/text-to-voice-executor.ts +0 -103
  304. package/src/features/text-to-voice/presentation/components/TextToVoiceAudioPlayer.tsx +0 -81
  305. package/src/features/text-to-voice/presentation/components/index.ts +0 -7
  306. package/src/features/text-to-voice/presentation/hooks/index.ts +0 -6
  307. package/src/features/text-to-voice/presentation/hooks/useTextToVoiceForm.ts +0 -91
  308. package/src/features/text-to-voice/presentation/hooks/useTextToVoiceGeneration.ts +0 -116
  309. package/src/features/text-to-voice/presentation/index.ts +0 -2
  310. package/src/features/upscaling/README.md +0 -396
  311. package/src/features/upscaling/domain/index.ts +0 -1
  312. package/src/features/upscaling/domain/types/index.ts +0 -1
  313. package/src/features/upscaling/domain/types/upscale.types.ts +0 -23
  314. package/src/features/upscaling/index.ts +0 -20
  315. package/src/features/upscaling/presentation/components/ComparisonSlider.tsx +0 -200
  316. package/src/features/upscaling/presentation/components/UpscaleFeature.tsx +0 -89
  317. package/src/features/upscaling/presentation/components/UpscaleResultView.tsx +0 -98
  318. package/src/features/upscaling/presentation/components/index.ts +0 -6
  319. package/src/features/upscaling/presentation/hooks/index.ts +0 -1
  320. package/src/features/upscaling/presentation/hooks/useUpscaleFeature.ts +0 -28
  321. package/src/features/upscaling/presentation/index.ts +0 -2
  322. package/src/features/wizard/domain/types.ts +0 -154
  323. package/src/features/wizard/index.ts +0 -43
  324. package/src/features/wizard/presentation/components/AIFeatureWizard.tsx +0 -231
  325. package/src/features/wizard/presentation/components/AIGenerationWizard.tsx +0 -132
  326. package/src/features/wizard/presentation/hooks/useWizard.ts +0 -120
  327. package/src/features/wizard/presentation/store/useWizardStore.ts +0 -82
@@ -1,445 +0,0 @@
1
- # Text to Voice Feature
2
-
3
- Convert text to natural-sounding speech using AI.
4
-
5
- ## 📍 Import Path
6
-
7
- ```typescript
8
- import { useTextToVoiceFeature } from '@umituz/react-native-ai-generation-content';
9
- ```
10
-
11
- **Location**: `src/features/text-to-voice/`
12
-
13
- ## 🎯 Feature Purpose
14
-
15
- Convert written text into lifelike speech using AI-powered text-to-speech technology. Support for multiple voices, languages, adjustable speed and pitch, with natural intonation and expression for audiobooks, accessibility, voice assistants, and more.
16
-
17
- ---
18
-
19
- ## 📋 Usage Strategy
20
-
21
- ### When to Use This Feature
22
-
23
- ✅ **Use Cases:**
24
- - Creating audiobooks and narration
25
- - Building voice assistants
26
- - Accessibility features for visually impaired
27
- - Voiceovers for videos and presentations
28
- - Podcast and content creation
29
-
30
- ❌ **When NOT to Use:**
31
- - Generating audio from descriptions (use Audio Generation)
32
- - Real-time translation (use translation services)
33
- - Voice cloning or impersonation
34
- - Music generation
35
-
36
- ### Implementation Strategy
37
-
38
- 1. **Enter text** to convert to speech
39
- 2. **Select voice** from available options
40
- 3. **Adjust settings** (speed, pitch)
41
- 4. **Generate speech** with progress tracking
42
- 5. **Preview audio** with playback controls
43
- 6. **Save or share** final audio file
44
-
45
- ---
46
-
47
- ## ⚠️ Critical Rules (MUST FOLLOW)
48
-
49
- ### 1. Input Requirements
50
- - **MUST** provide text to convert
51
- - **MUST** select valid voice
52
- - **MUST** keep text under character limits (5000 chars recommended)
53
- - **MUST NOT** use copyrighted material without permission
54
- - **MUST NOT** generate offensive or harmful content
55
-
56
- ### 2. Configuration
57
- - **MUST** provide valid `userId` for tracking
58
- - **MUST** specify voice selection
59
- - **MUST** implement `onError` callback
60
- - **MUST** implement audio playback controls
61
- - **MUST** handle file saving locally
62
-
63
- ### 3. State Management
64
- - **MUST** check `isReady` before enabling generate button
65
- - **MUST** validate text and voice before generation
66
- - **MUST** handle `isProcessing` state to prevent duplicate requests
67
- - **MUST** display `error` state with clear messages
68
- - **MUST** implement proper cleanup on unmount (dispose audio)
69
-
70
- ### 4. Performance
71
- - **MUST** implement progress indicators during generation
72
- - **MUST** cache generated audio locally
73
- - **MUST** allow users to cancel long generations
74
- - **MUST** implement proper audio file disposal
75
- - **MUST NOT** generate multiple audio files simultaneously
76
-
77
- ### 5. Audio Quality
78
- - **MUST** provide audio preview with playback controls
79
- - **MUST** support common audio formats (MP3, WAV)
80
- - **MUST** handle large audio file sizes
81
- - **MUST** implement play/pause/stop controls
82
- - **MUST** offer regeneration with different settings
83
-
84
- ---
85
-
86
- ## 🚫 Prohibitions (MUST AVOID)
87
-
88
- ### Strictly Forbidden
89
-
90
- ❌ **NEVER** do the following:
91
-
92
- 1. **No Empty Text**
93
- - Always validate text is provided
94
- - Never call generate() without text
95
- - Guide users with example texts
96
-
97
- 2. **No Auto-Generation**
98
- - Never start generation without user action
99
- - Always require explicit "Generate" button press
100
- - Show preview before processing
101
-
102
- 3. **No Hardcoded Credentials**
103
- - Never store API keys in component files
104
- - Use environment variables or secure storage
105
-
106
- 4. **No Unhandled Errors**
107
- - Never ignore generation failures
108
- - Always explain what went wrong
109
- - Provide retry or alternative options
110
-
111
- 5. **No Memory Leaks**
112
- - Never store multiple audio files in memory
113
- - Always cleanup audio references on unmount
114
- - Implement proper audio disposal (unloadAsync)
115
-
116
- 6. **No Blocked UI**
117
- - Never block main thread with audio processing
118
- - Always show progress indicator
119
- - Allow cancellation
120
-
121
- 7. **No Copyright Infringement**
122
- - Never generate copyrighted content without permission
123
- - Never use for voice cloning or impersonation
124
- - Implement content moderation
125
-
126
- ---
127
-
128
- ## 🤖 AI Agent Directions
129
-
130
- ### For AI Code Generation Tools
131
-
132
- When using this feature with AI code generation tools, follow these guidelines:
133
-
134
- #### Prompt Template for AI Agents
135
-
136
- ```
137
- You are implementing a text to voice feature using @umituz/react-native-ai-generation-content.
138
-
139
- REQUIREMENTS:
140
- 1. Import from: @umituz/react-native-ai-generation-content
141
- 2. Use the useTextToVoiceFeature hook
142
- 3. Select voice from available options
143
- 4. Implement text input for speech content
144
- 5. Adjust settings (speed, pitch)
145
- 6. Validate text and voice before generation
146
- 7. Implement audio playback for preview
147
- 8. Handle long processing times with progress
148
- 9. Implement proper error handling
149
- 10. Implement cleanup on unmount (CRITICAL: dispose audio)
150
-
151
- CRITICAL RULES:
152
- - MUST validate text and voice before calling generate()
153
- - MUST implement audio playback controls (play, pause, stop)
154
- - MUST handle voice selection
155
- - MUST handle speed and pitch adjustments
156
- - MUST implement debouncing (300ms)
157
- - MUST allow regeneration with different settings
158
- - MUST properly dispose audio on unmount (useEffect cleanup)
159
-
160
- CONFIGURATION:
161
- - Provide valid userId (string)
162
- - Set voice: string (voice ID)
163
- - Set speed?: number (speech rate 0.25 - 4.0, default: 1.0)
164
- - Set pitch?: number (pitch adjustment -20.0 - 20.0, default: 0)
165
- - Set language?: string (language code, default: 'en-US')
166
- - Implement onSaveAudio callback
167
- - Configure callbacks: onTextChange, onProcessingStart, onProcessingComplete, onError
168
-
169
- VOICE OPTIONS:
170
- - English: Multiple male/female voices (US, UK, etc.)
171
- - Multi-language: Spanish, French, German, Italian, Japanese, Korean, Chinese
172
- - Default voice: Set in config
173
-
174
- SETTINGS:
175
- - speed: Speech rate (0.25 - 4.0, default: 1.0)
176
- - pitch: Pitch adjustment (-20.0 - 20.0, default: 0)
177
- - language: Language code (e.g., 'en-US', 'es-ES')
178
-
179
- AUDIO CONTROLS:
180
- - Play: Start audio playback
181
- - Pause: Pause current playback
182
- - Stop: Stop and reset playback
183
- - Unload: Dispose audio resource (CRITICAL for cleanup)
184
-
185
- STRICTLY FORBIDDEN:
186
- - No empty text validation
187
- - No auto-generation without user action
188
- - No hardcoded API keys
189
- - No unhandled errors
190
- - No memory leaks (especially audio)
191
- - No blocking UI
192
- - No copyright infringement
193
-
194
- CLEANUP CHECKLIST:
195
- - [ ] Audio unloaded on unmount
196
- - [ ] Sound reference nullified
197
- - [ ] Event listeners removed
198
- - [ ] No memory leaks
199
-
200
- QUALITY CHECKLIST:
201
- - [ ] Text input for speech content
202
- - [ ] Voice selector added
203
- - [ ] Speed control implemented
204
- - [ ] Pitch control implemented
205
- - [ ] Validation before generate()
206
- - [ ] Audio playback controls (play, pause, stop)
207
- - [ ] Progress indicator during processing
208
- - [ ] Error display with retry option
209
- - [ ] Save/share functionality
210
- - [ ] Regeneration with different settings
211
- - [ ] Proper cleanup on unmount
212
- ```
213
-
214
- #### AI Implementation Checklist
215
-
216
- Use this checklist when generating code:
217
-
218
- - [ ] Feature imported from correct path
219
- - [ ] Text input for speech content implemented
220
- - [ ] Voice selector added
221
- - [ ] Speed control implemented
222
- - [ ] Pitch control implemented
223
- - [ ] Validation before generate()
224
- - [ ] Audio playback controls (play, pause, stop)
225
- - [ ] Progress indicator during processing
226
- - [ ] Error display with user-friendly message
227
- - [ ] Save/share buttons
228
- - [ ] Regeneration option
229
- - [ ] **CRITICAL**: Audio cleanup on unmount
230
- - [ ] **CRITICAL**: Sound reference disposal
231
- - [ ] **CRITICAL**: Event listener cleanup
232
-
233
- ---
234
-
235
- ## 🛠️ Configuration Strategy
236
-
237
- ### Essential Configuration
238
-
239
- ```typescript
240
- // Required fields
241
- {
242
- userId: string
243
- voice: string
244
- text: string
245
- }
246
-
247
- // Optional callbacks
248
- {
249
- speed?: number // 0.25 - 4.0, default: 1.0
250
- pitch?: number // -20.0 - 20.0, default: 0
251
- language?: string // e.g., 'en-US', 'es-ES'
252
- onTextChange?: (text: string) => void
253
- onProcessingStart?: () => void
254
- onProcessingComplete?: (result) => void
255
- onError?: (error: string) => void
256
- }
257
- ```
258
-
259
- ### Recommended Settings
260
-
261
- 1. **Voices**
262
- - English: Multiple options (male/female, US/UK)
263
- - Multi-language: Support for major languages
264
- - Default: Set in configuration
265
-
266
- 2. **Speed Settings**
267
- - 0.25 - 0.75: Slow (audiobooks, learning)
268
- - 0.8 - 1.2: Normal (most use cases)
269
- - 1.3 - 2.0: Fast (quick consumption)
270
- - 2.1 - 4.0: Very fast (skimming)
271
-
272
- 3. **Pitch Settings**
273
- - -20 to -5: Lower pitch
274
- - -5 to 5: Normal range (default: 0)
275
- - 5 to 20: Higher pitch
276
-
277
- 4. **Text Length**
278
- - Recommended: Under 5000 characters
279
- - Long texts: Consider chunking
280
- - Short texts: Better for performance
281
-
282
- ---
283
-
284
- ## 📊 State Management
285
-
286
- ### Feature States
287
-
288
- **isReady**: boolean
289
- - Text provided and voice selected
290
- - Check before enabling generate button
291
-
292
- **isProcessing**: boolean
293
- - Speech generation in progress
294
- - Show loading/progress indicator
295
- - Disable generate button
296
-
297
- **progress**: number (0-100)
298
- - Generation progress percentage
299
- - Update progress bar
300
-
301
- **error**: string | null
302
- - Error message if generation failed
303
- - Display to user with clear message
304
-
305
- **result**: {
306
- audioUrl: string
307
- voice?: string
308
- text?: string
309
- speed?: number
310
- pitch?: number
311
- language?: string
312
- metadata?: any
313
- }
314
-
315
- ---
316
-
317
- ## 🎨 Best Practices
318
-
319
- ### Text Preparation
320
-
321
- 1. **Text Length**
322
- - Keep under 5000 characters for best results
323
- - Consider chunking for long texts
324
- - Test with shorter texts first
325
-
326
- 2. **Punctuation**
327
- - Use proper punctuation for natural pauses
328
- - Include commas, periods, question marks
329
- - Use punctuation to control pacing
330
-
331
- 3. **Formatting**
332
- - Clear, readable text
333
- - Remove unnecessary whitespace
334
- - Use abbreviations consistently
335
-
336
- ### Voice Selection
337
-
338
- 1. **Match Content Type**
339
- - Audiobooks: Clear, pleasant voice
340
- - Presentations: Professional voice
341
- - Entertainment: Dynamic voice
342
- - Accessibility: Clear, neutral voice
343
-
344
- 2. **Language Matching**
345
- - Match voice to text language
346
- - Consider accent preferences
347
- - Test different voices
348
-
349
- ### Settings Optimization
350
-
351
- 1. **Speed**
352
- - 0.8-1.2: Most natural speech
353
- - Adjust based on content type
354
- - Test with playback before saving
355
-
356
- 2. **Pitch**
357
- - Keep near 0 for natural sound
358
- - Small adjustments (-5 to +5)
359
- - Avoid extreme values
360
-
361
- ---
362
-
363
- ## 🐛 Common Pitfalls
364
-
365
- ### Audio Playback Issues
366
-
367
- ❌ **Problem**: Audio won't play
368
- ✅ **Solution**: Check audio URL, format compatibility
369
-
370
- ### Memory Leaks
371
-
372
- ❌ **Problem**: App crashes after multiple generations
373
- ✅ **Solution**: Implement proper audio cleanup in useEffect
374
-
375
- ### Quality Issues
376
-
377
- ❌ **Problem**: Speech sounds unnatural
378
- ✅ **Solution**: Adjust speed and pitch, try different voice
379
-
380
- ### Long Text Issues
381
-
382
- ❌ **Problem**: Generation fails for long texts
383
- ✅ **Solution**: Chunk text into smaller segments
384
-
385
- ### Cleanup Issues
386
-
387
- ❌ **Problem**: Audio continues playing after unmount
388
- ✅ **Solution**: Implement proper cleanup with unloadAsync
389
-
390
- ---
391
-
392
- ## 📦 Related Components
393
-
394
- Use these components from the library:
395
-
396
- - **TextInput**: For speech content
397
- - **VoiceSelector**: Choose voice
398
- - **SpeedControl**: Adjust speech rate
399
- - **PitchControl**: Adjust pitch
400
- - **AudioPlayer**: Play generated audio
401
- - **ProgressBar**: Progress display
402
-
403
- Located at: `src/presentation/components/`
404
-
405
- ---
406
-
407
- ## 🔄 Migration Strategy
408
-
409
- If migrating from previous implementation:
410
-
411
- 1. **Update imports** to new path
412
- 2. **Add voice selector**
413
- 3. **Implement speed/pitch controls**
414
- 4. **Add audio playback controls**
415
- 5. **Update state handling** for new structure
416
- 6. **Implement proper audio cleanup** (CRITICAL)
417
- 7. **Test all voices**
418
-
419
- ---
420
-
421
- ## 📚 Additional Resources
422
-
423
- - Main documentation: `/docs/`
424
- - API reference: `/docs/api/`
425
- - Examples: `/docs/examples/basic/text-to-voice/`
426
- - Architecture: `/ARCHITECTURE.md`
427
-
428
- ---
429
-
430
- **Last Updated**: 2025-01-08
431
- **Version**: 2.0.0 (Strategy-based Documentation)
432
-
433
- ---
434
-
435
- ## 📝 Changelog
436
-
437
- ### v2.0.0 - 2025-01-08
438
- - **BREAKING**: Documentation format changed to strategy-based
439
- - Removed extensive code examples
440
- - Added rules, prohibitions, and AI agent directions
441
- - Focus on best practices and implementation guidance
442
- - Added critical audio cleanup guidance
443
-
444
- ### v1.0.0 - Initial Release
445
- - Initial feature documentation
@@ -1 +0,0 @@
1
- export * from "./types";
@@ -1,91 +0,0 @@
1
- /**
2
- * Text-to-Voice Component Types
3
- * Props types for UI components
4
- */
5
-
6
- import type { ReactNode } from "react";
7
- import type { StyleProp, ViewStyle } from "react-native";
8
-
9
- export interface TextToVoiceTextInputProps {
10
- value: string;
11
- onChangeText: (text: string) => void;
12
- maxLength?: number;
13
- labelKey: string;
14
- placeholderKey: string;
15
- characterCountKey: string;
16
- style?: StyleProp<ViewStyle>;
17
- }
18
-
19
- export interface TextToVoiceOptionalInputProps {
20
- title: string;
21
- value: string;
22
- onChangeText: (text: string) => void;
23
- placeholder: string;
24
- hint: string;
25
- style?: StyleProp<ViewStyle>;
26
- }
27
-
28
- export interface TextToVoiceExamplePromptsProps {
29
- prompts: string[];
30
- onSelectPrompt: (prompt: string) => void;
31
- labelKey: string;
32
- style?: StyleProp<ViewStyle>;
33
- }
34
-
35
- export interface TextToVoiceGenerateButtonProps {
36
- isGenerating: boolean;
37
- progress: number;
38
- disabled: boolean;
39
- onPress: () => void;
40
- buttonTextKey: string;
41
- generatingTextKey: string;
42
- style?: StyleProp<ViewStyle>;
43
- }
44
-
45
- export interface TextToVoiceAudioPlayerProps {
46
- audioUrl: string;
47
- onPlay: () => void;
48
- successTextKey: string;
49
- playButtonTextKey: string;
50
- style?: StyleProp<ViewStyle>;
51
- }
52
-
53
- export interface TextToVoiceErrorMessageProps {
54
- message: string;
55
- style?: StyleProp<ViewStyle>;
56
- }
57
-
58
- export interface TextToVoiceHeaderProps {
59
- titleKey: string;
60
- descriptionKey: string;
61
- iconName: string;
62
- navigationType?: "back" | "close";
63
- headerContent?: ReactNode;
64
- style?: StyleProp<ViewStyle>;
65
- }
66
-
67
- export interface TextToVoiceScreenConfig {
68
- maxTextLength: number;
69
- creditCost: number;
70
- defaultModel?: string;
71
- defaultVoice?: string;
72
- defaultSpeed?: number;
73
- defaultStability?: number;
74
- defaultSimilarityBoost?: number;
75
- }
76
-
77
- export interface TextToVoiceTranslationKeys {
78
- title: string;
79
- description: string;
80
- textInputLabel: string;
81
- textInputPlaceholder: string;
82
- characterCount: string;
83
- voiceLabel: string;
84
- voicePlaceholder: string;
85
- voiceHint: string;
86
- examplesLabel: string;
87
- generateButton: string;
88
- generatingText: string;
89
- successText: string;
90
- playButton: string;
91
- }
@@ -1,34 +0,0 @@
1
- /**
2
- * Text-to-Voice Config Types
3
- * Feature configuration types
4
- */
5
-
6
- import type { TextToVoiceOptions, TextToVoiceResult } from "./generation.types";
7
-
8
- export type TextToVoiceInputBuilder = (
9
- text: string,
10
- options?: TextToVoiceOptions,
11
- ) => Record<string, unknown>;
12
-
13
- export type TextToVoiceResultExtractor = (
14
- result: unknown,
15
- ) => { audioUrl?: string; duration?: number } | undefined;
16
-
17
- export interface TextToVoiceFeatureConfig {
18
- providerId?: string;
19
- creditCost?: number;
20
- model: string;
21
- buildInput: TextToVoiceInputBuilder;
22
- extractResult?: TextToVoiceResultExtractor;
23
- onTextChange?: (text: string) => void;
24
- onProcessingStart?: () => void;
25
- onProcessingComplete?: (result: TextToVoiceResult) => void;
26
- onError?: (error: string) => void;
27
- }
28
-
29
- export interface TextToVoiceExecuteOptions {
30
- model: string;
31
- buildInput: TextToVoiceInputBuilder;
32
- extractResult?: TextToVoiceResultExtractor;
33
- onProgress?: (progress: number) => void;
34
- }
@@ -1,39 +0,0 @@
1
- /**
2
- * Text-to-Voice Form Types
3
- * Form state and setter types
4
- */
5
-
6
- import type { TextToVoiceRequest } from "./generation.types";
7
-
8
- export interface TextToVoiceFormState {
9
- text: string;
10
- model: string;
11
- voice: string;
12
- speed: number;
13
- stability: number;
14
- similarityBoost: number;
15
- }
16
-
17
- export interface TextToVoiceFormSetters {
18
- setText: (text: string) => void;
19
- setModel: (model: string) => void;
20
- setVoice: (voice: string) => void;
21
- setSpeed: (speed: number) => void;
22
- setStability: (stability: number) => void;
23
- setSimilarityBoost: (similarityBoost: number) => void;
24
- }
25
-
26
- export interface TextToVoiceFormReturn extends TextToVoiceFormSetters {
27
- formState: TextToVoiceFormState;
28
- buildRequest: () => TextToVoiceRequest;
29
- resetForm: () => void;
30
- }
31
-
32
- export interface TextToVoiceFormConfig {
33
- initialText?: string;
34
- initialModel?: string;
35
- initialVoice?: string;
36
- initialSpeed?: number;
37
- initialStability?: number;
38
- initialSimilarityBoost?: number;
39
- }
@@ -1,43 +0,0 @@
1
- /**
2
- * Text-to-Voice Generation Types
3
- * Request, result, and state types for voice generation
4
- */
5
-
6
- export interface TextToVoiceOptions {
7
- voice?: string;
8
- speed?: number;
9
- pitch?: number;
10
- stability?: number;
11
- similarityBoost?: number;
12
- }
13
-
14
- export interface TextToVoiceRequest {
15
- text: string;
16
- userId: string;
17
- model?: string;
18
- options?: TextToVoiceOptions;
19
- }
20
-
21
- export interface TextToVoiceResult {
22
- success: boolean;
23
- audioUrl?: string;
24
- error?: string;
25
- requestId?: string;
26
- duration?: number;
27
- }
28
-
29
- export interface TextToVoiceGenerationState {
30
- isGenerating: boolean;
31
- progress: number;
32
- audioUrl: string | null;
33
- error: string | null;
34
- requestId: string | null;
35
- }
36
-
37
- export interface VoiceGeneration {
38
- id: string;
39
- text: string;
40
- audioUrl: string;
41
- provider: string;
42
- createdAt: string;
43
- }
@@ -1,38 +0,0 @@
1
- /**
2
- * Text-to-Voice Domain Types
3
- * Barrel export for all types
4
- */
5
-
6
- export type {
7
- TextToVoiceOptions,
8
- TextToVoiceRequest,
9
- TextToVoiceResult,
10
- TextToVoiceGenerationState,
11
- VoiceGeneration,
12
- } from "./generation.types";
13
-
14
- export type {
15
- TextToVoiceFormState,
16
- TextToVoiceFormSetters,
17
- TextToVoiceFormReturn,
18
- TextToVoiceFormConfig,
19
- } from "./form.types";
20
-
21
- export type {
22
- TextToVoiceTextInputProps,
23
- TextToVoiceOptionalInputProps,
24
- TextToVoiceExamplePromptsProps,
25
- TextToVoiceGenerateButtonProps,
26
- TextToVoiceAudioPlayerProps,
27
- TextToVoiceErrorMessageProps,
28
- TextToVoiceHeaderProps,
29
- TextToVoiceScreenConfig,
30
- TextToVoiceTranslationKeys,
31
- } from "./component.types";
32
-
33
- export type {
34
- TextToVoiceInputBuilder,
35
- TextToVoiceResultExtractor,
36
- TextToVoiceFeatureConfig,
37
- TextToVoiceExecuteOptions,
38
- } from "./config.types";