@workglow/huggingface-transformers 0.2.36 → 0.2.37

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.
@@ -3,8 +3,8 @@
3
3
  * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { AiProvider } from "@workglow/ai/worker";
7
6
  import type { AiProviderPreviewRunFn, AiProviderRunFnRegistration, Capability, ModelConfig, ModelRecord } from "@workglow/ai/worker";
7
+ import { AiProvider } from "@workglow/ai/worker";
8
8
  import type { HfTransformersOnnxModelConfig } from "./common/HFT_ModelSchema";
9
9
  /**
10
10
  * AI provider for HuggingFace Transformers ONNX models.
@@ -1 +1 @@
1
- {"version":3,"file":"HuggingFaceTransformersProvider.d.ts","sourceRoot":"","sources":["../../src/ai/HuggingFaceTransformersProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,UAAU,EACV,WAAW,EACX,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAG9E;;;;;;GAMG;AACH,qBAAa,+BAAgC,SAAQ,UAAU,CAAC,6BAA6B,CAAC;IAC5F,QAAQ,CAAC,IAAI,0BAAwB;IACrC,QAAQ,CAAC,WAAW,sCAAsC;IAC1D,QAAQ,CAAC,OAAO,QAAQ;IACxB,QAAQ,CAAC,eAAe,QAAQ;IAEhC,YACE,aAAa,CAAC,EAAE,SAAS,2BAA2B,CAElD,GAAG,EAEH,GAAG,EACH,6BAA6B,CAC9B,EAAE,EACH,YAAY,CAAC,EAAE,MAAM,CACnB,MAAM,EAEN,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,CAAC,CAChE,EAGF;IAEQ,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,UAAU,EAAE,CAEpE;IAED,UAAmB,gBAAgB,IAAI,SAAS;QAAE,MAAM,EAAE,SAAS,UAAU,EAAE,CAAA;KAAE,EAAE,CAElF;IAEQ,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAElD;IAEc,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;CACF"}
1
+ {"version":3,"file":"HuggingFaceTransformersProvider.d.ts","sourceRoot":"","sources":["../../src/ai/HuggingFaceTransformersProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,UAAU,EACV,WAAW,EACX,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAG9E;;;;;;GAMG;AACH,qBAAa,+BAAgC,SAAQ,UAAU,CAAC,6BAA6B,CAAC;IAC5F,QAAQ,CAAC,IAAI,0BAAwB;IACrC,QAAQ,CAAC,WAAW,sCAAsC;IAC1D,QAAQ,CAAC,OAAO,QAAQ;IACxB,QAAQ,CAAC,eAAe,QAAQ;IAEhC,YACE,aAAa,CAAC,EAAE,SAAS,2BAA2B,CAElD,GAAG,EAEH,GAAG,EACH,6BAA6B,CAC9B,EAAE,EACH,YAAY,CAAC,EAAE,MAAM,CACnB,MAAM,EAEN,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,CAAC,CAChE,EAGF;IAEQ,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,UAAU,EAAE,CAEpE;IAED,UAAmB,gBAAgB,IAAI,SAAS;QAAE,MAAM,EAAE,SAAS,UAAU,EAAE,CAAA;KAAE,EAAE,CAElF;IAEQ,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAElD;IAEc,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;CACF"}
@@ -3,8 +3,8 @@
3
3
  * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { QueuedAiProvider } from "@workglow/ai";
7
6
  import type { AiProviderPreviewRunFn, AiProviderRegisterOptions, AiProviderRunFnRegistration, Capability, IAiExecutionStrategy, ModelConfig, ModelRecord } from "@workglow/ai";
7
+ import { QueuedAiProvider } from "@workglow/ai";
8
8
  import type { HfTransformersOnnxModelConfig } from "./common/HFT_ModelSchema";
9
9
  /**
10
10
  * Main-thread registration (inline or worker-backed) for the HFT provider.
@@ -1 +1 @@
1
- {"version":3,"file":"HuggingFaceTransformersQueuedProvider.d.ts","sourceRoot":"","sources":["../../src/ai/HuggingFaceTransformersQueuedProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EAEzB,2BAA2B,EAC3B,UAAU,EACV,oBAAoB,EACpB,WAAW,EACX,WAAW,EACZ,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAsC9E;;;;;GAKG;AACH,qBAAa,qCAAsC,SAAQ,gBAAgB,CAAC,6BAA6B,CAAC;IACxG,QAAQ,CAAC,IAAI,0BAAwB;IACrC,QAAQ,CAAC,WAAW,sCAAsC;IAC1D,QAAQ,CAAC,OAAO,QAAQ;IACxB,QAAQ,CAAC,eAAe,QAAQ;IAEhC,OAAO,CAAC,WAAW,CAAmC;IAEtD,YACE,aAAa,CAAC,EAAE,SAAS,2BAA2B,CAElD,GAAG,EAEH,GAAG,EACH,6BAA6B,CAC9B,EAAE,EACH,YAAY,CAAC,EAAE,MAAM,CACnB,MAAM,EAEN,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,CAAC,CAChE,EAGF;IAEQ,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,UAAU,EAAE,CAEpE;IAED,UAAmB,gBAAgB,IAAI,SAAS;QAAE,MAAM,EAAE,SAAS,UAAU,EAAE,CAAA;KAAE,EAAE,CAElF;IAEQ,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAElD;IAEc,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;IAED,UAAyB,aAAa,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxF;IAED,UAAmB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,oBAAoB,CAM/E;CACF"}
1
+ {"version":3,"file":"HuggingFaceTransformersQueuedProvider.d.ts","sourceRoot":"","sources":["../../src/ai/HuggingFaceTransformersQueuedProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,sBAAsB,EAEtB,yBAAyB,EACzB,2BAA2B,EAC3B,UAAU,EACV,oBAAoB,EACpB,WAAW,EACX,WAAW,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAsC9E;;;;;GAKG;AACH,qBAAa,qCAAsC,SAAQ,gBAAgB,CAAC,6BAA6B,CAAC;IACxG,QAAQ,CAAC,IAAI,0BAAwB;IACrC,QAAQ,CAAC,WAAW,sCAAsC;IAC1D,QAAQ,CAAC,OAAO,QAAQ;IACxB,QAAQ,CAAC,eAAe,QAAQ;IAEhC,OAAO,CAAC,WAAW,CAAmC;IAEtD,YACE,aAAa,CAAC,EAAE,SAAS,2BAA2B,CAElD,GAAG,EAEH,GAAG,EACH,6BAA6B,CAC9B,EAAE,EACH,YAAY,CAAC,EAAE,MAAM,CACnB,MAAM,EAEN,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,CAAC,CAChE,EAGF;IAEQ,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,UAAU,EAAE,CAEpE;IAED,UAAmB,gBAAgB,IAAI,SAAS;QAAE,MAAM,EAAE,SAAS,UAAU,EAAE,CAAA;KAAE,EAAE,CAElF;IAEQ,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAElD;IAEc,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;IAED,UAAyB,aAAa,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxF;IAED,UAAmB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,oBAAoB,CAM/E;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"HFT_Chat.d.ts","sourceRoot":"","sources":["../../../src/ai/common/HFT_Chat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AA6IvE,eAAO,MAAM,QAAQ,EAAE,eAAe,CACpC,mBAAmB,EACnB,oBAAoB,EACpB,6BAA6B,CAM9B,CAAC"}
1
+ {"version":3,"file":"HFT_Chat.d.ts","sourceRoot":"","sources":["../../../src/ai/common/HFT_Chat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/F,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AA4IvE,eAAO,MAAM,QAAQ,EAAE,eAAe,CACpC,mBAAmB,EACnB,oBAAoB,EACpB,6BAA6B,CAM9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"HFT_ImageEmbedding.d.ts","sourceRoot":"","sources":["../../../src/ai/common/HFT_ImageEmbedding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAGvE;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,eAAe,CAC9C,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,CAgC9B,CAAC"}
1
+ {"version":3,"file":"HFT_ImageEmbedding.d.ts","sourceRoot":"","sources":["../../../src/ai/common/HFT_ImageEmbedding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAGvE;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,eAAe,CAC9C,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,CAgC9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"HFT_ImageSegmentation.d.ts","sourceRoot":"","sources":["../../../src/ai/common/HFT_ImageSegmentation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAGvE;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,eAAe,CACjD,0BAA0B,EAC1B,2BAA2B,EAC3B,6BAA6B,CAyB9B,CAAC"}
1
+ {"version":3,"file":"HFT_ImageSegmentation.d.ts","sourceRoot":"","sources":["../../../src/ai/common/HFT_ImageSegmentation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAiCvE;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,eAAe,CACjD,0BAA0B,EAC1B,2BAA2B,EAC3B,6BAA6B,CAyB9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"registerHuggingFaceTransformersWorker.d.ts","sourceRoot":"","sources":["../../src/ai/registerHuggingFaceTransformersWorker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,wBAAsB,qCAAqC,IAAI,OAAO,CAAC,IAAI,CAAC,CAY3E"}
1
+ {"version":3,"file":"registerHuggingFaceTransformersWorker.d.ts","sourceRoot":"","sources":["../../src/ai/registerHuggingFaceTransformersWorker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,wBAAsB,qCAAqC,IAAI,OAAO,CAAC,IAAI,CAAC,CAc3E"}
@@ -866,21 +866,6 @@ var HFT_BackgroundRemoval = async (input, model, signal, emit) => {
866
866
  // src/ai/common/HFT_Chat.ts
867
867
  init_HFT_Pipeline();
868
868
 
869
- // src/ai/common/HFT_ToolCalling.ts
870
- init_HFT_Pipeline();
871
- import {
872
- buildToolDescription,
873
- filterValidToolCalls,
874
- toTextFlatMessages
875
- } from "@workglow/ai/worker";
876
- import {
877
- adaptParserResult,
878
- forcedToolSelection,
879
- getAvailableParsers,
880
- getGenerationPrefix,
881
- parseToolCalls
882
- } from "@workglow/ai/provider-utils";
883
-
884
869
  // src/ai/common/HFT_Streaming.ts
885
870
  function createStreamingTextStreamer(tokenizer, onText, textStreamer) {
886
871
  return new textStreamer(tokenizer, {
@@ -904,6 +889,19 @@ function createTextStreamer(tokenizer, updateProgress, textStreamer) {
904
889
  }
905
890
 
906
891
  // src/ai/common/HFT_ToolCalling.ts
892
+ init_HFT_Pipeline();
893
+ import {
894
+ adaptParserResult,
895
+ forcedToolSelection,
896
+ getAvailableParsers,
897
+ getGenerationPrefix,
898
+ parseToolCalls
899
+ } from "@workglow/ai/provider-utils";
900
+ import {
901
+ buildToolDescription,
902
+ filterValidToolCalls,
903
+ toTextFlatMessages
904
+ } from "@workglow/ai/worker";
907
905
  function getModelTextCandidates(model) {
908
906
  return [model.model_id, model.title, model.description, model.provider_config.model_path].filter((value) => typeof value === "string" && value.length > 0).map((value) => value.toLowerCase());
909
907
  }
@@ -1323,8 +1321,8 @@ var HFT_ImageClassification = async (input, model, signal, emit) => {
1323
1321
 
1324
1322
  // src/ai/common/HFT_ImageEmbedding.ts
1325
1323
  init_HFT_Pipeline();
1326
- import { getLogger as getLogger4 } from "@workglow/util/worker";
1327
1324
  import { imageValueToBlob as imageValueToBlob3 } from "@workglow/ai/provider-utils";
1325
+ import { getLogger as getLogger4 } from "@workglow/util/worker";
1328
1326
  var HFT_ImageEmbedding = async (input, model, signal, emit) => {
1329
1327
  const logger = getLogger4();
1330
1328
  const timerLabel = `hft:ImageEmbedding:${model?.provider_config.model_path}`;
@@ -1356,6 +1354,29 @@ var HFT_ImageEmbedding = async (input, model, signal, emit) => {
1356
1354
  // src/ai/common/HFT_ImageSegmentation.ts
1357
1355
  init_HFT_Pipeline();
1358
1356
  import { imageValueToBlob as imageValueToBlob4 } from "@workglow/ai/provider-utils";
1357
+ import { imageValueFromBuffer } from "@workglow/util/media";
1358
+ function rawImageToImageValue(image) {
1359
+ const raw = image;
1360
+ const pixelCount = raw.width * raw.height;
1361
+ const rgba = new Uint8Array(pixelCount * 4);
1362
+ for (let pixel = 0;pixel < pixelCount; pixel++) {
1363
+ const sourceOffset = pixel * raw.channels;
1364
+ const targetOffset = pixel * 4;
1365
+ if (raw.channels === 1) {
1366
+ const value = raw.data[sourceOffset] ?? 0;
1367
+ rgba[targetOffset] = value;
1368
+ rgba[targetOffset + 1] = value;
1369
+ rgba[targetOffset + 2] = value;
1370
+ rgba[targetOffset + 3] = 255;
1371
+ } else {
1372
+ rgba[targetOffset] = raw.data[sourceOffset] ?? 0;
1373
+ rgba[targetOffset + 1] = raw.data[sourceOffset + 1] ?? raw.data[sourceOffset] ?? 0;
1374
+ rgba[targetOffset + 2] = raw.data[sourceOffset + 2] ?? raw.data[sourceOffset] ?? 0;
1375
+ rgba[targetOffset + 3] = raw.channels >= 4 ? raw.data[sourceOffset + 3] ?? 255 : 255;
1376
+ }
1377
+ }
1378
+ return imageValueFromBuffer(Buffer.from(rgba), "raw-rgba", raw.width, raw.height);
1379
+ }
1359
1380
  var HFT_ImageSegmentation = async (input, model, signal, emit) => {
1360
1381
  const segmenter = await getPipeline(model, emit, {}, signal);
1361
1382
  const imageArg = await imageValueToBlob4(input.image);
@@ -1364,11 +1385,13 @@ var HFT_ImageSegmentation = async (input, model, signal, emit) => {
1364
1385
  mask_threshold: input.maskThreshold
1365
1386
  });
1366
1387
  const masks = Array.isArray(result) ? result : [result];
1367
- const processedMasks = await Promise.all(masks.map(async (mask) => ({
1368
- label: mask.label || "",
1369
- score: mask.score || 0,
1370
- mask: {}
1371
- })));
1388
+ const processedMasks = masks.map((mask) => {
1389
+ return {
1390
+ label: mask.label || "",
1391
+ score: mask.score || 0,
1392
+ mask: rawImageToImageValue(mask.mask)
1393
+ };
1394
+ });
1372
1395
  emit({
1373
1396
  type: "finish",
1374
1397
  data: {
@@ -1495,7 +1518,7 @@ var HFT_ModelInfo = async (input, model, _signal, emit) => {
1495
1518
  };
1496
1519
 
1497
1520
  // src/ai/common/HFT_ModelSearch.ts
1498
- import { searchHfModels, mapHfModelResult } from "@workglow/ai/provider-utils";
1521
+ import { mapHfModelResult, searchHfModels } from "@workglow/ai/provider-utils";
1499
1522
  var HFT_ModelSearch = async (input, _model, signal, emit) => {
1500
1523
  const entries = await searchHfModels(input.query?.trim() ?? "", { filter: "onnx" }, ["siblings"], signal);
1501
1524
  const results = entries.map((entry) => {
@@ -2105,6 +2128,7 @@ async function registerHuggingFaceTransformersInline(options) {
2105
2128
 
2106
2129
  // src/ai/registerHuggingFaceTransformersWorker.ts
2107
2130
  import { registerProviderWorker } from "@workglow/ai/provider-utils";
2131
+ init_HFT_Pipeline();
2108
2132
 
2109
2133
  // src/ai/HuggingFaceTransformersProvider.ts
2110
2134
  import { AiProvider } from "@workglow/ai/worker";
@@ -2133,7 +2157,6 @@ class HuggingFaceTransformersProvider extends AiProvider {
2133
2157
  }
2134
2158
 
2135
2159
  // src/ai/registerHuggingFaceTransformersWorker.ts
2136
- init_HFT_Pipeline();
2137
2160
  async function registerHuggingFaceTransformersWorker() {
2138
2161
  const sdk = await loadTransformersSDK();
2139
2162
  globalThis.__HFT__ = sdk;
@@ -2172,4 +2195,4 @@ export {
2172
2195
  HFT_NULL_PROCESSOR_PREFIX
2173
2196
  };
2174
2197
 
2175
- //# debugId=13B5D715B9C2AB4A64756E2164756E21
2198
+ //# debugId=54B26D0D2015DF8E64756E2164756E21