@umituz/web-ai 1.0.4 → 1.0.5
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.
- package/dist/content/index.cjs +205 -7
- package/dist/content/index.cjs.map +1 -1
- package/dist/content/index.d.cts +1 -1
- package/dist/content/index.d.ts +1 -1
- package/dist/content/index.js +199 -8
- package/dist/content/index.js.map +1 -1
- package/dist/hooks/index.cjs +64 -8
- package/dist/hooks/index.cjs.map +1 -1
- package/dist/hooks/index.d.cts +12 -2
- package/dist/hooks/index.d.ts +12 -2
- package/dist/hooks/index.js +64 -8
- package/dist/hooks/index.js.map +1 -1
- package/dist/index.cjs +78 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +73 -6
- package/dist/index.js.map +1 -1
- package/dist/{PromptBuilder-DIUZlfV6.d.cts → requestQueue-CkJ6Xc9K.d.cts} +48 -2
- package/dist/{PromptBuilder-B5Lm1znm.d.ts → requestQueue-CvxWxC-z.d.ts} +48 -2
- package/package.json +1 -1
package/dist/content/index.d.cts
CHANGED
|
@@ -4,7 +4,7 @@ import { m as GenerationType } from '../AIErrors-DjZXUiLT.cjs';
|
|
|
4
4
|
export { A as ABTestComparison, a as ABTestPrediction, b as ABTestRequest, c as ABTestVariant, d as AIErrorCode, e as ASPECT_RATIO_OPTIONS, y as AnyQuality, f as AspectRatio, z as AspectRatioOption, i as CREDIT_COSTS, C as ContentAnalysisRequest, g as ContentAnalysisResult, G as ContentGenerationResult, h as CreditCost, D as DEFAULT_CREDIT_COST, E as EmotionScore, i as GENERATION_COSTS, j as GenerationMetadata, k as GenerationProgress, G as GenerationResult, l as GenerationStatus, I as IMAGE_QUALITY_OPTIONS, n as ImageGenerationInput, o as ImageQuality, B as ImageQualityOption, F as ImageStyle, K as KeywordAnalysis, M as MOTION_OPTIONS, H as MotionOption, J as MotionStrength, P as ProviderQuotaExhaustedError, p as ProviderUnavailableError, Q as QualityTier, S as SEOOptimizationRequest, q as SEOOptimizationResult, r as SEOScoreBreakdown, s as STYLE_PRESETS, t as SentimentAnalysisResult, L as StylePreset, V as VIDEO_DURATION_OPTIONS_SECONDS, u as VIDEO_QUALITY_OPTIONS, N as ValidationError, v as VideoGenerationInput, w as VideoQuality, O as VideoQualityOption, x as calculateContentCreditCost, x as calculateCreditCost, R as toQualityTier } from '../AIErrors-DjZXUiLT.cjs';
|
|
5
5
|
import { I as ImageGenerationRequest, V as VideoGenerationRequest, T as TextGenerationRequest } from '../ProviderConfig-DIFa9nmG.cjs';
|
|
6
6
|
export { A as AnthropicConfig, B as BaseProviderConfig, F as FalConfig, c as GeminiConfig, G as GeneratedContent, e as GenerationRequest, f as GroqConfig, a as ImageToVideoRequest, d as ProviderConfig, g as ProviderHealth, h as ProviderType, P as PrunaConfig, b as VideoToVideoRequest } from '../ProviderConfig-DIFa9nmG.cjs';
|
|
7
|
-
export { A as ABTestService, a as AIContentService, b as ASPECT_RATIO_VALUES, c as AnalysisService, B as BlogService, C as ContentCalendarService, G as GenerationExecutor, I as IAIContentService, d as IMAGE_QUALITY_VALUES, e as ImagePromptService, M as MediaGenerationService, P as PromptBuilder, S as SeoService, f as SocialService, V as VIDEO_DURATION_OPTIONS, g as VIDEO_QUALITY_VALUES, h as VideoScriptService, i as
|
|
7
|
+
export { A as ABTestService, a as AIContentService, b as ASPECT_RATIO_VALUES, c as AnalysisService, B as BlogService, C as ContentCalendarService, n as ContentRequestQueue, G as GenerationExecutor, I as IAIContentService, d as IMAGE_QUALITY_VALUES, e as ImagePromptService, M as MediaGenerationService, P as PromptBuilder, Q as QueueConfig, R as RequestPriority, S as SeoService, f as SocialService, V as VIDEO_DURATION_OPTIONS, g as VIDEO_QUALITY_VALUES, h as VideoScriptService, i as batchRequest, j as extractJSON, k as getDimensionsForAspectRatio, l as getRecommendedQuality, m as isValidJSON, p as parseAIResponse, r as recommendQualityForAspectRatio, o as resolveDimensionsForAspectRatio, s as safeJSONParse } from '../requestQueue-CkJ6Xc9K.cjs';
|
|
8
8
|
export { c as ITextGenerator, T as TextGenerationOptions } from '../provider.factory-DyfJtR8M.cjs';
|
|
9
9
|
export { A as AIError } from '../index-DKHNcMbl.cjs';
|
|
10
10
|
import '../create-ai-BrKR_5fQ.cjs';
|
package/dist/content/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { m as GenerationType } from '../AIErrors-CLjXRty-.js';
|
|
|
4
4
|
export { A as ABTestComparison, a as ABTestPrediction, b as ABTestRequest, c as ABTestVariant, d as AIErrorCode, e as ASPECT_RATIO_OPTIONS, y as AnyQuality, f as AspectRatio, z as AspectRatioOption, i as CREDIT_COSTS, C as ContentAnalysisRequest, g as ContentAnalysisResult, G as ContentGenerationResult, h as CreditCost, D as DEFAULT_CREDIT_COST, E as EmotionScore, i as GENERATION_COSTS, j as GenerationMetadata, k as GenerationProgress, G as GenerationResult, l as GenerationStatus, I as IMAGE_QUALITY_OPTIONS, n as ImageGenerationInput, o as ImageQuality, B as ImageQualityOption, F as ImageStyle, K as KeywordAnalysis, M as MOTION_OPTIONS, H as MotionOption, J as MotionStrength, P as ProviderQuotaExhaustedError, p as ProviderUnavailableError, Q as QualityTier, S as SEOOptimizationRequest, q as SEOOptimizationResult, r as SEOScoreBreakdown, s as STYLE_PRESETS, t as SentimentAnalysisResult, L as StylePreset, V as VIDEO_DURATION_OPTIONS_SECONDS, u as VIDEO_QUALITY_OPTIONS, N as ValidationError, v as VideoGenerationInput, w as VideoQuality, O as VideoQualityOption, x as calculateContentCreditCost, x as calculateCreditCost, R as toQualityTier } from '../AIErrors-CLjXRty-.js';
|
|
5
5
|
import { I as ImageGenerationRequest, V as VideoGenerationRequest, T as TextGenerationRequest } from '../ProviderConfig-DIFa9nmG.js';
|
|
6
6
|
export { A as AnthropicConfig, B as BaseProviderConfig, F as FalConfig, c as GeminiConfig, G as GeneratedContent, e as GenerationRequest, f as GroqConfig, a as ImageToVideoRequest, d as ProviderConfig, g as ProviderHealth, h as ProviderType, P as PrunaConfig, b as VideoToVideoRequest } from '../ProviderConfig-DIFa9nmG.js';
|
|
7
|
-
export { A as ABTestService, a as AIContentService, b as ASPECT_RATIO_VALUES, c as AnalysisService, B as BlogService, C as ContentCalendarService, G as GenerationExecutor, I as IAIContentService, d as IMAGE_QUALITY_VALUES, e as ImagePromptService, M as MediaGenerationService, P as PromptBuilder, S as SeoService, f as SocialService, V as VIDEO_DURATION_OPTIONS, g as VIDEO_QUALITY_VALUES, h as VideoScriptService, i as
|
|
7
|
+
export { A as ABTestService, a as AIContentService, b as ASPECT_RATIO_VALUES, c as AnalysisService, B as BlogService, C as ContentCalendarService, n as ContentRequestQueue, G as GenerationExecutor, I as IAIContentService, d as IMAGE_QUALITY_VALUES, e as ImagePromptService, M as MediaGenerationService, P as PromptBuilder, Q as QueueConfig, R as RequestPriority, S as SeoService, f as SocialService, V as VIDEO_DURATION_OPTIONS, g as VIDEO_QUALITY_VALUES, h as VideoScriptService, i as batchRequest, j as extractJSON, k as getDimensionsForAspectRatio, l as getRecommendedQuality, m as isValidJSON, p as parseAIResponse, r as recommendQualityForAspectRatio, o as resolveDimensionsForAspectRatio, s as safeJSONParse } from '../requestQueue-CvxWxC-z.js';
|
|
8
8
|
export { c as ITextGenerator, T as TextGenerationOptions } from '../provider.factory-BwPnqSEU.js';
|
|
9
9
|
export { A as AIError } from '../index-DIHz8_OJ.js';
|
|
10
10
|
import '../create-ai-0eZFFqTw.js';
|
package/dist/content/index.js
CHANGED
|
@@ -4188,7 +4188,14 @@ var BlogService = class {
|
|
|
4188
4188
|
};
|
|
4189
4189
|
|
|
4190
4190
|
// src/content/infrastructure/utils/requestQueue.ts
|
|
4191
|
-
({
|
|
4191
|
+
var RequestPriority = /* @__PURE__ */ ((RequestPriority2) => {
|
|
4192
|
+
RequestPriority2[RequestPriority2["LOW"] = 0] = "LOW";
|
|
4193
|
+
RequestPriority2[RequestPriority2["NORMAL"] = 1] = "NORMAL";
|
|
4194
|
+
RequestPriority2[RequestPriority2["HIGH"] = 2] = "HIGH";
|
|
4195
|
+
RequestPriority2[RequestPriority2["URGENT"] = 3] = "URGENT";
|
|
4196
|
+
return RequestPriority2;
|
|
4197
|
+
})(RequestPriority || {});
|
|
4198
|
+
var DEFAULT_CONFIG = {
|
|
4192
4199
|
maxConcurrent: RequestQueueConfig.MAX_CONCURRENT,
|
|
4193
4200
|
maxQueueSize: RequestQueueConfig.MAX_QUEUE_SIZE,
|
|
4194
4201
|
defaultTimeout: RequestQueueConfig.DEFAULT_TIMEOUT_MS,
|
|
@@ -4196,7 +4203,133 @@ var BlogService = class {
|
|
|
4196
4203
|
enableRateLimit: RequestQueueConfig.RATE_LIMIT.ENABLED,
|
|
4197
4204
|
rateLimitWindow: RequestQueueConfig.RATE_LIMIT.WINDOW_MS,
|
|
4198
4205
|
rateLimitMaxRequests: RequestQueueConfig.RATE_LIMIT.MAX_REQUESTS_PER_WINDOW
|
|
4199
|
-
}
|
|
4206
|
+
};
|
|
4207
|
+
var RequestQueue2 = class {
|
|
4208
|
+
queue = [];
|
|
4209
|
+
running = /* @__PURE__ */ new Set();
|
|
4210
|
+
config;
|
|
4211
|
+
requestHistory = [];
|
|
4212
|
+
isProcessing = false;
|
|
4213
|
+
constructor(config = {}) {
|
|
4214
|
+
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
4215
|
+
}
|
|
4216
|
+
async add(fn, priority = 1 /* NORMAL */, maxRetries = 3) {
|
|
4217
|
+
if (this.queue.length >= this.config.maxQueueSize) {
|
|
4218
|
+
throw new Error("Queue is full");
|
|
4219
|
+
}
|
|
4220
|
+
return new Promise((resolve, reject) => {
|
|
4221
|
+
const request = {
|
|
4222
|
+
id: generateId("req"),
|
|
4223
|
+
priority,
|
|
4224
|
+
timestamp: Date.now(),
|
|
4225
|
+
fn,
|
|
4226
|
+
resolve,
|
|
4227
|
+
reject,
|
|
4228
|
+
retries: 0,
|
|
4229
|
+
maxRetries
|
|
4230
|
+
};
|
|
4231
|
+
this.queue.push(request);
|
|
4232
|
+
this.sortQueue();
|
|
4233
|
+
if (!this.isProcessing) {
|
|
4234
|
+
this.process();
|
|
4235
|
+
}
|
|
4236
|
+
});
|
|
4237
|
+
}
|
|
4238
|
+
sortQueue() {
|
|
4239
|
+
this.queue.sort((a, b) => {
|
|
4240
|
+
if (a.priority !== b.priority) {
|
|
4241
|
+
return b.priority - a.priority;
|
|
4242
|
+
}
|
|
4243
|
+
return a.timestamp - b.timestamp;
|
|
4244
|
+
});
|
|
4245
|
+
}
|
|
4246
|
+
async process() {
|
|
4247
|
+
if (this.isProcessing) return;
|
|
4248
|
+
this.isProcessing = true;
|
|
4249
|
+
while (this.queue.length > 0 || this.running.size > 0) {
|
|
4250
|
+
while (this.queue.length > 0 && this.running.size < this.config.maxConcurrent) {
|
|
4251
|
+
if (this.config.enableRateLimit && !this.canMakeRequest()) {
|
|
4252
|
+
break;
|
|
4253
|
+
}
|
|
4254
|
+
const request = this.queue.shift();
|
|
4255
|
+
if (!request) break;
|
|
4256
|
+
this.running.add(request.id);
|
|
4257
|
+
this.executeRequest(request);
|
|
4258
|
+
}
|
|
4259
|
+
await new Promise((resolve) => setTimeout(resolve, RequestQueueConfig.POLL_INTERVAL_MS));
|
|
4260
|
+
}
|
|
4261
|
+
this.isProcessing = false;
|
|
4262
|
+
}
|
|
4263
|
+
canMakeRequest() {
|
|
4264
|
+
const now = Date.now();
|
|
4265
|
+
const windowStart = now - this.config.rateLimitWindow;
|
|
4266
|
+
this.requestHistory = this.requestHistory.filter(
|
|
4267
|
+
(timestamp) => timestamp > windowStart
|
|
4268
|
+
);
|
|
4269
|
+
return this.requestHistory.length < this.config.rateLimitMaxRequests;
|
|
4270
|
+
}
|
|
4271
|
+
async executeRequest(request) {
|
|
4272
|
+
try {
|
|
4273
|
+
if (this.config.enableRateLimit) {
|
|
4274
|
+
this.requestHistory.push(Date.now());
|
|
4275
|
+
}
|
|
4276
|
+
const result = await this.withTimeout(
|
|
4277
|
+
request.fn,
|
|
4278
|
+
this.config.defaultTimeout
|
|
4279
|
+
);
|
|
4280
|
+
request.resolve(result);
|
|
4281
|
+
} catch (error) {
|
|
4282
|
+
if (request.retries < request.maxRetries) {
|
|
4283
|
+
request.retries++;
|
|
4284
|
+
const delay = this.config.retryDelay * request.retries;
|
|
4285
|
+
setTimeout(() => {
|
|
4286
|
+
this.queue.unshift(request);
|
|
4287
|
+
this.sortQueue();
|
|
4288
|
+
}, delay);
|
|
4289
|
+
} else {
|
|
4290
|
+
request.reject(error);
|
|
4291
|
+
}
|
|
4292
|
+
} finally {
|
|
4293
|
+
this.running.delete(request.id);
|
|
4294
|
+
}
|
|
4295
|
+
}
|
|
4296
|
+
async withTimeout(fn, timeout) {
|
|
4297
|
+
const controller = new AbortController();
|
|
4298
|
+
let timeoutId;
|
|
4299
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
4300
|
+
timeoutId = setTimeout(() => {
|
|
4301
|
+
controller.abort();
|
|
4302
|
+
reject(new Error("Request timeout"));
|
|
4303
|
+
}, timeout);
|
|
4304
|
+
});
|
|
4305
|
+
try {
|
|
4306
|
+
const result = await Promise.race([fn(controller.signal), timeoutPromise]);
|
|
4307
|
+
return result;
|
|
4308
|
+
} finally {
|
|
4309
|
+
if (timeoutId) clearTimeout(timeoutId);
|
|
4310
|
+
}
|
|
4311
|
+
}
|
|
4312
|
+
getStats() {
|
|
4313
|
+
return {
|
|
4314
|
+
queued: this.queue.length,
|
|
4315
|
+
running: this.running.size,
|
|
4316
|
+
rateLimitRemaining: this.config.enableRateLimit ? this.config.rateLimitMaxRequests - this.requestHistory.filter(
|
|
4317
|
+
(timestamp) => Date.now() - timestamp < this.config.rateLimitWindow
|
|
4318
|
+
).length : Infinity
|
|
4319
|
+
};
|
|
4320
|
+
}
|
|
4321
|
+
clear() {
|
|
4322
|
+
for (const request of this.queue) {
|
|
4323
|
+
request.reject(new Error("Queue cleared"));
|
|
4324
|
+
}
|
|
4325
|
+
this.queue = [];
|
|
4326
|
+
}
|
|
4327
|
+
async drain() {
|
|
4328
|
+
while (this.running.size > 0) {
|
|
4329
|
+
await new Promise((resolve) => setTimeout(resolve, RequestQueueConfig.POLL_INTERVAL_MS));
|
|
4330
|
+
}
|
|
4331
|
+
}
|
|
4332
|
+
};
|
|
4200
4333
|
async function batchRequest(requests, options = {}) {
|
|
4201
4334
|
const {
|
|
4202
4335
|
concurrency = 3,
|
|
@@ -4680,7 +4813,10 @@ function safeJSONParse(text, fallback, onError) {
|
|
|
4680
4813
|
const positionMatch = error.message.match(/position (\d+)/);
|
|
4681
4814
|
const position = positionMatch ? parseInt(positionMatch[1], 10) : -1;
|
|
4682
4815
|
if (position > 0) {
|
|
4683
|
-
text.substring(Math.max(0, position - 50), position + 50);
|
|
4816
|
+
const context = text.substring(Math.max(0, position - 50), position + 50);
|
|
4817
|
+
onError?.(`JSON parse error at position ${position}: "${context}"`);
|
|
4818
|
+
} else {
|
|
4819
|
+
onError?.(`JSON parse error: ${error.message}`);
|
|
4684
4820
|
}
|
|
4685
4821
|
}
|
|
4686
4822
|
return fallback;
|
|
@@ -4707,9 +4843,23 @@ function extractJSON(text) {
|
|
|
4707
4843
|
function parseAIResponse(response, fallback, onError) {
|
|
4708
4844
|
const json = extractJSON(response);
|
|
4709
4845
|
if (!json) {
|
|
4846
|
+
onError?.("No JSON payload found in response");
|
|
4710
4847
|
return fallback;
|
|
4711
4848
|
}
|
|
4712
|
-
return safeJSONParse(json, fallback);
|
|
4849
|
+
return safeJSONParse(json, fallback, onError);
|
|
4850
|
+
}
|
|
4851
|
+
function isValidJSON(text) {
|
|
4852
|
+
const trimmed = text.trim();
|
|
4853
|
+
if (trimmed.length === 0) return false;
|
|
4854
|
+
if (!(trimmed.startsWith("{") && trimmed.endsWith("}") || trimmed.startsWith("[") && trimmed.endsWith("]"))) {
|
|
4855
|
+
return false;
|
|
4856
|
+
}
|
|
4857
|
+
try {
|
|
4858
|
+
JSON.parse(trimmed);
|
|
4859
|
+
return true;
|
|
4860
|
+
} catch {
|
|
4861
|
+
return false;
|
|
4862
|
+
}
|
|
4713
4863
|
}
|
|
4714
4864
|
|
|
4715
4865
|
// src/content/application/services/GenerationExecutor.ts
|
|
@@ -4770,7 +4920,48 @@ function toAIProviderConfig(config) {
|
|
|
4770
4920
|
...pruna ? { pruna } : {}
|
|
4771
4921
|
};
|
|
4772
4922
|
}
|
|
4773
|
-
var buildServices = (configOrGenerator) => {
|
|
4923
|
+
var buildServices = (configOrGenerator, model, customGenerator) => {
|
|
4924
|
+
if (customGenerator) {
|
|
4925
|
+
const executor2 = new GenerationExecutor(customGenerator);
|
|
4926
|
+
const emptyFactory = new ProviderFactory({
|
|
4927
|
+
priority: [],
|
|
4928
|
+
fallbackEnabled: false
|
|
4929
|
+
});
|
|
4930
|
+
return {
|
|
4931
|
+
providerFactory: emptyFactory,
|
|
4932
|
+
blogService: new BlogService(executor2),
|
|
4933
|
+
socialService: new SocialService(executor2),
|
|
4934
|
+
videoScriptService: new VideoScriptService(executor2),
|
|
4935
|
+
analysisService: new AnalysisService(executor2),
|
|
4936
|
+
seoService: new SeoService(executor2),
|
|
4937
|
+
abTestService: new ABTestService(executor2),
|
|
4938
|
+
imagePromptService: new ImagePromptService(executor2),
|
|
4939
|
+
contentCalendarService: new ContentCalendarService(executor2),
|
|
4940
|
+
mediaGenerationService: new MediaGenerationService(emptyFactory)
|
|
4941
|
+
};
|
|
4942
|
+
}
|
|
4943
|
+
if (typeof configOrGenerator === "string") {
|
|
4944
|
+
const aiConfig = {
|
|
4945
|
+
anthropic: {
|
|
4946
|
+
apiKey: configOrGenerator,
|
|
4947
|
+
...model ? { models: { balanced: model } } : {}
|
|
4948
|
+
}
|
|
4949
|
+
};
|
|
4950
|
+
const factory2 = createAI(aiConfig);
|
|
4951
|
+
const executor2 = new GenerationExecutor(factory2);
|
|
4952
|
+
return {
|
|
4953
|
+
providerFactory: factory2,
|
|
4954
|
+
blogService: new BlogService(executor2),
|
|
4955
|
+
socialService: new SocialService(executor2),
|
|
4956
|
+
videoScriptService: new VideoScriptService(executor2),
|
|
4957
|
+
analysisService: new AnalysisService(executor2),
|
|
4958
|
+
seoService: new SeoService(executor2),
|
|
4959
|
+
abTestService: new ABTestService(executor2),
|
|
4960
|
+
imagePromptService: new ImagePromptService(executor2),
|
|
4961
|
+
contentCalendarService: new ContentCalendarService(executor2),
|
|
4962
|
+
mediaGenerationService: new MediaGenerationService(factory2)
|
|
4963
|
+
};
|
|
4964
|
+
}
|
|
4774
4965
|
if (isTextGenerator(configOrGenerator)) {
|
|
4775
4966
|
const executor2 = new GenerationExecutor(configOrGenerator);
|
|
4776
4967
|
const emptyFactory = new ProviderFactory({
|
|
@@ -4816,8 +5007,8 @@ var AIContentService = class {
|
|
|
4816
5007
|
imagePromptService;
|
|
4817
5008
|
contentCalendarService;
|
|
4818
5009
|
mediaGenerationService;
|
|
4819
|
-
constructor(configOrGenerator) {
|
|
4820
|
-
const bundle = buildServices(configOrGenerator);
|
|
5010
|
+
constructor(configOrGenerator, model, textGenerator) {
|
|
5011
|
+
const bundle = buildServices(configOrGenerator, model, textGenerator);
|
|
4821
5012
|
this.providerFactory = bundle.providerFactory;
|
|
4822
5013
|
this.blogService = bundle.blogService;
|
|
4823
5014
|
this.socialService = bundle.socialService;
|
|
@@ -5118,6 +5309,6 @@ function buildVideoRequest(data) {
|
|
|
5118
5309
|
}
|
|
5119
5310
|
}
|
|
5120
5311
|
|
|
5121
|
-
export { ABTestService, AB_TEST_DEFAULT_CONFIDENCE, AIContentService, AIError, ASPECT_RATIO_OPTIONS, ASPECT_RATIO_VALUES, AnalysisService, BlogService, CONTENT_WIZARD_STEPS, CREDIT_COSTS, ContentCalendarService, DEFAULT_CREDIT_COST, DEFAULT_HASHTAG_BUDGET, CREDIT_COSTS as GENERATION_COSTS, GenerationExecutor, IMAGE_QUALITY_OPTIONS, IMAGE_QUALITY_VALUES, IMAGE_WIZARD_STEPS, ImagePromptService, MOTION_OPTIONS, MediaGenerationService, MemoryConfig, ModelDefaults, PLATFORM_SPECS, PromptBuilder, ProviderQuotaExhaustedError, ProviderTimingConfig, ProviderUnavailableError, RequestQueueConfig, STYLE_PRESETS, SeoService, SocialService, SpeechPaceConfig, TextModelDefaults, VIDEO_DURATION_OPTIONS, VIDEO_DURATION_OPTIONS_SECONDS, VIDEO_QUALITY_OPTIONS, VIDEO_QUALITY_VALUES, VIDEO_WIZARD_STEPS, ValidationError, ValidationLimits, VideoScriptService, buildContentRequest, buildImageRequest, buildVideoRequest, calculateContentCreditCost, calculateContentCreditCost as calculateCreditCost, calculateImprovementPercentage, calculateKeywordDensity, calculateRetryBackoffDelayMs, clampConfidenceToValidRange, clampScoreToValidRange, classifyKeywordProminence, countKeywordOccurrences, countWordsInContent, estimateFalGenerationCost, estimateGeminiGenerationCost, estimateGroqGenerationCost, estimatePrunaGenerationCost, estimateTokenBudgetForCalendarDays, estimateTokenBudgetForDuration, estimateUnknownProviderCost, estimateWordCountForDuration, generateId, getDimensionsForAspectRatio, getRecommendedQuality, isUnderutilizedKeyword, rankAndTrimHashtags, recommendQualityForAspectRatio, resolveCalendarEntryDate, resolveDefaultPrunaModel, resolveDimensionsForAspectRatio, resolveFalImageSize, resolveFalInferenceSteps, resolveHashtagBudget, resolveMaxContentLength, resolvePlatformSpec, selectHigherScoreVariantId, toQualityTier, truncateForAbVariantPreview, truncateForBlogPromptPreview, truncateForSeoPreview, validateCalendarDays, validateContentBody, validateDurationSeconds, validateHashtagCount, validateKeywordList, validateTopicText };
|
|
5312
|
+
export { ABTestService, AB_TEST_DEFAULT_CONFIDENCE, AIContentService, AIError, ASPECT_RATIO_OPTIONS, ASPECT_RATIO_VALUES, AnalysisService, BlogService, CONTENT_WIZARD_STEPS, CREDIT_COSTS, ContentCalendarService, RequestQueue2 as ContentRequestQueue, DEFAULT_CREDIT_COST, DEFAULT_HASHTAG_BUDGET, CREDIT_COSTS as GENERATION_COSTS, GenerationExecutor, IMAGE_QUALITY_OPTIONS, IMAGE_QUALITY_VALUES, IMAGE_WIZARD_STEPS, ImagePromptService, MOTION_OPTIONS, MediaGenerationService, MemoryConfig, ModelDefaults, PLATFORM_SPECS, PromptBuilder, ProviderQuotaExhaustedError, ProviderTimingConfig, ProviderUnavailableError, RequestPriority, RequestQueueConfig, STYLE_PRESETS, SeoService, SocialService, SpeechPaceConfig, TextModelDefaults, VIDEO_DURATION_OPTIONS, VIDEO_DURATION_OPTIONS_SECONDS, VIDEO_QUALITY_OPTIONS, VIDEO_QUALITY_VALUES, VIDEO_WIZARD_STEPS, ValidationError, ValidationLimits, VideoScriptService, batchRequest, buildContentRequest, buildImageRequest, buildVideoRequest, calculateContentCreditCost, calculateContentCreditCost as calculateCreditCost, calculateImprovementPercentage, calculateKeywordDensity, calculateRetryBackoffDelayMs, clampConfidenceToValidRange, clampScoreToValidRange, classifyKeywordProminence, countKeywordOccurrences, countWordsInContent, estimateFalGenerationCost, estimateGeminiGenerationCost, estimateGroqGenerationCost, estimatePrunaGenerationCost, estimateTokenBudgetForCalendarDays, estimateTokenBudgetForDuration, estimateUnknownProviderCost, estimateWordCountForDuration, extractJSON, generateId, getDimensionsForAspectRatio, getRecommendedQuality, isUnderutilizedKeyword, isValidJSON, parseAIResponse, rankAndTrimHashtags, recommendQualityForAspectRatio, resolveCalendarEntryDate, resolveDefaultPrunaModel, resolveDimensionsForAspectRatio, resolveFalImageSize, resolveFalInferenceSteps, resolveHashtagBudget, resolveMaxContentLength, resolvePlatformSpec, safeJSONParse, selectHigherScoreVariantId, toQualityTier, truncateForAbVariantPreview, truncateForBlogPromptPreview, truncateForSeoPreview, validateCalendarDays, validateContentBody, validateDurationSeconds, validateHashtagCount, validateKeywordList, validateTopicText };
|
|
5122
5313
|
//# sourceMappingURL=index.js.map
|
|
5123
5314
|
//# sourceMappingURL=index.js.map
|