@umituz/react-native-ai-generation-content 1.26.1 → 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 (328) 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/infrastructure/providers/generation-config.provider.tsx +20 -9
  14. package/src/features/ai-hug/README.md +0 -438
  15. package/src/features/ai-hug/domain/index.ts +0 -5
  16. package/src/features/ai-hug/domain/types/ai-hug.types.ts +0 -25
  17. package/src/features/ai-hug/domain/types/index.ts +0 -7
  18. package/src/features/ai-hug/index.ts +0 -19
  19. package/src/features/ai-hug/presentation/components/AIHugFeature.tsx +0 -77
  20. package/src/features/ai-hug/presentation/components/index.ts +0 -2
  21. package/src/features/ai-hug/presentation/hooks/index.ts +0 -9
  22. package/src/features/ai-hug/presentation/hooks/useAIHugFeature.ts +0 -34
  23. package/src/features/ai-hug/presentation/index.ts +0 -6
  24. package/src/features/ai-kiss/README.md +0 -445
  25. package/src/features/ai-kiss/domain/index.ts +0 -5
  26. package/src/features/ai-kiss/domain/types/ai-kiss.types.ts +0 -25
  27. package/src/features/ai-kiss/domain/types/index.ts +0 -7
  28. package/src/features/ai-kiss/index.ts +0 -19
  29. package/src/features/ai-kiss/presentation/components/AIKissFeature.tsx +0 -77
  30. package/src/features/ai-kiss/presentation/components/index.ts +0 -2
  31. package/src/features/ai-kiss/presentation/hooks/index.ts +0 -9
  32. package/src/features/ai-kiss/presentation/hooks/useAIKissFeature.ts +0 -34
  33. package/src/features/ai-kiss/presentation/index.ts +0 -6
  34. package/src/features/anime-selfie/README.md +0 -396
  35. package/src/features/anime-selfie/domain/index.ts +0 -5
  36. package/src/features/anime-selfie/domain/types/anime-selfie.types.ts +0 -52
  37. package/src/features/anime-selfie/domain/types/index.ts +0 -8
  38. package/src/features/anime-selfie/index.ts +0 -20
  39. package/src/features/anime-selfie/presentation/components/AnimeSelfieFeature.tsx +0 -86
  40. package/src/features/anime-selfie/presentation/components/index.ts +0 -2
  41. package/src/features/anime-selfie/presentation/hooks/index.ts +0 -9
  42. package/src/features/anime-selfie/presentation/hooks/useAnimeSelfieFeature.ts +0 -59
  43. package/src/features/anime-selfie/presentation/index.ts +0 -6
  44. package/src/features/couple-future/README.md +0 -445
  45. package/src/features/couple-future/domain/types.ts +0 -63
  46. package/src/features/couple-future/domain/wizard-config.adapter.ts +0 -76
  47. package/src/features/couple-future/domain/wizard.types.ts +0 -121
  48. package/src/features/couple-future/index.ts +0 -83
  49. package/src/features/couple-future/infrastructure/coupleFeatureRegistry.ts +0 -76
  50. package/src/features/couple-future/infrastructure/couplePromptEnhancer.ts +0 -100
  51. package/src/features/couple-future/infrastructure/executor.ts +0 -188
  52. package/src/features/couple-future/infrastructure/generationUtils.ts +0 -228
  53. package/src/features/couple-future/presentation/components/ArtStyleSelector.tsx +0 -146
  54. package/src/features/couple-future/presentation/components/ArtistStyleSelector.tsx +0 -122
  55. package/src/features/couple-future/presentation/components/CoupleFutureWizard.tsx +0 -239
  56. package/src/features/couple-future/presentation/components/GeneratingStepContent.tsx +0 -86
  57. package/src/features/couple-future/presentation/components/RomanticMoodSelector.tsx +0 -147
  58. package/src/features/couple-future/presentation/components/WardrobeSelector.tsx +0 -141
  59. package/src/features/couple-future/presentation/components/index.ts +0 -12
  60. package/src/features/couple-future/presentation/hooks/useCoupleFutureFlow.ts +0 -166
  61. package/src/features/couple-future/presentation/hooks/useCoupleFutureFlow.types.ts +0 -69
  62. package/src/features/couple-future/presentation/hooks/useCoupleFutureHandlers.ts +0 -117
  63. package/src/features/couple-future/presentation/screens/CoupleFeatureScreen.tsx +0 -113
  64. package/src/features/face-swap/README.md +0 -431
  65. package/src/features/face-swap/domain/index.ts +0 -5
  66. package/src/features/face-swap/domain/types/face-swap.types.ts +0 -26
  67. package/src/features/face-swap/domain/types/index.ts +0 -7
  68. package/src/features/face-swap/index.ts +0 -19
  69. package/src/features/face-swap/presentation/components/FaceSwapFeature.tsx +0 -87
  70. package/src/features/face-swap/presentation/components/index.ts +0 -2
  71. package/src/features/face-swap/presentation/hooks/index.ts +0 -6
  72. package/src/features/face-swap/presentation/hooks/useFaceSwapFeature.ts +0 -35
  73. package/src/features/face-swap/presentation/index.ts +0 -6
  74. package/src/features/hd-touch-up/README.md +0 -396
  75. package/src/features/hd-touch-up/domain/index.ts +0 -1
  76. package/src/features/hd-touch-up/domain/types/hd-touch-up.types.ts +0 -62
  77. package/src/features/hd-touch-up/domain/types/index.ts +0 -9
  78. package/src/features/hd-touch-up/index.ts +0 -21
  79. package/src/features/hd-touch-up/presentation/components/HDTouchUpFeature.tsx +0 -86
  80. package/src/features/hd-touch-up/presentation/components/index.ts +0 -2
  81. package/src/features/hd-touch-up/presentation/hooks/index.ts +0 -1
  82. package/src/features/hd-touch-up/presentation/hooks/useHDTouchUpFeature.ts +0 -23
  83. package/src/features/hd-touch-up/presentation/index.ts +0 -2
  84. package/src/features/image-to-image/README.md +0 -459
  85. package/src/features/image-to-image/domain/index.ts +0 -1
  86. package/src/features/image-to-image/domain/types/base.types.ts +0 -48
  87. package/src/features/image-to-image/domain/types/index.ts +0 -1
  88. package/src/features/image-to-image/domain/types/partials/config.types.ts +0 -37
  89. package/src/features/image-to-image/domain/types/partials/hook.types.ts +0 -53
  90. package/src/features/image-to-image/domain/types/partials/metadata.types.ts +0 -32
  91. package/src/features/image-to-image/domain/types/partials/result.types.ts +0 -44
  92. package/src/features/image-to-image/domain/types/partials/state.types.ts +0 -34
  93. package/src/features/image-to-image/domain/types/partials/translation.types.ts +0 -57
  94. package/src/features/image-to-image/index.ts +0 -2
  95. package/src/features/image-to-image/presentation/hooks/index.ts +0 -3
  96. package/src/features/image-to-image/presentation/hooks/useDualImageFeature.ts +0 -204
  97. package/src/features/image-to-image/presentation/hooks/useImageWithPromptFeature.ts +0 -223
  98. package/src/features/image-to-image/presentation/hooks/useSingleImageFeature.ts +0 -166
  99. package/src/features/image-to-image/presentation/index.ts +0 -1
  100. package/src/features/image-to-video/README.md +0 -414
  101. package/src/features/image-to-video/domain/constants/animation.constants.ts +0 -47
  102. package/src/features/image-to-video/domain/constants/duration.constants.ts +0 -13
  103. package/src/features/image-to-video/domain/constants/form.constants.ts +0 -22
  104. package/src/features/image-to-video/domain/constants/index.ts +0 -23
  105. package/src/features/image-to-video/domain/constants/music.constants.ts +0 -53
  106. package/src/features/image-to-video/domain/index.ts +0 -5
  107. package/src/features/image-to-video/domain/types/animation.types.ts +0 -20
  108. package/src/features/image-to-video/domain/types/config.types.ts +0 -56
  109. package/src/features/image-to-video/domain/types/duration.types.ts +0 -11
  110. package/src/features/image-to-video/domain/types/form.types.ts +0 -35
  111. package/src/features/image-to-video/domain/types/image-to-video.types.ts +0 -122
  112. package/src/features/image-to-video/domain/types/index.ts +0 -39
  113. package/src/features/image-to-video/domain/types/music.types.ts +0 -21
  114. package/src/features/image-to-video/index.ts +0 -116
  115. package/src/features/image-to-video/infrastructure/index.ts +0 -1
  116. package/src/features/image-to-video/infrastructure/services/image-to-video-executor.ts +0 -154
  117. package/src/features/image-to-video/infrastructure/services/index.ts +0 -5
  118. package/src/features/image-to-video/presentation/components/AddMoreCard.tsx +0 -52
  119. package/src/features/image-to-video/presentation/components/AnimationStyleSelector.tsx +0 -135
  120. package/src/features/image-to-video/presentation/components/DurationSelector.tsx +0 -110
  121. package/src/features/image-to-video/presentation/components/EmptyGridState.tsx +0 -69
  122. package/src/features/image-to-video/presentation/components/GridImageItem.tsx +0 -64
  123. package/src/features/image-to-video/presentation/components/ImageSelectionGrid.styles.ts +0 -84
  124. package/src/features/image-to-video/presentation/components/ImageSelectionGrid.tsx +0 -77
  125. package/src/features/image-to-video/presentation/components/ImageSelectionGrid.types.ts +0 -18
  126. package/src/features/image-to-video/presentation/components/MusicMoodSelector.tsx +0 -181
  127. package/src/features/image-to-video/presentation/components/index.ts +0 -30
  128. package/src/features/image-to-video/presentation/hooks/index.ts +0 -27
  129. package/src/features/image-to-video/presentation/hooks/useFormState.ts +0 -116
  130. package/src/features/image-to-video/presentation/hooks/useGeneration.ts +0 -85
  131. package/src/features/image-to-video/presentation/hooks/useGenerationExecution.ts +0 -143
  132. package/src/features/image-to-video/presentation/hooks/useImageToVideoFeature.ts +0 -107
  133. package/src/features/image-to-video/presentation/hooks/useImageToVideoForm.ts +0 -119
  134. package/src/features/image-to-video/presentation/hooks/useImageToVideoValidation.ts +0 -46
  135. package/src/features/image-to-video/presentation/index.ts +0 -5
  136. package/src/features/love-message/domain/constants.ts +0 -162
  137. package/src/features/love-message/domain/types.ts +0 -58
  138. package/src/features/love-message/index.ts +0 -37
  139. package/src/features/love-message/infrastructure/persistence/PartnerProfileRepository.ts +0 -52
  140. package/src/features/love-message/infrastructure/prompts/messagePromptBuilder.ts +0 -109
  141. package/src/features/love-message/infrastructure/services/LoveMessageService.ts +0 -35
  142. package/src/features/love-message/presentation/components/CategoryGrid.tsx +0 -88
  143. package/src/features/love-message/presentation/components/DetailsInput.tsx +0 -74
  144. package/src/features/love-message/presentation/components/ExploreHeader.tsx +0 -67
  145. package/src/features/love-message/presentation/components/FieldInput.tsx +0 -83
  146. package/src/features/love-message/presentation/components/GeneratorHeader.tsx +0 -88
  147. package/src/features/love-message/presentation/components/LoveMessageHeroSection.tsx +0 -114
  148. package/src/features/love-message/presentation/components/MessageListItem.tsx +0 -77
  149. package/src/features/love-message/presentation/components/MessageResult.tsx +0 -105
  150. package/src/features/love-message/presentation/components/PartnerInput.tsx +0 -78
  151. package/src/features/love-message/presentation/components/ProgressDots.tsx +0 -48
  152. package/src/features/love-message/presentation/components/StepDetails.tsx +0 -23
  153. package/src/features/love-message/presentation/components/StepPartner.tsx +0 -116
  154. package/src/features/love-message/presentation/components/StepVibe.tsx +0 -30
  155. package/src/features/love-message/presentation/components/ToneSelector.tsx +0 -100
  156. package/src/features/love-message/presentation/components/TrendingSection.tsx +0 -130
  157. package/src/features/love-message/presentation/components/TypeSelector.tsx +0 -99
  158. package/src/features/love-message/presentation/hooks/useLoveMessageGenerator.ts +0 -114
  159. package/src/features/love-message/presentation/hooks/usePartnerProfile.ts +0 -43
  160. package/src/features/love-message/presentation/navigation/LoveMessageStack.tsx +0 -39
  161. package/src/features/love-message/presentation/screens/LoveMessageExploreScreen.tsx +0 -53
  162. package/src/features/love-message/presentation/screens/LoveMessageGeneratorScreen.tsx +0 -169
  163. package/src/features/love-message/presentation/screens/MessageListScreen.tsx +0 -127
  164. package/src/features/love-message/presentation/screens/PartnerProfileScreen.tsx +0 -119
  165. package/src/features/meme-generator/README.md +0 -408
  166. package/src/features/meme-generator/index.ts +0 -3
  167. package/src/features/meme-generator/infrastructure/services/MemeGenerationService.ts +0 -87
  168. package/src/features/meme-generator/presentation/components/MemeGeneratorFeature.tsx +0 -180
  169. package/src/features/meme-generator/presentation/components/index.ts +0 -2
  170. package/src/features/meme-generator/presentation/screens/MemeGeneratorScreen.tsx +0 -168
  171. package/src/features/meme-generator/presentation/screens/index.ts +0 -1
  172. package/src/features/partner-upload/domain/types.ts +0 -59
  173. package/src/features/partner-upload/index.ts +0 -30
  174. package/src/features/partner-upload/presentation/components/PartnerInfoInput.tsx +0 -112
  175. package/src/features/partner-upload/presentation/components/PhotoTips.tsx +0 -53
  176. package/src/features/partner-upload/presentation/components/index.ts +0 -4
  177. package/src/features/partner-upload/presentation/hooks/index.ts +0 -7
  178. package/src/features/partner-upload/presentation/hooks/usePartnerStep.ts +0 -130
  179. package/src/features/partner-upload/presentation/screens/PartnerStepScreen.tsx +0 -231
  180. package/src/features/partner-upload/presentation/screens/index.ts +0 -6
  181. package/src/features/photo-restoration/README.md +0 -399
  182. package/src/features/photo-restoration/domain/index.ts +0 -1
  183. package/src/features/photo-restoration/domain/types/index.ts +0 -9
  184. package/src/features/photo-restoration/domain/types/photo-restore.types.ts +0 -64
  185. package/src/features/photo-restoration/index.ts +0 -22
  186. package/src/features/photo-restoration/presentation/components/PhotoRestoreFeature.tsx +0 -88
  187. package/src/features/photo-restoration/presentation/components/PhotoRestoreResultView.tsx +0 -86
  188. package/src/features/photo-restoration/presentation/components/index.ts +0 -4
  189. package/src/features/photo-restoration/presentation/hooks/index.ts +0 -1
  190. package/src/features/photo-restoration/presentation/hooks/usePhotoRestoreFeature.ts +0 -23
  191. package/src/features/photo-restoration/presentation/index.ts +0 -2
  192. package/src/features/remove-background/README.md +0 -393
  193. package/src/features/remove-background/domain/index.ts +0 -5
  194. package/src/features/remove-background/domain/types/index.ts +0 -7
  195. package/src/features/remove-background/domain/types/remove-background.types.ts +0 -28
  196. package/src/features/remove-background/index.ts +0 -19
  197. package/src/features/remove-background/presentation/components/RemoveBackgroundFeature.tsx +0 -86
  198. package/src/features/remove-background/presentation/components/index.ts +0 -2
  199. package/src/features/remove-background/presentation/hooks/index.ts +0 -1
  200. package/src/features/remove-background/presentation/hooks/useRemoveBackgroundFeature.ts +0 -28
  201. package/src/features/remove-background/presentation/index.ts +0 -6
  202. package/src/features/remove-object/README.md +0 -405
  203. package/src/features/remove-object/domain/index.ts +0 -5
  204. package/src/features/remove-object/domain/types/index.ts +0 -7
  205. package/src/features/remove-object/domain/types/remove-object.types.ts +0 -54
  206. package/src/features/remove-object/index.ts +0 -23
  207. package/src/features/remove-object/presentation/components/RemoveObjectFeature.tsx +0 -136
  208. package/src/features/remove-object/presentation/components/index.ts +0 -2
  209. package/src/features/remove-object/presentation/hooks/index.ts +0 -9
  210. package/src/features/remove-object/presentation/hooks/useRemoveObjectFeature.ts +0 -221
  211. package/src/features/remove-object/presentation/index.ts +0 -6
  212. package/src/features/replace-background/README.md +0 -405
  213. package/src/features/replace-background/domain/types/index.ts +0 -7
  214. package/src/features/replace-background/domain/types/replace-background.types.ts +0 -33
  215. package/src/features/replace-background/index.ts +0 -23
  216. package/src/features/replace-background/presentation/components/ReplaceBackgroundFeature.tsx +0 -105
  217. package/src/features/replace-background/presentation/components/index.ts +0 -6
  218. package/src/features/replace-background/presentation/hooks/index.ts +0 -9
  219. package/src/features/replace-background/presentation/hooks/useReplaceBackgroundFeature.ts +0 -55
  220. package/src/features/scenarios/domain/types.ts +0 -147
  221. package/src/features/scenarios/index.ts +0 -64
  222. package/src/features/scenarios/presentation/components/InspirationChips.tsx +0 -82
  223. package/src/features/scenarios/presentation/components/MagicPromptHeadline.tsx +0 -79
  224. package/src/features/scenarios/presentation/components/ScenarioGrid.tsx +0 -224
  225. package/src/features/scenarios/presentation/components/ScenarioHeader.tsx +0 -55
  226. package/src/features/scenarios/presentation/components/StyleSelector.tsx +0 -119
  227. package/src/features/scenarios/presentation/components/index.ts +0 -18
  228. package/src/features/scenarios/presentation/containers/CategoryNavigationContainer.tsx +0 -178
  229. package/src/features/scenarios/presentation/screens/HierarchicalScenarioListScreen.tsx +0 -266
  230. package/src/features/scenarios/presentation/screens/MagicPromptScreen.tsx +0 -242
  231. package/src/features/scenarios/presentation/screens/MainCategoryScreen.tsx +0 -198
  232. package/src/features/scenarios/presentation/screens/ScenarioPreviewScreen.tsx +0 -164
  233. package/src/features/scenarios/presentation/screens/ScenarioSelectorScreen.tsx +0 -66
  234. package/src/features/scenarios/presentation/screens/SubCategoryScreen.tsx +0 -216
  235. package/src/features/script-generator/README.md +0 -433
  236. package/src/features/script-generator/domain/constants/index.ts +0 -10
  237. package/src/features/script-generator/domain/types/script.types.ts +0 -30
  238. package/src/features/script-generator/index.ts +0 -5
  239. package/src/features/script-generator/infrastructure/services/ScriptGenerationService.ts +0 -62
  240. package/src/features/script-generator/presentation/components/ScriptDisplay.tsx +0 -158
  241. package/src/features/script-generator/presentation/components/VideoTypeSelector.tsx +0 -102
  242. package/src/features/script-generator/presentation/components/index.ts +0 -2
  243. package/src/features/script-generator/presentation/hooks/index.ts +0 -1
  244. package/src/features/script-generator/presentation/hooks/useScriptGenerator.ts +0 -77
  245. package/src/features/shared/README.md +0 -311
  246. package/src/features/shared/dual-image-video/domain/types/dual-image-video.types.ts +0 -88
  247. package/src/features/shared/dual-image-video/domain/types/index.ts +0 -14
  248. package/src/features/shared/dual-image-video/index.ts +0 -17
  249. package/src/features/shared/dual-image-video/presentation/hooks/index.ts +0 -5
  250. package/src/features/shared/dual-image-video/presentation/hooks/useDualImageVideoFeature.ts +0 -185
  251. package/src/features/shared/index.ts +0 -6
  252. package/src/features/text-to-image/README.md +0 -394
  253. package/src/features/text-to-image/domain/constants/index.ts +0 -8
  254. package/src/features/text-to-image/domain/constants/options.constants.ts +0 -39
  255. package/src/features/text-to-image/domain/constants/styles.constants.ts +0 -34
  256. package/src/features/text-to-image/domain/index.ts +0 -7
  257. package/src/features/text-to-image/domain/types/config.types.ts +0 -75
  258. package/src/features/text-to-image/domain/types/form.types.ts +0 -58
  259. package/src/features/text-to-image/domain/types/index.ts +0 -38
  260. package/src/features/text-to-image/domain/types/text-to-image.types.ts +0 -58
  261. package/src/features/text-to-image/index.ts +0 -116
  262. package/src/features/text-to-image/infrastructure/index.ts +0 -1
  263. package/src/features/text-to-image/infrastructure/services/index.ts +0 -5
  264. package/src/features/text-to-image/infrastructure/services/text-to-image-executor.ts +0 -147
  265. package/src/features/text-to-image/presentation/components/index.ts +0 -30
  266. package/src/features/text-to-image/presentation/hooks/index.ts +0 -30
  267. package/src/features/text-to-image/presentation/hooks/useFormState.ts +0 -103
  268. package/src/features/text-to-image/presentation/hooks/useGeneration.ts +0 -139
  269. package/src/features/text-to-image/presentation/hooks/useTextToImageFeature.ts +0 -111
  270. package/src/features/text-to-image/presentation/hooks/useTextToImageForm.ts +0 -58
  271. package/src/features/text-to-image/presentation/index.ts +0 -7
  272. package/src/features/text-to-video/README.md +0 -412
  273. package/src/features/text-to-video/domain/index.ts +0 -1
  274. package/src/features/text-to-video/domain/types/callback.types.ts +0 -69
  275. package/src/features/text-to-video/domain/types/component.types.ts +0 -106
  276. package/src/features/text-to-video/domain/types/config.types.ts +0 -61
  277. package/src/features/text-to-video/domain/types/index.ts +0 -56
  278. package/src/features/text-to-video/domain/types/request.types.ts +0 -36
  279. package/src/features/text-to-video/domain/types/state.types.ts +0 -53
  280. package/src/features/text-to-video/index.ts +0 -68
  281. package/src/features/text-to-video/infrastructure/index.ts +0 -1
  282. package/src/features/text-to-video/infrastructure/services/index.ts +0 -5
  283. package/src/features/text-to-video/infrastructure/services/text-to-video-executor.ts +0 -141
  284. package/src/features/text-to-video/presentation/components/FrameSelector.tsx +0 -153
  285. package/src/features/text-to-video/presentation/components/GenerationTabs.tsx +0 -73
  286. package/src/features/text-to-video/presentation/components/HeroSection.tsx +0 -61
  287. package/src/features/text-to-video/presentation/components/HintCarousel.tsx +0 -96
  288. package/src/features/text-to-video/presentation/components/OptionsPanel.tsx +0 -121
  289. package/src/features/text-to-video/presentation/components/index.ts +0 -10
  290. package/src/features/text-to-video/presentation/hooks/index.ts +0 -17
  291. package/src/features/text-to-video/presentation/hooks/useTextToVideoFeature.ts +0 -225
  292. package/src/features/text-to-video/presentation/hooks/useTextToVideoForm.ts +0 -134
  293. package/src/features/text-to-video/presentation/index.ts +0 -7
  294. package/src/features/text-to-voice/README.md +0 -445
  295. package/src/features/text-to-voice/domain/index.ts +0 -1
  296. package/src/features/text-to-voice/domain/types/component.types.ts +0 -91
  297. package/src/features/text-to-voice/domain/types/config.types.ts +0 -34
  298. package/src/features/text-to-voice/domain/types/form.types.ts +0 -39
  299. package/src/features/text-to-voice/domain/types/generation.types.ts +0 -43
  300. package/src/features/text-to-voice/domain/types/index.ts +0 -38
  301. package/src/features/text-to-voice/index.ts +0 -53
  302. package/src/features/text-to-voice/infrastructure/index.ts +0 -1
  303. package/src/features/text-to-voice/infrastructure/services/index.ts +0 -4
  304. package/src/features/text-to-voice/infrastructure/services/text-to-voice-executor.ts +0 -103
  305. package/src/features/text-to-voice/presentation/components/TextToVoiceAudioPlayer.tsx +0 -81
  306. package/src/features/text-to-voice/presentation/components/index.ts +0 -7
  307. package/src/features/text-to-voice/presentation/hooks/index.ts +0 -6
  308. package/src/features/text-to-voice/presentation/hooks/useTextToVoiceForm.ts +0 -91
  309. package/src/features/text-to-voice/presentation/hooks/useTextToVoiceGeneration.ts +0 -116
  310. package/src/features/text-to-voice/presentation/index.ts +0 -2
  311. package/src/features/upscaling/README.md +0 -396
  312. package/src/features/upscaling/domain/index.ts +0 -1
  313. package/src/features/upscaling/domain/types/index.ts +0 -1
  314. package/src/features/upscaling/domain/types/upscale.types.ts +0 -23
  315. package/src/features/upscaling/index.ts +0 -20
  316. package/src/features/upscaling/presentation/components/ComparisonSlider.tsx +0 -200
  317. package/src/features/upscaling/presentation/components/UpscaleFeature.tsx +0 -89
  318. package/src/features/upscaling/presentation/components/UpscaleResultView.tsx +0 -98
  319. package/src/features/upscaling/presentation/components/index.ts +0 -6
  320. package/src/features/upscaling/presentation/hooks/index.ts +0 -1
  321. package/src/features/upscaling/presentation/hooks/useUpscaleFeature.ts +0 -28
  322. package/src/features/upscaling/presentation/index.ts +0 -2
  323. package/src/features/wizard/domain/types.ts +0 -154
  324. package/src/features/wizard/index.ts +0 -43
  325. package/src/features/wizard/presentation/components/AIFeatureWizard.tsx +0 -231
  326. package/src/features/wizard/presentation/components/AIGenerationWizard.tsx +0 -132
  327. package/src/features/wizard/presentation/hooks/useWizard.ts +0 -120
  328. package/src/features/wizard/presentation/store/useWizardStore.ts +0 -82
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Image Generation Executor
3
+ * Generic executor for all image generation features
4
+ */
5
+
6
+ import type {
7
+ GenerationExecutor,
8
+ ImageGenerationInput,
9
+ ImageGenerationOutput,
10
+ GenerationOptions,
11
+ GenerationResult,
12
+ } from "../../domains/generation/domain/generation.types";
13
+ import { providerRegistry } from "../services/provider-registry.service";
14
+
15
+ declare const __DEV__: boolean;
16
+
17
+ export class ImageExecutor
18
+ implements GenerationExecutor<ImageGenerationInput, ImageGenerationOutput>
19
+ {
20
+ async generate(
21
+ model: string,
22
+ input: ImageGenerationInput,
23
+ options?: GenerationOptions,
24
+ ): Promise<GenerationResult<ImageGenerationOutput>> {
25
+ try {
26
+ if (typeof __DEV__ !== "undefined" && __DEV__) {
27
+ console.log("[ImageExecutor] Starting generation", {
28
+ model,
29
+ hasImages: !!input.imageUrls,
30
+ imageCount: input.imageUrls?.length || 0,
31
+ promptLength: input.prompt?.length || 0,
32
+ });
33
+ }
34
+
35
+ const provider = providerRegistry.getActiveProvider();
36
+
37
+ if (!provider?.isInitialized()) {
38
+ if (typeof __DEV__ !== "undefined" && __DEV__) {
39
+ console.error("[ImageExecutor] Provider not initialized");
40
+ }
41
+ return { success: false, error: "AI provider not initialized" };
42
+ }
43
+
44
+ options?.onProgress?.(5);
45
+
46
+ const modelInput = this.buildModelInput(input);
47
+
48
+ if (typeof __DEV__ !== "undefined" && __DEV__) {
49
+ console.log("[ImageExecutor] Model input prepared", {
50
+ imageCount: modelInput.image_urls?.length || 0,
51
+ aspectRatio: modelInput.aspect_ratio,
52
+ outputFormat: modelInput.output_format,
53
+ });
54
+ }
55
+
56
+ options?.onProgress?.(10);
57
+
58
+ const result = await provider.subscribe(model, modelInput, {
59
+ timeoutMs: options?.timeoutMs ?? 300000,
60
+ onQueueUpdate: (status) => {
61
+ if (typeof __DEV__ !== "undefined" && __DEV__) {
62
+ console.log("[ImageExecutor] Queue status:", status.status);
63
+ }
64
+
65
+ if (status.status === "IN_QUEUE") {
66
+ options?.onProgress?.(20);
67
+ } else if (status.status === "IN_PROGRESS") {
68
+ options?.onProgress?.(50);
69
+ }
70
+ },
71
+ });
72
+
73
+ options?.onProgress?.(90);
74
+
75
+ const imageUrl = this.extractImageUrl(result);
76
+
77
+ if (!imageUrl) {
78
+ if (typeof __DEV__ !== "undefined" && __DEV__) {
79
+ console.error("[ImageExecutor] No image URL in response");
80
+ }
81
+ return { success: false, error: "No image generated" };
82
+ }
83
+
84
+ options?.onProgress?.(100);
85
+
86
+ if (typeof __DEV__ !== "undefined" && __DEV__) {
87
+ console.log("[ImageExecutor] Generation successful", {
88
+ imageUrl: imageUrl.slice(0, 100),
89
+ });
90
+ }
91
+
92
+ return { success: true, data: { imageUrl } };
93
+ } catch (error) {
94
+ const message =
95
+ error instanceof Error ? error.message : "Generation failed";
96
+
97
+ if (typeof __DEV__ !== "undefined" && __DEV__) {
98
+ console.error("[ImageExecutor] Generation error:", {
99
+ message,
100
+ error,
101
+ });
102
+ }
103
+
104
+ return { success: false, error: message };
105
+ }
106
+ }
107
+
108
+ private buildModelInput(input: ImageGenerationInput) {
109
+ const { imageUrls, prompt, aspectRatio, outputFormat } = input;
110
+
111
+ const formattedUrls = imageUrls?.map((url) =>
112
+ url.startsWith("data:") ? url : `data:image/jpeg;base64,${url}`,
113
+ );
114
+
115
+ return {
116
+ ...(formattedUrls && formattedUrls.length > 0
117
+ ? { image_urls: formattedUrls }
118
+ : {}),
119
+ prompt,
120
+ aspect_ratio: aspectRatio ?? "4:3",
121
+ output_format: outputFormat ?? "jpeg",
122
+ num_images: 1,
123
+ };
124
+ }
125
+
126
+ private extractImageUrl(result: unknown): string | undefined {
127
+ const rawResult = result as Record<string, unknown>;
128
+ const data = (rawResult?.data ?? rawResult) as {
129
+ images?: Array<{ url: string }>;
130
+ };
131
+ return data?.images?.[0]?.url;
132
+ }
133
+ }
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Video Generation Executor
3
+ * Generic executor for all video generation features
4
+ */
5
+
6
+ import type {
7
+ GenerationExecutor,
8
+ VideoGenerationInput,
9
+ VideoGenerationOutput,
10
+ GenerationOptions,
11
+ GenerationResult,
12
+ } from "../../domains/generation/domain/generation.types";
13
+ import { providerRegistry } from "../services/provider-registry.service";
14
+
15
+ declare const __DEV__: boolean;
16
+
17
+ export class VideoExecutor
18
+ implements GenerationExecutor<VideoGenerationInput, VideoGenerationOutput>
19
+ {
20
+ async generate(
21
+ model: string,
22
+ input: VideoGenerationInput,
23
+ options?: GenerationOptions,
24
+ ): Promise<GenerationResult<VideoGenerationOutput>> {
25
+ try {
26
+ if (typeof __DEV__ !== "undefined" && __DEV__) {
27
+ console.log("[VideoExecutor] Starting generation", {
28
+ model,
29
+ hasSourceImage: !!input.sourceImageBase64,
30
+ hasTargetImage: !!input.targetImageBase64,
31
+ hasPrompt: !!input.prompt,
32
+ });
33
+ }
34
+
35
+ const provider = providerRegistry.getActiveProvider();
36
+
37
+ if (!provider?.isInitialized()) {
38
+ if (typeof __DEV__ !== "undefined" && __DEV__) {
39
+ console.error("[VideoExecutor] Provider not initialized");
40
+ }
41
+ return { success: false, error: "AI provider not initialized" };
42
+ }
43
+
44
+ options?.onProgress?.(5);
45
+
46
+ const modelInput = this.buildModelInput(input);
47
+
48
+ if (typeof __DEV__ !== "undefined" && __DEV__) {
49
+ console.log("[VideoExecutor] Model input prepared");
50
+ }
51
+
52
+ options?.onProgress?.(10);
53
+
54
+ const result = await provider.subscribe(model, modelInput, {
55
+ timeoutMs: options?.timeoutMs ?? 300000,
56
+ onQueueUpdate: (status) => {
57
+ if (typeof __DEV__ !== "undefined" && __DEV__) {
58
+ console.log("[VideoExecutor] Queue status:", status.status);
59
+ }
60
+
61
+ if (status.status === "IN_QUEUE") {
62
+ options?.onProgress?.(20);
63
+ } else if (status.status === "IN_PROGRESS") {
64
+ options?.onProgress?.(50);
65
+ }
66
+ },
67
+ });
68
+
69
+ options?.onProgress?.(90);
70
+
71
+ const videoUrl = this.extractVideoUrl(result);
72
+
73
+ if (!videoUrl) {
74
+ if (typeof __DEV__ !== "undefined" && __DEV__) {
75
+ console.error("[VideoExecutor] No video URL in response");
76
+ }
77
+ return { success: false, error: "No video generated" };
78
+ }
79
+
80
+ options?.onProgress?.(100);
81
+
82
+ if (typeof __DEV__ !== "undefined" && __DEV__) {
83
+ console.log("[VideoExecutor] Generation successful", {
84
+ videoUrl: videoUrl.slice(0, 100),
85
+ });
86
+ }
87
+
88
+ return { success: true, data: { videoUrl } };
89
+ } catch (error) {
90
+ const message =
91
+ error instanceof Error ? error.message : "Generation failed";
92
+
93
+ if (typeof __DEV__ !== "undefined" && __DEV__) {
94
+ console.error("[VideoExecutor] Generation error:", {
95
+ message,
96
+ error,
97
+ });
98
+ }
99
+
100
+ return { success: false, error: message };
101
+ }
102
+ }
103
+
104
+ private buildModelInput(input: VideoGenerationInput) {
105
+ const { sourceImageBase64, targetImageBase64, prompt } = input;
106
+
107
+ const formatBase64 = (base64: string): string => {
108
+ if (!base64) return "";
109
+ return base64.startsWith("data:")
110
+ ? base64
111
+ : `data:image/jpeg;base64,${base64}`;
112
+ };
113
+
114
+ return {
115
+ image_url: formatBase64(sourceImageBase64),
116
+ ...(targetImageBase64
117
+ ? { driver_image_url: formatBase64(targetImageBase64) }
118
+ : {}),
119
+ ...(prompt ? { prompt } : {}),
120
+ };
121
+ }
122
+
123
+ private extractVideoUrl(result: unknown): string | undefined {
124
+ const rawResult = result as Record<string, unknown>;
125
+ const data = (rawResult?.data ?? rawResult) as {
126
+ video?: { url: string };
127
+ };
128
+ return data?.video?.url;
129
+ }
130
+ }
@@ -14,13 +14,13 @@ declare const __DEV__: boolean;
14
14
 
15
15
  export interface GenerationModels {
16
16
  /** Image generation with face identity preservation (couple photos) */
17
- readonly imageCoupleMultiRef: string;
17
+ readonly imageCoupleMultiRef?: string;
18
18
  /** Text-to-image generation */
19
- readonly imageTextToImage: string;
19
+ readonly imageTextToImage?: string;
20
20
  /** Image-to-video generation */
21
- readonly imageToVideo: string;
21
+ readonly imageToVideo?: string;
22
22
  /** Text-to-video generation */
23
- readonly textToVideo: string;
23
+ readonly textToVideo?: string;
24
24
  /** AI Kiss video */
25
25
  readonly aiKiss?: string;
26
26
  /** AI Hug video */
@@ -62,19 +62,30 @@ export const GenerationConfigProvider: React.FC<GenerationConfigProviderProps> =
62
62
  models,
63
63
  }) => {
64
64
  if (typeof __DEV__ !== "undefined" && __DEV__) {
65
+ const configuredModels = Object.entries(models)
66
+ .filter(([, value]) => !!value)
67
+ .map(([key]) => key);
68
+
65
69
  console.log("[GenerationConfigProvider] Initialized with models:", {
66
- imageCoupleMultiRef: models.imageCoupleMultiRef,
67
- imageTextToImage: models.imageTextToImage,
68
- imageToVideo: models.imageToVideo,
69
- textToVideo: models.textToVideo,
70
+ configured: configuredModels,
71
+ imageCoupleMultiRef: models.imageCoupleMultiRef || "not configured",
72
+ imageTextToImage: models.imageTextToImage || "not configured",
73
+ imageToVideo: models.imageToVideo || "not configured",
74
+ textToVideo: models.textToVideo || "not configured",
70
75
  });
71
76
  }
72
77
 
73
78
  const getModel = (featureType: keyof GenerationModels): string => {
74
79
  const model = models[featureType];
75
80
  if (!model) {
81
+ const availableModels = Object.keys(models).filter(
82
+ (key) => models[key as keyof GenerationModels]
83
+ );
84
+
76
85
  throw new Error(
77
- `Model not configured for feature: ${featureType}. Please configure in app's GenerationConfigProvider.`
86
+ `Model not configured for feature: ${featureType}.\n\n` +
87
+ `This app only supports: ${availableModels.join(", ") || "none"}.\n` +
88
+ `Please configure '${featureType}' in your GenerationConfigProvider if you need it.`
78
89
  );
79
90
  }
80
91
  return model;