@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
@@ -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
+ }
@@ -1,438 +0,0 @@
1
- # AI Hug Feature
2
-
3
- Generate AI-powered hug images between two people.
4
-
5
- ## 📍 Import Path
6
-
7
- ```typescript
8
- import { useAIHugFeature } from '@umituz/react-native-ai-generation-content';
9
- ```
10
-
11
- **Location**: `src/features/ai-hug/`
12
-
13
- ## 🎯 Feature Purpose
14
-
15
- Create realistic hug images by combining two photos using AI. Automatically detects poses, positions arms naturally, and generates high-quality facial matching for various hug types.
16
-
17
- ---
18
-
19
- ## 📋 Usage Strategy
20
-
21
- ### When to Use This Feature
22
-
23
- ✅ **Use Cases:**
24
- - Creating couple photos
25
- - Generating family 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 hug type** (romantic, friendly, family, cute)
40
- 3. **Validate both photos** before generation
41
- 4. **Generate AI hug** 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 `hugType` (romantic, friendly, family, 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 hugs 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 hugs 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 hug 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 useAIHugFeature hook
142
- 3. Require TWO images (person 1 + person 2)
143
- 4. Implement dual image selection UI
144
- 5. Select hug type (romantic, friendly, family, 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 hugType: 'romantic' | 'friendly' | 'family' | 'cute'
163
- - Implement onSelectPerson1 callback
164
- - Implement onSelectPerson2 callback
165
- - Implement onSaveResult callback
166
- - Configure callbacks: onProcessingStart, onProcessingComplete, onError
167
-
168
- OPTIONS:
169
- - hugType: Select hug style
170
- - preserveFaces: boolean (maintain facial features)
171
- - enhanceQuality: boolean (enhance output quality)
172
-
173
- STRICTLY FORBIDDEN:
174
- - No single image processing
175
- - No non-consensual generation
176
- - No malicious use
177
- - No unhandled errors
178
- - No memory leaks
179
- - No missing UI context
180
-
181
- ETHICS CHECKLIST:
182
- - [ ] Consent mechanism implemented
183
- - [ ] Age verification for minors
184
- - [ ] Content moderation in place
185
- - [ ] Usage terms provided
186
- - [ ] Audit trail logging
187
- - [ ] Report/flag functionality
188
- ```
189
-
190
- #### AI Implementation Checklist
191
-
192
- Use this checklist when generating code:
193
-
194
- - [ ] Feature imported from correct path
195
- - [ ] Dual image selection implemented
196
- - [ ] Person 1/Person 2 labels clear
197
- - [ ] Hug type selector added
198
- - [ ] Both images validated before processing
199
- - [ ] Confirmation dialog added
200
- - [ ] Progress indicator during processing
201
- - [ ] Error display with user-friendly message
202
- - [ ] Result preview before saving
203
- - [ ] Consent mechanism in place
204
- - [ ] Cleanup on unmount
205
- - [ ] Content moderation configured
206
-
207
- ---
208
-
209
- ## 🛠️ Configuration Strategy
210
-
211
- ### Essential Configuration
212
-
213
- ```typescript
214
- // Required fields
215
- {
216
- userId: string
217
- hugType: 'romantic' | 'friendly' | 'family' | 'cute'
218
- onSelectPerson1: () => Promise<string | null>
219
- onSelectPerson2: () => Promise<string | null>
220
- }
221
-
222
- // Optional callbacks
223
- {
224
- onProcessingStart?: () => void
225
- onProcessingComplete?: (result) => void
226
- onError?: (error: string) => void
227
- }
228
- ```
229
-
230
- ### Recommended Settings
231
-
232
- 1. **Hug Types**
233
- - Romantic: Intimate couple hugs
234
- - Friendly: Casual friendship hugs
235
- - Family: Warm family embraces
236
- - Cute: Adorable, playful hugs
237
-
238
- 2. **Image Quality**
239
- - Minimum: 512x512 resolution
240
- - Recommended: 1024x1024 or higher
241
- - Format: JPEG or PNG
242
- - Max size: 10MB per image
243
-
244
- 3. **Performance Settings**
245
- - Compress images before upload
246
- - Show progress for long operations
247
- - Implement timeout (120s default)
248
- - Enable result caching
249
-
250
- ---
251
-
252
- ## 📊 State Management
253
-
254
- ### Feature States
255
-
256
- **isReady**: boolean
257
- - Both images selected and validated
258
- - Check before enabling generate button
259
-
260
- **isProcessing**: boolean
261
- - AI hug generation in progress
262
- - Show loading/progress indicator
263
- - Disable generate button
264
-
265
- **progress**: number (0-100)
266
- - Generation progress percentage
267
- - Update progress bar
268
-
269
- **error**: string | null
270
- - Error message if generation failed
271
- - Common errors: "No person found in image", "Generation failed"
272
-
273
- **result**: {
274
- imageUrl: string
275
- hugType?: string
276
- metadata?: any
277
- }
278
-
279
- ---
280
-
281
- ## 🔐 Ethics & Privacy
282
-
283
- ### Consent Requirements
284
-
285
- - **MUST** obtain explicit consent from all subjects
286
- - **MUST** provide clear explanation of how images will be used
287
- - **MUST** implement age verification
288
- - **MUST** allow subjects to opt-out
289
-
290
- ### Content Moderation
291
-
292
- - **MUST** filter inappropriate content
293
- - **MUST** prevent malicious use cases
294
- - **MUST** implement reporting mechanism
295
- - **MUST** review flagged content
296
-
297
- ### Usage Guidelines
298
-
299
- - **MUST** provide terms of service
300
- - **MUST** clearly label AI-generated content
301
- - **MUST** prevent deception/misrepresentation
302
- - **MUST** comply with deepfake regulations
303
-
304
- ---
305
-
306
- ## 🎨 Best Practices
307
-
308
- ### Image Selection
309
-
310
- 1. **Photo Quality**
311
- - Good: Clear, well-lit, high-resolution photos
312
- - Bad: Blurry, dark, low-resolution images
313
-
314
- 2. **Pose Clarity**
315
- - Good: Full-body or waist-up shots
316
- - Bad: Extreme close-ups, obscured poses
317
-
318
- 3. **Face Visibility**
319
- - Good: Clear, frontal face shots
320
- - Bad: Occluded or profile faces
321
-
322
- 4. **Lighting**
323
- - Similar lighting conditions work best
324
- - Front-facing well-lit photos ideal
325
-
326
- ### User Experience
327
-
328
- 1. **Clear UI**
329
- - Label person 1 vs person 2 clearly
330
- - Show preview before processing
331
- - Add confirmation dialog
332
-
333
- 2. **Error Handling**
334
- - Explain "no person found" errors
335
- - Provide troubleshooting tips
336
- - Offer retry option
337
-
338
- 3. **Performance**
339
- - Compress images before upload
340
- - Show progress for long operations
341
- - Cache results for re-download
342
-
343
- ---
344
-
345
- ## 🐛 Common Pitfalls
346
-
347
- ### Detection Issues
348
-
349
- ❌ **Problem**: "No person found" error
350
- ✅ **Solution**: Ensure people are clearly visible, well-lit, frontal
351
-
352
- ### Quality Issues
353
-
354
- ❌ **Problem**: Poor quality generation
355
- ✅ **Solution**: Use higher resolution images, better lighting, try different hug type
356
-
357
- ### UX Confusion
358
-
359
- ❌ **Problem**: Users confused about which person is which
360
- ✅ **Solution**: Clear labels, visual indicators, preview
361
-
362
- ### Privacy Concerns
363
-
364
- ❌ **Problem**: Non-consensual image generation
365
- ✅ **Solution**: Implement consent mechanisms, age verification
366
-
367
- ---
368
-
369
- ## 📦 Related Components
370
-
371
- Use these components from the library:
372
-
373
- - **DualImagePicker**: Select two images
374
- - **HugTypeSelector**: Choose hug style
375
- - **ResultImageCard**: Display result with actions
376
- - **ConfirmationDialog**: Confirm before processing
377
-
378
- Located at: `src/presentation/components/`
379
-
380
- ---
381
-
382
- ## 🔄 Migration Strategy
383
-
384
- If migrating from previous implementation:
385
-
386
- 1. **Update imports** to new path
387
- 2. **Add dual image selection** (person 1 + person 2)
388
- 3. **Implement consent mechanism**
389
- 4. **Add hug type selector**
390
- 5. **Update state handling** for both images
391
- 6. **Test all error cases**
392
-
393
- ---
394
-
395
- ## ⚖️ Legal Considerations
396
-
397
- ### Compliance
398
-
399
- - **Deepfake Regulations**: Comply with local laws
400
- - **Privacy Laws**: GDPR, CCPA compliance
401
- - **Consent Requirements**: Explicit permission needed
402
- - **Age Restrictions**: Verify adult subjects
403
- - **Content Labeling**: Mark as AI-generated
404
-
405
- ### Best Practices
406
-
407
- - Provide attribution for source images
408
- - Allow content reporting/flagging
409
- - Implement audit trail logging
410
- - Cooperate with takedown requests
411
-
412
- ---
413
-
414
- ## 📚 Additional Resources
415
-
416
- - Main documentation: `/docs/`
417
- - API reference: `/docs/api/`
418
- - Examples: `/docs/examples/basic/ai-hug/`
419
- - Ethics guidelines: `/docs/ethics.md`
420
-
421
- ---
422
-
423
- **Last Updated**: 2025-01-08
424
- **Version**: 2.0.0 (Strategy-based Documentation)
425
-
426
- ---
427
-
428
- ## 📝 Changelog
429
-
430
- ### v2.0.0 - 2025-01-08
431
- - **BREAKING**: Documentation format changed to strategy-based
432
- - Removed extensive code examples
433
- - Added ethics and privacy guidelines
434
- - Added rules, prohibitions, and AI agent directions
435
- - Focus on responsible AI usage
436
-
437
- ### v1.0.0 - Initial Release
438
- - Initial feature documentation
@@ -1,5 +0,0 @@
1
- /**
2
- * AI Hug Domain Index
3
- */
4
-
5
- export * from "./types";