Harden runtime debug and task pipeline

This commit is contained in:
Youzini-afk
2026-03-27 01:26:56 +08:00
parent b20e8dbb44
commit c31af1d1a4
17 changed files with 1750 additions and 238 deletions

View File

@@ -7,6 +7,7 @@
*/
import { extension_settings } from "../../../extensions.js";
import { resolveConfiguredTimeoutMs } from "./request-timeout.js";
const MODULE_NAME = "st_bme";
const EMBEDDING_REQUEST_TIMEOUT_MS = 300000;
@@ -19,10 +20,14 @@ function getEmbeddingTestOverride(name) {
function getConfiguredTimeoutMs(
settings = extension_settings[MODULE_NAME] || {},
) {
const timeoutMs = Number(settings?.timeoutMs);
return Number.isFinite(timeoutMs) && timeoutMs > 0
? timeoutMs
: EMBEDDING_REQUEST_TIMEOUT_MS;
return typeof resolveConfiguredTimeoutMs === "function"
? resolveConfiguredTimeoutMs(settings, EMBEDDING_REQUEST_TIMEOUT_MS)
: (() => {
const timeoutMs = Number(settings?.timeoutMs);
return Number.isFinite(timeoutMs) && timeoutMs > 0
? timeoutMs
: EMBEDDING_REQUEST_TIMEOUT_MS;
})();
}
function isAbortError(error) {
@@ -131,7 +136,7 @@ export async function embedText(text, config, { signal } = {}) {
input: text,
}),
},
getConfiguredTimeoutMs(),
getConfiguredTimeoutMs(config),
);
if (!response.ok) {
@@ -196,7 +201,7 @@ export async function embedBatch(texts, config, { signal } = {}) {
input: texts,
}),
},
getConfiguredTimeoutMs(),
getConfiguredTimeoutMs(config),
);
if (!response.ok) {