@umituz/web-ai 1.0.8 → 1.0.9
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/core/index.cjs +84 -6
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +8 -2
- package/dist/core/index.d.ts +8 -2
- package/dist/core/index.js +80 -7
- package/dist/core/index.js.map +1 -1
- package/dist/index.cjs +86 -8
- 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 +82 -9
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1141,6 +1141,83 @@ ${paragraph}`;
|
|
|
1141
1141
|
return chunks.map((chunk) => chunk.length > maxChars ? chunk.slice(0, maxChars) : chunk).filter((chunk) => chunk.length > 0);
|
|
1142
1142
|
}
|
|
1143
1143
|
|
|
1144
|
+
// src/core/parsers/text-extract.ts
|
|
1145
|
+
var TEXT_MIME_PREFIX = "text/";
|
|
1146
|
+
var TEXT_MIME_TYPES = /* @__PURE__ */ new Set([
|
|
1147
|
+
"application/json",
|
|
1148
|
+
"application/xml",
|
|
1149
|
+
"application/yaml",
|
|
1150
|
+
"application/x-yaml",
|
|
1151
|
+
"application/javascript",
|
|
1152
|
+
"application/typescript",
|
|
1153
|
+
"application/x-sh",
|
|
1154
|
+
"application/sql",
|
|
1155
|
+
"text/csv"
|
|
1156
|
+
]);
|
|
1157
|
+
var TEXT_EXTENSIONS = /* @__PURE__ */ new Set([
|
|
1158
|
+
"txt",
|
|
1159
|
+
"md",
|
|
1160
|
+
"markdown",
|
|
1161
|
+
"csv",
|
|
1162
|
+
"tsv",
|
|
1163
|
+
"json",
|
|
1164
|
+
"xml",
|
|
1165
|
+
"yaml",
|
|
1166
|
+
"yml",
|
|
1167
|
+
"toml",
|
|
1168
|
+
"ini",
|
|
1169
|
+
"js",
|
|
1170
|
+
"mjs",
|
|
1171
|
+
"cjs",
|
|
1172
|
+
"ts",
|
|
1173
|
+
"tsx",
|
|
1174
|
+
"jsx",
|
|
1175
|
+
"py",
|
|
1176
|
+
"rb",
|
|
1177
|
+
"go",
|
|
1178
|
+
"rs",
|
|
1179
|
+
"java",
|
|
1180
|
+
"kt",
|
|
1181
|
+
"swift",
|
|
1182
|
+
"c",
|
|
1183
|
+
"h",
|
|
1184
|
+
"cpp",
|
|
1185
|
+
"hpp",
|
|
1186
|
+
"cs",
|
|
1187
|
+
"php",
|
|
1188
|
+
"sh",
|
|
1189
|
+
"bash",
|
|
1190
|
+
"zsh",
|
|
1191
|
+
"sql",
|
|
1192
|
+
"html",
|
|
1193
|
+
"css",
|
|
1194
|
+
"scss",
|
|
1195
|
+
"env"
|
|
1196
|
+
]);
|
|
1197
|
+
var TEXT_EXTRACT_PER_FILE_LIMIT = 24e3;
|
|
1198
|
+
var TEXT_EXTRACT_TOTAL_LIMIT = 48e3;
|
|
1199
|
+
function isTextLike(mimeType, name) {
|
|
1200
|
+
if (mimeType.startsWith(TEXT_MIME_PREFIX) || TEXT_MIME_TYPES.has(mimeType)) return true;
|
|
1201
|
+
const extension = name.split(".").pop()?.toLowerCase() ?? "";
|
|
1202
|
+
return TEXT_EXTENSIONS.has(extension);
|
|
1203
|
+
}
|
|
1204
|
+
function extractText(bytes) {
|
|
1205
|
+
let out = "";
|
|
1206
|
+
const decoder = new TextDecoder("utf-8", { fatal: false });
|
|
1207
|
+
const chunkSize = 65536;
|
|
1208
|
+
for (let offset = 0; offset < bytes.length; offset += chunkSize) {
|
|
1209
|
+
out += decoder.decode(bytes.subarray(offset, Math.min(offset + chunkSize, bytes.length)), {
|
|
1210
|
+
stream: offset + chunkSize < bytes.length
|
|
1211
|
+
});
|
|
1212
|
+
}
|
|
1213
|
+
return out.split("\0").join("");
|
|
1214
|
+
}
|
|
1215
|
+
function capText(text, limit) {
|
|
1216
|
+
if (text.length <= limit) return text;
|
|
1217
|
+
return `${text.slice(0, limit)}
|
|
1218
|
+
[truncated]`;
|
|
1219
|
+
}
|
|
1220
|
+
|
|
1144
1221
|
// src/core/calculations/random-base36-suffix.ts
|
|
1145
1222
|
var BASE_36_RADIX = 36;
|
|
1146
1223
|
var DECIMAL_OFFSET = 2;
|
|
@@ -1588,11 +1665,7 @@ function resolveTimestamp(value) {
|
|
|
1588
1665
|
const parsed = Date.parse(value);
|
|
1589
1666
|
return Number.isNaN(parsed) ? 0 : parsed;
|
|
1590
1667
|
}
|
|
1591
|
-
function
|
|
1592
|
-
if (str.length <= maxLength) return str;
|
|
1593
|
-
return str.slice(0, Math.max(maxLength, 0));
|
|
1594
|
-
}
|
|
1595
|
-
function selectMemories(rows, maxItems = MEMORY_MAX_ITEMS, totalLimit = MEMORY_TOTAL_LIMIT) {
|
|
1668
|
+
function selectMemories(rows, maxItems = MEMORY_MAX_ITEMS, totalLimit = MEMORY_TOTAL_LIMIT, capper = capText) {
|
|
1596
1669
|
const ordered = [...rows].sort((a, b) => {
|
|
1597
1670
|
if (a.pinned !== b.pinned) return a.pinned ? -1 : 1;
|
|
1598
1671
|
return resolveTimestamp(b.updatedAt) - resolveTimestamp(a.updatedAt);
|
|
@@ -1603,7 +1676,7 @@ function selectMemories(rows, maxItems = MEMORY_MAX_ITEMS, totalLimit = MEMORY_T
|
|
|
1603
1676
|
if (out.length >= maxItems || used >= totalLimit) break;
|
|
1604
1677
|
const content = row.content.trim();
|
|
1605
1678
|
if (content.length === 0) continue;
|
|
1606
|
-
const capped =
|
|
1679
|
+
const capped = capper(content, totalLimit - used);
|
|
1607
1680
|
out.push(capped);
|
|
1608
1681
|
used += capped.length;
|
|
1609
1682
|
}
|
|
@@ -2602,7 +2675,7 @@ var AnthropicProvider = class {
|
|
|
2602
2675
|
}
|
|
2603
2676
|
}
|
|
2604
2677
|
toGenerationResult(response, fallbackModel) {
|
|
2605
|
-
const text =
|
|
2678
|
+
const text = extractText2(response.content);
|
|
2606
2679
|
const finishReason = mapAnthropicStopReason(response.stop_reason);
|
|
2607
2680
|
if (text.length === 0) {
|
|
2608
2681
|
if (finishReason === "refusal") {
|
|
@@ -2630,7 +2703,7 @@ var AnthropicProvider = class {
|
|
|
2630
2703
|
};
|
|
2631
2704
|
}
|
|
2632
2705
|
};
|
|
2633
|
-
function
|
|
2706
|
+
function extractText2(blocks) {
|
|
2634
2707
|
return blocks.filter((block) => block.type === "text").map((block) => block.text).join("");
|
|
2635
2708
|
}
|
|
2636
2709
|
function refusalTextFor(finishReason) {
|
|
@@ -7142,6 +7215,8 @@ exports.SeoService = SeoService;
|
|
|
7142
7215
|
exports.SocialService = SocialService;
|
|
7143
7216
|
exports.StreamingResponseParser = StreamingResponseParser;
|
|
7144
7217
|
exports.StructuredPromptBuilder = StructuredPromptBuilder;
|
|
7218
|
+
exports.TEXT_EXTRACT_PER_FILE_LIMIT = TEXT_EXTRACT_PER_FILE_LIMIT;
|
|
7219
|
+
exports.TEXT_EXTRACT_TOTAL_LIMIT = TEXT_EXTRACT_TOTAL_LIMIT;
|
|
7145
7220
|
exports.TEXT_TIERS = TEXT_TIERS;
|
|
7146
7221
|
exports.TIMEOUTS = TIMEOUTS;
|
|
7147
7222
|
exports.TRANSIENT_ERROR_CODES = TRANSIENT_ERROR_CODES;
|
|
@@ -7181,6 +7256,7 @@ exports.calculateExponentialBackoff = calculateExponentialBackoff;
|
|
|
7181
7256
|
exports.calculateTrailingDelay = calculateTrailingDelay;
|
|
7182
7257
|
exports.canFailover = canFailover;
|
|
7183
7258
|
exports.canStartTask = canStartTask;
|
|
7259
|
+
exports.capText = capText;
|
|
7184
7260
|
exports.chatIdGenerator = chatIdGenerator;
|
|
7185
7261
|
exports.chunkText = chunkText;
|
|
7186
7262
|
exports.clampScore = clampScore;
|
|
@@ -7227,6 +7303,7 @@ exports.extractJsonCandidate = extractJsonCandidate;
|
|
|
7227
7303
|
exports.extractJsonFromCodeFence = extractJsonFromCodeFence;
|
|
7228
7304
|
exports.extractJsonObject = extractJsonObject;
|
|
7229
7305
|
exports.extractSseDataPayload = extractSseDataPayload;
|
|
7306
|
+
exports.extractText = extractText;
|
|
7230
7307
|
exports.extractTextFromMessages = extractTextFromMessages;
|
|
7231
7308
|
exports.extractTokenUsage = extractTokenUsage;
|
|
7232
7309
|
exports.failoverCandidate = failoverCandidate;
|
|
@@ -7247,6 +7324,7 @@ exports.isMediaProvider = isMediaProvider;
|
|
|
7247
7324
|
exports.isRetryableErrorType = isRetryableErrorType;
|
|
7248
7325
|
exports.isSseDataLine = isSseDataLine;
|
|
7249
7326
|
exports.isSseDoneMarker = isSseDoneMarker;
|
|
7327
|
+
exports.isTextLike = isTextLike;
|
|
7250
7328
|
exports.isTextProvider = isTextProvider;
|
|
7251
7329
|
exports.isTextTier = isTextTier;
|
|
7252
7330
|
exports.isTransientError = isTransientError;
|