@umituz/react-native-ai-generation-content 1.90.22 → 1.90.24

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 (38) hide show
  1. package/package.json +2 -1
  2. package/src/domain/entities/index.ts +18 -3
  3. package/src/domain/interfaces/index.ts +12 -5
  4. package/src/domains/access-control/hooks/useAIFeatureGate.ts +2 -2
  5. package/src/domains/background/infrastructure/utils/polling-interval.util.ts +1 -1
  6. package/src/domains/background/presentation/hooks/use-background-generation.ts +1 -1
  7. package/src/domains/creations/presentation/components/CreationCard.utils.ts +1 -1
  8. package/src/domains/creations/presentation/components/CreationImagePreview.tsx +2 -18
  9. package/src/domains/creations/presentation/hooks/filterHelpers.ts +1 -1
  10. package/src/domains/creations/presentation/hooks/job-poller-utils.stale-handlers.ts +1 -1
  11. package/src/domains/creations/presentation/hooks/useProcessingJobsPoller.ts +1 -1
  12. package/src/domains/creations/presentation/screens/CreationsGalleryScreen.tsx +1 -1
  13. package/src/domains/generation/wizard/presentation/components/WizardFlowContent.tsx +2 -2
  14. package/src/domains/generation/wizard/presentation/screens/GenericPhotoUploadScreen.tsx +1 -1
  15. package/src/domains/image-to-video/domain/index.ts +2 -3
  16. package/src/domains/image-to-video/index.ts +11 -11
  17. package/src/domains/image-to-video/presentation/index.ts +4 -52
  18. package/src/domains/image-to-video/presentation/screens/index.ts +5 -0
  19. package/src/domains/text-to-image/domain/index.ts +3 -3
  20. package/src/domains/text-to-image/domain-exports.ts +4 -4
  21. package/src/domains/text-to-image/index.ts +2 -13
  22. package/src/domains/text-to-image/presentation/index.ts +3 -3
  23. package/src/domains/text-to-image/presentation/screens/index.ts +5 -0
  24. package/src/domains/text-to-image/presentation-exports.ts +4 -4
  25. package/src/domains/text-to-video/domain/index.ts +2 -3
  26. package/src/domains/text-to-video/index.ts +5 -5
  27. package/src/domains/text-to-video/presentation/index.ts +4 -30
  28. package/src/domains/text-to-video/presentation/screens/index.ts +5 -0
  29. package/src/exports/features.ts +2 -2
  30. package/src/exports/presentation.ts +2 -2
  31. package/src/index.ts +1 -1
  32. package/src/infrastructure/services/generation-orchestrator.service.ts +1 -1
  33. package/src/infrastructure/utils/photo-generation/photo-preparation.util.ts +1 -1
  34. package/src/infrastructure/validation/base-validator.ts +3 -2
  35. package/src/presentation/components/index.ts +10 -28
  36. package/src/presentation/hooks/generation/orchestrator.ts +0 -1
  37. package/src/shared/index.ts +4 -11
  38. package/src/shared-kernel/index.ts +4 -14
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umituz/react-native-ai-generation-content",
3
- "version": "1.90.22",
3
+ "version": "1.90.24",
4
4
  "description": "Provider-agnostic AI generation orchestration for React Native with result preview components",
5
5
  "main": "src/index.ts",
6
6
  "types": "src/index.ts",
@@ -69,6 +69,7 @@
69
69
  "@gorhom/bottom-sheet": "^5.2.8",
70
70
  "@react-native-async-storage/async-storage": "^2.2.0",
71
71
  "@react-native-community/slider": "^5.1.1",
72
+ "@react-navigation/bottom-tabs": "^7.15.6",
72
73
  "@tanstack/query-async-storage-persister": "^5.66.7",
73
74
  "@tanstack/react-query": "^5.66.7",
74
75
  "@tanstack/react-query-persist-client": "^5.66.7",
@@ -1,11 +1,26 @@
1
1
  /**
2
2
  * Domain Entities
3
- * Core type definitions
4
3
  */
5
4
 
6
5
  export * from "./error.types";
7
- export * from "./generation.types";
8
6
  export * from "./polling.types";
9
- export * from "../../domains/background/domain/entities/job.types";
7
+ export * from "./generation.types";
10
8
  export * from "./processing-modes.types";
9
+ export * from "./flow-configuration.types";
10
+ export * from "./flow-config-data.types";
11
+ export * from "./flow-step.types";
11
12
  export * from "./flow-config.types";
13
+ export * from "./flow-state.types";
14
+ export * from "./flow-actions.types";
15
+
16
+ // Re-export background job types
17
+ export type {
18
+ BackgroundJobStatus,
19
+ BackgroundJob,
20
+ AddJobInput,
21
+ UpdateJobInput,
22
+ JobExecutorConfig,
23
+ GenerationMode,
24
+ BackgroundQueueConfig,
25
+ } from "../../domains/background/domain/entities/job.types";
26
+ export { DEFAULT_QUEUE_CONFIG } from "../../domains/background/domain/entities/job.types";
@@ -1,13 +1,20 @@
1
1
  /**
2
2
  * Domain Interfaces
3
- * Provider-agnostic contracts
4
3
  */
5
4
 
6
5
  export * from "./ai-provider.interface";
6
+ export * from "./ai-provider-config.types";
7
+ export * from "./ai-provider-progress.types";
8
+ export * from "./ai-provider-status.types";
9
+ export * from "./video-model-config.types";
10
+ export * from "./provider-lifecycle.interface";
11
+ export * from "./provider-capabilities.interface";
12
+ export * from "./provider-executor.interface";
13
+ export * from "./provider-image-features.interface";
14
+ export * from "./provider-video-features.interface";
15
+
16
+ // App Services
7
17
  export * from "./app-services.interface";
8
18
  export * from "./app-services-auth.interface";
9
- export * from "./app-services-composite.interface";
10
19
  export * from "./app-services-optional.interface";
11
-
12
- // Video Model Configuration
13
- export type { VideoModelConfig, ModelCapabilityOption } from "./video-model-config.types";
20
+ export * from "./app-services-composite.interface";
@@ -18,7 +18,7 @@ import {
18
18
  useCredits,
19
19
  usePaywallVisibility,
20
20
  useFeatureGate,
21
- usePremiumStatus,
21
+ usePremium,
22
22
  } from "@umituz/react-native-subscription";
23
23
  import type {
24
24
  AIFeatureGateOptions,
@@ -49,7 +49,7 @@ export function useAIFeatureGate(options: AIFeatureGateOptions): AIFeatureGateRe
49
49
  const { showAuthModal } = useAuthModalStore();
50
50
  const { credits, isCreditsLoaded, isLoading: isCreditsLoading } = useCredits();
51
51
  const { openPaywall } = usePaywallVisibility();
52
- const { isPremium } = usePremiumStatus();
52
+ const { isPremium } = usePremium();
53
53
  const creditBalance = credits?.credits ?? 0;
54
54
  const hasCredits = creditBalance >= creditCost;
55
55
 
@@ -4,7 +4,7 @@
4
4
  */
5
5
 
6
6
  import type { PollingConfig } from "../../../../domain/entities/polling.types";
7
- import { calculatePollingInterval as calculateInterval } from "../../../../shared/utils/calculations";
7
+ import { calculatePollingInterval as calculateInterval } from "../../../../shared/utils/calculations/time-calculations";
8
8
 
9
9
  export interface IntervalOptions {
10
10
  attempt: number;
@@ -2,7 +2,7 @@ import { useCallback, useRef, useState, useMemo } from "react";
2
2
  import { usePendingJobs } from "./use-pending-jobs";
3
3
  import { executeDirectGeneration, executeQueuedJob } from "../../infrastructure/executors/backgroundJobExecutor";
4
4
  import { DEFAULT_QUEUE_CONFIG } from "../../domain/entities/job.types";
5
- import { calculateFilteredCount } from "../../../../shared/utils/calculations";
5
+ import { calculateFilteredCount } from "../../../../shared/utils/calculations/cost-calculations";
6
6
  import type {
7
7
  UseBackgroundGenerationOptions,
8
8
  UseBackgroundGenerationReturn,
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  import { useMemo } from "react";
6
- import { normalizeToDate } from "../../../../shared/utils/date";
6
+ import { normalizeToDate } from "../../../../shared/utils/date/normalization";
7
7
 
8
8
  /**
9
9
  * Format creation date for display
@@ -4,7 +4,7 @@
4
4
  * Uses expo-image for caching and performance
5
5
  */
6
6
 
7
- import React, { useMemo, useState, useCallback, useRef, useEffect } from "react";
7
+ import React, { useMemo, useRef, useEffect } from "react";
8
8
  import { View, StyleSheet, Animated } from "react-native";
9
9
  import { AtomicIcon, AtomicSpinner } from "@umituz/react-native-design-system/atoms";
10
10
  import { AtomicImage } from "@umituz/react-native-design-system/image";
@@ -38,8 +38,6 @@ export function CreationImagePreview({
38
38
  const tokens = useAppDesignTokens();
39
39
  const inProgress = isInProgress(status);
40
40
  const typeIcon = getTypeIcon(type);
41
- const [imageError, setImageError] = useState(false);
42
- const [isLoading, setIsLoading] = useState(true);
43
41
  const pulseAnim = useRef(new Animated.Value(0.4)).current;
44
42
 
45
43
  useEffect(() => {
@@ -54,16 +52,7 @@ export function CreationImagePreview({
54
52
  return () => animation.stop();
55
53
  }, [inProgress, pulseAnim]);
56
54
 
57
- const hasPreview = !!uri && !inProgress && !imageError;
58
-
59
- const handleImageError = useCallback(() => {
60
- setImageError(true);
61
- setIsLoading(false);
62
- }, []);
63
-
64
- const handleLoadEnd = useCallback(() => {
65
- setIsLoading(false);
66
- }, []);
55
+ const hasPreview = !!uri && !inProgress;
67
56
 
68
57
  const styles = useMemo(
69
58
  () =>
@@ -127,11 +116,6 @@ export function CreationImagePreview({
127
116
  contentFit="cover"
128
117
  cachePolicy="disk"
129
118
  />
130
- {isLoading && (
131
- <View style={styles.loadingOverlay}>
132
- <AtomicSpinner size="md" color="primary" />
133
- </View>
134
- )}
135
119
  </View>
136
120
  );
137
121
  }
@@ -7,7 +7,7 @@ import type { CreationFilter } from "../../domain/types";
7
7
  import { isTypeInCategory } from "../../domain/types";
8
8
  import type { CreationCategory, CreationTypeId } from "../../domain/types";
9
9
  import type { FilterableCreation } from "./advancedFilter.types";
10
- import { normalizeDateToTimestamp, compareDates } from "../../../../shared/utils/date";
10
+ import { normalizeDateToTimestamp, compareDates } from "../../../../shared/utils/date/normalization";
11
11
 
12
12
  function filterByType<T extends FilterableCreation>(
13
13
  creations: T[],
@@ -7,7 +7,7 @@ import type { Creation } from "../../domain/entities/Creation";
7
7
  import type { ICreationsRepository } from "../../domain/repositories/ICreationsRepository";
8
8
  import { CREATION_STATUS } from "../../../../domain/constants/queue-status.constants";
9
9
  import { DEFAULT_MAX_POLL_TIME_MS } from "../../../../infrastructure/constants/polling.constants";
10
- import { isOlderThan, calculateAgeMs } from "../../../../shared/utils/calculations";
10
+ import { isOlderThan, calculateAgeMs } from "../../../../shared/utils/calculations/time-calculations";
11
11
 
12
12
  /**
13
13
  * Check if job is stale (older than max poll time)
@@ -31,7 +31,7 @@ export function useProcessingJobsPoller(
31
31
  const timer = setInterval(() => {
32
32
  // Stub: Polling logic to be implemented when job status API is available
33
33
  const processingCreations = creations.filter(c => c.status === 'processing');
34
- processingCreations.forEach(async (creation) => {
34
+ processingCreations.forEach(async (_creation) => {
35
35
  try {
36
36
  // Check job status and update creation
37
37
  // Note: Actual polling implementation requires job status API
@@ -14,7 +14,7 @@ import { GalleryResultPreview } from "../components/GalleryResultPreview";
14
14
  import { GalleryScreenHeader } from "../components/GalleryScreenHeader";
15
15
  import { MEDIA_FILTER_OPTIONS, STATUS_FILTER_OPTIONS } from "../../domain/types/creation-filter";
16
16
  import { createFilterButtons, createItemTitle } from "../utils/filter-buttons.util";
17
- import { calculatePaginationSlice, calculateHasMore } from "../../../../shared/utils/calculations";
17
+ import { calculatePaginationSlice, calculateHasMore } from "../../../../shared/utils/calculations/cost-calculations";
18
18
  import type { Creation } from "../../domain/entities/Creation";
19
19
  import type { CreationsGalleryScreenProps } from "./creations-gallery.types";
20
20
  import { creationsGalleryStyles as styles } from "./creations-gallery.styles";
@@ -12,8 +12,8 @@ import type { WizardFeatureConfig } from "../../domain/entities/wizard-feature.t
12
12
  import { buildFlowStepsFromWizard } from "../../infrastructure/builders/dynamic-step-builder";
13
13
  import { useWizardGeneration, type WizardScenarioData } from "../hooks/useWizardGeneration";
14
14
  import type { AlertMessages } from "../../../../../presentation/hooks/generation/types";
15
- import type { Creation } from "../../../../creations/domain/entities/Creation";
16
- import { createCreationsRepository } from "../../../../creations";
15
+ import type { Creation } from "../../../../creations/domain/entities/index";
16
+ import { createCreationsRepository } from "../../../../creations/index";
17
17
  import { useResultActions } from "../../../../result-preview/presentation/hooks/useResultActions";
18
18
  import { useWizardFlowHandlers } from "../hooks/useWizardFlowHandlers";
19
19
  import { extractDuration, extractResolution, getConfigDefaultDuration, getConfigDefaultResolution } from "../../infrastructure/utils/credit-value-extractors";
@@ -10,7 +10,7 @@ import { ScreenLayout } from "@umituz/react-native-design-system/layouts";
10
10
  import { useAlert, AlertType, AlertMode, NavigationHeader, InfoGrid } from "@umituz/react-native-design-system/molecules";
11
11
  import type { InfoGridItem } from "@umituz/react-native-design-system/molecules";
12
12
  import { useAppDesignTokens, type DesignTokens } from "@umituz/react-native-design-system/theme";
13
- import { PhotoUploadCard } from "../../../../../presentation/components";
13
+ import { PhotoUploadCard } from "../../../../../presentation/components/index";
14
14
  import type { UploadedImage } from "../../../../../presentation/hooks/generation/useAIGenerateState";
15
15
  import { usePhotoUploadState, type PhotoUploadError } from "../hooks/usePhotoUploadState";
16
16
  import { WizardContinueButton } from "../components/WizardContinueButton";
@@ -1,6 +1,5 @@
1
1
  /**
2
- * Image-to-Video Domain Types
3
- * Exports all domain types and constants
2
+ * Image to Video Domain
4
3
  */
5
4
 
6
- export * from './types';
5
+ export * from "./types";
@@ -8,24 +8,24 @@
8
8
  // =============================================================================
9
9
 
10
10
  // Animation Types
11
- export type { AnimationStyle, AnimationStyleId } from "./domain";
11
+ export type { AnimationStyle, AnimationStyleId } from "./domain/index";
12
12
 
13
13
  // Duration Types
14
- export type { VideoDuration, DurationOption } from "./domain";
14
+ export type { VideoDuration, DurationOption } from "./domain/index";
15
15
 
16
16
  // Form Types
17
17
  export type {
18
18
  ImageToVideoFormState,
19
19
  ImageToVideoFormActions,
20
20
  ImageToVideoFormDefaults,
21
- } from "./domain";
21
+ } from "./domain/index";
22
22
 
23
23
  // Config Types
24
24
  export type {
25
25
  ImageToVideoCallbacks,
26
26
  ImageToVideoFormConfig,
27
27
  ImageToVideoTranslationsExtended,
28
- } from "./domain";
28
+ } from "./domain/index";
29
29
 
30
30
  // Core Feature Types
31
31
  export type {
@@ -42,7 +42,7 @@ export type {
42
42
  ImageToVideoGenerationStartData,
43
43
  ImageToVideoCreationData,
44
44
  ImageToVideoFeatureConfig,
45
- } from "./domain";
45
+ } from "./domain/index";
46
46
 
47
47
  // =============================================================================
48
48
  // INFRASTRUCTURE LAYER
@@ -59,7 +59,7 @@ export {
59
59
  useImageToVideoFormState,
60
60
  useImageToVideoGeneration,
61
61
  useImageToVideoForm,
62
- } from "./presentation";
62
+ } from "./presentation/index";
63
63
  export type {
64
64
  UseImageToVideoFormStateOptions,
65
65
  UseImageToVideoFormStateReturn,
@@ -67,14 +67,14 @@ export type {
67
67
  UseImageToVideoGenerationReturn,
68
68
  UseImageToVideoFormOptions,
69
69
  UseImageToVideoFormReturn,
70
- } from "./presentation";
70
+ } from "./presentation/index";
71
71
 
72
72
  // Provider-based Feature Hook
73
- export { useImageToVideoFeature } from "./presentation";
73
+ export { useImageToVideoFeature } from "./presentation/index";
74
74
  export type {
75
75
  UseImageToVideoFeatureProps,
76
76
  UseImageToVideoFeatureReturn,
77
- } from "./presentation";
77
+ } from "./presentation/index";
78
78
 
79
79
  // =============================================================================
80
80
  // PRESENTATION LAYER - Components
@@ -85,7 +85,7 @@ export {
85
85
  ImageToVideoDurationSelector,
86
86
  ImageToVideoSelectionGrid,
87
87
  ImageToVideoGenerateButton,
88
- } from "./presentation";
88
+ } from "./presentation/index";
89
89
 
90
90
  export type {
91
91
  ImageToVideoAnimationStyleSelectorProps,
@@ -93,4 +93,4 @@ export type {
93
93
  ImageToVideoSelectionGridProps,
94
94
  ImageToVideoSelectionGridTranslations,
95
95
  ImageToVideoGenerateButtonProps,
96
- } from "./presentation";
96
+ } from "./presentation/index";
@@ -1,55 +1,7 @@
1
1
  /**
2
- * Image-to-Video Presentation Index
3
- * Exports all presentation layer items (hooks and components)
2
+ * Image to Video Presentation
4
3
  */
5
4
 
6
- // =============================================================================
7
- // HOOKS
8
- // =============================================================================
9
-
10
- // Form State Hook
11
- export { useImageToVideoFormState } from "./hooks";
12
- export type {
13
- UseImageToVideoFormStateOptions,
14
- UseImageToVideoFormStateReturn,
15
- } from "./hooks";
16
-
17
- // Generation Hook
18
- export { useImageToVideoGeneration } from "./hooks";
19
- export type {
20
- UseImageToVideoGenerationOptions,
21
- UseImageToVideoGenerationReturn,
22
- } from "./hooks";
23
-
24
- // Combined Form Hook
25
- export { useImageToVideoForm } from "./hooks";
26
- export type {
27
- UseImageToVideoFormOptions,
28
- UseImageToVideoFormReturn,
29
- } from "./hooks";
30
-
31
- // Provider-based Feature Hook
32
- export { useImageToVideoFeature } from "./hooks";
33
- export type {
34
- UseImageToVideoFeatureProps,
35
- UseImageToVideoFeatureReturn,
36
- } from "./hooks";
37
-
38
- // =============================================================================
39
- // COMPONENTS
40
- // =============================================================================
41
-
42
- export {
43
- ImageToVideoAnimationStyleSelector,
44
- ImageToVideoDurationSelector,
45
- ImageToVideoSelectionGrid,
46
- ImageToVideoGenerateButton,
47
- } from "./components";
48
-
49
- export type {
50
- ImageToVideoAnimationStyleSelectorProps,
51
- ImageToVideoDurationSelectorProps,
52
- ImageToVideoSelectionGridProps,
53
- ImageToVideoSelectionGridTranslations,
54
- ImageToVideoGenerateButtonProps,
55
- } from "./components";
5
+ export * from "./components";
6
+ export * from "./hooks";
7
+ export * from "./screens";
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Image to Video Screens
3
+ */
4
+
5
+ export * from "./ImageToVideoWizardFlow";
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Text-to-Image Domain Layer
3
- * Types and constants exports
2
+ * Text to Image Domain
4
3
  */
5
4
 
6
- export * from "./types";
7
5
  export * from "./constants";
6
+ export * from "./types";
7
+ export * from "./utils";
@@ -12,7 +12,7 @@ export type {
12
12
  TextToImageFormState,
13
13
  TextToImageFormActions,
14
14
  TextToImageFormDefaults,
15
- } from "./domain";
15
+ } from "./domain/index";
16
16
 
17
17
  // Config Types
18
18
  export type {
@@ -23,7 +23,7 @@ export type {
23
23
  TextToImageCallbacks,
24
24
  TextToImageFormConfig,
25
25
  TextToImageTranslations,
26
- } from "./domain";
26
+ } from "./domain/index";
27
27
 
28
28
  // Provider Types
29
29
  export type {
@@ -34,7 +34,7 @@ export type {
34
34
  TextToImageInputBuilder,
35
35
  TextToImageResultExtractor,
36
36
  TextToImageFeatureConfig,
37
- } from "./domain";
37
+ } from "./domain/index";
38
38
 
39
39
  // Constants
40
40
  export {
@@ -47,4 +47,4 @@ export {
47
47
  DEFAULT_TEXT_TO_IMAGE_PROMPTS,
48
48
  DEFAULT_TEXT_TO_VOICE_PROMPTS,
49
49
  type PromptSuggestion,
50
- } from "./domain";
50
+ } from "./domain/index";
@@ -1,18 +1,7 @@
1
1
  /**
2
- * Text-to-Image Feature
3
- * Provider-agnostic text-to-image generation feature
4
- *
5
- * Architecture:
6
- * - Domain: Types, constants
7
- * - Infrastructure: Execution logic, provider support
8
- * - Presentation: Hooks, components
2
+ * Text to Image Feature
9
3
  */
10
4
 
11
- // Domain Layer
12
- export * from "./domain-exports";
13
-
14
- // Infrastructure Layer
5
+ export * from "./domain";
15
6
  export * from "./infrastructure-exports";
16
-
17
- // Presentation Layer
18
7
  export * from "./presentation-exports";
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Text-to-Image Presentation Layer
3
- * Hooks, components, and screens exports
2
+ * Text to Image Presentation
4
3
  */
5
4
 
6
- export * from "./hooks";
7
5
  export * from "./components";
6
+ export * from "./hooks";
7
+ export * from "./screens";
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Text to Image Screens
3
+ */
4
+
5
+ export * from "./TextToImageWizardFlow";
@@ -7,7 +7,7 @@ export {
7
7
  useFormState,
8
8
  useGeneration,
9
9
  useTextToImageForm,
10
- } from "./presentation";
10
+ } from "./presentation/index";
11
11
  export type {
12
12
  UseFormStateOptions,
13
13
  UseFormStateReturn,
@@ -16,7 +16,7 @@ export type {
16
16
  UseGenerationReturn,
17
17
  UseTextToImageFormOptions,
18
18
  UseTextToImageFormReturn,
19
- } from "./presentation";
19
+ } from "./presentation/index";
20
20
 
21
21
  // Components
22
22
  export {
@@ -29,7 +29,7 @@ export {
29
29
  TextToImageOutputFormatSelector,
30
30
  TextToImageGenerateButton,
31
31
  TextToImageSettingsSheet,
32
- } from "./presentation";
32
+ } from "./presentation/index";
33
33
 
34
34
  export type {
35
35
  TextToImagePromptInputProps,
@@ -38,4 +38,4 @@ export type {
38
38
  TextToImageAspectRatioSelectorProps,
39
39
  TextToImageGenerateButtonProps,
40
40
  TextToImageSettingsSheetProps,
41
- } from "./presentation";
41
+ } from "./presentation/index";
@@ -1,6 +1,5 @@
1
1
  /**
2
- * Text-to-Video Domain Types
3
- * Exports all domain types and constants
2
+ * Text to Video Domain
4
3
  */
5
4
 
6
- export * from './types';
5
+ export * from "./types";
@@ -36,9 +36,9 @@ export type {
36
36
  HintItem,
37
37
  ExamplePromptsProps,
38
38
  ExamplePrompt,
39
- } from "./domain";
39
+ } from "./domain/index";
40
40
 
41
- export { INITIAL_FORM_STATE, INITIAL_GENERATION_STATE } from "./domain";
41
+ export { INITIAL_FORM_STATE, INITIAL_GENERATION_STATE } from "./domain/index";
42
42
 
43
43
  // Infrastructure Services
44
44
  export { executeTextToVideo, hasTextToVideoSupport } from "./infrastructure/services";
@@ -48,7 +48,7 @@ export type { ExecuteTextToVideoOptions } from "./infrastructure/services";
48
48
  export {
49
49
  useTextToVideoFeature,
50
50
  useTextToVideoForm,
51
- } from "./presentation";
51
+ } from "./presentation/index";
52
52
 
53
53
  export type {
54
54
  UseTextToVideoFeatureProps,
@@ -56,7 +56,7 @@ export type {
56
56
  TextToVideoGenerateParams,
57
57
  UseTextToVideoFormProps,
58
58
  UseTextToVideoFormReturn,
59
- } from "./presentation";
59
+ } from "./presentation/index";
60
60
 
61
61
  // Presentation Components
62
62
  export {
@@ -65,4 +65,4 @@ export {
65
65
  OptionsPanel,
66
66
  HeroSection,
67
67
  HintCarousel,
68
- } from "./presentation";
68
+ } from "./presentation/index";
@@ -1,33 +1,7 @@
1
1
  /**
2
- * Text-to-Video Presentation Index
3
- * Exports all presentation layer items (hooks and components)
2
+ * Text to Video Presentation
4
3
  */
5
4
 
6
- // =============================================================================
7
- // HOOKS
8
- // =============================================================================
9
-
10
- export { useTextToVideoFeature } from "./hooks";
11
- export type {
12
- UseTextToVideoFeatureProps,
13
- UseTextToVideoFeatureReturn,
14
- TextToVideoGenerateParams,
15
- } from "./hooks";
16
-
17
- export { useTextToVideoForm } from "./hooks";
18
- export type {
19
- UseTextToVideoFormProps,
20
- UseTextToVideoFormReturn,
21
- } from "./hooks";
22
-
23
- // =============================================================================
24
- // COMPONENTS
25
- // =============================================================================
26
-
27
- export {
28
- GenerationTabs,
29
- FrameSelector,
30
- OptionsPanel,
31
- HeroSection,
32
- HintCarousel,
33
- } from "./components";
5
+ export * from "./components";
6
+ export * from "./hooks";
7
+ export * from "./screens";
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Text to Video Screens
3
+ */
4
+
5
+ export * from "./TextToVideoWizardFlow";
@@ -18,7 +18,7 @@ export type {
18
18
  UseTextToImageFormOptions, UseTextToImageFormReturn,
19
19
  TextToImagePromptInputProps, TextToImageExamplePromptsProps, TextToImageStyleSelectorProps,
20
20
  TextToImageAspectRatioSelectorProps, TextToImageGenerateButtonProps, TextToImageSettingsSheetProps,
21
- } from "../domains/text-to-image";
21
+ } from "../domains/text-to-image/index";
22
22
  export {
23
23
  DEFAULT_IMAGE_STYLES, DEFAULT_NUM_IMAGES_OPTIONS, ASPECT_RATIO_VALUES, IMAGE_SIZE_VALUES,
24
24
  OUTPUT_FORMAT_VALUES, DEFAULT_FORM_VALUES, DEFAULT_TEXT_TO_IMAGE_PROMPTS, DEFAULT_TEXT_TO_VOICE_PROMPTS,
@@ -29,7 +29,7 @@ export {
29
29
  TextToImagePromptInput, TextToImageExamplePrompts, TextToImageNumImagesSelector,
30
30
  TextToImageStyleSelector, TextToImageAspectRatioSelector, TextToImageSizeSelector,
31
31
  TextToImageOutputFormatSelector, TextToImageGenerateButton, TextToImageSettingsSheet,
32
- } from "../domains/text-to-image";
32
+ } from "../domains/text-to-image/index";
33
33
 
34
34
  // Text-to-Video Feature
35
35
  export type {
@@ -41,7 +41,7 @@ export {
41
41
  AIGenerationConfig, ModelSelector, SuccessRedirectionCard,
42
42
  createAspectRatioOptions, createDurationOptions, createStyleOptions, createStyleOptionsFromConfig,
43
43
  ASPECT_RATIO_IDS, COMMON_DURATIONS,
44
- } from "../presentation/components";
44
+ } from "../presentation/components/index";
45
45
  export type {
46
46
  GenerationProgressContentProps, PendingJobCardProps, StatusLabels,
47
47
  PendingJobCardActionsProps, GenerationResultData, GenerationResultContentProps,
@@ -56,7 +56,7 @@ export type {
56
56
  StyleOption, AspectRatioOption, DurationValue, AspectRatioTranslations, DurationOption,
57
57
  StyleTranslations, AIGenerationFormProps, AIGenerationFormTranslations,
58
58
  AIGenerationConfigProps, ModelOption, ModelSelectorProps, SuccessRedirectionCardProps,
59
- } from "../presentation/components";
59
+ } from "../presentation/components/index";
60
60
 
61
61
  // Layouts
62
62
  export {
package/src/index.ts CHANGED
@@ -12,7 +12,7 @@ export * from "./exports/features";
12
12
  export * from "./shared";
13
13
 
14
14
  // Creations Domain
15
- export * from "./domains/creations";
15
+ export * from "./domains/creations/index";
16
16
 
17
17
  // Scenarios Domain
18
18
  export * from "./domains/scenarios";
@@ -12,7 +12,7 @@ import type {
12
12
  import { classifyError } from "../utils/error-classification";
13
13
  import { pollJob } from "../../domains/background/infrastructure/services/job-poller-index";
14
14
  import { ProviderValidator } from "./provider-validator";
15
- import { calculateDurationMs } from "../../shared/utils/calculations";
15
+ import { calculateDurationMs } from "../../shared/utils/calculations/time-calculations";
16
16
 
17
17
 
18
18
  export interface OrchestratorConfig {
@@ -7,7 +7,7 @@
7
7
  import {
8
8
  calculateBase64Size,
9
9
  calculateBase64SizeMB,
10
- } from "../../../shared/utils/calculations";
10
+ } from "../../../shared/utils/calculations/cost-calculations";
11
11
 
12
12
  export interface PhotoInput {
13
13
  base64: string;
@@ -3,11 +3,12 @@
3
3
  * Core validation functions for strings, numbers, URLs, emails, and base64
4
4
  */
5
5
 
6
- import type { ValidationResult, StringValidationOptions, NumberValidationOptions } from "../../shared-kernel/infrastructure/validation";
6
+ import type { ValidationResult } from "../../shared-kernel/infrastructure/validation";
7
7
  import { validateString, validateNumber } from "../../shared-kernel/infrastructure/validation";
8
8
 
9
9
  // Re-export types for convenience
10
- export type { ValidationResult, StringValidationOptions, NumberValidationOptions } from "../../shared-kernel/infrastructure/validation";
10
+ export type { ValidationResult } from "../../shared-kernel/infrastructure/validation";
11
+ export type { StringValidationOptions, NumberValidationOptions } from "../../shared-kernel/infrastructure/validation";
11
12
 
12
13
  // Re-export validation functions for convenience
13
14
  export { validateString, validateNumber };
@@ -1,34 +1,16 @@
1
- export { GenerationProgressContent } from "./GenerationProgressContent";
2
- export { PendingJobCard } from "./PendingJobCard";
3
- export { PendingJobCardActions } from "./PendingJobCardActions";
4
- export { PromptInput } from "./PromptInput";
5
- export { AIGenerationHero } from "./AIGenerationHero";
1
+ /**
2
+ * Presentation Components
3
+ * Main UI components for AI generation
4
+ */
6
5
 
7
- export * from "./StylePresetsGrid";
8
6
  export * from "./AIGenerationForm";
9
- export * from "./AIGenerationForm.types";
10
- export * from "./AIGenerationConfig";
11
-
12
- export type { GenerationProgressContentProps } from "./GenerationProgressContent";
13
-
14
- export type {
15
- PendingJobCardProps,
16
- StatusLabels,
17
- } from "./PendingJobCard";
18
-
19
- export type { PendingJobCardActionsProps } from "./PendingJobCardActions";
20
- export type { PromptInputProps } from "./PromptInput";
21
- export type { AIGenerationHeroProps } from "./AIGenerationHero";
22
-
23
- export * from "./result";
24
- export * from "./photo-step";
25
- export * from "./modals/SettingsSheet";
26
- export * from "./selectors";
27
- export * from "./image-picker";
28
7
  export * from "./buttons";
29
8
  export * from "./display";
30
9
  export * from "./headers";
10
+ export * from "./image-picker";
11
+ export * from "./modals";
31
12
  export * from "./PhotoUploadCard";
32
- export * from "./prompts/ExamplePrompts";
33
- export * from "./moderation/ModerationSummary";
34
- export * from "./shared/ModelSelector";
13
+ export * from "./prompts";
14
+ export * from "./selectors";
15
+ export * from "./shared";
16
+ export * from "./result";
@@ -6,7 +6,6 @@
6
6
  import { useCallback, useState, useRef } from "react";
7
7
  import type {
8
8
  GenerationStatus,
9
- GenerationState,
10
9
  GenerationError,
11
10
  GenerationStrategy,
12
11
  GenerationConfig,
@@ -1,16 +1,9 @@
1
1
  /**
2
- * Shared Utilities, Components, and Hooks
3
- * Centralized exports for all shared code
2
+ * Shared Utilities and Components
4
3
  */
5
4
 
6
- // Components
7
- export * from "./components";
8
-
9
- // Hooks
10
- export * from "./hooks";
11
-
12
- // Utils
13
5
  export * from "./utils/date";
14
- export * from "./utils/filters";
15
- export * from "./utils/debounce.util";
16
6
  export * from "./utils/calculations";
7
+ export * from "./utils/filters";
8
+ export * from "./hooks";
9
+ export * from "./components";
@@ -1,17 +1,7 @@
1
1
  /**
2
- * Shared Kernel Module
3
- * Provides base types, utilities, and patterns for all domains
4
- * Following DDD principles with clean architecture
2
+ * Shared Kernel
5
3
  */
6
4
 
7
- // Base types
8
- export * from './base-types';
9
-
10
- // Application services
11
- export * from './application/hooks';
12
-
13
- // Domain layer
14
- export * from './domain';
15
-
16
- // Infrastructure utilities
17
- export * from './infrastructure/validation';
5
+ export * from "./infrastructure/validation";
6
+ export * from "./domain/base-generation-strategy";
7
+ export * from "./application/hooks/use-generation-handler";