@workglow/ai-provider 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.
- package/README.md +30 -67
- package/dist/common/HfModelSearch.d.ts +32 -0
- package/dist/common/HfModelSearch.d.ts.map +1 -0
- package/dist/common/PipelineTaskMapping.d.ts +12 -0
- package/dist/common/PipelineTaskMapping.d.ts.map +1 -0
- package/dist/{anthropic → provider-anthropic}/AnthropicProvider.d.ts +2 -14
- package/dist/provider-anthropic/AnthropicProvider.d.ts.map +1 -0
- package/dist/provider-anthropic/AnthropicQueuedProvider.d.ts +16 -0
- package/dist/provider-anthropic/AnthropicQueuedProvider.d.ts.map +1 -0
- package/dist/provider-anthropic/common/Anthropic_Client.d.ts +13 -0
- package/dist/provider-anthropic/common/Anthropic_Client.d.ts.map +1 -0
- package/dist/provider-anthropic/common/Anthropic_Constants.d.ts.map +1 -0
- package/dist/provider-anthropic/common/Anthropic_CountTokens.d.ts +10 -0
- package/dist/provider-anthropic/common/Anthropic_CountTokens.d.ts.map +1 -0
- package/dist/provider-anthropic/common/Anthropic_JobRunFns.d.ts +12 -0
- package/dist/provider-anthropic/common/Anthropic_JobRunFns.d.ts.map +1 -0
- package/dist/provider-anthropic/common/Anthropic_ModelInfo.d.ts +9 -0
- package/dist/provider-anthropic/common/Anthropic_ModelInfo.d.ts.map +1 -0
- package/dist/{anthropic → provider-anthropic}/common/Anthropic_ModelSchema.d.ts +31 -31
- package/dist/provider-anthropic/common/Anthropic_ModelSchema.d.ts.map +1 -0
- package/dist/provider-anthropic/common/Anthropic_ModelSearch.d.ts +8 -0
- package/dist/provider-anthropic/common/Anthropic_ModelSearch.d.ts.map +1 -0
- package/dist/provider-anthropic/common/Anthropic_StructuredGeneration.d.ts +10 -0
- package/dist/provider-anthropic/common/Anthropic_StructuredGeneration.d.ts.map +1 -0
- package/dist/provider-anthropic/common/Anthropic_TextGeneration.d.ts +10 -0
- package/dist/provider-anthropic/common/Anthropic_TextGeneration.d.ts.map +1 -0
- package/dist/provider-anthropic/common/Anthropic_TextRewriter.d.ts +10 -0
- package/dist/provider-anthropic/common/Anthropic_TextRewriter.d.ts.map +1 -0
- package/dist/provider-anthropic/common/Anthropic_TextSummary.d.ts +10 -0
- package/dist/provider-anthropic/common/Anthropic_TextSummary.d.ts.map +1 -0
- package/dist/provider-anthropic/common/Anthropic_ToolCalling.d.ts +10 -0
- package/dist/provider-anthropic/common/Anthropic_ToolCalling.d.ts.map +1 -0
- package/dist/{anthropic → provider-anthropic}/index.d.ts +1 -3
- package/dist/provider-anthropic/index.d.ts.map +1 -0
- package/dist/{index-60ev6k93.js → provider-anthropic/index.js} +43 -11
- package/dist/provider-anthropic/index.js.map +13 -0
- package/dist/provider-anthropic/registerAnthropic.d.ts +10 -0
- package/dist/provider-anthropic/registerAnthropic.d.ts.map +1 -0
- package/dist/provider-anthropic/registerAnthropicInline.d.ts +8 -0
- package/dist/provider-anthropic/registerAnthropicInline.d.ts.map +1 -0
- package/dist/provider-anthropic/registerAnthropicWorker.d.ts +7 -0
- package/dist/provider-anthropic/registerAnthropicWorker.d.ts.map +1 -0
- package/dist/provider-anthropic/runtime.d.ts +16 -0
- package/dist/provider-anthropic/runtime.d.ts.map +1 -0
- package/dist/{anthropic/index.js → provider-anthropic/runtime.js} +291 -177
- package/dist/provider-anthropic/runtime.js.map +24 -0
- package/dist/{web-browser → provider-chrome}/WebBrowserProvider.d.ts +2 -15
- package/dist/provider-chrome/WebBrowserProvider.d.ts.map +1 -0
- package/dist/provider-chrome/WebBrowserQueuedProvider.d.ts +16 -0
- package/dist/provider-chrome/WebBrowserQueuedProvider.d.ts.map +1 -0
- package/dist/provider-chrome/common/WebBrowser_ChromeHelpers.d.ts +31 -0
- package/dist/provider-chrome/common/WebBrowser_ChromeHelpers.d.ts.map +1 -0
- package/dist/provider-chrome/common/WebBrowser_Constants.d.ts.map +1 -0
- package/dist/provider-chrome/common/WebBrowser_JobRunFns.d.ts +10 -0
- package/dist/provider-chrome/common/WebBrowser_JobRunFns.d.ts.map +1 -0
- package/dist/provider-chrome/common/WebBrowser_ModelInfo.d.ts +9 -0
- package/dist/provider-chrome/common/WebBrowser_ModelInfo.d.ts.map +1 -0
- package/dist/{web-browser → provider-chrome}/common/WebBrowser_ModelSchema.d.ts +31 -31
- package/dist/provider-chrome/common/WebBrowser_ModelSchema.d.ts.map +1 -0
- package/dist/provider-chrome/common/WebBrowser_ModelSearch.d.ts +8 -0
- package/dist/provider-chrome/common/WebBrowser_ModelSearch.d.ts.map +1 -0
- package/dist/provider-chrome/common/WebBrowser_TextGeneration.d.ts +10 -0
- package/dist/provider-chrome/common/WebBrowser_TextGeneration.d.ts.map +1 -0
- package/dist/provider-chrome/common/WebBrowser_TextLanguageDetection.d.ts +9 -0
- package/dist/provider-chrome/common/WebBrowser_TextLanguageDetection.d.ts.map +1 -0
- package/dist/provider-chrome/common/WebBrowser_TextRewriter.d.ts +10 -0
- package/dist/provider-chrome/common/WebBrowser_TextRewriter.d.ts.map +1 -0
- package/dist/provider-chrome/common/WebBrowser_TextSummary.d.ts +10 -0
- package/dist/provider-chrome/common/WebBrowser_TextSummary.d.ts.map +1 -0
- package/dist/provider-chrome/common/WebBrowser_TextTranslation.d.ts +10 -0
- package/dist/provider-chrome/common/WebBrowser_TextTranslation.d.ts.map +1 -0
- package/dist/{web-browser → provider-chrome}/index.d.ts +1 -3
- package/dist/provider-chrome/index.d.ts.map +1 -0
- package/dist/provider-chrome/index.js +132 -0
- package/dist/provider-chrome/index.js.map +13 -0
- package/dist/provider-chrome/registerWebBrowser.d.ts +10 -0
- package/dist/provider-chrome/registerWebBrowser.d.ts.map +1 -0
- package/dist/provider-chrome/registerWebBrowserInline.d.ts +8 -0
- package/dist/provider-chrome/registerWebBrowserInline.d.ts.map +1 -0
- package/dist/provider-chrome/registerWebBrowserWorker.d.ts +7 -0
- package/dist/provider-chrome/registerWebBrowserWorker.d.ts.map +1 -0
- package/dist/provider-chrome/runtime.d.ts +14 -0
- package/dist/provider-chrome/runtime.d.ts.map +1 -0
- package/dist/{web-browser/index.js → provider-chrome/runtime.js} +260 -235
- package/dist/provider-chrome/runtime.js.map +23 -0
- package/dist/{google-gemini → provider-gemini}/GoogleGeminiProvider.d.ts +2 -15
- package/dist/provider-gemini/GoogleGeminiProvider.d.ts.map +1 -0
- package/dist/provider-gemini/GoogleGeminiQueuedProvider.d.ts +16 -0
- package/dist/provider-gemini/GoogleGeminiQueuedProvider.d.ts.map +1 -0
- package/dist/provider-gemini/common/Gemini_Client.d.ts +10 -0
- package/dist/provider-gemini/common/Gemini_Client.d.ts.map +1 -0
- package/dist/provider-gemini/common/Gemini_Constants.d.ts.map +1 -0
- package/dist/provider-gemini/common/Gemini_CountTokens.d.ts +10 -0
- package/dist/provider-gemini/common/Gemini_CountTokens.d.ts.map +1 -0
- package/dist/provider-gemini/common/Gemini_JobRunFns.d.ts +13 -0
- package/dist/provider-gemini/common/Gemini_JobRunFns.d.ts.map +1 -0
- package/dist/provider-gemini/common/Gemini_ModelInfo.d.ts +9 -0
- package/dist/provider-gemini/common/Gemini_ModelInfo.d.ts.map +1 -0
- package/dist/{google-gemini → provider-gemini}/common/Gemini_ModelSchema.d.ts +31 -31
- package/dist/provider-gemini/common/Gemini_ModelSchema.d.ts.map +1 -0
- package/dist/provider-gemini/common/Gemini_ModelSearch.d.ts +8 -0
- package/dist/provider-gemini/common/Gemini_ModelSearch.d.ts.map +1 -0
- package/dist/provider-gemini/common/Gemini_Schema.d.ts +11 -0
- package/dist/provider-gemini/common/Gemini_Schema.d.ts.map +1 -0
- package/dist/provider-gemini/common/Gemini_StructuredGeneration.d.ts +10 -0
- package/dist/provider-gemini/common/Gemini_StructuredGeneration.d.ts.map +1 -0
- package/dist/provider-gemini/common/Gemini_TextEmbedding.d.ts +9 -0
- package/dist/provider-gemini/common/Gemini_TextEmbedding.d.ts.map +1 -0
- package/dist/provider-gemini/common/Gemini_TextGeneration.d.ts +10 -0
- package/dist/provider-gemini/common/Gemini_TextGeneration.d.ts.map +1 -0
- package/dist/provider-gemini/common/Gemini_TextRewriter.d.ts +10 -0
- package/dist/provider-gemini/common/Gemini_TextRewriter.d.ts.map +1 -0
- package/dist/provider-gemini/common/Gemini_TextSummary.d.ts +10 -0
- package/dist/provider-gemini/common/Gemini_TextSummary.d.ts.map +1 -0
- package/dist/provider-gemini/common/Gemini_ToolCalling.d.ts +10 -0
- package/dist/provider-gemini/common/Gemini_ToolCalling.d.ts.map +1 -0
- package/dist/{google-gemini → provider-gemini}/index.d.ts +1 -3
- package/dist/provider-gemini/index.d.ts.map +1 -0
- package/dist/{index-8651nz8y.js → provider-gemini/index.js} +43 -11
- package/dist/provider-gemini/index.js.map +13 -0
- package/dist/provider-gemini/registerGemini.d.ts +10 -0
- package/dist/provider-gemini/registerGemini.d.ts.map +1 -0
- package/dist/provider-gemini/registerGeminiInline.d.ts +8 -0
- package/dist/provider-gemini/registerGeminiInline.d.ts.map +1 -0
- package/dist/{anthropic/Anthropic_Worker.d.ts → provider-gemini/registerGeminiWorker.d.ts} +2 -2
- package/dist/provider-gemini/registerGeminiWorker.d.ts.map +1 -0
- package/dist/provider-gemini/runtime.d.ts +16 -0
- package/dist/provider-gemini/runtime.d.ts.map +1 -0
- package/dist/{google-gemini/index.js → provider-gemini/runtime.js} +281 -173
- package/dist/provider-gemini/runtime.js.map +26 -0
- package/dist/provider-hf-inference/HfInferenceProvider.d.ts +2 -19
- package/dist/provider-hf-inference/HfInferenceProvider.d.ts.map +1 -1
- package/dist/provider-hf-inference/HfInferenceQueuedProvider.d.ts +16 -0
- package/dist/provider-hf-inference/HfInferenceQueuedProvider.d.ts.map +1 -0
- package/dist/provider-hf-inference/common/HFI_Client.d.ts +12 -0
- package/dist/provider-hf-inference/common/HFI_Client.d.ts.map +1 -0
- package/dist/provider-hf-inference/common/HFI_JobRunFns.d.ts +2 -11
- package/dist/provider-hf-inference/common/HFI_JobRunFns.d.ts.map +1 -1
- package/dist/provider-hf-inference/common/HFI_ModelInfo.d.ts +9 -0
- package/dist/provider-hf-inference/common/HFI_ModelInfo.d.ts.map +1 -0
- package/dist/provider-hf-inference/common/HFI_ModelSchema.d.ts +31 -31
- package/dist/provider-hf-inference/common/HFI_ModelSchema.d.ts.map +1 -1
- package/dist/provider-hf-inference/common/HFI_ModelSearch.d.ts +8 -0
- package/dist/provider-hf-inference/common/HFI_ModelSearch.d.ts.map +1 -0
- package/dist/provider-hf-inference/common/HFI_TextEmbedding.d.ts +9 -0
- package/dist/provider-hf-inference/common/HFI_TextEmbedding.d.ts.map +1 -0
- package/dist/provider-hf-inference/common/HFI_TextGeneration.d.ts +10 -0
- package/dist/provider-hf-inference/common/HFI_TextGeneration.d.ts.map +1 -0
- package/dist/provider-hf-inference/common/HFI_TextRewriter.d.ts +10 -0
- package/dist/provider-hf-inference/common/HFI_TextRewriter.d.ts.map +1 -0
- package/dist/provider-hf-inference/common/HFI_TextSummary.d.ts +10 -0
- package/dist/provider-hf-inference/common/HFI_TextSummary.d.ts.map +1 -0
- package/dist/provider-hf-inference/common/HFI_ToolCalling.d.ts +10 -0
- package/dist/provider-hf-inference/common/HFI_ToolCalling.d.ts.map +1 -0
- package/dist/provider-hf-inference/index.d.ts +1 -3
- package/dist/provider-hf-inference/index.d.ts.map +1 -1
- package/dist/provider-hf-inference/index.js +98 -411
- package/dist/provider-hf-inference/index.js.map +7 -5
- package/dist/provider-hf-inference/registerHfInference.d.ts +10 -0
- package/dist/provider-hf-inference/registerHfInference.d.ts.map +1 -0
- package/dist/provider-hf-inference/registerHfInferenceInline.d.ts +8 -0
- package/dist/provider-hf-inference/registerHfInferenceInline.d.ts.map +1 -0
- package/dist/provider-hf-inference/registerHfInferenceWorker.d.ts +7 -0
- package/dist/provider-hf-inference/registerHfInferenceWorker.d.ts.map +1 -0
- package/dist/provider-hf-inference/runtime.d.ts +16 -0
- package/dist/provider-hf-inference/runtime.d.ts.map +1 -0
- package/dist/provider-hf-inference/runtime.js +592 -0
- package/dist/provider-hf-inference/runtime.js.map +25 -0
- package/dist/{hf-transformers → provider-hf-transformers}/HuggingFaceTransformersProvider.d.ts +2 -21
- package/dist/provider-hf-transformers/HuggingFaceTransformersProvider.d.ts.map +1 -0
- package/dist/provider-hf-transformers/HuggingFaceTransformersQueuedProvider.d.ts +16 -0
- package/dist/provider-hf-transformers/HuggingFaceTransformersQueuedProvider.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_BackgroundRemoval.d.ts +12 -0
- package/dist/provider-hf-transformers/common/HFT_BackgroundRemoval.d.ts.map +1 -0
- package/dist/{hf-transformers → provider-hf-transformers}/common/HFT_Constants.d.ts +25 -23
- package/dist/provider-hf-transformers/common/HFT_Constants.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_CountTokens.d.ts +10 -0
- package/dist/provider-hf-transformers/common/HFT_CountTokens.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_Download.d.ts +13 -0
- package/dist/provider-hf-transformers/common/HFT_Download.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_ImageClassification.d.ts +13 -0
- package/dist/provider-hf-transformers/common/HFT_ImageClassification.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_ImageEmbedding.d.ts +12 -0
- package/dist/provider-hf-transformers/common/HFT_ImageEmbedding.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_ImageHelpers.d.ts +11 -0
- package/dist/provider-hf-transformers/common/HFT_ImageHelpers.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_ImageSegmentation.d.ts +12 -0
- package/dist/provider-hf-transformers/common/HFT_ImageSegmentation.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_ImageToText.d.ts +12 -0
- package/dist/provider-hf-transformers/common/HFT_ImageToText.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_InlineLifecycle.d.ts +7 -0
- package/dist/provider-hf-transformers/common/HFT_InlineLifecycle.d.ts.map +1 -0
- package/dist/{hf-transformers → provider-hf-transformers}/common/HFT_JobRunFns.d.ts +673 -789
- package/dist/provider-hf-transformers/common/HFT_JobRunFns.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_ModelInfo.d.ts +9 -0
- package/dist/provider-hf-transformers/common/HFT_ModelInfo.d.ts.map +1 -0
- package/dist/{hf-transformers → provider-hf-transformers}/common/HFT_ModelSchema.d.ts +37 -37
- package/dist/provider-hf-transformers/common/HFT_ModelSchema.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_ModelSearch.d.ts +8 -0
- package/dist/provider-hf-transformers/common/HFT_ModelSearch.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_ObjectDetection.d.ts +13 -0
- package/dist/provider-hf-transformers/common/HFT_ObjectDetection.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_OnnxDtypes.d.ts +23 -0
- package/dist/provider-hf-transformers/common/HFT_OnnxDtypes.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_Pipeline.d.ts +32 -0
- package/dist/provider-hf-transformers/common/HFT_Pipeline.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_Streaming.d.ts +24 -0
- package/dist/provider-hf-transformers/common/HFT_Streaming.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_StructuredGeneration.d.ts +10 -0
- package/dist/provider-hf-transformers/common/HFT_StructuredGeneration.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_TextClassification.d.ts +9 -0
- package/dist/provider-hf-transformers/common/HFT_TextClassification.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_TextEmbedding.d.ts +13 -0
- package/dist/provider-hf-transformers/common/HFT_TextEmbedding.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_TextFillMask.d.ts +9 -0
- package/dist/provider-hf-transformers/common/HFT_TextFillMask.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_TextGeneration.d.ts +14 -0
- package/dist/provider-hf-transformers/common/HFT_TextGeneration.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_TextLanguageDetection.d.ts +9 -0
- package/dist/provider-hf-transformers/common/HFT_TextLanguageDetection.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_TextNamedEntityRecognition.d.ts +9 -0
- package/dist/provider-hf-transformers/common/HFT_TextNamedEntityRecognition.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_TextOutput.d.ts +8 -0
- package/dist/provider-hf-transformers/common/HFT_TextOutput.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_TextQuestionAnswer.d.ts +14 -0
- package/dist/provider-hf-transformers/common/HFT_TextQuestionAnswer.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_TextRewriter.d.ts +14 -0
- package/dist/provider-hf-transformers/common/HFT_TextRewriter.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_TextSummary.d.ts +14 -0
- package/dist/provider-hf-transformers/common/HFT_TextSummary.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_TextTranslation.d.ts +14 -0
- package/dist/provider-hf-transformers/common/HFT_TextTranslation.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_ToolCalling.d.ts +10 -0
- package/dist/provider-hf-transformers/common/HFT_ToolCalling.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_ToolMarkup.d.ts +40 -0
- package/dist/provider-hf-transformers/common/HFT_ToolMarkup.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_Unload.d.ts +13 -0
- package/dist/provider-hf-transformers/common/HFT_Unload.d.ts.map +1 -0
- package/dist/{hf-transformers → provider-hf-transformers}/index.d.ts +4 -2
- package/dist/provider-hf-transformers/index.d.ts.map +1 -0
- package/dist/provider-hf-transformers/index.js +513 -0
- package/dist/provider-hf-transformers/index.js.map +16 -0
- package/dist/provider-hf-transformers/registerHuggingFaceTransformers.d.ts +14 -0
- package/dist/provider-hf-transformers/registerHuggingFaceTransformers.d.ts.map +1 -0
- package/dist/provider-hf-transformers/registerHuggingFaceTransformersInline.d.ts +15 -0
- package/dist/provider-hf-transformers/registerHuggingFaceTransformersInline.d.ts.map +1 -0
- package/dist/provider-hf-transformers/registerHuggingFaceTransformersWorker.d.ts +7 -0
- package/dist/provider-hf-transformers/registerHuggingFaceTransformersWorker.d.ts.map +1 -0
- package/dist/provider-hf-transformers/runtime.d.ts +21 -0
- package/dist/provider-hf-transformers/runtime.d.ts.map +1 -0
- package/dist/{index-j4g81r4k.js → provider-hf-transformers/runtime.js} +1561 -927
- package/dist/provider-hf-transformers/runtime.js.map +49 -0
- package/dist/provider-llamacpp/LlamaCppProvider.d.ts +2 -15
- package/dist/provider-llamacpp/LlamaCppProvider.d.ts.map +1 -1
- package/dist/provider-llamacpp/LlamaCppQueuedProvider.d.ts +16 -0
- package/dist/provider-llamacpp/LlamaCppQueuedProvider.d.ts.map +1 -0
- package/dist/provider-llamacpp/common/LlamaCpp_CountTokens.d.ts +10 -0
- package/dist/provider-llamacpp/common/LlamaCpp_CountTokens.d.ts.map +1 -0
- package/dist/provider-llamacpp/common/LlamaCpp_Download.d.ts +9 -0
- package/dist/provider-llamacpp/common/LlamaCpp_Download.d.ts.map +1 -0
- package/dist/provider-llamacpp/common/LlamaCpp_JobRunFns.d.ts +2 -18
- package/dist/provider-llamacpp/common/LlamaCpp_JobRunFns.d.ts.map +1 -1
- package/dist/provider-llamacpp/common/LlamaCpp_ModelInfo.d.ts +9 -0
- package/dist/provider-llamacpp/common/LlamaCpp_ModelInfo.d.ts.map +1 -0
- package/dist/provider-llamacpp/common/LlamaCpp_ModelSchema.d.ts +31 -31
- package/dist/provider-llamacpp/common/LlamaCpp_ModelSchema.d.ts.map +1 -1
- package/dist/provider-llamacpp/common/LlamaCpp_ModelSearch.d.ts +8 -0
- package/dist/provider-llamacpp/common/LlamaCpp_ModelSearch.d.ts.map +1 -0
- package/dist/provider-llamacpp/common/LlamaCpp_Runtime.d.ts +31 -0
- package/dist/provider-llamacpp/common/LlamaCpp_Runtime.d.ts.map +1 -0
- package/dist/provider-llamacpp/common/LlamaCpp_StructuredGeneration.d.ts +10 -0
- package/dist/provider-llamacpp/common/LlamaCpp_StructuredGeneration.d.ts.map +1 -0
- package/dist/provider-llamacpp/common/LlamaCpp_TextEmbedding.d.ts +9 -0
- package/dist/provider-llamacpp/common/LlamaCpp_TextEmbedding.d.ts.map +1 -0
- package/dist/provider-llamacpp/common/LlamaCpp_TextGeneration.d.ts +10 -0
- package/dist/provider-llamacpp/common/LlamaCpp_TextGeneration.d.ts.map +1 -0
- package/dist/provider-llamacpp/common/LlamaCpp_TextRewriter.d.ts +10 -0
- package/dist/provider-llamacpp/common/LlamaCpp_TextRewriter.d.ts.map +1 -0
- package/dist/provider-llamacpp/common/LlamaCpp_TextSummary.d.ts +10 -0
- package/dist/provider-llamacpp/common/LlamaCpp_TextSummary.d.ts.map +1 -0
- package/dist/provider-llamacpp/common/LlamaCpp_ToolCalling.d.ts +10 -0
- package/dist/provider-llamacpp/common/LlamaCpp_ToolCalling.d.ts.map +1 -0
- package/dist/provider-llamacpp/common/LlamaCpp_Unload.d.ts +9 -0
- package/dist/provider-llamacpp/common/LlamaCpp_Unload.d.ts.map +1 -0
- package/dist/provider-llamacpp/index.d.ts +1 -3
- package/dist/provider-llamacpp/index.d.ts.map +1 -1
- package/dist/provider-llamacpp/index.js +121 -725
- package/dist/provider-llamacpp/index.js.map +7 -5
- package/dist/provider-llamacpp/registerLlamaCpp.d.ts +10 -0
- package/dist/provider-llamacpp/registerLlamaCpp.d.ts.map +1 -0
- package/dist/provider-llamacpp/registerLlamaCppInline.d.ts +8 -0
- package/dist/provider-llamacpp/registerLlamaCppInline.d.ts.map +1 -0
- package/dist/provider-llamacpp/registerLlamaCppWorker.d.ts +7 -0
- package/dist/provider-llamacpp/registerLlamaCppWorker.d.ts.map +1 -0
- package/dist/provider-llamacpp/runtime.d.ts +16 -0
- package/dist/provider-llamacpp/runtime.d.ts.map +1 -0
- package/dist/provider-llamacpp/runtime.js +929 -0
- package/dist/provider-llamacpp/runtime.js.map +29 -0
- package/dist/provider-ollama/OllamaProvider.d.ts +2 -15
- package/dist/provider-ollama/OllamaProvider.d.ts.map +1 -1
- package/dist/provider-ollama/OllamaQueuedProvider.d.ts +16 -0
- package/dist/provider-ollama/OllamaQueuedProvider.d.ts.map +1 -0
- package/dist/provider-ollama/common/Ollama_Client.browser.d.ts +13 -0
- package/dist/provider-ollama/common/Ollama_Client.browser.d.ts.map +1 -0
- package/dist/provider-ollama/common/Ollama_Client.d.ts +13 -0
- package/dist/provider-ollama/common/Ollama_Client.d.ts.map +1 -0
- package/dist/provider-ollama/common/Ollama_JobRunFns.browser.d.ts +362 -11
- package/dist/provider-ollama/common/Ollama_JobRunFns.browser.d.ts.map +1 -1
- package/dist/provider-ollama/common/Ollama_JobRunFns.d.ts +361 -11
- package/dist/provider-ollama/common/Ollama_JobRunFns.d.ts.map +1 -1
- package/dist/provider-ollama/common/Ollama_ModelInfo.d.ts +11 -0
- package/dist/provider-ollama/common/Ollama_ModelInfo.d.ts.map +1 -0
- package/dist/provider-ollama/common/Ollama_ModelSchema.d.ts +30 -30
- package/dist/provider-ollama/common/Ollama_ModelSchema.d.ts.map +1 -1
- package/dist/provider-ollama/common/Ollama_ModelSearch.d.ts +11 -0
- package/dist/provider-ollama/common/Ollama_ModelSearch.d.ts.map +1 -0
- package/dist/provider-ollama/common/Ollama_ModelUtil.d.ts +8 -0
- package/dist/provider-ollama/common/Ollama_ModelUtil.d.ts.map +1 -0
- package/dist/provider-ollama/common/Ollama_TextEmbedding.d.ts +11 -0
- package/dist/provider-ollama/common/Ollama_TextEmbedding.d.ts.map +1 -0
- package/dist/provider-ollama/common/Ollama_TextGeneration.d.ts +12 -0
- package/dist/provider-ollama/common/Ollama_TextGeneration.d.ts.map +1 -0
- package/dist/provider-ollama/common/Ollama_TextRewriter.d.ts +12 -0
- package/dist/provider-ollama/common/Ollama_TextRewriter.d.ts.map +1 -0
- package/dist/provider-ollama/common/Ollama_TextSummary.d.ts +12 -0
- package/dist/provider-ollama/common/Ollama_TextSummary.d.ts.map +1 -0
- package/dist/provider-ollama/common/Ollama_ToolCalling.d.ts +16 -0
- package/dist/provider-ollama/common/Ollama_ToolCalling.d.ts.map +1 -0
- package/dist/provider-ollama/index.browser.d.ts +1 -3
- package/dist/provider-ollama/index.browser.d.ts.map +1 -1
- package/dist/provider-ollama/index.browser.js +18 -396
- package/dist/provider-ollama/index.browser.js.map +6 -7
- package/dist/provider-ollama/index.d.ts +1 -3
- package/dist/provider-ollama/index.d.ts.map +1 -1
- package/dist/provider-ollama/index.js +93 -382
- package/dist/provider-ollama/index.js.map +7 -5
- package/dist/provider-ollama/registerOllama.d.ts +10 -0
- package/dist/provider-ollama/registerOllama.d.ts.map +1 -0
- package/dist/provider-ollama/registerOllamaInline.browser.d.ts +8 -0
- package/dist/provider-ollama/registerOllamaInline.browser.d.ts.map +1 -0
- package/dist/provider-ollama/registerOllamaInline.d.ts +8 -0
- package/dist/provider-ollama/registerOllamaInline.d.ts.map +1 -0
- package/dist/provider-ollama/registerOllamaWorker.browser.d.ts +7 -0
- package/dist/provider-ollama/registerOllamaWorker.browser.d.ts.map +1 -0
- package/dist/{google-gemini/Gemini_Worker.d.ts → provider-ollama/registerOllamaWorker.d.ts} +2 -2
- package/dist/provider-ollama/registerOllamaWorker.d.ts.map +1 -0
- package/dist/provider-ollama/runtime.browser.d.ts +16 -0
- package/dist/provider-ollama/runtime.browser.d.ts.map +1 -0
- package/dist/provider-ollama/runtime.browser.js +528 -0
- package/dist/provider-ollama/runtime.browser.js.map +24 -0
- package/dist/provider-ollama/runtime.d.ts +16 -0
- package/dist/provider-ollama/runtime.d.ts.map +1 -0
- package/dist/provider-ollama/runtime.js +538 -0
- package/dist/provider-ollama/runtime.js.map +24 -0
- package/dist/provider-openai/OpenAiProvider.d.ts +2 -19
- package/dist/provider-openai/OpenAiProvider.d.ts.map +1 -1
- package/dist/provider-openai/OpenAiQueuedProvider.d.ts +16 -0
- package/dist/provider-openai/OpenAiQueuedProvider.d.ts.map +1 -0
- package/dist/provider-openai/common/OpenAI_Client.d.ts +10 -0
- package/dist/provider-openai/common/OpenAI_Client.d.ts.map +1 -0
- package/dist/provider-openai/common/OpenAI_CountTokens.d.ts +10 -0
- package/dist/provider-openai/common/OpenAI_CountTokens.d.ts.map +1 -0
- package/dist/provider-openai/common/OpenAI_JobRunFns.d.ts +2 -15
- package/dist/provider-openai/common/OpenAI_JobRunFns.d.ts.map +1 -1
- package/dist/provider-openai/common/OpenAI_ModelInfo.d.ts +9 -0
- package/dist/provider-openai/common/OpenAI_ModelInfo.d.ts.map +1 -0
- package/dist/provider-openai/common/OpenAI_ModelSchema.d.ts +31 -31
- package/dist/provider-openai/common/OpenAI_ModelSchema.d.ts.map +1 -1
- package/dist/provider-openai/common/OpenAI_ModelSearch.d.ts +8 -0
- package/dist/provider-openai/common/OpenAI_ModelSearch.d.ts.map +1 -0
- package/dist/provider-openai/common/OpenAI_StructuredGeneration.d.ts +10 -0
- package/dist/provider-openai/common/OpenAI_StructuredGeneration.d.ts.map +1 -0
- package/dist/provider-openai/common/OpenAI_TextEmbedding.d.ts +9 -0
- package/dist/provider-openai/common/OpenAI_TextEmbedding.d.ts.map +1 -0
- package/dist/provider-openai/common/OpenAI_TextGeneration.d.ts +10 -0
- package/dist/provider-openai/common/OpenAI_TextGeneration.d.ts.map +1 -0
- package/dist/provider-openai/common/OpenAI_TextRewriter.d.ts +10 -0
- package/dist/provider-openai/common/OpenAI_TextRewriter.d.ts.map +1 -0
- package/dist/provider-openai/common/OpenAI_TextSummary.d.ts +10 -0
- package/dist/provider-openai/common/OpenAI_TextSummary.d.ts.map +1 -0
- package/dist/provider-openai/common/OpenAI_ToolCalling.d.ts +10 -0
- package/dist/provider-openai/common/OpenAI_ToolCalling.d.ts.map +1 -0
- package/dist/provider-openai/index.d.ts +1 -3
- package/dist/provider-openai/index.d.ts.map +1 -1
- package/dist/provider-openai/index.js +108 -519
- package/dist/provider-openai/index.js.map +7 -5
- package/dist/provider-openai/registerOpenAi.d.ts +10 -0
- package/dist/provider-openai/registerOpenAi.d.ts.map +1 -0
- package/dist/provider-openai/registerOpenAiInline.d.ts +8 -0
- package/dist/provider-openai/registerOpenAiInline.d.ts.map +1 -0
- package/dist/{ggml/model/GgmlLocalModel.d.ts → provider-openai/registerOpenAiWorker.d.ts} +2 -2
- package/dist/provider-openai/registerOpenAiWorker.d.ts.map +1 -0
- package/dist/provider-openai/runtime.d.ts +16 -0
- package/dist/provider-openai/runtime.d.ts.map +1 -0
- package/dist/provider-openai/runtime.js +662 -0
- package/dist/provider-openai/runtime.js.map +25 -0
- package/dist/provider-tf-mediapipe/TensorFlowMediaPipeProvider.d.ts +24 -0
- package/dist/provider-tf-mediapipe/TensorFlowMediaPipeProvider.d.ts.map +1 -0
- package/dist/provider-tf-mediapipe/TensorFlowMediaPipeQueuedProvider.d.ts +16 -0
- package/dist/provider-tf-mediapipe/TensorFlowMediaPipeQueuedProvider.d.ts.map +1 -0
- package/dist/provider-tf-mediapipe/common/TFMP_Client.d.ts +8 -0
- package/dist/provider-tf-mediapipe/common/TFMP_Client.d.ts.map +1 -0
- package/dist/{tf-mediapipe → provider-tf-mediapipe}/common/TFMP_Constants.d.ts +1 -0
- package/dist/provider-tf-mediapipe/common/TFMP_Constants.d.ts.map +1 -0
- package/dist/provider-tf-mediapipe/common/TFMP_Download.d.ts +9 -0
- package/dist/provider-tf-mediapipe/common/TFMP_Download.d.ts.map +1 -0
- package/dist/provider-tf-mediapipe/common/TFMP_FaceDetector.d.ts +9 -0
- package/dist/provider-tf-mediapipe/common/TFMP_FaceDetector.d.ts.map +1 -0
- package/dist/provider-tf-mediapipe/common/TFMP_FaceLandmarker.d.ts +9 -0
- package/dist/provider-tf-mediapipe/common/TFMP_FaceLandmarker.d.ts.map +1 -0
- package/dist/provider-tf-mediapipe/common/TFMP_GestureRecognizer.d.ts +9 -0
- package/dist/provider-tf-mediapipe/common/TFMP_GestureRecognizer.d.ts.map +1 -0
- package/dist/provider-tf-mediapipe/common/TFMP_HandLandmarker.d.ts +9 -0
- package/dist/provider-tf-mediapipe/common/TFMP_HandLandmarker.d.ts.map +1 -0
- package/dist/provider-tf-mediapipe/common/TFMP_ImageClassification.d.ts +9 -0
- package/dist/provider-tf-mediapipe/common/TFMP_ImageClassification.d.ts.map +1 -0
- package/dist/provider-tf-mediapipe/common/TFMP_ImageEmbedding.d.ts +9 -0
- package/dist/provider-tf-mediapipe/common/TFMP_ImageEmbedding.d.ts.map +1 -0
- package/dist/provider-tf-mediapipe/common/TFMP_ImageSegmentation.d.ts +9 -0
- package/dist/provider-tf-mediapipe/common/TFMP_ImageSegmentation.d.ts.map +1 -0
- package/dist/{tf-mediapipe → provider-tf-mediapipe}/common/TFMP_JobRunFns.d.ts +340 -408
- package/dist/provider-tf-mediapipe/common/TFMP_JobRunFns.d.ts.map +1 -0
- package/dist/provider-tf-mediapipe/common/TFMP_ModelInfo.d.ts +9 -0
- package/dist/provider-tf-mediapipe/common/TFMP_ModelInfo.d.ts.map +1 -0
- package/dist/{tf-mediapipe → provider-tf-mediapipe}/common/TFMP_ModelSchema.d.ts +40 -37
- package/dist/provider-tf-mediapipe/common/TFMP_ModelSchema.d.ts.map +1 -0
- package/dist/provider-tf-mediapipe/common/TFMP_ModelSearch.d.ts +9 -0
- package/dist/provider-tf-mediapipe/common/TFMP_ModelSearch.d.ts.map +1 -0
- package/dist/provider-tf-mediapipe/common/TFMP_ObjectDetection.d.ts +9 -0
- package/dist/provider-tf-mediapipe/common/TFMP_ObjectDetection.d.ts.map +1 -0
- package/dist/provider-tf-mediapipe/common/TFMP_PoseLandmarker.d.ts +9 -0
- package/dist/provider-tf-mediapipe/common/TFMP_PoseLandmarker.d.ts.map +1 -0
- package/dist/provider-tf-mediapipe/common/TFMP_Runtime.d.ts +43 -0
- package/dist/provider-tf-mediapipe/common/TFMP_Runtime.d.ts.map +1 -0
- package/dist/provider-tf-mediapipe/common/TFMP_TextClassification.d.ts +9 -0
- package/dist/provider-tf-mediapipe/common/TFMP_TextClassification.d.ts.map +1 -0
- package/dist/provider-tf-mediapipe/common/TFMP_TextEmbedding.d.ts +9 -0
- package/dist/provider-tf-mediapipe/common/TFMP_TextEmbedding.d.ts.map +1 -0
- package/dist/provider-tf-mediapipe/common/TFMP_TextLanguageDetection.d.ts +9 -0
- package/dist/provider-tf-mediapipe/common/TFMP_TextLanguageDetection.d.ts.map +1 -0
- package/dist/provider-tf-mediapipe/common/TFMP_Unload.d.ts +9 -0
- package/dist/provider-tf-mediapipe/common/TFMP_Unload.d.ts.map +1 -0
- package/dist/{tf-mediapipe → provider-tf-mediapipe}/index.d.ts +1 -3
- package/dist/provider-tf-mediapipe/index.d.ts.map +1 -0
- package/dist/provider-tf-mediapipe/index.js +129 -0
- package/dist/provider-tf-mediapipe/index.js.map +13 -0
- package/dist/provider-tf-mediapipe/registerTensorFlowMediaPipe.d.ts +10 -0
- package/dist/provider-tf-mediapipe/registerTensorFlowMediaPipe.d.ts.map +1 -0
- package/dist/provider-tf-mediapipe/registerTensorFlowMediaPipeInline.d.ts +8 -0
- package/dist/provider-tf-mediapipe/registerTensorFlowMediaPipeInline.d.ts.map +1 -0
- package/dist/provider-tf-mediapipe/registerTensorFlowMediaPipeWorker.d.ts +7 -0
- package/dist/provider-tf-mediapipe/registerTensorFlowMediaPipeWorker.d.ts.map +1 -0
- package/dist/provider-tf-mediapipe/runtime.d.ts +16 -0
- package/dist/provider-tf-mediapipe/runtime.d.ts.map +1 -0
- package/dist/{tf-mediapipe/index.js → provider-tf-mediapipe/runtime.js} +417 -380
- package/dist/provider-tf-mediapipe/runtime.js.map +33 -0
- package/package.json +66 -40
- package/dist/HFT_JobRunFns-8hcpea4c.js +0 -80
- package/dist/HFT_JobRunFns-8hcpea4c.js.map +0 -9
- package/dist/anthropic/AnthropicProvider.d.ts.map +0 -1
- package/dist/anthropic/Anthropic_Worker.d.ts.map +0 -1
- package/dist/anthropic/common/Anthropic_Constants.d.ts.map +0 -1
- package/dist/anthropic/common/Anthropic_JobRunFns.d.ts +0 -24
- package/dist/anthropic/common/Anthropic_JobRunFns.d.ts.map +0 -1
- package/dist/anthropic/common/Anthropic_ModelSchema.d.ts.map +0 -1
- package/dist/anthropic/index.d.ts.map +0 -1
- package/dist/anthropic/index.js.map +0 -11
- package/dist/ggml/model/GgmlLocalModel.d.ts.map +0 -1
- package/dist/google-gemini/Gemini_Worker.d.ts.map +0 -1
- package/dist/google-gemini/GoogleGeminiProvider.d.ts.map +0 -1
- package/dist/google-gemini/common/Gemini_Constants.d.ts.map +0 -1
- package/dist/google-gemini/common/Gemini_JobRunFns.d.ts +0 -25
- package/dist/google-gemini/common/Gemini_JobRunFns.d.ts.map +0 -1
- package/dist/google-gemini/common/Gemini_ModelSchema.d.ts.map +0 -1
- package/dist/google-gemini/index.d.ts.map +0 -1
- package/dist/google-gemini/index.js.map +0 -11
- package/dist/hf-transformers/HFT_Worker.d.ts +0 -7
- package/dist/hf-transformers/HFT_Worker.d.ts.map +0 -1
- package/dist/hf-transformers/HuggingFaceTransformersProvider.d.ts.map +0 -1
- package/dist/hf-transformers/common/HFT_Constants.d.ts.map +0 -1
- package/dist/hf-transformers/common/HFT_JobRunFns.d.ts.map +0 -1
- package/dist/hf-transformers/common/HFT_ModelSchema.d.ts.map +0 -1
- package/dist/hf-transformers/index.d.ts.map +0 -1
- package/dist/hf-transformers/index.js +0 -116
- package/dist/hf-transformers/index.js.map +0 -10
- package/dist/index-60ev6k93.js.map +0 -12
- package/dist/index-6j5pq722.js +0 -11
- package/dist/index-6j5pq722.js.map +0 -9
- package/dist/index-8651nz8y.js.map +0 -12
- package/dist/index-j4g81r4k.js.map +0 -10
- package/dist/index-pkd79j8b.js +0 -58
- package/dist/index-pkd79j8b.js.map +0 -10
- package/dist/index-q2t627d5.js +0 -88
- package/dist/index-q2t627d5.js.map +0 -12
- package/dist/index-tp5s7355.js +0 -77
- package/dist/index-tp5s7355.js.map +0 -12
- package/dist/index-v72vr07f.js +0 -81
- package/dist/index-v72vr07f.js.map +0 -12
- package/dist/index-wr57rwyx.js +0 -104
- package/dist/index-wr57rwyx.js.map +0 -12
- package/dist/index-zqq3kw0n.js +0 -171
- package/dist/index-zqq3kw0n.js.map +0 -11
- package/dist/index.browser-6j5pq722.js +0 -11
- package/dist/index.browser-6j5pq722.js.map +0 -9
- package/dist/index.d.ts +0 -33
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -316
- package/dist/index.js.map +0 -15
- package/dist/provider-hf-inference/HFI_Worker.d.ts +0 -7
- package/dist/provider-hf-inference/HFI_Worker.d.ts.map +0 -1
- package/dist/provider-llamacpp/LlamaCpp_Worker.d.ts +0 -7
- package/dist/provider-llamacpp/LlamaCpp_Worker.d.ts.map +0 -1
- package/dist/provider-ollama/Ollama_Worker.browser.d.ts +0 -7
- package/dist/provider-ollama/Ollama_Worker.browser.d.ts.map +0 -1
- package/dist/provider-ollama/Ollama_Worker.d.ts +0 -7
- package/dist/provider-ollama/Ollama_Worker.d.ts.map +0 -1
- package/dist/provider-openai/OpenAI_Worker.d.ts +0 -7
- package/dist/provider-openai/OpenAI_Worker.d.ts.map +0 -1
- package/dist/tf-mediapipe/TFMP_Worker.d.ts +0 -7
- package/dist/tf-mediapipe/TFMP_Worker.d.ts.map +0 -1
- package/dist/tf-mediapipe/TensorFlowMediaPipeProvider.d.ts +0 -41
- package/dist/tf-mediapipe/TensorFlowMediaPipeProvider.d.ts.map +0 -1
- package/dist/tf-mediapipe/common/TFMP_Constants.d.ts.map +0 -1
- package/dist/tf-mediapipe/common/TFMP_JobRunFns.d.ts.map +0 -1
- package/dist/tf-mediapipe/common/TFMP_ModelSchema.d.ts.map +0 -1
- package/dist/tf-mediapipe/index.d.ts.map +0 -1
- package/dist/tf-mediapipe/index.js.map +0 -14
- package/dist/types.d.ts +0 -7
- package/dist/types.d.ts.map +0 -1
- package/dist/web-browser/WebBrowserProvider.d.ts.map +0 -1
- package/dist/web-browser/WebBrowser_Worker.d.ts +0 -7
- package/dist/web-browser/WebBrowser_Worker.d.ts.map +0 -1
- package/dist/web-browser/common/WebBrowser_Constants.d.ts.map +0 -1
- package/dist/web-browser/common/WebBrowser_JobRunFns.d.ts +0 -20
- package/dist/web-browser/common/WebBrowser_JobRunFns.d.ts.map +0 -1
- package/dist/web-browser/common/WebBrowser_ModelSchema.d.ts.map +0 -1
- package/dist/web-browser/index.d.ts.map +0 -1
- package/dist/web-browser/index.js.map +0 -14
- /package/dist/{anthropic → provider-anthropic}/common/Anthropic_Constants.d.ts +0 -0
- /package/dist/{web-browser → provider-chrome}/common/WebBrowser_Constants.d.ts +0 -0
- /package/dist/{google-gemini → provider-gemini}/common/Gemini_Constants.d.ts +0 -0
|
@@ -1,9 +1,54 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
1
|
+
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
2
|
+
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
3
|
+
}) : x)(function(x) {
|
|
4
|
+
if (typeof require !== "undefined")
|
|
5
|
+
return require.apply(this, arguments);
|
|
6
|
+
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
7
|
+
});
|
|
4
8
|
|
|
5
|
-
// src/tf-mediapipe/common/
|
|
9
|
+
// src/provider-tf-mediapipe/common/TFMP_Client.ts
|
|
10
|
+
var _tasksText;
|
|
11
|
+
var _tasksVision;
|
|
12
|
+
async function loadTfmpTasksTextSDK() {
|
|
13
|
+
if (!_tasksText) {
|
|
14
|
+
try {
|
|
15
|
+
_tasksText = await import("@mediapipe/tasks-text");
|
|
16
|
+
} catch {
|
|
17
|
+
throw new Error("@mediapipe/tasks-text is required for TensorFlow MediaPipe text (and related) tasks. Install with: bun add @mediapipe/tasks-text");
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return _tasksText;
|
|
21
|
+
}
|
|
22
|
+
async function loadTfmpTasksVisionSDK() {
|
|
23
|
+
if (!_tasksVision) {
|
|
24
|
+
try {
|
|
25
|
+
_tasksVision = await import("@mediapipe/tasks-vision");
|
|
26
|
+
} catch {
|
|
27
|
+
throw new Error("@mediapipe/tasks-vision is required for TensorFlow MediaPipe vision tasks. Install with: bun add @mediapipe/tasks-vision");
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return _tasksVision;
|
|
31
|
+
}
|
|
32
|
+
// src/provider-tf-mediapipe/common/TFMP_Constants.ts
|
|
6
33
|
var TENSORFLOW_MEDIAPIPE = "TENSORFLOW_MEDIAPIPE";
|
|
34
|
+
var TFMP_DEFAULT_TASK_TYPES = [
|
|
35
|
+
"DownloadModelTask",
|
|
36
|
+
"UnloadModelTask",
|
|
37
|
+
"ModelInfoTask",
|
|
38
|
+
"TextEmbeddingTask",
|
|
39
|
+
"TextLanguageDetectionTask",
|
|
40
|
+
"TextClassificationTask",
|
|
41
|
+
"ImageSegmentationTask",
|
|
42
|
+
"ImageEmbeddingTask",
|
|
43
|
+
"ImageClassificationTask",
|
|
44
|
+
"ObjectDetectionTask",
|
|
45
|
+
"GestureRecognizerTask",
|
|
46
|
+
"HandLandmarkerTask",
|
|
47
|
+
"FaceDetectorTask",
|
|
48
|
+
"FaceLandmarkerTask",
|
|
49
|
+
"PoseLandmarkerTask",
|
|
50
|
+
"ModelSearchTask"
|
|
51
|
+
];
|
|
7
52
|
var TextPipelineTask = {
|
|
8
53
|
"text-embedder": "text-embedder",
|
|
9
54
|
"text-classifier": "text-classifier",
|
|
@@ -24,32 +69,55 @@ var TextPipelineTask = {
|
|
|
24
69
|
"vision-object-detector": "vision-object-detector",
|
|
25
70
|
"vision-pose-landmarker": "vision-pose-landmarker"
|
|
26
71
|
};
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
var
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
72
|
+
|
|
73
|
+
// src/provider-tf-mediapipe/common/TFMP_ModelSearch.ts
|
|
74
|
+
var TFMP_MODELS = [
|
|
75
|
+
{ label: "text-embedder Universal Sentence Encoder", value: "text-embedder" }
|
|
76
|
+
];
|
|
77
|
+
function createTFMPModelSearch(providerId) {
|
|
78
|
+
return async () => {
|
|
79
|
+
const results = TFMP_MODELS.map((m) => ({
|
|
80
|
+
id: m.value,
|
|
81
|
+
label: m.label,
|
|
82
|
+
description: "",
|
|
83
|
+
record: {
|
|
84
|
+
model_id: m.value,
|
|
85
|
+
provider: providerId,
|
|
86
|
+
title: m.value,
|
|
87
|
+
description: "",
|
|
88
|
+
tasks: [],
|
|
89
|
+
provider_config: { model_path: m.value },
|
|
90
|
+
metadata: {}
|
|
91
|
+
},
|
|
92
|
+
raw: m
|
|
93
|
+
}));
|
|
94
|
+
return { results };
|
|
95
|
+
};
|
|
50
96
|
}
|
|
97
|
+
var TFMP_ModelSearch = createTFMPModelSearch(TENSORFLOW_MEDIAPIPE);
|
|
98
|
+
|
|
99
|
+
// src/provider-tf-mediapipe/common/TFMP_Download.ts
|
|
100
|
+
import { PermanentJobError as PermanentJobError2 } from "@workglow/job-queue";
|
|
101
|
+
|
|
102
|
+
// src/provider-tf-mediapipe/common/TFMP_Runtime.ts
|
|
103
|
+
import { PermanentJobError } from "@workglow/job-queue";
|
|
51
104
|
var wasm_tasks = new Map;
|
|
52
105
|
var wasm_reference_counts = new Map;
|
|
106
|
+
var modelTaskCache = new Map;
|
|
107
|
+
var optionsMatch = (opts1, opts2) => {
|
|
108
|
+
const keys1 = Object.keys(opts1).sort();
|
|
109
|
+
const keys2 = Object.keys(opts2).sort();
|
|
110
|
+
if (keys1.length !== keys2.length)
|
|
111
|
+
return false;
|
|
112
|
+
return keys1.every((key) => {
|
|
113
|
+
const val1 = opts1[key];
|
|
114
|
+
const val2 = opts2[key];
|
|
115
|
+
if (Array.isArray(val1) && Array.isArray(val2)) {
|
|
116
|
+
return JSON.stringify(val1) === JSON.stringify(val2);
|
|
117
|
+
}
|
|
118
|
+
return val1 === val2;
|
|
119
|
+
});
|
|
120
|
+
};
|
|
53
121
|
var getWasmTask = async (model, onProgress, signal) => {
|
|
54
122
|
const task_engine = model.provider_config.task_engine;
|
|
55
123
|
if (wasm_tasks.has(task_engine)) {
|
|
@@ -59,42 +127,34 @@ var getWasmTask = async (model, onProgress, signal) => {
|
|
|
59
127
|
throw new PermanentJobError("Aborted job");
|
|
60
128
|
}
|
|
61
129
|
onProgress(0.1, "Loading WASM task");
|
|
62
|
-
const { FilesetResolver } = await loadMediaPipeTextSDK();
|
|
63
130
|
let wasmFileset;
|
|
64
131
|
switch (task_engine) {
|
|
65
|
-
case "
|
|
132
|
+
case "vision": {
|
|
133
|
+
const { FilesetResolver } = await loadTfmpTasksVisionSDK();
|
|
134
|
+
wasmFileset = await FilesetResolver.forVisionTasks("https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@latest/wasm");
|
|
135
|
+
break;
|
|
136
|
+
}
|
|
137
|
+
case "text": {
|
|
138
|
+
const { FilesetResolver } = await loadTfmpTasksTextSDK();
|
|
66
139
|
wasmFileset = await FilesetResolver.forTextTasks("https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/wasm");
|
|
67
140
|
break;
|
|
68
|
-
|
|
141
|
+
}
|
|
142
|
+
case "audio": {
|
|
143
|
+
const { FilesetResolver } = await loadTfmpTasksTextSDK();
|
|
69
144
|
wasmFileset = await FilesetResolver.forAudioTasks("https://cdn.jsdelivr.net/npm/@mediapipe/tasks-audio@latest/wasm");
|
|
70
145
|
break;
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
case "genai":
|
|
146
|
+
}
|
|
147
|
+
case "genai": {
|
|
148
|
+
const { FilesetResolver } = await loadTfmpTasksTextSDK();
|
|
75
149
|
wasmFileset = await FilesetResolver.forGenAiTasks("https://cdn.jsdelivr.net/npm/@mediapipe/tasks-genai@latest/wasm");
|
|
76
150
|
break;
|
|
151
|
+
}
|
|
77
152
|
default:
|
|
78
153
|
throw new PermanentJobError("Invalid task engine");
|
|
79
154
|
}
|
|
80
155
|
wasm_tasks.set(task_engine, wasmFileset);
|
|
81
156
|
return wasmFileset;
|
|
82
157
|
};
|
|
83
|
-
var modelTaskCache = new Map;
|
|
84
|
-
var optionsMatch = (opts1, opts2) => {
|
|
85
|
-
const keys1 = Object.keys(opts1).sort();
|
|
86
|
-
const keys2 = Object.keys(opts2).sort();
|
|
87
|
-
if (keys1.length !== keys2.length)
|
|
88
|
-
return false;
|
|
89
|
-
return keys1.every((key) => {
|
|
90
|
-
const val1 = opts1[key];
|
|
91
|
-
const val2 = opts2[key];
|
|
92
|
-
if (Array.isArray(val1) && Array.isArray(val2)) {
|
|
93
|
-
return JSON.stringify(val1) === JSON.stringify(val2);
|
|
94
|
-
}
|
|
95
|
-
return val1 === val2;
|
|
96
|
-
});
|
|
97
|
-
};
|
|
98
158
|
var getModelTask = async (model, options, onProgress, signal, TaskType) => {
|
|
99
159
|
const model_path = model.provider_config.model_path;
|
|
100
160
|
const task_engine = model.provider_config.task_engine;
|
|
@@ -121,71 +181,73 @@ var getModelTask = async (model, options, onProgress, signal, TaskType) => {
|
|
|
121
181
|
wasm_reference_counts.set(task_engine, (wasm_reference_counts.get(task_engine) || 0) + 1);
|
|
122
182
|
return task;
|
|
123
183
|
};
|
|
184
|
+
|
|
185
|
+
// src/provider-tf-mediapipe/common/TFMP_Download.ts
|
|
124
186
|
var TFMP_Download = async (input, model, onProgress, signal) => {
|
|
125
187
|
let task;
|
|
126
188
|
switch (model?.provider_config.pipeline) {
|
|
127
189
|
case "text-embedder": {
|
|
128
|
-
const { TextEmbedder } = await
|
|
190
|
+
const { TextEmbedder } = await loadTfmpTasksTextSDK();
|
|
129
191
|
task = await getModelTask(model, {}, onProgress, signal, TextEmbedder);
|
|
130
192
|
break;
|
|
131
193
|
}
|
|
132
194
|
case "text-classifier": {
|
|
133
|
-
const { TextClassifier } = await
|
|
195
|
+
const { TextClassifier } = await loadTfmpTasksTextSDK();
|
|
134
196
|
task = await getModelTask(model, {}, onProgress, signal, TextClassifier);
|
|
135
197
|
break;
|
|
136
198
|
}
|
|
137
199
|
case "text-language-detector": {
|
|
138
|
-
const { LanguageDetector } = await
|
|
200
|
+
const { LanguageDetector } = await loadTfmpTasksTextSDK();
|
|
139
201
|
task = await getModelTask(model, {}, onProgress, signal, LanguageDetector);
|
|
140
202
|
break;
|
|
141
203
|
}
|
|
142
204
|
case "vision-image-classifier": {
|
|
143
|
-
const { ImageClassifier } = await
|
|
205
|
+
const { ImageClassifier } = await loadTfmpTasksVisionSDK();
|
|
144
206
|
task = await getModelTask(model, {}, onProgress, signal, ImageClassifier);
|
|
145
207
|
break;
|
|
146
208
|
}
|
|
147
209
|
case "vision-image-embedder": {
|
|
148
|
-
const { ImageEmbedder } = await
|
|
210
|
+
const { ImageEmbedder } = await loadTfmpTasksVisionSDK();
|
|
149
211
|
task = await getModelTask(model, {}, onProgress, signal, ImageEmbedder);
|
|
150
212
|
break;
|
|
151
213
|
}
|
|
152
214
|
case "vision-image-segmenter": {
|
|
153
|
-
const { ImageSegmenter } = await
|
|
215
|
+
const { ImageSegmenter } = await loadTfmpTasksVisionSDK();
|
|
154
216
|
task = await getModelTask(model, {}, onProgress, signal, ImageSegmenter);
|
|
155
217
|
break;
|
|
156
218
|
}
|
|
157
219
|
case "vision-object-detector": {
|
|
158
|
-
const { ObjectDetector } = await
|
|
220
|
+
const { ObjectDetector } = await loadTfmpTasksVisionSDK();
|
|
159
221
|
task = await getModelTask(model, {}, onProgress, signal, ObjectDetector);
|
|
160
222
|
break;
|
|
161
223
|
}
|
|
162
224
|
case "vision-face-detector": {
|
|
163
|
-
const { FaceDetector } = await
|
|
225
|
+
const { FaceDetector } = await loadTfmpTasksVisionSDK();
|
|
164
226
|
task = await getModelTask(model, {}, onProgress, signal, FaceDetector);
|
|
165
227
|
break;
|
|
166
228
|
}
|
|
167
229
|
case "vision-face-landmarker": {
|
|
168
|
-
const { FaceLandmarker } = await
|
|
230
|
+
const { FaceLandmarker } = await loadTfmpTasksVisionSDK();
|
|
169
231
|
task = await getModelTask(model, {}, onProgress, signal, FaceLandmarker);
|
|
170
232
|
break;
|
|
171
233
|
}
|
|
172
234
|
case "vision-gesture-recognizer": {
|
|
173
|
-
const { GestureRecognizer } = await
|
|
235
|
+
const { GestureRecognizer } = await loadTfmpTasksVisionSDK();
|
|
174
236
|
task = await getModelTask(model, {}, onProgress, signal, GestureRecognizer);
|
|
175
237
|
break;
|
|
176
238
|
}
|
|
177
239
|
case "vision-hand-landmarker": {
|
|
178
|
-
const { HandLandmarker } = await
|
|
240
|
+
const { HandLandmarker } = await loadTfmpTasksVisionSDK();
|
|
179
241
|
task = await getModelTask(model, {}, onProgress, signal, HandLandmarker);
|
|
180
242
|
break;
|
|
181
243
|
}
|
|
182
244
|
case "vision-pose-landmarker": {
|
|
183
|
-
const { PoseLandmarker } = await
|
|
245
|
+
const { PoseLandmarker } = await loadTfmpTasksVisionSDK();
|
|
184
246
|
task = await getModelTask(model, {}, onProgress, signal, PoseLandmarker);
|
|
185
247
|
break;
|
|
186
248
|
}
|
|
187
249
|
default:
|
|
188
|
-
throw new
|
|
250
|
+
throw new PermanentJobError2(`Invalid pipeline: ${model?.provider_config.pipeline}. Supported pipelines: text-embedder, text-classifier, text-language-detector, vision-image-classifier, vision-image-embedder, vision-image-segmenter, vision-object-detector, vision-face-detector, vision-face-landmarker, vision-gesture-recognizer, vision-hand-landmarker, vision-pose-landmarker`);
|
|
189
251
|
}
|
|
190
252
|
onProgress(0.9, "Pipeline loaded");
|
|
191
253
|
task.close();
|
|
@@ -195,166 +257,82 @@ var TFMP_Download = async (input, model, onProgress, signal) => {
|
|
|
195
257
|
model: input.model
|
|
196
258
|
};
|
|
197
259
|
};
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
});
|
|
209
|
-
return {
|
|
210
|
-
vector: embeddings
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
const result = textEmbedder.embed(input.text);
|
|
214
|
-
if (!result.embeddings?.[0]?.floatEmbedding) {
|
|
215
|
-
throw new PermanentJobError("Failed to generate embedding: Empty result");
|
|
216
|
-
}
|
|
217
|
-
const embedding = Float32Array.from(result.embeddings[0].floatEmbedding);
|
|
218
|
-
return {
|
|
219
|
-
vector: embedding
|
|
220
|
-
};
|
|
221
|
-
};
|
|
222
|
-
var TFMP_TextClassification = async (input, model, onProgress, signal) => {
|
|
223
|
-
const { TextClassifier } = await loadMediaPipeTextSDK();
|
|
224
|
-
const TextClassification = await getModelTask(model, {
|
|
225
|
-
maxCategories: input.maxCategories
|
|
226
|
-
}, onProgress, signal, TextClassifier);
|
|
227
|
-
const result = TextClassification.classify(input.text);
|
|
228
|
-
if (!result.classifications?.[0]?.categories) {
|
|
229
|
-
throw new PermanentJobError("Failed to classify text: Empty result");
|
|
230
|
-
}
|
|
231
|
-
const categories = result.classifications[0].categories.map((category) => ({
|
|
232
|
-
label: category.categoryName,
|
|
233
|
-
score: category.score
|
|
234
|
-
}));
|
|
235
|
-
return {
|
|
236
|
-
categories
|
|
237
|
-
};
|
|
238
|
-
};
|
|
239
|
-
var TFMP_TextLanguageDetection = async (input, model, onProgress, signal) => {
|
|
240
|
-
const maxLanguages = input.maxLanguages === 0 ? -1 : input.maxLanguages;
|
|
241
|
-
const { LanguageDetector } = await loadMediaPipeTextSDK();
|
|
242
|
-
const textLanguageDetector = await getModelTask(model, {
|
|
243
|
-
maxLanguages
|
|
244
|
-
}, onProgress, signal, LanguageDetector);
|
|
245
|
-
const result = textLanguageDetector.detect(input.text);
|
|
246
|
-
if (!result.languages?.[0]?.languageCode) {
|
|
247
|
-
throw new PermanentJobError("Failed to detect language: Empty result");
|
|
248
|
-
}
|
|
249
|
-
const languages = result.languages.map((language) => ({
|
|
250
|
-
language: language.languageCode,
|
|
251
|
-
score: language.probability
|
|
252
|
-
}));
|
|
253
|
-
return {
|
|
254
|
-
languages
|
|
255
|
-
};
|
|
256
|
-
};
|
|
257
|
-
var TFMP_Unload = async (input, model, onProgress, signal) => {
|
|
258
|
-
const model_path = model.provider_config.model_path;
|
|
259
|
-
onProgress(10, "Unloading model");
|
|
260
|
-
if (modelTaskCache.has(model_path)) {
|
|
261
|
-
const cachedTasks = modelTaskCache.get(model_path);
|
|
262
|
-
for (const cachedTask of cachedTasks) {
|
|
263
|
-
const task = cachedTask.task;
|
|
264
|
-
if ("close" in task && typeof task.close === "function")
|
|
265
|
-
task.close();
|
|
266
|
-
const task_engine = cachedTask.task_engine;
|
|
267
|
-
const currentCount = wasm_reference_counts.get(task_engine) || 0;
|
|
268
|
-
const newCount = currentCount - 1;
|
|
269
|
-
if (newCount <= 0) {
|
|
270
|
-
wasm_tasks.delete(task_engine);
|
|
271
|
-
wasm_reference_counts.delete(task_engine);
|
|
272
|
-
} else {
|
|
273
|
-
wasm_reference_counts.set(task_engine, newCount);
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
modelTaskCache.delete(model_path);
|
|
277
|
-
}
|
|
278
|
-
return {
|
|
279
|
-
model: input.model
|
|
280
|
-
};
|
|
281
|
-
};
|
|
282
|
-
var TFMP_ImageSegmentation = async (input, model, onProgress, signal) => {
|
|
283
|
-
const { ImageSegmenter } = await loadMediaPipeVisionSDK();
|
|
284
|
-
const imageSegmenter = await getModelTask(model, {}, onProgress, signal, ImageSegmenter);
|
|
285
|
-
const result = imageSegmenter.segment(input.image);
|
|
286
|
-
if (!result.categoryMask) {
|
|
287
|
-
throw new PermanentJobError("Failed to segment image: Empty result");
|
|
288
|
-
}
|
|
289
|
-
const masks = [
|
|
290
|
-
{
|
|
291
|
-
label: "segment",
|
|
292
|
-
score: 1,
|
|
293
|
-
mask: {
|
|
294
|
-
data: result.categoryMask.canvas,
|
|
295
|
-
width: result.categoryMask.width,
|
|
296
|
-
height: result.categoryMask.height
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
];
|
|
300
|
-
return {
|
|
301
|
-
masks
|
|
302
|
-
};
|
|
303
|
-
};
|
|
304
|
-
var TFMP_ImageEmbedding = async (input, model, onProgress, signal) => {
|
|
305
|
-
const { ImageEmbedder } = await loadMediaPipeVisionSDK();
|
|
306
|
-
const imageEmbedder = await getModelTask(model, {}, onProgress, signal, ImageEmbedder);
|
|
307
|
-
const result = imageEmbedder.embed(input.image);
|
|
308
|
-
if (!result.embeddings?.[0]?.floatEmbedding) {
|
|
309
|
-
throw new PermanentJobError("Failed to generate embedding: Empty result");
|
|
310
|
-
}
|
|
311
|
-
const embedding = Float32Array.from(result.embeddings[0].floatEmbedding);
|
|
312
|
-
return {
|
|
313
|
-
vector: embedding
|
|
314
|
-
};
|
|
315
|
-
};
|
|
316
|
-
var TFMP_ImageClassification = async (input, model, onProgress, signal) => {
|
|
317
|
-
const { ImageClassifier } = await loadMediaPipeVisionSDK();
|
|
318
|
-
const imageClassifier = await getModelTask(model, {
|
|
319
|
-
maxResults: input.maxCategories
|
|
320
|
-
}, onProgress, signal, ImageClassifier);
|
|
321
|
-
const result = imageClassifier.classify(input.image);
|
|
322
|
-
if (!result.classifications?.[0]?.categories) {
|
|
323
|
-
throw new PermanentJobError("Failed to classify image: Empty result");
|
|
324
|
-
}
|
|
325
|
-
const categories = result.classifications[0].categories.map((category) => ({
|
|
326
|
-
label: category.categoryName,
|
|
327
|
-
score: category.score
|
|
328
|
-
}));
|
|
329
|
-
return {
|
|
330
|
-
categories
|
|
331
|
-
};
|
|
332
|
-
};
|
|
333
|
-
var TFMP_ObjectDetection = async (input, model, onProgress, signal) => {
|
|
334
|
-
const { ObjectDetector } = await loadMediaPipeVisionSDK();
|
|
335
|
-
const objectDetector = await getModelTask(model, {
|
|
336
|
-
scoreThreshold: input.threshold
|
|
337
|
-
}, onProgress, signal, ObjectDetector);
|
|
338
|
-
const result = objectDetector.detect(input.image);
|
|
260
|
+
|
|
261
|
+
// src/provider-tf-mediapipe/common/TFMP_FaceDetector.ts
|
|
262
|
+
import { PermanentJobError as PermanentJobError3 } from "@workglow/job-queue";
|
|
263
|
+
var TFMP_FaceDetector = async (input, model, onProgress, signal) => {
|
|
264
|
+
const { FaceDetector } = await loadTfmpTasksVisionSDK();
|
|
265
|
+
const faceDetector = await getModelTask(model, {
|
|
266
|
+
minDetectionConfidence: input.minDetectionConfidence,
|
|
267
|
+
minSuppressionThreshold: input.minSuppressionThreshold
|
|
268
|
+
}, onProgress, signal, FaceDetector);
|
|
269
|
+
const result = faceDetector.detect(input.image);
|
|
339
270
|
if (!result.detections) {
|
|
340
|
-
throw new
|
|
271
|
+
throw new PermanentJobError3("Failed to detect faces: Empty result");
|
|
341
272
|
}
|
|
342
|
-
const
|
|
343
|
-
label: detection.categories?.[0]?.categoryName || "unknown",
|
|
344
|
-
score: detection.categories?.[0]?.score || 0,
|
|
273
|
+
const faces = result.detections.map((detection) => ({
|
|
345
274
|
box: {
|
|
346
275
|
x: detection.boundingBox?.originX || 0,
|
|
347
276
|
y: detection.boundingBox?.originY || 0,
|
|
348
277
|
width: detection.boundingBox?.width || 0,
|
|
349
278
|
height: detection.boundingBox?.height || 0
|
|
350
|
-
}
|
|
279
|
+
},
|
|
280
|
+
keypoints: detection.keypoints?.map((kp) => ({
|
|
281
|
+
x: kp.x,
|
|
282
|
+
y: kp.y,
|
|
283
|
+
label: kp.label
|
|
284
|
+
})) || [],
|
|
285
|
+
score: detection.categories?.[0]?.score || 0
|
|
351
286
|
}));
|
|
352
287
|
return {
|
|
353
|
-
|
|
288
|
+
faces
|
|
354
289
|
};
|
|
355
290
|
};
|
|
291
|
+
|
|
292
|
+
// src/provider-tf-mediapipe/common/TFMP_FaceLandmarker.ts
|
|
293
|
+
import { PermanentJobError as PermanentJobError4 } from "@workglow/job-queue";
|
|
294
|
+
var TFMP_FaceLandmarker = async (input, model, onProgress, signal) => {
|
|
295
|
+
const { FaceLandmarker } = await loadTfmpTasksVisionSDK();
|
|
296
|
+
const faceLandmarker = await getModelTask(model, {
|
|
297
|
+
numFaces: input.numFaces,
|
|
298
|
+
minFaceDetectionConfidence: input.minFaceDetectionConfidence,
|
|
299
|
+
minFacePresenceConfidence: input.minFacePresenceConfidence,
|
|
300
|
+
minTrackingConfidence: input.minTrackingConfidence,
|
|
301
|
+
outputFaceBlendshapes: input.outputFaceBlendshapes,
|
|
302
|
+
outputFacialTransformationMatrixes: input.outputFacialTransformationMatrixes
|
|
303
|
+
}, onProgress, signal, FaceLandmarker);
|
|
304
|
+
const result = faceLandmarker.detect(input.image);
|
|
305
|
+
if (!result.faceLandmarks) {
|
|
306
|
+
throw new PermanentJobError4("Failed to detect face landmarks: Empty result");
|
|
307
|
+
}
|
|
308
|
+
const faces = result.faceLandmarks.map((landmarks, index) => {
|
|
309
|
+
const face = {
|
|
310
|
+
landmarks: landmarks.map((l) => ({
|
|
311
|
+
x: l.x,
|
|
312
|
+
y: l.y,
|
|
313
|
+
z: l.z
|
|
314
|
+
}))
|
|
315
|
+
};
|
|
316
|
+
if (result.faceBlendshapes && result.faceBlendshapes[index]) {
|
|
317
|
+
face.blendshapes = result.faceBlendshapes[index].categories.map((b) => ({
|
|
318
|
+
label: b.categoryName,
|
|
319
|
+
score: b.score
|
|
320
|
+
}));
|
|
321
|
+
}
|
|
322
|
+
if (result.facialTransformationMatrixes && result.facialTransformationMatrixes[index]) {
|
|
323
|
+
face.transformationMatrix = Array.from(result.facialTransformationMatrixes[index].data);
|
|
324
|
+
}
|
|
325
|
+
return face;
|
|
326
|
+
});
|
|
327
|
+
return {
|
|
328
|
+
faces
|
|
329
|
+
};
|
|
330
|
+
};
|
|
331
|
+
|
|
332
|
+
// src/provider-tf-mediapipe/common/TFMP_GestureRecognizer.ts
|
|
333
|
+
import { PermanentJobError as PermanentJobError5 } from "@workglow/job-queue";
|
|
356
334
|
var TFMP_GestureRecognizer = async (input, model, onProgress, signal) => {
|
|
357
|
-
const { GestureRecognizer } = await
|
|
335
|
+
const { GestureRecognizer } = await loadTfmpTasksVisionSDK();
|
|
358
336
|
const gestureRecognizer = await getModelTask(model, {
|
|
359
337
|
numHands: input.numHands,
|
|
360
338
|
minHandDetectionConfidence: input.minHandDetectionConfidence,
|
|
@@ -363,7 +341,7 @@ var TFMP_GestureRecognizer = async (input, model, onProgress, signal) => {
|
|
|
363
341
|
}, onProgress, signal, GestureRecognizer);
|
|
364
342
|
const result = gestureRecognizer.recognize(input.image);
|
|
365
343
|
if (!result.gestures || !result.landmarks) {
|
|
366
|
-
throw new
|
|
344
|
+
throw new PermanentJobError5("Failed to recognize gestures: Empty result");
|
|
367
345
|
}
|
|
368
346
|
const hands = result.gestures.map((gestures, index) => ({
|
|
369
347
|
gestures: gestures.map((g) => ({
|
|
@@ -389,8 +367,11 @@ var TFMP_GestureRecognizer = async (input, model, onProgress, signal) => {
|
|
|
389
367
|
hands
|
|
390
368
|
};
|
|
391
369
|
};
|
|
370
|
+
|
|
371
|
+
// src/provider-tf-mediapipe/common/TFMP_HandLandmarker.ts
|
|
372
|
+
import { PermanentJobError as PermanentJobError6 } from "@workglow/job-queue";
|
|
392
373
|
var TFMP_HandLandmarker = async (input, model, onProgress, signal) => {
|
|
393
|
-
const { HandLandmarker } = await
|
|
374
|
+
const { HandLandmarker } = await loadTfmpTasksVisionSDK();
|
|
394
375
|
const handLandmarker = await getModelTask(model, {
|
|
395
376
|
numHands: input.numHands,
|
|
396
377
|
minHandDetectionConfidence: input.minHandDetectionConfidence,
|
|
@@ -399,7 +380,7 @@ var TFMP_HandLandmarker = async (input, model, onProgress, signal) => {
|
|
|
399
380
|
}, onProgress, signal, HandLandmarker);
|
|
400
381
|
const result = handLandmarker.detect(input.image);
|
|
401
382
|
if (!result.landmarks) {
|
|
402
|
-
throw new
|
|
383
|
+
throw new PermanentJobError6("Failed to detect hand landmarks: Empty result");
|
|
403
384
|
}
|
|
404
385
|
const hands = result.landmarks.map((landmarks, index) => ({
|
|
405
386
|
handedness: result.handedness[index].map((h) => ({
|
|
@@ -421,73 +402,113 @@ var TFMP_HandLandmarker = async (input, model, onProgress, signal) => {
|
|
|
421
402
|
hands
|
|
422
403
|
};
|
|
423
404
|
};
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
405
|
+
|
|
406
|
+
// src/provider-tf-mediapipe/common/TFMP_ImageClassification.ts
|
|
407
|
+
import { PermanentJobError as PermanentJobError7 } from "@workglow/job-queue";
|
|
408
|
+
var TFMP_ImageClassification = async (input, model, onProgress, signal) => {
|
|
409
|
+
const { ImageClassifier } = await loadTfmpTasksVisionSDK();
|
|
410
|
+
const imageClassifier = await getModelTask(model, {
|
|
411
|
+
maxResults: input.maxCategories
|
|
412
|
+
}, onProgress, signal, ImageClassifier);
|
|
413
|
+
const result = imageClassifier.classify(input.image);
|
|
414
|
+
if (!result.classifications?.[0]?.categories) {
|
|
415
|
+
throw new PermanentJobError7("Failed to classify image: Empty result");
|
|
433
416
|
}
|
|
434
|
-
const
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
y: detection.boundingBox?.originY || 0,
|
|
438
|
-
width: detection.boundingBox?.width || 0,
|
|
439
|
-
height: detection.boundingBox?.height || 0
|
|
440
|
-
},
|
|
441
|
-
keypoints: detection.keypoints?.map((kp) => ({
|
|
442
|
-
x: kp.x,
|
|
443
|
-
y: kp.y,
|
|
444
|
-
label: kp.label
|
|
445
|
-
})) || [],
|
|
446
|
-
score: detection.categories?.[0]?.score || 0
|
|
417
|
+
const categories = result.classifications[0].categories.map((category) => ({
|
|
418
|
+
label: category.categoryName,
|
|
419
|
+
score: category.score
|
|
447
420
|
}));
|
|
448
421
|
return {
|
|
449
|
-
|
|
422
|
+
categories
|
|
450
423
|
};
|
|
451
424
|
};
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
}, onProgress, signal, FaceLandmarker);
|
|
462
|
-
const result = faceLandmarker.detect(input.image);
|
|
463
|
-
if (!result.faceLandmarks) {
|
|
464
|
-
throw new PermanentJobError("Failed to detect face landmarks: Empty result");
|
|
425
|
+
|
|
426
|
+
// src/provider-tf-mediapipe/common/TFMP_ImageEmbedding.ts
|
|
427
|
+
import { PermanentJobError as PermanentJobError8 } from "@workglow/job-queue";
|
|
428
|
+
var TFMP_ImageEmbedding = async (input, model, onProgress, signal) => {
|
|
429
|
+
const { ImageEmbedder } = await loadTfmpTasksVisionSDK();
|
|
430
|
+
const imageEmbedder = await getModelTask(model, {}, onProgress, signal, ImageEmbedder);
|
|
431
|
+
const result = imageEmbedder.embed(input.image);
|
|
432
|
+
if (!result.embeddings?.[0]?.floatEmbedding) {
|
|
433
|
+
throw new PermanentJobError8("Failed to generate embedding: Empty result");
|
|
465
434
|
}
|
|
466
|
-
const
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
435
|
+
const embedding = Float32Array.from(result.embeddings[0].floatEmbedding);
|
|
436
|
+
return {
|
|
437
|
+
vector: embedding
|
|
438
|
+
};
|
|
439
|
+
};
|
|
440
|
+
|
|
441
|
+
// src/provider-tf-mediapipe/common/TFMP_ImageSegmentation.ts
|
|
442
|
+
import { PermanentJobError as PermanentJobError9 } from "@workglow/job-queue";
|
|
443
|
+
var TFMP_ImageSegmentation = async (input, model, onProgress, signal) => {
|
|
444
|
+
const { ImageSegmenter } = await loadTfmpTasksVisionSDK();
|
|
445
|
+
const imageSegmenter = await getModelTask(model, {}, onProgress, signal, ImageSegmenter);
|
|
446
|
+
const result = imageSegmenter.segment(input.image);
|
|
447
|
+
if (!result.categoryMask) {
|
|
448
|
+
throw new PermanentJobError9("Failed to segment image: Empty result");
|
|
449
|
+
}
|
|
450
|
+
const masks = [
|
|
451
|
+
{
|
|
452
|
+
label: "segment",
|
|
453
|
+
score: 1,
|
|
454
|
+
mask: {
|
|
455
|
+
data: result.categoryMask.canvas,
|
|
456
|
+
width: result.categoryMask.width,
|
|
457
|
+
height: result.categoryMask.height
|
|
458
|
+
}
|
|
479
459
|
}
|
|
480
|
-
|
|
481
|
-
|
|
460
|
+
];
|
|
461
|
+
return {
|
|
462
|
+
masks
|
|
463
|
+
};
|
|
464
|
+
};
|
|
465
|
+
|
|
466
|
+
// src/provider-tf-mediapipe/common/TFMP_ModelInfo.ts
|
|
467
|
+
var TFMP_ModelInfo = async (input, model) => {
|
|
468
|
+
const model_path = model.provider_config.model_path;
|
|
469
|
+
const is_loaded = modelTaskCache.has(model_path);
|
|
470
|
+
return {
|
|
471
|
+
model: input.model,
|
|
472
|
+
is_local: true,
|
|
473
|
+
is_remote: false,
|
|
474
|
+
supports_browser: true,
|
|
475
|
+
supports_node: false,
|
|
476
|
+
is_cached: is_loaded,
|
|
477
|
+
is_loaded,
|
|
478
|
+
file_sizes: null
|
|
479
|
+
};
|
|
480
|
+
};
|
|
481
|
+
|
|
482
|
+
// src/provider-tf-mediapipe/common/TFMP_ObjectDetection.ts
|
|
483
|
+
import { PermanentJobError as PermanentJobError10 } from "@workglow/job-queue";
|
|
484
|
+
var TFMP_ObjectDetection = async (input, model, onProgress, signal) => {
|
|
485
|
+
const { ObjectDetector } = await loadTfmpTasksVisionSDK();
|
|
486
|
+
const objectDetector = await getModelTask(model, {
|
|
487
|
+
scoreThreshold: input.threshold
|
|
488
|
+
}, onProgress, signal, ObjectDetector);
|
|
489
|
+
const result = objectDetector.detect(input.image);
|
|
490
|
+
if (!result.detections) {
|
|
491
|
+
throw new PermanentJobError10("Failed to detect objects: Empty result");
|
|
492
|
+
}
|
|
493
|
+
const detections = result.detections.map((detection) => ({
|
|
494
|
+
label: detection.categories?.[0]?.categoryName || "unknown",
|
|
495
|
+
score: detection.categories?.[0]?.score || 0,
|
|
496
|
+
box: {
|
|
497
|
+
x: detection.boundingBox?.originX || 0,
|
|
498
|
+
y: detection.boundingBox?.originY || 0,
|
|
499
|
+
width: detection.boundingBox?.width || 0,
|
|
500
|
+
height: detection.boundingBox?.height || 0
|
|
482
501
|
}
|
|
483
|
-
|
|
484
|
-
});
|
|
502
|
+
}));
|
|
485
503
|
return {
|
|
486
|
-
|
|
504
|
+
detections
|
|
487
505
|
};
|
|
488
506
|
};
|
|
507
|
+
|
|
508
|
+
// src/provider-tf-mediapipe/common/TFMP_PoseLandmarker.ts
|
|
509
|
+
import { PermanentJobError as PermanentJobError11 } from "@workglow/job-queue";
|
|
489
510
|
var TFMP_PoseLandmarker = async (input, model, onProgress, signal) => {
|
|
490
|
-
const { PoseLandmarker } = await
|
|
511
|
+
const { PoseLandmarker } = await loadTfmpTasksVisionSDK();
|
|
491
512
|
const poseLandmarker = await getModelTask(model, {
|
|
492
513
|
numPoses: input.numPoses,
|
|
493
514
|
minPoseDetectionConfidence: input.minPoseDetectionConfidence,
|
|
@@ -497,7 +518,7 @@ var TFMP_PoseLandmarker = async (input, model, onProgress, signal) => {
|
|
|
497
518
|
}, onProgress, signal, PoseLandmarker);
|
|
498
519
|
const result = poseLandmarker.detect(input.image);
|
|
499
520
|
if (!result.landmarks) {
|
|
500
|
-
throw new
|
|
521
|
+
throw new PermanentJobError11("Failed to detect pose landmarks: Empty result");
|
|
501
522
|
}
|
|
502
523
|
const poses = result.landmarks.map((landmarks, index) => {
|
|
503
524
|
const pose = {
|
|
@@ -530,20 +551,103 @@ var TFMP_PoseLandmarker = async (input, model, onProgress, signal) => {
|
|
|
530
551
|
poses
|
|
531
552
|
};
|
|
532
553
|
};
|
|
533
|
-
|
|
554
|
+
|
|
555
|
+
// src/provider-tf-mediapipe/common/TFMP_TextClassification.ts
|
|
556
|
+
import { PermanentJobError as PermanentJobError12 } from "@workglow/job-queue";
|
|
557
|
+
var TFMP_TextClassification = async (input, model, onProgress, signal) => {
|
|
558
|
+
const { TextClassifier } = await loadTfmpTasksTextSDK();
|
|
559
|
+
const TextClassification = await getModelTask(model, {
|
|
560
|
+
maxCategories: input.maxCategories
|
|
561
|
+
}, onProgress, signal, TextClassifier);
|
|
562
|
+
const result = TextClassification.classify(input.text);
|
|
563
|
+
if (!result.classifications?.[0]?.categories) {
|
|
564
|
+
throw new PermanentJobError12("Failed to classify text: Empty result");
|
|
565
|
+
}
|
|
566
|
+
const categories = result.classifications[0].categories.map((category) => ({
|
|
567
|
+
label: category.categoryName,
|
|
568
|
+
score: category.score
|
|
569
|
+
}));
|
|
570
|
+
return {
|
|
571
|
+
categories
|
|
572
|
+
};
|
|
573
|
+
};
|
|
574
|
+
|
|
575
|
+
// src/provider-tf-mediapipe/common/TFMP_TextEmbedding.ts
|
|
576
|
+
import { PermanentJobError as PermanentJobError13 } from "@workglow/job-queue";
|
|
577
|
+
var TFMP_TextEmbedding = async (input, model, onProgress, signal) => {
|
|
578
|
+
const { TextEmbedder } = await loadTfmpTasksTextSDK();
|
|
579
|
+
const textEmbedder = await getModelTask(model, {}, onProgress, signal, TextEmbedder);
|
|
580
|
+
if (Array.isArray(input.text)) {
|
|
581
|
+
const embeddings = input.text.map((text) => {
|
|
582
|
+
const result2 = textEmbedder.embed(text);
|
|
583
|
+
if (!result2.embeddings?.[0]?.floatEmbedding) {
|
|
584
|
+
throw new PermanentJobError13("Failed to generate embedding: Empty result");
|
|
585
|
+
}
|
|
586
|
+
return Float32Array.from(result2.embeddings[0].floatEmbedding);
|
|
587
|
+
});
|
|
588
|
+
return {
|
|
589
|
+
vector: embeddings
|
|
590
|
+
};
|
|
591
|
+
}
|
|
592
|
+
const result = textEmbedder.embed(input.text);
|
|
593
|
+
if (!result.embeddings?.[0]?.floatEmbedding) {
|
|
594
|
+
throw new PermanentJobError13("Failed to generate embedding: Empty result");
|
|
595
|
+
}
|
|
596
|
+
const embedding = Float32Array.from(result.embeddings[0].floatEmbedding);
|
|
597
|
+
return {
|
|
598
|
+
vector: embedding
|
|
599
|
+
};
|
|
600
|
+
};
|
|
601
|
+
|
|
602
|
+
// src/provider-tf-mediapipe/common/TFMP_TextLanguageDetection.ts
|
|
603
|
+
import { PermanentJobError as PermanentJobError14 } from "@workglow/job-queue";
|
|
604
|
+
var TFMP_TextLanguageDetection = async (input, model, onProgress, signal) => {
|
|
605
|
+
const maxLanguages = input.maxLanguages === 0 ? -1 : input.maxLanguages;
|
|
606
|
+
const { LanguageDetector } = await loadTfmpTasksTextSDK();
|
|
607
|
+
const textLanguageDetector = await getModelTask(model, {
|
|
608
|
+
maxLanguages
|
|
609
|
+
}, onProgress, signal, LanguageDetector);
|
|
610
|
+
const result = textLanguageDetector.detect(input.text);
|
|
611
|
+
if (!result.languages?.[0]?.languageCode) {
|
|
612
|
+
throw new PermanentJobError14("Failed to detect language: Empty result");
|
|
613
|
+
}
|
|
614
|
+
const languages = result.languages.map((language) => ({
|
|
615
|
+
language: language.languageCode,
|
|
616
|
+
score: language.probability
|
|
617
|
+
}));
|
|
618
|
+
return {
|
|
619
|
+
languages
|
|
620
|
+
};
|
|
621
|
+
};
|
|
622
|
+
|
|
623
|
+
// src/provider-tf-mediapipe/common/TFMP_Unload.ts
|
|
624
|
+
var TFMP_Unload = async (input, model, onProgress, _signal) => {
|
|
534
625
|
const model_path = model.provider_config.model_path;
|
|
535
|
-
|
|
626
|
+
onProgress(10, "Unloading model");
|
|
627
|
+
if (modelTaskCache.has(model_path)) {
|
|
628
|
+
const cachedTasks = modelTaskCache.get(model_path);
|
|
629
|
+
for (const cachedTask of cachedTasks) {
|
|
630
|
+
const task = cachedTask.task;
|
|
631
|
+
if ("close" in task && typeof task.close === "function")
|
|
632
|
+
task.close();
|
|
633
|
+
const task_engine = cachedTask.task_engine;
|
|
634
|
+
const currentCount = wasm_reference_counts.get(task_engine) || 0;
|
|
635
|
+
const newCount = currentCount - 1;
|
|
636
|
+
if (newCount <= 0) {
|
|
637
|
+
wasm_tasks.delete(task_engine);
|
|
638
|
+
wasm_reference_counts.delete(task_engine);
|
|
639
|
+
} else {
|
|
640
|
+
wasm_reference_counts.set(task_engine, newCount);
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
modelTaskCache.delete(model_path);
|
|
644
|
+
}
|
|
536
645
|
return {
|
|
537
|
-
model: input.model
|
|
538
|
-
is_local: true,
|
|
539
|
-
is_remote: false,
|
|
540
|
-
supports_browser: true,
|
|
541
|
-
supports_node: false,
|
|
542
|
-
is_cached: is_loaded,
|
|
543
|
-
is_loaded,
|
|
544
|
-
file_sizes: null
|
|
646
|
+
model: input.model
|
|
545
647
|
};
|
|
546
648
|
};
|
|
649
|
+
|
|
650
|
+
// src/provider-tf-mediapipe/common/TFMP_JobRunFns.ts
|
|
547
651
|
var TFMP_TASKS = {
|
|
548
652
|
DownloadModelTask: TFMP_Download,
|
|
549
653
|
UnloadModelTask: TFMP_Unload,
|
|
@@ -559,120 +663,53 @@ var TFMP_TASKS = {
|
|
|
559
663
|
HandLandmarkerTask: TFMP_HandLandmarker,
|
|
560
664
|
FaceDetectorTask: TFMP_FaceDetector,
|
|
561
665
|
FaceLandmarkerTask: TFMP_FaceLandmarker,
|
|
562
|
-
PoseLandmarkerTask: TFMP_PoseLandmarker
|
|
563
|
-
|
|
564
|
-
// src/tf-mediapipe/common/TFMP_ModelSchema.ts
|
|
565
|
-
import { ModelConfigSchema, ModelRecordSchema } from "@workglow/ai";
|
|
566
|
-
var TFMPModelSchema = {
|
|
567
|
-
type: "object",
|
|
568
|
-
properties: {
|
|
569
|
-
provider: {
|
|
570
|
-
const: TENSORFLOW_MEDIAPIPE,
|
|
571
|
-
description: "Discriminator: TensorFlow MediaPipe backend."
|
|
572
|
-
},
|
|
573
|
-
provider_config: {
|
|
574
|
-
type: "object",
|
|
575
|
-
description: "TensorFlow MediaPipe-specific options.",
|
|
576
|
-
properties: {
|
|
577
|
-
model_path: {
|
|
578
|
-
type: "string",
|
|
579
|
-
description: "Filesystem path or URI for the ONNX model."
|
|
580
|
-
},
|
|
581
|
-
task_engine: {
|
|
582
|
-
type: "string",
|
|
583
|
-
enum: ["text", "audio", "vision", "genai"],
|
|
584
|
-
description: "Task engine for the MediaPipe model."
|
|
585
|
-
},
|
|
586
|
-
pipeline: {
|
|
587
|
-
type: "string",
|
|
588
|
-
enum: Object.values(TextPipelineTask),
|
|
589
|
-
description: "Pipeline task type for the MediaPipe model."
|
|
590
|
-
}
|
|
591
|
-
},
|
|
592
|
-
required: ["model_path", "task_engine", "pipeline"],
|
|
593
|
-
additionalProperties: false
|
|
594
|
-
}
|
|
595
|
-
},
|
|
596
|
-
required: ["provider", "provider_config"],
|
|
597
|
-
additionalProperties: true
|
|
666
|
+
PoseLandmarkerTask: TFMP_PoseLandmarker,
|
|
667
|
+
ModelSearchTask: TFMP_ModelSearch
|
|
598
668
|
};
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
669
|
+
|
|
670
|
+
// src/provider-tf-mediapipe/TensorFlowMediaPipeQueuedProvider.ts
|
|
671
|
+
import { QueuedAiProvider } from "@workglow/ai";
|
|
672
|
+
class TensorFlowMediaPipeQueuedProvider extends QueuedAiProvider {
|
|
673
|
+
name = TENSORFLOW_MEDIAPIPE;
|
|
674
|
+
isLocal = true;
|
|
675
|
+
supportsBrowser = true;
|
|
676
|
+
taskTypes = TFMP_DEFAULT_TASK_TYPES;
|
|
677
|
+
constructor(tasks, reactiveTasks) {
|
|
678
|
+
super(tasks, undefined, reactiveTasks);
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
// src/provider-tf-mediapipe/registerTensorFlowMediaPipeInline.ts
|
|
683
|
+
async function registerTensorFlowMediaPipeInline(options) {
|
|
684
|
+
await new TensorFlowMediaPipeQueuedProvider(TFMP_TASKS).register(options ?? {});
|
|
685
|
+
}
|
|
686
|
+
// src/provider-tf-mediapipe/registerTensorFlowMediaPipeWorker.ts
|
|
687
|
+
import { getLogger, globalServiceRegistry, WORKER_SERVER } from "@workglow/util/worker";
|
|
688
|
+
|
|
689
|
+
// src/provider-tf-mediapipe/TensorFlowMediaPipeProvider.ts
|
|
690
|
+
import { AiProvider } from "@workglow/ai/worker";
|
|
619
691
|
class TensorFlowMediaPipeProvider extends AiProvider {
|
|
620
692
|
name = TENSORFLOW_MEDIAPIPE;
|
|
621
693
|
isLocal = true;
|
|
622
694
|
supportsBrowser = true;
|
|
623
|
-
taskTypes =
|
|
624
|
-
"DownloadModelTask",
|
|
625
|
-
"UnloadModelTask",
|
|
626
|
-
"ModelInfoTask",
|
|
627
|
-
"TextEmbeddingTask",
|
|
628
|
-
"TextLanguageDetectionTask",
|
|
629
|
-
"TextClassificationTask",
|
|
630
|
-
"ImageSegmentationTask",
|
|
631
|
-
"ImageEmbeddingTask",
|
|
632
|
-
"ImageClassificationTask",
|
|
633
|
-
"ObjectDetectionTask",
|
|
634
|
-
"GestureRecognizerTask",
|
|
635
|
-
"HandLandmarkerTask",
|
|
636
|
-
"FaceDetectorTask",
|
|
637
|
-
"FaceLandmarkerTask",
|
|
638
|
-
"PoseLandmarkerTask"
|
|
639
|
-
];
|
|
695
|
+
taskTypes = TFMP_DEFAULT_TASK_TYPES;
|
|
640
696
|
constructor(tasks, reactiveTasks) {
|
|
641
697
|
super(tasks, undefined, reactiveTasks);
|
|
642
698
|
}
|
|
643
699
|
}
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
function
|
|
700
|
+
|
|
701
|
+
// src/provider-tf-mediapipe/registerTensorFlowMediaPipeWorker.ts
|
|
702
|
+
async function registerTensorFlowMediaPipeWorker() {
|
|
647
703
|
const workerServer = globalServiceRegistry.get(WORKER_SERVER);
|
|
648
704
|
new TensorFlowMediaPipeProvider(TFMP_TASKS).registerOnWorkerServer(workerServer);
|
|
649
705
|
workerServer.sendReady();
|
|
650
|
-
getLogger().info("
|
|
706
|
+
getLogger().info("TensorFlow MediaPipe worker job run functions registered");
|
|
651
707
|
}
|
|
652
708
|
export {
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
TFMP_TextLanguageDetection,
|
|
658
|
-
TFMP_TextEmbedding,
|
|
659
|
-
TFMP_TextClassification,
|
|
660
|
-
TFMP_TASKS,
|
|
661
|
-
TFMP_PoseLandmarker,
|
|
662
|
-
TFMP_ObjectDetection,
|
|
663
|
-
TFMP_ModelInfo,
|
|
664
|
-
TFMP_ImageSegmentation,
|
|
665
|
-
TFMP_ImageEmbedding,
|
|
666
|
-
TFMP_ImageClassification,
|
|
667
|
-
TFMP_HandLandmarker,
|
|
668
|
-
TFMP_GestureRecognizer,
|
|
669
|
-
TFMP_FaceLandmarker,
|
|
670
|
-
TFMP_FaceDetector,
|
|
671
|
-
TFMP_Download,
|
|
672
|
-
TFMPModelSchema,
|
|
673
|
-
TFMPModelRecordSchema,
|
|
674
|
-
TFMPModelConfigSchema,
|
|
675
|
-
TENSORFLOW_MEDIAPIPE
|
|
709
|
+
registerTensorFlowMediaPipeWorker,
|
|
710
|
+
registerTensorFlowMediaPipeInline,
|
|
711
|
+
loadTfmpTasksVisionSDK,
|
|
712
|
+
loadTfmpTasksTextSDK
|
|
676
713
|
};
|
|
677
714
|
|
|
678
|
-
//# debugId=
|
|
715
|
+
//# debugId=B31D98746E6C8CAF64756E2164756E21
|