@workglow/huggingface-transformers 0.2.35 → 0.2.36
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/ai/common/HFT_Capabilities.d.ts +1 -1
- package/dist/ai/common/HFT_CapabilitySets.d.ts +2 -1
- package/dist/ai/common/HFT_CapabilitySets.d.ts.map +1 -1
- package/dist/ai/common/HFT_JobRunFns.d.ts.map +1 -1
- package/dist/ai/common/HFT_TextReranker.d.ts +42 -0
- package/dist/ai/common/HFT_TextReranker.d.ts.map +1 -0
- package/dist/ai/index.d.ts +1 -1
- package/dist/ai/runtime.d.ts +1 -0
- package/dist/ai/runtime.d.ts.map +1 -1
- package/dist/ai-runtime.js +62 -9
- package/dist/ai-runtime.js.map +6 -5
- package/dist/ai.js +52 -1
- package/dist/ai.js.map +6 -5
- package/package.json +11 -11
package/dist/ai.js
CHANGED
|
@@ -736,6 +736,7 @@ var HFT_TEXT_CLASSIFICATION = ["text.classification"];
|
|
|
736
736
|
var HFT_TEXT_LANGUAGE_DETECTION = [
|
|
737
737
|
"text.language-detection"
|
|
738
738
|
];
|
|
739
|
+
var HFT_TEXT_RERANKING = ["text.reranking"];
|
|
739
740
|
var HFT_TEXT_FILL_MASK = ["text.fill-mask"];
|
|
740
741
|
var HFT_TEXT_NER = ["text.ner"];
|
|
741
742
|
var HFT_IMAGE_CLASSIFICATION = ["image.classification"];
|
|
@@ -764,6 +765,7 @@ var HFT_CAPABILITY_SETS = [
|
|
|
764
765
|
HFT_TEXT_EMBEDDING,
|
|
765
766
|
HFT_TEXT_CLASSIFICATION,
|
|
766
767
|
HFT_TEXT_LANGUAGE_DETECTION,
|
|
768
|
+
HFT_TEXT_RERANKING,
|
|
767
769
|
HFT_TEXT_FILL_MASK,
|
|
768
770
|
HFT_TEXT_NER,
|
|
769
771
|
HFT_IMAGE_CLASSIFICATION,
|
|
@@ -1959,6 +1961,54 @@ var HFT_TextQuestionAnswer = async (input, model, signal, emit) => {
|
|
|
1959
1961
|
emit({ type: "finish", data: { text: answerText } });
|
|
1960
1962
|
};
|
|
1961
1963
|
|
|
1964
|
+
// src/ai/common/HFT_TextReranker.ts
|
|
1965
|
+
init_HFT_Pipeline();
|
|
1966
|
+
import { KbRerankerOutputError } from "@workglow/ai";
|
|
1967
|
+
import { getLogger as getLogger6 } from "@workglow/util/worker";
|
|
1968
|
+
function isScored(v) {
|
|
1969
|
+
return typeof v === "object" && v !== null && typeof v.score === "number";
|
|
1970
|
+
}
|
|
1971
|
+
function truncateShape(value) {
|
|
1972
|
+
try {
|
|
1973
|
+
const json = JSON.stringify(value);
|
|
1974
|
+
if (typeof json !== "string")
|
|
1975
|
+
return String(value);
|
|
1976
|
+
return json.length > 200 ? `${json.slice(0, 200)}…` : json;
|
|
1977
|
+
} catch {
|
|
1978
|
+
return String(value);
|
|
1979
|
+
}
|
|
1980
|
+
}
|
|
1981
|
+
function validateAndExtractRerankerScores(rawResults, modelPath) {
|
|
1982
|
+
if (!Array.isArray(rawResults)) {
|
|
1983
|
+
throw new KbRerankerOutputError(`HFT_TextReranker: unexpected pipeline output shape for model ${modelPath}`, truncateShape(rawResults));
|
|
1984
|
+
}
|
|
1985
|
+
const scores = new Array(rawResults.length);
|
|
1986
|
+
for (let i = 0;i < rawResults.length; i++) {
|
|
1987
|
+
const entry = rawResults[i];
|
|
1988
|
+
const candidate = Array.isArray(entry) ? entry[0] : entry;
|
|
1989
|
+
if (!isScored(candidate)) {
|
|
1990
|
+
throw new KbRerankerOutputError(`HFT_TextReranker: unexpected pipeline output shape for model ${modelPath}`, truncateShape(entry));
|
|
1991
|
+
}
|
|
1992
|
+
scores[i] = candidate.score;
|
|
1993
|
+
}
|
|
1994
|
+
return scores;
|
|
1995
|
+
}
|
|
1996
|
+
var HFT_TextReranker = async (input, model, signal, emit) => {
|
|
1997
|
+
const logger = getLogger6();
|
|
1998
|
+
const modelPath = model?.provider_config.model_path;
|
|
1999
|
+
const timerLabel = `hft:TextReranker:${modelPath}`;
|
|
2000
|
+
logger.time(timerLabel, { docs: input.documents.length });
|
|
2001
|
+
const reranker = await getPipeline(model, emit, {}, signal);
|
|
2002
|
+
const pairs = input.documents.map((doc) => ({ text: input.query, text_pair: doc }));
|
|
2003
|
+
const callable = reranker;
|
|
2004
|
+
const rawResults = await callable(pairs, { top_k: 1 });
|
|
2005
|
+
const scores = validateAndExtractRerankerScores(rawResults, modelPath);
|
|
2006
|
+
const indices = scores.map((score, idx) => ({ score, idx })).sort((a, b) => b.score - a.score).map((p) => p.idx);
|
|
2007
|
+
const limited = typeof input.topK === "number" ? indices.slice(0, input.topK) : indices;
|
|
2008
|
+
logger.timeEnd(timerLabel, { docs: input.documents.length });
|
|
2009
|
+
emit({ type: "finish", data: { scores, indices: limited } });
|
|
2010
|
+
};
|
|
2011
|
+
|
|
1962
2012
|
// src/ai/common/HFT_TextRewriter.ts
|
|
1963
2013
|
init_HFT_Pipeline();
|
|
1964
2014
|
var HFT_TextRewriter = async (input, model, signal, emit) => {
|
|
@@ -2034,6 +2084,7 @@ var HFT_RUN_FNS = [
|
|
|
2034
2084
|
{ serves: HFT_TEXT_EMBEDDING, runFn: HFT_TextEmbedding },
|
|
2035
2085
|
{ serves: HFT_TEXT_CLASSIFICATION, runFn: HFT_TextClassification },
|
|
2036
2086
|
{ serves: HFT_TEXT_LANGUAGE_DETECTION, runFn: HFT_TextLanguageDetection },
|
|
2087
|
+
{ serves: HFT_TEXT_RERANKING, runFn: HFT_TextReranker },
|
|
2037
2088
|
{ serves: HFT_TEXT_FILL_MASK, runFn: HFT_TextFillMask },
|
|
2038
2089
|
{ serves: HFT_TEXT_NER, runFn: HFT_TextNamedEntityRecognition },
|
|
2039
2090
|
{ serves: HFT_IMAGE_CLASSIFICATION, runFn: HFT_ImageClassification },
|
|
@@ -2076,4 +2127,4 @@ export {
|
|
|
2076
2127
|
HF_TRANSFORMERS_ONNX
|
|
2077
2128
|
};
|
|
2078
2129
|
|
|
2079
|
-
//# debugId=
|
|
2130
|
+
//# debugId=FC830CCDC8DBF09664756E2164756E21
|
package/dist/ai.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/ai/common/HFT_Pipeline.ts", "../src/ai/common/HFT_Constants.ts", "../src/ai/common/HFT_ModelSchema.ts", "../src/ai/common/HFT_OnnxDtypes.ts", "../src/ai/common/HFT_ToolMarkup.ts", "../src/ai/HuggingFaceTransformersProvider.ts", "../src/ai/common/HFT_CapabilitySets.ts", "../src/ai/common/HFT_Capabilities.ts", "../src/ai/HuggingFaceTransformersQueuedProvider.ts", "../src/ai/registerHuggingFaceTransformers.ts", "../src/ai/common/HFT_BackgroundRemoval.ts", "../src/ai/common/HFT_Chat.ts", "../src/ai/common/HFT_ToolCalling.ts", "../src/ai/common/HFT_Streaming.ts", "../src/ai/common/HFT_CountTokens.ts", "../src/ai/common/HFT_Download.ts", "../src/ai/common/HFT_DownloadRemove.ts", "../src/ai/common/HFT_ImageClassification.ts", "../src/ai/common/HFT_ImageEmbedding.ts", "../src/ai/common/HFT_ImageSegmentation.ts", "../src/ai/common/HFT_ImageToText.ts", "../src/ai/common/HFT_ModelInfo.ts", "../src/ai/common/HFT_ModelSearch.ts", "../src/ai/common/HFT_ObjectDetection.ts", "../src/ai/common/HFT_StructuredGeneration.ts", "../src/ai/common/HFT_TextClassification.ts", "../src/ai/common/HFT_TextEmbedding.ts", "../src/ai/common/HFT_TextFillMask.ts", "../src/ai/common/HFT_TextGeneration.ts", "../src/ai/common/HFT_TextLanguageDetection.ts", "../src/ai/common/HFT_TextNamedEntityRecognition.ts", "../src/ai/common/HFT_TextQuestionAnswer.ts", "../src/ai/common/HFT_TextRewriter.ts", "../src/ai/common/HFT_TextSummary.ts", "../src/ai/common/HFT_TextTranslation.ts", "../src/ai/common/HFT_JobRunFns.ts", "../src/ai/index.ts"],
|
|
3
|
+
"sources": ["../src/ai/common/HFT_Pipeline.ts", "../src/ai/common/HFT_Constants.ts", "../src/ai/common/HFT_ModelSchema.ts", "../src/ai/common/HFT_OnnxDtypes.ts", "../src/ai/common/HFT_ToolMarkup.ts", "../src/ai/HuggingFaceTransformersProvider.ts", "../src/ai/common/HFT_CapabilitySets.ts", "../src/ai/common/HFT_Capabilities.ts", "../src/ai/HuggingFaceTransformersQueuedProvider.ts", "../src/ai/registerHuggingFaceTransformers.ts", "../src/ai/common/HFT_BackgroundRemoval.ts", "../src/ai/common/HFT_Chat.ts", "../src/ai/common/HFT_ToolCalling.ts", "../src/ai/common/HFT_Streaming.ts", "../src/ai/common/HFT_CountTokens.ts", "../src/ai/common/HFT_Download.ts", "../src/ai/common/HFT_DownloadRemove.ts", "../src/ai/common/HFT_ImageClassification.ts", "../src/ai/common/HFT_ImageEmbedding.ts", "../src/ai/common/HFT_ImageSegmentation.ts", "../src/ai/common/HFT_ImageToText.ts", "../src/ai/common/HFT_ModelInfo.ts", "../src/ai/common/HFT_ModelSearch.ts", "../src/ai/common/HFT_ObjectDetection.ts", "../src/ai/common/HFT_StructuredGeneration.ts", "../src/ai/common/HFT_TextClassification.ts", "../src/ai/common/HFT_TextEmbedding.ts", "../src/ai/common/HFT_TextFillMask.ts", "../src/ai/common/HFT_TextGeneration.ts", "../src/ai/common/HFT_TextLanguageDetection.ts", "../src/ai/common/HFT_TextNamedEntityRecognition.ts", "../src/ai/common/HFT_TextQuestionAnswer.ts", "../src/ai/common/HFT_TextReranker.ts", "../src/ai/common/HFT_TextRewriter.ts", "../src/ai/common/HFT_TextSummary.ts", "../src/ai/common/HFT_TextTranslation.ts", "../src/ai/common/HFT_JobRunFns.ts", "../src/ai/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { DynamicCache, PretrainedModelOptions, ProgressInfo } from \"@huggingface/transformers\";\nimport type { StreamPhase } from \"@workglow/task-graph\";\nimport { getLogger } from \"@workglow/util/worker\";\nimport type { HfTransformersOnnxModelConfig } from \"./HFT_ModelSchema\";\n\ntype TransformersSDKModule = typeof import(\"@huggingface/transformers\");\n\nlet _transformersSdk: TransformersSDKModule | undefined;\nlet _cacheDir: string | undefined;\nlet _loadPromise: Promise<TransformersSDKModule> | undefined;\n\n/**\n * Set the filesystem cache directory for downloaded transformers.js models.\n * Must be called before any model is loaded.\n */\nexport function setHftCacheDir(dir: string): void {\n _cacheDir = dir;\n if (_transformersSdk) {\n _transformersSdk.env.cacheDir = dir;\n }\n}\n\n// NOTE: we do not want to de-dup this in the provider-utils, vite wants direct import with string literals.\nexport async function loadTransformersSDK(): Promise<TransformersSDKModule> {\n _loadPromise ??= import(\"@huggingface/transformers\")\n .then((mod) => {\n mod.env.fetch = abortableFetch as typeof fetch;\n if (_cacheDir) {\n mod.env.cacheDir = _cacheDir;\n }\n _transformersSdk = mod;\n return mod;\n })\n .catch(() => {\n _loadPromise = undefined;\n throw new Error(\n \"@huggingface/transformers is required for HuggingFace Transformers tasks. Install it with: bun add @huggingface/transformers\"\n );\n });\n return _loadPromise;\n}\n\n/** Per-model AbortControllers used by abortableFetch; keyed by model_path. */\nconst modelAbortControllers = new Map<string, AbortController>();\n\nfunction combineAbortSignals(\n existingSignal: AbortSignal | null | undefined,\n modelSignal: AbortSignal | undefined\n): AbortSignal | undefined {\n if (!existingSignal) {\n return modelSignal;\n }\n if (!modelSignal) {\n return existingSignal;\n }\n if (existingSignal.aborted || modelSignal.aborted) {\n return AbortSignal.abort(existingSignal.reason ?? modelSignal.reason);\n }\n if (typeof AbortSignal.any === \"function\") {\n return AbortSignal.any([existingSignal, modelSignal]);\n }\n\n const controller = new AbortController();\n const abort = (event: Event) => {\n const signal = event.target as AbortSignal;\n controller.abort(signal.reason);\n };\n existingSignal.addEventListener(\"abort\", abort, { once: true });\n modelSignal.addEventListener(\"abort\", abort, { once: true });\n return controller.signal;\n}\n\nfunction createAbortError(signal: AbortSignal): Error {\n const reason = signal.reason;\n if (reason instanceof Error) {\n return reason;\n }\n return new Error(String(reason ?? \"Fetch aborted\"));\n}\n\nfunction wrapAbortableResponse(response: Response, signal: AbortSignal | undefined): Response {\n if (!signal || !response.body) {\n return response;\n }\n\n const contentLengthHeader = response.headers.get(\"content-length\");\n const expectedSize =\n contentLengthHeader && /^\\d+$/.test(contentLengthHeader)\n ? Number.parseInt(contentLengthHeader, 10)\n : undefined;\n const sourceBody = response.body;\n\n // Use pull-based reading to maintain backpressure. The previous start()-based\n // loop eagerly drained the source into the internal queue without waiting for\n // the consumer, which could buffer the entire response body in memory — a\n // problem for large model files (hundreds of MB to several GB).\n let reader: ReadableStreamDefaultReader<Uint8Array>;\n let abortHandler: (() => void) | undefined;\n let loaded = 0;\n\n const cleanup = () => {\n if (abortHandler) {\n signal.removeEventListener(\"abort\", abortHandler);\n abortHandler = undefined;\n }\n reader?.releaseLock();\n };\n\n const body = new ReadableStream<Uint8Array>({\n start(controller) {\n reader = sourceBody.getReader();\n if (signal.aborted) {\n controller.error(createAbortError(signal));\n return;\n }\n abortHandler = () => controller.error(createAbortError(signal));\n signal.addEventListener(\"abort\", abortHandler, { once: true });\n },\n async pull(controller) {\n try {\n if (signal.aborted) {\n throw createAbortError(signal);\n }\n\n const { done, value } = await reader.read();\n if (done) {\n if (signal.aborted) {\n throw createAbortError(signal);\n }\n if (expectedSize !== undefined && loaded < expectedSize) {\n throw new Error(\n `Fetch ended before reading the full response body (${loaded}/${expectedSize} bytes)`\n );\n }\n cleanup();\n controller.close();\n return;\n }\n\n loaded += value.length;\n controller.enqueue(value);\n } catch (error) {\n cleanup();\n controller.error(error);\n }\n },\n cancel(reason) {\n cleanup();\n return sourceBody.cancel(reason);\n },\n });\n\n return new Response(body, {\n headers: new Headers(response.headers),\n status: response.status,\n statusText: response.statusText,\n });\n}\n\nfunction abortableFetch(url: string, options?: RequestInit): Promise<Response> {\n let modelSignal: AbortSignal | undefined;\n try {\n const pathname = new URL(url).pathname;\n for (const [modelPath, controller] of modelAbortControllers) {\n if (pathname.includes(`/${modelPath}/`)) {\n modelSignal = controller.signal;\n break;\n }\n }\n } catch {\n /* not a parseable URL, proceed without abort */\n }\n const combinedSignal = options?.signal\n ? combineAbortSignals(options.signal, modelSignal)\n : modelSignal;\n return fetch(url, { ...options, ...(combinedSignal ? { signal: combinedSignal } : {}) }).then(\n (response) => wrapAbortableResponse(response, combinedSignal)\n );\n}\n\nconst pipelines = new Map<string, Awaited<ReturnType<TransformersSDKModule[\"pipeline\"]>>>();\n\n// ============================================================================\n// Session cache for multi-turn conversations\n// ============================================================================\n\ninterface HftSessionBase {\n readonly modelPath: string;\n}\n\nexport interface HftPrefixRewindSession extends HftSessionBase {\n readonly mode: \"prefix-rewind\";\n /** Snapshot of prefix KV entries. On each call, a fresh DynamicCache is\n * created from these entries so generation doesn't pollute the base prefix.\n * Safe for WASM/CPU tensors; WebGPU would need cloning since update()\n * disposes replaced GPU tensors. */\n readonly baseEntries: Record<string, any>;\n readonly baseSeqLength: number;\n}\n\nexport interface HftProgressiveSession extends HftSessionBase {\n readonly mode: \"progressive\";\n /** Live DynamicCache that grows with the conversation. */\n readonly cache: DynamicCache;\n}\n\nexport type HftSessionState = HftPrefixRewindSession | HftProgressiveSession;\n\nconst hftSessions = new Map<string, HftSessionState>();\n\nexport function getHftSession(sessionId: string): HftSessionState | undefined {\n return hftSessions.get(sessionId);\n}\n\nexport function setHftSession(sessionId: string, state: HftSessionState): void {\n hftSessions.set(sessionId, state);\n}\n\nfunction disposeSessionResources(session: HftSessionState): void {\n if (session.mode === \"progressive\") {\n if (session.cache?.dispose) {\n session.cache.dispose();\n }\n } else {\n for (const tensor of Object.values(session.baseEntries)) {\n if (tensor?.location === \"gpu-buffer\" && typeof tensor.dispose === \"function\") {\n tensor.dispose();\n }\n }\n }\n}\n\nexport function deleteHftSession(sessionId: string): boolean {\n const session = hftSessions.get(sessionId);\n if (session) {\n disposeSessionResources(session);\n }\n return hftSessions.delete(sessionId);\n}\n\nexport function disposeHftSessionsForModel(modelPath: string): void {\n for (const [id, state] of hftSessions) {\n if (state.modelPath === modelPath) {\n disposeSessionResources(state);\n hftSessions.delete(id);\n }\n }\n}\n\n/** In-flight pipeline loads by cache key. Ensures only one load per model at a time to avoid corrupt ONNX files (Protobuf parsing failed). */\nconst pipelineLoadPromises = new Map<string, Promise<any>>();\n\n/**\n * Vision/image pipeline types that require an image processor to be loaded.\n * If the processor is null after pipeline creation the model cache is incomplete\n * (e.g. `preprocessor_config.json` was not downloaded) and the load should be\n * treated as a retriable failure so the missing files are re-fetched.\n */\nconst IMAGE_PIPELINE_TYPES = new Set([\n \"image-classification\",\n \"image-segmentation\",\n \"object-detection\",\n \"image-to-text\",\n \"image-feature-extraction\",\n \"zero-shot-image-classification\",\n \"depth-estimation\",\n \"mask-generation\",\n]);\n\n/**\n * Error message prefix used when an image pipeline's processor failed to\n * initialize (null processor after load). The prefix is checked in\n * `AiJob.classifyProviderError()` to produce a `RetryableJobError` so the\n * queue re-downloads missing processor config files.\n */\nexport const HFT_NULL_PROCESSOR_PREFIX = \"HFT_NULL_PROCESSOR:\";\n\n/**\n * Clear all cached pipelines. Best-effort calls `.dispose()` on each pipeline's\n * underlying ONNX model so its native (WASM) memory is released immediately —\n * dropping the JS reference alone leaks ONNX sessions, which accumulate across\n * test files and OOM-kill the next file's pipeline load. Any dispose Promise\n * is intentionally not awaited (synchronous API is required by the many\n * callers); native free happens synchronously inside dispose.\n */\n/**\n * Clear all cached pipelines. Best-effort awaits `model.dispose()` on each\n * pipeline so its ONNX sessions release their WASM memory before the cache\n * is cleared. transformers.js's dispose is async (it awaits `session.release()`\n * on every session in `model.sessions`); calling it synchronously would\n * fire-and-forget the WASM release.\n */\nexport async function clearPipelineCache(): Promise<void> {\n const snapshot = Array.from(pipelines.values());\n pipelines.clear();\n await Promise.allSettled(\n snapshot.map(async (pipeline) => {\n try {\n const model = pipeline?.model;\n await model?.dispose?.();\n } catch {\n // Best-effort: a dispose failure on one pipeline must not block others.\n }\n })\n );\n}\n\nexport function hasCachedPipeline(cacheKey: string): boolean {\n return pipelines.has(cacheKey);\n}\n\n/**\n * Remove a pipeline from the cache and asynchronously dispose its underlying\n * ONNX sessions. transformers.js's `model.dispose()` is async — it iterates\n * `model.sessions` and awaits `session.release?.()` on each, which is what\n * actually frees the WASM session memory. Dropping the JS reference alone\n * leaks ONNX sessions because the WASM heap doesn't shrink in response to V8\n * GC; explicit `release()` is required.\n *\n * Returns the model.dispose() promise; callers that can await it should\n * (e.g. inside HFT_DownloadRemove's async generator) so the WASM release completes\n * before the next operation. Best-effort: dispose failure does not prevent\n * cache eviction.\n */\nexport async function removeCachedPipeline(cacheKey: string): Promise<boolean> {\n const pipeline = pipelines.get(cacheKey);\n const deleted = pipelines.delete(cacheKey);\n if (pipeline) {\n try {\n const model = pipeline?.model;\n await model?.dispose?.();\n } catch {\n // Best-effort: dispose failure must not propagate.\n }\n }\n return deleted;\n}\n\n/** True when running in a browser or Web Worker. Transformers.js only accepts device \"wasm\" or \"webgpu\" in the browser build. */\nfunction isBrowserEnv(): boolean {\n if (typeof globalThis === \"undefined\") return false;\n // Main thread\n if (typeof (globalThis as any).window !== \"undefined\") return true;\n // Web Worker (has self but no window)\n if (typeof (globalThis as any).WorkerGlobalScope !== \"undefined\") return true;\n return false;\n}\n\n/**\n * Generate a cache key for a pipeline that includes all configuration options\n * that affect pipeline creation (model_path, pipeline, dtype, device)\n */\nexport function getPipelineCacheKey(model: HfTransformersOnnxModelConfig): string {\n const dtype = model.provider_config.dtype || \"\";\n const device = model.provider_config.device || \"\";\n const revision = model.provider_config.revision || \"main\";\n return `${model.provider_config.model_path}:${model.provider_config.pipeline}:${dtype}:${device}:${revision}`;\n}\n\n/**\n * Helper function to get a pipeline for a model\n * @param progressScaleMax - Maximum progress value for download phase (100 for download-only, 10 for download+run)\n *\n * Explicit `Promise<any>` return avoids TS2883 (inferred type not portable across package boundaries).\n */\nexport async function getPipeline(\n model: HfTransformersOnnxModelConfig,\n emit: (event: StreamPhase) => void,\n options: PretrainedModelOptions = {},\n signal?: AbortSignal,\n progressScaleMax: number = 10\n): Promise<any> {\n if (signal?.aborted) {\n throw signal?.reason ?? new Error(\"Aborted\");\n }\n const cacheKey = getPipelineCacheKey(model);\n if (pipelines.has(cacheKey)) {\n getLogger().debug(\"HFT pipeline cache hit\", { cacheKey });\n return pipelines.get(cacheKey);\n }\n\n // In-flight: only one load per model at a time to avoid concurrent writes to the same\n // ONNX cache path (which can yield \"Protobuf parsing failed\" when one process reads while another writes).\n const inFlight = pipelineLoadPromises.get(cacheKey);\n if (inFlight) {\n try {\n await inFlight;\n } catch {\n // First load failed (e.g. aborted) — fall through to retry below.\n }\n const cached = pipelines.get(cacheKey);\n if (cached) return cached;\n // Load failed for the other caller; fall through to retry (we remove from map in finally).\n }\n\n const loadPromise = doGetPipeline(\n model,\n emit,\n options,\n progressScaleMax,\n cacheKey,\n signal\n ).finally(() => {\n pipelineLoadPromises.delete(cacheKey);\n });\n pipelineLoadPromises.set(cacheKey, loadPromise);\n return loadPromise;\n}\n\nconst doGetPipeline = async (\n model: HfTransformersOnnxModelConfig,\n emit: (event: StreamPhase) => void,\n options: PretrainedModelOptions,\n progressScaleMax: number,\n cacheKey: string,\n signal?: AbortSignal\n) => {\n // Throttle state for progress events\n let lastProgressTime = 0;\n let pendingProgress: number | null = null;\n let throttleTimer: ReturnType<typeof setTimeout> | null = null;\n const THROTTLE_MS = 160;\n\n /**\n * Sends a progress event, throttled to avoid flooding the worker channel.\n * Always sends first event and final (>=progressScaleMax) immediately.\n */\n const sendProgress = (progress: number): void => {\n const now = Date.now();\n const timeSinceLastEvent = now - lastProgressTime;\n const isFirst = lastProgressTime === 0;\n const isFinal = progress >= progressScaleMax;\n\n if (isFirst || isFinal) {\n if (throttleTimer) {\n clearTimeout(throttleTimer);\n throttleTimer = null;\n }\n pendingProgress = null;\n emit({ type: \"phase\", message: \"Downloading model\", progress: Math.round(progress) });\n lastProgressTime = now;\n return;\n }\n\n if (timeSinceLastEvent < THROTTLE_MS) {\n pendingProgress = progress;\n if (!throttleTimer) {\n const timeRemaining = Math.max(1, THROTTLE_MS - timeSinceLastEvent);\n throttleTimer = setTimeout(() => {\n throttleTimer = null;\n if (pendingProgress !== null) {\n emit({\n type: \"phase\",\n message: \"Downloading model\",\n progress: Math.round(pendingProgress),\n });\n lastProgressTime = Date.now();\n pendingProgress = null;\n }\n }, timeRemaining);\n }\n return;\n }\n\n emit({ type: \"phase\", message: \"Downloading model\", progress: Math.round(progress) });\n lastProgressTime = now;\n pendingProgress = null;\n };\n\n // Get the abort signal from the signal parameter\n const abortSignal = signal;\n\n // Register a per-model AbortController so abortableFetch can cancel in-flight fetches\n const modelPath = model.provider_config.model_path;\n const modelController = new AbortController();\n modelAbortControllers.set(modelPath, modelController);\n if (abortSignal) {\n if (abortSignal.aborted) {\n modelController.abort();\n } else {\n abortSignal.addEventListener(\"abort\", () => modelController.abort(), { once: true });\n }\n }\n\n // Use aggregate progress_total event from @huggingface/transformers v4 pipeline()\n const progressCallback = (status: ProgressInfo) => {\n if (abortSignal?.aborted) return;\n\n if (status.status === \"progress_total\") {\n const scaledProgress = (status.progress * progressScaleMax) / 100;\n sendProgress(scaledProgress);\n }\n };\n\n let device = model.provider_config.device as string | undefined;\n if (isBrowserEnv()) {\n // we must make a choice for the device in the browser\n if (device === \"gpu\") {\n device = \"webgpu\";\n }\n if (device === \"cpu\") {\n device = \"wasm\";\n }\n if (device !== \"wasm\" && device !== \"webgpu\") {\n device = \"wasm\";\n }\n } else {\n // we can trust the lib to make a choice for the device on the server\n if (device === \"wasm\" || device === \"webgpu\") {\n device = undefined;\n }\n }\n\n const dtype = model.provider_config.dtype || \"\";\n const pipelineOptions: PretrainedModelOptions = {\n revision: model.provider_config.revision || \"main\",\n ...(model.provider_config.use_external_data_format\n ? { useExternalDataFormat: model.provider_config.use_external_data_format }\n : {}),\n ...(dtype ? { dtype: dtype as any } : {}),\n ...(device ? { device: device as any } : {}),\n ...options,\n progress_callback: progressCallback,\n };\n\n // Check if already aborted before starting\n if (abortSignal?.aborted) {\n modelAbortControllers.delete(modelPath);\n throw new Error(\"Operation aborted before pipeline creation\");\n }\n\n const pipelineType = model.provider_config.pipeline;\n\n const { pipeline } = await loadTransformersSDK();\n\n const logger = getLogger();\n const pipelineTimerLabel = `hft:pipeline:${cacheKey}`;\n logger.time(pipelineTimerLabel, { pipelineType, modelPath });\n\n try {\n const result = await pipeline(pipelineType, model.provider_config.model_path, pipelineOptions);\n\n // Flush pending throttled progress and clean up timer\n if (throttleTimer) {\n clearTimeout(throttleTimer);\n throttleTimer = null;\n }\n // pendingProgress may have been set by progressCallback during the pipeline() await\n if (pendingProgress !== null) {\n emit({\n type: \"phase\",\n message: \"Downloading model\",\n progress: Math.round(pendingProgress),\n });\n pendingProgress = null;\n }\n\n // Check if aborted after pipeline creation\n if (abortSignal?.aborted) {\n logger.timeEnd(pipelineTimerLabel, { status: \"aborted\" });\n throw new Error(\"Operation aborted after pipeline creation\");\n }\n\n // For image/vision pipelines the processor must be initialized. A null processor\n // means the model cache is incomplete (e.g. preprocessor_config.json was not\n // downloaded, likely because a previous download was aborted). Throw a specific\n // error so the job queue can retry and re-fetch the missing files.\n if (IMAGE_PIPELINE_TYPES.has(pipelineType) && (result as any).processor == null) {\n throw new Error(\n `${HFT_NULL_PROCESSOR_PREFIX} Image processor not initialized for ` +\n `${pipelineType}/${modelPath}. Model cache may be incomplete.`\n );\n }\n\n logger.timeEnd(pipelineTimerLabel, { status: \"loaded\" });\n pipelines.set(cacheKey, result);\n return result;\n } catch (error: any) {\n logger.timeEnd(pipelineTimerLabel, { status: \"error\", error: String(error) });\n // If aborted, throw a clean abort error rather than internal stream errors.\n // Preserve processor-initialization errors so they propagate with their original message.\n if (\n !error?.message?.startsWith(HFT_NULL_PROCESSOR_PREFIX) &&\n (abortSignal?.aborted || modelController.signal.aborted)\n ) {\n throw new Error(\"Pipeline download aborted\");\n }\n throw error;\n } finally {\n modelAbortControllers.delete(modelPath);\n const { random } = await loadTransformersSDK();\n random.seed(model.provider_config.seed ?? undefined);\n }\n};\n",
|
|
6
6
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const HF_TRANSFORMERS_ONNX = \"HF_TRANSFORMERS_ONNX\";\n/** Job queue for WebGPU/GPU/Metal HFT models (serialized, concurrency 1). */\nexport const HF_TRANSFORMERS_ONNX_GPU = `${HF_TRANSFORMERS_ONNX}_gpu`;\n/** Job queue for WASM/CPU HFT models. */\nexport const HF_TRANSFORMERS_ONNX_CPU = `${HF_TRANSFORMERS_ONNX}_cpu`;\nexport const HTF_CACHE_NAME = \"transformers-cache\";\n\nexport type QuantizationDataType =\n | \"auto\" // Auto-detect based on environment\n | \"fp32\"\n | \"fp16\"\n | \"q8\"\n | \"int8\"\n | \"uint8\"\n | \"q4\"\n | \"bnb4\"\n | \"q4f16\"\n | \"q2\"\n | \"q2f16\"\n | \"q1\"\n | \"q1f16\";\n\nexport const QuantizationDataType = {\n auto: \"auto\",\n fp32: \"fp32\",\n fp16: \"fp16\",\n q8: \"q8\",\n int8: \"int8\",\n uint8: \"uint8\",\n q4: \"q4\",\n bnb4: \"bnb4\",\n q4f16: \"q4f16\",\n q2: \"q2\",\n q2f16: \"q2f16\",\n q1: \"q1\",\n q1f16: \"q1f16\",\n} as const satisfies Record<QuantizationDataType, QuantizationDataType>;\n\ntype TextPipelineUseCase =\n | \"fill-mask\" // https://huggingface.co/tasks/fill-mask\n | \"token-classification\" // https://huggingface.co/tasks/token-classification\n | \"text-generation\" // https://huggingface.co/tasks/text-generation#completion-generation-models\n | \"text2text-generation\" // https://huggingface.co/tasks/text-generation#text-to-text-generation-models\n | \"text-classification\" // https://huggingface.co/tasks/text-classification\n | \"summarization\" // https://huggingface.co/tasks/sentence-similarity\n | \"translation\" // https://huggingface.co/tasks/translation\n | \"feature-extraction\" // https://huggingface.co/tasks/feature-extraction\n | \"zero-shot-classification\" // https://huggingface.co/tasks/zero-shot-classification\n | \"question-answering\"; // https://huggingface.co/tasks/question-answering\n\nconst TextPipelineUseCase = {\n \"fill-mask\": \"fill-mask\",\n \"token-classification\": \"token-classification\",\n \"text-generation\": \"text-generation\",\n \"text2text-generation\": \"text2text-generation\",\n \"text-classification\": \"text-classification\",\n summarization: \"summarization\",\n translation: \"translation\",\n \"feature-extraction\": \"feature-extraction\",\n \"zero-shot-classification\": \"zero-shot-classification\",\n \"question-answering\": \"question-answering\",\n} as const satisfies Record<TextPipelineUseCase, TextPipelineUseCase>;\n\ntype VisionPipelineUseCase =\n | \"background-removal\" // https://huggingface.co/tasks/image-segmentation#background-removal\n | \"image-segmentation\" // https://huggingface.co/tasks/image-segmentation\n | \"depth-estimation\" // https://huggingface.co/tasks/depth-estimation\n | \"image-classification\" // https://huggingface.co/tasks/image-classification\n | \"image-to-image\" // https://huggingface.co/tasks/image-to-image\n // | \"text-to-image\" // https://huggingface.co/tasks/text-to-image\n | \"image-to-text\" // https://huggingface.co/tasks/image-to-text\n // | \"image-text-to-text\" // https://huggingface.co/tasks/image-text-to-text\n | \"object-detection\" // https://huggingface.co/tasks/object-detection\n | \"image-feature-extraction\"; // https://huggingface.co/tasks/image-feature-extraction\n\nconst VisionPipelineUseCase = {\n \"background-removal\": \"background-removal\",\n \"image-segmentation\": \"image-segmentation\",\n \"depth-estimation\": \"depth-estimation\",\n \"image-classification\": \"image-classification\",\n \"image-to-image\": \"image-to-image\",\n // \"text-to-image\": \"text-to-image\",\n \"image-to-text\": \"image-to-text\",\n // \"image-text-to-text\": \"image-text-to-text\",\n \"object-detection\": \"object-detection\",\n \"image-feature-extraction\": \"image-feature-extraction\",\n} as const satisfies Record<VisionPipelineUseCase, VisionPipelineUseCase>;\n\ntype AudioPipelineUseCase =\n | \"audio-classification\" // https://huggingface.co/tasks/audio-classification\n | \"automatic-speech-recognition\" // https://huggingface.co/tasks/automatic-speech-recognition\n | \"text-to-speech\"; // https://huggingface.co/tasks/text-to-speech\n\nconst AudioPipelineUseCase = {\n \"audio-classification\": \"audio-classification\",\n \"automatic-speech-recognition\": \"automatic-speech-recognition\",\n \"text-to-speech\": \"text-to-speech\",\n} as const satisfies Record<AudioPipelineUseCase, AudioPipelineUseCase>;\n\ntype MultimodalPipelineUseCase =\n | \"document-question-answering\" // https://huggingface.co/tasks/document-question-answering\n | \"image-to-text\" // https://huggingface.co/tasks/image-to-text\n | \"zero-shot-audio-classification\" // https://huggingface.co/tasks/zero-shot-audio-classification\n | \"zero-shot-image-classification\" // https://huggingface.co/tasks/zero-shot-image-classification\n | \"zero-shot-object-detection\"; // https://huggingface.co/tasks/zero-shot-object-detection\n\nconst MultimodalPipelineUseCase = {\n \"document-question-answering\": \"document-question-answering\",\n \"image-to-text\": \"image-to-text\",\n \"zero-shot-audio-classification\": \"zero-shot-audio-classification\",\n \"zero-shot-image-classification\": \"zero-shot-image-classification\",\n \"zero-shot-object-detection\": \"zero-shot-object-detection\",\n} as const satisfies Record<MultimodalPipelineUseCase, MultimodalPipelineUseCase>;\n\nexport type PipelineUseCase =\n | TextPipelineUseCase\n | VisionPipelineUseCase\n | AudioPipelineUseCase\n | MultimodalPipelineUseCase;\n\nexport const PipelineUseCase = {\n ...TextPipelineUseCase,\n ...VisionPipelineUseCase,\n ...AudioPipelineUseCase,\n ...MultimodalPipelineUseCase,\n} as const satisfies Record<PipelineUseCase, PipelineUseCase>;\n",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const ONNX_QUANTIZATION_SUFFIX_MAPPING = {\n fp32: \"\",\n fp16: \"_fp16\",\n int8: \"_int8\",\n uint8: \"_uint8\",\n q8: \"_quantized\",\n q4: \"_q4\",\n q4f16: \"_q4f16\",\n bnb4: \"_bnb4\",\n q2: \"_q2\",\n q2f16: \"_q2f16\",\n q1: \"_q1\",\n q1f16: \"_q1f16\",\n} as const;\n\nexport type OnnxQuantization = keyof typeof ONNX_QUANTIZATION_SUFFIX_MAPPING;\n\nconst SUFFIXES_LONGEST_FIRST = (\n Object.entries(ONNX_QUANTIZATION_SUFFIX_MAPPING) as [OnnxQuantization, string][]\n)\n .filter(([, suffix]) => suffix !== \"\")\n .sort((a, b) => b[1].length - a[1].length);\n\nexport function parseOnnxQuantizations(params: {\n /** File paths, e.g. from listModels/modelInfo with additionalFields: [\"filePaths\"] */\n filePaths: string[];\n /** Subdirectory containing ONNX files. @default \"onnx\" */\n subfolder?: string;\n}): OnnxQuantization[] {\n const subfolder = params.subfolder ?? \"onnx\";\n const prefix = subfolder + \"/\";\n\n const stems: string[] = [];\n for (const fp of params.filePaths) {\n if (!fp.startsWith(prefix)) continue;\n if (!fp.endsWith(\".onnx\")) continue;\n if (fp.endsWith(\".onnx_data\")) continue;\n stems.push(fp.slice(prefix.length, -\".onnx\".length));\n }\n\n if (stems.length === 0) return [];\n\n const parsed: Array<{ baseName: string; dtype: OnnxQuantization }> = [];\n for (const stem of stems) {\n let matched = false;\n for (const [dtype, suffix] of SUFFIXES_LONGEST_FIRST) {\n if (stem.endsWith(suffix)) {\n parsed.push({ baseName: stem.slice(0, -suffix.length), dtype });\n matched = true;\n break;\n }\n }\n if (!matched) {\n parsed.push({ baseName: stem, dtype: \"fp32\" });\n }\n }\n\n const allBaseNames = new Set(parsed.map((p) => p.baseName));\n const byDtype = new Map<OnnxQuantization, Set<string>>();\n for (const { baseName, dtype } of parsed) {\n let set = byDtype.get(dtype);\n if (!set) {\n set = new Set();\n byDtype.set(dtype, set);\n }\n set.add(baseName);\n }\n\n const allDtypes = Object.keys(ONNX_QUANTIZATION_SUFFIX_MAPPING) as OnnxQuantization[];\n return allDtypes.filter((dtype) => {\n const set = byDtype.get(dtype);\n return set !== undefined && set.size === allBaseNames.size;\n });\n}\n",
|
|
9
9
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * State machine that filters `<tool_call>…</tool_call>` markup out of a\n * stream of text-delta tokens. Tokens that are clearly outside markup are\n * flushed immediately; tokens that *might* be the start of a tag are held\n * in a lookahead buffer until they can be disambiguated.\n *\n * This only handles the XML-tag pattern. Bare-JSON tool calls cannot be\n * reliably detected token-by-token and are still cleaned up via the\n * post-hoc `parseToolCallsFromText` pass on the finish event.\n */\nexport function createToolCallMarkupFilter(emit: (text: string) => void) {\n const OPEN_TAG = \"<tool_call>\";\n const CLOSE_TAG = \"</tool_call>\";\n\n /** \"text\" = normal output, \"tag\" = inside a tool_call block */\n let state: \"text\" | \"tag\" = \"text\";\n /** Buffered text that might be a partial tag prefix */\n let pending = \"\";\n\n function feed(token: string) {\n if (state === \"tag\") {\n // Inside a tool_call block — suppress everything until we see the close tag\n pending += token;\n const closeIdx = pending.indexOf(CLOSE_TAG);\n if (closeIdx !== -1) {\n // End of the tool_call block; resume normal output after the close tag\n const afterClose = pending.slice(closeIdx + CLOSE_TAG.length);\n pending = \"\";\n state = \"text\";\n if (afterClose.length > 0) {\n feed(afterClose);\n }\n }\n // else: still inside the tag block, keep suppressing\n return;\n }\n\n // state === \"text\"\n const combined = pending + token;\n\n // Check for a complete open tag\n const openIdx = combined.indexOf(OPEN_TAG);\n if (openIdx !== -1) {\n // Emit everything before the tag\n const before = combined.slice(0, openIdx);\n if (before.length > 0) {\n emit(before);\n }\n // Switch to tag state; feed the remainder (after the open tag) back through\n pending = \"\";\n state = \"tag\";\n const afterOpen = combined.slice(openIdx + OPEN_TAG.length);\n if (afterOpen.length > 0) {\n feed(afterOpen);\n }\n return;\n }\n\n // Check if the tail of `combined` could be the start of \"<tool_call>\"\n // e.g. combined ends with \"<\", \"<t\", \"<to\", ..., \"<tool_call\"\n let prefixLen = 0;\n for (let len = Math.min(combined.length, OPEN_TAG.length - 1); len >= 1; len--) {\n if (combined.endsWith(OPEN_TAG.slice(0, len))) {\n prefixLen = len;\n break;\n }\n }\n\n if (prefixLen > 0) {\n // The tail is ambiguous — hold it back, flush the rest\n const safe = combined.slice(0, combined.length - prefixLen);\n if (safe.length > 0) {\n emit(safe);\n }\n pending = combined.slice(combined.length - prefixLen);\n } else {\n // No ambiguity — flush everything\n if (combined.length > 0) {\n emit(combined);\n }\n pending = \"\";\n }\n }\n\n /** Flush any remaining buffered text (called when the stream ends). */\n function flush() {\n if (pending.length > 0 && state === \"text\") {\n emit(pending);\n pending = \"\";\n }\n // If state === \"tag\", the pending content is suppressed tool-call markup\n pending = \"\";\n state = \"text\";\n }\n\n return { feed, flush };\n}\n",
|
|
10
10
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AiProvider } from \"@workglow/ai/worker\";\nimport type {\n AiProviderPreviewRunFn,\n AiProviderRunFnRegistration,\n Capability,\n ModelConfig,\n ModelRecord,\n} from \"@workglow/ai/worker\";\nimport { HF_TRANSFORMERS_ONNX } from \"./common/HFT_Constants\";\nimport { hftWorkerRunFnSpecs, inferHftCapabilities } from \"./common/HFT_Capabilities\";\nimport type { HfTransformersOnnxModelConfig } from \"./common/HFT_ModelSchema\";\nimport { deleteHftSession } from \"./common/HFT_Pipeline\";\n\n/**\n * AI provider for HuggingFace Transformers ONNX models.\n *\n * Supports text, vision, and multimodal tasks via the `@huggingface/transformers`\n * library. Run-fn registrations are injected via the constructor so the heavy\n * `@huggingface/transformers` import is only paid in worker contexts.\n */\nexport class HuggingFaceTransformersProvider extends AiProvider<HfTransformersOnnxModelConfig> {\n readonly name = HF_TRANSFORMERS_ONNX;\n readonly displayName = \"Hugging Face Transformers (ONNX)\";\n readonly isLocal = true;\n readonly supportsBrowser = true;\n\n constructor(\n promiseRunFns?: readonly AiProviderRunFnRegistration<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n any,\n HfTransformersOnnxModelConfig\n >[],\n previewTasks?: Record<\n string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n AiProviderPreviewRunFn<any, any, HfTransformersOnnxModelConfig>\n >\n ) {\n super(promiseRunFns, previewTasks);\n }\n\n override inferCapabilities(model: ModelRecord): readonly Capability[] {\n return inferHftCapabilities(model);\n }\n\n protected override workerRunFnSpecs(): readonly { serves: readonly Capability[] }[] {\n return hftWorkerRunFnSpecs();\n }\n\n override createSession(_model: ModelConfig): string {\n return crypto.randomUUID();\n }\n\n override async disposeSession(sessionId: string): Promise<void> {\n deleteHftSession(sessionId);\n }\n}\n",
|
|
11
|
-
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Capability } from \"@workglow/ai/worker\";\n\n/**\n * Single source of truth for HuggingFace Transformers' capability sets.\n *\n * Both `HFT_RUN_FNS` (worker-side registration) and `workerRunFnSpecs()`\n * (main-thread proxy declaration) derive their `serves` arrays from these\n * named exports. SDK-free so the main thread can import without paying the\n * `@huggingface/transformers` cost.\n */\nexport const HFT_TEXT_GENERATION = [\"text.generation\"] as const satisfies Capability[];\nexport const HFT_TOOL_USE = [\"text.generation\", \"tool-use\"] as const satisfies Capability[];\nexport const HFT_JSON_MODE = [\"text.generation\", \"json-mode\"] as const satisfies Capability[];\nexport const HFT_TEXT_REWRITER = [\"text.rewriter\"] as const satisfies Capability[];\nexport const HFT_TEXT_SUMMARY = [\"text.summary\"] as const satisfies Capability[];\nexport const HFT_TEXT_TRANSLATION = [\"text.translation\"] as const satisfies Capability[];\nexport const HFT_TEXT_QUESTION_ANSWERING = [\n \"text.question-answering\",\n] as const satisfies Capability[];\nexport const HFT_TEXT_EMBEDDING = [\"text.embedding\"] as const satisfies Capability[];\nexport const HFT_TEXT_CLASSIFICATION = [\"text.classification\"] as const satisfies Capability[];\nexport const HFT_TEXT_LANGUAGE_DETECTION = [\n \"text.language-detection\",\n] as const satisfies Capability[];\nexport const HFT_TEXT_FILL_MASK = [\"text.fill-mask\"] as const satisfies Capability[];\nexport const HFT_TEXT_NER = [\"text.ner\"] as const satisfies Capability[];\nexport const HFT_IMAGE_CLASSIFICATION = [\"image.classification\"] as const satisfies Capability[];\nexport const HFT_IMAGE_EMBEDDING = [\"image.embedding\"] as const satisfies Capability[];\nexport const HFT_IMAGE_SEGMENTATION = [\"image.segmentation\"] as const satisfies Capability[];\nexport const HFT_IMAGE_TO_TEXT = [\"image.to-text\"] as const satisfies Capability[];\nexport const HFT_IMAGE_BACKGROUND_REMOVAL = [\n \"image.background-removal\",\n] as const satisfies Capability[];\nexport const HFT_IMAGE_OBJECT_DETECTION = [\n \"image.object-detection\",\n] as const satisfies Capability[];\nexport const HFT_COUNT_TOKENS = [\"model.count-tokens\"] as const satisfies Capability[];\nexport const HFT_MODEL_DOWNLOAD_REMOVE = [\"model.download-remove\"] as const satisfies Capability[];\nexport const HFT_MODEL_DOWNLOAD = [\"model.download\"] as const satisfies Capability[];\nexport const HFT_MODEL_SEARCH = [\"model.search\"] as const satisfies Capability[];\nexport const HFT_MODEL_INFO = [\"model.info\"] as const satisfies Capability[];\n\n/** Aggregated list — for `workerRunFnSpecs()` derivation. Order MUST match `HFT_RUN_FNS`. */\nexport const HFT_CAPABILITY_SETS = [\n HFT_TEXT_GENERATION,\n HFT_TOOL_USE,\n HFT_JSON_MODE,\n HFT_TEXT_REWRITER,\n HFT_TEXT_SUMMARY,\n HFT_TEXT_TRANSLATION,\n HFT_TEXT_QUESTION_ANSWERING,\n HFT_TEXT_EMBEDDING,\n HFT_TEXT_CLASSIFICATION,\n HFT_TEXT_LANGUAGE_DETECTION,\n HFT_TEXT_FILL_MASK,\n HFT_TEXT_NER,\n HFT_IMAGE_CLASSIFICATION,\n HFT_IMAGE_EMBEDDING,\n HFT_IMAGE_SEGMENTATION,\n HFT_IMAGE_TO_TEXT,\n HFT_IMAGE_BACKGROUND_REMOVAL,\n HFT_IMAGE_OBJECT_DETECTION,\n HFT_COUNT_TOKENS,\n HFT_MODEL_DOWNLOAD_REMOVE,\n HFT_MODEL_DOWNLOAD,\n HFT_MODEL_SEARCH,\n HFT_MODEL_INFO,\n] as const;\n",
|
|
11
|
+
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Capability } from \"@workglow/ai/worker\";\n\n/**\n * Single source of truth for HuggingFace Transformers' capability sets.\n *\n * Both `HFT_RUN_FNS` (worker-side registration) and `workerRunFnSpecs()`\n * (main-thread proxy declaration) derive their `serves` arrays from these\n * named exports. SDK-free so the main thread can import without paying the\n * `@huggingface/transformers` cost.\n */\nexport const HFT_TEXT_GENERATION = [\"text.generation\"] as const satisfies Capability[];\nexport const HFT_TOOL_USE = [\"text.generation\", \"tool-use\"] as const satisfies Capability[];\nexport const HFT_JSON_MODE = [\"text.generation\", \"json-mode\"] as const satisfies Capability[];\nexport const HFT_TEXT_REWRITER = [\"text.rewriter\"] as const satisfies Capability[];\nexport const HFT_TEXT_SUMMARY = [\"text.summary\"] as const satisfies Capability[];\nexport const HFT_TEXT_TRANSLATION = [\"text.translation\"] as const satisfies Capability[];\nexport const HFT_TEXT_QUESTION_ANSWERING = [\n \"text.question-answering\",\n] as const satisfies Capability[];\nexport const HFT_TEXT_EMBEDDING = [\"text.embedding\"] as const satisfies Capability[];\nexport const HFT_TEXT_CLASSIFICATION = [\"text.classification\"] as const satisfies Capability[];\nexport const HFT_TEXT_LANGUAGE_DETECTION = [\n \"text.language-detection\",\n] as const satisfies Capability[];\nexport const HFT_TEXT_RERANKING = [\"text.reranking\"] as const satisfies Capability[];\nexport const HFT_TEXT_FILL_MASK = [\"text.fill-mask\"] as const satisfies Capability[];\nexport const HFT_TEXT_NER = [\"text.ner\"] as const satisfies Capability[];\nexport const HFT_IMAGE_CLASSIFICATION = [\"image.classification\"] as const satisfies Capability[];\nexport const HFT_IMAGE_EMBEDDING = [\"image.embedding\"] as const satisfies Capability[];\nexport const HFT_IMAGE_SEGMENTATION = [\"image.segmentation\"] as const satisfies Capability[];\nexport const HFT_IMAGE_TO_TEXT = [\"image.to-text\"] as const satisfies Capability[];\nexport const HFT_IMAGE_BACKGROUND_REMOVAL = [\n \"image.background-removal\",\n] as const satisfies Capability[];\nexport const HFT_IMAGE_OBJECT_DETECTION = [\n \"image.object-detection\",\n] as const satisfies Capability[];\nexport const HFT_COUNT_TOKENS = [\"model.count-tokens\"] as const satisfies Capability[];\nexport const HFT_MODEL_DOWNLOAD_REMOVE = [\"model.download-remove\"] as const satisfies Capability[];\nexport const HFT_MODEL_DOWNLOAD = [\"model.download\"] as const satisfies Capability[];\nexport const HFT_MODEL_SEARCH = [\"model.search\"] as const satisfies Capability[];\nexport const HFT_MODEL_INFO = [\"model.info\"] as const satisfies Capability[];\n\n/** Aggregated list — for `workerRunFnSpecs()` derivation. Order MUST match `HFT_RUN_FNS`. */\nexport const HFT_CAPABILITY_SETS = [\n HFT_TEXT_GENERATION,\n HFT_TOOL_USE,\n HFT_JSON_MODE,\n HFT_TEXT_REWRITER,\n HFT_TEXT_SUMMARY,\n HFT_TEXT_TRANSLATION,\n HFT_TEXT_QUESTION_ANSWERING,\n HFT_TEXT_EMBEDDING,\n HFT_TEXT_CLASSIFICATION,\n HFT_TEXT_LANGUAGE_DETECTION,\n HFT_TEXT_RERANKING,\n HFT_TEXT_FILL_MASK,\n HFT_TEXT_NER,\n HFT_IMAGE_CLASSIFICATION,\n HFT_IMAGE_EMBEDDING,\n HFT_IMAGE_SEGMENTATION,\n HFT_IMAGE_TO_TEXT,\n HFT_IMAGE_BACKGROUND_REMOVAL,\n HFT_IMAGE_OBJECT_DETECTION,\n HFT_COUNT_TOKENS,\n HFT_MODEL_DOWNLOAD_REMOVE,\n HFT_MODEL_DOWNLOAD,\n HFT_MODEL_SEARCH,\n HFT_MODEL_INFO,\n] as const;\n",
|
|
12
12
|
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Capability, ModelRecord } from \"@workglow/ai/worker\";\nimport { HFT_CAPABILITY_SETS } from \"./HFT_CapabilitySets\";\n\nexport const HFT_RUN_FN_SPECS = HFT_CAPABILITY_SETS.map((serves) => ({ serves }));\n\nexport function hftWorkerRunFnSpecs(): readonly { readonly serves: readonly Capability[] }[] {\n return HFT_RUN_FN_SPECS;\n}\n\ntype CapabilityHints = Pick<ModelRecord, \"model_id\" | \"provider_config\" | \"capabilities\">;\n\n/**\n * Heuristic capability inference for a HuggingFace Transformers\n * {@link ModelRecord}.\n *\n * HFT model ids come from the HF Hub catalog (e.g. `Xenova/all-MiniLM-L6-v2`,\n * `onnx-community/Llama-3.2-1B-Instruct-q4f16`, `Xenova/clip-vit-base-patch32`).\n * Heuristics inspect a normalized suffix and `provider_config.pipeline_task`\n * if present (HF tags each repo with a pipeline-task hint).\n *\n * If `capabilities` is already declared on the record, those win unconditionally\n * (HF Hub repo metadata is the most authoritative signal we have).\n */\nexport function inferHftCapabilities(model: CapabilityHints): readonly Capability[] {\n // Authoritative path: trust declared capabilities (the model-search step\n // populates these from HF Hub tags).\n const declared = (model.capabilities as readonly Capability[] | undefined) ?? [];\n if (declared.length > 0) return declared;\n\n const id = String(\n model.model_id ??\n (model.provider_config as { model_path?: string; model_name?: string } | undefined)\n ?.model_path ??\n (model.provider_config as { model_name?: string } | undefined)?.model_name ??\n \"\"\n );\n\n const pipelineTask =\n (model.provider_config as { pipeline_task?: string } | undefined)?.pipeline_task ?? \"\";\n\n // Use the pipeline-task hint first if it's set (most reliable).\n switch (pipelineTask) {\n case \"text-generation\":\n return [\n \"text.generation\",\n \"text.rewriter\",\n \"text.summary\",\n \"tool-use\",\n \"model.count-tokens\",\n \"model.download-remove\",\n \"model.info\",\n \"model.search\",\n ];\n case \"feature-extraction\":\n case \"sentence-similarity\":\n return [\"text.embedding\", \"model.download-remove\", \"model.info\", \"model.search\"];\n case \"text-classification\":\n return [\"text.classification\", \"model.download-remove\", \"model.info\", \"model.search\"];\n case \"token-classification\":\n return [\"text.ner\", \"model.download-remove\", \"model.info\", \"model.search\"];\n case \"fill-mask\":\n return [\"text.fill-mask\", \"model.download-remove\", \"model.info\", \"model.search\"];\n case \"translation\":\n return [\"text.translation\", \"model.download-remove\", \"model.info\", \"model.search\"];\n case \"summarization\":\n return [\"text.summary\", \"model.download-remove\", \"model.info\", \"model.search\"];\n case \"question-answering\":\n return [\"text.question-answering\", \"model.download-remove\", \"model.info\", \"model.search\"];\n case \"image-classification\":\n return [\"image.classification\", \"model.download-remove\", \"model.info\", \"model.search\"];\n case \"image-segmentation\":\n return [\"image.segmentation\", \"model.download-remove\", \"model.info\", \"model.search\"];\n case \"image-to-text\":\n return [\"image.to-text\", \"model.download-remove\", \"model.info\", \"model.search\"];\n case \"object-detection\":\n return [\"image.object-detection\", \"model.download-remove\", \"model.info\", \"model.search\"];\n case \"zero-shot-image-classification\":\n return [\n \"image.classification\",\n \"image.embedding\",\n \"model.download-remove\",\n \"model.info\",\n \"model.search\",\n ];\n }\n\n // Fallback name-based pattern matching for repos without pipeline_task.\n const baseName = id.split(\"/\").pop() ?? id;\n if (/embed|minilm|bge-|gte-|e5-/i.test(baseName)) {\n return [\"text.embedding\", \"model.download-remove\", \"model.info\", \"model.search\"];\n }\n if (/clip|siglip/i.test(baseName)) {\n return [\n \"image.classification\",\n \"image.embedding\",\n \"model.download-remove\",\n \"model.info\",\n \"model.search\",\n ];\n }\n if (/yolo|detr|owl/i.test(baseName)) {\n return [\"image.object-detection\", \"model.download-remove\", \"model.info\", \"model.search\"];\n }\n if (/sam|segformer|mask/i.test(baseName)) {\n return [\"image.segmentation\", \"model.download-remove\", \"model.info\", \"model.search\"];\n }\n if (/blip|llava|vision/i.test(baseName)) {\n return [\"image.to-text\", \"model.download-remove\", \"model.info\", \"model.search\"];\n }\n if (/llama|mistral|gemma|phi|qwen|tinyllama|smollm/i.test(baseName)) {\n return [\n \"text.generation\",\n \"text.rewriter\",\n \"text.summary\",\n \"tool-use\",\n \"model.count-tokens\",\n \"model.download-remove\",\n \"model.info\",\n \"model.search\",\n ];\n }\n\n // Truly unknown — expose meta-ops only.\n return [\"model.search\", \"model.info\"];\n}\n",
|
|
13
13
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { QueuedAiProvider } from \"@workglow/ai\";\nimport type {\n AiProviderPreviewRunFn,\n AiProviderRegisterOptions,\n AiProviderQueueConcurrency,\n AiProviderRunFnRegistration,\n Capability,\n IAiExecutionStrategy,\n ModelConfig,\n ModelRecord,\n} from \"@workglow/ai\";\nimport { HF_TRANSFORMERS_ONNX, HF_TRANSFORMERS_ONNX_CPU } from \"./common/HFT_Constants\";\nimport { hftWorkerRunFnSpecs, inferHftCapabilities } from \"./common/HFT_Capabilities\";\nimport type { HfTransformersOnnxModelConfig } from \"./common/HFT_ModelSchema\";\nimport { deleteHftSession } from \"./common/HFT_Pipeline\";\n\nconst GPU_DEVICES = new Set([\"webgpu\", \"gpu\", \"metal\"]);\n\n/** Default concurrent WASM/CPU ONNX jobs in production (ONNX Runtime / wasm backend). */\nconst HFT_CPU_QUEUE_CONCURRENCY_PRODUCTION = 4;\n\nfunction hftIsAutomatedTestEnvironment(): boolean {\n if (typeof process === \"undefined\") {\n return false;\n }\n const e = process.env;\n return (\n e.VITEST === \"true\" ||\n e.NODE_ENV === \"test\" ||\n e.BUN_TEST === \"1\" ||\n e.JEST_WORKER_ID !== undefined\n );\n}\n\nfunction hftDefaultCpuQueueConcurrency(): number {\n return hftIsAutomatedTestEnvironment() ? 1 : HFT_CPU_QUEUE_CONCURRENCY_PRODUCTION;\n}\n\nfunction resolveHftCpuQueueConcurrency(\n concurrency: AiProviderQueueConcurrency | undefined,\n defaultCpu: () => number\n): number {\n if (concurrency === undefined) {\n return defaultCpu();\n }\n if (typeof concurrency === \"number\") {\n return defaultCpu();\n }\n return concurrency.cpu ?? defaultCpu();\n}\n\n/**\n * Main-thread registration (inline or worker-backed) for the HFT provider.\n * WebGPU/GPU/Metal models use the `gpu` slot (or a numeric `queue.concurrency`,\n * default 1). WASM/CPU models use a separate {@link HF_TRANSFORMERS_ONNX_CPU}\n * queue with higher concurrency (4 in production, 1 under automated tests).\n */\nexport class HuggingFaceTransformersQueuedProvider extends QueuedAiProvider<HfTransformersOnnxModelConfig> {\n readonly name = HF_TRANSFORMERS_ONNX;\n readonly displayName = \"Hugging Face Transformers (ONNX)\";\n readonly isLocal = true;\n readonly supportsBrowser = true;\n\n private cpuStrategy: IAiExecutionStrategy | undefined;\n\n constructor(\n promiseRunFns?: readonly AiProviderRunFnRegistration<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n any,\n HfTransformersOnnxModelConfig\n >[],\n previewTasks?: Record<\n string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n AiProviderPreviewRunFn<any, any, HfTransformersOnnxModelConfig>\n >\n ) {\n super(promiseRunFns, previewTasks);\n }\n\n override inferCapabilities(model: ModelRecord): readonly Capability[] {\n return inferHftCapabilities(model);\n }\n\n protected override workerRunFnSpecs(): readonly { serves: readonly Capability[] }[] {\n return hftWorkerRunFnSpecs();\n }\n\n override createSession(_model: ModelConfig): string {\n return crypto.randomUUID();\n }\n\n override async disposeSession(sessionId: string): Promise<void> {\n deleteHftSession(sessionId);\n }\n\n protected override async afterRegister(options: AiProviderRegisterOptions): Promise<void> {\n await super.afterRegister(options);\n this.cpuStrategy = this.createQueuedStrategy(\n HF_TRANSFORMERS_ONNX_CPU,\n resolveHftCpuQueueConcurrency(options.queue?.concurrency, hftDefaultCpuQueueConcurrency),\n options\n );\n }\n\n protected override getStrategyForModel(model: ModelConfig): IAiExecutionStrategy {\n const device = (model as HfTransformersOnnxModelConfig).provider_config?.device;\n if (device && GPU_DEVICES.has(device)) {\n return this.queuedStrategy!;\n }\n return this.cpuStrategy!;\n }\n}\n",
|
|
14
14
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRegisterOptions } from \"@workglow/ai\";\nimport { registerProviderWithWorker } from \"@workglow/ai/provider-utils\";\nimport { HuggingFaceTransformersQueuedProvider } from \"./HuggingFaceTransformersQueuedProvider\";\n\n/**\n * Register HuggingFace Transformers ONNX on the **main thread** with worker-backed execution\n * (lightweight proxy; heavy work in the worker).\n */\nexport async function registerHuggingFaceTransformers(\n options: AiProviderRegisterOptions & {\n worker: Worker | (() => Worker);\n }\n): Promise<void> {\n await registerProviderWithWorker(\n new HuggingFaceTransformersQueuedProvider(),\n \"HuggingFaceTransformers\",\n options\n );\n}\n",
|
|
@@ -34,13 +34,14 @@
|
|
|
34
34
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { TextClassificationPipeline } from \"@huggingface/transformers\";\nimport type {\n AiProviderRunFn,\n TextLanguageDetectionTaskInput,\n TextLanguageDetectionTaskOutput,\n} from \"@workglow/ai\";\nimport type { HfTransformersOnnxModelConfig } from \"./HFT_ModelSchema\";\nimport { getPipeline } from \"./HFT_Pipeline\";\n\nexport const HFT_TextLanguageDetection: AiProviderRunFn<\n TextLanguageDetectionTaskInput,\n TextLanguageDetectionTaskOutput,\n HfTransformersOnnxModelConfig\n> = async (input, model, signal, emit) => {\n const TextClassification = (await getPipeline(\n model!,\n emit,\n {},\n signal\n )) as TextClassificationPipeline;\n const result = await TextClassification(input.text, {\n top_k: input.maxLanguages || undefined,\n });\n\n emit({\n type: \"finish\",\n data: {\n languages: result.map((category) => ({\n language: category.label,\n score: category.score,\n })),\n },\n });\n};\n",
|
|
35
35
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { TokenClassificationPipeline } from \"@huggingface/transformers\";\nimport type {\n AiProviderRunFn,\n TextNamedEntityRecognitionTaskInput,\n TextNamedEntityRecognitionTaskOutput,\n} from \"@workglow/ai\";\nimport type { HfTransformersOnnxModelConfig } from \"./HFT_ModelSchema\";\nimport { getPipeline } from \"./HFT_Pipeline\";\n\nexport const HFT_TextNamedEntityRecognition: AiProviderRunFn<\n TextNamedEntityRecognitionTaskInput,\n TextNamedEntityRecognitionTaskOutput,\n HfTransformersOnnxModelConfig\n> = async (input, model, signal, emit) => {\n const textNamedEntityRecognition = (await getPipeline(\n model!,\n emit,\n {},\n signal\n )) as TokenClassificationPipeline;\n const results = await textNamedEntityRecognition(input.text, {\n ignore_labels: input.blockList as string[] | undefined,\n });\n\n emit({\n type: \"finish\",\n data: {\n entities: results.map((entity) => ({\n entity: entity.entity,\n score: entity.score,\n word: entity.word,\n })),\n },\n });\n};\n",
|
|
36
36
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n DocumentQuestionAnsweringOutput,\n QuestionAnsweringPipeline,\n} from \"@huggingface/transformers\";\nimport type {\n AiProviderRunFn,\n TextQuestionAnswerTaskInput,\n TextQuestionAnswerTaskOutput,\n} from \"@workglow/ai\";\nimport type { HfTransformersOnnxModelConfig } from \"./HFT_ModelSchema\";\nimport { getPipeline, loadTransformersSDK } from \"./HFT_Pipeline\";\nimport { createStreamingTextStreamer } from \"./HFT_Streaming\";\n\nexport const HFT_TextQuestionAnswer: AiProviderRunFn<\n TextQuestionAnswerTaskInput,\n TextQuestionAnswerTaskOutput,\n HfTransformersOnnxModelConfig\n> = async (input, model, signal, emit) => {\n const generateAnswer = (await getPipeline(model!, emit, {}, signal)) as QuestionAnsweringPipeline;\n const { TextStreamer, InterruptableStoppingCriteria } = await loadTransformersSDK();\n\n const streamer = createStreamingTextStreamer(\n generateAnswer.tokenizer,\n (text) => emit({ type: \"text-delta\", port: \"text\", textDelta: text }),\n TextStreamer\n );\n const stopping_criteria = new InterruptableStoppingCriteria();\n if (signal) {\n signal.addEventListener(\"abort\", () => stopping_criteria.interrupt(), { once: true });\n }\n\n const pipelineResult = (await generateAnswer(input.question, input.context, {\n streamer,\n stopping_criteria: [stopping_criteria],\n } as any)) as DocumentQuestionAnsweringOutput[number] | DocumentQuestionAnsweringOutput;\n\n const answerText = Array.isArray(pipelineResult)\n ? ((pipelineResult[0] as DocumentQuestionAnsweringOutput[number])?.answer ?? \"\")\n : ((pipelineResult as DocumentQuestionAnsweringOutput[number])?.answer ?? \"\");\n\n emit({ type: \"finish\", data: { text: answerText } as TextQuestionAnswerTaskOutput });\n};\n",
|
|
37
|
+
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { TextClassificationPipeline } from \"@huggingface/transformers\";\nimport type { AiProviderRunFn, TextRerankerTaskInput, TextRerankerTaskOutput } from \"@workglow/ai\";\nimport { KbRerankerOutputError } from \"@workglow/ai\";\nimport { getLogger } from \"@workglow/util/worker\";\nimport type { HfTransformersOnnxModelConfig } from \"./HFT_ModelSchema\";\nimport { getPipeline } from \"./HFT_Pipeline\";\n\n/**\n * Narrow guard: an entry from the text-classification pipeline must be an\n * object with a numeric `score`. We deliberately do not require `label`\n * to be present because some downstream models omit it; only `score` is\n * load-bearing for reranking.\n */\nfunction isScored(v: unknown): v is { label?: string; score: number } {\n return (\n typeof v === \"object\" && v !== null && typeof (v as { score?: unknown }).score === \"number\"\n );\n}\n\n/**\n * Serialize an offending shape for the error payload. We cap the length to\n * keep error messages bounded — a misconfigured model could otherwise dump\n * unbounded data into logs.\n */\nfunction truncateShape(value: unknown): string {\n try {\n const json = JSON.stringify(value);\n if (typeof json !== \"string\") return String(value);\n return json.length > 200 ? `${json.slice(0, 200)}…` : json;\n } catch {\n return String(value);\n }\n}\n\n/**\n * Validate a transformers.js text-classification pipeline output and\n * extract per-document scores. Each entry must be either a `{ score }`\n * object or a non-empty array of such objects (transformers.js returns\n * the array form when `top_k > 1`).\n *\n * Exported so the shape contract can be exercised in tests directly,\n * without needing to spin up a real pipeline or mock the loader. Throws\n * {@link KbRerankerOutputError} on mismatch — silently coercing to 0\n * would hide real model config bugs.\n *\n * @param rawResults Whatever the pipeline call returned. Typed as\n * `unknown` so the caller is forced through this validation.\n * @param modelPath Used in the error message to point operators at the\n * misconfigured model.\n */\nexport function validateAndExtractRerankerScores(\n rawResults: unknown,\n modelPath: string | undefined\n): number[] {\n if (!Array.isArray(rawResults)) {\n throw new KbRerankerOutputError(\n `HFT_TextReranker: unexpected pipeline output shape for model ${modelPath}`,\n truncateShape(rawResults)\n );\n }\n\n const scores: number[] = new Array(rawResults.length);\n for (let i = 0; i < rawResults.length; i++) {\n const entry = rawResults[i];\n const candidate = Array.isArray(entry) ? entry[0] : entry;\n if (!isScored(candidate)) {\n throw new KbRerankerOutputError(\n `HFT_TextReranker: unexpected pipeline output shape for model ${modelPath}`,\n truncateShape(entry)\n );\n }\n scores[i] = candidate.score;\n }\n return scores;\n}\n\n/**\n * Cross-encoder reranker run-fn. Loads a `text-classification` pipeline\n * (the way transformers.js exposes cross-encoder models like\n * `Xenova/bge-reranker-base`) and scores each `[query, doc]` pair.\n *\n * Output `indices` is sorted best-first; `scores` is the per-document score\n * in the original input order so callers can join back to their candidate\n * list without re-sorting.\n *\n * Each pipeline result entry is validated at runtime via\n * {@link validateAndExtractRerankerScores}: either a `{ score }` object or\n * a non-empty array of such objects. On mismatch we throw\n * {@link KbRerankerOutputError} with the model path and a truncated shape\n * snippet — silently coercing missing scores to 0 would hide real model\n * config bugs.\n */\nexport const HFT_TextReranker: AiProviderRunFn<\n TextRerankerTaskInput,\n TextRerankerTaskOutput,\n HfTransformersOnnxModelConfig\n> = async (input, model, signal, emit) => {\n const logger = getLogger();\n const modelPath = model?.provider_config.model_path;\n const timerLabel = `hft:TextReranker:${modelPath}`;\n logger.time(timerLabel, { docs: input.documents.length });\n\n const reranker: TextClassificationPipeline = await getPipeline(model!, emit, {}, signal);\n\n // Transformers.js' text-classification pipeline accepts an array of\n // { text, text_pair } objects for sentence-pair tasks (which cross-encoder\n // rerankers are). The pipeline returns one score per input pair (or an\n // array of scored entries per pair when `top_k > 1`).\n const pairs = input.documents.map((doc) => ({ text: input.query, text_pair: doc }));\n\n // We cast the *input parameter* shape (transformers.js types the pipeline\n // very loosely) but keep the return as `Promise<unknown>` so the guard at\n // `validateAndExtractRerankerScores` is the only path to a typed score.\n // The original bug was casting the return to `Promise<Array<{ score }>>`,\n // which erased the safety net and let a mismatched pipeline silently\n // return garbage.\n const callable = reranker as unknown as (\n inputs: ReadonlyArray<{ text: string; text_pair: string }>,\n options?: Record<string, unknown>\n ) => Promise<unknown>;\n const rawResults: unknown = await callable(pairs, { top_k: 1 });\n\n const scores = validateAndExtractRerankerScores(rawResults, modelPath);\n\n const indices = scores\n .map((score, idx) => ({ score, idx }))\n .sort((a, b) => b.score - a.score)\n .map((p) => p.idx);\n\n const limited = typeof input.topK === \"number\" ? indices.slice(0, input.topK) : indices;\n\n logger.timeEnd(timerLabel, { docs: input.documents.length });\n emit({ type: \"finish\", data: { scores, indices: limited } });\n};\n",
|
|
37
38
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { TextGenerationPipeline } from \"@huggingface/transformers\";\nimport type { AiProviderRunFn, TextRewriterTaskInput, TextRewriterTaskOutput } from \"@workglow/ai\";\nimport type { HfTransformersOnnxModelConfig } from \"./HFT_ModelSchema\";\nimport { getPipeline, loadTransformersSDK } from \"./HFT_Pipeline\";\nimport { createStreamingTextStreamer } from \"./HFT_Streaming\";\n\nexport const HFT_TextRewriter: AiProviderRunFn<\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n HfTransformersOnnxModelConfig\n> = async (input, model, signal, emit) => {\n const generateText = (await getPipeline(model!, emit, {}, signal)) as TextGenerationPipeline;\n const { TextStreamer, InterruptableStoppingCriteria } = await loadTransformersSDK();\n\n const streamer = createStreamingTextStreamer(\n generateText.tokenizer,\n (text) => emit({ type: \"text-delta\", port: \"text\", textDelta: text }),\n TextStreamer\n );\n const stopping_criteria = new InterruptableStoppingCriteria();\n if (signal) {\n signal.addEventListener(\"abort\", () => stopping_criteria.interrupt(), { once: true });\n }\n\n const promptedText = (input.prompt ? input.prompt + \"\\n\" : \"\") + input.text;\n\n await generateText(promptedText, {\n streamer,\n stopping_criteria: [stopping_criteria],\n });\n emit({ type: \"finish\", data: {} as TextRewriterTaskOutput });\n};\n",
|
|
38
39
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { SummarizationPipeline } from \"@huggingface/transformers\";\nimport type { AiProviderRunFn, TextSummaryTaskInput, TextSummaryTaskOutput } from \"@workglow/ai\";\nimport type { HfTransformersOnnxModelConfig } from \"./HFT_ModelSchema\";\nimport { getPipeline, loadTransformersSDK } from \"./HFT_Pipeline\";\nimport { createStreamingTextStreamer } from \"./HFT_Streaming\";\n\nexport const HFT_TextSummary: AiProviderRunFn<\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n HfTransformersOnnxModelConfig\n> = async (input, model, signal, emit) => {\n const generateSummary = (await getPipeline(model!, emit, {}, signal)) as SummarizationPipeline;\n const { TextStreamer, InterruptableStoppingCriteria } = await loadTransformersSDK();\n\n const streamer = createStreamingTextStreamer(\n generateSummary.tokenizer,\n (text) => emit({ type: \"text-delta\", port: \"text\", textDelta: text }),\n TextStreamer\n );\n const stopping_criteria = new InterruptableStoppingCriteria();\n if (signal) {\n signal.addEventListener(\"abort\", () => stopping_criteria.interrupt(), { once: true });\n }\n\n await generateSummary(input.text, {\n streamer,\n stopping_criteria: [stopping_criteria],\n } as any);\n emit({ type: \"finish\", data: {} as TextSummaryTaskOutput });\n};\n",
|
|
39
40
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { TranslationPipeline } from \"@huggingface/transformers\";\nimport type {\n AiProviderRunFn,\n TextTranslationTaskInput,\n TextTranslationTaskOutput,\n} from \"@workglow/ai\";\nimport type { HfTransformersOnnxModelConfig } from \"./HFT_ModelSchema\";\nimport { getPipeline, loadTransformersSDK } from \"./HFT_Pipeline\";\nimport { createStreamingTextStreamer } from \"./HFT_Streaming\";\n\nexport const HFT_TextTranslation: AiProviderRunFn<\n TextTranslationTaskInput,\n TextTranslationTaskOutput,\n HfTransformersOnnxModelConfig\n> = async (input, model, signal, emit) => {\n const translate = (await getPipeline(model!, emit, {}, signal)) as TranslationPipeline;\n const { TextStreamer, InterruptableStoppingCriteria } = await loadTransformersSDK();\n\n const streamer = createStreamingTextStreamer(\n translate.tokenizer,\n (text) => emit({ type: \"text-delta\", port: \"text\", textDelta: text }),\n TextStreamer\n );\n const stopping_criteria = new InterruptableStoppingCriteria();\n if (signal) {\n signal.addEventListener(\"abort\", () => stopping_criteria.interrupt(), { once: true });\n }\n\n await translate(input.text, {\n src_lang: input.source_lang,\n tgt_lang: input.target_lang,\n streamer,\n stopping_criteria: [stopping_criteria],\n });\n emit({ type: \"finish\", data: { target_lang: input.target_lang } as TextTranslationTaskOutput });\n};\n",
|
|
40
|
-
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderPreviewRunFn,\n AiProviderRunFn,\n AiProviderRunFnRegistration,\n} from \"@workglow/ai\";\nimport {\n HFT_COUNT_TOKENS,\n HFT_IMAGE_BACKGROUND_REMOVAL,\n HFT_IMAGE_CLASSIFICATION,\n HFT_IMAGE_EMBEDDING,\n HFT_IMAGE_OBJECT_DETECTION,\n HFT_IMAGE_SEGMENTATION,\n HFT_IMAGE_TO_TEXT,\n HFT_JSON_MODE,\n HFT_MODEL_DOWNLOAD,\n HFT_MODEL_DOWNLOAD_REMOVE,\n HFT_MODEL_INFO,\n HFT_MODEL_SEARCH,\n HFT_TEXT_CLASSIFICATION,\n HFT_TEXT_EMBEDDING,\n HFT_TEXT_FILL_MASK,\n HFT_TEXT_GENERATION,\n HFT_TEXT_LANGUAGE_DETECTION,\n HFT_TEXT_NER,\n HFT_TEXT_QUESTION_ANSWERING,\n HFT_TEXT_REWRITER,\n HFT_TEXT_SUMMARY,\n HFT_TEXT_TRANSLATION,\n HFT_TOOL_USE,\n} from \"./HFT_CapabilitySets\";\nimport type { HfTransformersOnnxModelConfig } from \"./HFT_ModelSchema\";\n\nimport { HFT_BackgroundRemoval } from \"./HFT_BackgroundRemoval\";\nimport { HFT_Chat } from \"./HFT_Chat\";\nimport { HFT_CountTokens, HFT_CountTokens_Preview } from \"./HFT_CountTokens\";\nimport { HFT_Download } from \"./HFT_Download\";\nimport { HFT_DownloadRemove } from \"./HFT_DownloadRemove\";\nimport { HFT_ImageClassification } from \"./HFT_ImageClassification\";\nimport { HFT_ImageEmbedding } from \"./HFT_ImageEmbedding\";\nimport { HFT_ImageSegmentation } from \"./HFT_ImageSegmentation\";\nimport { HFT_ImageToText } from \"./HFT_ImageToText\";\nimport { HFT_ModelInfo } from \"./HFT_ModelInfo\";\nimport { HFT_ModelSearch } from \"./HFT_ModelSearch\";\nimport { HFT_ObjectDetection } from \"./HFT_ObjectDetection\";\nimport { HFT_StructuredGeneration } from \"./HFT_StructuredGeneration\";\nimport { HFT_TextClassification } from \"./HFT_TextClassification\";\nimport { HFT_TextEmbedding } from \"./HFT_TextEmbedding\";\nimport { HFT_TextFillMask } from \"./HFT_TextFillMask\";\nimport { HFT_TextGeneration } from \"./HFT_TextGeneration\";\nimport { HFT_TextLanguageDetection } from \"./HFT_TextLanguageDetection\";\nimport { HFT_TextNamedEntityRecognition } from \"./HFT_TextNamedEntityRecognition\";\nimport { HFT_TextQuestionAnswer } from \"./HFT_TextQuestionAnswer\";\nimport { HFT_TextRewriter } from \"./HFT_TextRewriter\";\nimport { HFT_TextSummary } from \"./HFT_TextSummary\";\nimport { HFT_TextTranslation } from \"./HFT_TextTranslation\";\nimport { HFT_ToolCalling } from \"./HFT_ToolCalling\";\n\n/**\n * Unified `[\"text.generation\"]` run-fn. {@link AiChatTask} (chat history)\n * and {@link TextGenerationTask} (prompt-only) both declare\n * `requires: [\"text.generation\"]`. Discriminates on\n * `Array.isArray(input.messages) && input.messages.length > 0` and dispatches\n * to {@link HFT_Chat} or {@link HFT_TextGeneration}.\n */\nconst HFT_TextGeneration_Unified: AiProviderRunFn<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n any,\n HfTransformersOnnxModelConfig\n> = async (input, model, signal, emit, outputSchema, sessionId) => {\n const maybeMessages = (input as { messages?: unknown }).messages;\n if (Array.isArray(maybeMessages) && maybeMessages.length > 0) {\n await HFT_Chat(input, model, signal, emit, outputSchema, sessionId);\n } else {\n await HFT_TextGeneration(input, model, signal, emit, outputSchema, sessionId);\n }\n};\n\n/**\n * Capability-set run-fn registrations for HuggingFace Transformers (ONNX).\n *\n * Order is significant only as a tiebreaker — the dispatcher prefers the\n * smallest `serves` set that is a superset of the task's `requires`, so the\n * bare `[\"text.generation\"]` entry wins for {@link TextGenerationTask} /\n * {@link AiChatTask}, while `[\"text.generation\", \"tool-use\"]` wins for\n * {@link ToolCallingTask}.\n */\nexport const HFT_RUN_FNS: readonly AiProviderRunFnRegistration<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n any,\n HfTransformersOnnxModelConfig\n>[] = [\n { serves: HFT_TEXT_GENERATION, runFn: HFT_TextGeneration_Unified },\n { serves: HFT_TOOL_USE, runFn: HFT_ToolCalling },\n { serves: HFT_JSON_MODE, runFn: HFT_StructuredGeneration },\n { serves: HFT_TEXT_REWRITER, runFn: HFT_TextRewriter },\n { serves: HFT_TEXT_SUMMARY, runFn: HFT_TextSummary },\n { serves: HFT_TEXT_TRANSLATION, runFn: HFT_TextTranslation },\n { serves: HFT_TEXT_QUESTION_ANSWERING, runFn: HFT_TextQuestionAnswer },\n { serves: HFT_TEXT_EMBEDDING, runFn: HFT_TextEmbedding },\n { serves: HFT_TEXT_CLASSIFICATION, runFn: HFT_TextClassification },\n { serves: HFT_TEXT_LANGUAGE_DETECTION, runFn: HFT_TextLanguageDetection },\n { serves: HFT_TEXT_FILL_MASK, runFn: HFT_TextFillMask },\n { serves: HFT_TEXT_NER, runFn: HFT_TextNamedEntityRecognition },\n { serves: HFT_IMAGE_CLASSIFICATION, runFn: HFT_ImageClassification },\n { serves: HFT_IMAGE_EMBEDDING, runFn: HFT_ImageEmbedding },\n { serves: HFT_IMAGE_SEGMENTATION, runFn: HFT_ImageSegmentation },\n { serves: HFT_IMAGE_TO_TEXT, runFn: HFT_ImageToText },\n { serves: HFT_IMAGE_BACKGROUND_REMOVAL, runFn: HFT_BackgroundRemoval },\n { serves: HFT_IMAGE_OBJECT_DETECTION, runFn: HFT_ObjectDetection },\n { serves: HFT_COUNT_TOKENS, runFn: HFT_CountTokens },\n { serves: HFT_MODEL_DOWNLOAD_REMOVE, runFn: HFT_DownloadRemove },\n { serves: HFT_MODEL_DOWNLOAD, runFn: HFT_Download },\n { serves: HFT_MODEL_SEARCH, runFn: HFT_ModelSearch },\n { serves: HFT_MODEL_INFO, runFn: HFT_ModelInfo },\n];\n\nexport const HFT_PREVIEW_TASKS: Record<\n string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n AiProviderPreviewRunFn<any, any, HfTransformersOnnxModelConfig>\n> = {\n CountTokensTask: HFT_CountTokens_Preview,\n};\n",
|
|
41
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderPreviewRunFn,\n AiProviderRunFn,\n AiProviderRunFnRegistration,\n} from \"@workglow/ai\";\nimport {\n HFT_COUNT_TOKENS,\n HFT_IMAGE_BACKGROUND_REMOVAL,\n HFT_IMAGE_CLASSIFICATION,\n HFT_IMAGE_EMBEDDING,\n HFT_IMAGE_OBJECT_DETECTION,\n HFT_IMAGE_SEGMENTATION,\n HFT_IMAGE_TO_TEXT,\n HFT_JSON_MODE,\n HFT_MODEL_DOWNLOAD,\n HFT_MODEL_DOWNLOAD_REMOVE,\n HFT_MODEL_INFO,\n HFT_MODEL_SEARCH,\n HFT_TEXT_CLASSIFICATION,\n HFT_TEXT_EMBEDDING,\n HFT_TEXT_FILL_MASK,\n HFT_TEXT_GENERATION,\n HFT_TEXT_LANGUAGE_DETECTION,\n HFT_TEXT_NER,\n HFT_TEXT_QUESTION_ANSWERING,\n HFT_TEXT_RERANKING,\n HFT_TEXT_REWRITER,\n HFT_TEXT_SUMMARY,\n HFT_TEXT_TRANSLATION,\n HFT_TOOL_USE,\n} from \"./HFT_CapabilitySets\";\nimport type { HfTransformersOnnxModelConfig } from \"./HFT_ModelSchema\";\n\nimport { HFT_BackgroundRemoval } from \"./HFT_BackgroundRemoval\";\nimport { HFT_Chat } from \"./HFT_Chat\";\nimport { HFT_CountTokens, HFT_CountTokens_Preview } from \"./HFT_CountTokens\";\nimport { HFT_Download } from \"./HFT_Download\";\nimport { HFT_DownloadRemove } from \"./HFT_DownloadRemove\";\nimport { HFT_ImageClassification } from \"./HFT_ImageClassification\";\nimport { HFT_ImageEmbedding } from \"./HFT_ImageEmbedding\";\nimport { HFT_ImageSegmentation } from \"./HFT_ImageSegmentation\";\nimport { HFT_ImageToText } from \"./HFT_ImageToText\";\nimport { HFT_ModelInfo } from \"./HFT_ModelInfo\";\nimport { HFT_ModelSearch } from \"./HFT_ModelSearch\";\nimport { HFT_ObjectDetection } from \"./HFT_ObjectDetection\";\nimport { HFT_StructuredGeneration } from \"./HFT_StructuredGeneration\";\nimport { HFT_TextClassification } from \"./HFT_TextClassification\";\nimport { HFT_TextEmbedding } from \"./HFT_TextEmbedding\";\nimport { HFT_TextFillMask } from \"./HFT_TextFillMask\";\nimport { HFT_TextGeneration } from \"./HFT_TextGeneration\";\nimport { HFT_TextLanguageDetection } from \"./HFT_TextLanguageDetection\";\nimport { HFT_TextNamedEntityRecognition } from \"./HFT_TextNamedEntityRecognition\";\nimport { HFT_TextQuestionAnswer } from \"./HFT_TextQuestionAnswer\";\nimport { HFT_TextReranker } from \"./HFT_TextReranker\";\nimport { HFT_TextRewriter } from \"./HFT_TextRewriter\";\nimport { HFT_TextSummary } from \"./HFT_TextSummary\";\nimport { HFT_TextTranslation } from \"./HFT_TextTranslation\";\nimport { HFT_ToolCalling } from \"./HFT_ToolCalling\";\n\n/**\n * Unified `[\"text.generation\"]` run-fn. {@link AiChatTask} (chat history)\n * and {@link TextGenerationTask} (prompt-only) both declare\n * `requires: [\"text.generation\"]`. Discriminates on\n * `Array.isArray(input.messages) && input.messages.length > 0` and dispatches\n * to {@link HFT_Chat} or {@link HFT_TextGeneration}.\n */\nconst HFT_TextGeneration_Unified: AiProviderRunFn<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n any,\n HfTransformersOnnxModelConfig\n> = async (input, model, signal, emit, outputSchema, sessionId) => {\n const maybeMessages = (input as { messages?: unknown }).messages;\n if (Array.isArray(maybeMessages) && maybeMessages.length > 0) {\n await HFT_Chat(input, model, signal, emit, outputSchema, sessionId);\n } else {\n await HFT_TextGeneration(input, model, signal, emit, outputSchema, sessionId);\n }\n};\n\n/**\n * Capability-set run-fn registrations for HuggingFace Transformers (ONNX).\n *\n * Order is significant only as a tiebreaker — the dispatcher prefers the\n * smallest `serves` set that is a superset of the task's `requires`, so the\n * bare `[\"text.generation\"]` entry wins for {@link TextGenerationTask} /\n * {@link AiChatTask}, while `[\"text.generation\", \"tool-use\"]` wins for\n * {@link ToolCallingTask}.\n */\nexport const HFT_RUN_FNS: readonly AiProviderRunFnRegistration<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n any,\n HfTransformersOnnxModelConfig\n>[] = [\n { serves: HFT_TEXT_GENERATION, runFn: HFT_TextGeneration_Unified },\n { serves: HFT_TOOL_USE, runFn: HFT_ToolCalling },\n { serves: HFT_JSON_MODE, runFn: HFT_StructuredGeneration },\n { serves: HFT_TEXT_REWRITER, runFn: HFT_TextRewriter },\n { serves: HFT_TEXT_SUMMARY, runFn: HFT_TextSummary },\n { serves: HFT_TEXT_TRANSLATION, runFn: HFT_TextTranslation },\n { serves: HFT_TEXT_QUESTION_ANSWERING, runFn: HFT_TextQuestionAnswer },\n { serves: HFT_TEXT_EMBEDDING, runFn: HFT_TextEmbedding },\n { serves: HFT_TEXT_CLASSIFICATION, runFn: HFT_TextClassification },\n { serves: HFT_TEXT_LANGUAGE_DETECTION, runFn: HFT_TextLanguageDetection },\n { serves: HFT_TEXT_RERANKING, runFn: HFT_TextReranker },\n { serves: HFT_TEXT_FILL_MASK, runFn: HFT_TextFillMask },\n { serves: HFT_TEXT_NER, runFn: HFT_TextNamedEntityRecognition },\n { serves: HFT_IMAGE_CLASSIFICATION, runFn: HFT_ImageClassification },\n { serves: HFT_IMAGE_EMBEDDING, runFn: HFT_ImageEmbedding },\n { serves: HFT_IMAGE_SEGMENTATION, runFn: HFT_ImageSegmentation },\n { serves: HFT_IMAGE_TO_TEXT, runFn: HFT_ImageToText },\n { serves: HFT_IMAGE_BACKGROUND_REMOVAL, runFn: HFT_BackgroundRemoval },\n { serves: HFT_IMAGE_OBJECT_DETECTION, runFn: HFT_ObjectDetection },\n { serves: HFT_COUNT_TOKENS, runFn: HFT_CountTokens },\n { serves: HFT_MODEL_DOWNLOAD_REMOVE, runFn: HFT_DownloadRemove },\n { serves: HFT_MODEL_DOWNLOAD, runFn: HFT_Download },\n { serves: HFT_MODEL_SEARCH, runFn: HFT_ModelSearch },\n { serves: HFT_MODEL_INFO, runFn: HFT_ModelInfo },\n];\n\nexport const HFT_PREVIEW_TASKS: Record<\n string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n AiProviderPreviewRunFn<any, any, HfTransformersOnnxModelConfig>\n> = {\n CountTokensTask: HFT_CountTokens_Preview,\n};\n",
|
|
41
42
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// organize-imports-ignore\n\nexport * from \"./common/HFT_Constants\";\nexport * from \"./common/HFT_ModelSchema\";\nexport * from \"./common/HFT_OnnxDtypes\";\nexport * from \"./common/HFT_ToolMarkup\";\nexport * from \"./HuggingFaceTransformersProvider\";\nexport * from \"./HuggingFaceTransformersQueuedProvider\";\nexport * from \"./registerHuggingFaceTransformers\";\n\nimport { HFT_RUN_FN_SPECS } from \"./common/HFT_Capabilities\";\nimport { HFT_RUN_FNS } from \"./common/HFT_JobRunFns\";\n\n/**\n * @internal Symbols exported only for use by `@workglow/test`. Not part of the stable public API.\n */\nexport const _testOnly = {\n HFT_RUN_FN_SPECS,\n HFT_RUN_FNS,\n} as const;\n"
|
|
42
43
|
],
|
|
43
|
-
"mappings": "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",
|
|
44
|
-
"debugId": "
|
|
44
|
+
"mappings": "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",
|
|
45
|
+
"debugId": "FC830CCDC8DBF09664756E2164756E21",
|
|
45
46
|
"names": []
|
|
46
47
|
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@workglow/huggingface-transformers",
|
|
3
3
|
"type": "module",
|
|
4
4
|
"sideEffects": false,
|
|
5
|
-
"version": "0.2.
|
|
5
|
+
"version": "0.2.36",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "https://github.com/workglow-dev/libs.git",
|
|
@@ -34,11 +34,11 @@
|
|
|
34
34
|
"@huggingface/transformers": "^4.2.0"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
|
-
"@workglow/ai": "0.2.
|
|
38
|
-
"@workglow/job-queue": "0.2.
|
|
39
|
-
"@workglow/storage": "0.2.
|
|
40
|
-
"@workglow/task-graph": "0.2.
|
|
41
|
-
"@workglow/util": "0.2.
|
|
37
|
+
"@workglow/ai": "0.2.36",
|
|
38
|
+
"@workglow/job-queue": "0.2.36",
|
|
39
|
+
"@workglow/storage": "0.2.36",
|
|
40
|
+
"@workglow/task-graph": "0.2.36",
|
|
41
|
+
"@workglow/util": "0.2.36"
|
|
42
42
|
},
|
|
43
43
|
"peerDependenciesMeta": {
|
|
44
44
|
"@workglow/ai": {
|
|
@@ -58,11 +58,11 @@
|
|
|
58
58
|
}
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
|
-
"@workglow/ai": "0.2.
|
|
62
|
-
"@workglow/job-queue": "0.2.
|
|
63
|
-
"@workglow/storage": "0.2.
|
|
64
|
-
"@workglow/task-graph": "0.2.
|
|
65
|
-
"@workglow/util": "0.2.
|
|
61
|
+
"@workglow/ai": "0.2.36",
|
|
62
|
+
"@workglow/job-queue": "0.2.36",
|
|
63
|
+
"@workglow/storage": "0.2.36",
|
|
64
|
+
"@workglow/task-graph": "0.2.36",
|
|
65
|
+
"@workglow/util": "0.2.36"
|
|
66
66
|
},
|
|
67
67
|
"files": [
|
|
68
68
|
"dist",
|