@workglow/ai-provider 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common/ToolCallParsers.d.ts +253 -0
- package/dist/common/ToolCallParsers.d.ts.map +1 -0
- package/dist/provider-anthropic/AnthropicProvider.d.ts +3 -2
- package/dist/provider-anthropic/AnthropicProvider.d.ts.map +1 -1
- package/dist/provider-anthropic/AnthropicQueuedProvider.d.ts +3 -2
- package/dist/provider-anthropic/AnthropicQueuedProvider.d.ts.map +1 -1
- package/dist/provider-anthropic/common/Anthropic_Client.d.ts.map +1 -1
- package/dist/provider-anthropic/common/Anthropic_JobRunFns.d.ts.map +1 -1
- package/dist/provider-anthropic/common/Anthropic_ModelSchema.d.ts.map +1 -1
- 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/provider-anthropic/index.js +3 -4
- package/dist/provider-anthropic/index.js.map +3 -3
- package/dist/provider-anthropic/runtime.js +225 -8
- package/dist/provider-anthropic/runtime.js.map +9 -8
- package/dist/provider-chrome/WebBrowserProvider.d.ts +2 -1
- package/dist/provider-chrome/WebBrowserProvider.d.ts.map +1 -1
- package/dist/provider-chrome/WebBrowserQueuedProvider.d.ts +2 -1
- package/dist/provider-chrome/WebBrowserQueuedProvider.d.ts.map +1 -1
- package/dist/provider-chrome/common/WebBrowser_Constants.d.ts.map +1 -1
- package/dist/provider-chrome/common/WebBrowser_ModelSchema.d.ts.map +1 -1
- package/dist/provider-chrome/index.js +2 -4
- package/dist/provider-chrome/index.js.map +3 -3
- package/dist/provider-chrome/runtime.js +3 -7
- package/dist/provider-chrome/runtime.js.map +4 -4
- package/dist/provider-gemini/GoogleGeminiProvider.d.ts +3 -2
- package/dist/provider-gemini/GoogleGeminiProvider.d.ts.map +1 -1
- package/dist/provider-gemini/GoogleGeminiQueuedProvider.d.ts +3 -2
- package/dist/provider-gemini/GoogleGeminiQueuedProvider.d.ts.map +1 -1
- package/dist/provider-gemini/common/Gemini_JobRunFns.d.ts.map +1 -1
- package/dist/provider-gemini/common/Gemini_ModelSchema.d.ts.map +1 -1
- 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/provider-gemini/index.js +3 -4
- package/dist/provider-gemini/index.js.map +3 -3
- package/dist/provider-gemini/runtime.js +188 -8
- package/dist/provider-gemini/runtime.js.map +7 -6
- package/dist/provider-hf-inference/HfInferenceProvider.d.ts +3 -2
- package/dist/provider-hf-inference/HfInferenceProvider.d.ts.map +1 -1
- package/dist/provider-hf-inference/HfInferenceQueuedProvider.d.ts +3 -2
- package/dist/provider-hf-inference/HfInferenceQueuedProvider.d.ts.map +1 -1
- package/dist/provider-hf-inference/common/HFI_JobRunFns.d.ts.map +1 -1
- package/dist/provider-hf-inference/common/HFI_ModelSchema.d.ts.map +1 -1
- 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.js +3 -4
- package/dist/provider-hf-inference/index.js.map +3 -3
- package/dist/provider-hf-inference/runtime.js +157 -8
- package/dist/provider-hf-inference/runtime.js.map +7 -6
- package/dist/provider-hf-transformers/HuggingFaceTransformersProvider.d.ts +3 -2
- package/dist/provider-hf-transformers/HuggingFaceTransformersProvider.d.ts.map +1 -1
- package/dist/provider-hf-transformers/HuggingFaceTransformersQueuedProvider.d.ts +3 -3
- package/dist/provider-hf-transformers/HuggingFaceTransformersQueuedProvider.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_Constants.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_JobRunFns.d.ts +52 -0
- package/dist/provider-hf-transformers/common/HFT_JobRunFns.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_ModelSchema.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_OnnxDtypes.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_Pipeline.d.ts +1 -1
- package/dist/provider-hf-transformers/common/HFT_Pipeline.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_StructuredGeneration.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_TextClassification.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_TextQuestionAnswer.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_TextSummary.d.ts.map +1 -1
- package/dist/provider-hf-transformers/common/HFT_TextTranslation.d.ts.map +1 -1
- 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 +20 -0
- package/dist/provider-hf-transformers/common/HFT_ToolMarkup.d.ts.map +1 -0
- package/dist/provider-hf-transformers/common/HFT_ToolParser.d.ts +67 -0
- package/dist/provider-hf-transformers/common/HFT_ToolParser.d.ts.map +1 -0
- package/dist/provider-hf-transformers/index.d.ts +1 -0
- package/dist/provider-hf-transformers/index.d.ts.map +1 -1
- package/dist/provider-hf-transformers/index.js +71 -7
- package/dist/provider-hf-transformers/index.js.map +7 -6
- package/dist/provider-hf-transformers/runtime.d.ts +1 -0
- package/dist/provider-hf-transformers/runtime.d.ts.map +1 -1
- package/dist/provider-hf-transformers/runtime.js +1244 -13
- package/dist/provider-hf-transformers/runtime.js.map +18 -15
- package/dist/provider-llamacpp/LlamaCppProvider.d.ts +3 -2
- package/dist/provider-llamacpp/LlamaCppProvider.d.ts.map +1 -1
- package/dist/provider-llamacpp/LlamaCppQueuedProvider.d.ts +3 -2
- package/dist/provider-llamacpp/LlamaCppQueuedProvider.d.ts.map +1 -1
- package/dist/provider-llamacpp/common/LlamaCpp_JobRunFns.d.ts.map +1 -1
- package/dist/provider-llamacpp/common/LlamaCpp_ModelSchema.d.ts.map +1 -1
- 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_ToolParser.d.ts +35 -0
- package/dist/provider-llamacpp/common/LlamaCpp_ToolParser.d.ts.map +1 -0
- package/dist/provider-llamacpp/index.js +3 -4
- package/dist/provider-llamacpp/index.js.map +3 -3
- package/dist/provider-llamacpp/runtime.js +1394 -9
- package/dist/provider-llamacpp/runtime.js.map +11 -8
- package/dist/provider-ollama/OllamaProvider.d.ts +3 -2
- package/dist/provider-ollama/OllamaProvider.d.ts.map +1 -1
- package/dist/provider-ollama/OllamaQueuedProvider.d.ts +3 -2
- package/dist/provider-ollama/OllamaQueuedProvider.d.ts.map +1 -1
- package/dist/provider-ollama/common/Ollama_JobRunFns.browser.d.ts +47 -1
- package/dist/provider-ollama/common/Ollama_JobRunFns.browser.d.ts.map +1 -1
- package/dist/provider-ollama/common/Ollama_JobRunFns.d.ts +46 -0
- package/dist/provider-ollama/common/Ollama_JobRunFns.d.ts.map +1 -1
- package/dist/provider-ollama/common/Ollama_ModelSchema.d.ts.map +1 -1
- 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.js +3 -4
- package/dist/provider-ollama/index.browser.js.map +3 -3
- package/dist/provider-ollama/index.js +3 -4
- package/dist/provider-ollama/index.js.map +3 -3
- package/dist/provider-ollama/runtime.browser.js +130 -8
- package/dist/provider-ollama/runtime.browser.js.map +8 -7
- package/dist/provider-ollama/runtime.js +125 -8
- package/dist/provider-ollama/runtime.js.map +8 -7
- package/dist/provider-openai/OpenAiProvider.d.ts +3 -2
- package/dist/provider-openai/OpenAiProvider.d.ts.map +1 -1
- package/dist/provider-openai/OpenAiQueuedProvider.d.ts +3 -2
- package/dist/provider-openai/OpenAiQueuedProvider.d.ts.map +1 -1
- package/dist/provider-openai/common/OpenAI_Client.d.ts.map +1 -1
- package/dist/provider-openai/common/OpenAI_JobRunFns.browser.d.ts.map +1 -1
- package/dist/provider-openai/common/OpenAI_JobRunFns.d.ts.map +1 -1
- package/dist/provider-openai/common/OpenAI_ModelSchema.d.ts.map +1 -1
- 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.js +3 -4
- package/dist/provider-openai/index.browser.js.map +3 -3
- package/dist/provider-openai/index.js +3 -4
- package/dist/provider-openai/index.js.map +3 -3
- package/dist/provider-openai/runtime.browser.js +138 -8
- package/dist/provider-openai/runtime.browser.js.map +8 -7
- package/dist/provider-openai/runtime.js +138 -8
- package/dist/provider-openai/runtime.js.map +8 -7
- package/dist/provider-tf-mediapipe/TensorFlowMediaPipeProvider.d.ts +2 -1
- package/dist/provider-tf-mediapipe/TensorFlowMediaPipeProvider.d.ts.map +1 -1
- package/dist/provider-tf-mediapipe/TensorFlowMediaPipeQueuedProvider.d.ts +2 -1
- package/dist/provider-tf-mediapipe/TensorFlowMediaPipeQueuedProvider.d.ts.map +1 -1
- package/dist/provider-tf-mediapipe/common/TFMP_Constants.d.ts.map +1 -1
- package/dist/provider-tf-mediapipe/common/TFMP_Download.d.ts.map +1 -1
- package/dist/provider-tf-mediapipe/common/TFMP_ImageClassification.d.ts.map +1 -1
- package/dist/provider-tf-mediapipe/common/TFMP_JobRunFns.d.ts.map +1 -1
- package/dist/provider-tf-mediapipe/common/TFMP_ModelSchema.d.ts.map +1 -1
- package/dist/provider-tf-mediapipe/common/TFMP_Runtime.d.ts +3 -16
- package/dist/provider-tf-mediapipe/common/TFMP_Runtime.d.ts.map +1 -1
- package/dist/provider-tf-mediapipe/index.js.map +2 -2
- package/dist/provider-tf-mediapipe/runtime.js +2 -4
- package/dist/provider-tf-mediapipe/runtime.js.map +13 -13
- package/dist/test.d.ts +7 -0
- package/dist/test.d.ts.map +1 -0
- package/dist/test.js +913 -0
- package/dist/test.js.map +10 -0
- package/package.json +24 -17
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/provider-gemini/common/Gemini_Client.ts", "../src/common/modelSearchQuery.ts", "../src/provider-gemini/common/Gemini_Constants.ts", "../src/provider-gemini/common/Gemini_ModelSearch.ts", "../src/provider-gemini/common/Gemini_Schema.ts", "../src/provider-gemini/common/Gemini_CountTokens.ts", "../src/provider-gemini/common/Gemini_ModelInfo.ts", "../src/provider-gemini/common/Gemini_StructuredGeneration.ts", "../src/provider-gemini/common/Gemini_TextEmbedding.ts", "../src/provider-gemini/common/Gemini_TextGeneration.ts", "../src/provider-gemini/common/Gemini_TextRewriter.ts", "../src/provider-gemini/common/Gemini_TextSummary.ts", "../src/provider-gemini/common/Gemini_JobRunFns.ts", "../src/provider-gemini/GoogleGeminiQueuedProvider.ts", "../src/provider-gemini/registerGeminiInline.ts", "../src/provider-gemini/registerGeminiWorker.ts", "../src/provider-gemini/GoogleGeminiProvider.ts"],
|
|
3
|
+
"sources": ["../src/provider-gemini/common/Gemini_Client.ts", "../src/common/modelSearchQuery.ts", "../src/provider-gemini/common/Gemini_Constants.ts", "../src/provider-gemini/common/Gemini_ModelSearch.ts", "../src/provider-gemini/common/Gemini_Schema.ts", "../src/provider-gemini/common/Gemini_CountTokens.ts", "../src/provider-gemini/common/Gemini_ModelInfo.ts", "../src/provider-gemini/common/Gemini_StructuredGeneration.ts", "../src/provider-gemini/common/Gemini_TextEmbedding.ts", "../src/provider-gemini/common/Gemini_TextGeneration.ts", "../src/provider-gemini/common/Gemini_TextRewriter.ts", "../src/provider-gemini/common/Gemini_TextSummary.ts", "../src/provider-gemini/common/Gemini_ToolCalling.ts", "../src/provider-gemini/common/Gemini_JobRunFns.ts", "../src/provider-gemini/GoogleGeminiQueuedProvider.ts", "../src/provider-gemini/registerGeminiInline.ts", "../src/provider-gemini/registerGeminiWorker.ts", "../src/provider-gemini/GoogleGeminiProvider.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { GeminiModelConfig } from \"./Gemini_ModelSchema\";\n\nlet _sdk: typeof import(\"@google/generative-ai\") | undefined;\n\nexport async function loadGeminiSDK() {\n if (!_sdk) {\n try {\n _sdk = await import(\"@google/generative-ai\");\n } catch {\n throw new Error(\n \"@google/generative-ai is required for Gemini tasks. Install it with: bun add @google/generative-ai\"\n );\n }\n }\n return _sdk.GoogleGenerativeAI;\n}\n\ninterface ResolvedProviderConfig {\n readonly credential_key?: string;\n readonly api_key?: string;\n readonly model_name?: string;\n readonly embedding_task_type?: string | null;\n}\n\nexport function getApiKey(model: GeminiModelConfig | undefined): string {\n const config = model?.provider_config as ResolvedProviderConfig | undefined;\n const apiKey =\n config?.credential_key ||\n config?.api_key ||\n (typeof process !== \"undefined\"\n ? process.env?.GOOGLE_API_KEY || process.env?.GEMINI_API_KEY\n : undefined);\n if (!apiKey) {\n throw new Error(\n \"Missing Google API key: set provider_config.credential_key or the GOOGLE_API_KEY / GEMINI_API_KEY environment variable.\"\n );\n }\n return apiKey;\n}\n\nexport function getModelName(model: GeminiModelConfig | 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",
|
|
6
6
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { ModelSearchResultItem } from \"@workglow/ai\";\n\n/**\n * Normalized search string for model search, or undefined when absent or whitespace-only.\n */\nexport function normalizedModelSearchQuery(query: string | undefined): string | undefined {\n const t = query?.trim();\n return t ? t.toLowerCase() : undefined;\n}\n\n/**\n * Filter static/SDK model rows by optional query (substring match on label and id).\n */\nexport function filterLabeledModelsByQuery(\n models: ReadonlyArray<{ label: string; value: string }>,\n query: string | undefined\n): Array<{ label: string; value: string }> {\n const q = normalizedModelSearchQuery(query);\n if (!q) return [...models];\n return models.filter(\n (m) => m.value.toLowerCase().includes(q) || m.label.toLowerCase().includes(q)\n );\n}\n\n/**\n * Filter {@link ModelSearchResultItem} rows by optional query.\n */\nexport function filterModelSearchResultsByQuery(\n results: ModelSearchResultItem[],\n query: string | undefined\n): ModelSearchResultItem[] {\n const q = normalizedModelSearchQuery(query);\n if (!q) return results;\n return results.filter(\n (m) =>\n m.id.toLowerCase().includes(q) ||\n m.label.toLowerCase().includes(q) ||\n m.description.toLowerCase().includes(q)\n );\n}\n",
|
|
@@ -14,13 +14,14 @@
|
|
|
14
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 AiProviderStreamFn,\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n} from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport { getLogger } from \"@workglow/util/worker\";\nimport type { GeminiModelConfig } from \"./Gemini_ModelSchema\";\nimport { getApiKey, getModelName, loadGeminiSDK } from \"./Gemini_Client\";\n\nexport const Gemini_TextGeneration: AiProviderRunFn<\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n GeminiModelConfig\n> = async (input, model, update_progress, signal) => {\n const logger = getLogger();\n const timerLabel = `gemini:TextGeneration:${model?.provider_config?.model_name}`;\n logger.time(timerLabel, { model: model?.provider_config?.model_name });\n\n update_progress(0, \"Starting Gemini text generation\");\n const GoogleGenerativeAI = await loadGeminiSDK();\n const genAI = new GoogleGenerativeAI(getApiKey(model));\n const genModel = genAI.getGenerativeModel({\n model: getModelName(model),\n generationConfig: {\n maxOutputTokens: input.maxTokens,\n temperature: input.temperature,\n topP: input.topP,\n },\n });\n\n const result = await genModel.generateContent({\n contents: [{ role: \"user\", parts: [{ text: input.prompt }] }],\n });\n\n const text = result.response.text();\n update_progress(100, \"Completed Gemini text generation\");\n logger.timeEnd(timerLabel, { model: model?.provider_config?.model_name });\n return { text };\n};\n\nexport const Gemini_TextGeneration_Stream: AiProviderStreamFn<\n TextGenerationTaskInput,\n TextGenerationTaskOutput,\n GeminiModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<TextGenerationTaskOutput>> {\n const GoogleGenerativeAI = await loadGeminiSDK();\n const genAI = new GoogleGenerativeAI(getApiKey(model));\n const genModel = genAI.getGenerativeModel({\n model: getModelName(model),\n generationConfig: {\n maxOutputTokens: input.maxTokens,\n temperature: input.temperature,\n topP: input.topP,\n },\n });\n\n const result = await genModel.generateContentStream(\n { contents: [{ role: \"user\", parts: [{ text: input.prompt }] }] },\n { signal }\n );\n\n for await (const chunk of result.stream) {\n const text = chunk.text();\n if (text) {\n yield { type: \"text-delta\", port: \"text\", textDelta: text };\n }\n }\n yield { type: \"finish\", data: {} as TextGenerationTaskOutput };\n};\n",
|
|
15
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 AiProviderStreamFn,\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n} from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport type { GeminiModelConfig } from \"./Gemini_ModelSchema\";\nimport { getApiKey, getModelName, loadGeminiSDK } from \"./Gemini_Client\";\n\nexport const Gemini_TextRewriter: AiProviderRunFn<\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n GeminiModelConfig\n> = async (input, model, update_progress, signal) => {\n update_progress(0, \"Starting Gemini text rewriting\");\n const GoogleGenerativeAI = await loadGeminiSDK();\n const genAI = new GoogleGenerativeAI(getApiKey(model));\n const genModel = genAI.getGenerativeModel({\n model: getModelName(model),\n systemInstruction: input.prompt,\n });\n\n const result = await genModel.generateContent({\n contents: [{ role: \"user\", parts: [{ text: input.text }] }],\n });\n\n const text = result.response.text();\n update_progress(100, \"Completed Gemini text rewriting\");\n return { text };\n};\n\nexport const Gemini_TextRewriter_Stream: AiProviderStreamFn<\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n GeminiModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<TextRewriterTaskOutput>> {\n const GoogleGenerativeAI = await loadGeminiSDK();\n const genAI = new GoogleGenerativeAI(getApiKey(model));\n const genModel = genAI.getGenerativeModel({\n model: getModelName(model),\n systemInstruction: input.prompt,\n });\n\n const result = await genModel.generateContentStream(\n { contents: [{ role: \"user\", parts: [{ text: input.text }] }] },\n { signal }\n );\n\n for await (const chunk of result.stream) {\n const text = chunk.text();\n if (text) {\n yield { type: \"text-delta\", port: \"text\", textDelta: text };\n }\n }\n yield { type: \"finish\", data: {} as TextRewriterTaskOutput };\n};\n",
|
|
16
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 AiProviderStreamFn,\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n} from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport type { GeminiModelConfig } from \"./Gemini_ModelSchema\";\nimport { getApiKey, getModelName, loadGeminiSDK } from \"./Gemini_Client\";\n\nexport const Gemini_TextSummary: AiProviderRunFn<\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n GeminiModelConfig\n> = async (input, model, update_progress, signal) => {\n update_progress(0, \"Starting Gemini text summarization\");\n const GoogleGenerativeAI = await loadGeminiSDK();\n const genAI = new GoogleGenerativeAI(getApiKey(model));\n const genModel = genAI.getGenerativeModel({\n model: getModelName(model),\n systemInstruction: \"Summarize the following text concisely.\",\n });\n\n const result = await genModel.generateContent({\n contents: [{ role: \"user\", parts: [{ text: input.text }] }],\n });\n\n const text = result.response.text();\n update_progress(100, \"Completed Gemini text summarization\");\n return { text };\n};\n\nexport const Gemini_TextSummary_Stream: AiProviderStreamFn<\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n GeminiModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<TextSummaryTaskOutput>> {\n const GoogleGenerativeAI = await loadGeminiSDK();\n const genAI = new GoogleGenerativeAI(getApiKey(model));\n const genModel = genAI.getGenerativeModel({\n model: getModelName(model),\n systemInstruction: \"Summarize the following text concisely.\",\n });\n\n const result = await genModel.generateContentStream(\n { contents: [{ role: \"user\", parts: [{ text: input.text }] }] },\n { signal }\n );\n\n for await (const chunk of result.stream) {\n const text = chunk.text();\n if (text) {\n yield { type: \"text-delta\", port: \"text\", textDelta: text };\n }\n }\n yield { type: \"finish\", data: {} as TextSummaryTaskOutput };\n};\n",
|
|
17
|
-
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {
|
|
18
|
-
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport
|
|
17
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { FunctionCallingMode } from \"@google/generative-ai\";\nimport { buildToolDescription, filterValidToolCalls } from \"@workglow/ai/worker\";\nimport type {\n AiProviderRunFn,\n AiProviderStreamFn,\n ToolCallingTaskInput,\n ToolCallingTaskOutput,\n ToolCalls,\n ToolDefinition,\n} from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport type { GeminiModelConfig } from \"./Gemini_ModelSchema\";\nimport { getApiKey, getModelName, loadGeminiSDK } from \"./Gemini_Client\";\nimport { sanitizeSchemaForGemini } from \"./Gemini_Schema\";\n\nfunction buildGeminiContents(input: ToolCallingTaskInput): any[] {\n const inputMessages = input.messages;\n if (!inputMessages || inputMessages.length === 0) {\n return [{ role: \"user\", parts: [{ text: input.prompt }] }];\n }\n\n const toolUseNames = new Map<string, string>();\n for (const msg of inputMessages) {\n if (msg.role === \"assistant\" && Array.isArray(msg.content)) {\n for (const block of msg.content) {\n if (block.type === \"tool_use\") {\n toolUseNames.set(block.id, block.name);\n }\n }\n }\n }\n\n const contents: any[] = [];\n for (const msg of inputMessages) {\n if (msg.role === \"user\") {\n if (typeof msg.content === \"string\") {\n contents.push({ role: \"user\", parts: [{ text: msg.content }] });\n } else if (Array.isArray(msg.content)) {\n const parts: any[] = [];\n for (const block of msg.content) {\n if (block.type === \"text\") {\n parts.push({ text: block.text });\n } else if (block.type === \"image\" || block.type === \"audio\") {\n parts.push({ inlineData: { mimeType: block.mimeType, data: block.data } });\n }\n }\n contents.push({ role: \"user\", parts });\n } else {\n contents.push({ role: \"user\", parts: [{ text: msg.content }] });\n }\n } else if (msg.role === \"assistant\" && Array.isArray(msg.content)) {\n const parts: any[] = [];\n for (const block of msg.content) {\n if (block.type === \"text\" && block.text) {\n parts.push({ text: block.text });\n } else if (block.type === \"tool_use\") {\n parts.push({ functionCall: { name: block.name, args: block.input } });\n }\n }\n if (parts.length > 0) {\n contents.push({ role: \"model\", parts });\n }\n } else if (msg.role === \"tool\" && Array.isArray(msg.content)) {\n const parts = msg.content.map((block: any) => {\n const name = toolUseNames.get(block.tool_use_id) ?? \"unknown\";\n let response: Record<string, unknown>;\n if (typeof block.content === \"string\") {\n try {\n response = JSON.parse(block.content);\n } catch {\n response = { result: block.content };\n }\n } else if (Array.isArray(block.content)) {\n const textParts = (block.content as Array<Record<string, unknown>>)\n .filter((b) => b.type === \"text\")\n .map((b) => b.text as string);\n try {\n response = JSON.parse(textParts.join(\"\"));\n } catch {\n response = { result: textParts.join(\"\") };\n }\n } else {\n response = {};\n }\n return { functionResponse: { name, response } };\n });\n contents.push({ role: \"user\", parts });\n }\n }\n return contents;\n}\n\nfunction mapGeminiToolConfig(\n toolChoice: string | undefined\n):\n | { functionCallingConfig: { mode: FunctionCallingMode; allowedFunctionNames?: string[] } }\n | undefined {\n if (!toolChoice || toolChoice === \"auto\") {\n return { functionCallingConfig: { mode: \"AUTO\" as FunctionCallingMode } };\n }\n if (toolChoice === \"none\") {\n return { functionCallingConfig: { mode: \"NONE\" as FunctionCallingMode } };\n }\n if (toolChoice === \"required\") {\n return { functionCallingConfig: { mode: \"ANY\" as FunctionCallingMode } };\n }\n return {\n functionCallingConfig: {\n mode: \"ANY\" as FunctionCallingMode,\n allowedFunctionNames: [toolChoice],\n },\n };\n}\n\nexport const Gemini_ToolCalling: AiProviderRunFn<\n ToolCallingTaskInput,\n ToolCallingTaskOutput,\n GeminiModelConfig\n> = async (input, model, update_progress, signal) => {\n update_progress(0, \"Starting Gemini tool calling\");\n const GoogleGenerativeAI = await loadGeminiSDK();\n const genAI = new GoogleGenerativeAI(getApiKey(model));\n\n const functionDeclarations = input.tools.map((t: ToolDefinition) => ({\n name: t.name,\n description: buildToolDescription(t),\n parameters: sanitizeSchemaForGemini(t.inputSchema as Record<string, unknown>) as any,\n }));\n\n const toolConfig = mapGeminiToolConfig(input.toolChoice);\n\n const genModel = genAI.getGenerativeModel({\n model: getModelName(model),\n tools: [{ functionDeclarations }],\n toolConfig: toolConfig as any,\n systemInstruction: input.systemPrompt || undefined,\n generationConfig: {\n maxOutputTokens: input.maxTokens,\n temperature: input.temperature,\n },\n });\n\n const contents = buildGeminiContents(input);\n\n const result = await genModel.generateContent({ contents });\n\n const parts = result.response.candidates?.[0]?.content?.parts ?? [];\n\n const textParts: string[] = [];\n const toolCalls: ToolCalls = [];\n let callIndex = 0;\n\n for (const part of parts) {\n if (\"text\" in part && part.text) {\n textParts.push(part.text);\n }\n if (\"functionCall\" in part && part.functionCall) {\n const id = `call_${callIndex++}`;\n toolCalls.push({\n id,\n name: part.functionCall.name,\n input: (part.functionCall.args as Record<string, unknown>) ?? {},\n });\n }\n }\n\n update_progress(100, \"Completed Gemini tool calling\");\n return { text: textParts.join(\"\"), toolCalls: filterValidToolCalls(toolCalls, input.tools) };\n};\n\nexport const Gemini_ToolCalling_Stream: AiProviderStreamFn<\n ToolCallingTaskInput,\n ToolCallingTaskOutput,\n GeminiModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<ToolCallingTaskOutput>> {\n const GoogleGenerativeAI = await loadGeminiSDK();\n const genAI = new GoogleGenerativeAI(getApiKey(model));\n\n const functionDeclarations = input.tools.map((t: ToolDefinition) => ({\n name: t.name,\n description: buildToolDescription(t),\n parameters: sanitizeSchemaForGemini(t.inputSchema as Record<string, unknown>) as any,\n }));\n\n const toolConfig = mapGeminiToolConfig(input.toolChoice);\n\n const genModel = genAI.getGenerativeModel({\n model: getModelName(model),\n tools: [{ functionDeclarations }],\n toolConfig: toolConfig as any,\n systemInstruction: input.systemPrompt || undefined,\n generationConfig: {\n maxOutputTokens: input.maxTokens,\n temperature: input.temperature,\n },\n });\n\n const contents = buildGeminiContents(input);\n\n const result = await genModel.generateContentStream({ contents }, { signal });\n\n let callIndex = 0;\n\n for await (const chunk of result.stream) {\n const parts = chunk.candidates?.[0]?.content?.parts ?? [];\n for (const part of parts) {\n if (\"text\" in part && part.text) {\n yield { type: \"text-delta\", port: \"text\", textDelta: part.text };\n }\n if (\"functionCall\" in part && part.functionCall) {\n const id = `call_${callIndex++}`;\n yield {\n type: \"object-delta\",\n port: \"toolCalls\",\n objectDelta: [\n {\n id,\n name: part.functionCall.name,\n input: (part.functionCall.args as Record<string, unknown>) ?? {},\n },\n ],\n };\n }\n }\n }\n\n yield { type: \"finish\", data: { text: \"\", toolCalls: [] } as ToolCallingTaskOutput };\n};\n",
|
|
18
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderReactiveRunFn, AiProviderRunFn, AiProviderStreamFn } from \"@workglow/ai\";\nimport type { GeminiModelConfig } from \"./Gemini_ModelSchema\";\nimport { Gemini_ModelSearch } from \"./Gemini_ModelSearch\";\n\nexport { loadGeminiSDK, getApiKey, getModelName } from \"./Gemini_Client\";\nexport { sanitizeSchemaForGemini } from \"./Gemini_Schema\";\n\nimport { Gemini_CountTokens, Gemini_CountTokens_Reactive } from \"./Gemini_CountTokens\";\nimport { Gemini_ModelInfo } from \"./Gemini_ModelInfo\";\nimport {\n Gemini_StructuredGeneration,\n Gemini_StructuredGeneration_Stream,\n} from \"./Gemini_StructuredGeneration\";\nimport { Gemini_TextEmbedding } from \"./Gemini_TextEmbedding\";\nimport { Gemini_TextGeneration, Gemini_TextGeneration_Stream } from \"./Gemini_TextGeneration\";\nimport { Gemini_TextRewriter, Gemini_TextRewriter_Stream } from \"./Gemini_TextRewriter\";\nimport { Gemini_TextSummary, Gemini_TextSummary_Stream } from \"./Gemini_TextSummary\";\nimport { Gemini_ToolCalling, Gemini_ToolCalling_Stream } from \"./Gemini_ToolCalling\";\n\nexport const GEMINI_TASKS: Record<string, AiProviderRunFn<any, any, GeminiModelConfig>> = {\n CountTokensTask: Gemini_CountTokens,\n ModelInfoTask: Gemini_ModelInfo,\n TextGenerationTask: Gemini_TextGeneration,\n TextEmbeddingTask: Gemini_TextEmbedding,\n TextRewriterTask: Gemini_TextRewriter,\n TextSummaryTask: Gemini_TextSummary,\n StructuredGenerationTask: Gemini_StructuredGeneration,\n ToolCallingTask: Gemini_ToolCalling,\n ModelSearchTask: Gemini_ModelSearch,\n};\n\nexport const GEMINI_STREAM_TASKS: Record<\n string,\n AiProviderStreamFn<any, any, GeminiModelConfig>\n> = {\n TextGenerationTask: Gemini_TextGeneration_Stream,\n TextRewriterTask: Gemini_TextRewriter_Stream,\n TextSummaryTask: Gemini_TextSummary_Stream,\n StructuredGenerationTask: Gemini_StructuredGeneration_Stream,\n ToolCallingTask: Gemini_ToolCalling_Stream,\n};\n\nexport const GEMINI_REACTIVE_TASKS: Record<\n string,\n AiProviderReactiveRunFn<any, any, GeminiModelConfig>\n> = {\n CountTokensTask: Gemini_CountTokens_Reactive,\n};\n",
|
|
19
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AiProvider } from \"@workglow/ai\";\nimport type { AiProviderReactiveRunFn, AiProviderRunFn, AiProviderStreamFn } from \"@workglow/ai\";\nimport { GOOGLE_GEMINI } from \"./common/Gemini_Constants\";\nimport type { GeminiModelConfig } from \"./common/Gemini_ModelSchema\";\n\n/** Main-thread registration (inline or worker-backed). No queue — uses direct execution. */\nexport class GoogleGeminiQueuedProvider extends AiProvider<GeminiModelConfig> {\n readonly name = GOOGLE_GEMINI;\n readonly displayName = \"Google Gemini\";\n readonly isLocal = false;\n readonly supportsBrowser = true;\n\n readonly taskTypes = [\n \"CountTokensTask\",\n \"ModelInfoTask\",\n \"TextGenerationTask\",\n \"TextEmbeddingTask\",\n \"TextRewriterTask\",\n \"TextSummaryTask\",\n \"StructuredGenerationTask\",\n \"ToolCallingTask\",\n \"ModelSearchTask\",\n ] as const;\n\n constructor(\n tasks?: Record<string, AiProviderRunFn<any, any, GeminiModelConfig>>,\n streamTasks?: Record<string, AiProviderStreamFn<any, any, GeminiModelConfig>>,\n reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, GeminiModelConfig>>\n ) {\n super(tasks, streamTasks, reactiveTasks);\n }\n}\n",
|
|
19
20
|
"/**\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 {\n GEMINI_REACTIVE_TASKS,\n GEMINI_STREAM_TASKS,\n GEMINI_TASKS,\n} from \"./common/Gemini_JobRunFns\";\nimport { GoogleGeminiQueuedProvider } from \"./GoogleGeminiQueuedProvider\";\n\nexport async function registerGeminiInline(options?: AiProviderRegisterOptions): Promise<void> {\n await new GoogleGeminiQueuedProvider(\n GEMINI_TASKS,\n GEMINI_STREAM_TASKS,\n GEMINI_REACTIVE_TASKS\n ).register(options ?? {});\n}\n",
|
|
20
21
|
"/**\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 {\n GEMINI_REACTIVE_TASKS,\n GEMINI_STREAM_TASKS,\n GEMINI_TASKS,\n} from \"./common/Gemini_JobRunFns\";\nimport { GoogleGeminiProvider } from \"./GoogleGeminiProvider\";\n\nexport async function registerGeminiWorker(): Promise<void> {\n const workerServer = globalServiceRegistry.get(WORKER_SERVER);\n new GoogleGeminiProvider(\n GEMINI_TASKS,\n GEMINI_STREAM_TASKS,\n GEMINI_REACTIVE_TASKS\n ).registerOnWorkerServer(workerServer);\n workerServer.sendReady();\n getLogger().info(\"Google Gemini worker job run functions registered\");\n}\n",
|
|
21
|
-
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n
|
|
22
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AiProvider } from \"@workglow/ai/worker\";\nimport type {\n AiProviderReactiveRunFn,\n AiProviderRunFn,\n AiProviderStreamFn,\n} from \"@workglow/ai/worker\";\nimport { GOOGLE_GEMINI } from \"./common/Gemini_Constants\";\nimport type { GeminiModelConfig } from \"./common/Gemini_ModelSchema\";\n\n/**\n * AI provider for Google Gemini cloud models.\n *\n * Supports text generation, text embedding, text rewriting, and text summarization\n * via the Google Generative AI API using the `@google/generative-ai` SDK.\n *\n * Task run functions are injected via the constructor so that the SDK\n * is only imported where actually needed (inline mode, worker server), not on\n * the main thread in worker mode.\n */\nexport class GoogleGeminiProvider extends AiProvider<GeminiModelConfig> {\n readonly name = GOOGLE_GEMINI;\n readonly displayName = \"Google Gemini\";\n readonly isLocal = false;\n readonly supportsBrowser = true;\n\n readonly taskTypes = [\n \"CountTokensTask\",\n \"ModelInfoTask\",\n \"TextGenerationTask\",\n \"TextEmbeddingTask\",\n \"TextRewriterTask\",\n \"TextSummaryTask\",\n \"StructuredGenerationTask\",\n \"ToolCallingTask\",\n \"ModelSearchTask\",\n ] as const;\n\n constructor(\n tasks?: Record<string, AiProviderRunFn<any, any, GeminiModelConfig>>,\n streamTasks?: Record<string, AiProviderStreamFn<any, any, GeminiModelConfig>>,\n reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, GeminiModelConfig>>\n ) {\n super(tasks, streamTasks, reactiveTasks);\n }\n}\n"
|
|
22
23
|
],
|
|
23
|
-
"mappings": "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",
|
|
24
|
-
"debugId": "
|
|
24
|
+
"mappings": "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",
|
|
25
|
+
"debugId": "52FB9C4794DCB8BE64756E2164756E21",
|
|
25
26
|
"names": []
|
|
26
27
|
}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { AiProvider
|
|
6
|
+
import { AiProvider } from "@workglow/ai/worker";
|
|
7
|
+
import type { AiProviderReactiveRunFn, AiProviderRunFn, AiProviderStreamFn } from "@workglow/ai/worker";
|
|
7
8
|
import type { HfInferenceModelConfig } from "./common/HFI_ModelSchema";
|
|
8
9
|
/**
|
|
9
10
|
* AI provider for Hugging Face Inference API.
|
|
@@ -20,7 +21,7 @@ export declare class HfInferenceProvider extends AiProvider<HfInferenceModelConf
|
|
|
20
21
|
readonly displayName = "Hugging Face Inference";
|
|
21
22
|
readonly isLocal = false;
|
|
22
23
|
readonly supportsBrowser = true;
|
|
23
|
-
readonly taskTypes: readonly ["ModelInfoTask", "TextGenerationTask", "TextEmbeddingTask", "TextRewriterTask", "TextSummaryTask", "ModelSearchTask"];
|
|
24
|
+
readonly taskTypes: readonly ["ModelInfoTask", "TextGenerationTask", "TextEmbeddingTask", "TextRewriterTask", "TextSummaryTask", "ToolCallingTask", "ModelSearchTask"];
|
|
24
25
|
constructor(tasks?: Record<string, AiProviderRunFn<any, any, HfInferenceModelConfig>>, streamTasks?: Record<string, AiProviderStreamFn<any, any, HfInferenceModelConfig>>, reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, HfInferenceModelConfig>>);
|
|
25
26
|
}
|
|
26
27
|
//# sourceMappingURL=HfInferenceProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HfInferenceProvider.d.ts","sourceRoot":"","sources":["../../src/provider-hf-inference/HfInferenceProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"HfInferenceProvider.d.ts","sourceRoot":"","sources":["../../src/provider-hf-inference/HfInferenceProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EACV,uBAAuB,EACvB,eAAe,EACf,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE;;;;;;;;;GASG;AACH,qBAAa,mBAAoB,SAAQ,UAAU,CAAC,sBAAsB,CAAC;IACzE,QAAQ,CAAC,IAAI,kBAAgB;IAC7B,QAAQ,CAAC,WAAW,4BAA4B;IAChD,QAAQ,CAAC,OAAO,SAAS;IACzB,QAAQ,CAAC,eAAe,QAAQ;IAEhC,QAAQ,CAAC,SAAS,YAChB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACR;IAEX,YACE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,sBAAsB,CAAC,CAAC,EACzE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,sBAAsB,CAAC,CAAC,EAClF,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,sBAAsB,CAAC,CAAC,EAG1F;CACF"}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { AiProvider
|
|
6
|
+
import { AiProvider } from "@workglow/ai";
|
|
7
|
+
import type { AiProviderReactiveRunFn, AiProviderRunFn, AiProviderStreamFn } from "@workglow/ai";
|
|
7
8
|
import type { HfInferenceModelConfig } from "./common/HFI_ModelSchema";
|
|
8
9
|
/** Main-thread registration (inline or worker-backed). No queue — uses direct execution. */
|
|
9
10
|
export declare class HfInferenceQueuedProvider extends AiProvider<HfInferenceModelConfig> {
|
|
@@ -11,7 +12,7 @@ export declare class HfInferenceQueuedProvider extends AiProvider<HfInferenceMod
|
|
|
11
12
|
readonly displayName = "Hugging Face Inference";
|
|
12
13
|
readonly isLocal = false;
|
|
13
14
|
readonly supportsBrowser = true;
|
|
14
|
-
readonly taskTypes: readonly ["ModelInfoTask", "TextGenerationTask", "TextEmbeddingTask", "TextRewriterTask", "TextSummaryTask", "ModelSearchTask"];
|
|
15
|
+
readonly taskTypes: readonly ["ModelInfoTask", "TextGenerationTask", "TextEmbeddingTask", "TextRewriterTask", "TextSummaryTask", "ToolCallingTask", "ModelSearchTask"];
|
|
15
16
|
constructor(tasks?: Record<string, AiProviderRunFn<any, any, HfInferenceModelConfig>>, streamTasks?: Record<string, AiProviderStreamFn<any, any, HfInferenceModelConfig>>, reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, HfInferenceModelConfig>>);
|
|
16
17
|
}
|
|
17
18
|
//# sourceMappingURL=HfInferenceQueuedProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HfInferenceQueuedProvider.d.ts","sourceRoot":"","sources":["../../src/provider-hf-inference/HfInferenceQueuedProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"HfInferenceQueuedProvider.d.ts","sourceRoot":"","sources":["../../src/provider-hf-inference/HfInferenceQueuedProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEjG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE,4FAA4F;AAC5F,qBAAa,yBAA0B,SAAQ,UAAU,CAAC,sBAAsB,CAAC;IAC/E,QAAQ,CAAC,IAAI,kBAAgB;IAC7B,QAAQ,CAAC,WAAW,4BAA4B;IAChD,QAAQ,CAAC,OAAO,SAAS;IACzB,QAAQ,CAAC,eAAe,QAAQ;IAEhC,QAAQ,CAAC,SAAS,YAChB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACR;IAEX,YACE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,sBAAsB,CAAC,CAAC,EACzE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,sBAAsB,CAAC,CAAC,EAClF,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,sBAAsB,CAAC,CAAC,EAG1F;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HFI_JobRunFns.d.ts","sourceRoot":"","sources":["../../../src/provider-hf-inference/common/HFI_JobRunFns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"HFI_JobRunFns.d.ts","sourceRoot":"","sources":["../../../src/provider-hf-inference/common/HFI_JobRunFns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AASxF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,sBAAsB,CAAC,CAQvF,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CACnC,MAAM,EACN,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,sBAAsB,CAAC,CAMrD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HFI_ModelSchema.d.ts","sourceRoot":"","sources":["../../../src/provider-hf-inference/common/HFI_ModelSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAwB,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGzE,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"HFI_ModelSchema.d.ts","sourceRoot":"","sources":["../../../src/provider-hf-inference/common/HFI_ModelSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAwB,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGzE,eAAO,MAAM,sBAAsB;mBAC3B,QAAQ;;iBAEZ,QAAQ;qBACN,KAAK;qBACL,WAAW,EAAE,qDAAqD;;iBAEpE,eAAe;qBACb,IAAI,EAAE,QAAQ;qBACd,WAAW,EAAE,gDAAgD;qBAC7D,UAAU;yBACR,UAAU;6BACR,IAAI,EAAE,QAAQ;6BACd,WAAW,EACT,gFAAgF;;yBAEpF,cAAc;6BACZ,IAAI,EAAE,QAAQ;6BACd,MAAM,EAAE,YAAY;6BACpB,WAAW,EAAE,yDAAyD;6BACtE,aAAa;;yBAEf,QAAQ;6BACN,IAAI,EAAE,QAAQ;6BACd,WAAW,EACT,iGAAiG;;;qBAGvG,QAAQ;qBACR,oBAAoB;;;;;CAKe,CAAC;AAE1C,eAAO,MAAM,4BAA4B;mBACjC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;qBAjCV,KAAK;qBACL,WAAW,EAAE,qDAAqD;;;qBAGlE,IAAI,EAAE,QAAQ;qBACd,WAAW,EAAE,gDAAgD;qBAC7D,UAAU;yBACR,UAAU;6BACR,IAAI,EAAE,QAAQ;6BACd,WAAW,EACT,gFAAgF;;yBAEpF,cAAc;6BACZ,IAAI,EAAE,QAAQ;6BACd,MAAM,EAAE,YAAY;6BACpB,WAAW,EAAE,yDAAyD;6BACtE,aAAa;;yBAEf,QAAQ;6BACN,IAAI,EAAE,QAAQ;6BACd,WAAW,EACT,iGAAiG;;;qBAGvG,QAAQ;qBACR,oBAAoB;;;;;CAee,CAAC;AAE1C,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAErF,eAAO,MAAM,4BAA4B;mBACjC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;qBA7CV,KAAK;qBACL,WAAW,EAAE,qDAAqD;;;qBAGlE,IAAI,EAAE,QAAQ;qBACd,WAAW,EAAE,gDAAgD;qBAC7D,UAAU;yBACR,UAAU;6BACR,IAAI,EAAE,QAAQ;6BACd,WAAW,EACT,gFAAgF;;yBAEpF,cAAc;6BACZ,IAAI,EAAE,QAAQ;6BACd,MAAM,EAAE,YAAY;6BACpB,WAAW,EAAE,yDAAyD;6BACtE,aAAa;;yBAEf,QAAQ;6BACN,IAAI,EAAE,QAAQ;6BACd,WAAW,EACT,iGAAiG;;;qBAGvG,QAAQ;qBACR,oBAAoB;;;;;CA2Be,CAAC;AAE1C,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { AiProviderRunFn, AiProviderStreamFn, ToolCallingTaskInput, ToolCallingTaskOutput } from "@workglow/ai";
|
|
7
|
+
import type { HfInferenceModelConfig } from "./HFI_ModelSchema";
|
|
8
|
+
export declare const HFI_ToolCalling: AiProviderRunFn<ToolCallingTaskInput, ToolCallingTaskOutput, HfInferenceModelConfig>;
|
|
9
|
+
export declare const HFI_ToolCalling_Stream: AiProviderStreamFn<ToolCallingTaskInput, ToolCallingTaskOutput, HfInferenceModelConfig>;
|
|
10
|
+
//# sourceMappingURL=HFI_ToolCalling.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HFI_ToolCalling.d.ts","sourceRoot":"","sources":["../../../src/provider-hf-inference/common/HFI_ToolCalling.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EAGtB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAYhE,eAAO,MAAM,eAAe,EAAE,eAAe,CAC3C,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,CA0DvB,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,kBAAkB,CACrD,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,CA+FvB,CAAC"}
|
|
@@ -77,9 +77,7 @@ var HfInferenceModelConfigSchema = {
|
|
|
77
77
|
additionalProperties: false
|
|
78
78
|
};
|
|
79
79
|
// src/provider-hf-inference/HfInferenceQueuedProvider.ts
|
|
80
|
-
import {
|
|
81
|
-
AiProvider
|
|
82
|
-
} from "@workglow/ai";
|
|
80
|
+
import { AiProvider } from "@workglow/ai";
|
|
83
81
|
class HfInferenceQueuedProvider extends AiProvider {
|
|
84
82
|
name = HF_INFERENCE;
|
|
85
83
|
displayName = "Hugging Face Inference";
|
|
@@ -91,6 +89,7 @@ class HfInferenceQueuedProvider extends AiProvider {
|
|
|
91
89
|
"TextEmbeddingTask",
|
|
92
90
|
"TextRewriterTask",
|
|
93
91
|
"TextSummaryTask",
|
|
92
|
+
"ToolCallingTask",
|
|
94
93
|
"ModelSearchTask"
|
|
95
94
|
];
|
|
96
95
|
constructor(tasks, streamTasks, reactiveTasks) {
|
|
@@ -110,4 +109,4 @@ export {
|
|
|
110
109
|
HF_INFERENCE
|
|
111
110
|
};
|
|
112
111
|
|
|
113
|
-
//# debugId=
|
|
112
|
+
//# debugId=725E6F95179C5CAE64756E2164756E21
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const HF_INFERENCE = \"HF_INFERENCE\";\n",
|
|
6
6
|
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ModelConfigSchema, ModelRecordSchema } from \"@workglow/ai/worker\";\nimport { DataPortSchemaObject, FromSchema } from \"@workglow/util/worker\";\nimport { HF_INFERENCE } from \"./HFI_Constants\";\n\nexport const HfInferenceModelSchema = {\n type: \"object\",\n properties: {\n provider: {\n const: HF_INFERENCE,\n description: \"Discriminator: Hugging Face Inference API provider.\",\n },\n provider_config: {\n type: \"object\",\n description: \"Hugging Face Inference-specific configuration.\",\n properties: {\n model_name: {\n type: \"string\",\n description:\n \"The Hugging Face model identifier (e.g., 'meta-llama/Llama-3.3-70B-Instruct').\",\n },\n credential_key: {\n type: \"string\",\n format: \"credential\",\n description: \"Key to look up in the credential store for the API key.\",\n \"x-ui-hidden\": true,\n },\n provider: {\n type: \"string\",\n description:\n \"Optional provider to route to specific HF inference providers (e.g., 'fal-ai', 'fireworks-ai').\",\n },\n },\n required: [\"model_name\"],\n additionalProperties: false,\n },\n },\n required: [\"provider\", \"provider_config\"],\n additionalProperties: true,\n} as const satisfies DataPortSchemaObject;\n\nexport const HfInferenceModelRecordSchema = {\n type: \"object\",\n properties: {\n ...ModelRecordSchema.properties,\n ...HfInferenceModelSchema.properties,\n },\n required: [...ModelRecordSchema.required, ...HfInferenceModelSchema.required],\n additionalProperties: false,\n} as const satisfies DataPortSchemaObject;\n\nexport type HfInferenceModelRecord = FromSchema<typeof HfInferenceModelRecordSchema>;\n\nexport const HfInferenceModelConfigSchema = {\n type: \"object\",\n properties: {\n ...ModelConfigSchema.properties,\n ...HfInferenceModelSchema.properties,\n },\n required: [...ModelConfigSchema.required, ...HfInferenceModelSchema.required],\n additionalProperties: false,\n} as const satisfies DataPortSchemaObject;\n\nexport type HfInferenceModelConfig = FromSchema<typeof HfInferenceModelConfigSchema>;\n",
|
|
7
|
-
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\
|
|
7
|
+
"/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AiProvider } from \"@workglow/ai\";\nimport type { AiProviderReactiveRunFn, AiProviderRunFn, AiProviderStreamFn } from \"@workglow/ai\";\nimport { HF_INFERENCE } from \"./common/HFI_Constants\";\nimport type { HfInferenceModelConfig } from \"./common/HFI_ModelSchema\";\n\n/** Main-thread registration (inline or worker-backed). No queue — uses direct execution. */\nexport class HfInferenceQueuedProvider extends AiProvider<HfInferenceModelConfig> {\n readonly name = HF_INFERENCE;\n readonly displayName = \"Hugging Face Inference\";\n readonly isLocal = false;\n readonly supportsBrowser = true;\n\n readonly taskTypes = [\n \"ModelInfoTask\",\n \"TextGenerationTask\",\n \"TextEmbeddingTask\",\n \"TextRewriterTask\",\n \"TextSummaryTask\",\n \"ToolCallingTask\",\n \"ModelSearchTask\",\n ] as const;\n\n constructor(\n tasks?: Record<string, AiProviderRunFn<any, any, HfInferenceModelConfig>>,\n streamTasks?: Record<string, AiProviderStreamFn<any, any, HfInferenceModelConfig>>,\n reactiveTasks?: Record<string, AiProviderReactiveRunFn<any, any, HfInferenceModelConfig>>\n ) {\n super(tasks, streamTasks, reactiveTasks);\n }\n}\n",
|
|
8
8
|
"/**\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 { HfInferenceQueuedProvider } from \"./HfInferenceQueuedProvider\";\n\nexport async function registerHfInference(\n options: AiProviderRegisterOptions & {\n worker: Worker | (() => Worker);\n }\n): Promise<void> {\n await new HfInferenceQueuedProvider().register(options);\n}\n"
|
|
9
9
|
],
|
|
10
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAMO,IAAM,eAAe;;ACA5B;AAIO,IAAM,yBAAyB;AAAA,EACpC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,UAAU;AAAA,MACR,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,aAAa;AAAA,MACb,YAAY;AAAA,QACV,YAAY;AAAA,UACV,MAAM;AAAA,UACN,aACE;AAAA,QACJ;AAAA,QACA,gBAAgB;AAAA,UACd,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,aAAa;AAAA,UACb,eAAe;AAAA,QACjB;AAAA,QACA,UAAU;AAAA,UACR,MAAM;AAAA,UACN,aACE;AAAA,QACJ;AAAA,MACF;AAAA,MACA,UAAU,CAAC,YAAY;AAAA,MACvB,sBAAsB;AAAA,IACxB;AAAA,EACF;AAAA,EACA,UAAU,CAAC,YAAY,iBAAiB;AAAA,EACxC,sBAAsB;AACxB;AAEO,IAAM,+BAA+B;AAAA,EAC1C,MAAM;AAAA,EACN,YAAY;AAAA,OACP,kBAAkB;AAAA,OAClB,uBAAuB;AAAA,EAC5B;AAAA,EACA,UAAU,CAAC,GAAG,kBAAkB,UAAU,GAAG,uBAAuB,QAAQ;AAAA,EAC5E,sBAAsB;AACxB;AAIO,IAAM,+BAA+B;AAAA,EAC1C,MAAM;AAAA,EACN,YAAY;AAAA,OACP,kBAAkB;AAAA,OAClB,uBAAuB;AAAA,EAC5B;AAAA,EACA,UAAU,CAAC,GAAG,kBAAkB,UAAU,GAAG,uBAAuB,QAAQ;AAAA,EAC5E,sBAAsB;AACxB;;AC5DA;
|
|
11
|
-
"debugId": "
|
|
10
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAMO,IAAM,eAAe;;ACA5B;AAIO,IAAM,yBAAyB;AAAA,EACpC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,UAAU;AAAA,MACR,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,aAAa;AAAA,MACb,YAAY;AAAA,QACV,YAAY;AAAA,UACV,MAAM;AAAA,UACN,aACE;AAAA,QACJ;AAAA,QACA,gBAAgB;AAAA,UACd,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,aAAa;AAAA,UACb,eAAe;AAAA,QACjB;AAAA,QACA,UAAU;AAAA,UACR,MAAM;AAAA,UACN,aACE;AAAA,QACJ;AAAA,MACF;AAAA,MACA,UAAU,CAAC,YAAY;AAAA,MACvB,sBAAsB;AAAA,IACxB;AAAA,EACF;AAAA,EACA,UAAU,CAAC,YAAY,iBAAiB;AAAA,EACxC,sBAAsB;AACxB;AAEO,IAAM,+BAA+B;AAAA,EAC1C,MAAM;AAAA,EACN,YAAY;AAAA,OACP,kBAAkB;AAAA,OAClB,uBAAuB;AAAA,EAC5B;AAAA,EACA,UAAU,CAAC,GAAG,kBAAkB,UAAU,GAAG,uBAAuB,QAAQ;AAAA,EAC5E,sBAAsB;AACxB;AAIO,IAAM,+BAA+B;AAAA,EAC1C,MAAM;AAAA,EACN,YAAY;AAAA,OACP,kBAAkB;AAAA,OAClB,uBAAuB;AAAA,EAC5B;AAAA,EACA,UAAU,CAAC,GAAG,kBAAkB,UAAU,GAAG,uBAAuB,QAAQ;AAAA,EAC5E,sBAAsB;AACxB;;AC5DA;AAMO,MAAM,kCAAkC,WAAmC;AAAA,EACvE,OAAO;AAAA,EACP,cAAc;AAAA,EACd,UAAU;AAAA,EACV,kBAAkB;AAAA,EAElB,YAAY;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,WAAW,CACT,OACA,aACA,eACA;AAAA,IACA,MAAM,OAAO,aAAa,aAAa;AAAA;AAE3C;;;AC1BA,eAAsB,mBAAmB,CACvC,SAGe;AAAA,EACf,MAAM,IAAI,0BAA0B,EAAE,SAAS,OAAO;AAAA;",
|
|
11
|
+
"debugId": "725E6F95179C5CAE64756E2164756E21",
|
|
12
12
|
"names": []
|
|
13
13
|
}
|
|
@@ -316,6 +316,155 @@ var HFI_TextSummary_Stream = async function* (input, model, signal) {
|
|
|
316
316
|
yield { type: "finish", data: {} };
|
|
317
317
|
};
|
|
318
318
|
|
|
319
|
+
// src/provider-hf-inference/common/HFI_ToolCalling.ts
|
|
320
|
+
import { buildToolDescription, filterValidToolCalls, toOpenAIMessages } from "@workglow/ai/worker";
|
|
321
|
+
import { parsePartialJson } from "@workglow/util/worker";
|
|
322
|
+
function mapHFIToolChoice(toolChoice) {
|
|
323
|
+
if (!toolChoice || toolChoice === "auto")
|
|
324
|
+
return "auto";
|
|
325
|
+
if (toolChoice === "none")
|
|
326
|
+
return "none";
|
|
327
|
+
if (toolChoice === "required")
|
|
328
|
+
return "required";
|
|
329
|
+
return "auto";
|
|
330
|
+
}
|
|
331
|
+
var HFI_ToolCalling = async (input, model, update_progress, signal) => {
|
|
332
|
+
update_progress(0, "Starting HF Inference tool calling");
|
|
333
|
+
const client = await getClient(model);
|
|
334
|
+
const modelName = getModelName(model);
|
|
335
|
+
const provider = getProvider(model);
|
|
336
|
+
const tools = input.tools.map((t) => ({
|
|
337
|
+
type: "function",
|
|
338
|
+
function: {
|
|
339
|
+
name: t.name,
|
|
340
|
+
description: buildToolDescription(t),
|
|
341
|
+
parameters: t.inputSchema
|
|
342
|
+
}
|
|
343
|
+
}));
|
|
344
|
+
const messages = toOpenAIMessages(input);
|
|
345
|
+
const toolChoice = mapHFIToolChoice(input.toolChoice);
|
|
346
|
+
const params = {
|
|
347
|
+
model: modelName,
|
|
348
|
+
messages,
|
|
349
|
+
max_tokens: input.maxTokens,
|
|
350
|
+
temperature: input.temperature,
|
|
351
|
+
provider
|
|
352
|
+
};
|
|
353
|
+
if (toolChoice !== "none") {
|
|
354
|
+
params.tools = tools;
|
|
355
|
+
params.tool_choice = toolChoice;
|
|
356
|
+
}
|
|
357
|
+
const response = await client.chatCompletion(params, { signal });
|
|
358
|
+
const text = response.choices[0]?.message?.content ?? "";
|
|
359
|
+
const toolCalls = [];
|
|
360
|
+
let callIndex = 0;
|
|
361
|
+
(response.choices[0]?.message?.tool_calls ?? []).forEach((tc) => {
|
|
362
|
+
let parsedInput = {};
|
|
363
|
+
const rawArgs = tc.function?.arguments;
|
|
364
|
+
if (typeof rawArgs === "string") {
|
|
365
|
+
try {
|
|
366
|
+
parsedInput = JSON.parse(rawArgs);
|
|
367
|
+
} catch {
|
|
368
|
+
const partial = parsePartialJson(rawArgs);
|
|
369
|
+
parsedInput = partial ?? {};
|
|
370
|
+
}
|
|
371
|
+
} else if (rawArgs != null) {
|
|
372
|
+
parsedInput = rawArgs;
|
|
373
|
+
}
|
|
374
|
+
const id = tc.id ?? `call_${callIndex}`;
|
|
375
|
+
callIndex++;
|
|
376
|
+
toolCalls.push({ id, name: tc.function.name, input: parsedInput });
|
|
377
|
+
});
|
|
378
|
+
update_progress(100, "Completed HF Inference tool calling");
|
|
379
|
+
return { text, toolCalls: filterValidToolCalls(toolCalls, input.tools) };
|
|
380
|
+
};
|
|
381
|
+
var HFI_ToolCalling_Stream = async function* (input, model, signal) {
|
|
382
|
+
const client = await getClient(model);
|
|
383
|
+
const modelName = getModelName(model);
|
|
384
|
+
const provider = getProvider(model);
|
|
385
|
+
const tools = input.tools.map((t) => ({
|
|
386
|
+
type: "function",
|
|
387
|
+
function: {
|
|
388
|
+
name: t.name,
|
|
389
|
+
description: buildToolDescription(t),
|
|
390
|
+
parameters: t.inputSchema
|
|
391
|
+
}
|
|
392
|
+
}));
|
|
393
|
+
const messages = toOpenAIMessages(input);
|
|
394
|
+
const toolChoice = mapHFIToolChoice(input.toolChoice);
|
|
395
|
+
const params = {
|
|
396
|
+
model: modelName,
|
|
397
|
+
messages,
|
|
398
|
+
max_tokens: input.maxTokens,
|
|
399
|
+
temperature: input.temperature,
|
|
400
|
+
provider
|
|
401
|
+
};
|
|
402
|
+
if (toolChoice !== "none") {
|
|
403
|
+
params.tools = tools;
|
|
404
|
+
params.tool_choice = toolChoice;
|
|
405
|
+
}
|
|
406
|
+
const stream = client.chatCompletionStream(params, { signal });
|
|
407
|
+
let accumulatedText = "";
|
|
408
|
+
const toolCallAccumulator = new Map;
|
|
409
|
+
for await (const chunk of stream) {
|
|
410
|
+
const choice = chunk.choices[0];
|
|
411
|
+
if (!choice)
|
|
412
|
+
continue;
|
|
413
|
+
const contentDelta = choice.delta?.content ?? "";
|
|
414
|
+
if (contentDelta) {
|
|
415
|
+
accumulatedText += contentDelta;
|
|
416
|
+
yield { type: "text-delta", port: "text", textDelta: contentDelta };
|
|
417
|
+
}
|
|
418
|
+
const tcDeltas = choice.delta?.tool_calls;
|
|
419
|
+
if (Array.isArray(tcDeltas)) {
|
|
420
|
+
for (const tcDelta of tcDeltas) {
|
|
421
|
+
const idx = tcDelta.index;
|
|
422
|
+
if (!toolCallAccumulator.has(idx)) {
|
|
423
|
+
toolCallAccumulator.set(idx, {
|
|
424
|
+
id: tcDelta.id ?? "",
|
|
425
|
+
name: tcDelta.function?.name ?? "",
|
|
426
|
+
arguments: ""
|
|
427
|
+
});
|
|
428
|
+
}
|
|
429
|
+
const acc = toolCallAccumulator.get(idx);
|
|
430
|
+
if (tcDelta.id)
|
|
431
|
+
acc.id = tcDelta.id;
|
|
432
|
+
if (tcDelta.function?.name)
|
|
433
|
+
acc.name = tcDelta.function.name;
|
|
434
|
+
if (tcDelta.function?.arguments)
|
|
435
|
+
acc.arguments += tcDelta.function.arguments;
|
|
436
|
+
}
|
|
437
|
+
const snapshot = [];
|
|
438
|
+
for (const [, tc] of toolCallAccumulator) {
|
|
439
|
+
let parsedInput;
|
|
440
|
+
try {
|
|
441
|
+
parsedInput = JSON.parse(tc.arguments);
|
|
442
|
+
} catch {
|
|
443
|
+
const partial = parsePartialJson(tc.arguments);
|
|
444
|
+
parsedInput = partial ?? {};
|
|
445
|
+
}
|
|
446
|
+
snapshot.push({ id: tc.id, name: tc.name, input: parsedInput });
|
|
447
|
+
}
|
|
448
|
+
yield { type: "object-delta", port: "toolCalls", objectDelta: snapshot };
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
const toolCalls = [];
|
|
452
|
+
for (const [, tc] of toolCallAccumulator) {
|
|
453
|
+
let finalInput;
|
|
454
|
+
try {
|
|
455
|
+
finalInput = JSON.parse(tc.arguments);
|
|
456
|
+
} catch {
|
|
457
|
+
finalInput = parsePartialJson(tc.arguments) ?? {};
|
|
458
|
+
}
|
|
459
|
+
toolCalls.push({ id: tc.id, name: tc.name, input: finalInput });
|
|
460
|
+
}
|
|
461
|
+
const validToolCalls = filterValidToolCalls(toolCalls, input.tools);
|
|
462
|
+
yield {
|
|
463
|
+
type: "finish",
|
|
464
|
+
data: { text: accumulatedText, toolCalls: validToolCalls }
|
|
465
|
+
};
|
|
466
|
+
};
|
|
467
|
+
|
|
319
468
|
// src/provider-hf-inference/common/HFI_JobRunFns.ts
|
|
320
469
|
var HFI_TASKS = {
|
|
321
470
|
ModelInfoTask: HFI_ModelInfo,
|
|
@@ -323,18 +472,18 @@ var HFI_TASKS = {
|
|
|
323
472
|
TextEmbeddingTask: HFI_TextEmbedding,
|
|
324
473
|
TextRewriterTask: HFI_TextRewriter,
|
|
325
474
|
TextSummaryTask: HFI_TextSummary,
|
|
475
|
+
ToolCallingTask: HFI_ToolCalling,
|
|
326
476
|
ModelSearchTask: HFI_ModelSearch
|
|
327
477
|
};
|
|
328
478
|
var HFI_STREAM_TASKS = {
|
|
329
479
|
TextGenerationTask: HFI_TextGeneration_Stream,
|
|
330
480
|
TextRewriterTask: HFI_TextRewriter_Stream,
|
|
331
|
-
TextSummaryTask: HFI_TextSummary_Stream
|
|
481
|
+
TextSummaryTask: HFI_TextSummary_Stream,
|
|
482
|
+
ToolCallingTask: HFI_ToolCalling_Stream
|
|
332
483
|
};
|
|
333
484
|
|
|
334
485
|
// src/provider-hf-inference/HfInferenceQueuedProvider.ts
|
|
335
|
-
import {
|
|
336
|
-
AiProvider
|
|
337
|
-
} from "@workglow/ai";
|
|
486
|
+
import { AiProvider } from "@workglow/ai";
|
|
338
487
|
class HfInferenceQueuedProvider extends AiProvider {
|
|
339
488
|
name = HF_INFERENCE;
|
|
340
489
|
displayName = "Hugging Face Inference";
|
|
@@ -346,6 +495,7 @@ class HfInferenceQueuedProvider extends AiProvider {
|
|
|
346
495
|
"TextEmbeddingTask",
|
|
347
496
|
"TextRewriterTask",
|
|
348
497
|
"TextSummaryTask",
|
|
498
|
+
"ToolCallingTask",
|
|
349
499
|
"ModelSearchTask"
|
|
350
500
|
];
|
|
351
501
|
constructor(tasks, streamTasks, reactiveTasks) {
|
|
@@ -361,9 +511,7 @@ async function registerHfInferenceInline(options) {
|
|
|
361
511
|
import { getLogger as getLogger3, globalServiceRegistry, WORKER_SERVER } from "@workglow/util/worker";
|
|
362
512
|
|
|
363
513
|
// src/provider-hf-inference/HfInferenceProvider.ts
|
|
364
|
-
import {
|
|
365
|
-
AiProvider as AiProvider2
|
|
366
|
-
} from "@workglow/ai/worker";
|
|
514
|
+
import { AiProvider as AiProvider2 } from "@workglow/ai/worker";
|
|
367
515
|
class HfInferenceProvider extends AiProvider2 {
|
|
368
516
|
name = HF_INFERENCE;
|
|
369
517
|
displayName = "Hugging Face Inference";
|
|
@@ -375,6 +523,7 @@ class HfInferenceProvider extends AiProvider2 {
|
|
|
375
523
|
"TextEmbeddingTask",
|
|
376
524
|
"TextRewriterTask",
|
|
377
525
|
"TextSummaryTask",
|
|
526
|
+
"ToolCallingTask",
|
|
378
527
|
"ModelSearchTask"
|
|
379
528
|
];
|
|
380
529
|
constructor(tasks, streamTasks, reactiveTasks) {
|
|
@@ -398,4 +547,4 @@ export {
|
|
|
398
547
|
getClient
|
|
399
548
|
};
|
|
400
549
|
|
|
401
|
-
//# debugId=
|
|
550
|
+
//# debugId=05DA00BD689AD36C64756E2164756E21
|