@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/index.cjs
CHANGED
|
@@ -5111,6 +5111,15 @@ var BlogService = class {
|
|
|
5111
5111
|
};
|
|
5112
5112
|
}
|
|
5113
5113
|
};
|
|
5114
|
+
|
|
5115
|
+
// src/content/infrastructure/utils/requestQueue.ts
|
|
5116
|
+
var RequestPriority = /* @__PURE__ */ ((RequestPriority2) => {
|
|
5117
|
+
RequestPriority2[RequestPriority2["LOW"] = 0] = "LOW";
|
|
5118
|
+
RequestPriority2[RequestPriority2["NORMAL"] = 1] = "NORMAL";
|
|
5119
|
+
RequestPriority2[RequestPriority2["HIGH"] = 2] = "HIGH";
|
|
5120
|
+
RequestPriority2[RequestPriority2["URGENT"] = 3] = "URGENT";
|
|
5121
|
+
return RequestPriority2;
|
|
5122
|
+
})(RequestPriority || {});
|
|
5114
5123
|
async function batchRequest(requests, options = {}) {
|
|
5115
5124
|
const {
|
|
5116
5125
|
concurrency = 3,
|
|
@@ -5594,7 +5603,10 @@ function safeJSONParse(text, fallback, onError) {
|
|
|
5594
5603
|
const positionMatch = error.message.match(/position (\d+)/);
|
|
5595
5604
|
const position = positionMatch ? parseInt(positionMatch[1], 10) : -1;
|
|
5596
5605
|
if (position > 0) {
|
|
5597
|
-
text.substring(Math.max(0, position - 50), position + 50);
|
|
5606
|
+
const context = text.substring(Math.max(0, position - 50), position + 50);
|
|
5607
|
+
onError?.(`JSON parse error at position ${position}: "${context}"`);
|
|
5608
|
+
} else {
|
|
5609
|
+
onError?.(`JSON parse error: ${error.message}`);
|
|
5598
5610
|
}
|
|
5599
5611
|
}
|
|
5600
5612
|
return fallback;
|
|
@@ -5621,9 +5633,23 @@ function extractJSON(text) {
|
|
|
5621
5633
|
function parseAIResponse(response, fallback, onError) {
|
|
5622
5634
|
const json = extractJSON(response);
|
|
5623
5635
|
if (!json) {
|
|
5636
|
+
onError?.("No JSON payload found in response");
|
|
5624
5637
|
return fallback;
|
|
5625
5638
|
}
|
|
5626
|
-
return safeJSONParse(json, fallback);
|
|
5639
|
+
return safeJSONParse(json, fallback, onError);
|
|
5640
|
+
}
|
|
5641
|
+
function isValidJSON(text) {
|
|
5642
|
+
const trimmed = text.trim();
|
|
5643
|
+
if (trimmed.length === 0) return false;
|
|
5644
|
+
if (!(trimmed.startsWith("{") && trimmed.endsWith("}") || trimmed.startsWith("[") && trimmed.endsWith("]"))) {
|
|
5645
|
+
return false;
|
|
5646
|
+
}
|
|
5647
|
+
try {
|
|
5648
|
+
JSON.parse(trimmed);
|
|
5649
|
+
return true;
|
|
5650
|
+
} catch {
|
|
5651
|
+
return false;
|
|
5652
|
+
}
|
|
5627
5653
|
}
|
|
5628
5654
|
|
|
5629
5655
|
// src/content/application/services/GenerationExecutor.ts
|
|
@@ -5684,7 +5710,48 @@ function toAIProviderConfig(config) {
|
|
|
5684
5710
|
...pruna ? { pruna } : {}
|
|
5685
5711
|
};
|
|
5686
5712
|
}
|
|
5687
|
-
var buildServices = (configOrGenerator) => {
|
|
5713
|
+
var buildServices = (configOrGenerator, model, customGenerator) => {
|
|
5714
|
+
if (customGenerator) {
|
|
5715
|
+
const executor2 = new GenerationExecutor(customGenerator);
|
|
5716
|
+
const emptyFactory = new ProviderFactory({
|
|
5717
|
+
priority: [],
|
|
5718
|
+
fallbackEnabled: false
|
|
5719
|
+
});
|
|
5720
|
+
return {
|
|
5721
|
+
providerFactory: emptyFactory,
|
|
5722
|
+
blogService: new BlogService(executor2),
|
|
5723
|
+
socialService: new SocialService(executor2),
|
|
5724
|
+
videoScriptService: new VideoScriptService(executor2),
|
|
5725
|
+
analysisService: new AnalysisService(executor2),
|
|
5726
|
+
seoService: new SeoService(executor2),
|
|
5727
|
+
abTestService: new ABTestService(executor2),
|
|
5728
|
+
imagePromptService: new ImagePromptService(executor2),
|
|
5729
|
+
contentCalendarService: new ContentCalendarService(executor2),
|
|
5730
|
+
mediaGenerationService: new MediaGenerationService(emptyFactory)
|
|
5731
|
+
};
|
|
5732
|
+
}
|
|
5733
|
+
if (typeof configOrGenerator === "string") {
|
|
5734
|
+
const aiConfig = {
|
|
5735
|
+
anthropic: {
|
|
5736
|
+
apiKey: configOrGenerator,
|
|
5737
|
+
...model ? { models: { balanced: model } } : {}
|
|
5738
|
+
}
|
|
5739
|
+
};
|
|
5740
|
+
const factory2 = createAI(aiConfig);
|
|
5741
|
+
const executor2 = new GenerationExecutor(factory2);
|
|
5742
|
+
return {
|
|
5743
|
+
providerFactory: factory2,
|
|
5744
|
+
blogService: new BlogService(executor2),
|
|
5745
|
+
socialService: new SocialService(executor2),
|
|
5746
|
+
videoScriptService: new VideoScriptService(executor2),
|
|
5747
|
+
analysisService: new AnalysisService(executor2),
|
|
5748
|
+
seoService: new SeoService(executor2),
|
|
5749
|
+
abTestService: new ABTestService(executor2),
|
|
5750
|
+
imagePromptService: new ImagePromptService(executor2),
|
|
5751
|
+
contentCalendarService: new ContentCalendarService(executor2),
|
|
5752
|
+
mediaGenerationService: new MediaGenerationService(factory2)
|
|
5753
|
+
};
|
|
5754
|
+
}
|
|
5688
5755
|
if (isTextGenerator(configOrGenerator)) {
|
|
5689
5756
|
const executor2 = new GenerationExecutor(configOrGenerator);
|
|
5690
5757
|
const emptyFactory = new ProviderFactory({
|
|
@@ -5730,8 +5797,8 @@ var AIContentService = class {
|
|
|
5730
5797
|
imagePromptService;
|
|
5731
5798
|
contentCalendarService;
|
|
5732
5799
|
mediaGenerationService;
|
|
5733
|
-
constructor(configOrGenerator) {
|
|
5734
|
-
const bundle = buildServices(configOrGenerator);
|
|
5800
|
+
constructor(configOrGenerator, model, textGenerator) {
|
|
5801
|
+
const bundle = buildServices(configOrGenerator, model, textGenerator);
|
|
5735
5802
|
this.providerFactory = bundle.providerFactory;
|
|
5736
5803
|
this.blogService = bundle.blogService;
|
|
5737
5804
|
this.socialService = bundle.socialService;
|
|
@@ -6104,6 +6171,7 @@ exports.ProviderUnavailableError = ProviderUnavailableError;
|
|
|
6104
6171
|
exports.PrunaProvider = PrunaProvider;
|
|
6105
6172
|
exports.QueueExecutor = QueueExecutor;
|
|
6106
6173
|
exports.RequestDeduplicator = RequestDeduplicator;
|
|
6174
|
+
exports.RequestPriority = RequestPriority;
|
|
6107
6175
|
exports.RequestQueue = RequestQueue;
|
|
6108
6176
|
exports.RetryExecutor = RetryExecutor;
|
|
6109
6177
|
exports.RetryManager = RetryManager;
|
|
@@ -6132,6 +6200,7 @@ exports.asObjectArray = asObjectArray;
|
|
|
6132
6200
|
exports.asRecord = asRecord;
|
|
6133
6201
|
exports.asStringArray = asStringArray;
|
|
6134
6202
|
exports.asTrimmedOptionalString = asTrimmedOptionalString;
|
|
6203
|
+
exports.batchRequest = batchRequest;
|
|
6135
6204
|
exports.buildCacheKey = buildCacheKey;
|
|
6136
6205
|
exports.buildContentRequest = buildContentRequest;
|
|
6137
6206
|
exports.buildHttpStatusFallback = buildHttpStatusFallback;
|
|
@@ -6163,6 +6232,7 @@ exports.describeAIErrorType = describeAIErrorType;
|
|
|
6163
6232
|
exports.extractContentFromSsePayload = extractContentFromSsePayload;
|
|
6164
6233
|
exports.extractErrorMessageFromJsonBody = extractErrorMessageFromJsonBody;
|
|
6165
6234
|
exports.extractErrorMessageFromResponse = extractErrorMessageFromResponse;
|
|
6235
|
+
exports.extractJSON = extractJSON;
|
|
6166
6236
|
exports.extractJsonArray = extractJsonArray;
|
|
6167
6237
|
exports.extractJsonCandidate = extractJsonCandidate;
|
|
6168
6238
|
exports.extractJsonFromCodeFence = extractJsonFromCodeFence;
|
|
@@ -6186,11 +6256,13 @@ exports.isSseDoneMarker = isSseDoneMarker;
|
|
|
6186
6256
|
exports.isTextProvider = isTextProvider;
|
|
6187
6257
|
exports.isTextTier = isTextTier;
|
|
6188
6258
|
exports.isValidApiKey = isValidApiKey;
|
|
6259
|
+
exports.isValidJSON = isValidJSON;
|
|
6189
6260
|
exports.mapAnthropicStopReason = mapAnthropicStopReason;
|
|
6190
6261
|
exports.mergeTierOverrides = mergeTierOverrides;
|
|
6191
6262
|
exports.messageFormatter = messageFormatter;
|
|
6192
6263
|
exports.normalizeSseChunk = normalizeSseChunk;
|
|
6193
6264
|
exports.oneOfCatalog = oneOfCatalog;
|
|
6265
|
+
exports.parseAIResponse = parseAIResponse;
|
|
6194
6266
|
exports.pollForResult = pollForResult;
|
|
6195
6267
|
exports.promptToMessages = promptToMessages;
|
|
6196
6268
|
exports.repairCommonJsonDefects = repairCommonJsonDefects;
|
|
@@ -6202,6 +6274,7 @@ exports.resolveModel = resolveModel;
|
|
|
6202
6274
|
exports.resolveUserFriendlyErrorMessage = resolveUserFriendlyErrorMessage;
|
|
6203
6275
|
exports.resolveUserFriendlyMessage = resolveUserFriendlyMessage;
|
|
6204
6276
|
exports.retryManager = retryManager;
|
|
6277
|
+
exports.safeJSONParse = safeJSONParse;
|
|
6205
6278
|
exports.splitSseLines = splitSseLines;
|
|
6206
6279
|
exports.submitPrediction = submitPrediction;
|
|
6207
6280
|
exports.throttle = throttle;
|