@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/index.d.cts CHANGED
@@ -11,5 +11,5 @@ export { C as ChatConfig, a as ChatConversation, b as ChatMessageSender, c as Ch
11
11
  export { ChatIdGenerator, chatIdGenerator, messageFormatter } from './chat/index.cjs';
12
12
  export { B as BlogGenerationRequest, a as BlogType, C as CONTENT_WIZARD_STEPS, b as ContentCalendarEntry, c as ContentTone, d as ContentType, e as ContentWizardData, f as ContentWizardStep, g as ContentWizardType, E as Emotion, G as GeneratedBlog, h as GeneratedSocialContent, i as GeneratedVideoScript, I as IMAGE_WIZARD_STEPS, j as ImageWizardData, k as ImageWizardStep, P as PLATFORM_SPECS, l as PlatformSpecs, S as Sentiment, m as SocialContentRequest, n as SocialPlatform, V as VIDEO_WIZARD_STEPS, o as ValidationResult, p as VideoGenerationType, q as VideoScriptRequest, r as VideoWizardData, s as VideoWizardStep, W as WizardConfig, t as WizardData, u as WizardStep, v as buildContentRequest, w as buildImageRequest, x as buildVideoRequest } from './index-BulSkB2L.cjs';
13
13
  export { A as ABTestComparison, a as ABTestPrediction, b as ABTestRequest, c as ABTestVariant, d as AIErrorCode, e as ASPECT_RATIO_OPTIONS, f as AspectRatio, C as ContentAnalysisRequest, g as ContentAnalysisResult, G as ContentGenerationResult, h as CreditCost, i as GENERATION_COSTS, j as GenerationMetadata, k as GenerationProgress, l as GenerationStatus, m as GenerationType, I as IMAGE_QUALITY_OPTIONS, n as ImageGenerationInput, o as ImageQuality, K as KeywordAnalysis, M as MOTION_OPTIONS, P as ProviderQuotaExhaustedError, p as ProviderUnavailableError, S as SEOOptimizationRequest, q as SEOOptimizationResult, r as SEOScoreBreakdown, s as STYLE_PRESETS, t as SentimentAnalysisResult, V as VIDEO_DURATION_OPTIONS_SECONDS, u as VIDEO_QUALITY_OPTIONS, v as VideoGenerationInput, w as VideoQuality, x as calculateCreditCost } from './AIErrors-DjZXUiLT.cjs';
14
- 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 getDimensionsForAspectRatio, j as getRecommendedQuality } from './PromptBuilder-DIUZlfV6.cjs';
14
+ 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, 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, s as safeJSONParse } from './requestQueue-CkJ6Xc9K.cjs';
15
15
  import './ProviderConfig-DIFa9nmG.cjs';
package/dist/index.d.ts CHANGED
@@ -11,5 +11,5 @@ export { C as ChatConfig, a as ChatConversation, b as ChatMessageSender, c as Ch
11
11
  export { ChatIdGenerator, chatIdGenerator, messageFormatter } from './chat/index.js';
12
12
  export { B as BlogGenerationRequest, a as BlogType, C as CONTENT_WIZARD_STEPS, b as ContentCalendarEntry, c as ContentTone, d as ContentType, e as ContentWizardData, f as ContentWizardStep, g as ContentWizardType, E as Emotion, G as GeneratedBlog, h as GeneratedSocialContent, i as GeneratedVideoScript, I as IMAGE_WIZARD_STEPS, j as ImageWizardData, k as ImageWizardStep, P as PLATFORM_SPECS, l as PlatformSpecs, S as Sentiment, m as SocialContentRequest, n as SocialPlatform, V as VIDEO_WIZARD_STEPS, o as ValidationResult, p as VideoGenerationType, q as VideoScriptRequest, r as VideoWizardData, s as VideoWizardStep, W as WizardConfig, t as WizardData, u as WizardStep, v as buildContentRequest, w as buildImageRequest, x as buildVideoRequest } from './index-BUVULo3h.js';
13
13
  export { A as ABTestComparison, a as ABTestPrediction, b as ABTestRequest, c as ABTestVariant, d as AIErrorCode, e as ASPECT_RATIO_OPTIONS, f as AspectRatio, C as ContentAnalysisRequest, g as ContentAnalysisResult, G as ContentGenerationResult, h as CreditCost, i as GENERATION_COSTS, j as GenerationMetadata, k as GenerationProgress, l as GenerationStatus, m as GenerationType, I as IMAGE_QUALITY_OPTIONS, n as ImageGenerationInput, o as ImageQuality, K as KeywordAnalysis, M as MOTION_OPTIONS, P as ProviderQuotaExhaustedError, p as ProviderUnavailableError, S as SEOOptimizationRequest, q as SEOOptimizationResult, r as SEOScoreBreakdown, s as STYLE_PRESETS, t as SentimentAnalysisResult, V as VIDEO_DURATION_OPTIONS_SECONDS, u as VIDEO_QUALITY_OPTIONS, v as VideoGenerationInput, w as VideoQuality, x as calculateCreditCost } from './AIErrors-CLjXRty-.js';
14
- 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 getDimensionsForAspectRatio, j as getRecommendedQuality } from './PromptBuilder-B5Lm1znm.js';
14
+ 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, 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, s as safeJSONParse } from './requestQueue-CvxWxC-z.js';
15
15
  import './ProviderConfig-DIFa9nmG.js';
package/dist/index.js CHANGED
@@ -5109,6 +5109,15 @@ var BlogService = class {
5109
5109
  };
5110
5110
  }
5111
5111
  };
5112
+
5113
+ // src/content/infrastructure/utils/requestQueue.ts
5114
+ var RequestPriority = /* @__PURE__ */ ((RequestPriority2) => {
5115
+ RequestPriority2[RequestPriority2["LOW"] = 0] = "LOW";
5116
+ RequestPriority2[RequestPriority2["NORMAL"] = 1] = "NORMAL";
5117
+ RequestPriority2[RequestPriority2["HIGH"] = 2] = "HIGH";
5118
+ RequestPriority2[RequestPriority2["URGENT"] = 3] = "URGENT";
5119
+ return RequestPriority2;
5120
+ })(RequestPriority || {});
5112
5121
  async function batchRequest(requests, options = {}) {
5113
5122
  const {
5114
5123
  concurrency = 3,
@@ -5592,7 +5601,10 @@ function safeJSONParse(text, fallback, onError) {
5592
5601
  const positionMatch = error.message.match(/position (\d+)/);
5593
5602
  const position = positionMatch ? parseInt(positionMatch[1], 10) : -1;
5594
5603
  if (position > 0) {
5595
- text.substring(Math.max(0, position - 50), position + 50);
5604
+ const context = text.substring(Math.max(0, position - 50), position + 50);
5605
+ onError?.(`JSON parse error at position ${position}: "${context}"`);
5606
+ } else {
5607
+ onError?.(`JSON parse error: ${error.message}`);
5596
5608
  }
5597
5609
  }
5598
5610
  return fallback;
@@ -5619,9 +5631,23 @@ function extractJSON(text) {
5619
5631
  function parseAIResponse(response, fallback, onError) {
5620
5632
  const json = extractJSON(response);
5621
5633
  if (!json) {
5634
+ onError?.("No JSON payload found in response");
5622
5635
  return fallback;
5623
5636
  }
5624
- return safeJSONParse(json, fallback);
5637
+ return safeJSONParse(json, fallback, onError);
5638
+ }
5639
+ function isValidJSON(text) {
5640
+ const trimmed = text.trim();
5641
+ if (trimmed.length === 0) return false;
5642
+ if (!(trimmed.startsWith("{") && trimmed.endsWith("}") || trimmed.startsWith("[") && trimmed.endsWith("]"))) {
5643
+ return false;
5644
+ }
5645
+ try {
5646
+ JSON.parse(trimmed);
5647
+ return true;
5648
+ } catch {
5649
+ return false;
5650
+ }
5625
5651
  }
5626
5652
 
5627
5653
  // src/content/application/services/GenerationExecutor.ts
@@ -5682,7 +5708,48 @@ function toAIProviderConfig(config) {
5682
5708
  ...pruna ? { pruna } : {}
5683
5709
  };
5684
5710
  }
5685
- var buildServices = (configOrGenerator) => {
5711
+ var buildServices = (configOrGenerator, model, customGenerator) => {
5712
+ if (customGenerator) {
5713
+ const executor2 = new GenerationExecutor(customGenerator);
5714
+ const emptyFactory = new ProviderFactory({
5715
+ priority: [],
5716
+ fallbackEnabled: false
5717
+ });
5718
+ return {
5719
+ providerFactory: emptyFactory,
5720
+ blogService: new BlogService(executor2),
5721
+ socialService: new SocialService(executor2),
5722
+ videoScriptService: new VideoScriptService(executor2),
5723
+ analysisService: new AnalysisService(executor2),
5724
+ seoService: new SeoService(executor2),
5725
+ abTestService: new ABTestService(executor2),
5726
+ imagePromptService: new ImagePromptService(executor2),
5727
+ contentCalendarService: new ContentCalendarService(executor2),
5728
+ mediaGenerationService: new MediaGenerationService(emptyFactory)
5729
+ };
5730
+ }
5731
+ if (typeof configOrGenerator === "string") {
5732
+ const aiConfig = {
5733
+ anthropic: {
5734
+ apiKey: configOrGenerator,
5735
+ ...model ? { models: { balanced: model } } : {}
5736
+ }
5737
+ };
5738
+ const factory2 = createAI(aiConfig);
5739
+ const executor2 = new GenerationExecutor(factory2);
5740
+ return {
5741
+ providerFactory: factory2,
5742
+ blogService: new BlogService(executor2),
5743
+ socialService: new SocialService(executor2),
5744
+ videoScriptService: new VideoScriptService(executor2),
5745
+ analysisService: new AnalysisService(executor2),
5746
+ seoService: new SeoService(executor2),
5747
+ abTestService: new ABTestService(executor2),
5748
+ imagePromptService: new ImagePromptService(executor2),
5749
+ contentCalendarService: new ContentCalendarService(executor2),
5750
+ mediaGenerationService: new MediaGenerationService(factory2)
5751
+ };
5752
+ }
5686
5753
  if (isTextGenerator(configOrGenerator)) {
5687
5754
  const executor2 = new GenerationExecutor(configOrGenerator);
5688
5755
  const emptyFactory = new ProviderFactory({
@@ -5728,8 +5795,8 @@ var AIContentService = class {
5728
5795
  imagePromptService;
5729
5796
  contentCalendarService;
5730
5797
  mediaGenerationService;
5731
- constructor(configOrGenerator) {
5732
- const bundle = buildServices(configOrGenerator);
5798
+ constructor(configOrGenerator, model, textGenerator) {
5799
+ const bundle = buildServices(configOrGenerator, model, textGenerator);
5733
5800
  this.providerFactory = bundle.providerFactory;
5734
5801
  this.blogService = bundle.blogService;
5735
5802
  this.socialService = bundle.socialService;
@@ -6030,6 +6097,6 @@ function buildVideoRequest(data) {
6030
6097
  }
6031
6098
  }
6032
6099
 
6033
- export { ABTestService, AIContentService, AIError, AIErrorType, ANTHROPIC_API_VERSION, ANTHROPIC_DEFAULT_MAX_TOKENS, ANTHROPIC_MODELS, ANTHROPIC_TIERS, API_ENDPOINTS, ASPECT_RATIO_OPTIONS, ASPECT_RATIO_VALUES, AnalysisService, AnthropicHttpTransport, AnthropicProvider, AnthropicRequestBuilder, AuthenticationError, BaseProvider as BaseAIProvider, BaseProvider, BlogService, CONTENT_WIZARD_STEPS, CacheManager, CancellationError, ChatIdGenerator, ChatService, CompositeExecutor, ContentCalendarService, DEFAULT_API_KEY_RULE, DEFAULT_BASE_URL, DEFAULT_ERROR_CLASSIFICATION_RULE, DEFAULT_GENERATION_CONFIG, DEFAULT_HTTP_STATUS_RULE, DEFAULT_MODELS, DEFAULT_PROMPT_STRATEGY, DEFAULT_RETRY_BACKOFF_MULTIPLIER, DEFAULT_RETRY_INITIAL_DELAY_MS, DEFAULT_RETRY_JITTER_FACTOR, DEFAULT_RETRY_MAX_ATTEMPTS, DEFAULT_RETRY_MAX_DELAY_MS, DebounceManager, DedupeExecutor, FalProvider, GEMINI_TIERS, CREDIT_COSTS as GENERATION_COSTS, GROQ_MODELS, GROQ_TIERS, GeminiProvider, GenerationExecutor, GenerationFailedError, GroqChatRequestBuilder, GroqConfigStore, GroqError, AIErrorType as GroqErrorType, GroqHttpClient, GroqHttpTransport, GroqProvider, IMAGE_QUALITY_OPTIONS, IMAGE_QUALITY_VALUES, IMAGE_WIZARD_STEPS, ImagePromptService, JSON_CODE_BLOCK_PATTERN, JSON_OBJECT_PATTERN, JsonResponseParser, MOTION_OPTIONS, MediaGenerationService, PromptBuilder, ProviderError, ProviderFactory, ProviderQuotaExhaustedError, ProviderUnavailableError, PrunaProvider, QueueExecutor, RequestDeduplicator, RequestQueue, RetryExecutor, RetryManager, SSE_BRIDGE_EVENTS, SSE_DONE_MARKER, SSE_PREFIX, STYLE_PRESETS, SeoService, SocialService, StreamingResponseParser, StructuredPromptBuilder, TEXT_TIERS, TIMEOUTS, TextGenerationService, ThrottleManager, TimeoutError, USER_FRIENDLY_ERROR_MESSAGES, VIDEO_DURATION_OPTIONS, VIDEO_DURATION_OPTIONS_SECONDS, VIDEO_QUALITY_OPTIONS, VIDEO_QUALITY_VALUES, VIDEO_WIZARD_STEPS, ValidationError2 as ValidationError, VideoScriptService, asObjectArray, asRecord, asStringArray, asTrimmedOptionalString, buildCacheKey, buildContentRequest, buildHttpStatusFallback, buildImageRequest, buildVideoRequest, cacheManager, calculateContentCreditCost as calculateCreditCost, chatIdGenerator, clampScore, classifyHttpStatus, configureProvider, consumeAnthropicStream, consumeGroqStream, createAI, createAssistantMessage, createFalProvider, createGeminiProvider, createGroqProvider, createMessage, createProviderFactory, createPrunaProvider, createSseResponse, createSystemMessage, createUserMessage, debounce, debounceManager, defaultEffortForModel, describeAIErrorType, extractContentFromSsePayload, extractErrorMessageFromJsonBody, extractErrorMessageFromResponse, extractJsonArray, extractJsonCandidate, extractJsonFromCodeFence, extractJsonObject, extractSseDataPayload, extractTextFromMessages, extractTokenUsage, formatErrorForLogging, formatMessagesForDisplay, generateImageThenVideo, generate as generatePruna, generateWithPruna, getDimensionsForAspectRatio, getProvider, getRecommendedQuality, isAuthErrorType, isMediaProvider, isRetryableErrorType, isSseDataLine, isSseDoneMarker, isTextProvider, isTextTier, isValidApiKey, mapAnthropicStopReason, mergeTierOverrides, messageFormatter, normalizeSseChunk, oneOfCatalog, pollForResult, promptToMessages, repairCommonJsonDefects, requestDeduplicator, requestQueue, requestStructuredJson, resetProvider, resolveModel, resolveUserFriendlyErrorMessage, resolveUserFriendlyMessage, retryManager, splitSseLines, submitPrediction, throttle, throttleManager, toGroqMessages, uploadImage, validateApiKey, withRetry };
6100
+ export { ABTestService, AIContentService, AIError, AIErrorType, ANTHROPIC_API_VERSION, ANTHROPIC_DEFAULT_MAX_TOKENS, ANTHROPIC_MODELS, ANTHROPIC_TIERS, API_ENDPOINTS, ASPECT_RATIO_OPTIONS, ASPECT_RATIO_VALUES, AnalysisService, AnthropicHttpTransport, AnthropicProvider, AnthropicRequestBuilder, AuthenticationError, BaseProvider as BaseAIProvider, BaseProvider, BlogService, CONTENT_WIZARD_STEPS, CacheManager, CancellationError, ChatIdGenerator, ChatService, CompositeExecutor, ContentCalendarService, DEFAULT_API_KEY_RULE, DEFAULT_BASE_URL, DEFAULT_ERROR_CLASSIFICATION_RULE, DEFAULT_GENERATION_CONFIG, DEFAULT_HTTP_STATUS_RULE, DEFAULT_MODELS, DEFAULT_PROMPT_STRATEGY, DEFAULT_RETRY_BACKOFF_MULTIPLIER, DEFAULT_RETRY_INITIAL_DELAY_MS, DEFAULT_RETRY_JITTER_FACTOR, DEFAULT_RETRY_MAX_ATTEMPTS, DEFAULT_RETRY_MAX_DELAY_MS, DebounceManager, DedupeExecutor, FalProvider, GEMINI_TIERS, CREDIT_COSTS as GENERATION_COSTS, GROQ_MODELS, GROQ_TIERS, GeminiProvider, GenerationExecutor, GenerationFailedError, GroqChatRequestBuilder, GroqConfigStore, GroqError, AIErrorType as GroqErrorType, GroqHttpClient, GroqHttpTransport, GroqProvider, IMAGE_QUALITY_OPTIONS, IMAGE_QUALITY_VALUES, IMAGE_WIZARD_STEPS, ImagePromptService, JSON_CODE_BLOCK_PATTERN, JSON_OBJECT_PATTERN, JsonResponseParser, MOTION_OPTIONS, MediaGenerationService, PromptBuilder, ProviderError, ProviderFactory, ProviderQuotaExhaustedError, ProviderUnavailableError, PrunaProvider, QueueExecutor, RequestDeduplicator, RequestPriority, RequestQueue, RetryExecutor, RetryManager, SSE_BRIDGE_EVENTS, SSE_DONE_MARKER, SSE_PREFIX, STYLE_PRESETS, SeoService, SocialService, StreamingResponseParser, StructuredPromptBuilder, TEXT_TIERS, TIMEOUTS, TextGenerationService, ThrottleManager, TimeoutError, USER_FRIENDLY_ERROR_MESSAGES, VIDEO_DURATION_OPTIONS, VIDEO_DURATION_OPTIONS_SECONDS, VIDEO_QUALITY_OPTIONS, VIDEO_QUALITY_VALUES, VIDEO_WIZARD_STEPS, ValidationError2 as ValidationError, VideoScriptService, asObjectArray, asRecord, asStringArray, asTrimmedOptionalString, batchRequest, buildCacheKey, buildContentRequest, buildHttpStatusFallback, buildImageRequest, buildVideoRequest, cacheManager, calculateContentCreditCost as calculateCreditCost, chatIdGenerator, clampScore, classifyHttpStatus, configureProvider, consumeAnthropicStream, consumeGroqStream, createAI, createAssistantMessage, createFalProvider, createGeminiProvider, createGroqProvider, createMessage, createProviderFactory, createPrunaProvider, createSseResponse, createSystemMessage, createUserMessage, debounce, debounceManager, defaultEffortForModel, describeAIErrorType, extractContentFromSsePayload, extractErrorMessageFromJsonBody, extractErrorMessageFromResponse, extractJSON, extractJsonArray, extractJsonCandidate, extractJsonFromCodeFence, extractJsonObject, extractSseDataPayload, extractTextFromMessages, extractTokenUsage, formatErrorForLogging, formatMessagesForDisplay, generateImageThenVideo, generate as generatePruna, generateWithPruna, getDimensionsForAspectRatio, getProvider, getRecommendedQuality, isAuthErrorType, isMediaProvider, isRetryableErrorType, isSseDataLine, isSseDoneMarker, isTextProvider, isTextTier, isValidApiKey, isValidJSON, mapAnthropicStopReason, mergeTierOverrides, messageFormatter, normalizeSseChunk, oneOfCatalog, parseAIResponse, pollForResult, promptToMessages, repairCommonJsonDefects, requestDeduplicator, requestQueue, requestStructuredJson, resetProvider, resolveModel, resolveUserFriendlyErrorMessage, resolveUserFriendlyMessage, retryManager, safeJSONParse, splitSseLines, submitPrediction, throttle, throttleManager, toGroqMessages, uploadImage, validateApiKey, withRetry };
6034
6101
  //# sourceMappingURL=index.js.map
6035
6102
  //# sourceMappingURL=index.js.map