@umituz/react-native-ai-generation-content 1.83.10 → 1.83.12

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 (201) hide show
  1. package/package.json +1 -1
  2. package/src/domain/constants/queue-status.constants.ts +0 -2
  3. package/src/domain/entities/flow-config-data.types.ts +0 -9
  4. package/src/domain/entities/flow-config.types.ts +2 -6
  5. package/src/domain/entities/flow-configuration.types.ts +1 -8
  6. package/src/domain/interfaces/app-services.interface.ts +2 -2
  7. package/src/domain/interfaces/index.ts +0 -8
  8. package/src/domains/background/infrastructure/services/job-poller.service.ts +0 -1
  9. package/src/domains/background/infrastructure/utils/result-validator.util.ts +0 -1
  10. package/src/domains/background/infrastructure/utils/status-checker.util.ts +0 -1
  11. package/src/domains/background/infrastructure/utils/status-extraction-helpers.ts +1 -1
  12. package/src/domains/content-moderation/infrastructure/utils/content-security.util.ts +1 -1
  13. package/src/domains/creations/domain/constants/creation-fields.constants.ts +1 -10
  14. package/src/domains/creations/domain/constants/creation-status.constants.ts +0 -20
  15. package/src/domains/creations/domain/constants/creation-validation.constants.ts +0 -12
  16. package/src/domains/creations/domain/constants/index.ts +3 -15
  17. package/src/domains/creations/domain/entities/index.ts +1 -1
  18. package/src/domains/creations/infrastructure/repositories/creation-update.operations.ts +0 -2
  19. package/src/domains/creations/infrastructure/repositories/creations-operations.ts +1 -1
  20. package/src/domains/creations/presentation/components/CreationCard.tsx +3 -3
  21. package/src/domains/creations/presentation/components/CreationImagePreview.tsx +1 -1
  22. package/src/domains/creations/presentation/components/CreationVideoPreview.tsx +1 -1
  23. package/src/domains/creations/presentation/components/CreationsFilterBar.tsx +0 -1
  24. package/src/domains/creations/presentation/components/GalleryEmptyStates.tsx +4 -4
  25. package/src/domains/creations/presentation/components/GalleryHeader.tsx +3 -1
  26. package/src/domains/creations/presentation/components/GalleryScreenHeader.tsx +1 -1
  27. package/src/domains/creations/presentation/components/index.ts +0 -23
  28. package/src/domains/creations/presentation/hooks/creation-validators.ts +4 -4
  29. package/src/domains/creations/presentation/hooks/filterHelpers.ts +5 -5
  30. package/src/domains/creations/presentation/hooks/useFilter.ts +2 -2
  31. package/src/domains/creations/presentation/hooks/useGalleryCallbacks.ts +24 -19
  32. package/src/domains/creations/presentation/hooks/useGalleryState.ts +2 -2
  33. package/src/domains/creations/presentation/hooks/useProcessingJobsPoller.ts +24 -15
  34. package/src/domains/creations/presentation/screens/CreationsGalleryScreen.tsx +0 -1
  35. package/src/domains/creations/presentation/utils/filter-buttons.util.ts +2 -2
  36. package/src/domains/creations/presentation-exports.ts +5 -3
  37. package/src/domains/face-detection/presentation/components/FaceValidationStatus.tsx +1 -1
  38. package/src/domains/generation/infrastructure/executors/text-to-image-executor.helpers.ts +1 -1
  39. package/src/domains/generation/wizard/infrastructure/strategies/image-generation.strategy.ts +0 -2
  40. package/src/domains/generation/wizard/infrastructure/strategies/image-generation.types.ts +0 -4
  41. package/src/domains/generation/wizard/infrastructure/strategies/index.ts +0 -1
  42. package/src/domains/generation/wizard/infrastructure/strategies/shared/unified-prompt-builder.ts +1 -1
  43. package/src/domains/generation/wizard/infrastructure/strategies/video-generation.strategy.ts +0 -1
  44. package/src/domains/generation/wizard/infrastructure/strategies/video-generation.types.ts +2 -6
  45. package/src/domains/generation/wizard/infrastructure/strategies/wizard-strategy.constants.ts +0 -7
  46. package/src/domains/generation/wizard/infrastructure/strategies/wizard-strategy.factory.ts +1 -3
  47. package/src/domains/generation/wizard/infrastructure/utils/creation-persistence.util.ts +0 -5
  48. package/src/domains/generation/wizard/infrastructure/utils/index.ts +0 -3
  49. package/src/domains/generation/wizard/infrastructure/utils/primitive-extractors.ts +3 -3
  50. package/src/domains/generation/wizard/presentation/components/IndeterminateProgressBar.tsx +1 -1
  51. package/src/domains/generation/wizard/presentation/components/WizardContinueButton.tsx +1 -1
  52. package/src/domains/generation/wizard/presentation/components/WizardFlowContent.tsx +1 -1
  53. package/src/domains/generation/wizard/presentation/components/WizardStepRenderer.tsx +0 -2
  54. package/src/domains/generation/wizard/presentation/components/WizardStepRenderer.utils.ts +0 -7
  55. package/src/domains/generation/wizard/presentation/components/index.ts +0 -2
  56. package/src/domains/generation/wizard/presentation/components/step-renderers/renderPhotoUploadStep.tsx +1 -1
  57. package/src/domains/generation/wizard/presentation/components/step-renderers/renderPreviewStep.tsx +1 -1
  58. package/src/domains/generation/wizard/presentation/components/step-renderers/renderSelectionStep.tsx +1 -1
  59. package/src/domains/generation/wizard/presentation/components/step-renderers/renderTextInputStep.tsx +1 -1
  60. package/src/domains/generation/wizard/presentation/hooks/generationStateMachine.ts +2 -2
  61. package/src/domains/generation/wizard/presentation/hooks/useGenerationPhase.ts +1 -1
  62. package/src/domains/generation/wizard/presentation/hooks/usePhotoBlockingGeneration.ts +2 -2
  63. package/src/domains/generation/wizard/presentation/hooks/useWizardFlowHandlers.ts +1 -1
  64. package/src/domains/generation/wizard/presentation/screens/GeneratingScreen.tsx +1 -1
  65. package/src/domains/generation/wizard/presentation/screens/GenericPhotoUploadScreen.tsx +3 -3
  66. package/src/domains/generation/wizard/presentation/screens/SelectionScreen.tsx +0 -6
  67. package/src/domains/generation/wizard/presentation/screens/TextInputScreen.tsx +5 -3
  68. package/src/domains/generation/wizard/presentation/screens/index.ts +0 -13
  69. package/src/domains/generation/wizard/presentation/utilities/validateScenario.ts +0 -6
  70. package/src/domains/image-to-video/presentation/hooks/image-to-video-feature.types.ts +0 -8
  71. package/src/domains/image-to-video/presentation/index.ts +0 -4
  72. package/src/domains/result-preview/presentation/components/StarRatingPicker.tsx +1 -1
  73. package/src/domains/result-preview/presentation/types/result-preview.types.ts +0 -5
  74. package/src/domains/scenarios/configs/index.ts +1 -6
  75. package/src/domains/scenarios/configs/wizard-step-factories.ts +1 -1
  76. package/src/domains/scenarios/infrastructure/scenario-registry.ts +0 -9
  77. package/src/domains/scenarios/presentation/components/ScenarioContinueButton.tsx +1 -1
  78. package/src/domains/scenarios/presentation/hooks/useHierarchicalScenarios.ts +2 -2
  79. package/src/domains/scenarios/presentation/screens/HierarchicalScenarioListScreen.tsx +1 -1
  80. package/src/domains/scenarios/presentation/screens/ScenarioPreviewScreen.tsx +2 -2
  81. package/src/domains/shared/presentation/components/AutoSkipPreview.tsx +1 -1
  82. package/src/domains/shared/presentation/components/index.ts +0 -1
  83. package/src/domains/shared/presentation/utils/index.ts +0 -3
  84. package/src/domains/shared/presentation/utils/wizard-flow.utils.ts +2 -2
  85. package/src/domains/text-to-image/presentation/index.ts +0 -2
  86. package/src/domains/text-to-video/domain/types/component.types.ts +0 -6
  87. package/src/domains/text-to-video/domain/types/index.ts +0 -4
  88. package/src/domains/text-to-video/presentation/components/FrameSelector.tsx +97 -52
  89. package/src/domains/text-to-video/presentation/index.ts +0 -2
  90. package/src/infrastructure/config/index.ts +0 -2
  91. package/src/infrastructure/constants/index.ts +0 -6
  92. package/src/infrastructure/constants/polling.constants.ts +0 -21
  93. package/src/infrastructure/constants/validation.constants.ts +0 -30
  94. package/src/infrastructure/utils/error-classification.ts +1 -1
  95. package/src/infrastructure/utils/error-factory.ts +2 -2
  96. package/src/infrastructure/utils/index.ts +0 -9
  97. package/src/infrastructure/utils/message-extractor.ts +1 -20
  98. package/src/infrastructure/utils/progress.utils.ts +0 -37
  99. package/src/infrastructure/utils/provider-validator.util.ts +1 -1
  100. package/src/infrastructure/utils/url-extractor/index.ts +0 -5
  101. package/src/infrastructure/utils/url-extractor.util.ts +0 -11
  102. package/src/infrastructure/utils/video-helpers.ts +1 -1
  103. package/src/infrastructure/validation/ai-validator.ts +0 -28
  104. package/src/infrastructure/validation/entity-validator.ts +0 -34
  105. package/src/infrastructure/validation/input-validator.ts +2 -5
  106. package/src/infrastructure/validation/sanitizer.ts +0 -17
  107. package/src/presentation/components/AIGenerationConfig.tsx +3 -1
  108. package/src/presentation/components/GenerationProgressContent.styles.ts +0 -2
  109. package/src/presentation/components/PhotoUploadCard/PhotoUploadCard.tsx +0 -1
  110. package/src/presentation/components/ProgressCloseButton.tsx +1 -1
  111. package/src/presentation/components/ProgressDismissButton.tsx +1 -1
  112. package/src/presentation/components/ProgressHeader.tsx +1 -1
  113. package/src/presentation/components/ProgressHint.tsx +1 -1
  114. package/src/presentation/components/display/AIGenerationResult.tsx +6 -4
  115. package/src/presentation/components/display/index.ts +0 -1
  116. package/src/presentation/components/moderation/ModerationSummary.tsx +2 -2
  117. package/src/presentation/components/prompts/ExamplePrompts.tsx +2 -2
  118. package/src/presentation/components/result/ResultImageCard.tsx +39 -21
  119. package/src/presentation/components/result/ResultStoryCard.tsx +38 -15
  120. package/src/presentation/components/result/button-style.utils.ts +1 -1
  121. package/src/presentation/components/selectors/GridSelector.tsx +2 -2
  122. package/src/presentation/components/selectors/factories/aspect-ratio.factory.ts +0 -2
  123. package/src/presentation/components/selectors/factories/duration.factory.ts +0 -2
  124. package/src/presentation/components/selectors/factories/style.factory.ts +1 -1
  125. package/src/presentation/components/shared/ModelSelector.tsx +3 -1
  126. package/src/presentation/hooks/ai-feature-callbacks-auth.hooks.ts +2 -2
  127. package/src/presentation/hooks/ai-feature-callbacks-cost.hooks.ts +2 -2
  128. package/src/presentation/hooks/ai-feature-callbacks-execution.hooks.ts +2 -2
  129. package/src/presentation/hooks/generation/index.ts +0 -5
  130. package/src/presentation/hooks/generation/moderation-handler.ts +1 -1
  131. package/src/presentation/hooks/generation/types.ts +0 -12
  132. package/src/presentation/hooks/index.ts +0 -4
  133. package/src/presentation/hooks/useProgressDismiss.ts +1 -1
  134. package/src/presentation/layouts/types/layout-props.ts +1 -1
  135. package/src/domain/constants/index.ts +0 -2
  136. package/src/domain/entities/feature-flow-config.types.ts +0 -17
  137. package/src/domain/entities/scenario-step-config.types.ts +0 -32
  138. package/src/domain/entities/step-config.types.ts +0 -18
  139. package/src/domain/entities/step-definition.types.ts +0 -50
  140. package/src/domain/entities/step-input-config.types.ts +0 -36
  141. package/src/domain/entities/step-upload-config.types.ts +0 -17
  142. package/src/domains/background/domain/entities/index.ts +0 -1
  143. package/src/domains/background/domain/interfaces/index.ts +0 -1
  144. package/src/domains/content-moderation/infrastructure/utils/validators.util.ts +0 -51
  145. package/src/domains/creations/domain/constants/creation-errors.constants.ts +0 -27
  146. package/src/domains/creations/domain/constants/creation-query.constants.ts +0 -37
  147. package/src/domains/creations/domain/constants/creation-types.constants.ts +0 -45
  148. package/src/domains/creations/presentation/components/CreationImageViewer.tsx +0 -43
  149. package/src/domains/creations/presentation/components/CreationRating.tsx +0 -69
  150. package/src/domains/creations/presentation/components/CreationsGrid.tsx +0 -130
  151. package/src/domains/creations/presentation/components/FilterSheets.tsx +0 -63
  152. package/src/domains/creations/presentation/hooks/index.ts +0 -24
  153. package/src/domains/creations/presentation/hooks/useCreationRating.ts +0 -68
  154. package/src/domains/creations/presentation/screens/index.ts +0 -5
  155. package/src/domains/generation/infrastructure/flow/scenario-configs.ts +0 -54
  156. package/src/domains/generation/infrastructure/flow/step-builders.ts +0 -133
  157. package/src/domains/generation/wizard/infrastructure/strategies/video-generation.utils.ts +0 -42
  158. package/src/domains/generation/wizard/presentation/components/WizardHeader.tsx +0 -96
  159. package/src/domains/generation/wizard/presentation/components/step-renderers/index.ts +0 -8
  160. package/src/domains/generation/wizard/presentation/components/step-renderers/renderGeneratingStep.tsx +0 -24
  161. package/src/domains/generation/wizard/presentation/components/step-renderers/renderResultStep.tsx +0 -69
  162. package/src/domains/generation/wizard/presentation/utilities/index.ts +0 -1
  163. package/src/domains/prompts/infrastructure/services/base/index.ts +0 -6
  164. package/src/domains/prompts/infrastructure/services/base/prompt-service.base.ts +0 -112
  165. package/src/domains/result-preview/index.ts +0 -37
  166. package/src/domains/result-preview/presentation/components/GenerationErrorScreen.tsx +0 -109
  167. package/src/domains/result-preview/presentation/components/index.ts +0 -16
  168. package/src/domains/result-preview/presentation/hooks/index.ts +0 -5
  169. package/src/domains/result-preview/presentation/types/index.ts +0 -16
  170. package/src/domains/result-preview/presentation/types/result-data.types.ts +0 -35
  171. package/src/domains/text-to-image/presentation/screens/TextToImageWizardFlow.types.ts +0 -27
  172. package/src/domains/text-to-video/domain/types/action-component.types.ts +0 -15
  173. package/src/domains/text-to-video/domain/types/selector-component.types.ts +0 -31
  174. package/src/infrastructure/constants/content.constants.ts +0 -8
  175. package/src/infrastructure/constants/storage.constants.ts +0 -27
  176. package/src/infrastructure/http/api-client.types.ts +0 -17
  177. package/src/infrastructure/http/http-client-methods.ts +0 -73
  178. package/src/infrastructure/http/http-client.util.ts +0 -12
  179. package/src/infrastructure/http/http-fetch-handler.ts +0 -63
  180. package/src/infrastructure/http/http-methods.constants.ts +0 -23
  181. package/src/infrastructure/http/http-request-executor.ts +0 -49
  182. package/src/infrastructure/http/http-response-parser.ts +0 -65
  183. package/src/infrastructure/http/index.ts +0 -16
  184. package/src/infrastructure/http/query-string.util.ts +0 -40
  185. package/src/infrastructure/http/timeout.util.ts +0 -26
  186. package/src/infrastructure/logging/debug.util.ts +0 -51
  187. package/src/infrastructure/logging/index.ts +0 -6
  188. package/src/infrastructure/utils/content-validators.ts +0 -92
  189. package/src/infrastructure/utils/domain-guards.ts +0 -23
  190. package/src/infrastructure/utils/error-classifiers.ts +0 -23
  191. package/src/infrastructure/utils/error-handlers.ts +0 -53
  192. package/src/infrastructure/utils/error-retry.ts +0 -44
  193. package/src/infrastructure/utils/error-types.ts +0 -23
  194. package/src/infrastructure/utils/general-validators.ts +0 -64
  195. package/src/infrastructure/utils/id-validators.ts +0 -39
  196. package/src/infrastructure/utils/primitive-guards.ts +0 -66
  197. package/src/infrastructure/utils/structure-guards.ts +0 -75
  198. package/src/infrastructure/utils/type-guards.util.ts +0 -26
  199. package/src/infrastructure/utils/validation-types.ts +0 -8
  200. package/src/infrastructure/utils/validation.util.ts +0 -18
  201. package/src/shared/utils/index.ts +0 -6
@@ -3,7 +3,7 @@
3
3
  * Creates filter buttons for the gallery screen
4
4
  */
5
5
 
6
- export interface FilterButton {
6
+ interface FilterButton {
7
7
  readonly id: string;
8
8
  readonly label: string;
9
9
  readonly icon: string;
@@ -11,7 +11,7 @@ export interface FilterButton {
11
11
  readonly onPress: () => void;
12
12
  }
13
13
 
14
- export interface FilterButtonsConfig {
14
+ interface FilterButtonsConfig {
15
15
  readonly showStatusFilter: boolean;
16
16
  readonly showMediaFilter: boolean;
17
17
  readonly statusFilterActive: boolean;
@@ -29,9 +29,11 @@ export {
29
29
  } from "./presentation/components/CreationActions";
30
30
  export {
31
31
  CreationCard,
32
- type CreationCardData,
33
- type CreationCardCallbacks,
34
32
  } from "./presentation/components/CreationCard";
33
+ export type {
34
+ CreationCardData,
35
+ CreationCardCallbacks,
36
+ } from "./presentation/components/CreationCard.types";
35
37
  export { CreationThumbnail } from "./presentation/components/CreationThumbnail";
36
38
 
37
39
  // Filter Components
@@ -40,8 +42,8 @@ export {
40
42
  CreationsFilterBar,
41
43
  createMediaFilterButtons,
42
44
  createStatusFilterButtons,
43
- type FilterButton,
44
45
  } from "./presentation/components/CreationsFilterBar";
46
+ export type { FilterButton } from "./presentation/components/CreationsFilterBar.types";
45
47
 
46
48
  // Gallery Components
47
49
  export { CreationsHomeCard } from "./presentation/components/CreationsHomeCard";
@@ -16,7 +16,7 @@ import {
16
16
  import type { FaceValidationState } from "../../domain/entities/FaceDetection";
17
17
  import { isValidFace } from "../../infrastructure/validators/faceValidator";
18
18
 
19
- export interface FaceValidationLabels {
19
+ interface FaceValidationLabels {
20
20
  analyzing: string;
21
21
  error: string;
22
22
  success: string;
@@ -32,7 +32,7 @@ export function buildModelInput(input: TextToImageInput): Record<string, unknown
32
32
  };
33
33
  }
34
34
 
35
- export function extractImagesFromObject(obj: Record<string, unknown>): string[] {
35
+ function extractImagesFromObject(obj: Record<string, unknown>): string[] {
36
36
  if (!Array.isArray(obj.images)) {
37
37
  return [];
38
38
  }
@@ -12,8 +12,6 @@ import { extractPhotosAsBase64 } from "./shared/photo-extraction.utils";
12
12
  import { executeImageGeneration } from "./image-generation.executor";
13
13
  import type { WizardImageInput, CreateImageStrategyOptions } from "./image-generation.types";
14
14
 
15
- // Re-export types for external use
16
- export type { WizardImageInput, WizardImageResult, CreateImageStrategyOptions } from "./image-generation.types";
17
15
 
18
16
  // ============================================================================
19
17
  // Input Builder
@@ -19,10 +19,6 @@ export interface WizardImageInput {
19
19
  readonly promptType?: ScenarioPromptType;
20
20
  }
21
21
 
22
- export interface WizardImageResult {
23
- readonly imageUrl: string;
24
- }
25
-
26
22
  export interface CreateImageStrategyOptions {
27
23
  readonly scenario: WizardScenarioData;
28
24
  readonly collectionName?: string;
@@ -1,2 +1 @@
1
1
  export { createWizardStrategy, buildWizardInput } from './wizard-strategy.factory';
2
- export type { CreateWizardStrategyOptions, WizardStrategy } from './wizard-strategy.factory';
@@ -8,7 +8,7 @@
8
8
  import { createMultiPersonPrompt } from "../../../../../prompts/domain/entities/MultiPersonPromptStructure";
9
9
  import { createPhotorealisticPrompt } from "../../../../../prompts/domain/base/creators";
10
10
 
11
- export interface BuildPromptOptions {
11
+ interface BuildPromptOptions {
12
12
  /** Base scenario prompt (aiPrompt from scenario config) */
13
13
  readonly basePrompt: string;
14
14
  /** Number of photos/people in generation */
@@ -14,7 +14,6 @@ import { validatePhotoCount, validateWizardVideoInput } from "./video-generation
14
14
  import { executeVideoGeneration, submitVideoGenerationToQueue } from "./video-generation.executor";
15
15
 
16
16
 
17
- export type { WizardVideoInput, WizardVideoResult, CreateVideoStrategyOptions } from "./video-generation.types";
18
17
 
19
18
  export async function buildVideoInput(
20
19
  wizardData: Record<string, unknown>,
@@ -21,10 +21,6 @@ export interface WizardVideoInput {
21
21
  readonly resolution?: string;
22
22
  }
23
23
 
24
- export interface WizardVideoResult {
25
- readonly videoUrl: string;
26
- }
27
-
28
24
  export interface CreateVideoStrategyOptions {
29
25
  readonly scenario: WizardScenarioData;
30
26
  /** Model configuration - encapsulates all model-specific behavior */
@@ -34,7 +30,7 @@ export interface CreateVideoStrategyOptions {
34
30
  readonly creditCost: number;
35
31
  }
36
32
 
37
- export interface PhotoValidationResult {
33
+ interface PhotoValidationResult {
38
34
  isValid: boolean;
39
35
  errorKey?: string;
40
36
  }
@@ -67,7 +63,7 @@ export function validatePhotoCount(
67
63
  * Type guard for WizardVideoInput
68
64
  * Validates runtime input and provides type safety
69
65
  */
70
- export function isWizardVideoInput(input: unknown): input is WizardVideoInput {
66
+ function isWizardVideoInput(input: unknown): input is WizardVideoInput {
71
67
  if (!input || typeof input !== "object") {
72
68
  return false;
73
69
  }
@@ -3,7 +3,6 @@
3
3
  * Centralized configuration values for wizard-based generation
4
4
  */
5
5
 
6
- import type { VideoFeatureType } from "../../../../../domain/interfaces";
7
6
  import { env } from "../../../../../infrastructure/config/env.config";
8
7
 
9
8
  /** Generation timeout in milliseconds */
@@ -26,12 +25,6 @@ export const MODEL_INPUT_DEFAULTS = {
26
25
  enableSafetyChecker: false,
27
26
  } as const;
28
27
 
29
- /** Video feature type patterns for scenario detection */
30
- export const VIDEO_FEATURE_PATTERNS: Record<string, VideoFeatureType> = {
31
- "text-to-video": "text-to-video",
32
- "image-to-video": "image-to-video",
33
- };
34
-
35
28
  /** Default prompts for image processing features (no user input needed) */
36
29
  export const IMAGE_PROCESSING_PROMPTS: Record<string, string> = {
37
30
  upscale: "Enhance and upscale this image to higher resolution with improved details and clarity",
@@ -14,9 +14,7 @@ import { createVideoStrategy, buildVideoInput } from "./video-generation.strateg
14
14
  // Types
15
15
  // ============================================================================
16
16
 
17
- export type { WizardStrategy } from "./wizard-strategy.types";
18
-
19
- export interface CreateWizardStrategyOptions {
17
+ interface CreateWizardStrategyOptions {
20
18
  readonly scenario: WizardScenarioData;
21
19
  /** Model configuration - encapsulates all model-specific behavior */
22
20
  readonly modelConfig?: VideoModelConfig;
@@ -7,9 +7,4 @@
7
7
  * - Infrastructure: Save/update operations, factory
8
8
  */
9
9
 
10
- export type {
11
- CreationPersistenceConfig,
12
- ProcessingCreationData,
13
- CompletedCreationData,
14
- } from "./creation-persistence.types";
15
10
  export { createCreationPersistence, type CreationPersistence } from "./creation-persistence-factory";
@@ -1,7 +1,4 @@
1
1
  export {
2
- extractString,
3
- extractTrimmedString,
4
- extractNumber,
5
2
  extractSelection,
6
3
  } from "./primitive-extractors";
7
4
 
@@ -10,14 +10,14 @@
10
10
  /**
11
11
  * Check if value is a non-null object
12
12
  */
13
- export function isObject(value: unknown): value is Record<string, unknown> {
13
+ function isObject(value: unknown): value is Record<string, unknown> {
14
14
  return typeof value === "object" && value !== null && !Array.isArray(value);
15
15
  }
16
16
 
17
17
  /**
18
18
  * Check if object has a specific property
19
19
  */
20
- export function hasProperty<K extends string>(
20
+ function hasProperty<K extends string>(
21
21
  obj: Record<string, unknown>,
22
22
  key: K,
23
23
  ): obj is Record<K, unknown> {
@@ -34,7 +34,7 @@ export function hasProperty<K extends string>(
34
34
  * - Object with text field: { text: "my text" }
35
35
  * - Object with uri field (fallback): { uri: "my text" }
36
36
  */
37
- export function extractString(value: unknown): string | undefined {
37
+ function extractString(value: unknown): string | undefined {
38
38
  if (typeof value === "string") {
39
39
  return value;
40
40
  }
@@ -7,7 +7,7 @@
7
7
  import React, { useState, useEffect, useRef } from "react";
8
8
  import { View, StyleSheet } from "react-native";
9
9
 
10
- export interface IndeterminateProgressBarProps {
10
+ interface IndeterminateProgressBarProps {
11
11
  readonly backgroundColor: string;
12
12
  readonly fillColor: string;
13
13
  }
@@ -14,7 +14,7 @@ import {
14
14
  type IconName,
15
15
  } from "@umituz/react-native-design-system";
16
16
 
17
- export interface WizardContinueButtonProps {
17
+ interface WizardContinueButtonProps {
18
18
  readonly canContinue: boolean;
19
19
  readonly onPress: () => void;
20
20
  readonly label: string;
@@ -22,7 +22,7 @@ import { StarRatingPicker } from "../../../../result-preview/presentation/compon
22
22
  import type { CreditCalculatorFn } from "../../domain/types/credit-calculation.types";
23
23
  import type { VideoModelConfig } from "../../../../../domain/interfaces/video-model-config.types";
24
24
 
25
- export interface WizardFlowContentProps {
25
+ interface WizardFlowContentProps {
26
26
  readonly featureConfig: WizardFeatureConfig;
27
27
  readonly scenario?: WizardScenarioData;
28
28
  readonly validatedScenario: WizardScenarioData;
@@ -14,8 +14,6 @@ import { renderTextInputStep } from "./step-renderers/renderTextInputStep";
14
14
  import { renderSelectionStep } from "./step-renderers/renderSelectionStep";
15
15
  import type { WizardStepRendererProps } from "./WizardStepRenderer.types";
16
16
 
17
- export type { WizardStepRendererProps } from "./WizardStepRenderer.types";
18
-
19
17
  export const WizardStepRenderer: React.FC<WizardStepRendererProps> = ({
20
18
  step,
21
19
  scenario,
@@ -1,7 +1,6 @@
1
1
  import type {
2
2
  WizardStepConfig,
3
3
  TextInputStepConfig,
4
- PhotoUploadStepConfig,
5
4
  SelectionStepConfig,
6
5
  } from "../../domain/entities/wizard-step.types";
7
6
  import type { UploadedImage } from "../../../../../presentation/hooks/generation/useAIGenerateState";
@@ -30,12 +29,6 @@ export function getTextInputConfig(config: unknown): TextInputStepConfig | undef
30
29
  return undefined;
31
30
  }
32
31
 
33
- export function getPhotoUploadConfig(config: unknown): PhotoUploadStepConfig | undefined {
34
- if (!isRecord(config)) return undefined;
35
- if (config.type === "photo_upload") return config as unknown as PhotoUploadStepConfig;
36
- return undefined;
37
- }
38
-
39
32
  export function getUploadedImage(data: unknown): UploadedImage | undefined {
40
33
  if (isUploadedImage(data)) return data;
41
34
  return undefined;
@@ -1,4 +1,2 @@
1
1
  export { GenericWizardFlow } from "./GenericWizardFlow";
2
2
  export type { GenericWizardFlowProps } from "./GenericWizardFlow";
3
- export { WizardStepRenderer } from "./WizardStepRenderer";
4
- export type { WizardStepRendererProps } from "./WizardStepRenderer";
@@ -8,7 +8,7 @@ import { getWizardStepConfig, getUploadedImage } from "../WizardStepRenderer.uti
8
8
  import type { StepDefinition } from "../../../../../../domain/entities/flow-config.types";
9
9
  import type { UploadedImage } from "../../../../../../presentation/hooks/generation/useAIGenerateState";
10
10
 
11
- export interface PhotoUploadStepProps {
11
+ interface PhotoUploadStepProps {
12
12
  readonly key?: string;
13
13
  readonly step: StepDefinition;
14
14
  readonly customData: Record<string, unknown>;
@@ -7,7 +7,7 @@ import { ScenarioPreviewScreen } from "../../../../../scenarios/presentation/scr
7
7
  import type { ScenarioData } from "../../../../../scenarios/domain/scenario.types";
8
8
  import type { StepDefinition } from "../../../../../../domain/entities/flow-config.types";
9
9
 
10
- export interface PreviewStepProps {
10
+ interface PreviewStepProps {
11
11
  readonly step: StepDefinition;
12
12
  readonly scenario: ScenarioData | undefined;
13
13
  readonly onNext: () => void;
@@ -8,7 +8,7 @@ import { getSelectionConfig, getSelectionValue } from "../WizardStepRenderer.uti
8
8
  import type { StepDefinition } from "../../../../../../domain/entities/flow-config.types";
9
9
  import type { UploadedImage } from "../../../../../../presentation/hooks/generation/useAIGenerateState";
10
10
 
11
- export interface SelectionStepProps {
11
+ interface SelectionStepProps {
12
12
  readonly key?: string;
13
13
  readonly step: StepDefinition;
14
14
  readonly customData: Record<string, unknown>;
@@ -9,7 +9,7 @@ import type { StepDefinition } from "../../../../../../domain/entities/flow-conf
9
9
  import type { UploadedImage } from "../../../../../../presentation/hooks/generation/useAIGenerateState";
10
10
  import type { AlertMessages } from "../../../../../../presentation/hooks/generation/types";
11
11
 
12
- export interface TextInputStepProps {
12
+ interface TextInputStepProps {
13
13
  readonly key?: string;
14
14
  readonly step: StepDefinition;
15
15
  readonly customData: Record<string, unknown>;
@@ -1,6 +1,6 @@
1
- export type GenerationStatus = "IDLE" | "PREPARING" | "GENERATING" | "ERROR" | "COMPLETED";
1
+ type GenerationStatus = "IDLE" | "PREPARING" | "GENERATING" | "ERROR" | "COMPLETED";
2
2
 
3
- export interface GenerationState {
3
+ interface GenerationState {
4
4
  status: GenerationStatus;
5
5
  error?: string;
6
6
  }
@@ -8,7 +8,7 @@
8
8
 
9
9
  import { useState, useEffect, useRef } from "react";
10
10
 
11
- export type GenerationPhase = "queued" | "processing" | "finalizing";
11
+ type GenerationPhase = "queued" | "processing" | "finalizing";
12
12
 
13
13
  interface UseGenerationPhaseOptions {
14
14
  /** Time in ms before transitioning from "queued" to "processing" (default: 5000) */
@@ -14,7 +14,7 @@ import type { WizardScenarioData } from "./wizard-generation.types";
14
14
  import type { AlertMessages } from "../../../../../presentation/hooks/generation/types";
15
15
 
16
16
 
17
- export interface UsePhotoBlockingGenerationProps {
17
+ interface UsePhotoBlockingGenerationProps {
18
18
  readonly userId?: string;
19
19
  readonly scenario: WizardScenarioData;
20
20
  readonly persistence: CreationPersistence;
@@ -26,7 +26,7 @@ export interface UsePhotoBlockingGenerationProps {
26
26
  readonly onCreditsExhausted?: () => void;
27
27
  }
28
28
 
29
- export interface UsePhotoBlockingGenerationReturn {
29
+ interface UsePhotoBlockingGenerationReturn {
30
30
  readonly isGenerating: boolean;
31
31
  readonly startGeneration: (input: unknown, prompt: string) => Promise<void>;
32
32
  }
@@ -7,7 +7,7 @@ import { isCreation } from "./typeGuards";
7
7
  import { classifyError } from "../../../../../infrastructure/utils/error-classification";
8
8
  import type { GenerationErrorInfo } from "../components/WizardFlow.types";
9
9
 
10
- export interface UseWizardFlowHandlersProps {
10
+ interface UseWizardFlowHandlersProps {
11
11
  readonly currentStepIndex: number;
12
12
  readonly flowSteps: StepDefinition[];
13
13
  readonly customData: Record<string, unknown>;
@@ -11,7 +11,7 @@ import { useAppDesignTokens, AtomicText, ScreenLayout } from "@umituz/react-nati
11
11
  import { useGenerationPhase } from "../hooks/useGenerationPhase";
12
12
  import { IndeterminateProgressBar } from "../components/IndeterminateProgressBar";
13
13
 
14
- export interface GeneratingScreenProps {
14
+ interface GeneratingScreenProps {
15
15
  readonly progress: number;
16
16
  readonly scenario?: {
17
17
  readonly id: string;
@@ -22,7 +22,7 @@ import type { UploadedImage } from "../../../../../presentation/hooks/generation
22
22
  import { usePhotoUploadState, type PhotoUploadError } from "../hooks/usePhotoUploadState";
23
23
  import { WizardContinueButton } from "../components/WizardContinueButton";
24
24
 
25
- export interface PhotoUploadScreenTranslations {
25
+ interface PhotoUploadScreenTranslations {
26
26
  readonly title: string;
27
27
  readonly subtitle: string;
28
28
  readonly continue: string;
@@ -37,12 +37,12 @@ export interface PhotoUploadScreenTranslations {
37
37
  readonly aiDisclosure?: string;
38
38
  }
39
39
 
40
- export interface PhotoUploadScreenConfig {
40
+ interface PhotoUploadScreenConfig {
41
41
  readonly showPhotoTips?: boolean;
42
42
  readonly maxFileSizeMB?: number;
43
43
  }
44
44
 
45
- export interface PhotoUploadScreenProps {
45
+ interface PhotoUploadScreenProps {
46
46
  readonly translations: PhotoUploadScreenTranslations;
47
47
  readonly t: (key: string) => string;
48
48
  readonly config?: PhotoUploadScreenConfig;
@@ -16,12 +16,6 @@ import {
16
16
  import type { SelectionScreenProps, SelectionOption } from "./SelectionScreen.types";
17
17
  import { WizardContinueButton } from "../components/WizardContinueButton";
18
18
 
19
- export type {
20
- SelectionOption,
21
- SelectionScreenTranslations,
22
- SelectionScreenConfig,
23
- SelectionScreenProps,
24
- } from "./SelectionScreen.types";
25
19
 
26
20
 
27
21
  export const SelectionScreen: React.FC<SelectionScreenProps> = ({
@@ -27,11 +27,13 @@ export type {
27
27
  TextInputScreenProps,
28
28
  } from "./TextInputScreen.types";
29
29
 
30
+ const EMPTY_EXAMPLE_PROMPTS: string[] = [];
31
+
30
32
  export const TextInputScreen: React.FC<TextInputScreenProps> = ({
31
33
  stepId: _stepId,
32
34
  translations,
33
35
  config,
34
- examplePrompts = [],
36
+ examplePrompts = EMPTY_EXAMPLE_PROMPTS,
35
37
  initialValue = "",
36
38
  creditCost,
37
39
  onBack,
@@ -146,9 +148,9 @@ export const TextInputScreen: React.FC<TextInputScreenProps> = ({
146
148
  <AtomicText type="labelLarge" color="textSecondary" style={styles.examplesTitle}>
147
149
  {translations.examplesTitle}
148
150
  </AtomicText>
149
- {examplePrompts.slice(0, 4).map((example, index) => (
151
+ {examplePrompts.slice(0, 4).map((example) => (
150
152
  <AtomicButton
151
- key={`${example}-${index}`}
153
+ key={example}
152
154
  variant="outline"
153
155
  size="sm"
154
156
  onPress={() => handleExampleSelect(example)}
@@ -1,20 +1,7 @@
1
1
  export { GeneratingScreen } from "./GeneratingScreen";
2
- export { GenericPhotoUploadScreen } from "./GenericPhotoUploadScreen";
3
- export type {
4
- PhotoUploadScreenTranslations,
5
- PhotoUploadScreenConfig,
6
- PhotoUploadScreenProps,
7
- } from "./GenericPhotoUploadScreen";
8
2
  export { TextInputScreen } from "./TextInputScreen";
9
3
  export type {
10
4
  TextInputScreenTranslations,
11
5
  TextInputScreenConfig,
12
6
  TextInputScreenProps,
13
7
  } from "./TextInputScreen";
14
- export { SelectionScreen } from "./SelectionScreen";
15
- export type {
16
- SelectionOption,
17
- SelectionScreenTranslations,
18
- SelectionScreenConfig,
19
- SelectionScreenProps,
20
- } from "./SelectionScreen";
@@ -7,12 +7,6 @@
7
7
  import type { WizardScenarioData } from "../hooks/useWizardGeneration";
8
8
 
9
9
 
10
- export interface ScenarioValidationResult {
11
- isValid: boolean;
12
- error?: string;
13
- scenario?: WizardScenarioData;
14
- }
15
-
16
10
  /**
17
11
  * Validates scenario data for wizard generation
18
12
  * aiPrompt is optional - for TEXT_INPUT scenarios, prompt comes from wizard data
@@ -11,7 +11,6 @@ import type {
11
11
  ImageToVideoGenerateParams,
12
12
  } from "../../domain/types";
13
13
  export { DEFAULT_ALERT_MESSAGES } from "../../../../presentation/constants/alert-messages";
14
- export { generateCreationId } from "../../../../infrastructure/utils/id-generator.util";
15
14
 
16
15
  export const INITIAL_STATE: ImageToVideoFeatureState = {
17
16
  imageUri: null,
@@ -39,11 +38,4 @@ export interface UseImageToVideoFeatureReturn {
39
38
  canGenerate: boolean;
40
39
  }
41
40
 
42
- export interface VideoGenerationInput {
43
- imageUri: string;
44
- imageBase64: string;
45
- motionPrompt: string;
46
- options?: Omit<ImageToVideoGenerateParams, "imageUri" | "motionPrompt">;
47
- creationId: string;
48
- }
49
41
 
@@ -3,7 +3,3 @@ export * from "./hooks";
3
3
 
4
4
  // Components
5
5
  export * from "./components";
6
-
7
- // Screens
8
- export { ImageToVideoWizardFlow } from "./screens/ImageToVideoWizardFlow";
9
- export type { ImageToVideoWizardFlowProps } from "./screens/ImageToVideoWizardFlow";
@@ -12,7 +12,7 @@ import {
12
12
  useAppDesignTokens,
13
13
  } from "@umituz/react-native-design-system";
14
14
 
15
- export interface StarRatingPickerProps {
15
+ interface StarRatingPickerProps {
16
16
  visible: boolean;
17
17
  onClose: () => void;
18
18
  onRate: (rating: number, description: string) => void;
@@ -3,11 +3,6 @@
3
3
  * Reusable result preview components for AI generation
4
4
  */
5
5
 
6
- export type {
7
- ResultData,
8
- ResultActionsCallbacks,
9
- ResultDisplayState,
10
- } from "./result-data.types";
11
6
  export type {
12
7
  ResultImageCardProps,
13
8
  ResultActionBarProps,
@@ -3,11 +3,10 @@
3
3
  */
4
4
 
5
5
  export { WizardInputType } from "./wizard-input.types";
6
- export type { WizardConfigOptions, WizardConfigFactory } from "./wizard-input.types";
6
+ export type { WizardConfigOptions } from "./wizard-input.types";
7
7
 
8
8
  export { detectWizardInputType, SCENARIO_TO_WIZARD_INPUT_MAP } from "./wizard-input-detector";
9
9
 
10
- export { CONFIG_FACTORIES, getConfigFactory } from "./wizard-step-factories";
11
10
 
12
11
  export {
13
12
  getScenarioWizardConfig,
@@ -15,7 +14,3 @@ export {
15
14
  hasExplicitConfig,
16
15
  getScenarioWizardInputType,
17
16
  } from "./wizard-config-resolver";
18
-
19
- // Pre-built Wizard Configs
20
- export { TEXT_TO_VIDEO_WIZARD_CONFIG } from "../../generation/wizard/configs/text-to-video.config";
21
- export { TEXT_TO_IMAGE_WIZARD_CONFIG } from "../../generation/wizard/configs/text-to-image.config";
@@ -101,7 +101,7 @@ function createDualImageFaceConfig(scenarioId: string): WizardFeatureConfig {
101
101
  /**
102
102
  * Registry of config factories by input type
103
103
  */
104
- export const CONFIG_FACTORIES: Record<WizardInputType, WizardConfigFactory> = {
104
+ const CONFIG_FACTORIES: Record<WizardInputType, WizardConfigFactory> = {
105
105
  [WizardInputType.DUAL_IMAGE]: createDualImageConfig,
106
106
  [WizardInputType.SINGLE_IMAGE]: createSingleImageConfig,
107
107
  [WizardInputType.TEXT_INPUT]: createTextInputConfig,
@@ -89,12 +89,3 @@ export const isScenariosConfigured = (): boolean => {
89
89
  export const getAllConfiguredScenarios = (): readonly ConfiguredScenario[] => {
90
90
  return Array.from(state.scenarios.values());
91
91
  };
92
-
93
- /**
94
- * Reset registry (for testing)
95
- */
96
- export const resetScenarioRegistry = (): void => {
97
- state.scenarios.clear();
98
- state.defaultOutputType = "video";
99
- state.isConfigured = false;
100
- };
@@ -13,7 +13,7 @@ import {
13
13
  useResponsive,
14
14
  } from "@umituz/react-native-design-system";
15
15
 
16
- export interface ScenarioContinueButtonProps {
16
+ interface ScenarioContinueButtonProps {
17
17
  readonly canContinue: boolean;
18
18
  readonly onPress: () => void;
19
19
  readonly label: string;
@@ -7,13 +7,13 @@ import { useMemo, useEffect } from "react";
7
7
  import type { ScenarioData } from "../../domain/scenario.types";
8
8
  import type { SubCategory } from "../../domain/category.types";
9
9
 
10
- export interface UseHierarchicalScenariosProps {
10
+ interface UseHierarchicalScenariosProps {
11
11
  readonly subCategoryId: string;
12
12
  readonly subCategories: readonly SubCategory[];
13
13
  readonly scenarios: readonly ScenarioData[];
14
14
  }
15
15
 
16
- export interface UseHierarchicalScenariosResult {
16
+ interface UseHierarchicalScenariosResult {
17
17
  readonly subCategory: SubCategory | undefined;
18
18
  readonly filteredScenarios: readonly ScenarioData[];
19
19
  }
@@ -21,7 +21,7 @@ import type { SubCategory } from "../../domain/category.types";
21
21
  import { useHierarchicalScenarios } from "../hooks/useHierarchicalScenarios";
22
22
  import { ScenarioContinueButton } from "../components/ScenarioContinueButton";
23
23
 
24
- export interface HierarchicalScenarioListScreenProps {
24
+ interface HierarchicalScenarioListScreenProps {
25
25
  readonly subCategoryId: string;
26
26
  readonly subCategories: readonly SubCategory[];
27
27
  readonly scenarios: readonly ScenarioData[];