@umituz/web-ai 1.0.4 → 1.0.6
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/core/index.cjs +15 -1
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +4 -3
- package/dist/core/index.d.ts +4 -3
- package/dist/core/index.js +15 -2
- package/dist/core/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 +93 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +87 -7
- 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/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { C as ChatMessage, F as FinishReason, G as GenerationResult, P as ProviderHealth, S as StreamCallbacks, a as StructuredGeneration, b as StructuredTextRequest, T as TextRequest, c as TextTier, d as TokenUsage } from './index-fXjxTR5W.cjs';
|
|
2
2
|
export { A as AIError, a as AIErrorMetadata, b as AIErrorType, b as GroqErrorType, T as TEXT_TIERS, c as TierModelMap, U as USER_FRIENDLY_ERROR_MESSAGES, i as isTextTier, m as mergeTierOverrides, r as resolveModel } from './index-DKHNcMbl.cjs';
|
|
3
|
-
export { AIErrorBody, ApiKeyValidationRule, CompositeExecutor, DEFAULT_API_KEY_RULE, DEFAULT_ERROR_CLASSIFICATION_RULE, DEFAULT_HTTP_STATUS_RULE, DEFAULT_RETRY_BACKOFF_MULTIPLIER, DEFAULT_RETRY_INITIAL_DELAY_MS, DEFAULT_RETRY_JITTER_FACTOR, DEFAULT_RETRY_MAX_ATTEMPTS, DEFAULT_RETRY_MAX_DELAY_MS, DebounceManager, DebounceOptions, DedupeExecutor, DedupeExecutorOptions, ErrorClassificationRule, GroqError, GroqErrorMetadata, HttpStatusClassificationRule, IRequestExecutor, JSON_CODE_BLOCK_PATTERN, JSON_OBJECT_PATTERN, JsonResponseParser, LoggedError, NormalizedSseChunk, QueueExecutor, RetryExecutor, SSE_BRIDGE_EVENTS, SSE_DONE_MARKER, SSE_PREFIX, SseDeltaExtractor, SseResponseOptions, StreamingParserCallbacks, StreamingResponseParser, StructuredPromptBuilder, ThrottleManager, ThrottleOptions, asObjectArray, asRecord, asStringArray, asTrimmedOptionalString, buildCacheKey, buildHttpStatusFallback, clampScore, classifyHttpStatus, createSseResponse, debounce, debounceManager, describeAIErrorType, extractErrorMessageFromJsonBody, extractErrorMessageFromResponse, extractJsonArray, extractJsonCandidate, extractJsonFromCodeFence, extractJsonObject, extractSseDataPayload, formatErrorForLogging, isAuthErrorType, isRetryableErrorType, isSseDataLine, isSseDoneMarker, isValidApiKey, normalizeSseChunk, oneOfCatalog, repairCommonJsonDefects, resolveUserFriendlyErrorMessage, resolveUserFriendlyMessage, splitSseLines, throttle, throttleManager, validateApiKey } from './core/index.cjs';
|
|
3
|
+
export { AIErrorBody, ApiKeyValidationRule, CompositeExecutor, DEFAULT_API_KEY_RULE, DEFAULT_ERROR_CLASSIFICATION_RULE, DEFAULT_HTTP_STATUS_RULE, DEFAULT_RETRY_BACKOFF_MULTIPLIER, DEFAULT_RETRY_INITIAL_DELAY_MS, DEFAULT_RETRY_JITTER_FACTOR, DEFAULT_RETRY_MAX_ATTEMPTS, DEFAULT_RETRY_MAX_DELAY_MS, DebounceManager, DebounceOptions, DedupeExecutor, DedupeExecutorOptions, ErrorClassificationRule, GroqError, GroqErrorMetadata, HttpStatusClassificationRule, IRequestExecutor, JSON_CODE_BLOCK_PATTERN, JSON_OBJECT_PATTERN, JsonResponseParser, LoggedError, NormalizedSseChunk, QueueExecutor, RetryExecutor, SSE_BRIDGE_EVENTS, SSE_DONE_MARKER, SSE_PREFIX, SseDeltaExtractor, SseResponseOptions, StreamingParserCallbacks, StreamingResponseParser, StructuredPromptBuilder, ThrottleManager, ThrottleOptions, asObjectArray, asRecord, asStringArray, asTrimmedOptionalString, buildCacheKey, buildHttpStatusFallback, clampScore, classifyHttpStatus, createSseResponse, debounce, debounceManager, defaultSseDeltaExtractor, describeAIErrorType, extractErrorMessageFromJsonBody, extractErrorMessageFromResponse, extractJsonArray, extractJsonCandidate, extractJsonFromCodeFence, extractJsonObject, extractSseDataPayload, formatErrorForLogging, isAuthErrorType, isRetryableErrorType, isSseDataLine, isSseDoneMarker, isValidApiKey, normalizeSseChunk, oneOfCatalog, repairCommonJsonDefects, resolveUserFriendlyErrorMessage, resolveUserFriendlyMessage, splitSseLines, throttle, throttleManager, validateApiKey } from './core/index.cjs';
|
|
4
4
|
export { C as CacheManager, a as CacheOptions, b as CacheStats, c as cacheManager } from './cache-manager-Df9LLYGA.cjs';
|
|
5
5
|
export { Q as QueueOptions, R as RequestDeduplicator, a as RequestQueue, b as RetryManager, c as RetryOptions, r as requestDeduplicator, d as requestQueue, e as retryManager, w as withRetry } from './request-deduplicator.util-NDo0_n1y.cjs';
|
|
6
6
|
export { A as AnyProvider, C as CostEstimateRequest, I as IAIProvider, a as IMediaProvider, b as IProviderBase, c as ITextGenerator, d as ITextProvider, P as ProviderCapability, e as ProviderFactory, f as ProviderFactoryConfig, T as TextGenerationOptions, g as createProviderFactory, i as isMediaProvider, h as isTextProvider } from './provider.factory-DyfJtR8M.cjs';
|
|
@@ -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
|
|
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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { C as ChatMessage, F as FinishReason, G as GenerationResult, P as ProviderHealth, S as StreamCallbacks, a as StructuredGeneration, b as StructuredTextRequest, T as TextRequest, c as TextTier, d as TokenUsage } from './index-fXjxTR5W.js';
|
|
2
2
|
export { A as AIError, a as AIErrorMetadata, b as AIErrorType, b as GroqErrorType, T as TEXT_TIERS, c as TierModelMap, U as USER_FRIENDLY_ERROR_MESSAGES, i as isTextTier, m as mergeTierOverrides, r as resolveModel } from './index-DIHz8_OJ.js';
|
|
3
|
-
export { AIErrorBody, ApiKeyValidationRule, CompositeExecutor, DEFAULT_API_KEY_RULE, DEFAULT_ERROR_CLASSIFICATION_RULE, DEFAULT_HTTP_STATUS_RULE, DEFAULT_RETRY_BACKOFF_MULTIPLIER, DEFAULT_RETRY_INITIAL_DELAY_MS, DEFAULT_RETRY_JITTER_FACTOR, DEFAULT_RETRY_MAX_ATTEMPTS, DEFAULT_RETRY_MAX_DELAY_MS, DebounceManager, DebounceOptions, DedupeExecutor, DedupeExecutorOptions, ErrorClassificationRule, GroqError, GroqErrorMetadata, HttpStatusClassificationRule, IRequestExecutor, JSON_CODE_BLOCK_PATTERN, JSON_OBJECT_PATTERN, JsonResponseParser, LoggedError, NormalizedSseChunk, QueueExecutor, RetryExecutor, SSE_BRIDGE_EVENTS, SSE_DONE_MARKER, SSE_PREFIX, SseDeltaExtractor, SseResponseOptions, StreamingParserCallbacks, StreamingResponseParser, StructuredPromptBuilder, ThrottleManager, ThrottleOptions, asObjectArray, asRecord, asStringArray, asTrimmedOptionalString, buildCacheKey, buildHttpStatusFallback, clampScore, classifyHttpStatus, createSseResponse, debounce, debounceManager, describeAIErrorType, extractErrorMessageFromJsonBody, extractErrorMessageFromResponse, extractJsonArray, extractJsonCandidate, extractJsonFromCodeFence, extractJsonObject, extractSseDataPayload, formatErrorForLogging, isAuthErrorType, isRetryableErrorType, isSseDataLine, isSseDoneMarker, isValidApiKey, normalizeSseChunk, oneOfCatalog, repairCommonJsonDefects, resolveUserFriendlyErrorMessage, resolveUserFriendlyMessage, splitSseLines, throttle, throttleManager, validateApiKey } from './core/index.js';
|
|
3
|
+
export { AIErrorBody, ApiKeyValidationRule, CompositeExecutor, DEFAULT_API_KEY_RULE, DEFAULT_ERROR_CLASSIFICATION_RULE, DEFAULT_HTTP_STATUS_RULE, DEFAULT_RETRY_BACKOFF_MULTIPLIER, DEFAULT_RETRY_INITIAL_DELAY_MS, DEFAULT_RETRY_JITTER_FACTOR, DEFAULT_RETRY_MAX_ATTEMPTS, DEFAULT_RETRY_MAX_DELAY_MS, DebounceManager, DebounceOptions, DedupeExecutor, DedupeExecutorOptions, ErrorClassificationRule, GroqError, GroqErrorMetadata, HttpStatusClassificationRule, IRequestExecutor, JSON_CODE_BLOCK_PATTERN, JSON_OBJECT_PATTERN, JsonResponseParser, LoggedError, NormalizedSseChunk, QueueExecutor, RetryExecutor, SSE_BRIDGE_EVENTS, SSE_DONE_MARKER, SSE_PREFIX, SseDeltaExtractor, SseResponseOptions, StreamingParserCallbacks, StreamingResponseParser, StructuredPromptBuilder, ThrottleManager, ThrottleOptions, asObjectArray, asRecord, asStringArray, asTrimmedOptionalString, buildCacheKey, buildHttpStatusFallback, clampScore, classifyHttpStatus, createSseResponse, debounce, debounceManager, defaultSseDeltaExtractor, describeAIErrorType, extractErrorMessageFromJsonBody, extractErrorMessageFromResponse, extractJsonArray, extractJsonCandidate, extractJsonFromCodeFence, extractJsonObject, extractSseDataPayload, formatErrorForLogging, isAuthErrorType, isRetryableErrorType, isSseDataLine, isSseDoneMarker, isValidApiKey, normalizeSseChunk, oneOfCatalog, repairCommonJsonDefects, resolveUserFriendlyErrorMessage, resolveUserFriendlyMessage, splitSseLines, throttle, throttleManager, validateApiKey } from './core/index.js';
|
|
4
4
|
export { C as CacheManager, a as CacheOptions, b as CacheStats, c as cacheManager } from './cache-manager-Df9LLYGA.js';
|
|
5
5
|
export { Q as QueueOptions, R as RequestDeduplicator, a as RequestQueue, b as RetryManager, c as RetryOptions, r as requestDeduplicator, d as requestQueue, e as retryManager, w as withRetry } from './request-deduplicator.util-NDo0_n1y.js';
|
|
6
6
|
export { A as AnyProvider, C as CostEstimateRequest, I as IAIProvider, a as IMediaProvider, b as IProviderBase, c as ITextGenerator, d as ITextProvider, P as ProviderCapability, e as ProviderFactory, f as ProviderFactoryConfig, T as TextGenerationOptions, g as createProviderFactory, i as isMediaProvider, h as isTextProvider } from './provider.factory-BwPnqSEU.js';
|
|
@@ -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
|
|
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
|
@@ -996,9 +996,22 @@ var SSE_BRIDGE_EVENTS = {
|
|
|
996
996
|
done: "done",
|
|
997
997
|
error: "error"
|
|
998
998
|
};
|
|
999
|
+
function defaultSseDeltaExtractor(payload) {
|
|
1000
|
+
try {
|
|
1001
|
+
const parsed = JSON.parse(payload);
|
|
1002
|
+
const content = parsed.choices?.[0]?.delta?.content;
|
|
1003
|
+
if (typeof content === "string" && content.length > 0) return content;
|
|
1004
|
+
if (typeof parsed.delta?.text === "string" && parsed.delta.text.length > 0) return parsed.delta.text;
|
|
1005
|
+
if (typeof parsed.text === "string" && parsed.text.length > 0) return parsed.text;
|
|
1006
|
+
return null;
|
|
1007
|
+
} catch {
|
|
1008
|
+
return null;
|
|
1009
|
+
}
|
|
1010
|
+
}
|
|
999
1011
|
function createSseResponse(openUpstream, options) {
|
|
1000
1012
|
const encoder = new TextEncoder();
|
|
1001
1013
|
const decoder = new TextDecoder();
|
|
1014
|
+
const extractDelta = options.extractDelta ?? defaultSseDeltaExtractor;
|
|
1002
1015
|
const stream = new ReadableStream({
|
|
1003
1016
|
async start(controller) {
|
|
1004
1017
|
let closed = false;
|
|
@@ -1030,7 +1043,7 @@ data: ${JSON.stringify(data)}
|
|
|
1030
1043
|
if (!isSseDataLine(trimmed)) return false;
|
|
1031
1044
|
const payload = extractSseDataPayload(trimmed);
|
|
1032
1045
|
if (isSseDoneMarker(payload)) return true;
|
|
1033
|
-
const text =
|
|
1046
|
+
const text = extractDelta(payload);
|
|
1034
1047
|
if (text) {
|
|
1035
1048
|
delivered = true;
|
|
1036
1049
|
emit(SSE_BRIDGE_EVENTS.delta, { text });
|
|
@@ -5109,6 +5122,15 @@ var BlogService = class {
|
|
|
5109
5122
|
};
|
|
5110
5123
|
}
|
|
5111
5124
|
};
|
|
5125
|
+
|
|
5126
|
+
// src/content/infrastructure/utils/requestQueue.ts
|
|
5127
|
+
var RequestPriority = /* @__PURE__ */ ((RequestPriority2) => {
|
|
5128
|
+
RequestPriority2[RequestPriority2["LOW"] = 0] = "LOW";
|
|
5129
|
+
RequestPriority2[RequestPriority2["NORMAL"] = 1] = "NORMAL";
|
|
5130
|
+
RequestPriority2[RequestPriority2["HIGH"] = 2] = "HIGH";
|
|
5131
|
+
RequestPriority2[RequestPriority2["URGENT"] = 3] = "URGENT";
|
|
5132
|
+
return RequestPriority2;
|
|
5133
|
+
})(RequestPriority || {});
|
|
5112
5134
|
async function batchRequest(requests, options = {}) {
|
|
5113
5135
|
const {
|
|
5114
5136
|
concurrency = 3,
|
|
@@ -5592,7 +5614,10 @@ function safeJSONParse(text, fallback, onError) {
|
|
|
5592
5614
|
const positionMatch = error.message.match(/position (\d+)/);
|
|
5593
5615
|
const position = positionMatch ? parseInt(positionMatch[1], 10) : -1;
|
|
5594
5616
|
if (position > 0) {
|
|
5595
|
-
text.substring(Math.max(0, position - 50), position + 50);
|
|
5617
|
+
const context = text.substring(Math.max(0, position - 50), position + 50);
|
|
5618
|
+
onError?.(`JSON parse error at position ${position}: "${context}"`);
|
|
5619
|
+
} else {
|
|
5620
|
+
onError?.(`JSON parse error: ${error.message}`);
|
|
5596
5621
|
}
|
|
5597
5622
|
}
|
|
5598
5623
|
return fallback;
|
|
@@ -5619,9 +5644,23 @@ function extractJSON(text) {
|
|
|
5619
5644
|
function parseAIResponse(response, fallback, onError) {
|
|
5620
5645
|
const json = extractJSON(response);
|
|
5621
5646
|
if (!json) {
|
|
5647
|
+
onError?.("No JSON payload found in response");
|
|
5622
5648
|
return fallback;
|
|
5623
5649
|
}
|
|
5624
|
-
return safeJSONParse(json, fallback);
|
|
5650
|
+
return safeJSONParse(json, fallback, onError);
|
|
5651
|
+
}
|
|
5652
|
+
function isValidJSON(text) {
|
|
5653
|
+
const trimmed = text.trim();
|
|
5654
|
+
if (trimmed.length === 0) return false;
|
|
5655
|
+
if (!(trimmed.startsWith("{") && trimmed.endsWith("}") || trimmed.startsWith("[") && trimmed.endsWith("]"))) {
|
|
5656
|
+
return false;
|
|
5657
|
+
}
|
|
5658
|
+
try {
|
|
5659
|
+
JSON.parse(trimmed);
|
|
5660
|
+
return true;
|
|
5661
|
+
} catch {
|
|
5662
|
+
return false;
|
|
5663
|
+
}
|
|
5625
5664
|
}
|
|
5626
5665
|
|
|
5627
5666
|
// src/content/application/services/GenerationExecutor.ts
|
|
@@ -5682,7 +5721,48 @@ function toAIProviderConfig(config) {
|
|
|
5682
5721
|
...pruna ? { pruna } : {}
|
|
5683
5722
|
};
|
|
5684
5723
|
}
|
|
5685
|
-
var buildServices = (configOrGenerator) => {
|
|
5724
|
+
var buildServices = (configOrGenerator, model, customGenerator) => {
|
|
5725
|
+
if (customGenerator) {
|
|
5726
|
+
const executor2 = new GenerationExecutor(customGenerator);
|
|
5727
|
+
const emptyFactory = new ProviderFactory({
|
|
5728
|
+
priority: [],
|
|
5729
|
+
fallbackEnabled: false
|
|
5730
|
+
});
|
|
5731
|
+
return {
|
|
5732
|
+
providerFactory: emptyFactory,
|
|
5733
|
+
blogService: new BlogService(executor2),
|
|
5734
|
+
socialService: new SocialService(executor2),
|
|
5735
|
+
videoScriptService: new VideoScriptService(executor2),
|
|
5736
|
+
analysisService: new AnalysisService(executor2),
|
|
5737
|
+
seoService: new SeoService(executor2),
|
|
5738
|
+
abTestService: new ABTestService(executor2),
|
|
5739
|
+
imagePromptService: new ImagePromptService(executor2),
|
|
5740
|
+
contentCalendarService: new ContentCalendarService(executor2),
|
|
5741
|
+
mediaGenerationService: new MediaGenerationService(emptyFactory)
|
|
5742
|
+
};
|
|
5743
|
+
}
|
|
5744
|
+
if (typeof configOrGenerator === "string") {
|
|
5745
|
+
const aiConfig = {
|
|
5746
|
+
anthropic: {
|
|
5747
|
+
apiKey: configOrGenerator,
|
|
5748
|
+
...model ? { models: { balanced: model } } : {}
|
|
5749
|
+
}
|
|
5750
|
+
};
|
|
5751
|
+
const factory2 = createAI(aiConfig);
|
|
5752
|
+
const executor2 = new GenerationExecutor(factory2);
|
|
5753
|
+
return {
|
|
5754
|
+
providerFactory: factory2,
|
|
5755
|
+
blogService: new BlogService(executor2),
|
|
5756
|
+
socialService: new SocialService(executor2),
|
|
5757
|
+
videoScriptService: new VideoScriptService(executor2),
|
|
5758
|
+
analysisService: new AnalysisService(executor2),
|
|
5759
|
+
seoService: new SeoService(executor2),
|
|
5760
|
+
abTestService: new ABTestService(executor2),
|
|
5761
|
+
imagePromptService: new ImagePromptService(executor2),
|
|
5762
|
+
contentCalendarService: new ContentCalendarService(executor2),
|
|
5763
|
+
mediaGenerationService: new MediaGenerationService(factory2)
|
|
5764
|
+
};
|
|
5765
|
+
}
|
|
5686
5766
|
if (isTextGenerator(configOrGenerator)) {
|
|
5687
5767
|
const executor2 = new GenerationExecutor(configOrGenerator);
|
|
5688
5768
|
const emptyFactory = new ProviderFactory({
|
|
@@ -5728,8 +5808,8 @@ var AIContentService = class {
|
|
|
5728
5808
|
imagePromptService;
|
|
5729
5809
|
contentCalendarService;
|
|
5730
5810
|
mediaGenerationService;
|
|
5731
|
-
constructor(configOrGenerator) {
|
|
5732
|
-
const bundle = buildServices(configOrGenerator);
|
|
5811
|
+
constructor(configOrGenerator, model, textGenerator) {
|
|
5812
|
+
const bundle = buildServices(configOrGenerator, model, textGenerator);
|
|
5733
5813
|
this.providerFactory = bundle.providerFactory;
|
|
5734
5814
|
this.blogService = bundle.blogService;
|
|
5735
5815
|
this.socialService = bundle.socialService;
|
|
@@ -6030,6 +6110,6 @@ function buildVideoRequest(data) {
|
|
|
6030
6110
|
}
|
|
6031
6111
|
}
|
|
6032
6112
|
|
|
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 };
|
|
6113
|
+
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, defaultSseDeltaExtractor, 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
6114
|
//# sourceMappingURL=index.js.map
|
|
6035
6115
|
//# sourceMappingURL=index.js.map
|