@workglow/ai 0.0.121 → 0.0.122

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.
Files changed (128) hide show
  1. package/README.md +20 -27
  2. package/dist/browser.js +234 -124
  3. package/dist/browser.js.map +18 -15
  4. package/dist/bun.js +234 -124
  5. package/dist/bun.js.map +18 -15
  6. package/dist/common.d.ts +2 -0
  7. package/dist/common.d.ts.map +1 -1
  8. package/dist/job/AiJob.d.ts.map +1 -1
  9. package/dist/model/InMemoryModelRepository.d.ts.map +1 -1
  10. package/dist/model/ModelRepository.d.ts +10 -10
  11. package/dist/model/ModelRepository.d.ts.map +1 -1
  12. package/dist/model/ModelSchema.d.ts +1 -1
  13. package/dist/model/ModelSchema.d.ts.map +1 -1
  14. package/dist/node.js +234 -124
  15. package/dist/node.js.map +18 -15
  16. package/dist/provider/AiProvider.d.ts +33 -30
  17. package/dist/provider/AiProvider.d.ts.map +1 -1
  18. package/dist/provider/AiProviderRegistry.d.ts +4 -4
  19. package/dist/provider/AiProviderRegistry.d.ts.map +1 -1
  20. package/dist/provider/QueuedAiProvider.d.ts +18 -0
  21. package/dist/provider/QueuedAiProvider.d.ts.map +1 -0
  22. package/dist/task/AgentTask.d.ts +2 -2
  23. package/dist/task/AgentTask.d.ts.map +1 -1
  24. package/dist/task/AgentTypes.d.ts +1 -1
  25. package/dist/task/AgentTypes.d.ts.map +1 -1
  26. package/dist/task/AgentUtils.d.ts +1 -1
  27. package/dist/task/AgentUtils.d.ts.map +1 -1
  28. package/dist/task/BackgroundRemovalTask.d.ts +31 -1
  29. package/dist/task/BackgroundRemovalTask.d.ts.map +1 -1
  30. package/dist/task/ChunkRetrievalTask.d.ts +6 -6
  31. package/dist/task/ChunkRetrievalTask.d.ts.map +1 -1
  32. package/dist/task/ChunkToVectorTask.d.ts +25 -3
  33. package/dist/task/ChunkToVectorTask.d.ts.map +1 -1
  34. package/dist/task/ChunkVectorHybridSearchTask.d.ts +22 -1
  35. package/dist/task/ChunkVectorHybridSearchTask.d.ts.map +1 -1
  36. package/dist/task/ChunkVectorSearchTask.d.ts +12 -4
  37. package/dist/task/ChunkVectorSearchTask.d.ts.map +1 -1
  38. package/dist/task/ChunkVectorUpsertTask.d.ts +11 -2
  39. package/dist/task/ChunkVectorUpsertTask.d.ts.map +1 -1
  40. package/dist/task/ContextBuilderTask.d.ts +29 -3
  41. package/dist/task/ContextBuilderTask.d.ts.map +1 -1
  42. package/dist/task/CountTokensTask.d.ts +18 -1
  43. package/dist/task/CountTokensTask.d.ts.map +1 -1
  44. package/dist/task/DocumentEnricherTask.d.ts +38 -17
  45. package/dist/task/DocumentEnricherTask.d.ts.map +1 -1
  46. package/dist/task/DownloadModelTask.d.ts +24 -3
  47. package/dist/task/DownloadModelTask.d.ts.map +1 -1
  48. package/dist/task/FaceDetectorTask.d.ts +38 -6
  49. package/dist/task/FaceDetectorTask.d.ts.map +1 -1
  50. package/dist/task/FaceLandmarkerTask.d.ts +43 -7
  51. package/dist/task/FaceLandmarkerTask.d.ts.map +1 -1
  52. package/dist/task/GestureRecognizerTask.d.ts +48 -14
  53. package/dist/task/GestureRecognizerTask.d.ts.map +1 -1
  54. package/dist/task/HandLandmarkerTask.d.ts +45 -11
  55. package/dist/task/HandLandmarkerTask.d.ts.map +1 -1
  56. package/dist/task/HierarchicalChunkerTask.d.ts +32 -21
  57. package/dist/task/HierarchicalChunkerTask.d.ts.map +1 -1
  58. package/dist/task/HierarchyJoinTask.d.ts +35 -10
  59. package/dist/task/HierarchyJoinTask.d.ts.map +1 -1
  60. package/dist/task/ImageClassificationTask.d.ts +36 -4
  61. package/dist/task/ImageClassificationTask.d.ts.map +1 -1
  62. package/dist/task/ImageEmbeddingTask.d.ts +31 -1
  63. package/dist/task/ImageEmbeddingTask.d.ts.map +1 -1
  64. package/dist/task/ImageSegmentationTask.d.ts +36 -4
  65. package/dist/task/ImageSegmentationTask.d.ts.map +1 -1
  66. package/dist/task/ImageToTextTask.d.ts +32 -1
  67. package/dist/task/ImageToTextTask.d.ts.map +1 -1
  68. package/dist/task/ModelInfoTask.d.ts +35 -9
  69. package/dist/task/ModelInfoTask.d.ts.map +1 -1
  70. package/dist/task/ModelSearchTask.d.ts +66 -0
  71. package/dist/task/ModelSearchTask.d.ts.map +1 -0
  72. package/dist/task/ObjectDetectionTask.d.ts +38 -6
  73. package/dist/task/ObjectDetectionTask.d.ts.map +1 -1
  74. package/dist/task/PoseLandmarkerTask.d.ts +52 -17
  75. package/dist/task/PoseLandmarkerTask.d.ts.map +1 -1
  76. package/dist/task/QueryExpanderTask.d.ts +8 -3
  77. package/dist/task/QueryExpanderTask.d.ts.map +1 -1
  78. package/dist/task/RerankerTask.d.ts +26 -2
  79. package/dist/task/RerankerTask.d.ts.map +1 -1
  80. package/dist/task/StructuralParserTask.d.ts +7 -1
  81. package/dist/task/StructuralParserTask.d.ts.map +1 -1
  82. package/dist/task/StructuredGenerationTask.d.ts +23 -1
  83. package/dist/task/StructuredGenerationTask.d.ts.map +1 -1
  84. package/dist/task/TextChunkerTask.d.ts +10 -5
  85. package/dist/task/TextChunkerTask.d.ts.map +1 -1
  86. package/dist/task/TextClassificationTask.d.ts +23 -4
  87. package/dist/task/TextClassificationTask.d.ts.map +1 -1
  88. package/dist/task/TextEmbeddingTask.d.ts +19 -2
  89. package/dist/task/TextEmbeddingTask.d.ts.map +1 -1
  90. package/dist/task/TextFillMaskTask.d.ts +22 -5
  91. package/dist/task/TextFillMaskTask.d.ts.map +1 -1
  92. package/dist/task/TextGenerationTask.d.ts +23 -1
  93. package/dist/task/TextGenerationTask.d.ts.map +1 -1
  94. package/dist/task/TextLanguageDetectionTask.d.ts +22 -4
  95. package/dist/task/TextLanguageDetectionTask.d.ts.map +1 -1
  96. package/dist/task/TextNamedEntityRecognitionTask.d.ts +23 -5
  97. package/dist/task/TextNamedEntityRecognitionTask.d.ts.map +1 -1
  98. package/dist/task/TextQuestionAnswerTask.d.ts +19 -1
  99. package/dist/task/TextQuestionAnswerTask.d.ts.map +1 -1
  100. package/dist/task/TextRewriterTask.d.ts +19 -1
  101. package/dist/task/TextRewriterTask.d.ts.map +1 -1
  102. package/dist/task/TextSummaryTask.d.ts +18 -1
  103. package/dist/task/TextSummaryTask.d.ts.map +1 -1
  104. package/dist/task/TextTranslationTask.d.ts +20 -1
  105. package/dist/task/TextTranslationTask.d.ts.map +1 -1
  106. package/dist/task/ToolCallingTask.d.ts +9 -66
  107. package/dist/task/ToolCallingTask.d.ts.map +1 -1
  108. package/dist/task/ToolCallingUtils.d.ts +65 -0
  109. package/dist/task/ToolCallingUtils.d.ts.map +1 -0
  110. package/dist/task/TopicSegmenterTask.d.ts +10 -4
  111. package/dist/task/TopicSegmenterTask.d.ts.map +1 -1
  112. package/dist/task/UnloadModelTask.d.ts +18 -2
  113. package/dist/task/UnloadModelTask.d.ts.map +1 -1
  114. package/dist/task/VectorQuantizeTask.d.ts +11 -7
  115. package/dist/task/VectorQuantizeTask.d.ts.map +1 -1
  116. package/dist/task/VectorSimilarityTask.d.ts +8 -3
  117. package/dist/task/VectorSimilarityTask.d.ts.map +1 -1
  118. package/dist/task/base/AiTask.d.ts.map +1 -1
  119. package/dist/task/base/AiTaskSchemas.d.ts.map +1 -1
  120. package/dist/task/base/AiVisionTask.d.ts.map +1 -1
  121. package/dist/task/base/StreamingAiTask.d.ts.map +1 -1
  122. package/dist/task/index.d.ts +4 -1
  123. package/dist/task/index.d.ts.map +1 -1
  124. package/dist/worker.d.ts +21 -0
  125. package/dist/worker.d.ts.map +1 -0
  126. package/dist/worker.js +460 -0
  127. package/dist/worker.js.map +14 -0
  128. package/package.json +28 -21
package/README.md CHANGED
@@ -37,7 +37,8 @@ import {
37
37
  import { Workflow, getTaskQueueRegistry, TaskInput, TaskOutput } from "@workglow/task-graph";
38
38
  import { ConcurrencyLimiter, JobQueueClient, JobQueueServer } from "@workglow/job-queue";
39
39
  import { InMemoryQueueStorage } from "@workglow/storage";
40
- import { HFT_TASKS, HFT_STREAM_TASKS, HFT_REACTIVE_TASKS, HF_TRANSFORMERS_ONNX, HuggingFaceTransformersProvider } from "@workglow/ai-provider";
40
+ import { HF_TRANSFORMERS_ONNX } from "@workglow/ai-provider/hf-transformers";
41
+ import { registerHuggingFaceTransformersInline } from "@workglow/ai-provider/hf-transformers/runtime";
41
42
 
42
43
  // 1. Set up a model repository
43
44
  const modelRepo = new InMemoryModelRepository();
@@ -55,8 +56,8 @@ await modelRepo.addModel({
55
56
  model_path: "Xenova/LaMini-Flan-T5-783M"
56
57
  });
57
58
 
58
- // 3. Register provider (inline mode requires HFT_TASKS via constructor, creates queue automatically)
59
- await new HuggingFaceTransformersProvider(HFT_TASKS, HFT_STREAM_TASKS, HFT_REACTIVE_TASKS).register({ mode: "inline" });
59
+ // 3. Register provider (inline: full ONNX stack in this bundle; creates queue automatically)
60
+ await registerHuggingFaceTransformersInline();
60
61
 
61
62
  // 4. Or manually set up job queue (when queue.autoCreate: false)
62
63
  const queueName = HF_TRANSFORMERS_ONNX;
@@ -225,7 +226,7 @@ Downloads and prepares AI models for use.
225
226
  ```typescript
226
227
  import { DownloadModelTask } from "@workglow/ai";
227
228
 
228
- import { HF_TRANSFORMERS_ONNX } from "@workglow/ai-provider";
229
+ import { HF_TRANSFORMERS_ONNX } from "@workglow/ai-provider/hf-transformers";
229
230
 
230
231
  const task = new DownloadModelTask({
231
232
  modelName: "onnx:Xenova/LaMini-Flan-T5-783M:q8",
@@ -292,7 +293,7 @@ setGlobalModelRepository(modelRepo);
292
293
 
293
294
  ```typescript
294
295
  import { getGlobalModelRepository } from "@workglow/ai";
295
- import { HF_TRANSFORMERS_ONNX } from "@workglow/ai-provider";
296
+ import { HF_TRANSFORMERS_ONNX } from "@workglow/ai-provider/hf-transformers";
296
297
 
297
298
  const modelRepo = getGlobalModelRepository();
298
299
 
@@ -320,17 +321,10 @@ AI providers handle the actual execution of AI tasks. You need to register provi
320
321
  ### Basic Provider Registration
321
322
 
322
323
  ```typescript
323
- import {
324
- HFT_TASKS,
325
- HFT_STREAM_TASKS,
326
- HFT_REACTIVE_TASKS,
327
- HuggingFaceTransformersProvider,
328
- } from "@workglow/ai-provider";
329
-
330
- // Registers run functions for all supported AI tasks on the current thread (inline mode requires HFT_TASKS)
331
- await new HuggingFaceTransformersProvider(HFT_TASKS, HFT_STREAM_TASKS, HFT_REACTIVE_TASKS).register(
332
- { mode: "inline" }
333
- );
324
+ import { registerHuggingFaceTransformersInline } from "@workglow/ai-provider/hf-transformers/runtime";
325
+
326
+ // Inline: run functions registered on the current thread (tasks wired inside the provider)
327
+ await registerHuggingFaceTransformersInline();
334
328
  ```
335
329
 
336
330
  ### Worker-Based Provider Registration
@@ -338,13 +332,12 @@ await new HuggingFaceTransformersProvider(HFT_TASKS, HFT_STREAM_TASKS, HFT_REACT
338
332
  For compute-intensive tasks that should run in workers:
339
333
 
340
334
  ```typescript
341
- import { HuggingFaceTransformersProvider } from "@workglow/ai-provider";
335
+ import { registerHuggingFaceTransformers } from "@workglow/ai-provider/hf-transformers";
342
336
 
343
- await new HuggingFaceTransformersProvider().register({
344
- mode: "worker",
345
- worker: new Worker(new URL("./worker_hft.ts", import.meta.url), { type: "module" }),
337
+ await registerHuggingFaceTransformers({
338
+ worker: () => new Worker(new URL("./worker_hft.ts", import.meta.url), { type: "module" }),
346
339
  });
347
- // Worker file must call HFT_WORKER_JOBRUN_REGISTER() from @workglow/ai-provider
340
+ // Worker file must call registerHuggingFaceTransformersWorker() from @workglow/ai-provider/hf-transformers/runtime
348
341
  ```
349
342
 
350
343
  ### Job Queue Setup
@@ -356,7 +349,7 @@ import { getTaskQueueRegistry, TaskInput, TaskOutput } from "@workglow/task-grap
356
349
  import { ConcurrencyLimiter, JobQueueClient, JobQueueServer } from "@workglow/job-queue";
357
350
  import { InMemoryQueueStorage } from "@workglow/storage";
358
351
  import { AiJob, AiJobInput } from "@workglow/ai";
359
- import { HF_TRANSFORMERS_ONNX } from "@workglow/ai-provider";
352
+ import { HF_TRANSFORMERS_ONNX } from "@workglow/ai-provider/hf-transformers";
360
353
 
361
354
  const queueName = HF_TRANSFORMERS_ONNX;
362
355
  const storage = new InMemoryQueueStorage<AiJobInput<TaskInput>, TaskOutput>(queueName);
@@ -423,12 +416,12 @@ The AI package provides a comprehensive set of tasks for building RAG pipelines.
423
416
 
424
417
  ### Vector and Storage Tasks
425
418
 
426
- | Task | Description |
427
- | ----------------------- | ---------------------------------------- |
419
+ | Task | Description |
420
+ | ----------------------- | ---------------------------------------------------------------------------------------- |
428
421
  | `ChunkToVectorTask` | Transforms chunks to vector store format (input: `vector` + `chunks`, output: `vectors`) |
429
- | `ChunkVectorUpsertTask` | Stores vectors in a KnowledgeBase (input: `knowledgeBase` + `vectors`) |
430
- | `ChunkVectorSearchTask` | Searches vectors by similarity |
431
- | `VectorQuantizeTask` | Quantizes vectors for storage efficiency |
422
+ | `ChunkVectorUpsertTask` | Stores vectors in a KnowledgeBase (input: `knowledgeBase` + `vectors`) |
423
+ | `ChunkVectorSearchTask` | Searches vectors by similarity |
424
+ | `VectorQuantizeTask` | Quantizes vectors for storage efficiency |
432
425
 
433
426
  ### Retrieval and Generation Tasks
434
427