@workglow/ai-provider 0.0.121 → 0.0.123
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 +25 -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} +1564 -928
- 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 +28 -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.browser.d.ts +10 -0
- package/dist/provider-openai/common/OpenAI_CountTokens.browser.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.browser.d.ts +12 -0
- package/dist/provider-openai/common/OpenAI_JobRunFns.browser.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.browser.d.ts +9 -0
- package/dist/provider-openai/index.browser.d.ts.map +1 -0
- package/dist/{index-q2t627d5.js → provider-openai/index.browser.js} +26 -9
- package/dist/provider-openai/index.browser.js.map +13 -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.browser.d.ts +8 -0
- package/dist/provider-openai/registerOpenAiInline.browser.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/provider-openai/registerOpenAiWorker.browser.d.ts +7 -0
- package/dist/provider-openai/registerOpenAiWorker.browser.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.browser.d.ts +15 -0
- package/dist/provider-openai/runtime.browser.d.ts.map +1 -0
- package/dist/provider-openai/runtime.browser.js +647 -0
- package/dist/provider-openai/runtime.browser.js.map +25 -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 +341 -409
- 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 +74 -41
- 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.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
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/provider-tf-mediapipe/common/TFMP_Client.ts", "../src/provider-tf-mediapipe/common/TFMP_Constants.ts", "../src/provider-tf-mediapipe/common/TFMP_ModelSearch.ts", "../src/provider-tf-mediapipe/common/TFMP_Download.ts", "../src/provider-tf-mediapipe/common/TFMP_Runtime.ts", "../src/provider-tf-mediapipe/common/TFMP_FaceDetector.ts", "../src/provider-tf-mediapipe/common/TFMP_FaceLandmarker.ts", "../src/provider-tf-mediapipe/common/TFMP_GestureRecognizer.ts", "../src/provider-tf-mediapipe/common/TFMP_HandLandmarker.ts", "../src/provider-tf-mediapipe/common/TFMP_ImageClassification.ts", "../src/provider-tf-mediapipe/common/TFMP_ImageEmbedding.ts", "../src/provider-tf-mediapipe/common/TFMP_ImageSegmentation.ts", "../src/provider-tf-mediapipe/common/TFMP_ModelInfo.ts", "../src/provider-tf-mediapipe/common/TFMP_ObjectDetection.ts", "../src/provider-tf-mediapipe/common/TFMP_PoseLandmarker.ts", "../src/provider-tf-mediapipe/common/TFMP_TextClassification.ts", "../src/provider-tf-mediapipe/common/TFMP_TextEmbedding.ts", "../src/provider-tf-mediapipe/common/TFMP_TextLanguageDetection.ts", "../src/provider-tf-mediapipe/common/TFMP_Unload.ts", "../src/provider-tf-mediapipe/common/TFMP_JobRunFns.ts", "../src/provider-tf-mediapipe/TensorFlowMediaPipeQueuedProvider.ts", "../src/provider-tf-mediapipe/registerTensorFlowMediaPipeInline.ts", "../src/provider-tf-mediapipe/registerTensorFlowMediaPipeWorker.ts", "../src/provider-tf-mediapipe/TensorFlowMediaPipeProvider.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nlet _tasksText: typeof import(\"@mediapipe/tasks-text\") | undefined;\nlet _tasksVision: typeof import(\"@mediapipe/tasks-vision\") | undefined;\n\nexport async function loadTfmpTasksTextSDK() {\n if (!_tasksText) {\n try {\n _tasksText = await import(\"@mediapipe/tasks-text\");\n } catch {\n throw new Error(\n \"@mediapipe/tasks-text is required for TensorFlow MediaPipe text (and related) tasks. Install with: bun add @mediapipe/tasks-text\"\n );\n }\n }\n return _tasksText;\n}\n\nexport async function loadTfmpTasksVisionSDK() {\n if (!_tasksVision) {\n try {\n _tasksVision = await import(\"@mediapipe/tasks-vision\");\n } catch {\n throw new Error(\n \"@mediapipe/tasks-vision is required for TensorFlow MediaPipe vision tasks. Install with: bun add @mediapipe/tasks-vision\"\n );\n }\n }\n return _tasksVision;\n}\n",
|
|
6
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const TENSORFLOW_MEDIAPIPE = \"TENSORFLOW_MEDIAPIPE\";\n\nexport const TFMP_DEFAULT_TASK_TYPES = [\n \"DownloadModelTask\",\n \"UnloadModelTask\",\n \"ModelInfoTask\",\n \"TextEmbeddingTask\",\n \"TextLanguageDetectionTask\",\n \"TextClassificationTask\",\n \"ImageSegmentationTask\",\n \"ImageEmbeddingTask\",\n \"ImageClassificationTask\",\n \"ObjectDetectionTask\",\n \"GestureRecognizerTask\",\n \"HandLandmarkerTask\",\n \"FaceDetectorTask\",\n \"FaceLandmarkerTask\",\n \"PoseLandmarkerTask\",\n \"ModelSearchTask\",\n] as const;\n\nexport type TextPipelineTask =\n | \"text-embedder\"\n | \"text-classifier\"\n | \"text-language-detector\"\n | \"genai-text\"\n | \"audio-classifier\"\n | \"audio-embedder\"\n | \"vision-face-detector\"\n | \"vision-face-landmarker\"\n | \"vision-face-stylizer\"\n | \"vision-gesture-recognizer\"\n | \"vision-hand-landmarker\"\n | \"vision-holistic-landmarker\"\n | \"vision-image-classifier\"\n | \"vision-image-embedder\"\n | \"vision-image-segmenter\"\n | \"vision-image-interactive-segmenter\"\n | \"vision-object-detector\"\n | \"vision-pose-landmarker\";\n\nexport const TextPipelineTask = {\n \"text-embedder\": \"text-embedder\",\n \"text-classifier\": \"text-classifier\",\n \"text-language-detector\": \"text-language-detector\",\n \"genai-text\": \"genai-text\",\n \"audio-classifier\": \"audio-classifier\",\n \"audio-embedder\": \"audio-embedder\",\n \"vision-face-detector\": \"vision-face-detector\",\n \"vision-face-landmarker\": \"vision-face-landmarker\",\n \"vision-face-stylizer\": \"vision-face-stylizer\",\n \"vision-gesture-recognizer\": \"vision-gesture-recognizer\",\n \"vision-hand-landmarker\": \"vision-hand-landmarker\",\n \"vision-holistic-landmarker\": \"vision-holistic-landmarker\",\n \"vision-image-classifier\": \"vision-image-classifier\",\n \"vision-image-embedder\": \"vision-image-embedder\",\n \"vision-image-segmenter\": \"vision-image-segmenter\",\n \"vision-image-interactive-segmenter\": \"vision-image-interactive-segmenter\",\n \"vision-object-detector\": \"vision-object-detector\",\n \"vision-pose-landmarker\": \"vision-pose-landmarker\",\n} as const satisfies Record<TextPipelineTask, TextPipelineTask>;\n",
|
|
7
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n ModelSearchResultItem,\n ModelSearchTaskInput,\n ModelSearchTaskOutput,\n} from \"@workglow/ai\";\nimport { TENSORFLOW_MEDIAPIPE } from \"./TFMP_Constants\";\n\nconst TFMP_MODELS: Array<{ label: string; value: string }> = [\n { label: \"text-embedder Universal Sentence Encoder\", value: \"text-embedder\" },\n];\n\nexport function createTFMPModelSearch(\n providerId: string\n): AiProviderRunFn<ModelSearchTaskInput, ModelSearchTaskOutput> {\n return async () => {\n const results: ModelSearchResultItem[] = TFMP_MODELS.map((m) => ({\n id: m.value,\n label: m.label,\n description: \"\",\n record: {\n model_id: m.value,\n provider: providerId,\n title: m.value,\n description: \"\",\n tasks: [],\n provider_config: { model_path: m.value },\n metadata: {},\n },\n raw: m,\n }));\n return { results };\n };\n}\n\nexport const TFMP_ModelSearch: AiProviderRunFn<ModelSearchTaskInput, ModelSearchTaskOutput> =\n createTFMPModelSearch(TENSORFLOW_MEDIAPIPE);\n",
|
|
8
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n DownloadModelTaskRunInput,\n DownloadModelTaskRunOutput,\n} from \"@workglow/ai\";\nimport { PermanentJobError } from \"@workglow/job-queue\";\nimport { loadTfmpTasksTextSDK, loadTfmpTasksVisionSDK } from \"./TFMP_Client\";\nimport { TFMPModelConfig } from \"./TFMP_ModelSchema\";\nimport { getModelTask, type TaskInstance, wasm_reference_counts } from \"./TFMP_Runtime\";\n\nexport const TFMP_Download: AiProviderRunFn<\n DownloadModelTaskRunInput,\n DownloadModelTaskRunOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n let task: TaskInstance;\n switch (model?.provider_config.pipeline) {\n case \"text-embedder\": {\n const { TextEmbedder } = await loadTfmpTasksTextSDK();\n task = await getModelTask(model, {}, onProgress, signal, TextEmbedder);\n break;\n }\n case \"text-classifier\": {\n const { TextClassifier } = await loadTfmpTasksTextSDK();\n task = await getModelTask(model, {}, onProgress, signal, TextClassifier);\n break;\n }\n case \"text-language-detector\": {\n const { LanguageDetector } = await loadTfmpTasksTextSDK();\n task = await getModelTask(model, {}, onProgress, signal, LanguageDetector);\n break;\n }\n case \"vision-image-classifier\": {\n const { ImageClassifier } = await loadTfmpTasksVisionSDK();\n task = await getModelTask(model, {}, onProgress, signal, ImageClassifier);\n break;\n }\n case \"vision-image-embedder\": {\n const { ImageEmbedder } = await loadTfmpTasksVisionSDK();\n task = await getModelTask(model, {}, onProgress, signal, ImageEmbedder);\n break;\n }\n case \"vision-image-segmenter\": {\n const { ImageSegmenter } = await loadTfmpTasksVisionSDK();\n task = await getModelTask(model, {}, onProgress, signal, ImageSegmenter);\n break;\n }\n case \"vision-object-detector\": {\n const { ObjectDetector } = await loadTfmpTasksVisionSDK();\n task = await getModelTask(model, {}, onProgress, signal, ObjectDetector);\n break;\n }\n case \"vision-face-detector\": {\n const { FaceDetector } = await loadTfmpTasksVisionSDK();\n task = await getModelTask(model, {}, onProgress, signal, FaceDetector);\n break;\n }\n case \"vision-face-landmarker\": {\n const { FaceLandmarker } = await loadTfmpTasksVisionSDK();\n task = await getModelTask(model, {}, onProgress, signal, FaceLandmarker);\n break;\n }\n case \"vision-gesture-recognizer\": {\n const { GestureRecognizer } = await loadTfmpTasksVisionSDK();\n task = await getModelTask(model, {}, onProgress, signal, GestureRecognizer);\n break;\n }\n case \"vision-hand-landmarker\": {\n const { HandLandmarker } = await loadTfmpTasksVisionSDK();\n task = await getModelTask(model, {}, onProgress, signal, HandLandmarker);\n break;\n }\n case \"vision-pose-landmarker\": {\n const { PoseLandmarker } = await loadTfmpTasksVisionSDK();\n task = await getModelTask(model, {}, onProgress, signal, PoseLandmarker);\n break;\n }\n default:\n throw new PermanentJobError(\n `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`\n );\n }\n onProgress(0.9, \"Pipeline loaded\");\n task.close();\n const task_engine = model?.provider_config.task_engine;\n wasm_reference_counts.set(task_engine, wasm_reference_counts.get(task_engine)! - 1);\n\n return {\n model: input.model,\n };\n};\n",
|
|
9
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { PermanentJobError } from \"@workglow/job-queue\";\nimport { loadTfmpTasksTextSDK, loadTfmpTasksVisionSDK } from \"./TFMP_Client\";\nimport { TFMPModelConfig } from \"./TFMP_ModelSchema\";\n\nexport interface TFMPWasmFileset {\n readonly wasmLoaderPath: string;\n readonly wasmBinaryPath: string;\n readonly assetLoaderPath?: string;\n readonly assetBinaryPath?: string;\n}\n\nexport const wasm_tasks = new Map<string, TFMPWasmFileset>();\nexport const wasm_reference_counts = new Map<string, number>();\n\ntype TaskConstructor = {\n createFromOptions(wasmFileset: TFMPWasmFileset, options: Record<string, unknown>): Promise<any>;\n};\n\nexport type TaskInstance = {\n close(): void;\n [key: string]: any;\n};\n\nexport interface CachedModelTask {\n readonly task: TaskInstance;\n readonly options: Record<string, unknown>;\n readonly task_engine: string;\n}\n\nexport const modelTaskCache = new Map<string, CachedModelTask[]>();\n\nconst optionsMatch = (opts1: Record<string, unknown>, opts2: Record<string, unknown>): boolean => {\n const keys1 = Object.keys(opts1).sort();\n const keys2 = Object.keys(opts2).sort();\n\n if (keys1.length !== keys2.length) return false;\n\n return keys1.every((key) => {\n const val1 = opts1[key];\n const val2 = opts2[key];\n\n if (Array.isArray(val1) && Array.isArray(val2)) {\n return JSON.stringify(val1) === JSON.stringify(val2);\n }\n\n return val1 === val2;\n });\n};\n\nconst getWasmTask = async (\n model: TFMPModelConfig,\n onProgress: (progress: number, message?: string, details?: any) => void,\n signal: AbortSignal\n): Promise<TFMPWasmFileset> => {\n const task_engine = model.provider_config.task_engine;\n\n if (wasm_tasks.has(task_engine)) {\n return wasm_tasks.get(task_engine)!;\n }\n\n if (signal.aborted) {\n throw new PermanentJobError(\"Aborted job\");\n }\n\n onProgress(0.1, \"Loading WASM task\");\n\n let wasmFileset: TFMPWasmFileset;\n\n switch (task_engine) {\n case \"vision\": {\n const { FilesetResolver } = await loadTfmpTasksVisionSDK();\n wasmFileset = await FilesetResolver.forVisionTasks(\n \"https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@latest/wasm\"\n );\n break;\n }\n case \"text\": {\n const { FilesetResolver } = await loadTfmpTasksTextSDK();\n wasmFileset = await FilesetResolver.forTextTasks(\n \"https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/wasm\"\n );\n break;\n }\n case \"audio\": {\n const { FilesetResolver } = await loadTfmpTasksTextSDK();\n wasmFileset = await FilesetResolver.forAudioTasks(\n \"https://cdn.jsdelivr.net/npm/@mediapipe/tasks-audio@latest/wasm\"\n );\n break;\n }\n case \"genai\": {\n const { FilesetResolver } = await loadTfmpTasksTextSDK();\n wasmFileset = await FilesetResolver.forGenAiTasks(\n \"https://cdn.jsdelivr.net/npm/@mediapipe/tasks-genai@latest/wasm\"\n );\n break;\n }\n default:\n throw new PermanentJobError(\"Invalid task engine\");\n }\n\n wasm_tasks.set(task_engine, wasmFileset);\n return wasmFileset;\n};\n\nexport const getModelTask = async (\n model: TFMPModelConfig,\n options: Record<string, unknown>,\n onProgress: (progress: number, message?: string, details?: any) => void,\n signal: AbortSignal,\n TaskType: TaskConstructor\n): Promise<any> => {\n const model_path = model.provider_config.model_path;\n const task_engine = model.provider_config.task_engine;\n\n const cachedTasks = modelTaskCache.get(model_path);\n if (cachedTasks) {\n const matchedTask = cachedTasks.find((cached) => optionsMatch(cached.options, options));\n if (matchedTask) {\n return matchedTask.task;\n }\n }\n\n const wasmFileset = await getWasmTask(model, onProgress, signal);\n\n onProgress(0.2, \"Creating model task\");\n\n const task = await (TaskType as any).createFromOptions(wasmFileset, {\n baseOptions: {\n modelAssetPath: model_path,\n },\n ...options,\n });\n\n const cachedTask: CachedModelTask = { task, options, task_engine };\n if (!modelTaskCache.has(model_path)) {\n modelTaskCache.set(model_path, []);\n }\n modelTaskCache.get(model_path)!.push(cachedTask);\n\n wasm_reference_counts.set(task_engine, (wasm_reference_counts.get(task_engine) || 0) + 1);\n\n return task;\n};\n",
|
|
10
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRunFn, FaceDetectorTaskInput, FaceDetectorTaskOutput } from \"@workglow/ai\";\nimport { PermanentJobError } from \"@workglow/job-queue\";\nimport { loadTfmpTasksVisionSDK } from \"./TFMP_Client\";\nimport { TFMPModelConfig } from \"./TFMP_ModelSchema\";\nimport { getModelTask } from \"./TFMP_Runtime\";\n\nexport const TFMP_FaceDetector: AiProviderRunFn<\n FaceDetectorTaskInput,\n FaceDetectorTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const { FaceDetector } = await loadTfmpTasksVisionSDK();\n const faceDetector = await getModelTask(\n model!,\n {\n minDetectionConfidence: (input as any).minDetectionConfidence,\n minSuppressionThreshold: (input as any).minSuppressionThreshold,\n },\n onProgress,\n signal,\n FaceDetector\n );\n const result = faceDetector.detect(input.image as any);\n\n if (!result.detections) {\n throw new PermanentJobError(\"Failed to detect faces: Empty result\");\n }\n\n const faces = result.detections.map((detection: any) => ({\n box: {\n x: detection.boundingBox?.originX || 0,\n y: detection.boundingBox?.originY || 0,\n width: detection.boundingBox?.width || 0,\n height: detection.boundingBox?.height || 0,\n },\n keypoints:\n detection.keypoints?.map((kp: any) => ({\n x: kp.x,\n y: kp.y,\n label: kp.label,\n })) || [],\n score: detection.categories?.[0]?.score || 0,\n }));\n\n return {\n faces,\n };\n};\n",
|
|
11
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n FaceLandmarkerTaskInput,\n FaceLandmarkerTaskOutput,\n} from \"@workglow/ai\";\nimport { PermanentJobError } from \"@workglow/job-queue\";\nimport { loadTfmpTasksVisionSDK } from \"./TFMP_Client\";\nimport { TFMPModelConfig } from \"./TFMP_ModelSchema\";\nimport { getModelTask } from \"./TFMP_Runtime\";\n\nexport const TFMP_FaceLandmarker: AiProviderRunFn<\n FaceLandmarkerTaskInput,\n FaceLandmarkerTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const { FaceLandmarker } = await loadTfmpTasksVisionSDK();\n const faceLandmarker = await getModelTask(\n model!,\n {\n numFaces: (input as any).numFaces,\n minFaceDetectionConfidence: (input as any).minFaceDetectionConfidence,\n minFacePresenceConfidence: (input as any).minFacePresenceConfidence,\n minTrackingConfidence: (input as any).minTrackingConfidence,\n outputFaceBlendshapes: (input as any).outputFaceBlendshapes,\n outputFacialTransformationMatrixes: (input as any).outputFacialTransformationMatrixes,\n },\n onProgress,\n signal,\n FaceLandmarker\n );\n const result = faceLandmarker.detect(input.image as any);\n\n if (!result.faceLandmarks) {\n throw new PermanentJobError(\"Failed to detect face landmarks: Empty result\");\n }\n\n const faces = result.faceLandmarks.map((landmarks: any, index: number) => {\n const face: any = {\n landmarks: landmarks.map((l: any) => ({\n x: l.x,\n y: l.y,\n z: l.z,\n })),\n };\n\n if (result.faceBlendshapes && result.faceBlendshapes[index]) {\n face.blendshapes = result.faceBlendshapes[index].categories.map((b: any) => ({\n label: b.categoryName,\n score: b.score,\n }));\n }\n\n if (result.facialTransformationMatrixes && result.facialTransformationMatrixes[index]) {\n face.transformationMatrix = Array.from(result.facialTransformationMatrixes[index].data);\n }\n\n return face;\n });\n\n return {\n faces,\n };\n};\n",
|
|
12
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n GestureRecognizerTaskInput,\n GestureRecognizerTaskOutput,\n} from \"@workglow/ai\";\nimport { PermanentJobError } from \"@workglow/job-queue\";\nimport { loadTfmpTasksVisionSDK } from \"./TFMP_Client\";\nimport { TFMPModelConfig } from \"./TFMP_ModelSchema\";\nimport { getModelTask } from \"./TFMP_Runtime\";\n\nexport const TFMP_GestureRecognizer: AiProviderRunFn<\n GestureRecognizerTaskInput,\n GestureRecognizerTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const { GestureRecognizer } = await loadTfmpTasksVisionSDK();\n const gestureRecognizer = await getModelTask(\n model!,\n {\n numHands: (input as any).numHands,\n minHandDetectionConfidence: (input as any).minHandDetectionConfidence,\n minHandPresenceConfidence: (input as any).minHandPresenceConfidence,\n minTrackingConfidence: (input as any).minTrackingConfidence,\n },\n onProgress,\n signal,\n GestureRecognizer\n );\n const result = gestureRecognizer.recognize(input.image as any);\n\n if (!result.gestures || !result.landmarks) {\n throw new PermanentJobError(\"Failed to recognize gestures: Empty result\");\n }\n\n const hands = result.gestures.map((gestures: any, index: number) => ({\n gestures: gestures.map((g: any) => ({\n label: g.categoryName,\n score: g.score,\n })),\n handedness: result.handedness[index].map((h: any) => ({\n label: h.categoryName,\n score: h.score,\n })),\n landmarks: result.landmarks[index].map((l: any) => ({\n x: l.x,\n y: l.y,\n z: l.z,\n })),\n worldLandmarks: result.worldLandmarks[index].map((l: any) => ({\n x: l.x,\n y: l.y,\n z: l.z,\n })),\n }));\n\n return {\n hands,\n };\n};\n",
|
|
13
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n HandLandmarkerTaskInput,\n HandLandmarkerTaskOutput,\n} from \"@workglow/ai\";\nimport { PermanentJobError } from \"@workglow/job-queue\";\nimport { loadTfmpTasksVisionSDK } from \"./TFMP_Client\";\nimport { TFMPModelConfig } from \"./TFMP_ModelSchema\";\nimport { getModelTask } from \"./TFMP_Runtime\";\n\nexport const TFMP_HandLandmarker: AiProviderRunFn<\n HandLandmarkerTaskInput,\n HandLandmarkerTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const { HandLandmarker } = await loadTfmpTasksVisionSDK();\n const handLandmarker = await getModelTask(\n model!,\n {\n numHands: (input as any).numHands,\n minHandDetectionConfidence: (input as any).minHandDetectionConfidence,\n minHandPresenceConfidence: (input as any).minHandPresenceConfidence,\n minTrackingConfidence: (input as any).minTrackingConfidence,\n },\n onProgress,\n signal,\n HandLandmarker\n );\n const result = handLandmarker.detect(input.image as any);\n\n if (!result.landmarks) {\n throw new PermanentJobError(\"Failed to detect hand landmarks: Empty result\");\n }\n\n const hands = result.landmarks.map((landmarks: any, index: number) => ({\n handedness: result.handedness[index].map((h: any) => ({\n label: h.categoryName,\n score: h.score,\n })),\n landmarks: landmarks.map((l: any) => ({\n x: l.x,\n y: l.y,\n z: l.z,\n })),\n worldLandmarks: result.worldLandmarks[index].map((l: any) => ({\n x: l.x,\n y: l.y,\n z: l.z,\n })),\n }));\n\n return {\n hands,\n };\n};\n",
|
|
14
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n ImageClassificationTaskInput,\n ImageClassificationTaskOutput,\n} from \"@workglow/ai\";\nimport { PermanentJobError } from \"@workglow/job-queue\";\nimport { loadTfmpTasksVisionSDK } from \"./TFMP_Client\";\nimport { TFMPModelConfig } from \"./TFMP_ModelSchema\";\nimport { getModelTask } from \"./TFMP_Runtime\";\n\nexport const TFMP_ImageClassification: AiProviderRunFn<\n ImageClassificationTaskInput,\n ImageClassificationTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const { ImageClassifier } = await loadTfmpTasksVisionSDK();\n const imageClassifier = await getModelTask(\n model!,\n {\n maxResults: (input as any).maxCategories,\n },\n onProgress,\n signal,\n ImageClassifier\n );\n const result = imageClassifier.classify(input.image as any);\n\n if (!result.classifications?.[0]?.categories) {\n throw new PermanentJobError(\"Failed to classify image: Empty result\");\n }\n\n const categories = result.classifications[0].categories.map((category: any) => ({\n label: category.categoryName,\n score: category.score,\n }));\n\n return {\n categories,\n };\n};\n",
|
|
15
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n ImageEmbeddingTaskInput,\n ImageEmbeddingTaskOutput,\n} from \"@workglow/ai\";\nimport { PermanentJobError } from \"@workglow/job-queue\";\nimport { loadTfmpTasksVisionSDK } from \"./TFMP_Client\";\nimport { TFMPModelConfig } from \"./TFMP_ModelSchema\";\nimport { getModelTask } from \"./TFMP_Runtime\";\n\nexport const TFMP_ImageEmbedding: AiProviderRunFn<\n ImageEmbeddingTaskInput,\n ImageEmbeddingTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const { ImageEmbedder } = await loadTfmpTasksVisionSDK();\n const imageEmbedder = await getModelTask(model!, {}, onProgress, signal, ImageEmbedder);\n const result = imageEmbedder.embed(input.image as any);\n\n if (!result.embeddings?.[0]?.floatEmbedding) {\n throw new PermanentJobError(\"Failed to generate embedding: Empty result\");\n }\n\n const embedding = Float32Array.from(result.embeddings[0].floatEmbedding);\n\n return {\n vector: embedding,\n } as ImageEmbeddingTaskOutput;\n};\n",
|
|
16
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n ImageSegmentationTaskInput,\n ImageSegmentationTaskOutput,\n} from \"@workglow/ai\";\nimport { PermanentJobError } from \"@workglow/job-queue\";\nimport { loadTfmpTasksVisionSDK } from \"./TFMP_Client\";\nimport { TFMPModelConfig } from \"./TFMP_ModelSchema\";\nimport { getModelTask } from \"./TFMP_Runtime\";\n\nexport const TFMP_ImageSegmentation: AiProviderRunFn<\n ImageSegmentationTaskInput,\n ImageSegmentationTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const { ImageSegmenter } = await loadTfmpTasksVisionSDK();\n const imageSegmenter = await getModelTask(model!, {}, onProgress, signal, ImageSegmenter);\n const result = imageSegmenter.segment(input.image as any);\n\n if (!result.categoryMask) {\n throw new PermanentJobError(\"Failed to segment image: Empty result\");\n }\n\n const masks = [\n {\n label: \"segment\",\n score: 1.0,\n mask: {\n data: result.categoryMask.canvas,\n width: result.categoryMask.width,\n height: result.categoryMask.height,\n },\n },\n ];\n\n return {\n masks,\n };\n};\n",
|
|
17
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRunFn, ModelInfoTaskInput, ModelInfoTaskOutput } from \"@workglow/ai\";\nimport { TFMPModelConfig } from \"./TFMP_ModelSchema\";\nimport { modelTaskCache } from \"./TFMP_Runtime\";\n\nexport const TFMP_ModelInfo: AiProviderRunFn<\n ModelInfoTaskInput,\n ModelInfoTaskOutput,\n TFMPModelConfig\n> = async (input, model) => {\n const model_path = model!.provider_config.model_path;\n const is_loaded = modelTaskCache.has(model_path);\n\n return {\n model: input.model,\n is_local: true,\n is_remote: false,\n supports_browser: true,\n supports_node: false,\n is_cached: is_loaded,\n is_loaded,\n file_sizes: null,\n };\n};\n",
|
|
18
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n ObjectDetectionTaskInput,\n ObjectDetectionTaskOutput,\n} from \"@workglow/ai\";\nimport { PermanentJobError } from \"@workglow/job-queue\";\nimport { loadTfmpTasksVisionSDK } from \"./TFMP_Client\";\nimport { TFMPModelConfig } from \"./TFMP_ModelSchema\";\nimport { getModelTask } from \"./TFMP_Runtime\";\n\nexport const TFMP_ObjectDetection: AiProviderRunFn<\n ObjectDetectionTaskInput,\n ObjectDetectionTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const { ObjectDetector } = await loadTfmpTasksVisionSDK();\n const objectDetector = await getModelTask(\n model!,\n {\n scoreThreshold: (input as any).threshold,\n },\n onProgress,\n signal,\n ObjectDetector\n );\n const result = objectDetector.detect(input.image as any);\n\n if (!result.detections) {\n throw new PermanentJobError(\"Failed to detect objects: Empty result\");\n }\n\n const detections = result.detections.map((detection: any) => ({\n label: detection.categories?.[0]?.categoryName || \"unknown\",\n score: detection.categories?.[0]?.score || 0,\n box: {\n x: detection.boundingBox?.originX || 0,\n y: detection.boundingBox?.originY || 0,\n width: detection.boundingBox?.width || 0,\n height: detection.boundingBox?.height || 0,\n },\n }));\n\n return {\n detections,\n };\n};\n",
|
|
19
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n PoseLandmarkerTaskInput,\n PoseLandmarkerTaskOutput,\n} from \"@workglow/ai\";\nimport { PermanentJobError } from \"@workglow/job-queue\";\nimport { loadTfmpTasksVisionSDK } from \"./TFMP_Client\";\nimport { TFMPModelConfig } from \"./TFMP_ModelSchema\";\nimport { getModelTask } from \"./TFMP_Runtime\";\n\nexport const TFMP_PoseLandmarker: AiProviderRunFn<\n PoseLandmarkerTaskInput,\n PoseLandmarkerTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const { PoseLandmarker } = await loadTfmpTasksVisionSDK();\n const poseLandmarker = await getModelTask(\n model!,\n {\n numPoses: (input as any).numPoses,\n minPoseDetectionConfidence: (input as any).minPoseDetectionConfidence,\n minPosePresenceConfidence: (input as any).minPosePresenceConfidence,\n minTrackingConfidence: (input as any).minTrackingConfidence,\n outputSegmentationMasks: (input as any).outputSegmentationMasks,\n },\n onProgress,\n signal,\n PoseLandmarker\n );\n const result = poseLandmarker.detect(input.image as any);\n\n if (!result.landmarks) {\n throw new PermanentJobError(\"Failed to detect pose landmarks: Empty result\");\n }\n\n const poses = result.landmarks.map((landmarks: any, index: number) => {\n const pose: any = {\n landmarks: landmarks.map((l: any) => ({\n x: l.x,\n y: l.y,\n z: l.z,\n visibility: l.visibility,\n presence: l.presence,\n })),\n worldLandmarks: result.worldLandmarks[index].map((l: any) => ({\n x: l.x,\n y: l.y,\n z: l.z,\n visibility: l.visibility,\n presence: l.presence,\n })),\n };\n\n if (result.segmentationMasks && result.segmentationMasks[index]) {\n const mask = result.segmentationMasks[index];\n pose.segmentationMask = {\n data: mask.canvas || mask,\n width: mask.width,\n height: mask.height,\n };\n }\n\n return pose;\n });\n\n return {\n poses,\n };\n};\n",
|
|
20
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n TextClassificationTaskInput,\n TextClassificationTaskOutput,\n} from \"@workglow/ai\";\nimport { PermanentJobError } from \"@workglow/job-queue\";\nimport { loadTfmpTasksTextSDK } from \"./TFMP_Client\";\nimport { TFMPModelConfig } from \"./TFMP_ModelSchema\";\nimport { getModelTask } from \"./TFMP_Runtime\";\n\nexport const TFMP_TextClassification: AiProviderRunFn<\n TextClassificationTaskInput,\n TextClassificationTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const { TextClassifier } = await loadTfmpTasksTextSDK();\n const TextClassification = await getModelTask(\n model!,\n {\n maxCategories: input.maxCategories,\n },\n onProgress,\n signal,\n TextClassifier\n );\n const result = TextClassification.classify(input.text);\n\n if (!result.classifications?.[0]?.categories) {\n throw new PermanentJobError(\"Failed to classify text: Empty result\");\n }\n\n const categories = result.classifications[0].categories.map((category: any) => ({\n label: category.categoryName,\n score: category.score,\n }));\n\n return {\n categories,\n };\n};\n",
|
|
21
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n TextEmbeddingTaskInput,\n TextEmbeddingTaskOutput,\n} from \"@workglow/ai\";\nimport { PermanentJobError } from \"@workglow/job-queue\";\nimport { loadTfmpTasksTextSDK } from \"./TFMP_Client\";\nimport { TFMPModelConfig } from \"./TFMP_ModelSchema\";\nimport { getModelTask } from \"./TFMP_Runtime\";\n\nexport const TFMP_TextEmbedding: AiProviderRunFn<\n TextEmbeddingTaskInput,\n TextEmbeddingTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const { TextEmbedder } = await loadTfmpTasksTextSDK();\n const textEmbedder = await getModelTask(model!, {}, onProgress, signal, TextEmbedder);\n\n if (Array.isArray(input.text)) {\n const embeddings = input.text.map((text) => {\n const result = textEmbedder.embed(text);\n\n if (!result.embeddings?.[0]?.floatEmbedding) {\n throw new PermanentJobError(\"Failed to generate embedding: Empty result\");\n }\n\n return Float32Array.from(result.embeddings[0].floatEmbedding);\n });\n\n return {\n vector: embeddings,\n };\n }\n\n const result = textEmbedder.embed(input.text);\n\n if (!result.embeddings?.[0]?.floatEmbedding) {\n throw new PermanentJobError(\"Failed to generate embedding: Empty result\");\n }\n\n const embedding = Float32Array.from(result.embeddings[0].floatEmbedding);\n\n return {\n vector: embedding,\n };\n};\n",
|
|
22
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n TextLanguageDetectionTaskInput,\n TextLanguageDetectionTaskOutput,\n} from \"@workglow/ai\";\nimport { PermanentJobError } from \"@workglow/job-queue\";\nimport { loadTfmpTasksTextSDK } from \"./TFMP_Client\";\nimport { TFMPModelConfig } from \"./TFMP_ModelSchema\";\nimport { getModelTask } from \"./TFMP_Runtime\";\n\nexport const TFMP_TextLanguageDetection: AiProviderRunFn<\n TextLanguageDetectionTaskInput,\n TextLanguageDetectionTaskOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, signal) => {\n const maxLanguages = input.maxLanguages === 0 ? -1 : input.maxLanguages;\n\n const { LanguageDetector } = await loadTfmpTasksTextSDK();\n const textLanguageDetector = await getModelTask(\n model!,\n {\n maxLanguages,\n },\n onProgress,\n signal,\n LanguageDetector\n );\n const result = textLanguageDetector.detect(input.text);\n\n if (!result.languages?.[0]?.languageCode) {\n throw new PermanentJobError(\"Failed to detect language: Empty result\");\n }\n\n const languages = result.languages.map((language: any) => ({\n language: language.languageCode,\n score: language.probability,\n }));\n\n return {\n languages,\n };\n};\n",
|
|
23
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n UnloadModelTaskRunInput,\n UnloadModelTaskRunOutput,\n} from \"@workglow/ai\";\nimport { TFMPModelConfig } from \"./TFMP_ModelSchema\";\nimport {\n modelTaskCache,\n wasm_reference_counts,\n wasm_tasks,\n} from \"./TFMP_Runtime\";\n\nexport const TFMP_Unload: AiProviderRunFn<\n UnloadModelTaskRunInput,\n UnloadModelTaskRunOutput,\n TFMPModelConfig\n> = async (input, model, onProgress, _signal) => {\n const model_path = model!.provider_config.model_path;\n onProgress(10, \"Unloading model\");\n if (modelTaskCache.has(model_path)) {\n const cachedTasks = modelTaskCache.get(model_path)!;\n\n for (const cachedTask of cachedTasks) {\n const task = cachedTask.task;\n if (\"close\" in task && typeof task.close === \"function\") task.close();\n\n const task_engine = cachedTask.task_engine;\n const currentCount = wasm_reference_counts.get(task_engine) || 0;\n const newCount = currentCount - 1;\n\n if (newCount <= 0) {\n wasm_tasks.delete(task_engine);\n wasm_reference_counts.delete(task_engine);\n } else {\n wasm_reference_counts.set(task_engine, newCount);\n }\n }\n\n modelTaskCache.delete(model_path);\n }\n\n return {\n model: input.model,\n };\n};\n",
|
|
24
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { TFMP_ModelSearch } from \"./TFMP_ModelSearch\";\n\nimport { TFMP_Download } from \"./TFMP_Download\";\nimport { TFMP_FaceDetector } from \"./TFMP_FaceDetector\";\nimport { TFMP_FaceLandmarker } from \"./TFMP_FaceLandmarker\";\nimport { TFMP_GestureRecognizer } from \"./TFMP_GestureRecognizer\";\nimport { TFMP_HandLandmarker } from \"./TFMP_HandLandmarker\";\nimport { TFMP_ImageClassification } from \"./TFMP_ImageClassification\";\nimport { TFMP_ImageEmbedding } from \"./TFMP_ImageEmbedding\";\nimport { TFMP_ImageSegmentation } from \"./TFMP_ImageSegmentation\";\nimport { TFMP_ModelInfo } from \"./TFMP_ModelInfo\";\nimport { TFMP_ObjectDetection } from \"./TFMP_ObjectDetection\";\nimport { TFMP_PoseLandmarker } from \"./TFMP_PoseLandmarker\";\nimport { TFMP_TextClassification } from \"./TFMP_TextClassification\";\nimport { TFMP_TextEmbedding } from \"./TFMP_TextEmbedding\";\nimport { TFMP_TextLanguageDetection } from \"./TFMP_TextLanguageDetection\";\nimport { TFMP_Unload } from \"./TFMP_Unload\";\n\nexport { loadTfmpTasksTextSDK, loadTfmpTasksVisionSDK } from \"./TFMP_Client\";\n\nexport const TFMP_TASKS = {\n DownloadModelTask: TFMP_Download,\n UnloadModelTask: TFMP_Unload,\n ModelInfoTask: TFMP_ModelInfo,\n TextEmbeddingTask: TFMP_TextEmbedding,\n TextLanguageDetectionTask: TFMP_TextLanguageDetection,\n TextClassificationTask: TFMP_TextClassification,\n ImageSegmentationTask: TFMP_ImageSegmentation,\n ImageEmbeddingTask: TFMP_ImageEmbedding,\n ImageClassificationTask: TFMP_ImageClassification,\n ObjectDetectionTask: TFMP_ObjectDetection,\n GestureRecognizerTask: TFMP_GestureRecognizer,\n HandLandmarkerTask: TFMP_HandLandmarker,\n FaceDetectorTask: TFMP_FaceDetector,\n FaceLandmarkerTask: TFMP_FaceLandmarker,\n PoseLandmarkerTask: TFMP_PoseLandmarker,\n ModelSearchTask: TFMP_ModelSearch,\n} as const;\n",
|
|
25
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { QueuedAiProvider, type AiProviderReactiveRunFn, type AiProviderRunFn } from \"@workglow/ai\";\nimport { TENSORFLOW_MEDIAPIPE, TFMP_DEFAULT_TASK_TYPES } from \"./common/TFMP_Constants\";\nimport type { TFMPModelConfig } from \"./common/TFMP_ModelSchema\";\n\n/** Main-thread registration (inline or worker-backed); creates the default job queue. */\nexport class TensorFlowMediaPipeQueuedProvider extends QueuedAiProvider<TFMPModelConfig> {\n readonly name = TENSORFLOW_MEDIAPIPE;\n readonly isLocal = true;\n readonly supportsBrowser = true;\n\n readonly taskTypes: readonly string[] = TFMP_DEFAULT_TASK_TYPES;\n\n constructor(\n tasks?: Record<string, AiProviderRunFn<any, any, TFMPModelConfig>>,\n reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, TFMPModelConfig>>\n ) {\n super(tasks, undefined, reactiveTasks);\n }\n}\n",
|
|
26
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRegisterOptions } from \"@workglow/ai\";\nimport { TFMP_TASKS } from \"./common/TFMP_JobRunFns\";\nimport { TensorFlowMediaPipeQueuedProvider } from \"./TensorFlowMediaPipeQueuedProvider\";\n\nexport async function registerTensorFlowMediaPipeInline(\n options?: AiProviderRegisterOptions\n): Promise<void> {\n await new TensorFlowMediaPipeQueuedProvider(TFMP_TASKS).register(options ?? {});\n}\n",
|
|
27
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { getLogger, globalServiceRegistry, WORKER_SERVER } from \"@workglow/util/worker\";\nimport { TFMP_TASKS } from \"./common/TFMP_JobRunFns\";\nimport { TensorFlowMediaPipeProvider } from \"./TensorFlowMediaPipeProvider\";\n\nexport async function registerTensorFlowMediaPipeWorker(): Promise<void> {\n const workerServer = globalServiceRegistry.get(WORKER_SERVER);\n new TensorFlowMediaPipeProvider(TFMP_TASKS).registerOnWorkerServer(workerServer);\n workerServer.sendReady();\n getLogger().info(\"TensorFlow MediaPipe worker job run functions registered\");\n}\n",
|
|
28
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AiProvider, type AiProviderReactiveRunFn, type AiProviderRunFn } from \"@workglow/ai/worker\";\nimport { TENSORFLOW_MEDIAPIPE, TFMP_DEFAULT_TASK_TYPES } from \"./common/TFMP_Constants\";\nimport type { TFMPModelConfig } from \"./common/TFMP_ModelSchema\";\n\n/**\n * AI provider for TensorFlow MediaPipe models.\n *\n * Task run functions are injected via the constructor so that the heavy\n * `@mediapipe/*` libraries are only pulled in where actually needed\n * (inline mode, worker server), not on the main thread in worker mode.\n * Use `loadTfmpTasksTextSDK` / `loadTfmpTasksVisionSDK` for cached dynamic imports.\n\n */\nexport class TensorFlowMediaPipeProvider extends AiProvider<TFMPModelConfig> {\n readonly name = TENSORFLOW_MEDIAPIPE;\n readonly isLocal = true;\n readonly supportsBrowser = true;\n\n readonly taskTypes: readonly string[] = TFMP_DEFAULT_TASK_TYPES;\n\n constructor(\n tasks?: Record<string, AiProviderRunFn<any, any, TFMPModelConfig>>,\n reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, TFMPModelConfig>>\n ) {\n super(tasks, undefined, reactiveTasks);\n }\n}\n"
|
|
29
|
+
],
|
|
30
|
+
"mappings": "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",
|
|
31
|
+
"debugId": "B31D98746E6C8CAF64756E2164756E21",
|
|
32
|
+
"names": []
|
|
33
|
+
}
|
package/package.json
CHANGED
|
@@ -2,72 +2,100 @@
|
|
|
2
2
|
"name": "@workglow/ai-provider",
|
|
3
3
|
"type": "module",
|
|
4
4
|
"sideEffects": false,
|
|
5
|
-
"version": "0.0.
|
|
5
|
+
"version": "0.0.123",
|
|
6
6
|
"description": "AI provider integrations for Workglow, supporting OpenAI, Hugging Face Transformers, MediaPipe, and GGML models.",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"watch": "concurrently -c 'auto' 'bun:watch-*'",
|
|
9
9
|
"watch-js": "concurrently -c 'auto' -n 'code,browser' 'bun run watch-code' 'bun run watch-browser'",
|
|
10
|
-
"watch-code": "bun build --
|
|
11
|
-
"watch-browser": "bun build --
|
|
10
|
+
"watch-code": "bun build --watch --no-clear-screen --sourcemap=external --packages=external --root ./src --outdir ./dist ./src/provider-anthropic/index.ts ./src/provider-anthropic/runtime.ts ./src/provider-gemini/index.ts ./src/provider-gemini/runtime.ts ./src/provider-hf-transformers/index.ts ./src/provider-hf-transformers/runtime.ts ./src/provider-llamacpp/index.ts ./src/provider-llamacpp/runtime.ts ./src/provider-hf-inference/index.ts ./src/provider-hf-inference/runtime.ts ./src/provider-ollama/index.ts ./src/provider-ollama/runtime.ts ./src/provider-openai/index.ts ./src/provider-openai/runtime.ts ./src/provider-chrome/index.ts ./src/provider-chrome/runtime.ts",
|
|
11
|
+
"watch-browser": "bun build --watch --no-clear-screen --target=browser --sourcemap=external --packages=external --outdir ./dist ./src/provider-ollama/index.browser.ts ./src/provider-ollama/runtime.browser.ts ./src/provider-openai/index.browser.ts ./src/provider-openai/runtime.browser.ts ./src/provider-tf-mediapipe/index.ts ./src/provider-tf-mediapipe/runtime.ts ./src/provider-chrome/index.ts",
|
|
12
12
|
"watch-types": "tsc --watch --preserveWatchOutput",
|
|
13
13
|
"build-package": "concurrently -c 'auto' -n 'code,browser,types' 'bun run build-code' 'bun run build-browser' 'bun run build-types'",
|
|
14
14
|
"build-js": "concurrently -c 'auto' -n 'code,browser' 'bun run build-code' 'bun run build-browser'",
|
|
15
15
|
"build-clean": "rm -fr dist/* tsconfig.tsbuildinfo",
|
|
16
|
-
"build-code": "bun build --
|
|
17
|
-
"build-browser": "bun build --
|
|
18
|
-
"build-types": "rm -f tsconfig.tsbuildinfo &&
|
|
16
|
+
"build-code": "bun build --sourcemap=external --packages=external --root ./src --outdir ./dist ./src/provider-anthropic/index.ts ./src/provider-anthropic/runtime.ts ./src/provider-gemini/index.ts ./src/provider-gemini/runtime.ts ./src/provider-hf-transformers/index.ts ./src/provider-hf-transformers/runtime.ts ./src/provider-llamacpp/index.ts ./src/provider-llamacpp/runtime.ts ./src/provider-hf-inference/index.ts ./src/provider-hf-inference/runtime.ts ./src/provider-ollama/index.ts ./src/provider-ollama/runtime.ts ./src/provider-openai/index.ts ./src/provider-openai/runtime.ts ./src/provider-chrome/index.ts ./src/provider-chrome/runtime.ts",
|
|
17
|
+
"build-browser": "bun build --target=browser --sourcemap=external --packages=external --outdir ./dist ./src/provider-ollama/index.browser.ts ./src/provider-ollama/runtime.browser.ts ./src/provider-openai/index.browser.ts ./src/provider-openai/runtime.browser.ts ./src/provider-tf-mediapipe/index.ts ./src/provider-tf-mediapipe/runtime.ts ./src/provider-chrome/index.ts",
|
|
18
|
+
"build-types": "rm -f tsconfig.tsbuildinfo && tsgo",
|
|
19
19
|
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
|
|
20
20
|
"test": "bun test"
|
|
21
21
|
},
|
|
22
22
|
"exports": {
|
|
23
|
-
"
|
|
24
|
-
"bun": "./dist/index.js",
|
|
25
|
-
"types": "./dist/types.d.ts",
|
|
26
|
-
"import": "./dist/index.js"
|
|
27
|
-
},
|
|
23
|
+
"./src/*": "./src/*",
|
|
28
24
|
"./anthropic": {
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
|
|
25
|
+
"types": "./dist/provider-anthropic/index.d.ts",
|
|
26
|
+
"import": "./dist/provider-anthropic/index.js"
|
|
27
|
+
},
|
|
28
|
+
"./anthropic/runtime": {
|
|
29
|
+
"types": "./dist/provider-anthropic/runtime.d.ts",
|
|
30
|
+
"import": "./dist/provider-anthropic/runtime.js"
|
|
32
31
|
},
|
|
33
|
-
"./
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
|
|
32
|
+
"./gemini": {
|
|
33
|
+
"types": "./dist/provider-gemini/index.d.ts",
|
|
34
|
+
"import": "./dist/provider-gemini/index.js"
|
|
35
|
+
},
|
|
36
|
+
"./gemini/runtime": {
|
|
37
|
+
"types": "./dist/provider-gemini/runtime.d.ts",
|
|
38
|
+
"import": "./dist/provider-gemini/runtime.js"
|
|
37
39
|
},
|
|
38
40
|
"./hf-transformers": {
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
|
|
41
|
+
"types": "./dist/provider-hf-transformers/index.d.ts",
|
|
42
|
+
"import": "./dist/provider-hf-transformers/index.js"
|
|
43
|
+
},
|
|
44
|
+
"./hf-transformers/runtime": {
|
|
45
|
+
"types": "./dist/provider-hf-transformers/runtime.d.ts",
|
|
46
|
+
"import": "./dist/provider-hf-transformers/runtime.js"
|
|
42
47
|
},
|
|
43
48
|
"./llamacpp": {
|
|
44
|
-
"bun": "./dist/provider-llamacpp/index.js",
|
|
45
49
|
"types": "./dist/provider-llamacpp/index.d.ts",
|
|
46
50
|
"import": "./dist/provider-llamacpp/index.js"
|
|
47
51
|
},
|
|
52
|
+
"./llamacpp/runtime": {
|
|
53
|
+
"types": "./dist/provider-llamacpp/runtime.d.ts",
|
|
54
|
+
"import": "./dist/provider-llamacpp/runtime.js"
|
|
55
|
+
},
|
|
48
56
|
"./ollama": {
|
|
49
57
|
"browser": "./dist/provider-ollama/index.browser.js",
|
|
50
|
-
"bun": "./dist/provider-ollama/index.js",
|
|
51
58
|
"types": "./dist/provider-ollama/index.d.ts",
|
|
52
59
|
"import": "./dist/provider-ollama/index.js"
|
|
53
60
|
},
|
|
61
|
+
"./ollama/runtime": {
|
|
62
|
+
"browser": "./dist/provider-ollama/runtime.browser.js",
|
|
63
|
+
"types": "./dist/provider-ollama/runtime.d.ts",
|
|
64
|
+
"import": "./dist/provider-ollama/runtime.js"
|
|
65
|
+
},
|
|
54
66
|
"./openai": {
|
|
55
|
-
"
|
|
67
|
+
"browser": "./dist/provider-openai/index.browser.js",
|
|
56
68
|
"types": "./dist/provider-openai/index.d.ts",
|
|
57
69
|
"import": "./dist/provider-openai/index.js"
|
|
58
70
|
},
|
|
71
|
+
"./openai/runtime": {
|
|
72
|
+
"browser": "./dist/provider-openai/runtime.browser.js",
|
|
73
|
+
"types": "./dist/provider-openai/runtime.d.ts",
|
|
74
|
+
"import": "./dist/provider-openai/runtime.js"
|
|
75
|
+
},
|
|
59
76
|
"./hf-inference": {
|
|
60
|
-
"bun": "./dist/provider-hf-inference/index.js",
|
|
61
77
|
"types": "./dist/provider-hf-inference/index.d.ts",
|
|
62
78
|
"import": "./dist/provider-hf-inference/index.js"
|
|
63
79
|
},
|
|
80
|
+
"./hf-inference/runtime": {
|
|
81
|
+
"types": "./dist/provider-hf-inference/runtime.d.ts",
|
|
82
|
+
"import": "./dist/provider-hf-inference/runtime.js"
|
|
83
|
+
},
|
|
64
84
|
"./tf-mediapipe": {
|
|
65
|
-
"
|
|
66
|
-
"
|
|
85
|
+
"types": "./dist/provider-tf-mediapipe/index.d.ts",
|
|
86
|
+
"import": "./dist/provider-tf-mediapipe/index.js"
|
|
87
|
+
},
|
|
88
|
+
"./tf-mediapipe/runtime": {
|
|
89
|
+
"types": "./dist/provider-tf-mediapipe/runtime.d.ts",
|
|
90
|
+
"import": "./dist/provider-tf-mediapipe/runtime.js"
|
|
91
|
+
},
|
|
92
|
+
"./chrome": {
|
|
93
|
+
"types": "./dist/provider-chrome/index.d.ts",
|
|
94
|
+
"import": "./dist/provider-chrome/index.js"
|
|
67
95
|
},
|
|
68
|
-
"./
|
|
69
|
-
"
|
|
70
|
-
"
|
|
96
|
+
"./chrome/runtime": {
|
|
97
|
+
"types": "./dist/provider-chrome/runtime.d.ts",
|
|
98
|
+
"import": "./dist/provider-chrome/runtime.js"
|
|
71
99
|
}
|
|
72
100
|
},
|
|
73
101
|
"files": [
|
|
@@ -78,11 +106,11 @@
|
|
|
78
106
|
"access": "public"
|
|
79
107
|
},
|
|
80
108
|
"peerDependencies": {
|
|
81
|
-
"@workglow/ai": "0.0.
|
|
82
|
-
"@workglow/job-queue": "0.0.
|
|
83
|
-
"@workglow/storage": "0.0.
|
|
84
|
-
"@workglow/task-graph": "0.0.
|
|
85
|
-
"@workglow/util": "0.0.
|
|
109
|
+
"@workglow/ai": "0.0.123",
|
|
110
|
+
"@workglow/job-queue": "0.0.123",
|
|
111
|
+
"@workglow/storage": "0.0.123",
|
|
112
|
+
"@workglow/task-graph": "0.0.123",
|
|
113
|
+
"@workglow/util": "0.0.123",
|
|
86
114
|
"@huggingface/transformers": "4.0.0-next.8",
|
|
87
115
|
"@mediapipe/tasks-text": "=0.10.32",
|
|
88
116
|
"@mediapipe/tasks-vision": "=0.10.32",
|
|
@@ -90,6 +118,7 @@
|
|
|
90
118
|
"@mediapipe/tasks-genai": "^0.10.26",
|
|
91
119
|
"openai": "^6.32.0",
|
|
92
120
|
"tiktoken": "^1.0.22",
|
|
121
|
+
"js-tiktoken": "^1.0.16",
|
|
93
122
|
"@anthropic-ai/sdk": "^0.80.0",
|
|
94
123
|
"@google/generative-ai": "^0.24.1",
|
|
95
124
|
"node-llama-cpp": "^3.18.1",
|
|
@@ -118,6 +147,9 @@
|
|
|
118
147
|
"tiktoken": {
|
|
119
148
|
"optional": true
|
|
120
149
|
},
|
|
150
|
+
"js-tiktoken": {
|
|
151
|
+
"optional": true
|
|
152
|
+
},
|
|
121
153
|
"@anthropic-ai/sdk": {
|
|
122
154
|
"optional": true
|
|
123
155
|
},
|
|
@@ -158,14 +190,15 @@
|
|
|
158
190
|
"@mediapipe/tasks-text": "=0.10.32",
|
|
159
191
|
"@mediapipe/tasks-vision": "=0.10.32",
|
|
160
192
|
"@huggingface/transformers": "4.0.0-next.8",
|
|
161
|
-
"@workglow/ai": "0.0.
|
|
162
|
-
"@workglow/job-queue": "0.0.
|
|
163
|
-
"@workglow/storage": "0.0.
|
|
164
|
-
"@workglow/task-graph": "0.0.
|
|
165
|
-
"@workglow/util": "0.0.
|
|
193
|
+
"@workglow/ai": "0.0.123",
|
|
194
|
+
"@workglow/job-queue": "0.0.123",
|
|
195
|
+
"@workglow/storage": "0.0.123",
|
|
196
|
+
"@workglow/task-graph": "0.0.123",
|
|
197
|
+
"@workglow/util": "0.0.123",
|
|
166
198
|
"node-llama-cpp": "^3.18.1",
|
|
167
199
|
"ollama": "^0.6.3",
|
|
168
200
|
"openai": "^6.32.0",
|
|
169
|
-
"tiktoken": "^1.0.22"
|
|
201
|
+
"tiktoken": "^1.0.22",
|
|
202
|
+
"js-tiktoken": "^1.0.16"
|
|
170
203
|
}
|
|
171
204
|
}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
HFT_BackgroundRemoval,
|
|
3
|
-
HFT_CountTokens,
|
|
4
|
-
HFT_CountTokens_Reactive,
|
|
5
|
-
HFT_Download,
|
|
6
|
-
HFT_ImageClassification,
|
|
7
|
-
HFT_ImageEmbedding,
|
|
8
|
-
HFT_ImageSegmentation,
|
|
9
|
-
HFT_ImageToText,
|
|
10
|
-
HFT_ModelInfo,
|
|
11
|
-
HFT_ObjectDetection,
|
|
12
|
-
HFT_REACTIVE_TASKS,
|
|
13
|
-
HFT_STREAM_TASKS,
|
|
14
|
-
HFT_StructuredGeneration,
|
|
15
|
-
HFT_StructuredGeneration_Stream,
|
|
16
|
-
HFT_TASKS,
|
|
17
|
-
HFT_TextClassification,
|
|
18
|
-
HFT_TextEmbedding,
|
|
19
|
-
HFT_TextFillMask,
|
|
20
|
-
HFT_TextGeneration,
|
|
21
|
-
HFT_TextGeneration_Stream,
|
|
22
|
-
HFT_TextLanguageDetection,
|
|
23
|
-
HFT_TextNamedEntityRecognition,
|
|
24
|
-
HFT_TextQuestionAnswer,
|
|
25
|
-
HFT_TextQuestionAnswer_Stream,
|
|
26
|
-
HFT_TextRewriter,
|
|
27
|
-
HFT_TextRewriter_Stream,
|
|
28
|
-
HFT_TextSummary,
|
|
29
|
-
HFT_TextSummary_Stream,
|
|
30
|
-
HFT_TextTranslation,
|
|
31
|
-
HFT_TextTranslation_Stream,
|
|
32
|
-
HFT_ToolCalling,
|
|
33
|
-
HFT_ToolCalling_Stream,
|
|
34
|
-
HFT_Unload,
|
|
35
|
-
clearPipelineCache,
|
|
36
|
-
createToolCallMarkupFilter,
|
|
37
|
-
parseToolCallsFromText
|
|
38
|
-
} from "./index-j4g81r4k.js";
|
|
39
|
-
import"./index-zqq3kw0n.js";
|
|
40
|
-
import"./index-6j5pq722.js";
|
|
41
|
-
export {
|
|
42
|
-
parseToolCallsFromText,
|
|
43
|
-
createToolCallMarkupFilter,
|
|
44
|
-
clearPipelineCache,
|
|
45
|
-
HFT_Unload,
|
|
46
|
-
HFT_ToolCalling_Stream,
|
|
47
|
-
HFT_ToolCalling,
|
|
48
|
-
HFT_TextTranslation_Stream,
|
|
49
|
-
HFT_TextTranslation,
|
|
50
|
-
HFT_TextSummary_Stream,
|
|
51
|
-
HFT_TextSummary,
|
|
52
|
-
HFT_TextRewriter_Stream,
|
|
53
|
-
HFT_TextRewriter,
|
|
54
|
-
HFT_TextQuestionAnswer_Stream,
|
|
55
|
-
HFT_TextQuestionAnswer,
|
|
56
|
-
HFT_TextNamedEntityRecognition,
|
|
57
|
-
HFT_TextLanguageDetection,
|
|
58
|
-
HFT_TextGeneration_Stream,
|
|
59
|
-
HFT_TextGeneration,
|
|
60
|
-
HFT_TextFillMask,
|
|
61
|
-
HFT_TextEmbedding,
|
|
62
|
-
HFT_TextClassification,
|
|
63
|
-
HFT_TASKS,
|
|
64
|
-
HFT_StructuredGeneration_Stream,
|
|
65
|
-
HFT_StructuredGeneration,
|
|
66
|
-
HFT_STREAM_TASKS,
|
|
67
|
-
HFT_REACTIVE_TASKS,
|
|
68
|
-
HFT_ObjectDetection,
|
|
69
|
-
HFT_ModelInfo,
|
|
70
|
-
HFT_ImageToText,
|
|
71
|
-
HFT_ImageSegmentation,
|
|
72
|
-
HFT_ImageEmbedding,
|
|
73
|
-
HFT_ImageClassification,
|
|
74
|
-
HFT_Download,
|
|
75
|
-
HFT_CountTokens_Reactive,
|
|
76
|
-
HFT_CountTokens,
|
|
77
|
-
HFT_BackgroundRemoval
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
//# debugId=0A7F9991C443C72D64756E2164756E21
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AnthropicProvider.d.ts","sourceRoot":"","sources":["../../src/anthropic/AnthropicProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,UAAU,EACV,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,iBAAkB,SAAQ,UAAU,CAAC,oBAAoB,CAAC;IACrE,QAAQ,CAAC,IAAI,eAAa;IAC1B,QAAQ,CAAC,OAAO,SAAS;IACzB,QAAQ,CAAC,eAAe,QAAQ;IAEhC,QAAQ,CAAC,SAAS,4JAQP;gBAGT,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAAC,EACvE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAAC,EAChF,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAAC;CAI1F"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Anthropic_Worker.d.ts","sourceRoot":"","sources":["../../src/anthropic/Anthropic_Worker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,wBAAgB,gCAAgC,SAS/C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Anthropic_Constants.d.ts","sourceRoot":"","sources":["../../../src/anthropic/common/Anthropic_Constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,SAAS,cAAc,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import type { AiProviderReactiveRunFn, AiProviderRunFn, AiProviderStreamFn, CountTokensTaskInput, CountTokensTaskOutput, ModelInfoTaskInput, ModelInfoTaskOutput, StructuredGenerationTaskInput, StructuredGenerationTaskOutput, TextGenerationTaskInput, TextGenerationTaskOutput, TextRewriterTaskInput, TextRewriterTaskOutput, TextSummaryTaskInput, TextSummaryTaskOutput, ToolCallingTaskInput, ToolCallingTaskOutput } from "@workglow/ai";
|
|
7
|
-
import type { AnthropicModelConfig } from "./Anthropic_ModelSchema";
|
|
8
|
-
export declare const Anthropic_TextGeneration: AiProviderRunFn<TextGenerationTaskInput, TextGenerationTaskOutput, AnthropicModelConfig>;
|
|
9
|
-
export declare const Anthropic_TextRewriter: AiProviderRunFn<TextRewriterTaskInput, TextRewriterTaskOutput, AnthropicModelConfig>;
|
|
10
|
-
export declare const Anthropic_TextSummary: AiProviderRunFn<TextSummaryTaskInput, TextSummaryTaskOutput, AnthropicModelConfig>;
|
|
11
|
-
export declare const Anthropic_TextGeneration_Stream: AiProviderStreamFn<TextGenerationTaskInput, TextGenerationTaskOutput, AnthropicModelConfig>;
|
|
12
|
-
export declare const Anthropic_TextRewriter_Stream: AiProviderStreamFn<TextRewriterTaskInput, TextRewriterTaskOutput, AnthropicModelConfig>;
|
|
13
|
-
export declare const Anthropic_TextSummary_Stream: AiProviderStreamFn<TextSummaryTaskInput, TextSummaryTaskOutput, AnthropicModelConfig>;
|
|
14
|
-
export declare const Anthropic_CountTokens: AiProviderRunFn<CountTokensTaskInput, CountTokensTaskOutput, AnthropicModelConfig>;
|
|
15
|
-
export declare const Anthropic_CountTokens_Reactive: AiProviderReactiveRunFn<CountTokensTaskInput, CountTokensTaskOutput, AnthropicModelConfig>;
|
|
16
|
-
export declare const Anthropic_StructuredGeneration: AiProviderRunFn<StructuredGenerationTaskInput, StructuredGenerationTaskOutput, AnthropicModelConfig>;
|
|
17
|
-
export declare const Anthropic_StructuredGeneration_Stream: AiProviderStreamFn<StructuredGenerationTaskInput, StructuredGenerationTaskOutput, AnthropicModelConfig>;
|
|
18
|
-
export declare const Anthropic_ToolCalling: AiProviderRunFn<ToolCallingTaskInput, ToolCallingTaskOutput, AnthropicModelConfig>;
|
|
19
|
-
export declare const Anthropic_ToolCalling_Stream: AiProviderStreamFn<ToolCallingTaskInput, ToolCallingTaskOutput, AnthropicModelConfig>;
|
|
20
|
-
export declare const Anthropic_ModelInfo: AiProviderRunFn<ModelInfoTaskInput, ModelInfoTaskOutput, AnthropicModelConfig>;
|
|
21
|
-
export declare const ANTHROPIC_TASKS: Record<string, AiProviderRunFn<any, any, AnthropicModelConfig>>;
|
|
22
|
-
export declare const ANTHROPIC_STREAM_TASKS: Record<string, AiProviderStreamFn<any, any, AnthropicModelConfig>>;
|
|
23
|
-
export declare const ANTHROPIC_REACTIVE_TASKS: Record<string, AiProviderReactiveRunFn<any, any, AnthropicModelConfig>>;
|
|
24
|
-
//# sourceMappingURL=Anthropic_JobRunFns.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Anthropic_JobRunFns.d.ts","sourceRoot":"","sources":["../../../src/anthropic/common/Anthropic_JobRunFns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,uBAAuB,EACvB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,6BAA6B,EAC7B,8BAA8B,EAC9B,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EAErB,oBAAoB,EACpB,qBAAqB,EAGtB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AA0DpE,eAAO,MAAM,wBAAwB,EAAE,eAAe,CACpD,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,CA4CrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,eAAe,CAClD,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,CAsCrB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,eAAe,CACjD,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,CAsCrB,CAAC;AAMF,eAAO,MAAM,+BAA+B,EAAE,kBAAkB,CAC9D,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,CAsBrB,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAC5D,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,CAqBrB,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,kBAAkB,CAC3D,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,CAqBrB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,eAAe,CACjD,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,CAqBrB,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,uBAAuB,CAClE,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,CAMrB,CAAC;AAMF,eAAO,MAAM,8BAA8B,EAAE,eAAe,CAC1D,6BAA6B,EAC7B,8BAA8B,EAC9B,oBAAoB,CA8BrB,CAAC;AAEF,eAAO,MAAM,qCAAqC,EAAE,kBAAkB,CACpE,6BAA6B,EAC7B,8BAA8B,EAC9B,oBAAoB,CA+CrB,CAAC;AAiGF,eAAO,MAAM,qBAAqB,EAAE,eAAe,CACjD,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,CAyErB,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,kBAAkB,CAC3D,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,CAsGrB,CAAC;AAMF,eAAO,MAAM,mBAAmB,EAAE,eAAe,CAC/C,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,CAYrB,CAAC;AAMF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAQ3F,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CACzC,MAAM,EACN,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAOnD,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAC3C,MAAM,EACN,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAGxD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Anthropic_ModelSchema.d.ts","sourceRoot":"","sources":["../../../src/anthropic/common/Anthropic_ModelSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAwB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGlE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCQ,CAAC;AAE1C,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQE,CAAC;AAE1C,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEjF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQE,CAAC;AAE1C,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/anthropic/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/anthropic/Anthropic_Worker.ts", "../src/anthropic/common/Anthropic_JobRunFns.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { getLogger, globalServiceRegistry, WORKER_SERVER } from \"@workglow/util\";\nimport { AnthropicProvider } from \"./AnthropicProvider\";\nimport {\n ANTHROPIC_REACTIVE_TASKS,\n ANTHROPIC_STREAM_TASKS,\n ANTHROPIC_TASKS,\n} from \"./common/Anthropic_JobRunFns\";\n\nexport function ANTHROPIC_WORKER_JOBRUN_REGISTER() {\n const workerServer = globalServiceRegistry.get(WORKER_SERVER);\n new AnthropicProvider(\n ANTHROPIC_TASKS,\n ANTHROPIC_STREAM_TASKS,\n ANTHROPIC_REACTIVE_TASKS\n ).registerOnWorkerServer(workerServer);\n workerServer.sendReady();\n getLogger().info(\"ANTHROPIC_WORKER_JOBRUN registered\");\n}\n",
|
|
6
|
-
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { buildToolDescription, filterValidToolCalls } from \"@workglow/ai\";\nimport type {\n AiProviderReactiveRunFn,\n AiProviderRunFn,\n AiProviderStreamFn,\n CountTokensTaskInput,\n CountTokensTaskOutput,\n ModelInfoTaskInput,\n ModelInfoTaskOutput,\n StructuredGenerationTaskInput,\n StructuredGenerationTaskOutput,\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n ToolCall,\n ToolCallingTaskInput,\n ToolCallingTaskOutput,\n ToolCalls,\n ToolDefinition,\n} from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport { getLogger, parsePartialJson } from \"@workglow/util\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nlet _sdk: typeof import(\"@anthropic-ai/sdk\") | undefined;\nasync function loadAnthropicSDK() {\n if (!_sdk) {\n try {\n _sdk = await import(\"@anthropic-ai/sdk\");\n } catch {\n throw new Error(\n \"@anthropic-ai/sdk is required for Anthropic tasks. Install it with: bun add @anthropic-ai/sdk\"\n );\n }\n }\n return _sdk.default;\n}\n\ninterface ResolvedProviderConfig {\n readonly credential_key?: string;\n readonly api_key?: string;\n readonly model_name?: string;\n readonly base_url?: string;\n readonly max_tokens?: number;\n}\n\nasync function getClient(model: AnthropicModelConfig | undefined) {\n const Anthropic = await loadAnthropicSDK();\n const config = model?.provider_config as ResolvedProviderConfig | undefined;\n const apiKey =\n config?.credential_key ||\n config?.api_key ||\n (typeof process !== \"undefined\" ? process.env?.ANTHROPIC_API_KEY : undefined);\n if (!apiKey) {\n throw new Error(\n \"Missing Anthropic API key: set provider_config.credential_key or the ANTHROPIC_API_KEY environment variable.\"\n );\n }\n return new Anthropic({\n apiKey,\n baseURL: config?.base_url || undefined,\n dangerouslyAllowBrowser: true,\n });\n}\n\nfunction getModelName(model: AnthropicModelConfig | undefined): string {\n const name = model?.provider_config?.model_name;\n if (!name) {\n throw new Error(\"Missing model name in provider_config.model_name.\");\n }\n return name;\n}\n\nfunction getMaxTokens(\n input: { maxTokens?: number },\n model: AnthropicModelConfig | undefined\n): number {\n return input.maxTokens ?? model?.provider_config?.max_tokens ?? 1024;\n}\n\nexport const Anthropic_TextGeneration: AiProviderRunFn<\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n AnthropicModelConfig\n> = async (input, model, update_progress, signal) => {\n if (Array.isArray(input.prompt)) {\n getLogger().warn(\n \"Anthropic_TextGeneration: array input received; processing sequentially (no native batch support)\"\n );\n const prompts = input.prompt as string[];\n const results: string[] = [];\n for (const item of prompts) {\n const r = await Anthropic_TextGeneration(\n { ...input, prompt: item },\n model,\n update_progress,\n signal\n );\n results.push(r.text as string);\n }\n return { text: results };\n }\n\n const logger = getLogger();\n const timerLabel = `anthropic:TextGeneration:${model?.provider_config?.model_name}`;\n logger.time(timerLabel, { model: model?.provider_config?.model_name });\n\n update_progress(0, \"Starting Anthropic text generation\");\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const response = await client.messages.create(\n {\n model: modelName,\n messages: [{ role: \"user\", content: input.prompt as string }],\n max_tokens: getMaxTokens(input, model),\n temperature: input.temperature,\n top_p: input.topP,\n },\n { signal }\n );\n\n const text = response.content[0]?.type === \"text\" ? response.content[0].text : \"\";\n\n update_progress(100, \"Completed Anthropic text generation\");\n logger.timeEnd(timerLabel, { model: model?.provider_config?.model_name });\n return { text };\n};\n\nexport const Anthropic_TextRewriter: AiProviderRunFn<\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n AnthropicModelConfig\n> = async (input, model, update_progress, signal) => {\n if (Array.isArray(input.text)) {\n getLogger().warn(\n \"Anthropic_TextRewriter: array input received; processing sequentially (no native batch support)\"\n );\n const texts = input.text as string[];\n const results: string[] = [];\n for (const item of texts) {\n const r = await Anthropic_TextRewriter(\n { ...input, text: item },\n model,\n update_progress,\n signal\n );\n results.push(r.text as string);\n }\n return { text: results };\n }\n\n update_progress(0, \"Starting Anthropic text rewriting\");\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const response = await client.messages.create(\n {\n model: modelName,\n system: input.prompt as string,\n messages: [{ role: \"user\", content: input.text as string }],\n max_tokens: getMaxTokens({}, model),\n },\n { signal }\n );\n\n const text = response.content[0]?.type === \"text\" ? response.content[0].text : \"\";\n\n update_progress(100, \"Completed Anthropic text rewriting\");\n return { text };\n};\n\nexport const Anthropic_TextSummary: AiProviderRunFn<\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n AnthropicModelConfig\n> = async (input, model, update_progress, signal) => {\n if (Array.isArray(input.text)) {\n getLogger().warn(\n \"Anthropic_TextSummary: array input received; processing sequentially (no native batch support)\"\n );\n const texts = input.text as string[];\n const results: string[] = [];\n for (const item of texts) {\n const r = await Anthropic_TextSummary(\n { ...input, text: item },\n model,\n update_progress,\n signal\n );\n results.push(r.text as string);\n }\n return { text: results };\n }\n\n update_progress(0, \"Starting Anthropic text summarization\");\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const response = await client.messages.create(\n {\n model: modelName,\n system: \"Summarize the following text concisely.\",\n messages: [{ role: \"user\", content: input.text as string }],\n max_tokens: getMaxTokens({}, model),\n },\n { signal }\n );\n\n const text = response.content[0]?.type === \"text\" ? response.content[0].text : \"\";\n\n update_progress(100, \"Completed Anthropic text summarization\");\n return { text };\n};\n\n// ========================================================================\n// Streaming implementations (append mode)\n// ========================================================================\n\nexport const Anthropic_TextGeneration_Stream: AiProviderStreamFn<\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n AnthropicModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<TextGenerationTaskOutput>> {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const stream = client.messages.stream(\n {\n model: modelName,\n messages: [{ role: \"user\", content: input.prompt as string }],\n max_tokens: getMaxTokens(input, model),\n temperature: input.temperature,\n top_p: input.topP,\n },\n { signal }\n );\n\n for await (const event of stream) {\n if (event.type === \"content_block_delta\" && event.delta.type === \"text_delta\") {\n yield { type: \"text-delta\", port: \"text\", textDelta: event.delta.text };\n }\n }\n yield { type: \"finish\", data: {} as TextGenerationTaskOutput };\n};\n\nexport const Anthropic_TextRewriter_Stream: AiProviderStreamFn<\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n AnthropicModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<TextRewriterTaskOutput>> {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const stream = client.messages.stream(\n {\n model: modelName,\n system: input.prompt as string,\n messages: [{ role: \"user\", content: input.text as string }],\n max_tokens: getMaxTokens({}, model),\n },\n { signal }\n );\n\n for await (const event of stream) {\n if (event.type === \"content_block_delta\" && event.delta.type === \"text_delta\") {\n yield { type: \"text-delta\", port: \"text\", textDelta: event.delta.text };\n }\n }\n yield { type: \"finish\", data: {} as TextRewriterTaskOutput };\n};\n\nexport const Anthropic_TextSummary_Stream: AiProviderStreamFn<\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n AnthropicModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<TextSummaryTaskOutput>> {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const stream = client.messages.stream(\n {\n model: modelName,\n system: \"Summarize the following text concisely.\",\n messages: [{ role: \"user\", content: input.text as string }],\n max_tokens: getMaxTokens({}, model),\n },\n { signal }\n );\n\n for await (const event of stream) {\n if (event.type === \"content_block_delta\" && event.delta.type === \"text_delta\") {\n yield { type: \"text-delta\", port: \"text\", textDelta: event.delta.text };\n }\n }\n yield { type: \"finish\", data: {} as TextSummaryTaskOutput };\n};\n\nexport const Anthropic_CountTokens: AiProviderRunFn<\n CountTokensTaskInput,\n CountTokensTaskOutput,\n AnthropicModelConfig\n> = async (input, model, onProgress, signal) => {\n if (Array.isArray(input.text)) {\n getLogger().warn(\n \"Anthropic_CountTokens: array input received; processing sequentially (no native batch support)\"\n );\n const texts = input.text as string[];\n const counts: number[] = [];\n for (const item of texts) {\n const r = await Anthropic_CountTokens({ ...input, text: item }, model, onProgress, signal);\n counts.push(r.count as number);\n }\n return { count: counts };\n }\n\n const client = await getClient(model);\n const result = await client.messages.countTokens({\n model: getModelName(model),\n messages: [{ role: \"user\", content: input.text as string }],\n });\n return { count: result.input_tokens };\n};\n\nexport const Anthropic_CountTokens_Reactive: AiProviderReactiveRunFn<\n CountTokensTaskInput,\n CountTokensTaskOutput,\n AnthropicModelConfig\n> = async (input, _output, _model) => {\n if (Array.isArray(input.text)) {\n return { count: (input.text as string[]).map((t) => Math.ceil(t.length / 4)) };\n }\n return { count: Math.ceil((input.text as string).length / 4) };\n};\n\n// ========================================================================\n// Structured output implementations (object mode)\n// ========================================================================\n\nexport const Anthropic_StructuredGeneration: AiProviderRunFn<\n StructuredGenerationTaskInput,\n StructuredGenerationTaskOutput,\n AnthropicModelConfig\n> = async (input, model, update_progress, signal, outputSchema) => {\n update_progress(0, \"Starting Anthropic structured generation\");\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const schema = input.outputSchema ?? outputSchema;\n\n const response = await client.messages.create(\n {\n model: modelName,\n messages: [{ role: \"user\", content: input.prompt as string }],\n tools: [\n {\n name: \"structured_output\",\n description: \"Output structured data conforming to the schema\",\n input_schema: schema as any,\n },\n ],\n tool_choice: { type: \"tool\" as const, name: \"structured_output\" },\n max_tokens: getMaxTokens(input, model),\n },\n { signal }\n );\n\n const toolBlock = response.content.find((b: any) => b.type === \"tool_use\") as any;\n const object = toolBlock?.input ?? {};\n\n update_progress(100, \"Completed Anthropic structured generation\");\n return { object };\n};\n\nexport const Anthropic_StructuredGeneration_Stream: AiProviderStreamFn<\n StructuredGenerationTaskInput,\n StructuredGenerationTaskOutput,\n AnthropicModelConfig\n> = async function* (\n input,\n model,\n signal,\n outputSchema\n): AsyncIterable<StreamEvent<StructuredGenerationTaskOutput>> {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const schema = input.outputSchema ?? outputSchema;\n\n const stream = client.messages.stream(\n {\n model: modelName,\n messages: [{ role: \"user\", content: input.prompt as string }],\n tools: [\n {\n name: \"structured_output\",\n description: \"Output structured data conforming to the schema\",\n input_schema: schema as any,\n },\n ],\n tool_choice: { type: \"tool\" as const, name: \"structured_output\" },\n max_tokens: getMaxTokens(input, model),\n },\n { signal }\n );\n\n let accumulatedJson = \"\";\n for await (const event of stream) {\n if (event.type === \"content_block_delta\" && (event.delta as any).type === \"input_json_delta\") {\n accumulatedJson += (event.delta as any).partial_json;\n const partial = parsePartialJson(accumulatedJson);\n if (partial !== undefined) {\n yield { type: \"object-delta\", port: \"object\", objectDelta: partial };\n }\n }\n }\n\n let finalObject: Record<string, unknown>;\n try {\n finalObject = JSON.parse(accumulatedJson);\n } catch {\n finalObject = parsePartialJson(accumulatedJson) ?? {};\n }\n yield { type: \"finish\", data: { object: finalObject } as StructuredGenerationTaskOutput };\n};\n\n// ========================================================================\n// Tool calling implementations\n// ========================================================================\n\n/**\n * Build Anthropic-format messages from the task input.\n * When `input.messages` is present (multi-turn agent loop), converts the\n * provider-agnostic ChatMessage format to Anthropic's message format.\n * Otherwise falls back to a single user message from `input.prompt`.\n */\nfunction mapUserContentToAnthropic(content: unknown): any {\n if (typeof content === \"string\") return content;\n if (!Array.isArray(content)) return content;\n const parts: any[] = [];\n for (const block of content as Array<Record<string, unknown>>) {\n if (block.type === \"text\") {\n parts.push({ type: \"text\", text: block.text });\n } else if (block.type === \"image\") {\n parts.push({\n type: \"image\",\n source: {\n type: \"base64\",\n media_type: block.mimeType as string,\n data: block.data as string,\n },\n });\n }\n // Audio is not natively supported by Anthropic — skip\n }\n return parts;\n}\n\nfunction mapToolResultContentToAnthropic(content: unknown): any {\n if (typeof content === \"string\") return content;\n if (!Array.isArray(content)) return content;\n const parts: any[] = [];\n for (const block of content as Array<Record<string, unknown>>) {\n if (block.type === \"text\") {\n parts.push({ type: \"text\", text: block.text });\n } else if (block.type === \"image\") {\n parts.push({\n type: \"image\",\n source: {\n type: \"base64\",\n media_type: block.mimeType as string,\n data: block.data as string,\n },\n });\n }\n }\n return parts;\n}\n\nfunction buildAnthropicMessages(input: ToolCallingTaskInput): any[] {\n const inputMessages = input.messages;\n if (!inputMessages || inputMessages.length === 0) {\n return [{ role: \"user\", content: input.prompt }];\n }\n\n const messages: any[] = [];\n for (const msg of inputMessages) {\n if (msg.role === \"user\") {\n messages.push({ role: \"user\", content: mapUserContentToAnthropic(msg.content) });\n } else if (msg.role === \"assistant\" && Array.isArray(msg.content)) {\n const blocks = msg.content.map((block: any) => {\n if (block.type === \"text\") return { type: \"text\", text: block.text };\n if (block.type === \"tool_use\") {\n return { type: \"tool_use\", id: block.id, name: block.name, input: block.input };\n }\n return block;\n });\n messages.push({ role: \"assistant\", content: blocks });\n } else if (msg.role === \"tool\" && Array.isArray(msg.content)) {\n // Anthropic expects tool results as role: \"user\" with tool_result content blocks\n const blocks = msg.content.map((block: any) => ({\n type: \"tool_result\",\n tool_use_id: block.tool_use_id,\n content: mapToolResultContentToAnthropic(block.content),\n ...(block.is_error && { is_error: true }),\n }));\n messages.push({ role: \"user\", content: blocks });\n }\n }\n return messages;\n}\n\nfunction mapAnthropicToolChoice(\n toolChoice: string | undefined\n): { type: \"auto\" } | { type: \"any\" } | { type: \"tool\"; name: string } | undefined {\n if (!toolChoice || toolChoice === \"auto\") return { type: \"auto\" };\n if (toolChoice === \"none\") return undefined;\n if (toolChoice === \"required\") return { type: \"any\" };\n return { type: \"tool\", name: toolChoice };\n}\n\nexport const Anthropic_ToolCalling: AiProviderRunFn<\n ToolCallingTaskInput,\n ToolCallingTaskOutput,\n AnthropicModelConfig\n> = async (input, model, update_progress, signal) => {\n if (Array.isArray(input.prompt)) {\n getLogger().warn(\n \"Anthropic_ToolCalling: array input received; processing sequentially (no native batch support)\"\n );\n const prompts = input.prompt as string[];\n const texts: string[] = [];\n const toolCallsList: ToolCalls[] = [];\n for (const item of prompts) {\n const r = await Anthropic_ToolCalling(\n { ...input, prompt: item },\n model,\n update_progress,\n signal\n );\n texts.push(r.text as string);\n toolCallsList.push(r.toolCalls as ToolCalls);\n }\n return { text: texts, toolCalls: toolCallsList } as unknown as ToolCallingTaskOutput;\n }\n\n update_progress(0, \"Starting Anthropic tool calling\");\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const tools = input.tools.map((t: ToolDefinition) => ({\n name: t.name,\n description: buildToolDescription(t),\n input_schema: t.inputSchema as any,\n }));\n\n const toolChoice = mapAnthropicToolChoice(input.toolChoice);\n\n const messages = buildAnthropicMessages(input);\n\n const params: any = {\n model: modelName,\n messages,\n max_tokens: getMaxTokens(input, model),\n temperature: input.temperature,\n };\n\n if (input.systemPrompt) {\n params.system = input.systemPrompt;\n }\n\n // \"none\" means don't send tools at all\n if (toolChoice !== undefined) {\n params.tools = tools;\n params.tool_choice = toolChoice;\n }\n\n const response = await client.messages.create(params, { signal });\n\n const text = response.content\n .filter((b: any) => b.type === \"text\")\n .map((b: any) => b.text)\n .join(\"\");\n\n const toolCalls: ToolCalls = [];\n response.content\n .filter((b: any) => b.type === \"tool_use\")\n .forEach((b: any) => {\n toolCalls.push({\n id: b.id as string,\n name: b.name as string,\n input: (b.input as Record<string, unknown>) ?? {},\n });\n });\n\n update_progress(100, \"Completed Anthropic tool calling\");\n return { text, toolCalls: filterValidToolCalls(toolCalls, input.tools) };\n};\n\nexport const Anthropic_ToolCalling_Stream: AiProviderStreamFn<\n ToolCallingTaskInput,\n ToolCallingTaskOutput,\n AnthropicModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<ToolCallingTaskOutput>> {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const tools = input.tools.map((t: ToolDefinition) => ({\n name: t.name,\n description: buildToolDescription(t),\n input_schema: t.inputSchema as any,\n }));\n\n const toolChoice = mapAnthropicToolChoice(input.toolChoice);\n\n const messages = buildAnthropicMessages(input);\n\n const params: any = {\n model: modelName,\n messages,\n max_tokens: getMaxTokens(input, model),\n temperature: input.temperature,\n };\n\n if (input.systemPrompt) {\n params.system = input.systemPrompt;\n }\n\n if (toolChoice !== undefined) {\n params.tools = tools;\n params.tool_choice = toolChoice;\n }\n\n const stream = client.messages.stream(params, { signal });\n\n // Track content blocks by index\n const blockMeta = new Map<number, { type: string; id?: string; name?: string; json: string }>();\n let accumulatedText = \"\";\n const toolCallMap = new Map<string, ToolCall>();\n\n for await (const event of stream) {\n if (event.type === \"content_block_start\") {\n const block = (event as any).content_block;\n const index = (event as any).index as number;\n if (block.type === \"tool_use\") {\n blockMeta.set(index, {\n type: \"tool_use\",\n id: block.id,\n name: block.name,\n json: \"\",\n });\n } else if (block.type === \"text\") {\n blockMeta.set(index, { type: \"text\", json: \"\" });\n }\n } else if (event.type === \"content_block_delta\") {\n const index = (event as any).index as number;\n const delta = event.delta as any;\n if (delta.type === \"text_delta\") {\n accumulatedText += delta.text;\n yield { type: \"text-delta\", port: \"text\", textDelta: delta.text };\n } else if (delta.type === \"input_json_delta\") {\n const meta = blockMeta.get(index);\n if (meta) {\n meta.json += delta.partial_json;\n // Parse accumulated JSON for this tool call and yield progressive update\n let parsedInput: Record<string, unknown>;\n try {\n parsedInput = JSON.parse(meta.json);\n } catch {\n const partial = parsePartialJson(meta.json);\n parsedInput = (partial as Record<string, unknown>) ?? {};\n }\n // Build current tool calls snapshot as Record keyed by id\n toolCallMap.set(meta.id ?? \"\", {\n id: meta.id ?? \"\",\n name: meta.name ?? \"\",\n input: parsedInput,\n });\n yield { type: \"object-delta\", port: \"toolCalls\", objectDelta: [...toolCallMap.values()] };\n }\n }\n } else if (event.type === \"content_block_stop\") {\n const index = (event as any).index as number;\n const meta = blockMeta.get(index);\n if (meta?.type === \"tool_use\") {\n let finalInput: Record<string, unknown>;\n try {\n finalInput = JSON.parse(meta.json);\n } catch {\n finalInput = (parsePartialJson(meta.json) as Record<string, unknown>) ?? {};\n }\n const id = meta.id ?? \"\";\n toolCallMap.set(id, { id, name: meta.name ?? \"\", input: finalInput });\n yield { type: \"object-delta\", port: \"toolCalls\", objectDelta: [...toolCallMap.values()] };\n }\n blockMeta.delete(index);\n }\n }\n\n const validToolCalls = filterValidToolCalls([...toolCallMap.values()], input.tools);\n yield {\n type: \"finish\",\n data: { text: accumulatedText, toolCalls: validToolCalls } as ToolCallingTaskOutput,\n };\n};\n\n// ========================================================================\n// Model info\n// ========================================================================\n\nexport const Anthropic_ModelInfo: AiProviderRunFn<\n ModelInfoTaskInput,\n ModelInfoTaskOutput,\n AnthropicModelConfig\n> = async (input) => {\n return {\n model: input.model,\n is_local: false,\n is_remote: true,\n supports_browser: true,\n supports_node: true,\n is_cached: false,\n is_loaded: false,\n file_sizes: null,\n };\n};\n\n// ========================================================================\n// Task registries\n// ========================================================================\n\nexport const ANTHROPIC_TASKS: Record<string, AiProviderRunFn<any, any, AnthropicModelConfig>> = {\n CountTokensTask: Anthropic_CountTokens,\n ModelInfoTask: Anthropic_ModelInfo,\n TextGenerationTask: Anthropic_TextGeneration,\n TextRewriterTask: Anthropic_TextRewriter,\n TextSummaryTask: Anthropic_TextSummary,\n StructuredGenerationTask: Anthropic_StructuredGeneration,\n ToolCallingTask: Anthropic_ToolCalling,\n};\n\nexport const ANTHROPIC_STREAM_TASKS: Record<\n string,\n AiProviderStreamFn<any, any, AnthropicModelConfig>\n> = {\n TextGenerationTask: Anthropic_TextGeneration_Stream,\n TextRewriterTask: Anthropic_TextRewriter_Stream,\n TextSummaryTask: Anthropic_TextSummary_Stream,\n StructuredGenerationTask: Anthropic_StructuredGeneration_Stream,\n ToolCallingTask: Anthropic_ToolCalling_Stream,\n};\n\nexport const ANTHROPIC_REACTIVE_TASKS: Record<\n string,\n AiProviderReactiveRunFn<any, any, AnthropicModelConfig>\n> = {\n CountTokensTask: Anthropic_CountTokens_Reactive,\n};\n"
|
|
7
|
-
],
|
|
8
|
-
"mappings": "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",
|
|
9
|
-
"debugId": "0C8D60DE747D87A364756E2164756E21",
|
|
10
|
-
"names": []
|
|
11
|
-
}
|