@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,25 +0,0 @@
1
- /**
2
- * AI Hug Feature Types
3
- * Extends dual-image-video types for AI hug video generation
4
- */
5
-
6
- import type {
7
- DualImageVideoFeatureConfig,
8
- DualImageVideoFeatureState,
9
- DualImageVideoTranslations,
10
- } from "../../../shared/dual-image-video";
11
-
12
- export interface AIHugResult {
13
- success: boolean;
14
- videoUrl?: string;
15
- error?: string;
16
- requestId?: string;
17
- }
18
-
19
- export type AIHugFeatureState = DualImageVideoFeatureState;
20
-
21
- export type AIHugTranslations = DualImageVideoTranslations;
22
-
23
- export type AIHugResultExtractor = (result: unknown) => string | undefined;
24
-
25
- export type AIHugFeatureConfig = DualImageVideoFeatureConfig;
@@ -1,7 +0,0 @@
1
- export type {
2
- AIHugResult,
3
- AIHugFeatureState,
4
- AIHugTranslations,
5
- AIHugResultExtractor,
6
- AIHugFeatureConfig,
7
- } from "./ai-hug.types";
@@ -1,19 +0,0 @@
1
- /**
2
- * AI Hug Feature
3
- * Provider-agnostic AI hug video generation feature
4
- */
5
-
6
- // Domain Types
7
- export type {
8
- AIHugResult,
9
- AIHugFeatureState,
10
- AIHugTranslations,
11
- AIHugFeatureConfig,
12
- AIHugResultExtractor,
13
- } from "./domain";
14
-
15
- // Presentation Hooks
16
- export { useAIHugFeature, type UseAIHugFeatureProps } from "./presentation";
17
-
18
- // Presentation Components
19
- export { AIHugFeature, type AIHugFeatureProps } from "./presentation";
@@ -1,77 +0,0 @@
1
- import React, { useMemo } from "react";
2
- import { View, StyleSheet } from "react-native";
3
- import { DualImagePicker } from "../../../../presentation/components/image-picker/DualImagePicker";
4
- import { DualImageVideoFeatureLayout } from "../../../../presentation/layouts";
5
- import type { DualImageInputRenderProps } from "../../../../presentation/layouts";
6
- import { useAIHugFeature } from "../hooks";
7
- import type { AIHugTranslations, AIHugFeatureConfig } from "../../domain/types";
8
-
9
- export interface AIHugFeatureProps {
10
- config: AIHugFeatureConfig;
11
- translations: AIHugTranslations & {
12
- modalTitle?: string;
13
- modalMessage?: string;
14
- modalHint?: string;
15
- modalBackgroundHint?: string;
16
- };
17
- onSelectSourceImage: () => Promise<string | null>;
18
- onSelectTargetImage: () => Promise<string | null>;
19
- onSaveVideo: (videoUrl: string) => Promise<void>;
20
- onBeforeProcess?: () => Promise<boolean>;
21
- }
22
-
23
- export const AIHugFeature: React.FC<AIHugFeatureProps> = ({
24
- config,
25
- translations,
26
- onSelectSourceImage,
27
- onSelectTargetImage,
28
- onSaveVideo,
29
- onBeforeProcess,
30
- }) => {
31
- const feature = useAIHugFeature({
32
- config,
33
- onSelectSourceImage,
34
- onSelectTargetImage,
35
- onSaveVideo,
36
- onBeforeProcess,
37
- });
38
-
39
- const modalTranslations = useMemo(
40
- () => ({
41
- title: translations.modalTitle || "Creating your video",
42
- message: translations.modalMessage || "AI is working its magic...",
43
- hint: translations.modalHint || "This may take a moment",
44
- backgroundHint: translations.modalBackgroundHint || "Continue in background",
45
- }),
46
- [translations],
47
- );
48
-
49
- return (
50
- <DualImageVideoFeatureLayout
51
- feature={feature}
52
- translations={translations}
53
- modalTranslations={modalTranslations}
54
- renderInput={({ sourceImageUri, targetImageUri, onSelectSource, onSelectTarget, isDisabled }: DualImageInputRenderProps) => (
55
- <View style={styles.pickerContainer}>
56
- <DualImagePicker
57
- sourceImageUri={sourceImageUri}
58
- targetImageUri={targetImageUri}
59
- isDisabled={isDisabled}
60
- onSelectSource={onSelectSource}
61
- onSelectTarget={onSelectTarget}
62
- sourcePlaceholder={translations.sourceUploadTitle}
63
- targetPlaceholder={translations.targetUploadTitle}
64
- layout="horizontal"
65
- />
66
- </View>
67
- )}
68
- />
69
- );
70
- };
71
-
72
- const styles = StyleSheet.create({
73
- pickerContainer: {
74
- marginHorizontal: 16,
75
- marginBottom: 16,
76
- },
77
- });
@@ -1,2 +0,0 @@
1
- export { AIHugFeature } from "./AIHugFeature";
2
- export type { AIHugFeatureProps } from "./AIHugFeature";
@@ -1,9 +0,0 @@
1
- /**
2
- * AI Hug Presentation Hooks Index
3
- */
4
-
5
- export { useAIHugFeature } from "./useAIHugFeature";
6
- export type {
7
- UseAIHugFeatureProps,
8
- UseAIHugFeatureReturn,
9
- } from "./useAIHugFeature";
@@ -1,34 +0,0 @@
1
- /**
2
- * useAIHugFeature Hook
3
- * Thin wrapper around useDualImageVideoFeature for ai-hug feature
4
- * DRY: Uses shared base hook for common logic
5
- */
6
-
7
- import { useDualImageVideoFeature } from "../../../shared/dual-image-video";
8
- import type {
9
- AIHugFeatureConfig,
10
- AIHugFeatureState,
11
- } from "../../domain/types";
12
-
13
- export interface UseAIHugFeatureProps {
14
- config: AIHugFeatureConfig;
15
- onSelectSourceImage: () => Promise<string | null>;
16
- onSelectTargetImage: () => Promise<string | null>;
17
- onSaveVideo: (videoUrl: string) => Promise<void>;
18
- onBeforeProcess?: () => Promise<boolean>;
19
- }
20
-
21
- export interface UseAIHugFeatureReturn extends AIHugFeatureState {
22
- selectSourceImage: () => Promise<void>;
23
- selectTargetImage: () => Promise<void>;
24
- process: () => Promise<void>;
25
- save: () => Promise<void>;
26
- reset: () => void;
27
- }
28
-
29
- export function useAIHugFeature(props: UseAIHugFeatureProps): UseAIHugFeatureReturn {
30
- return useDualImageVideoFeature({
31
- featureType: "ai-hug",
32
- ...props,
33
- });
34
- }
@@ -1,6 +0,0 @@
1
- /**
2
- * AI Hug Presentation Index
3
- */
4
-
5
- export * from "./hooks";
6
- export * from "./components";
@@ -1,445 +0,0 @@
1
- # AI Kiss Feature
2
-
3
- Generate AI-powered kiss images between two people.
4
-
5
- ## 📍 Import Path
6
-
7
- ```typescript
8
- import { useAIKissFeature } from '@umituz/react-native-ai-generation-content';
9
- ```
10
-
11
- **Location**: `src/features/ai-kiss/`
12
-
13
- ## 🎯 Feature Purpose
14
-
15
- Create realistic kiss images by combining two photos using AI. Automatically detects poses, positions faces naturally, and generates high-quality facial matching for various kiss types including romantic, gentle, passionate, and cute styles.
16
-
17
- ---
18
-
19
- ## 📋 Usage Strategy
20
-
21
- ### When to Use This Feature
22
-
23
- ✅ **Use Cases:**
24
- - Creating couple photos
25
- - Generating romantic moments
26
- - Fun friendship images
27
- - Social media content
28
- - Creative personal projects
29
-
30
- ❌ **When NOT to Use:**
31
- - Non-consensual image generation
32
- - Misleading or deceptive content
33
- - Harassment or bullying
34
- - Commercial use without permissions
35
-
36
- ### Implementation Strategy
37
-
38
- 1. **Select TWO photos** (person 1 and person 2)
39
- 2. **Choose kiss type** (romantic, gentle, passionate, cute)
40
- 3. **Validate both photos** before generation
41
- 4. **Generate AI kiss** with progress tracking
42
- 5. **Preview result** and offer regeneration
43
- 6. **Save or share** the final image
44
-
45
- ---
46
-
47
- ## ⚠️ Critical Rules (MUST FOLLOW)
48
-
49
- ### 1. Image Requirements
50
- - **MUST** provide TWO distinct images (person 1 + person 2)
51
- - **MUST** contain at least one visible person in each image
52
- - **MUST** use high-quality images (min 512x512 recommended)
53
- - **MUST** ensure faces are clearly visible
54
- - **MUST NOT** use images with no detectable people
55
-
56
- ### 2. Configuration
57
- - **MUST** provide valid `userId` for tracking
58
- - **MUST** specify `kissType` (romantic, gentle, passionate, cute)
59
- - **MUST** implement `onError` callback
60
- - **MUST** implement `onSelectPerson1` and `onSelectPerson2` callbacks
61
- - **MUST** handle both images being selected before processing
62
-
63
- ### 3. State Management
64
- - **MUST** check `isReady` before enabling generate button
65
- - **MUST** verify both images are selected
66
- - **MUST** handle `isProcessing` state to prevent duplicate requests
67
- - **MUST** display `error` state to users
68
- - **MUST** implement proper cleanup on unmount
69
-
70
- ### 4. Performance
71
- - **MUST** limit image size (<10MB each)
72
- - **MUST** compress images before processing
73
- - **MUST** implement loading indicators during processing
74
- - **MUST** cache results locally
75
- - **MUST NOT** generate multiple kisses simultaneously
76
-
77
- ### 5. Ethics & Privacy
78
- - **MUST** obtain consent from people whose photos are used
79
- - **MUST** provide clear usage terms
80
- - **MUST** implement content moderation
81
- - **MUST** prevent malicious use cases
82
- - **MUST** log processing for audit trail
83
-
84
- ---
85
-
86
- ## 🚫 Prohibitions (MUST AVOID)
87
-
88
- ### Strictly Forbidden
89
-
90
- ❌ **NEVER** do the following:
91
-
92
- 1. **No Single Image**
93
- - Always requires TWO images (person 1 + person 2)
94
- - Never attempt with missing image
95
-
96
- 2. **No Non-Consensual Generation**
97
- - Always obtain permission from subjects
98
- - Never generate kisses without consent
99
- - Implement age verification for minors
100
-
101
- 3. **No Malicious Use**
102
- - Never use for harassment or bullying
103
- - Never create misleading content
104
- - Never use for deception
105
-
106
- 4. **No Unhandled Errors**
107
- - Never ignore generation failures
108
- - Always handle detection errors gracefully
109
- - Provide clear error messages
110
-
111
- 5. **No Memory Leaks**
112
- - Never store large images in state unnecessarily
113
- - Always cleanup image references on unmount
114
- - Implement proper image disposal
115
-
116
- 6. **No Blocked UI**
117
- - Never process without user confirmation
118
- - Always show progress indicator
119
- - Never block main thread with image processing
120
-
121
- 7. **No Missing Context**
122
- - Never confuse which person is which
123
- - Always provide clear UI labels
124
- - Show preview before processing
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 an AI kiss generation 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 useAIKissFeature hook
142
- 3. Require TWO images (person 1 + person 2)
143
- 4. Implement dual image selection UI
144
- 5. Select kiss type (romantic, gentle, passionate, cute)
145
- 6. Validate both images before generation
146
- 7. Add confirmation dialog before generation
147
- 8. Handle long processing times with progress
148
- 9. Implement proper error handling
149
- 10. Implement cleanup on unmount
150
-
151
- CRITICAL RULES:
152
- - MUST obtain consent from subjects
153
- - MUST validate both images before processing
154
- - MUST provide clear UI for person 1 vs person 2
155
- - MUST handle generation errors gracefully
156
- - MUST prevent malicious use cases
157
- - MUST implement content moderation
158
- - NEVER process without user confirmation
159
-
160
- CONFIGURATION:
161
- - Provide valid userId (string)
162
- - Set kissType: 'romantic' | 'gentle' | 'passionate' | 'cute'
163
- - Set preserveFaces: boolean (maintain facial features)
164
- - Set enhanceQuality: boolean (enhance output quality)
165
- - Implement onSelectPerson1 callback
166
- - Implement onSelectPerson2 callback
167
- - Implement onSaveResult callback
168
- - Configure callbacks: onProcessingStart, onProcessingComplete, onError
169
-
170
- KISS TYPES:
171
- - romantic: Intimate, romantic kiss
172
- - gentle: Soft, gentle kiss
173
- - passionate: Passionate kiss
174
- - cute: Adorable, cute kiss
175
-
176
- OPTIONS:
177
- - preserveFaces: Maintain facial features (default: true)
178
- - enhanceQuality: Enhance output quality (default: true)
179
-
180
- STRICTLY FORBIDDEN:
181
- - No single image processing
182
- - No non-consensual generation
183
- - No malicious use
184
- - No unhandled errors
185
- - No memory leaks
186
- - No missing UI context
187
-
188
- ETHICS CHECKLIST:
189
- - [ ] Consent mechanism implemented
190
- - [ ] Age verification for minors
191
- - [ ] Content moderation in place
192
- - [ ] Usage terms provided
193
- - [ ] Audit trail logging
194
- - [ ] Report/flag functionality
195
- ```
196
-
197
- #### AI Implementation Checklist
198
-
199
- Use this checklist when generating code:
200
-
201
- - [ ] Feature imported from correct path
202
- - [ ] Dual image selection implemented
203
- - [ ] Person 1/Person 2 labels clear
204
- - [ ] Kiss type selector added
205
- - [ ] Both images validated before processing
206
- - [ ] Confirmation dialog added
207
- - [ ] Progress indicator during processing
208
- - [ ] Error display with user-friendly message
209
- - [ ] Result preview before saving
210
- - [ ] Consent mechanism in place
211
- - [ ] Cleanup on unmount
212
- - [ ] Content moderation configured
213
-
214
- ---
215
-
216
- ## 🛠️ Configuration Strategy
217
-
218
- ### Essential Configuration
219
-
220
- ```typescript
221
- // Required fields
222
- {
223
- userId: string
224
- kissType: 'romantic' | 'gentle' | 'passionate' | 'cute'
225
- onSelectPerson1: () => Promise<string | null>
226
- onSelectPerson2: () => Promise<string | null>
227
- }
228
-
229
- // Optional callbacks
230
- {
231
- onProcessingStart?: () => void
232
- onProcessingComplete?: (result) => void
233
- onError?: (error: string) => void
234
- }
235
- ```
236
-
237
- ### Recommended Settings
238
-
239
- 1. **Kiss Types**
240
- - Romantic: Intimate couple kisses
241
- - Gentle: Soft, tender kisses
242
- - Passionate: Strong, passionate kisses
243
- - Cute: Adorable, playful kisses
244
-
245
- 2. **Image Quality**
246
- - Minimum: 512x512 resolution
247
- - Recommended: 1024x1024 or higher
248
- - Format: JPEG or PNG
249
- - Max size: 10MB per image
250
-
251
- 3. **Performance Settings**
252
- - Compress images before upload
253
- - Show progress for long operations
254
- - Implement timeout (120s default)
255
- - Enable result caching
256
-
257
- ---
258
-
259
- ## 📊 State Management
260
-
261
- ### Feature States
262
-
263
- **isReady**: boolean
264
- - Both images selected and validated
265
- - Check before enabling generate button
266
-
267
- **isProcessing**: boolean
268
- - AI kiss generation in progress
269
- - Show loading/progress indicator
270
- - Disable generate button
271
-
272
- **progress**: number (0-100)
273
- - Generation progress percentage
274
- - Update progress bar
275
-
276
- **error**: string | null
277
- - Error message if generation failed
278
- - Common errors: "No person found in image", "Generation failed"
279
-
280
- **result**: {
281
- imageUrl: string
282
- kissType?: string
283
- metadata?: any
284
- }
285
-
286
- ---
287
-
288
- ## 🔐 Ethics & Privacy
289
-
290
- ### Consent Requirements
291
-
292
- - **MUST** obtain explicit consent from all subjects
293
- - **MUST** provide clear explanation of how images will be used
294
- - **MUST** implement age verification
295
- - **MUST** allow subjects to opt-out
296
-
297
- ### Content Moderation
298
-
299
- - **MUST** filter inappropriate content
300
- - **MUST** prevent malicious use cases
301
- - **MUST** implement reporting mechanism
302
- - **MUST** review flagged content
303
-
304
- ### Usage Guidelines
305
-
306
- - **MUST** provide terms of service
307
- - **MUST** clearly label AI-generated content
308
- - **MUST** prevent deception/misrepresentation
309
- - **MUST** comply with deepfake regulations
310
-
311
- ---
312
-
313
- ## 🎨 Best Practices
314
-
315
- ### Photo Selection
316
-
317
- 1. **Photo Quality**
318
- - Good: High-quality, well-lit photos
319
- - Bad: Blurry, dark, low-resolution images
320
-
321
- 2. **Face Visibility**
322
- - Good: Clear, frontal face shots
323
- - Bad: Occluded or profile faces
324
-
325
- 3. **Similar Angles**
326
- - Similar head angles produce better results
327
- - Forward-facing photos work best
328
-
329
- 4. **Lighting**
330
- - Similar lighting conditions work best
331
- - Front-facing well-lit photos ideal
332
-
333
- ### User Experience
334
-
335
- 1. **Clear UI**
336
- - Label person 1 vs person 2 clearly
337
- - Show preview before processing
338
- - Add confirmation dialog
339
-
340
- 2. **Error Handling**
341
- - Explain "no person found" errors
342
- - Provide troubleshooting tips
343
- - Offer retry option
344
-
345
- 3. **Performance**
346
- - Compress images before upload
347
- - Show progress for long operations
348
- - Cache results for re-download
349
-
350
- ---
351
-
352
- ## 🐛 Common Pitfalls
353
-
354
- ### Detection Issues
355
-
356
- ❌ **Problem**: "No person found" error
357
- ✅ **Solution**: Ensure people are clearly visible, well-lit, frontal
358
-
359
- ### Quality Issues
360
-
361
- ❌ **Problem**: Poor quality generation
362
- ✅ **Solution**: Use higher resolution images, better lighting
363
-
364
- ### UX Confusion
365
-
366
- ❌ **Problem**: Users confused about which person is which
367
- ✅ **Solution**: Clear labels, visual indicators, preview
368
-
369
- ### Privacy Concerns
370
-
371
- ❌ **Problem**: Non-consensual image generation
372
- ✅ **Solution**: Implement consent mechanisms, age verification
373
-
374
- ---
375
-
376
- ## 📦 Related Components
377
-
378
- Use these components from the library:
379
-
380
- - **DualImagePicker**: Select two images
381
- - **KissTypeSelector**: Choose kiss style
382
- - **ResultImageCard**: Display result with actions
383
- - **ConfirmationDialog**: Confirm before processing
384
-
385
- Located at: `src/presentation/components/`
386
-
387
- ---
388
-
389
- ## 🔄 Migration Strategy
390
-
391
- If migrating from previous implementation:
392
-
393
- 1. **Update imports** to new path
394
- 2. **Add dual image selection** (person 1 + person 2)
395
- 3. **Implement consent mechanism**
396
- 4. **Add kiss type selector**
397
- 5. **Update state handling** for both images
398
- 6. **Test all error cases**
399
-
400
- ---
401
-
402
- ## ⚖️ Legal Considerations
403
-
404
- ### Compliance
405
-
406
- - **Deepfake Regulations**: Comply with local laws
407
- - **Privacy Laws**: GDPR, CCPA compliance
408
- - **Consent Requirements**: Explicit permission needed
409
- - **Age Restrictions**: Verify adult subjects
410
- - **Content Labeling**: Mark as AI-generated
411
-
412
- ### Best Practices
413
-
414
- - Provide attribution for source images
415
- - Allow content reporting/flagging
416
- - Implement audit trail logging
417
- - Cooperate with takedown requests
418
-
419
- ---
420
-
421
- ## 📚 Additional Resources
422
-
423
- - Main documentation: `/docs/`
424
- - API reference: `/docs/api/`
425
- - Examples: `/docs/examples/basic/ai-kiss/`
426
- - Ethics guidelines: `/docs/ethics.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 ethics and privacy guidelines
441
- - Added rules, prohibitions, and AI agent directions
442
- - Focus on responsible AI usage
443
-
444
- ### v1.0.0 - Initial Release
445
- - Initial feature documentation
@@ -1,5 +0,0 @@
1
- /**
2
- * AI Kiss Domain Index
3
- */
4
-
5
- export * from "./types";
@@ -1,25 +0,0 @@
1
- /**
2
- * AI Kiss Feature Types
3
- * Extends dual-image-video types for AI kiss video generation
4
- */
5
-
6
- import type {
7
- DualImageVideoFeatureConfig,
8
- DualImageVideoFeatureState,
9
- DualImageVideoTranslations,
10
- } from "../../../shared/dual-image-video";
11
-
12
- export interface AIKissResult {
13
- success: boolean;
14
- videoUrl?: string;
15
- error?: string;
16
- requestId?: string;
17
- }
18
-
19
- export type AIKissFeatureState = DualImageVideoFeatureState;
20
-
21
- export type AIKissTranslations = DualImageVideoTranslations;
22
-
23
- export type AIKissResultExtractor = (result: unknown) => string | undefined;
24
-
25
- export type AIKissFeatureConfig = DualImageVideoFeatureConfig;
@@ -1,7 +0,0 @@
1
- export type {
2
- AIKissResult,
3
- AIKissFeatureState,
4
- AIKissTranslations,
5
- AIKissResultExtractor,
6
- AIKissFeatureConfig,
7
- } from "./ai-kiss.types";
@@ -1,19 +0,0 @@
1
- /**
2
- * AI Kiss Feature
3
- * Provider-agnostic AI kiss video generation feature
4
- */
5
-
6
- // Domain Types
7
- export type {
8
- AIKissResult,
9
- AIKissFeatureState,
10
- AIKissTranslations,
11
- AIKissFeatureConfig,
12
- AIKissResultExtractor,
13
- } from "./domain";
14
-
15
- // Presentation Hooks
16
- export { useAIKissFeature, type UseAIKissFeatureProps } from "./presentation";
17
-
18
- // Presentation Components
19
- export { AIKissFeature, type AIKissFeatureProps } from "./presentation";