@umituz/web-ai 0.0.0-stage → 1.0.0

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 (65) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +98 -2
  3. package/dist/ABTesting-DDqNhHtP.d.ts +184 -0
  4. package/dist/ABTesting-DWBtKTMQ.d.cts +184 -0
  5. package/dist/ContentGeneration-B6iK2B33.d.cts +93 -0
  6. package/dist/ContentGeneration-B6iK2B33.d.ts +93 -0
  7. package/dist/ProviderConfig-a55tLhWT.d.cts +99 -0
  8. package/dist/ProviderConfig-a55tLhWT.d.ts +99 -0
  9. package/dist/cache-manager-Df9LLYGA.d.cts +31 -0
  10. package/dist/cache-manager-Df9LLYGA.d.ts +31 -0
  11. package/dist/chat/index.cjs +534 -0
  12. package/dist/chat/index.cjs.map +1 -0
  13. package/dist/chat/index.d.cts +25 -0
  14. package/dist/chat/index.d.ts +25 -0
  15. package/dist/chat/index.js +527 -0
  16. package/dist/chat/index.js.map +1 -0
  17. package/dist/chat.service-DBKq9I2c.d.cts +124 -0
  18. package/dist/chat.service-RQn8UTXD.d.ts +124 -0
  19. package/dist/content/index.cjs +3769 -0
  20. package/dist/content/index.cjs.map +1 -0
  21. package/dist/content/index.d.cts +225 -0
  22. package/dist/content/index.d.ts +225 -0
  23. package/dist/content/index.js +3738 -0
  24. package/dist/content/index.js.map +1 -0
  25. package/dist/core/index.cjs +1040 -0
  26. package/dist/core/index.cjs.map +1 -0
  27. package/dist/core/index.d.cts +232 -0
  28. package/dist/core/index.d.ts +232 -0
  29. package/dist/core/index.js +969 -0
  30. package/dist/core/index.js.map +1 -0
  31. package/dist/create-ai-BhNaz86i.d.ts +268 -0
  32. package/dist/create-ai-DGZFBOA1.d.cts +268 -0
  33. package/dist/hooks/index.cjs +5056 -0
  34. package/dist/hooks/index.cjs.map +1 -0
  35. package/dist/hooks/index.d.cts +210 -0
  36. package/dist/hooks/index.d.ts +210 -0
  37. package/dist/hooks/index.js +5045 -0
  38. package/dist/hooks/index.js.map +1 -0
  39. package/dist/index-DjX9ZKuM.d.cts +14 -0
  40. package/dist/index-DxLvE588.d.ts +14 -0
  41. package/dist/index-fXjxTR5W.d.cts +66 -0
  42. package/dist/index-fXjxTR5W.d.ts +66 -0
  43. package/dist/index.cjs +3158 -0
  44. package/dist/index.cjs.map +1 -0
  45. package/dist/index.d.cts +11 -0
  46. package/dist/index.d.ts +11 -0
  47. package/dist/index.js +3048 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/provider.factory-COsnprLH.d.cts +110 -0
  50. package/dist/provider.factory-CpWFyjbw.d.ts +110 -0
  51. package/dist/providers/index.cjs +2410 -0
  52. package/dist/providers/index.cjs.map +1 -0
  53. package/dist/providers/index.d.cts +333 -0
  54. package/dist/providers/index.d.ts +333 -0
  55. package/dist/providers/index.js +2376 -0
  56. package/dist/providers/index.js.map +1 -0
  57. package/dist/request-deduplicator.util-NDo0_n1y.d.cts +50 -0
  58. package/dist/request-deduplicator.util-NDo0_n1y.d.ts +50 -0
  59. package/dist/wizard/index.cjs +230 -0
  60. package/dist/wizard/index.cjs.map +1 -0
  61. package/dist/wizard/index.d.cts +86 -0
  62. package/dist/wizard/index.d.ts +86 -0
  63. package/dist/wizard/index.js +223 -0
  64. package/dist/wizard/index.js.map +1 -0
  65. package/package.json +111 -4
@@ -0,0 +1,225 @@
1
+ import { B as BlogGenerationRequest, G as GeneratedBlog, b as SocialContentRequest, c as GeneratedSocialContent, V as VideoScriptRequest, d as GeneratedVideoScript, a as ContentTone, e as ContentCalendarEntry, f as SocialPlatform, E as Emotion } from '../ContentGeneration-B6iK2B33.cjs';
2
+ export { g as BlogType, C as ContentType, P as PLATFORM_SPECS, h as PlatformSpecs, S as Sentiment } from '../ContentGeneration-B6iK2B33.cjs';
3
+ import { d as ProviderConfig, I as ImageGenerationRequest, G as GeneratedContent, V as VideoGenerationRequest, a as ImageToVideoRequest, b as VideoToVideoRequest } from '../ProviderConfig-a55tLhWT.cjs';
4
+ export { B as BaseProviderConfig, F as FalConfig, c as GeminiConfig, e as GenerationRequest, f as GroqConfig, g as ProviderHealth, h as ProviderType, P as PrunaConfig, T as TextGenerationRequest } from '../ProviderConfig-a55tLhWT.cjs';
5
+ import { i as GenerationType, j as ImageQuality, k as VideoQuality, l as AspectRatio, S as SentimentAnalysisResult, C as ContentAnalysisRequest, a as ContentAnalysisResult, b as SEOOptimizationRequest, c as SEOOptimizationResult, d as SEOScoreBreakdown, K as KeywordAnalysis, A as ABTestRequest, e as ABTestPrediction, f as ABTestComparison } from '../ABTesting-DWBtKTMQ.cjs';
6
+ export { m as ABTestVariant, n as ASPECT_RATIO_OPTIONS, G as ContentGenerationResult, o as CreditCost, p as GenerationMetadata, g as GenerationProgress, h as GenerationStatus, q as IMAGE_QUALITY_OPTIONS, I as ImageGenerationInput, M as MOTION_OPTIONS, r as STYLE_PRESETS, s as VIDEO_DURATION_OPTIONS_SECONDS, t as VIDEO_QUALITY_OPTIONS, V as VideoGenerationInput } from '../ABTesting-DWBtKTMQ.cjs';
7
+ import { f as ITextGenerator, c as ProviderFactory, T as TextGenerationOptions } from '../provider.factory-COsnprLH.cjs';
8
+ import { A as AIProviderConfig } from '../create-ai-DGZFBOA1.cjs';
9
+ export { q as AIError, p as AIErrorCode, P as ProviderQuotaExhaustedError, r as ProviderUnavailableError, V as ValidationError } from '../create-ai-DGZFBOA1.cjs';
10
+ import { T as TextRequest, G as GenerationResult } from '../index-fXjxTR5W.cjs';
11
+ import '../index-DjX9ZKuM.cjs';
12
+
13
+ type QualityTier = 'standard' | 'hd' | '4k';
14
+ declare const CREDIT_COSTS: Readonly<Record<GenerationType, Readonly<Record<QualityTier, number>>>>;
15
+ type AnyQuality = QualityTier | ImageQuality | VideoQuality;
16
+ declare function calculateContentCreditCost(type: GenerationType, quality?: AnyQuality): number;
17
+
18
+ declare function resolveDimensionsForAspectRatio(ratio: AspectRatio): {
19
+ width: number;
20
+ height: number;
21
+ };
22
+
23
+ declare function recommendQualityForAspectRatio(ratio: AspectRatio): ImageQuality | VideoQuality;
24
+
25
+ declare const ASPECT_RATIO_VALUES: AspectRatio[];
26
+ declare const IMAGE_QUALITY_VALUES: ImageQuality[];
27
+ declare const VIDEO_QUALITY_VALUES: VideoQuality[];
28
+ declare const VIDEO_DURATION_OPTIONS: readonly number[];
29
+
30
+ declare const getDimensionsForAspectRatio: typeof resolveDimensionsForAspectRatio;
31
+ declare const getRecommendedQuality: typeof recommendQualityForAspectRatio;
32
+
33
+ interface IAIContentService {
34
+ generateBlogPost(request: BlogGenerationRequest): Promise<GeneratedBlog>;
35
+ generateSocialContent(request: SocialContentRequest): Promise<GeneratedSocialContent>;
36
+ generateVideoScript(request: VideoScriptRequest): Promise<GeneratedVideoScript>;
37
+ generateForAllPlatforms(topic: string, tone: ContentTone): Promise<GeneratedSocialContent[]>;
38
+ generateContentCalendar(niche: string, days: number): Promise<ContentCalendarEntry[]>;
39
+ analyzeSentiment(content: string): Promise<SentimentAnalysisResult>;
40
+ analyzeContent(request: ContentAnalysisRequest): Promise<ContentAnalysisResult>;
41
+ optimizeSEO(request: SEOOptimizationRequest): Promise<SEOOptimizationResult>;
42
+ calculateSEOScore(content: string, keywords: string[]): Promise<SEOScoreBreakdown>;
43
+ analyzeKeywords(content: string, keywords: string[]): Promise<KeywordAnalysis[]>;
44
+ predictABTest(request: ABTestRequest): Promise<ABTestPrediction[]>;
45
+ compareVariants(variantA: string, variantB: string): Promise<ABTestComparison>;
46
+ generateHashtags(content: string, count: number): Promise<string[]>;
47
+ optimizeHashtags(hashtags: string[], platform: SocialPlatform): Promise<string[]>;
48
+ generateImagePrompt(description: string, style: string): Promise<string>;
49
+ generateImagePromptsForBlog(blogContent: string): Promise<string[]>;
50
+ generateVoiceScript(topic: string, emotion: Emotion, duration: number): Promise<GeneratedVideoScript>;
51
+ }
52
+
53
+ declare class AIContentService implements IAIContentService {
54
+ private readonly providerFactory;
55
+ private readonly blogService;
56
+ private readonly socialService;
57
+ private readonly videoScriptService;
58
+ private readonly analysisService;
59
+ private readonly seoService;
60
+ private readonly abTestService;
61
+ private readonly imagePromptService;
62
+ private readonly contentCalendarService;
63
+ private readonly mediaGenerationService;
64
+ constructor(configOrGenerator: AIProviderConfig | ProviderConfig | ITextGenerator);
65
+ /** The composed factory — chat()/chatStream() with usage, health, fallback. */
66
+ get providers(): ProviderFactory;
67
+ generateBlogPost(request: BlogGenerationRequest): Promise<GeneratedBlog>;
68
+ generateSocialContent(request: SocialContentRequest): Promise<GeneratedSocialContent>;
69
+ generateForAllPlatforms(topic: string, tone: ContentTone): Promise<GeneratedSocialContent[]>;
70
+ generateHashtags(content: string, count: number): Promise<string[]>;
71
+ optimizeHashtags(hashtags: string[], platform: SocialPlatform): Promise<string[]>;
72
+ generateVideoScript(request: VideoScriptRequest): Promise<GeneratedVideoScript>;
73
+ generateVoiceScript(topic: string, emotion: Emotion, duration: number): Promise<GeneratedVideoScript>;
74
+ generateContentCalendar(niche: string, days: number): Promise<ContentCalendarEntry[]>;
75
+ analyzeSentiment(content: string): Promise<SentimentAnalysisResult>;
76
+ analyzeContent(request: ContentAnalysisRequest): Promise<ContentAnalysisResult>;
77
+ optimizeSEO(request: SEOOptimizationRequest): Promise<SEOOptimizationResult>;
78
+ calculateSEOScore(content: string, keywords: string[]): Promise<SEOScoreBreakdown>;
79
+ analyzeKeywords(content: string, keywords: string[]): Promise<KeywordAnalysis[]>;
80
+ predictABTest(request: ABTestRequest): Promise<ABTestPrediction[]>;
81
+ compareVariants(variantA: string, variantB: string): Promise<ABTestComparison>;
82
+ generateImagePrompt(description: string, style: string): Promise<string>;
83
+ generateImagePromptsForBlog(blogContent: string): Promise<string[]>;
84
+ generateImage(request: ImageGenerationRequest): Promise<GeneratedContent>;
85
+ generateVideo(request: VideoGenerationRequest): Promise<GeneratedContent>;
86
+ convertImageToVideo(request: ImageToVideoRequest): Promise<GeneratedContent>;
87
+ transformVideo(request: VideoToVideoRequest): Promise<GeneratedContent>;
88
+ }
89
+
90
+ /**
91
+ * The single LLM seam for the content services. runJson/runText keep the
92
+ * string facade the nine services were built against; runChat passes a full
93
+ * TextRequest through to the factory and returns the usage-complete
94
+ * GenerationResult.
95
+ */
96
+ declare class GenerationExecutor {
97
+ private readonly generator;
98
+ constructor(generator: ITextGenerator | ProviderFactory);
99
+ runJson<T>(prompt: string, fallback: T, generationOptions?: TextGenerationOptions): Promise<T>;
100
+ runText(prompt: string, options?: TextGenerationOptions): Promise<string>;
101
+ /** Usage-complete pass-through; requires a ProviderFactory engine. */
102
+ runChat(request: TextRequest): Promise<GenerationResult>;
103
+ }
104
+
105
+ declare class BlogService {
106
+ private readonly executor;
107
+ constructor(executor: GenerationExecutor);
108
+ generateBlogPost(request: BlogGenerationRequest): Promise<GeneratedBlog>;
109
+ }
110
+
111
+ declare class SocialService {
112
+ private readonly executor;
113
+ constructor(executor: GenerationExecutor);
114
+ generateSocialContent(request: SocialContentRequest): Promise<GeneratedSocialContent>;
115
+ generateForAllPlatforms(topic: string, tone: ContentTone): Promise<GeneratedSocialContent[]>;
116
+ generateHashtags(content: string, count: number): Promise<string[]>;
117
+ optimizeHashtags(hashtags: string[], platform: SocialPlatform): string[];
118
+ }
119
+
120
+ declare class VideoScriptService {
121
+ private readonly executor;
122
+ constructor(executor: GenerationExecutor);
123
+ generateVideoScript(request: VideoScriptRequest): Promise<GeneratedVideoScript>;
124
+ generateVoiceScript(topic: string, emotion: Emotion, duration: number): Promise<GeneratedVideoScript>;
125
+ }
126
+
127
+ declare class AnalysisService {
128
+ private readonly executor;
129
+ constructor(executor: GenerationExecutor);
130
+ analyzeSentiment(content: string): Promise<SentimentAnalysisResult>;
131
+ analyzeContent(request: ContentAnalysisRequest): Promise<ContentAnalysisResult>;
132
+ }
133
+
134
+ declare class SeoService {
135
+ private readonly executor;
136
+ constructor(executor: GenerationExecutor);
137
+ optimizeSEO(request: SEOOptimizationRequest): Promise<SEOOptimizationResult>;
138
+ calculateSEOScore(content: string, keywords: string[]): Promise<SEOScoreBreakdown>;
139
+ analyzeKeywords(content: string, keywords: string[]): KeywordAnalysis[];
140
+ }
141
+
142
+ declare class ABTestService {
143
+ private readonly executor;
144
+ constructor(executor: GenerationExecutor);
145
+ predictABTest(request: ABTestRequest): Promise<ABTestPrediction[]>;
146
+ compareVariants(variantA: string, variantB: string): Promise<ABTestComparison>;
147
+ }
148
+
149
+ declare class ImagePromptService {
150
+ private readonly executor;
151
+ constructor(executor: GenerationExecutor);
152
+ generateImagePrompt(description: string, style: string): Promise<string>;
153
+ generateImagePromptsForBlog(blogContent: string): Promise<string[]>;
154
+ }
155
+
156
+ declare class ContentCalendarService {
157
+ private readonly executor;
158
+ constructor(executor: GenerationExecutor);
159
+ generateContentCalendar(niche: string, days: number): Promise<ContentCalendarEntry[]>;
160
+ }
161
+
162
+ declare class MediaGenerationService {
163
+ private readonly providerFactory;
164
+ constructor(providerFactory: ProviderFactory);
165
+ generateImage(request: ImageGenerationRequest): Promise<GeneratedContent>;
166
+ generateVideo(request: VideoGenerationRequest): Promise<GeneratedContent>;
167
+ convertImageToVideo(request: ImageToVideoRequest): Promise<GeneratedContent>;
168
+ transformVideo(request: VideoToVideoRequest): Promise<GeneratedContent>;
169
+ }
170
+
171
+ declare class PromptBuilder {
172
+ static blogPost(input: {
173
+ topic: string;
174
+ blogType: string;
175
+ keywords: string[];
176
+ tone: string;
177
+ targetAudience: string;
178
+ wordCount: number;
179
+ language?: string;
180
+ seoOptimization: boolean;
181
+ includeSchema: boolean;
182
+ includeImages: boolean;
183
+ }): string;
184
+ static socialPost(input: {
185
+ topic: string;
186
+ platform: string;
187
+ tone: string;
188
+ style: string;
189
+ maxLength: number;
190
+ includeHashtags: boolean;
191
+ includeCallToAction: boolean;
192
+ }): string;
193
+ static videoScript(input: {
194
+ topic: string;
195
+ tone: string;
196
+ duration: number;
197
+ targetAudience: string;
198
+ includeVisuals: boolean;
199
+ includeCallToAction: boolean;
200
+ }): string;
201
+ static voiceScript(input: {
202
+ topic: string;
203
+ emotion: string;
204
+ duration: number;
205
+ }): string;
206
+ static contentCalendar(niche: string, days: number): string;
207
+ static sentiment(content: string): string;
208
+ static contentAnalysis(content: string): string;
209
+ static seoOptimization(content: string, keywords: string[]): string;
210
+ static seoScore(content: string, keywords: string[]): string;
211
+ static abTestVariant(input: {
212
+ content: string;
213
+ contentType: string;
214
+ tone: string;
215
+ targetAudience: string;
216
+ platform: string;
217
+ goals: string[];
218
+ }): string;
219
+ static hashtags(content: string, count: number): string;
220
+ static imagePrompt(description: string, style: string): string;
221
+ static blogImagePrompts(blogContent: string): string;
222
+ static maxTokensForDuration(durationSeconds: number): number;
223
+ }
224
+
225
+ export { ABTestComparison, ABTestPrediction, ABTestRequest, ABTestService, AIContentService, ASPECT_RATIO_VALUES, AnalysisService, AspectRatio, BlogGenerationRequest, BlogService, ContentAnalysisRequest, ContentAnalysisResult, ContentCalendarEntry, ContentCalendarService, ContentTone, Emotion, CREDIT_COSTS as GENERATION_COSTS, GeneratedBlog, GeneratedContent, GeneratedSocialContent, GeneratedVideoScript, GenerationExecutor, GenerationType, type IAIContentService, IMAGE_QUALITY_VALUES, ITextGenerator, ImageGenerationRequest, ImagePromptService, ImageQuality, ImageToVideoRequest, KeywordAnalysis, MediaGenerationService, PromptBuilder, ProviderConfig, SEOOptimizationRequest, SEOOptimizationResult, SEOScoreBreakdown, SentimentAnalysisResult, SeoService, SocialContentRequest, SocialPlatform, SocialService, TextGenerationOptions, VIDEO_DURATION_OPTIONS, VIDEO_QUALITY_VALUES, VideoGenerationRequest, VideoQuality, VideoScriptRequest, VideoScriptService, VideoToVideoRequest, calculateContentCreditCost as calculateCreditCost, getDimensionsForAspectRatio, getRecommendedQuality };
@@ -0,0 +1,225 @@
1
+ import { B as BlogGenerationRequest, G as GeneratedBlog, b as SocialContentRequest, c as GeneratedSocialContent, V as VideoScriptRequest, d as GeneratedVideoScript, a as ContentTone, e as ContentCalendarEntry, f as SocialPlatform, E as Emotion } from '../ContentGeneration-B6iK2B33.js';
2
+ export { g as BlogType, C as ContentType, P as PLATFORM_SPECS, h as PlatformSpecs, S as Sentiment } from '../ContentGeneration-B6iK2B33.js';
3
+ import { d as ProviderConfig, I as ImageGenerationRequest, G as GeneratedContent, V as VideoGenerationRequest, a as ImageToVideoRequest, b as VideoToVideoRequest } from '../ProviderConfig-a55tLhWT.js';
4
+ export { B as BaseProviderConfig, F as FalConfig, c as GeminiConfig, e as GenerationRequest, f as GroqConfig, g as ProviderHealth, h as ProviderType, P as PrunaConfig, T as TextGenerationRequest } from '../ProviderConfig-a55tLhWT.js';
5
+ import { i as GenerationType, j as ImageQuality, k as VideoQuality, l as AspectRatio, S as SentimentAnalysisResult, C as ContentAnalysisRequest, a as ContentAnalysisResult, b as SEOOptimizationRequest, c as SEOOptimizationResult, d as SEOScoreBreakdown, K as KeywordAnalysis, A as ABTestRequest, e as ABTestPrediction, f as ABTestComparison } from '../ABTesting-DDqNhHtP.js';
6
+ export { m as ABTestVariant, n as ASPECT_RATIO_OPTIONS, G as ContentGenerationResult, o as CreditCost, p as GenerationMetadata, g as GenerationProgress, h as GenerationStatus, q as IMAGE_QUALITY_OPTIONS, I as ImageGenerationInput, M as MOTION_OPTIONS, r as STYLE_PRESETS, s as VIDEO_DURATION_OPTIONS_SECONDS, t as VIDEO_QUALITY_OPTIONS, V as VideoGenerationInput } from '../ABTesting-DDqNhHtP.js';
7
+ import { f as ITextGenerator, c as ProviderFactory, T as TextGenerationOptions } from '../provider.factory-CpWFyjbw.js';
8
+ import { A as AIProviderConfig } from '../create-ai-BhNaz86i.js';
9
+ export { q as AIError, p as AIErrorCode, P as ProviderQuotaExhaustedError, r as ProviderUnavailableError, V as ValidationError } from '../create-ai-BhNaz86i.js';
10
+ import { T as TextRequest, G as GenerationResult } from '../index-fXjxTR5W.js';
11
+ import '../index-DxLvE588.js';
12
+
13
+ type QualityTier = 'standard' | 'hd' | '4k';
14
+ declare const CREDIT_COSTS: Readonly<Record<GenerationType, Readonly<Record<QualityTier, number>>>>;
15
+ type AnyQuality = QualityTier | ImageQuality | VideoQuality;
16
+ declare function calculateContentCreditCost(type: GenerationType, quality?: AnyQuality): number;
17
+
18
+ declare function resolveDimensionsForAspectRatio(ratio: AspectRatio): {
19
+ width: number;
20
+ height: number;
21
+ };
22
+
23
+ declare function recommendQualityForAspectRatio(ratio: AspectRatio): ImageQuality | VideoQuality;
24
+
25
+ declare const ASPECT_RATIO_VALUES: AspectRatio[];
26
+ declare const IMAGE_QUALITY_VALUES: ImageQuality[];
27
+ declare const VIDEO_QUALITY_VALUES: VideoQuality[];
28
+ declare const VIDEO_DURATION_OPTIONS: readonly number[];
29
+
30
+ declare const getDimensionsForAspectRatio: typeof resolveDimensionsForAspectRatio;
31
+ declare const getRecommendedQuality: typeof recommendQualityForAspectRatio;
32
+
33
+ interface IAIContentService {
34
+ generateBlogPost(request: BlogGenerationRequest): Promise<GeneratedBlog>;
35
+ generateSocialContent(request: SocialContentRequest): Promise<GeneratedSocialContent>;
36
+ generateVideoScript(request: VideoScriptRequest): Promise<GeneratedVideoScript>;
37
+ generateForAllPlatforms(topic: string, tone: ContentTone): Promise<GeneratedSocialContent[]>;
38
+ generateContentCalendar(niche: string, days: number): Promise<ContentCalendarEntry[]>;
39
+ analyzeSentiment(content: string): Promise<SentimentAnalysisResult>;
40
+ analyzeContent(request: ContentAnalysisRequest): Promise<ContentAnalysisResult>;
41
+ optimizeSEO(request: SEOOptimizationRequest): Promise<SEOOptimizationResult>;
42
+ calculateSEOScore(content: string, keywords: string[]): Promise<SEOScoreBreakdown>;
43
+ analyzeKeywords(content: string, keywords: string[]): Promise<KeywordAnalysis[]>;
44
+ predictABTest(request: ABTestRequest): Promise<ABTestPrediction[]>;
45
+ compareVariants(variantA: string, variantB: string): Promise<ABTestComparison>;
46
+ generateHashtags(content: string, count: number): Promise<string[]>;
47
+ optimizeHashtags(hashtags: string[], platform: SocialPlatform): Promise<string[]>;
48
+ generateImagePrompt(description: string, style: string): Promise<string>;
49
+ generateImagePromptsForBlog(blogContent: string): Promise<string[]>;
50
+ generateVoiceScript(topic: string, emotion: Emotion, duration: number): Promise<GeneratedVideoScript>;
51
+ }
52
+
53
+ declare class AIContentService implements IAIContentService {
54
+ private readonly providerFactory;
55
+ private readonly blogService;
56
+ private readonly socialService;
57
+ private readonly videoScriptService;
58
+ private readonly analysisService;
59
+ private readonly seoService;
60
+ private readonly abTestService;
61
+ private readonly imagePromptService;
62
+ private readonly contentCalendarService;
63
+ private readonly mediaGenerationService;
64
+ constructor(configOrGenerator: AIProviderConfig | ProviderConfig | ITextGenerator);
65
+ /** The composed factory — chat()/chatStream() with usage, health, fallback. */
66
+ get providers(): ProviderFactory;
67
+ generateBlogPost(request: BlogGenerationRequest): Promise<GeneratedBlog>;
68
+ generateSocialContent(request: SocialContentRequest): Promise<GeneratedSocialContent>;
69
+ generateForAllPlatforms(topic: string, tone: ContentTone): Promise<GeneratedSocialContent[]>;
70
+ generateHashtags(content: string, count: number): Promise<string[]>;
71
+ optimizeHashtags(hashtags: string[], platform: SocialPlatform): Promise<string[]>;
72
+ generateVideoScript(request: VideoScriptRequest): Promise<GeneratedVideoScript>;
73
+ generateVoiceScript(topic: string, emotion: Emotion, duration: number): Promise<GeneratedVideoScript>;
74
+ generateContentCalendar(niche: string, days: number): Promise<ContentCalendarEntry[]>;
75
+ analyzeSentiment(content: string): Promise<SentimentAnalysisResult>;
76
+ analyzeContent(request: ContentAnalysisRequest): Promise<ContentAnalysisResult>;
77
+ optimizeSEO(request: SEOOptimizationRequest): Promise<SEOOptimizationResult>;
78
+ calculateSEOScore(content: string, keywords: string[]): Promise<SEOScoreBreakdown>;
79
+ analyzeKeywords(content: string, keywords: string[]): Promise<KeywordAnalysis[]>;
80
+ predictABTest(request: ABTestRequest): Promise<ABTestPrediction[]>;
81
+ compareVariants(variantA: string, variantB: string): Promise<ABTestComparison>;
82
+ generateImagePrompt(description: string, style: string): Promise<string>;
83
+ generateImagePromptsForBlog(blogContent: string): Promise<string[]>;
84
+ generateImage(request: ImageGenerationRequest): Promise<GeneratedContent>;
85
+ generateVideo(request: VideoGenerationRequest): Promise<GeneratedContent>;
86
+ convertImageToVideo(request: ImageToVideoRequest): Promise<GeneratedContent>;
87
+ transformVideo(request: VideoToVideoRequest): Promise<GeneratedContent>;
88
+ }
89
+
90
+ /**
91
+ * The single LLM seam for the content services. runJson/runText keep the
92
+ * string facade the nine services were built against; runChat passes a full
93
+ * TextRequest through to the factory and returns the usage-complete
94
+ * GenerationResult.
95
+ */
96
+ declare class GenerationExecutor {
97
+ private readonly generator;
98
+ constructor(generator: ITextGenerator | ProviderFactory);
99
+ runJson<T>(prompt: string, fallback: T, generationOptions?: TextGenerationOptions): Promise<T>;
100
+ runText(prompt: string, options?: TextGenerationOptions): Promise<string>;
101
+ /** Usage-complete pass-through; requires a ProviderFactory engine. */
102
+ runChat(request: TextRequest): Promise<GenerationResult>;
103
+ }
104
+
105
+ declare class BlogService {
106
+ private readonly executor;
107
+ constructor(executor: GenerationExecutor);
108
+ generateBlogPost(request: BlogGenerationRequest): Promise<GeneratedBlog>;
109
+ }
110
+
111
+ declare class SocialService {
112
+ private readonly executor;
113
+ constructor(executor: GenerationExecutor);
114
+ generateSocialContent(request: SocialContentRequest): Promise<GeneratedSocialContent>;
115
+ generateForAllPlatforms(topic: string, tone: ContentTone): Promise<GeneratedSocialContent[]>;
116
+ generateHashtags(content: string, count: number): Promise<string[]>;
117
+ optimizeHashtags(hashtags: string[], platform: SocialPlatform): string[];
118
+ }
119
+
120
+ declare class VideoScriptService {
121
+ private readonly executor;
122
+ constructor(executor: GenerationExecutor);
123
+ generateVideoScript(request: VideoScriptRequest): Promise<GeneratedVideoScript>;
124
+ generateVoiceScript(topic: string, emotion: Emotion, duration: number): Promise<GeneratedVideoScript>;
125
+ }
126
+
127
+ declare class AnalysisService {
128
+ private readonly executor;
129
+ constructor(executor: GenerationExecutor);
130
+ analyzeSentiment(content: string): Promise<SentimentAnalysisResult>;
131
+ analyzeContent(request: ContentAnalysisRequest): Promise<ContentAnalysisResult>;
132
+ }
133
+
134
+ declare class SeoService {
135
+ private readonly executor;
136
+ constructor(executor: GenerationExecutor);
137
+ optimizeSEO(request: SEOOptimizationRequest): Promise<SEOOptimizationResult>;
138
+ calculateSEOScore(content: string, keywords: string[]): Promise<SEOScoreBreakdown>;
139
+ analyzeKeywords(content: string, keywords: string[]): KeywordAnalysis[];
140
+ }
141
+
142
+ declare class ABTestService {
143
+ private readonly executor;
144
+ constructor(executor: GenerationExecutor);
145
+ predictABTest(request: ABTestRequest): Promise<ABTestPrediction[]>;
146
+ compareVariants(variantA: string, variantB: string): Promise<ABTestComparison>;
147
+ }
148
+
149
+ declare class ImagePromptService {
150
+ private readonly executor;
151
+ constructor(executor: GenerationExecutor);
152
+ generateImagePrompt(description: string, style: string): Promise<string>;
153
+ generateImagePromptsForBlog(blogContent: string): Promise<string[]>;
154
+ }
155
+
156
+ declare class ContentCalendarService {
157
+ private readonly executor;
158
+ constructor(executor: GenerationExecutor);
159
+ generateContentCalendar(niche: string, days: number): Promise<ContentCalendarEntry[]>;
160
+ }
161
+
162
+ declare class MediaGenerationService {
163
+ private readonly providerFactory;
164
+ constructor(providerFactory: ProviderFactory);
165
+ generateImage(request: ImageGenerationRequest): Promise<GeneratedContent>;
166
+ generateVideo(request: VideoGenerationRequest): Promise<GeneratedContent>;
167
+ convertImageToVideo(request: ImageToVideoRequest): Promise<GeneratedContent>;
168
+ transformVideo(request: VideoToVideoRequest): Promise<GeneratedContent>;
169
+ }
170
+
171
+ declare class PromptBuilder {
172
+ static blogPost(input: {
173
+ topic: string;
174
+ blogType: string;
175
+ keywords: string[];
176
+ tone: string;
177
+ targetAudience: string;
178
+ wordCount: number;
179
+ language?: string;
180
+ seoOptimization: boolean;
181
+ includeSchema: boolean;
182
+ includeImages: boolean;
183
+ }): string;
184
+ static socialPost(input: {
185
+ topic: string;
186
+ platform: string;
187
+ tone: string;
188
+ style: string;
189
+ maxLength: number;
190
+ includeHashtags: boolean;
191
+ includeCallToAction: boolean;
192
+ }): string;
193
+ static videoScript(input: {
194
+ topic: string;
195
+ tone: string;
196
+ duration: number;
197
+ targetAudience: string;
198
+ includeVisuals: boolean;
199
+ includeCallToAction: boolean;
200
+ }): string;
201
+ static voiceScript(input: {
202
+ topic: string;
203
+ emotion: string;
204
+ duration: number;
205
+ }): string;
206
+ static contentCalendar(niche: string, days: number): string;
207
+ static sentiment(content: string): string;
208
+ static contentAnalysis(content: string): string;
209
+ static seoOptimization(content: string, keywords: string[]): string;
210
+ static seoScore(content: string, keywords: string[]): string;
211
+ static abTestVariant(input: {
212
+ content: string;
213
+ contentType: string;
214
+ tone: string;
215
+ targetAudience: string;
216
+ platform: string;
217
+ goals: string[];
218
+ }): string;
219
+ static hashtags(content: string, count: number): string;
220
+ static imagePrompt(description: string, style: string): string;
221
+ static blogImagePrompts(blogContent: string): string;
222
+ static maxTokensForDuration(durationSeconds: number): number;
223
+ }
224
+
225
+ export { ABTestComparison, ABTestPrediction, ABTestRequest, ABTestService, AIContentService, ASPECT_RATIO_VALUES, AnalysisService, AspectRatio, BlogGenerationRequest, BlogService, ContentAnalysisRequest, ContentAnalysisResult, ContentCalendarEntry, ContentCalendarService, ContentTone, Emotion, CREDIT_COSTS as GENERATION_COSTS, GeneratedBlog, GeneratedContent, GeneratedSocialContent, GeneratedVideoScript, GenerationExecutor, GenerationType, type IAIContentService, IMAGE_QUALITY_VALUES, ITextGenerator, ImageGenerationRequest, ImagePromptService, ImageQuality, ImageToVideoRequest, KeywordAnalysis, MediaGenerationService, PromptBuilder, ProviderConfig, SEOOptimizationRequest, SEOOptimizationResult, SEOScoreBreakdown, SentimentAnalysisResult, SeoService, SocialContentRequest, SocialPlatform, SocialService, TextGenerationOptions, VIDEO_DURATION_OPTIONS, VIDEO_QUALITY_VALUES, VideoGenerationRequest, VideoQuality, VideoScriptRequest, VideoScriptService, VideoToVideoRequest, calculateContentCreditCost as calculateCreditCost, getDimensionsForAspectRatio, getRecommendedQuality };